From f001bf9a6b09f7e597995406da10f028199f3326 Mon Sep 17 00:00:00 2001 From: "zhenghaiyang@ele-cloud.com" Date: Fri, 16 Jun 2023 09:28:10 +0800 Subject: [PATCH 1/6] =?UTF-8?q?feature=201.=E7=94=B5=E5=95=86=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dxhy/order/constant/OrderInfoEnum.java | 3 + .../service/impl/PushInvoiceServiceImpl.java | 261 +++++++++--------- .../po/generateinvoice/sap/FpkjReqSap.java | 7 +- .../consumer/utils/BeanTransitionUtils.java | 3 + 4 files changed, 149 insertions(+), 125 deletions(-) diff --git a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java index 0d577d6a..e9c1c6cc 100644 --- a/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java +++ b/order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java @@ -403,7 +403,10 @@ public enum OrderInfoEnum { * 系统来源(SAP:SAP) */ SYS_SOURCE_SAP("SAP","SAP"), + SYS_SOURCE_FPPAGE("FPPAGE","FPPAGE"), SYS_SOURCE_DSXT("DSXT","DSXT"), + SYS_SOURCE_DSXT01("DSXT01","DSXT01"), + SYS_SOURCE_DSXT02("DSXT02","DSXT02"), /** * 订单类型(0:原始订单,1:拆分后订单,2:合并后订单,3:系统冲红订单,4:自动开票订单,5:作废重开订单;6:历史数据订单;7:发票修复数据) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java index 8c1d6ead..92ec0d57 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java @@ -410,10 +410,16 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { log.warn("税号:{},组装请求报文为空,不进行推送数据", fpTsMqData.getNsrsbh()); continue; } - + OrderProcessInfo orderProcessInfo = null; Map requestMap = commonDisposeService.getRequestParameter(pushInfo.getNsrsbh(), pushInfo.getZipCode(), pushInfo.getEncryptCode(), content, pushInfo.getPushUrl(), pushInfo.getInterfaceType(), pushInfo.getVersionIdent()); - if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){ - fptsParam = convertToYwxtParam(fpTsMqData,xtly,content); + if (OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_1.getKey().equals(fpTsMqData.getPushType())) { + orderProcessInfo = orderProcessService.queryOrderProcessInfoByFpqqlsh(fpTsMqData.getFpTsMqData().getFpqqlsh(), null); + } else if(OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_2.getKey().equals(fpTsMqData.getPushType())){ + OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfoByFpdmAndFphm(fpTsMqData.getZfTsMqData().getFpdm(), fpTsMqData.getZfTsMqData().getFphm(), null); + orderProcessInfo = orderProcessService.selectByOrderId(orderInvoiceInfo.getOrderInfoId(), null); + } + if(StringUtils.isNotBlank(pushInfo.getByzd1())){ + fptsParam = convertToYwxtParam(fpTsMqData,content); }else { fptsParam = JsonUtils.getInstance().toJsonString(requestMap); } @@ -428,7 +434,15 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { String result = ""; if (ConfigurerInfo.INTERFACE_VERSION_V5.equals(pushInfo.getVersionIdent()) || ConfigurerInfo.INTERFACE_VERSION_V6.equals(pushInfo.getVersionIdent())) { - result = HttpUtils.sendPo(pushInfo.getPushUrl(), fptsParam,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword()); + if (StringUtils.isNotBlank(pushInfo.getByzd1()) && OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(pushInfo.getByzd1())) { + result = HttpUtils.sendPo(pushInfo.getPushUrl(), fptsParam,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword()); + }else if(OrderInfoEnum.SYS_SOURCE_DSXT01.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isNotBlank(pushInfo.getByzd1()) + && pushInfo.getByzd1().equals(orderProcessInfo.getXtly())){ + result = HttpUtils.sendPo(pushInfo.getPushUrl(), fptsParam,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword()); + } else if (OrderInfoEnum.SYS_SOURCE_DSXT02.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isNotBlank(pushInfo.getByzd1()) + && pushInfo.getByzd1().equals(orderProcessInfo.getXtly())) { + result = HttpUtils.sendPo(pushInfo.getPushUrl(), fptsParam,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword()); + } } else { result = HttpUtils.doPost(pushInfo.getPushUrl(), requestMap); } @@ -1288,7 +1302,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { return content; } - public String convertToYwxtParam(CommonTsMqData fpTsMqData,String xtly,String content){ + public String convertToYwxtParam(CommonTsMqData fpTsMqData,String content){ String ywxtParam = ""; @@ -1300,137 +1314,138 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { List gsClients = gsClientMapper.selectByGsdm(orderProcessInfo.getGsdm()); //发票开具推送 - if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){ - DdfpzxxV5 ddfpzxxV5 = JsonUtils.getInstance().parseObject(content.substring(1,content.length()-1), DdfpzxxV5.class); - DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX(); - List ddmxxx = ddfpzxxV5.getDDMXXX(); - List mainList = new ArrayList<>(); - FpkjtsReqSap fpkjtsReqSap = new FpkjtsReqSap(); - List itemList = new ArrayList<>(); + DdfpzxxV5 ddfpzxxV5 = JsonUtils.getInstance().parseObject(content.substring(1,content.length()-1), DdfpzxxV5.class); + DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX(); + List ddmxxx = ddfpzxxV5.getDDMXXX(); + List mainList = new ArrayList<>(); + FpkjtsReqSap fpkjtsReqSap = new FpkjtsReqSap(); + List itemList = new ArrayList<>(); + //主信息 + if(!OrderInfoEnum.SYS_SOURCE_FPPAGE.getKey().equals(orderProcessInfo.getXtly())){ + fpkjtsReqSap.setZJSDH(orderProcessInfo.getOriginDdh()); + }else { + fpkjtsReqSap.setZJSDH(""); + } + fpkjtsReqSap.setZFPDM(ddfpxx.getFPDM()); + fpkjtsReqSap.setZFPHM(ddfpxx.getFPHM()); + fpkjtsReqSap.setZFPLX(CommonUtils.transToSnFplxdm(ddfpxx.getFPLXDM())); + fpkjtsReqSap.setZXFBM(ddfpxx.getXHFSBH()); + fpkjtsReqSap.setZGFBH(ddfpxx.getGMFSBH()); + fpkjtsReqSap.setZBHSJEY(ddfpxx.getHJJE()); + fpkjtsReqSap.setZZSEY(ddfpxx.getHJSE()); + fpkjtsReqSap.setZHSJEY(ddfpxx.getJSHJ()); + fpkjtsReqSap.setZZBZ(ddfpxx.getBZ()); + fpkjtsReqSap.setZFPZT(ConfigureConstant.STRING_0);//0-正常、1-作废 + String formatKprq = ""; + try { + Date date = (Date) new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ddfpxx.getKPRQ()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + formatKprq = sdf.format(date); + }catch (Exception e){ + log.error("{}发票推送SAP格式化开票日期错误:{}",LOGGER_MSG,e); + } + fpkjtsReqSap.setZKPRQ(formatKprq); + fpkjtsReqSap.setZGFMC(ddfpxx.getGMFMC()); + fpkjtsReqSap.setZGFSH(ddfpxx.getGMFSBH()); + fpkjtsReqSap.setZXFMC(ddfpxx.getXHFMC()); + fpkjtsReqSap.setZXFSH(ddfpxx.getXHFSBH()); + fpkjtsReqSap.setZTID(ddfpxx.getFPDM()+ddfpxx.getFPHM()+ddfpxx.getFPLXDM()); + fpkjtsReqSap.setZGFZH(ddfpxx.getGMFZH()); + fpkjtsReqSap.setZGFDH(ddfpxx.getGMFDH()); + fpkjtsReqSap.setZXFDH(ddfpxx.getXHFDH()); + fpkjtsReqSap.setZXFZH(ddfpxx.getXHFZH()); + fpkjtsReqSap.setZGSDM(orderProcessInfo.getGsdm()); + fpkjtsReqSap.setZYWDJ(orderProcessInfo.getBzdh()); + fpkjtsReqSap.setIMGID(orderInvoiceInfo.getDocuId()); + if(OrderInfoEnum.SYS_SOURCE_DSXT01.getKey().equals(orderProcessInfo.getXtly()) || + OrderInfoEnum.SYS_SOURCE_DSXT02.getKey().equals(orderProcessInfo.getXtly())){ + fpkjtsReqSap.setPDFZJL(ddfpxx.getPDFZJL()); + fpkjtsReqSap.setZJLLX(ddfpxx.getZJLLX()); + } + //明细信息 + ddmxxx.stream().forEach(f -> { + FpkjtsMxSap detail = new FpkjtsMxSap(); //主信息 if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){ - fpkjtsReqSap.setZJSDH(orderProcessInfo.getOriginDdh()); + detail.setZJSDH(orderProcessInfo.getOriginDdh()); }else { - fpkjtsReqSap.setZJSDH(""); - } - fpkjtsReqSap.setZFPDM(ddfpxx.getFPDM()); - fpkjtsReqSap.setZFPHM(ddfpxx.getFPHM()); - fpkjtsReqSap.setZFPLX(CommonUtils.transToSnFplxdm(ddfpxx.getFPLXDM())); - fpkjtsReqSap.setZXFBM(ddfpxx.getXHFSBH()); - fpkjtsReqSap.setZGFBH(ddfpxx.getGMFSBH()); - fpkjtsReqSap.setZBHSJEY(ddfpxx.getHJJE()); - fpkjtsReqSap.setZZSEY(ddfpxx.getHJSE()); - fpkjtsReqSap.setZHSJEY(ddfpxx.getJSHJ()); - fpkjtsReqSap.setZZBZ(ddfpxx.getBZ()); - fpkjtsReqSap.setZFPZT(ConfigureConstant.STRING_0);//0-正常、1-作废 - String formatKprq = ""; - try { - Date date = (Date) new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ddfpxx.getKPRQ()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - formatKprq = sdf.format(date); - }catch (Exception e){ - log.error("{}发票推送SAP格式化开票日期错误:{}",LOGGER_MSG,e); + detail.setZJSDH(""); } - fpkjtsReqSap.setZKPRQ(formatKprq); - fpkjtsReqSap.setZGFMC(ddfpxx.getGMFMC()); - fpkjtsReqSap.setZGFSH(ddfpxx.getGMFSBH()); - fpkjtsReqSap.setZXFMC(ddfpxx.getXHFMC()); - fpkjtsReqSap.setZXFSH(ddfpxx.getXHFSBH()); - fpkjtsReqSap.setZTID(ddfpxx.getFPDM()+ddfpxx.getFPHM()+ddfpxx.getFPLXDM()); - fpkjtsReqSap.setZGFZH(ddfpxx.getGMFZH()); - fpkjtsReqSap.setZGFDH(ddfpxx.getGMFDH()); - fpkjtsReqSap.setZXFDH(ddfpxx.getXHFDH()); - fpkjtsReqSap.setZXFZH(ddfpxx.getXHFZH()); - fpkjtsReqSap.setZGSDM(orderProcessInfo.getGsdm()); - fpkjtsReqSap.setZYWDJ(orderProcessInfo.getBzdh()); - fpkjtsReqSap.setIMGID(orderInvoiceInfo.getDocuId()); - fpkjtsReqSap.setPDFZJL(ddfpxx.getPDFZJL()); - fpkjtsReqSap.setZJLLX(ddfpxx.getZJLLX()); - //明细信息 - ddmxxx.stream().forEach(f -> { - FpkjtsMxSap detail = new FpkjtsMxSap(); - //主信息 - if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){ - detail.setZJSDH(orderProcessInfo.getOriginDdh()); - }else { - detail.setZJSDH(""); - } // detail.setZJSDH(ddfpxx.getDDH()); - detail.setZFPDM(ddfpxx.getFPDM()); - detail.setZFPHM(ddfpxx.getFPHM()); - detail.setZFPHH(f.getXH()); - if(ObjectUtil.isNull(f.getZXBM()) || StrUtil.isBlank(f.getZXBM())){ - detail.setMATNR(""); - }else { + detail.setZFPDM(ddfpxx.getFPDM()); + detail.setZFPHM(ddfpxx.getFPHM()); + detail.setZFPHH(f.getXH()); + if(ObjectUtil.isNull(f.getZXBM()) || StrUtil.isBlank(f.getZXBM())){ + detail.setMATNR(""); + }else { // DecimalFormat g1=new DecimalFormat("000000000000000000"); - detail.setMATNR(f.getZXBM()); - } - detail.setZGGXH(f.getGGXH()); - detail.setZSLDW(f.getDW()); - detail.setZZSL(f.getSPSL()); - detail.setZTAX(new BigDecimal(f.getSL()).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString()); - detail.setZBHSJEY(f.getJE()); - detail.setZZSEY(f.getSE()); - detail.setZHSJEY(new BigDecimal(f.getJE()).add(new BigDecimal(f.getSE())).toString()); - if(StrUtil.isBlank(f.getDJ())){ - detail.setZZDJFP(""); - }else { - detail.setZZDJFP(f.getDJ()); + detail.setMATNR(f.getZXBM()); + } + detail.setZGGXH(f.getGGXH()); + detail.setZSLDW(f.getDW()); + detail.setZZSL(f.getSPSL()); + detail.setZTAX(new BigDecimal(f.getSL()).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString()); + detail.setZBHSJEY(f.getJE()); + detail.setZZSEY(f.getSE()); + detail.setZHSJEY(new BigDecimal(f.getJE()).add(new BigDecimal(f.getSE())).toString()); + if(StrUtil.isBlank(f.getDJ())){ + detail.setZZDJFP(""); + }else { + detail.setZZDJFP(f.getDJ()); // detail.setZZDJFP(new BigDecimal(f.getDJ()).multiply(new BigDecimal(f.getSL()).add(BigDecimal.ONE)).setScale(ConfigureConstant.INT_8,BigDecimal.ROUND_HALF_EVEN).toString()); - } - detail.setINVOICEDATE(ddfpxx.getKPRQ()); - detail.setINVOICETYPE(ddfpxx.getFPLXDM()); - detail.setZHWMC(f.getXMMC()); - detail.setZSM(ObjectUtil.isNull(smMap.get(f.getSL()))?"":smMap.get(f.getSL()).toString()); - itemList.add(detail); - }); - fpkjtsReqSap.setITITEM(itemList); - IsInput isInput = new IsInput(); - isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey()); - isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPKJTS.getKey()); - isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey()); - isInput.setZORG(""); - isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():""); - mainList.add(fpkjtsReqSap); - String jsonString = JsonUtils.getInstance().toJsonString(mainList); - isInput.setZDATA(jsonString); - PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam(); - poCommonRequestParam.setIS_INPUT(isInput); - - ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam); - } + } + detail.setINVOICEDATE(ddfpxx.getKPRQ()); + detail.setINVOICETYPE(ddfpxx.getFPLXDM()); + detail.setZHWMC(f.getXMMC()); + detail.setZSM(ObjectUtil.isNull(smMap.get(f.getSL()))?"":smMap.get(f.getSL()).toString()); + itemList.add(detail); + }); + fpkjtsReqSap.setITITEM(itemList); + IsInput isInput = new IsInput(); + isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey()); + isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPKJTS.getKey()); + isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey()); + isInput.setZORG(""); + isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():""); + mainList.add(fpkjtsReqSap); + String jsonString = JsonUtils.getInstance().toJsonString(mainList); + isInput.setZDATA(jsonString); + PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam(); + poCommonRequestParam.setIS_INPUT(isInput); + + ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam); + }else if(OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_2.getKey().equals(fpTsMqData.getPushType())){ OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfoByFpdmAndFphm(fpTsMqData.getZfTsMqData().getFpdm(), fpTsMqData.getZfTsMqData().getFphm(), null); OrderProcessInfo orderProcessInfo = orderProcessService.selectByOrderId(orderInvoiceInfo.getOrderInfoId(), null); List gsClients = gsClientMapper.selectByGsdm(orderProcessInfo.getGsdm()); //发票作废推送 - if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){ - ZffptsV5 zffptsV5 = JsonUtils.getInstance().parseObject(content, ZffptsV5.class); - List zfList = new ArrayList<>(); - FpzftsReqSap fpzftsReqSap = new FpzftsReqSap(); - fpzftsReqSap.setZFPDM(zffptsV5.getFPDM()); - fpzftsReqSap.setZFPHM(zffptsV5.getFPHM()); - //0 是正常 1是作废 - fpzftsReqSap.setZFPZT(ConfigureConstant.STRING_1); - if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){ - fpzftsReqSap.setZJSDH(orderProcessInfo.getOriginDdh()); - }else { - fpzftsReqSap.setZBZDH(orderProcessInfo.getBzdh()); - } - IsInput isInput = new IsInput(); - isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey()); - isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPZFTS.getKey()); - isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey()); - isInput.setZORG(""); - isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():""); - zfList.add(fpzftsReqSap); - String jsonString = JsonUtils.getInstance().toJsonString(zfList); - isInput.setZDATA(jsonString); - PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam(); - poCommonRequestParam.setIS_INPUT(isInput); - - ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam); + ZffptsV5 zffptsV5 = JsonUtils.getInstance().parseObject(content, ZffptsV5.class); + List zfList = new ArrayList<>(); + FpzftsReqSap fpzftsReqSap = new FpzftsReqSap(); + fpzftsReqSap.setZFPDM(zffptsV5.getFPDM()); + fpzftsReqSap.setZFPHM(zffptsV5.getFPHM()); + //0 是正常 1是作废 + fpzftsReqSap.setZFPZT(ConfigureConstant.STRING_1); + if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){ + fpzftsReqSap.setZJSDH(orderProcessInfo.getOriginDdh()); + }else { + fpzftsReqSap.setZBZDH(orderProcessInfo.getBzdh()); } + IsInput isInput = new IsInput(); + isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey()); + isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPZFTS.getKey()); + isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey()); + isInput.setZORG(""); + isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():""); + zfList.add(fpzftsReqSap); + String jsonString = JsonUtils.getInstance().toJsonString(zfList); + isInput.setZDATA(jsonString); + PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam(); + poCommonRequestParam.setIS_INPUT(isInput); + + ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam); + } return ywxtParam; diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/po/generateinvoice/sap/FpkjReqSap.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/po/generateinvoice/sap/FpkjReqSap.java index 9e538400..dd925359 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/po/generateinvoice/sap/FpkjReqSap.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/po/generateinvoice/sap/FpkjReqSap.java @@ -87,8 +87,6 @@ public class FpkjReqSap { * 行项目结构 */ private List ITITEM; - //是否为电商系统数据 - private String ZDSXT; //是否独立开票抬头 private String ZDLKPTT; //金税开票抬头名称 @@ -103,4 +101,9 @@ public class FpkjReqSap { private String ZKPKHH; //金税开票银行账号 private String ZKPZH; + //电商业务分类 01 表示物资公司业务 + //02 表示煤炭化工业务 + private String ZDSYWFL; + //是否为电商系统数据 如果为X,表示数据来自电商系统,开票完成后需要推送给电商系统开票数据及板式文件。 + private String ZDSXT; } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java index 1e460713..1811c638 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java @@ -3521,6 +3521,9 @@ public class BeanTransitionUtils { ddtxxBO.setGMFZH(req.getZKPZH()); ddtxxBO.setGMFBM(""); } + if(StringUtils.isNotBlank(req.getZDSXT()) && StringUtils.isNotBlank(req.getZDSYWFL())){ + ddtxxBO.setXTLY(OrderInfoEnum.SYS_SOURCE_DSXT.getKey()+req.getZDSYWFL()); + } ddtxxBO.setGSDM(req.getBUKRS()); ddtxxBO.setENTID(deptEntity.getDeptId()); ddtxxBO.setBHZT(ConfigureConstant.STRING_0); From 67cf6050d3ac434524f1af32ee1f1f1c3c5bea00 Mon Sep 17 00:00:00 2001 From: gaorl Date: Tue, 20 Jun 2023 11:24:41 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feature=EF=BC=9A=E4=BF=AE=E6=94=B9=E4=BC=98?= =?UTF-8?q?=E6=83=A0=E6=94=BF=E7=AD=96=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commodity/service/impl/CommodityServiceImpl.java | 3 +++ .../src/main/resources/mybatis/mapper/CommodityMapper.xml | 2 +- .../commodity/controller/GroupCommodityCodeController.java | 7 ++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java index e63c793e..199b2490 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java @@ -132,6 +132,9 @@ public class CommodityServiceImpl implements CommodityService { if(commodityCodeModifyLogService.saveCommodityCodeDifferenceBetween2(commodityCodeEntities.get(0), codeEntity, userId) == -1){ return R.error().put(OrderManagementConstant.DATA, "数据未进行修改,无需保存"); } + if(StringUtils.isBlank(codeEntity.getYhzcbs())|| "0".equals(codeEntity.getYhzcbs())){ + codeEntity.setZzstsgl(""); + } codeEntity.setXhfNsrsbh(null);//不更新税号 codeEntity.setModifyTime(new Date()); codeEntity.setCreateTime(null); diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml index a066ab80..c00360d4 100644 --- a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml +++ b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml @@ -300,7 +300,7 @@ preferential_policies_type = #{commodityCode.lslbs,jdbcType=VARCHAR}, - + zzstsgl = #{commodityCode.zzstsgl,jdbcType=VARCHAR}, diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java index 0522be48..2736b3d4 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java @@ -81,7 +81,12 @@ public class GroupCommodityCodeController { @PostMapping("/sync") public R sync(@RequestBody @Validated SyncGroupCommodityDTO dto) { - return groupCommodityCodeService.syncGroupCommodityDTO(dto); + try { + return groupCommodityCodeService.syncGroupCommodityDTO(dto); + } catch (Exception e) { + e.printStackTrace(); + return R.error("系统异常,请联系管理员"); + } } @RequestMapping("/uploadGroupCommodityDTO") From 3a1670ea2d47c13729793890a55c0441e3faa252 Mon Sep 17 00:00:00 2001 From: gaorl Date: Tue, 20 Jun 2023 16:50:53 +0800 Subject: [PATCH 3/6] =?UTF-8?q?feature=EF=BC=9A=E6=9B=B4=E6=96=B0=E7=89=A9?= =?UTF-8?q?=E6=96=99=E4=BC=98=E6=83=A0=E6=94=BF=E7=AD=96=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/commodity/service/impl/CommodityServiceImpl.java | 1 + .../src/main/resources/mybatis/mapper/CommodityMapper.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java index 199b2490..ae66cb8f 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java @@ -134,6 +134,7 @@ public class CommodityServiceImpl implements CommodityService { } if(StringUtils.isBlank(codeEntity.getYhzcbs())|| "0".equals(codeEntity.getYhzcbs())){ codeEntity.setZzstsgl(""); + codeEntity.setLslbs(""); } codeEntity.setXhfNsrsbh(null);//不更新税号 codeEntity.setModifyTime(new Date()); diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml index c00360d4..6dc936ff 100644 --- a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml +++ b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml @@ -297,7 +297,7 @@ tax_classification_name = #{commodityCode.ssflMc,jdbcType=VARCHAR}, - + preferential_policies_type = #{commodityCode.lslbs,jdbcType=VARCHAR}, From 55061b56f883014a094359b951342acb593bc07d Mon Sep 17 00:00:00 2001 From: WangQi <1021674882@qq.com> Date: Wed, 21 Jun 2023 10:03:04 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E8=B4=AD=E6=96=B9=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E4=B8=8D=E5=88=B0=E8=B7=B3=E8=BF=87=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InvoiceServiceImpl.java | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 893cef57..3b8c58ef 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -1594,25 +1594,27 @@ public class InvoiceServiceImpl implements InvoiceService { orderInfoIdList.stream().forEach(id->{ OrderInfo orderInfo = orderInfoMapper.selectOrderInfoByOrderId(id, null); BuyerEntity buyerEntity = buyerMapper.queryBuyerInfoByGhfIdAndEntId(orderInfo.getGhfId(), orderInfo.getEntId()); - if (buyerEntity == null) { - throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方信息为空,请补全!"); - } - if (OrderInfoEnum.CHECK_BANK_FLAG_YES.getKey().equals(buyerEntity.getCheckBankFlag())) { - log.info("开始校验客户信息完整"); - if (StrUtil.isBlank(orderInfo.getGhfNsrsbh())) { - throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方纳税人识别号为空,请补全!"); - } - if (StrUtil.isBlank(orderInfo.getGhfDz())) { - throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方地址为空,请补全!"); - } - if (StrUtil.isBlank(orderInfo.getGhfDh())) { - throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方电话为空,请补全!"); - } - if (StrUtil.isBlank(orderInfo.getGhfYh())) { - throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方开户行为空,请补全!"); - } - if (StrUtil.isBlank(orderInfo.getGhfZh())) { - throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方银行账号为空,请补全!"); +// if (buyerEntity == null) { +// throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方信息为空,请补全!"); +// } + if (buyerEntity != null) { + if (OrderInfoEnum.CHECK_BANK_FLAG_YES.getKey().equals(buyerEntity.getCheckBankFlag())) { + log.info("开始校验客户信息完整"); + if (StrUtil.isBlank(orderInfo.getGhfNsrsbh())) { + throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方纳税人识别号为空,请补全!"); + } + if (StrUtil.isBlank(orderInfo.getGhfDz())) { + throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方地址为空,请补全!"); + } + if (StrUtil.isBlank(orderInfo.getGhfDh())) { + throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方电话为空,请补全!"); + } + if (StrUtil.isBlank(orderInfo.getGhfYh())) { + throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方开户行为空,请补全!"); + } + if (StrUtil.isBlank(orderInfo.getGhfZh())) { + throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方银行账号为空,请补全!"); + } } } }); From 956d66287ac730aa4b7e8e7a7b22f7be1fd41a18 Mon Sep 17 00:00:00 2001 From: gaorl Date: Wed, 21 Jun 2023 11:03:35 +0800 Subject: [PATCH 5/6] =?UTF-8?q?feature=EF=BC=9A=E7=94=9F=E6=88=90=E9=A2=84?= =?UTF-8?q?=E5=88=B6=E4=B8=8D=E6=A0=A1=E9=AA=8C=E5=AE=B9=E5=B7=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InvoiceServiceImpl.java | 57 ++++++++++--------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java index 3b8c58ef..f54c4e05 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java @@ -299,34 +299,35 @@ public class InvoiceServiceImpl implements InvoiceService { orderSplit.stream().forEach(splitEn -> { List orderItemInfo = splitEn.getOrderItemInfo(); orderItemInfo.stream().forEach(splitItem -> { - List collect = commonOrderInfo.getOrderItemInfo().stream().filter(oi -> oi.getXmmc().equals(splitItem.getXmmc()) && - ((StrUtil.isBlank(oi.getGgxh()) && StrUtil.isBlank(splitItem.getGgxh())) || oi.getGgxh().equals(splitItem.getGgxh())) && - ((StrUtil.isBlank(oi.getXmdw()) && StrUtil.isBlank(splitItem.getXmdw())) || oi.getXmdw().equals(splitItem.getXmdw())) && - ((StrUtil.isBlank(oi.getSl()) && StrUtil.isBlank(splitItem.getSl())) || oi.getSl().equals(splitItem.getSl()))).collect(Collectors.toList()); - if (collect.size() == 1) { - List ruleSplitEntityList = ruleSplitService.queryRuleSplit(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), pageInvoiceReq.getUserId()); - log.info("税号:{},用户ID:{},查询的拆分限额信息结果:{}", commonOrderInfo.getOrderInfo().getXhfNsrsbh(), - pageInvoiceReq.getUserId(), JsonUtils.getInstance().toJsonString(ruleSplitEntityList)); - String djce = ConfigureConstant.STRING_0; - if(ruleSplitEntityList.size() != 0){ - djce = StrUtil.isBlank(ruleSplitEntityList.get(0).getDjce())?ConfigureConstant.STRING_0:ruleSplitEntityList.get(0).getDjce(); - } - if(ObjectUtil.isNotNull(collect.get(0).getXmdj()) && StrUtil.isNotBlank(collect.get(0).getXmdj()) && - ObjectUtil.isNotNull(splitItem.getXmdj()) && StrUtil.isNotBlank(splitItem.getXmdj())){ - BigDecimal abs = new BigDecimal(collect.get(0).getXmdj()).subtract(new BigDecimal(splitItem.getXmdj())).abs(); - if (abs.compareTo(new BigDecimal(djce)) > 0) { - Map map = new HashMap(); - map.put("ddh", commonOrderInfo.getOrderInfo().getDdh()); - map.put("ghfMc", commonOrderInfo.getOrderInfo().getGhfMc()); - map.put("xhfMc", commonOrderInfo.getOrderInfo().getXhfMc()); - map.put("jshj", commonOrderInfo.getOrderInfo().getKphjje()); - djOverflowList.add(map); - } - } - } else { - log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size()); - throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细"); - } +// List collect = commonOrderInfo.getOrderItemInfo().stream().filter(oi -> oi.getXmmc().equals(splitItem.getXmmc()) && +// ((StrUtil.isBlank(oi.getGgxh()) && StrUtil.isBlank(splitItem.getGgxh())) || oi.getGgxh().equals(splitItem.getGgxh())) && +// ((StrUtil.isBlank(oi.getXmdw()) && StrUtil.isBlank(splitItem.getXmdw())) || oi.getXmdw().equals(splitItem.getXmdw())) && +// ((StrUtil.isBlank(oi.getSl()) && StrUtil.isBlank(splitItem.getSl())) || oi.getSl().equals(splitItem.getSl()))).collect(Collectors.toList()); +// if (collect.size() == 1) { +// List ruleSplitEntityList = ruleSplitService.queryRuleSplit(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), pageInvoiceReq.getUserId()); +// log.info("税号:{},用户ID:{},查询的拆分限额信息结果:{}", commonOrderInfo.getOrderInfo().getXhfNsrsbh(), +// pageInvoiceReq.getUserId(), JsonUtils.getInstance().toJsonString(ruleSplitEntityList)); +// String djce = ConfigureConstant.STRING_0; +// if(ruleSplitEntityList.size() != 0){ +// djce = StrUtil.isBlank(ruleSplitEntityList.get(0).getDjce())?ConfigureConstant.STRING_0:ruleSplitEntityList.get(0).getDjce(); +// } +// if(ObjectUtil.isNotNull(collect.get(0).getXmdj()) && StrUtil.isNotBlank(collect.get(0).getXmdj()) && +// ObjectUtil.isNotNull(splitItem.getXmdj()) && StrUtil.isNotBlank(splitItem.getXmdj())){ +// BigDecimal abs = new BigDecimal(collect.get(0).getXmdj()).subtract(new BigDecimal(splitItem.getXmdj())).abs(); +// if (abs.compareTo(new BigDecimal(djce)) > 0) { +// Map map = new HashMap(); +// map.put("ddh", commonOrderInfo.getOrderInfo().getDdh()); +// map.put("ghfMc", commonOrderInfo.getOrderInfo().getGhfMc()); +// map.put("xhfMc", commonOrderInfo.getOrderInfo().getXhfMc()); +// map.put("jshj", commonOrderInfo.getOrderInfo().getKphjje()); +// djOverflowList.add(map); +// } +// } +// } +// else { +// log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size()); +// throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细"); +// } }); }); } From e495ea99ccdac836bd25a45f40d83c77a65b445c Mon Sep 17 00:00:00 2001 From: WangQi <1021674882@qq.com> Date: Wed, 21 Jun 2023 12:34:25 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E8=B4=AD=E6=96=B9=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E4=B8=8D=E5=88=B0=E8=B7=B3=E8=BF=87=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/order/service/impl/OrderInfoServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java index 3371d5dc..a8f6744d 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java @@ -269,7 +269,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { BuyerEntity buyerEntity = buyerMapper.queryBuyerInfoByGhfIdAndEntId(orderInfo.getGhfId(), orderInfo.getEntId()); if (buyerEntity == null) { log.error("{}查询原始订单客户信息为空,id为:{}", LOGGER_MSG, orderProcessInfo.getOrderInfoId()); - oderDetailInfo.setCheckBankFlag(OrderInfoEnum.CHECK_BANK_FLAG_YES.getKey()); + oderDetailInfo.setCheckBankFlag(OrderInfoEnum.CHECK_BANK_FLAG_NO.getKey()); } else { oderDetailInfo.setCheckBankFlag(buyerEntity.getCheckBankFlag()); }