Merge remote-tracking branch 'origin/beta-prop-all' into beta-prop-all

jianshui-ui
路明慧 1 year ago
commit 8b070f05b6
  1. 17
      jianshui-admin/src/main/java/com/jianshui/api/controller/http/invoice/v1/InvoiceController.java
  2. 2
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/IInvoiceApiService.java
  3. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiServiceImpl.java
  4. 112
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiZhongQiServiceImpl.java
  5. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java
  6. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ByInspurServiceImpl.java
  7. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java
  8. 5
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/JcskInvoiceApiServiceImpl.java

@ -2257,4 +2257,21 @@ public class InvoiceController {
}
@ApiOperation("保存invoice表")
@ApiImplicitParams({
@ApiImplicitParam(name = "identity", value = "身份认证", dataType = "java.lang.Void", example = "1130", required = true),
@ApiImplicitParam(name = "order", value = "请求体", dataType = "java.lang.Void", required = true)})
@PostMapping({"/api/invoice/v1/saveInvoice", "/api/invoice/v1/saveInvoice/{identity}", "/invoice/saveInvoice"})
public Object saveInvoice(HttpServletRequest request
, String identity,String billInfoId,JSONObject resultJSON) throws Exception {
IInvoiceApiService invoiceService = invoiceServiceFactory.getService("aisinoZhongQi_console_invoice");
return invoiceService.saveInvoice(identity,billInfoId,resultJSON);
}
}

@ -369,4 +369,6 @@ public interface IInvoiceApiService {
/** 登陆验证 */
HXResponse loginVerificated(JSONObject decryptResult, Companyservice companyservice);
HXResponse saveInvoice(String identity, String billInfoId, JSONObject resultJSON);
}

