fix: 开票补充客户、商品明细问题修复

release
liufeilong 2 years ago
parent 1f6c89e8c4
commit 0cead6af2e
  1. 2
      order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoContentEnum.java
  2. 3
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/AllocateInvoiceInterfaceServiceImplV3.java
  3. 49
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java

@ -1697,6 +1697,8 @@ public enum OrderInfoContentEnum {
INVOICE_SPBM_QUERY_NULL("9563", "查询税收分类编码信息错误!请确认编码可用状态是否可用"),
INVOICE_SPBM_MATCH_NULL("9563", "未匹配到税收分类编码!请确认物料编码是否在发票平台维护"),
INVOICE_SPBM_SPMC_QUERY_NULL("9563", "查询税收分类编码商品名称不能为空!"),
INVOICE_FG_SLD_NULL("9563", "税盘离线,请检查税盘连接状态"),

@ -1147,6 +1147,7 @@ public class AllocateInvoiceInterfaceServiceImplV3 implements AllocateInvoiceInt
String zxbm = commonOrderInfo.getOrderInfo().getGhfId();
zxbm = StringUtils.right(zxbm, 6); // 见下dealOrderItem中 line:550左右注释
commonOrderInfo.getOrderInfo().setGhfId(zxbm);
//TODO 这儿最好是使用entid查购方
BuyerEntity buyerEntity = buyerService.queryBuyerInfoByxhfNsrsbhAndBuyerCode(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), zxbm);
if (buyerEntity != null && StringUtils.isNotBlank(buyerEntity.getTaxpayerCode())) {
BeanTransitionUtils.transitionOrderBuyerInfo(commonOrderInfo, buyerEntity);
@ -1161,7 +1162,7 @@ public class AllocateInvoiceInterfaceServiceImplV3 implements AllocateInvoiceInt
//补全商品信息
commonInterfaceService.dealOrderItem(commonOrderInfo.getOrderItemInfo(), nsrsbh, commonOrderInfo.getOrderInfo().getQdBz(),
commonOrderInfo.getOrderInfo().getFpzlDm(), terminalCode, ConfigureConstant.STRING_1, commonOrderInfo.getEntId());
commonOrderInfo.getOrderInfo().getFpzlDm(), terminalCode, ConfigureConstant.STRING_1, commonOrderInfo.getOrderInfo().getEntId());
}
public PageKpzzglRsp queryKpzzgl(PageKpzzglReq pageKpzzglReq) {

@ -559,17 +559,16 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService {
// 自行编码为mdm的物料编码,通过这个去匹配
// 4.2.1.11
// 先从公司物料库匹配
CommodityCodeEntity commodityCodeEntity = null;
if (StringUtils.isNotEmpty(entId)) {
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), xhfNsrsbh, entId);
} else {
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), xhfNsrsbh,entId);
}
// if (StringUtils.isNotEmpty(entId)) {
CommodityCodeEntity commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), null, entId);
// } else {
// commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), null,entId);
// }
// 如果公司物料库匹配失败,从集团物料库匹配
if (commodityCodeEntity == null) {
// 如果匹配不到,则去集团物料库匹配
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), "-1",entId);
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(item.getZxbm(), "-1",null);
if (commodityCodeEntity == null) {
// ③ 若通过集团物料库仍未匹配到税编信息则,使用“物料名称”进行智能赋码开票(用SAAS接口赋码)
// 智能赋码接口
@ -577,11 +576,39 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService {
paramMap.put("parameter", item.getXmmc());
List<TaxClassCodeEntity> taxClassList = taxClassCodeMapper.selectTaxClassCode(paramMap);
if (CollectionUtils.isNotEmpty(taxClassList)) {
// TODO 配置税收分类编码字段
TaxClassCodeEntity taxClassCodeEntity = taxClassList.get(0);
item.setSpbm(taxClassCodeEntity.getSpbm());
// item.setYhzcbs(taxClassCodeEntity.getYhzcmc()); // TODO 优惠政策
item.setZzstsgl(taxClassCodeEntity.getZzstsgl());
//商品编码
if (StringUtils.isBlank(item.getSpbm()) && StringUtils.isNotBlank(taxClassCodeEntity.getSpbm())) {
item.setSpbm(taxClassCodeEntity.getSpbm());
}
// //优惠政策标识
// if (StringUtils.isBlank(item.getYhzcbs()) && StringUtils.isNotBlank(taxClassCodeEntity.getZzstsgl())) {
// item.setYhzcbs(ConfigureConstant.STRING_1);
// }
// //零税率标识
// if (StringUtils.isBlank(item.getLslbs()) && StringUtils.isNotBlank(commodity.getLslbs())) {
// item.setLslbs(commodity.getLslbs());
// }
// //增值税特殊管理
// if (StringUtils.isBlank(item.getZzstsgl()) && StringUtils.isNotBlank(commodity.getZzstsgl())) {
// item.setZzstsgl(commodity.getZzstsgl());
// }
//如果项目名称为空,使用底层返回数据进行补全,如果不为空,并且需要补全,则进行补全
String spmc = item.getXmmc();
StringBuilder stringBuilder = new StringBuilder();
if (StringUtils.isBlank(spmc)) {
spmc = stringBuilder.append("*").append(taxClassCodeEntity.getSpjc()).append("*").append(taxClassCodeEntity.getSpmc()).toString();
} else if (StringUtil.checkStr(spmc, taxClassCodeEntity.getSpjc())) {
spmc = stringBuilder.append("*").append(taxClassCodeEntity.getSpjc()).append("*").append(spmc).toString();
}
item.setXmmc(spmc);
}else {
errorStr.append(indexStr)
.append(ConfigureConstant.STRING_UNDERLINE)
.append(OrderInfoContentEnum.INVOICE_SPBM_MATCH_NULL.getMessage())
.append("\r\n");
}
}
}else {

Loading…
Cancel
Save