From 51b10d06abbf02b785d65386641f4b81230475e1 Mon Sep 17 00:00:00 2001 From: wangzhikun Date: Mon, 20 Mar 2023 16:02:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=87=AD=E8=AF=81=E5=8F=B7?= =?UTF-8?q?=EF=BC=8C=E5=8F=91=E9=80=81=E8=AE=A4=E8=AF=81=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/InterfaceController.java | 25 ++++++++-- .../com/dxhy/erp/model/ErpInvoiceData.java | 15 ++++++ .../main/java/com/dxhy/erp/model/IsInput.java | 23 +++++---- .../main/java/com/dxhy/erp/model/ZDATA.java | 27 +++++----- .../service/impl/InvoiceAuthServiceImpl.java | 50 ++++++++++++------- 5 files changed, 97 insertions(+), 43 deletions(-) create mode 100644 dxhy-erp/src/main/java/com/dxhy/erp/model/ErpInvoiceData.java diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java index edd9565b..ff914e34 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java @@ -964,6 +964,7 @@ public class InterfaceController extends AbstractController { @PostMapping("/reimbursementSync") public String reimbursementSync(HttpServletRequest request, HttpServletResponse response) { + String authorize1 = request.getParameter("authorize"); String returnResult = null; ObjectMapper mapper = new ObjectMapper(); GlobalInfo globalInfo = null; @@ -987,6 +988,7 @@ public class InterfaceController extends AbstractController { log.info("接收票据:{}", requestParam.get("data")); ReimburseReq reimburseReq = JSONObject.parseObject(requestParam.get("data"), ReimburseReq.class); DynamicContextHolder.push(DbConstant.BASICS_READ); + /** SysDeptEntity deptEntity = sysDeptDao.getOrgType(reimburseReq.getGfTaxNo()); if (deptEntity == null) { run.setReturnCode(ReturnCodeEnum.JTSHBF.getFhzDm()); @@ -995,6 +997,9 @@ public class InterfaceController extends AbstractController { interfaceCode.setReturnStateInfo(run); return JSON.toJSONString(interfaceCode); } + */ + SysDeptEntity deptEntity = new SysDeptEntity(); + deptEntity.setDbName("business"); TDxInvoiceReimburse reimburse = tDxInvoiceReimburseService.invoiceHandle(reimburseReq, deptEntity); if ("1".equals(reimburse.getQsStatus())) { run.setReturnCode(ReturnCodeEnum.CLCG.getFhzDm()); @@ -1125,9 +1130,23 @@ public class InterfaceController extends AbstractController { } @PostMapping("receiveErpInvoiceMessage") - public String receiveErpInvoiceMessage(@RequestBody IsInput isInput){ - EsOutPutResp esOutPutResp=invoiceAuthService.receiveErpInvoiceMessage(isInput); - return JsonUtils.getInstance().toJsonString(esOutPutResp); + public String receiveErpInvoiceMessage(@RequestBody ErpInvoiceData erpInvoiceData){ + try { + EsOutPutResp esOutPutResp=invoiceAuthService.receiveErpInvoiceMessage(erpInvoiceData.getIS_INPUT()); + return JsonUtils.getInstance().toJsonString(esOutPutResp); + }catch (Exception e){ + log.info("{}接收erp发票数据出错,sapkey:{}",e,erpInvoiceData.getIS_INPUT().getSAPKEY()); + e.printStackTrace(); + EsOutPutResp esOutPutResp = new EsOutPutResp(); + esOutPutResp.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY()); + esOutPutResp.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY()); + esOutPutResp.setZTYPE("E"); + esOutPutResp.setZMESSAGE("程序内部错误"); + return JsonUtils.getInstance().toJsonString(esOutPutResp); + + } + + } } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/model/ErpInvoiceData.java b/dxhy-erp/src/main/java/com/dxhy/erp/model/ErpInvoiceData.java new file mode 100644 index 00000000..b5e85b52 --- /dev/null +++ b/dxhy-erp/src/main/java/com/dxhy/erp/model/ErpInvoiceData.java @@ -0,0 +1,15 @@ +package com.dxhy.erp.model; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +/** + * @Author wangzhikun + * @Date 2023/3/17 2023/3/17 + */ +@Data +public class ErpInvoiceData { + @JsonProperty(value = "IS_INPUT") + private IsInput IS_INPUT; +} diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/model/IsInput.java b/dxhy-erp/src/main/java/com/dxhy/erp/model/IsInput.java index 9196e079..27a33d0d 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/model/IsInput.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/model/IsInput.java @@ -1,5 +1,6 @@ package com.dxhy.erp.model; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.List; @@ -10,27 +11,27 @@ import java.util.List; */ @Data public class IsInput { - + @JsonProperty(value = "SYSID") private String SYSID; - + @JsonProperty(value = "IFYWID") private String IFYWID; - + @JsonProperty(value = "BSKEY") private String BSKEY; - + @JsonProperty(value = "SAPKEY") private String SAPKEY; - + @JsonProperty(value = "ZORG") private String ZORG; - + @JsonProperty(value = "ZFILED1") private String ZFILED1; - + @JsonProperty(value = "ZFILED2") private String ZFILED2; - + @JsonProperty(value = "ZFILED3") private String ZFILED3; - + @JsonProperty(value = "ZFILED4") private String ZFILED4; - + @JsonProperty(value = "ZFILED5") private String ZFILED5; - + @JsonProperty(value = "ZDATA") private List ZDATA; diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATA.java b/dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATA.java index bb9eda43..03cc5312 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATA.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATA.java @@ -1,5 +1,6 @@ package com.dxhy.erp.model; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; /** @@ -8,29 +9,31 @@ import lombok.Data; */ @Data public class ZDATA { - private String ID; + @JsonProperty(value = "ID") + private String ID; + @JsonProperty(value = "ZBZDH") private String ZBZDH; - + @JsonProperty(value = "ZFPHM") private String ZFPHM; - + @JsonProperty(value = "ZFPDM") private String ZFPDM; - + @JsonProperty(value = "ZFPLX") private String ZFPLX; - + @JsonProperty(value = "ZYWZT") private String ZYWZT; - + @JsonProperty(value = "ZGSDM") private String ZGSDM; - + @JsonProperty(value = "ZGSDMT") private String ZGSDMT; - + @JsonProperty(value = "ZJBR") private String ZJBR; - + @JsonProperty(value = "ZJBRT") private String ZJBRT; - + @JsonProperty(value = "ZJBRSJ") private String ZJBRSJ; - + @JsonProperty(value = "BELNR") private String BELNR; - + @JsonProperty(value = "BUDAT") private String BUDAT; } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/InvoiceAuthServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/InvoiceAuthServiceImpl.java index facbf496..0bdd2c1d 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/InvoiceAuthServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/InvoiceAuthServiceImpl.java @@ -36,6 +36,7 @@ import com.dxhy.erp.service.InvoiceAuthService; import com.dxhy.erp.utils.CheckUtils; import cn.hutool.core.codec.Base64; +import org.springframework.transaction.annotation.Transactional; /** * @author dxhy @@ -325,12 +326,14 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl zdata = isInput.getZDATA(); AuthDateReq authDateReq=new AuthDateReq(); authDateReq.setBatchNo(isInput.getSAPKEY()); authDateReq.setApplyRzlx("1"); for(ZDATA zdata1:zdata){ + //成功或者失败标识 + boolean flag = false; String uuid = zdata1.getZFPDM()+zdata1.getZFPHM(); DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); TdxRecordInvoice recordInvoiceByUuid = tDxrecordInvoiceDao.getRecordInvoiceByUuid(uuid); @@ -338,32 +341,45 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl authState = new HashMap<>(); - authState.put("rz_user",zdata1.getZJBRT()); - authState.put("applyTaxPeriod",zdata1.getBUDAT().substring(0,7).replace("-","")); - tDxrecordInvoiceDao.updateRz(authState,"1","1",recordInvoiceByUuid.getUuid()); + if(update>0){ + DynamicContextHolder.push(DbConstant.BASICS_READ); + SysDeptEntity org = sysDeptDao.getOrg(recordInvoiceByUuid.getGfTaxNo()); + zdata1.setZFPLX(convertFpzldm(zdata1.getZFPLX())); + //如果设置的自动认证走申请认证逻辑 + if("1".equals(org.getAutoRz()) && ("01".equals(zdata1.getZFPLX()) || "03".equals(zdata1.getZFPLX()) + || "08".equals(zdata1.getZFPLX()) || "14".equals(zdata1.getZFPLX()) + || "31".equals(zdata1.getZFPLX())) && StringUtils.isNotBlank(zdata1.getBUDAT())){ + if(!"4".equals(recordInvoiceByUuid.getAuthStatus()) && !"3".equals(recordInvoiceByUuid.getAuthStatus()) + && !"2".equals(recordInvoiceByUuid.getAuthStatus())){ + Map authState = new HashMap<>(); + authState.put("rz_user",zdata1.getZJBRT()); + authState.put("applyTaxPeriod",zdata1.getBUDAT().substring(0,7).replace("-","")); + DynamicContextHolder.push("business"+DbConstant.BUSINESS_WRITE); + tDxrecordInvoiceDao.updateRz(authState,"1","1",recordInvoiceByUuid.getUuid()); + } } + }else { + flag=true; } }else { flag=true; } + if(!flag){ + promsg.append("票据号码:"+zdata1.getZFPHM()+"绑定成功! "); + }else { + + } } + zdataresp.setPROMSG(promsg.toString()); + zdataresp.setPROTYP("s"); + es.setZdata(zdataresp); return es; }