@ -1082,6 +1082,11 @@ public class AisinoConsoleInvoiceApiServiceImpl implements IInvoiceApiService {
return null;
}
@Override
public HXResponse saveInvoice(String identity, String billInfoId, JSONObject resultJSON) {
return null;
}
@Override
public AjaxResult syncStockInfo(Companyservice companyservice) {

@ -457,6 +457,118 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
}
/** 保存invoice表 */
public HXResponse saveInvoice(String billInfoId,String identity,JSONObject resultJSON){
if(StrUtil.isEmpty(billInfoId)){
return new HXResponse("billInfoId不存在");
}
BillInfo billInfo = billInfoMapper.selectBillInfoById(Long.valueOf(billInfoId));
String retcode = resultJSON.get("retcode") != null ? resultJSON.get("retcode").toString() : "";
String retmsg = resultJSON.get("retmsg") != null ? resultJSON.get("retmsg").toString() : "";
if ("4011".equals(retcode)) {
//回写发票代码、发票号码信息
if (StrUtil.isEmpty(retmsg)) {
return new HXResponse(retcode);
}
AisinoConsoleInvoiceAddVO aisinoConsoleInvoiceAddVO = BeanUtil.copyProperties(resultJSON, AisinoConsoleInvoiceAddVO.class);
if (StrUtil.isEmpty(aisinoConsoleInvoiceAddVO.getInfoNumber())) {
return new HXResponse("开具的发票号码不存在!");
}
//更新发票状态
billInfo.setState(2);
billInfoMapper.updateBillInfo(billInfo);
//插入invoice
Invoice invoice = BeanUtil.copyProperties(billInfo, Invoice.class);
List<InvoiceDetail> invoiceDetailList = BeanUtil.copyToList(billInfo.getBillDetailList(), InvoiceDetail.class);
invoice.setInvoiceDetailList(invoiceDetailList);
//发票代码
invoice.setFpdm(aisinoConsoleInvoiceAddVO.getInfoTypeCode());
//发票号码
invoice.setFphm(aisinoConsoleInvoiceAddVO.getInfoNumber());
//上一张发票代码
invoice.setOriginFpdm(aisinoConsoleInvoiceAddVO.getHisInfoTypeCode());
//上一张发票号码
invoice.setOriginFphm(aisinoConsoleInvoiceAddVO.getHisInfoNumber());
//发票种类
invoice.setInvoiceType(billInfo.getInvoiceType());
invoice.setBillInfoId(billInfo.getId());
invoice.setKprq(aisinoConsoleInvoiceAddVO.getInfoDate());
invoice.setTaxfreeamt(BigDecimal.valueOf(aisinoConsoleInvoiceAddVO.getInfoAmount()));
invoice.setTax(BigDecimal.valueOf(aisinoConsoleInvoiceAddVO.getInfoTaxAmount()));
long id = 0L;
QueryWrapper<Invoice> invoiceQueryWrapper = new QueryWrapper<>();
invoiceQueryWrapper.eq("fpdm", invoice.getFpdm()).eq("fphm", invoice.getFphm());
List<Invoice> invoices = invoiceMapper.selectList(invoiceQueryWrapper);
if (CollectionUtils.isEmpty(invoices)) {
invoice.setUpdateBy("0");
invoiceMapper.insertInvoice(invoice);
invoices = invoiceMapper.selectList(invoiceQueryWrapper);
id = invoices.get(0).getId();
} else {
Invoice invoiceT = invoices.get(0);
invoiceT = BeanUtil.copyProperties(invoice, Invoice.class);
invoiceT.setUpdateBy("0");
invoiceMapper.updateInvoice(invoiceT);
id = invoiceT.getId();
}
invoiceDetailList.forEach(i -> i.setInvoiceId(invoice.getId()));
invoiceMapper.batchInvoiceDetail(invoiceDetailList);
// 增加主动回调方式,可配置
ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class);
CompanyserviceProp secretIdProp = companyserviceProp.selectPropByKey(Long.valueOf(identity), "aisino_callback_url");
if (BeanUtil.isNotEmpty(secretIdProp) && secretIdProp.getValue() != null && !"".equals(secretIdProp.getValue())) {
String callBackUrl = secretIdProp.getValue();
InvoiceBack queryInvoiceBack = new InvoiceBack();
queryInvoiceBack.setSystemOrderno(billInfo.getOutTradeOrderno());
List<InvoiceBack> invoiceBackList = invoiceBackMapper.selectInvoiceBackList(queryInvoiceBack);
if (CollectionUtils.isEmpty(invoiceBackList)) {
queryInvoiceBack.setId(IdUtils.randomUUID());
queryInvoiceBack.setIdentity( identity );
queryInvoiceBack.setBackUrl(callBackUrl);
queryInvoiceBack.setStatus("0");
queryInvoiceBack.setCreateTime(new Date());
queryInvoiceBack.setSystemOrderno(billInfo.getOutTradeOrderno());
queryInvoiceBack.setBackMsg("");
queryInvoiceBack.setResultCode("0000");
queryInvoiceBack.setResultMsg("开票成功!");
queryInvoiceBack.setUpdateTime(new Date());
invoiceBackMapper.insertInvoiceBack(queryInvoiceBack);
} else {
queryInvoiceBack = invoiceBackList.get(0);
queryInvoiceBack.setResultCode("0000");
queryInvoiceBack.setResultMsg("开票成功!");
queryInvoiceBack.setUpdateTime(new Date());
}
// 回调,失败的交给定时任务
InvoiceBack finalQueryInvoiceBack = queryInvoiceBack;
try {
callBackAisino(finalQueryInvoiceBack, callBackUrl, "", invoice.getId());
} catch (Exception e) {
log.info("【重汽批量开票】发票回调失败!invoiceId={}", invoice.getId());
}
}
HXResponse response = new HXResponse("0000", "同步成功");
response.put("fpqqlsh", billInfo.getSystemOrderno());
return response;
} else {
return new HXResponse(retmsg);
}
}
/**
* 开票接口回调-重汽
* 2023-09-26

@ -903,6 +903,11 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService {
return null;
}
@Override
public HXResponse saveInvoice(String identity, String billInfoId, JSONObject resultJSON) {
return null;
}
/**
* 申请/上传 红字发票

@ -1168,6 +1168,11 @@ public class ElephantInvoiceApiV6ByInspurServiceImpl implements IInvoiceApiServi
return null;
}
@Override
public HXResponse saveInvoice(String identity, String billInfoId, JSONObject resultJSON) {
return null;
}
/**
* 红字确认单列表查询数电专用

@ -1216,6 +1216,11 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService {
return null;
}
@Override
public HXResponse saveInvoice(String identity, String billInfoId, JSONObject resultJSON) {
return null;
}
/**
* 红字确认单列表查询数电专用

@ -1719,6 +1719,11 @@ public class JcskInvoiceApiServiceImpl implements IInvoiceApiService {
}
@Override
public HXResponse saveInvoice(String identity, String billInfoId, JSONObject resultJSON) {
return null;
}
/**
* 简税和金财数科 发票类型互换
*

Loading…
Cancel
Save