fix: 开票接口商品信息补充问题修复;填开页面直接开票预制发票状态修改

release
liufeilong 2 years ago
parent 811138e451
commit 19f44f6fd7
  1. 1
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/ReceiveOrderController.java
  2. 6
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/GenerateReadyOpenOrderServiceImpl.java
  3. 22
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java
  4. 20
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.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<String, String> checkOrderInvoice = validateOrderInfoService.checkOrderInvoice(common);
if (!OrderInfoContentEnum.SUCCESS.getKey().equals(checkOrderInvoice.get(OrderManagementConstant.ERRORCODE))) {
return R.error().put(OrderManagementConstant.CODE, checkOrderInvoice.get(OrderManagementConstant.ERRORCODE))

@ -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());

@ -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);

@ -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());
}

Loading…
Cancel
Save