From 19f44f6fd76a1ca90fa3870ec35041af62278692 Mon Sep 17 00:00:00 2001 From: liufeilong Date: Wed, 5 Apr 2023 10:02:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BC=80=E7=A5=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=95=86=E5=93=81=E4=BF=A1=E6=81=AF=E8=A1=A5=E5=85=85=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D=EF=BC=9B=E5=A1=AB=E5=BC=80=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=9B=B4=E6=8E=A5=E5=BC=80=E7=A5=A8=E9=A2=84=E5=88=B6?= =?UTF-8?q?=E5=8F=91=E7=A5=A8=E7=8A=B6=E6=80=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReceiveOrderController.java | 1 + .../GenerateReadyOpenOrderServiceImpl.java | 6 ++++- .../openapi/api/InvoiceRestApiV6.java | 22 ++++++++++++++----- .../impl/CommonInterfaceServiceImpl.java | 20 ++++++++++++----- 4 files changed, 37 insertions(+), 12 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/ReceiveOrderController.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/ReceiveOrderController.java index 9a370deb..35cdb2d0 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/ReceiveOrderController.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/ReceiveOrderController.java @@ -179,6 +179,7 @@ public class ReceiveOrderController { for (CommonOrderInfo common : orderSplit) { //税控设备类型添加到订单主信息中 common.setTerminalCode(commonOrderInfos.get(0).getTerminalCode()); + common.setCzlx(OrderInfoEnum.INVOICE_BILLING_CZLX_0.getKey()); Map checkOrderInvoice = validateOrderInfoService.checkOrderInvoice(common); if (!OrderInfoContentEnum.SUCCESS.getKey().equals(checkOrderInvoice.get(OrderManagementConstant.ERRORCODE))) { return R.error().put(OrderManagementConstant.CODE, checkOrderInvoice.get(OrderManagementConstant.ERRORCODE)) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java index a284895f..d3b88075 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java @@ -711,7 +711,11 @@ public class GenerateReadyOpenOrderServiceImpl implements GenerateReadyOpenOrder orderProcessInfo.setXtly("FPPAGE"); orderProcessInfo.setGsdm(""); orderProcessInfo.setBhzt(ConfigureConstant.STRING_0); - orderProcessInfo.setYzfp(ConfigureConstant.STRING_0); + if(OrderInfoEnum.INVOICE_BILLING_CZLX_1.getKey().equals(commonOrderInfo.getCzlx())){ + orderProcessInfo.setYzfp(ConfigureConstant.STRING_0); + }else { + orderProcessInfo.setYzfp(ConfigureConstant.STRING_1); + } orderProcessInfo.setOriginDdh(commonOrderInfo.getOrderInfo().getDdh()); orderProcessInfo.setOriginOrderId(orderInfo.getId()); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java index 64afdaa0..79fc2f35 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java @@ -16,10 +16,12 @@ import com.dxhy.order.baseservice.openapi.protocol.spxx.SpxxtbReqBO; import com.dxhy.order.baseservice.openapi.protocol.spxx.SpxxtbRspBO; import com.dxhy.order.constant.ConfigureConstant; import com.dxhy.order.constant.ConfigurerInfo; +import com.dxhy.order.constant.OrderInfoContentEnum; import com.dxhy.order.consumer.constant.InterfaceNameEnum; import com.dxhy.order.consumer.constant.RespStatusEnum; import com.dxhy.order.consumer.openapi.protocol.CheckResult; import com.dxhy.order.consumer.openapi.protocol.CommonRequestParam; +import com.dxhy.order.consumer.openapi.protocol.po.EsOutput; import com.dxhy.order.consumer.openapi.protocol.po.PoCommonRequestParam; import com.dxhy.order.consumer.openapi.protocol.po.PoCommonResponseParam; import com.dxhy.order.consumer.openapi.protocol.v4.fpyl.FpylcxReqBO; @@ -217,11 +219,21 @@ public class InvoiceRestApiV6 { PoCommonRequestParam poCommonRequestParam = JsonUtils.getInstance().parseObject(reqStr, PoCommonRequestParam.class); Map zData = JsonUtils.getInstance().parseObject(poCommonRequestParam.getIS_INPUT().getZDATA(), Map.class); DeptEntity deptEntity = userInfoService.querySysDeptEntityByEnterpriseNumbers(zData.get("BUKRS").toString()); - DdpcxxReqBO ddpcxxReq = BeanTransitionUtils.transitionPoKpReq(poCommonRequestParam,deptEntity); - DdpcxxRspV5 ddpcxxRspV5 = interfaceServiceV6.generateQdInvoiceV6(ddpcxxReq, secretId, null); - PoCommonResponseParam poCommonResponseParam = BeanTransitionUtils.transitionPoKpResp(ddpcxxRspV5); - returnJsonString = JsonUtils.getInstance().toJsonString(poCommonResponseParam); - + if(ObjectUtil.isNull(deptEntity)){ + PoCommonResponseParam poCommonResponseParam = new PoCommonResponseParam(); + EsOutput esOutput = new EsOutput(); + esOutput.setBSKEY(poCommonRequestParam.getIS_INPUT().getBSKEY()); + esOutput.setSAPKEY(poCommonRequestParam.getIS_INPUT().getSAPKEY()); + esOutput.setZTYPE(OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_E.getKey()); + esOutput.setZMESSAGE("根据公司代码未查询到对应销方"); + poCommonResponseParam.setES_OUTPUT(esOutput); + return JsonUtils.getInstance().toJsonString(poCommonResponseParam); + }else { + DdpcxxReqBO ddpcxxReq = BeanTransitionUtils.transitionPoKpReq(poCommonRequestParam,deptEntity); + DdpcxxRspV5 ddpcxxRspV5 = interfaceServiceV6.generateQdInvoiceV6(ddpcxxReq, secretId, null); + PoCommonResponseParam poCommonResponseParam = BeanTransitionUtils.transitionPoKpResp(ddpcxxRspV5); + returnJsonString = JsonUtils.getInstance().toJsonString(poCommonResponseParam); + } } else if (ConfigurerInfo.GETORDERINFOANDINVOICEINFO.equals(interfaceName)){ //订单和发票数据查询接口 DdfpcxReqV5 ddfpcxReq = JsonUtils.getInstance().parseObject(reqStr, DdfpcxReqV5.class); diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java index 443c8d28..5b1ab823 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.alibaba.nacos.common.utils.CollectionUtils; import com.dxhy.order.baseservice.config.BaseServiceConfig; @@ -531,8 +532,8 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { * 2.1 商品编码不为空,使用商品编码补全 * 2.2 商品编码为空,项目名称不为空,使用商品名称补全 */ - item.setZnfm("1"); - item.setTswl("0"); + item.setZnfm(ConfigureConstant.STRING_1); + item.setTswl(ConfigureConstant.STRING_0); if (StringUtils.isNotBlank(item.getSpId())) { R r = commodityService.queryCommodityById(item.getSpId(), shList); if (ConfigureConstant.STRING_0000.equals(r.get(OrderManagementConstant.CODE))) { @@ -577,9 +578,10 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { item.setSpbm(taxClassCodeEntity.getSpbm()); // item.setYhzcbs(taxClassCodeEntity.getYhzcmc()); // TODO 优惠政策 item.setZzstsgl(taxClassCodeEntity.getZzstsgl()); - item.setZnfm("0"); // 配置为智能赋码 } } + }else { + item.setZnfm(ConfigureConstant.STRING_0); // 公司库匹配到即非智能赋码;其他情况均为智能赋码 } // 如果没有找到,记录异常 @@ -592,9 +594,15 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { } else { // 如果找到记录,进行赋值匹配 // 判断是否推送了物料的名称、单位、规格型号信息 - if (StringUtils.isEmpty(item.getXmmc())) { - item.setXmmc(commodityCodeEntity.getXmmc()); + //如果项目名称为空,使用底层返回数据进行补全,如果不为空,并且需要补全,则进行补全 + String spmc = item.getXmmc(); + StringBuilder stringBuilder = new StringBuilder(); + if (StringUtils.isBlank(spmc)) { + spmc = stringBuilder.append("*").append(commodityCodeEntity.getSpjc()).append("*").append(commodityCodeEntity.getXmmc()).toString(); + } else if (StringUtil.checkStr(spmc, commodityCodeEntity.getSpjc())) { + spmc = stringBuilder.append("*").append(commodityCodeEntity.getSpjc()).append("*").append(spmc).toString(); } + item.setXmmc(spmc); if (StringUtils.isEmpty(item.getXmdw())) { item.setXmdw(commodityCodeEntity.getXmdw()); @@ -604,7 +612,7 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService { item.setGgxh(commodityCodeEntity.getGgxh()); } - item.setTswl(commodityCodeEntity.getTswl()); + item.setTswl(StrUtil.isBlank(commodityCodeEntity.getTswl())?"0":commodityCodeEntity.getTswl()); }