diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/dao/CommodityMapper.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/dao/CommodityMapper.java index 748c2789..de62c733 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/dao/CommodityMapper.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/dao/CommodityMapper.java @@ -42,7 +42,7 @@ public interface CommodityMapper { CommodityCodeEntity queryByCommodityXmmc(@Param("xmmc") String xmmc, @Param("xhfNsrsbh") String xhfNsrsbh); - List queryByCommodityXmmcCompany(@Param("xmmc") String xmmc); + List queryByCommoditySpbmCompany(@Param("spbm") String spbm); /** * 修改商品信息 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 6e0a913e..5c7403f2 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 @@ -1167,12 +1167,12 @@ and cc.xhf_nsrsbh = #{xhfNsrsbh} limit 1 - SELECT FROM commodity_code cc - WHERE cc.merchandise_name like concat("%",#{xmmc},"%") + WHERE cc.encoding = =#{spbm} diff --git a/order-management-common/src/main/java/com/dxhy/order/model/OutputInvoiceRequest.java b/order-management-common/src/main/java/com/dxhy/order/model/OutputInvoiceRequest.java new file mode 100644 index 00000000..df24ada2 --- /dev/null +++ b/order-management-common/src/main/java/com/dxhy/order/model/OutputInvoiceRequest.java @@ -0,0 +1,27 @@ +package com.dxhy.order.model; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Description:大象销项入参 + * @Date 2023-04-10 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class OutputInvoiceRequest { + + private String billNum;//报账单号 + + private String companyCode;//公司代码 + + private List invoiceList;//新增发票列表 + + private List deleteList;//删除发票列表 +} 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 15b0329f..819a5062 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 @@ -401,7 +401,12 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { //按照接口类型获取对应的报文数据 //推送影像系统 String content = getPushContent(fpTsMqData, pushInfo, shList); - //sendImageSys(content,"",""); + try { + //推送影像系统 + sendImageSys(content); + } catch (Exception e) { + e.printStackTrace(); + } if (StrUtil.isBlank(content)) { log.warn("税号:{},组装请求报文为空,不进行推送数据", fpTsMqData.getNsrsbh()); continue; @@ -574,103 +579,126 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { return r; } - private SNInvoice buildSNInvoice(String content){ - DdfpzxxV5 ddfpzxxV5 = JsonUtils.getInstance().parseObject(content.substring(1,content.length()-1), DdfpzxxV5.class); - DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX(); - JdctxxV5 jdctxx = ddfpzxxV5.getJDCTXX(); - List ddmxxx = ddfpzxxV5.getDDMXXX(); - List invoiceLineList = new ArrayList<>(); - SNInvoice invoice = new SNInvoice(); - invoice.setInvoiceType(convertToSapType(ddfpxx.getFPLXDM())); - invoice.setInvoiceCode(ddfpxx.getFPDM()); - invoice.setInvoiceNumber(ddfpxx.getFPHM()); - invoice.setBillingDate(ddfpxx.getKPRQ()); - invoice.setPurchaserName(ddfpxx.getGMFMC()); - invoice.setPurchaserTaxNo(ddfpxx.getGMFSBH()); - invoice.setPurchaserBank(ddfpxx.getGMFYH()+ddfpxx.getGMFZH()); - invoice.setPurchaserAddressPhone(ddfpxx.getGMFDZ()+ddfpxx.getGMFDH()); - invoice.setSalesName(ddfpxx.getXHFMC()); - invoice.setSalesTaxNo(ddfpxx.getXHFSBH()); - invoice.setSalesAddressPhone(ddfpxx.getXHFDZ()+ddfpxx.getXHFDH()); - invoice.setSalesBank(ddfpxx.getXHFYH()+ddfpxx.getXHFZH()); - invoice.setTotalAmount(ddfpxx.getHJJE()); - invoice.setTotalTax(ddfpxx.getHJSE()); - invoice.setAmountTax(ddfpxx.getJSHJ()); - invoice.setCheckCode(ddfpxx.getJYM()); - String state = "0"; - if(StringUtils.isNotBlank(ddfpxx.getZFBZ())){ - state = "1"; - } - if(StringUtils.isNotBlank(ddfpxx.getCHBZ())){ - state = "2"; - } - invoice.setState(state);//发票状态(0-正常1-作废2-红冲3-失控4-异常) - invoice.setRemarks(ddfpxx.getBZ()); - for (DdmxxxV5 ddmxxxV5 : ddmxxx) { - SNInvoiceDetail snInvoiceDetail = new SNInvoiceDetail(); - snInvoiceDetail.setRowNo(ddmxxxV5.getXH()); - snInvoiceDetail.setCommodityCode(ddmxxxV5.getSPBM()); - snInvoiceDetail.setCommodityName(ddmxxxV5.getXMMC()); - snInvoiceDetail.setSpecificationModel(ddmxxxV5.getGGXH()); - snInvoiceDetail.setUnit(ddmxxxV5.getDW()); - snInvoiceDetail.setQuantity(ddmxxxV5.getSPSL()); - snInvoiceDetail.setUnitPrice(ddmxxxV5.getDJ()); - snInvoiceDetail.setAmount(ddmxxxV5.getJE()); - snInvoiceDetail.setTax(ddmxxxV5.getSE()); - snInvoiceDetail.setTaxRate(ddmxxxV5.getSL()); - invoiceLineList.add(snInvoiceDetail); + private void sendImageSys(String content){ + + OutputInvoiceRequest outputInvoiceRequest = buildInvoiceRequest(content); + if(outputInvoiceRequest.getInvoiceList() != null && outputInvoiceRequest.getInvoiceList().size() > 0){ + String fplxdm = outputInvoiceRequest.getInvoiceList().get(0).getInvoiceType(); + boolean b = OrderInfoEnum.ORDER_INVOICE_TYPE_001.getKey().equals(fplxdm) + || OrderInfoEnum.ORDER_INVOICE_TYPE_002.getKey().equals(fplxdm) + || OrderInfoEnum.ORDER_INVOICE_TYPE_026.getKey().equals(fplxdm) + || OrderInfoEnum.ORDER_INVOICE_TYPE_028.getKey().equals(fplxdm); + if(!b){ + log.info("发票号码:{}为非电票不推送影像查验",outputInvoiceRequest.getInvoiceList().get(0).getInvoiceNumber()); + return; + } } - invoice.setInvoiceLineList(invoiceLineList); - return invoice; - } - private void sendImageSys(String content,String imageId,String compCode){ - JSONObject request = new JSONObject(); - List sapInvoiceInfos = new ArrayList<>(); - SNSAPObject object = new SNSAPObject(); - - SNInvoice invoice = buildSNInvoice(content); - object.setSYSID("FPXT"); - object.setIFYWID("FI845"); - object.setBSKEY(UUID.randomUUID().toString().replace("-", "")); - object.setSAPKEY(""); - object.setZORG("公司代码"); - object.setZFILED1(""); - object.setZFILED2(""); - object.setZFILED3(""); - object.setZFILED4(""); - object.setZFILED5(invoiceConfig.getEnvironment()); - SAPInvoiceInfo info = convertToSapOnject(invoice, imageId, compCode); - sapInvoiceInfos.add(info); - object.setZDATA(JSONObject.toJSONString(sapInvoiceInfos)); - request.put("IS_INPUT", object); try { - HttpUtils.pushCheckResultToSAP(request.toJSONString(),invoiceConfig.getSnYxUrl(),invoiceConfig.getSapUserName(),invoiceConfig.getSapPassword()); + String md5Encode = MD5.getMd5Encode(invoiceConfig.getSapSalt() + outputInvoiceRequest.getBillNum()); + Map headerMap = Maps.newHashMap(); + headerMap.put("Authorization",md5Encode); + log.info("调用影像查验接口,调用地址:{},请求头:{},请求参数:{}",invoiceConfig.getSnYxUrl(),JSONObject.toJSONString(headerMap),JSONObject.toJSONString(outputInvoiceRequest)); + String body = HttpRequest.post(invoiceConfig.getSnYxUrl()).addHeaders(headerMap).body(JSONObject.toJSONString(outputInvoiceRequest)).timeout(300000).execute().body(); + log.info("调用影像查验接口返回参数:{}",body); + JSONObject jsonObject = JSONObject.parseObject(body); + String status = jsonObject.getString("status");//200 成功、 500 失败 + String message = jsonObject.getString("message"); + String data = jsonObject.getString("data"); + //暂时不保存状态 } catch (Exception e) { e.printStackTrace(); } } - private String convertToSapType(String invoiceType) { + + private OutputInvoiceRequest buildInvoiceRequest(String content){ + DdfpzxxV5 ddfpzxxV5 = JsonUtils.getInstance().parseObject(content.substring(1,content.length()-1), DdfpzxxV5.class); + DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX(); + + String fplxdm = ddfpxx.getFPLXDM(); + + List invoiceList = new ArrayList<>(); + List invalidList = new ArrayList<>(); + OutputInvoiceRequest invoiceRequest = new OutputInvoiceRequest(); + + invoiceRequest.setBillNum(ddfpxx.getBillNum()); + invoiceRequest.setCompanyCode(ddfpxx.getCompanyCode()); + + if("1".equals(ddfpxx.getZFBZ())){ + InvoiceInfo invalidInfo = new InvoiceInfo(); + invalidInfo.setInvoiceType(convertToSapType(ddfpxx.getFPLXDM())); + invalidInfo.setInvoiceCode(ddfpxx.getFPDM()); + invalidInfo.setInvoiceNumber(ddfpxx.getFPHM()); + invalidList.add(invalidInfo); + invoiceList.clear(); + invoiceRequest.setDeleteList(invalidList); + }else { + InvoiceInfo invoiceInfo = new InvoiceInfo(); + invoiceInfo.setInvoiceType(convertToSapType(ddfpxx.getFPLXDM())); + invoiceInfo.setInvoiceCode(ddfpxx.getFPDM()); + invoiceInfo.setInvoiceNumber(ddfpxx.getFPHM()); + invoiceInfo.setFileName(ddfpxx.getFileName()); + invoiceInfo.setPdfOrImg(ddfpxx.getZJLLX()); + invoiceInfo.setFileByte(ddfpxx.getPDFZJL()); + invoiceInfo.setBillingDate(ddfpxx.getKPRQ()); + invoiceInfo.setPurchaserName(ddfpxx.getGMFMC()); + invoiceInfo.setPurchaserTaxNo(ddfpxx.getGMFSBH()); + invoiceInfo.setPurchaserAddressPhone(String.format("%s%s",StringUtils.isNotBlank(ddfpxx.getGMFDZ())?ddfpxx.getGMFDZ():"",StringUtils.isNotBlank(ddfpxx.getGMFDH())?ddfpxx.getGMFDH():"")); + invoiceInfo.setPurchaserBank(String.format("%s%s",StringUtils.isNotBlank(ddfpxx.getGMFYH())?ddfpxx.getGMFYH():"",StringUtils.isNotBlank(ddfpxx.getGMFZH())?ddfpxx.getGMFZH():"")); + invoiceInfo.setSalesName(ddfpxx.getXHFMC()); + invoiceInfo.setSalesTaxNo(ddfpxx.getXHFSBH()); + invoiceInfo.setSalesAddressPhone(ddfpxx.getXHFDZ()+ddfpxx.getXHFDH()); + invoiceInfo.setSalesBank(ddfpxx.getXHFYH()+ddfpxx.getXHFZH()); + invoiceInfo.setTotalAmount(ddfpxx.getHJJE()); + invoiceInfo.setTotalTax(ddfpxx.getHJSE()); + invoiceInfo.setAmountTax(ddfpxx.getJSHJ()); + invoiceInfo.setCheckCode(StringUtils.isNotBlank(ddfpxx.getJYM())?ddfpxx.getJYM():""); +// String state = "1".equals(ddfpxx.getZFBZ()) ? "1" : "1".equals(ddfpxx.getCHBZ()) ? "2" : "0"; + invoiceInfo.setState("0"); + invoiceInfo.setRemarks(StringUtils.isNotBlank(ddfpxx.getBZ())?ddfpxx.getBZ():""); + //invoiceInfo.setSource(ddfpxx.getDDLX()); + invoiceInfo.setMachineCode(ddfpxx.getJQBH()); + invoiceList.add(invoiceInfo); + invoiceRequest.setInvoiceList(invoiceList); + if(StringUtils.isNotBlank(ddfpxx.getYFPDM())&&StringUtils.isNotBlank(ddfpxx.getFPHM())){ + InvoiceInfo invalidInfo = new InvoiceInfo(); + invalidInfo.setInvoiceType(convertToSapType(ddfpxx.getYFPLX())); + invalidInfo.setInvoiceCode(ddfpxx.getYFPDM()); + invalidInfo.setInvoiceNumber(ddfpxx.getYFPHM()); + invalidList.add(invalidInfo); + invoiceRequest.setDeleteList(invalidList); + } + } + + return invoiceRequest; + } + private static String convertToSapType(String invoiceType) { switch (invoiceType) { - case "0":// 增值税专用发票 - invoiceType = "01"; + case "004":// 增值税专用发票 + invoiceType = "100"; + break; + case "007": + invoiceType = "101"; break; - case "2": - invoiceType = "04"; + case "026": + invoiceType = "102"; break; - case "51": - invoiceType = "10"; + case "028": + invoiceType = "121"; break; - case "52": - invoiceType = "08"; + case "001": + invoiceType = "130"; break; - case "01": - invoiceType = "31"; + case "002": + invoiceType = "131"; break; - case "02": - invoiceType = "32"; + case "006": + invoiceType = "105"; + break; + case "005": + invoiceType = "104"; break; default: invoiceType = ""; @@ -680,6 +708,8 @@ public class PushInvoiceServiceImpl implements PushInvoiceService { return invoiceType; } + + private SAPInvoiceInfo convertToSapOnject(SNInvoice snInvoice, String imageId, String compCode) { //转换时间格式 diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/BuyerController.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/BuyerController.java index 0b0c5b30..31c0e384 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/BuyerController.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/BuyerController.java @@ -129,6 +129,9 @@ public class BuyerController { // 购货方企业类型 默认值01 企业 buyerEntity.setGhfQylx(OrderInfoEnum.GHF_QYLX_01.getKey()); + if(StringUtils.isBlank(buyerEntity.getEntId())||StringUtils.isBlank(buyerEntity.getBuyerCode())){ + return R.error("请求参数有误"); + } // 购方名称 带中文括号的转换成英文括号 buyerEntity.setPurchaseName(StringUtil.replaceStr(buyerEntity.getPurchaseName(), true)); @@ -145,10 +148,21 @@ public class BuyerController { buyerEntity.setModifyUserId(userId.toString()); buyerEntity.setCreateUserId(userId.toString()); } - buyerEntity.setSyncOrder("0"); - if(buyerEntity.getSynchronizeOrders()){ - buyerEntity.setSyncOrder("1"); + buyerEntity.setSynchronizeOrders(false); + List list = new ArrayList<>(); + if(StringUtils.isNotBlank(buyerEntity.getAddress())||StringUtils.isNotBlank(buyerEntity.getPhone())||StringUtils.isNotBlank(buyerEntity.getBankNumber())||StringUtils.isNotBlank(buyerEntity.getBankOfDeposit())){ + BuyerEntityDetail buyerEntityDetail = new BuyerEntityDetail(); + buyerEntityDetail.setDefaultMark("0"); + buyerEntityDetail.setAddress(StringUtils.isNotBlank(buyerEntity.getAddress())?buyerEntity.getAddress():""); + buyerEntityDetail.setPhone(StringUtils.isNotBlank(buyerEntity.getPhone())?buyerEntity.getPhone():""); + buyerEntityDetail.setBankName(StringUtils.isNotBlank(buyerEntity.getBankOfDeposit())?buyerEntity.getBankOfDeposit():""); + buyerEntityDetail.setBankAccount(StringUtils.isNotBlank(buyerEntity.getBankNumber())?buyerEntity.getBankNumber():""); + buyerEntityDetail.setCreateTime(new Date()); + buyerEntityDetail.setUpdateTime(new Date()); + list.add(buyerEntityDetail); + buyerEntity.setBuyerEntityDetail(list); } + return buyerService.saveOrUpdateBuyerInfo(buyerEntity); } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v5/order/DdfpxxV5.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v5/order/DdfpxxV5.java index 2d0d25e5..4e97f4f0 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v5/order/DdfpxxV5.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v5/order/DdfpxxV5.java @@ -326,6 +326,18 @@ public class DdfpxxV5 { * 字节流类型针对pdfzjl进行处理,OFD和PDF */ private String ZJLLX; + /** + * 板式文件名 + */ + private String fileName; + /** + * 报账单号 + */ + private String billNum; + /* + * 公司代码 + */ + private String companyCode; /** * ofd转pdf流文件 diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV5.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV5.java index 8b3bd4af..a3b79b96 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV5.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/InterfaceServiceImplV5.java @@ -584,7 +584,7 @@ public class InterfaceServiceImplV5 implements InterfaceServiceV5 { if (ObjectUtil.isNotEmpty(fileDownLoadList)) { ddfpxx.setPDFZJL(fileDownLoadList.get(0).getFileContent()); ddfpxx.setZJLLX(CommonUtils.getZjlLx(fileDownLoadList.get(0).getFileSuffix())); - + ddfpxx.setFileName(fileDownLoadList.get(0).getFileName()); //新增pop推送pdf逻辑 boolean pushPdf = false; String simsBackQd = simsBackService.getSimsBackQd(orderProcessInfo.getXhfNsrsbh(), orderProcessInfo.getEntId()); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java index a67d2af9..ad15013d 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java @@ -222,30 +222,43 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { buyerAddress = buyerAddress.concat(StringUtils.isEmpty(tempMdmGmfxxtbReqBO.getDESC24()) ? "" : tempMdmGmfxxtbReqBO.getDESC24()); buyerEntity.setAddress(buyerAddress); List valuelistBOS = tempMdmGmfxxtbReqBO.getMULTICODE().getVALUELIST(); - MdmGmfxxtbMulticodeValuelistBO firstValueList = valuelistBOS.get(0); - if (firstValueList != null) { - buyerEntity.setBankOfDeposit(firstValueList.getDESC3()); - buyerEntity.setBankNumber(firstValueList.getDESC4()); - } - - List buyerEntityDetail = new ArrayList<>(); - String finalBuyerAddress = buyerAddress; - int i = 0; - for (MdmGmfxxtbMulticodeValuelistBO valuelistBO : valuelistBOS) { - BuyerEntityDetail buyerEntityDetail1 = new BuyerEntityDetail(); - buyerEntityDetail1.setDefaultMark("1"); - if(i==0){ - buyerEntityDetail1.setDefaultMark("0"); + List buyerEntityDetails = new ArrayList<>(); + if(valuelistBOS != null && valuelistBOS.size() > 0){ + MdmGmfxxtbMulticodeValuelistBO firstValueList = valuelistBOS.get(0); + if (firstValueList != null) { + buyerEntity.setBankOfDeposit(firstValueList.getDESC3()); + buyerEntity.setBankNumber(firstValueList.getDESC4()); + } + String finalBuyerAddress = buyerAddress; + int i = 0; + for (MdmGmfxxtbMulticodeValuelistBO valuelistBO : valuelistBOS) { + BuyerEntityDetail buyerEntityDetail = new BuyerEntityDetail(); + buyerEntityDetail.setDefaultMark("1"); + if(i==0){ + buyerEntityDetail.setDefaultMark("0"); + } + buyerEntityDetail.setBankAccount(valuelistBO.getDESC4()); + buyerEntityDetail.setBankName(valuelistBO.getDESC3()); + buyerEntityDetail.setPhone(tempMdmGmfxxtbReqBO.getDESC27()); + buyerEntityDetail.setAddress(finalBuyerAddress); + buyerEntityDetail.setBuyerManageId(buyerEntity.getId()); + buyerEntityDetails.add(buyerEntityDetail); + i++; } - buyerEntityDetail1.setBankAccount(valuelistBO.getDESC4()); - buyerEntityDetail1.setBankName(valuelistBO.getDESC3()); - buyerEntityDetail1.setPhone(tempMdmGmfxxtbReqBO.getDESC27()); - buyerEntityDetail1.setAddress(finalBuyerAddress); - buyerEntityDetail1.setBuyerManageId(buyerEntity.getId()); - buyerEntityDetail.add(buyerEntityDetail1); - i++; + }else if(StringUtils.isNotBlank(tempMdmGmfxxtbReqBO.getDESC27())||StringUtils.isNotBlank(buyerAddress)){ + BuyerEntityDetail buyerEntityDetail = new BuyerEntityDetail(); + buyerEntityDetail.setDefaultMark("0"); + buyerEntityDetail.setBuyerManageId(buyerEntity.getId()); + buyerEntityDetail.setAddress(StringUtils.isNotBlank(buyerEntity.getAddress())?buyerEntity.getAddress():""); + buyerEntityDetail.setPhone(StringUtils.isNotBlank(buyerEntity.getPhone())?buyerEntity.getPhone():""); + buyerEntityDetail.setBankName(""); + buyerEntityDetail.setBankAccount(""); + buyerEntityDetail.setCreateTime(new Date()); + buyerEntityDetail.setUpdateTime(new Date()); + buyerEntityDetails.add(buyerEntityDetail); + } - buyerEntity.setBuyerEntityDetail(buyerEntityDetail); + buyerEntity.setBuyerEntityDetail(buyerEntityDetails); } } @@ -275,7 +288,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { // 先查找物料分类编码和税收分类编码对应的字段 // 1.先去所有子公司库中匹配税编,以第一条为准;如果未匹配到,再去根据物料编码匹配 CommodityCodeEntity codeEntityForMatch = new CommodityCodeEntity(); - List commodityCodeEntities = commodityMapper.queryByCommodityXmmcCompany(reqBO.getDESC1()); + List commodityCodeEntities = commodityMapper.queryByCommoditySpbmCompany(reqBO.getCODE()); if(commodityCodeEntities != null && commodityCodeEntities.size() > 0){ commodityCodeEntity.setZxbm(reqBO.getCODE()); // 编码 commodityCodeEntity.setXmdw(reqBO.getDESC5()); @@ -285,6 +298,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { commodityCodeEntity.setWlflbm(reqBO.getCATEGORYCODE()); commodityCodeEntity.setWlflmc(reqBO.getCATEGORYNAME()); commodityCodeEntity.setDataSource("4"); + matchCommodityCode(commodityCodeEntity); List ids = commodityCodeEntities.stream().map(t -> t.getId()).collect(Collectors.toList()); commodityMapper.batchUpdateCommodity(commodityCodeEntity,ids); }else{ @@ -363,7 +377,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { String xmmc = commodityCodeEntity.getXmmc(); CommodityCodeEntity codeEntityForMatch = groupCommodityCodeMapper.queryCommodityCodeByXmmcInChildCompany(xmmc); if (codeEntityForMatch != null) { - // 查找原codeEntity + // 查找原codeEntityR BeanUtils.copyProperties(codeEntityForMatch, commodityCodeEntity); commodityCodeEntity.setXhfNsrsbh("-1"); commodityCodeEntity.setHsbz("1"); @@ -373,19 +387,26 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { SdenergyTaxCodeMatch taxCodeMatch = sdenergyTaxCodeMatchDao.queryByWlflbm(commodityCodeEntity.getWlflbm()); if (taxCodeMatch != null && StringUtils.isNotBlank(taxCodeMatch.getSsflbm())) { // 如果匹配到了物料分类编码,去查一下税收分类编码找到对应的简称等信息 - TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(taxCodeMatch.getSsflbm()); - commodityCodeEntity.setSpsm(taxClassCodeEntity.getSm()); - commodityCodeEntity.setSpjm(taxClassCodeEntity.getSpjc()); - commodityCodeEntity.setSpjc(taxClassCodeEntity.getSpjc()); - commodityCodeEntity.setYhzcbs(taxClassCodeEntity.getZzstsgl()); - commodityCodeEntity.setHsbz("1"); + Map paramMap = new HashMap<>(); + paramMap.put("parameter", xmmc); + List taxClassCodeEntitys = taxClassCodeMapper.selectTaxClassCode(paramMap); + //TaxClassCodeEntity taxClassCodeEntity = taxClassCodeMapper.selectTaxClassCodeBySpbm(taxCodeMatch.getSsflbm()); + if(!CollectionUtils.isEmpty(taxClassCodeEntitys)){ + TaxClassCodeEntity taxClassCodeEntity = taxClassCodeEntitys.get(0); + commodityCodeEntity.setSpsm(taxClassCodeEntity.getSm()); + commodityCodeEntity.setSpjm(taxClassCodeEntity.getSpjc()); + commodityCodeEntity.setSpjc(taxClassCodeEntity.getSpjc()); + commodityCodeEntity.setYhzcbs(taxClassCodeEntity.getZzstsgl()); + commodityCodeEntity.setHsbz("1"); // commodityCodeEntity.setSl(taxClassCodeEntity.getZzssl()); - commodityCodeEntity.setYhzcbs("0"); - if (StringUtils.isNotBlank(taxClassCodeEntity.getYhzcmc())) { - commodityCodeEntity.setYhzcbs("1"); - commodityCodeEntity.setZzstsgl(taxClassCodeEntity.getYhzcmc()); + commodityCodeEntity.setYhzcbs("0"); + if (StringUtils.isNotBlank(taxClassCodeEntity.getYhzcmc())) { + commodityCodeEntity.setYhzcbs("1"); + commodityCodeEntity.setZzstsgl(taxClassCodeEntity.getYhzcmc()); + } + commodityCodeEntity.setSpbm(taxClassCodeEntity.getSpbm()); } - commodityCodeEntity.setSpbm(taxClassCodeEntity.getSpbm()); + commodityCodeEntity.setSsflMc(taxCodeMatch.getSsflmc()); } } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionV5Utils.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionV5Utils.java index 28df16c1..3eeb06dc 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionV5Utils.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionV5Utils.java @@ -39,6 +39,8 @@ public class BeanTransitionV5Utils { ddfpxxV5.setKPFS(orderProcessInfo.getKpfs()); ddfpxxV5.setDDLY(orderProcessInfo.getDdly()); ddfpxxV5.setDDLX(orderProcessInfo.getDdlx()); + ddfpxxV5.setBillNum(orderProcessInfo.getBzdh()); + ddfpxxV5.setCompanyCode(orderProcessInfo.getGsdm()); return ddfpxxV5; } @@ -104,6 +106,8 @@ public class BeanTransitionV5Utils { ddfpxxV5.setFWM(StringUtils.isEmpty(orderInvoiceInfo.getFwm()) ? "" : orderInvoiceInfo.getFwm()); ddfpxxV5.setPDFZJL(""); ddfpxxV5.setHZXXBBH(StringUtils.isEmpty(orderInvoiceInfo.getHzxxbbh()) ? "" : orderInvoiceInfo.getHzxxbbh()); + ddfpxxV5.setZFBZ(StringUtils.isEmpty(orderInvoiceInfo.getZfBz()) ? "" : orderInvoiceInfo.getZfBz()); + ddfpxxV5.setCHBZ(StringUtils.isEmpty(orderInvoiceInfo.getChBz()) ? "" : orderInvoiceInfo.getChBz()); } else { ddfpxxV5.setJQBH(""); ddfpxxV5.setFPDM(""); diff --git a/order-management-invoice/src/main/java/com/dxhy/order/invoice/config/InvoiceConfig.java b/order-management-invoice/src/main/java/com/dxhy/order/invoice/config/InvoiceConfig.java index 6559c9ba..b95c82e5 100644 --- a/order-management-invoice/src/main/java/com/dxhy/order/invoice/config/InvoiceConfig.java +++ b/order-management-invoice/src/main/java/com/dxhy/order/invoice/config/InvoiceConfig.java @@ -208,17 +208,21 @@ public class InvoiceConfig { @Value("${order.sys.url}") public String sysUrl; - @Value("${order.sap.userName}") - private String sapUserName; - - @Value("${order.sap.password}") - private String sapPassword; +// @Value("${order.sap.userName}") +// private String sapUserName; +// +// @Value("${order.sap.password}") +// private String sapPassword; @Value("${order.sap.snYxUrl}") private String snYxUrl; - @Value("${order.sap.environment}") - private String environment; +// @Value("${order.sap.environment}") +// private String environment; + + @Value("${order.sap.salt}") + private String sapSalt; + /** * mqtt相关配置