feat:开票测试

release
gongquanlin 2 years ago
parent 607fdd33da
commit 877fd28460
  1. 72
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java

@ -539,7 +539,42 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService {
}
} else {
//根据商品编码判断如何进行补全数据
if (StringUtils.isBlank(item.getSpbm())) {
if (StringUtils.isNotBlank(item.getZxbm())) {
// 自行编码为mdm的物料编码,通过这个去匹配
// 4.2.1.11
// 先从公司物料库匹配
CommodityCodeEntity commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), xhfNsrsbh);
if (commodityCodeEntity == null) {
// 如果匹配不到,则去集团物料库匹配
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), "-1");
if (commodityCodeEntity == null) {
// ③ 若通过集团物料库仍未匹配到税编信息则,使用“物料名称”进行智能赋码开票(用SAAS接口赋码)
// 智能赋码接口
Map<String, Object> paramMap = new HashMap<>();
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());
item.setZnfm("1"); // 配置为智能赋码
}
}
}
// 如果没有找到,记录异常
if (commodityCodeEntity == null) {
log.error("{}根据商品名称查询到的商品为空,商品名称:{}", LOGGER_MSG, item.getXmmc());
errorStr.append(indexStr)
.append(ConfigureConstant.STRING_UNDERLINE)
.append(OrderInfoContentEnum.INVOICE_SPBM_QUERY_NULL.getMessage())
.append("\r\n");
}
} else if (StringUtils.isBlank(item.getSpbm())) {
//商品编码为空,调用接口根据商品名称进行匹配数据
if (StringUtils.isBlank(item.getXmmc())) {
log.error("{}商品名称为空", LOGGER_MSG);
@ -575,41 +610,6 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService {
CommodityCodeEntity commodityCodeEntity = queryProductList.get(0);
completeCommodityMessageByXmmc(item, commodityCodeEntity);
} else if (StringUtils.isNotBlank(item.getZxbm())) {
// 自行编码为mdm的物料编码,通过这个去匹配
// 4.2.1.11
// 先从公司物料库匹配
CommodityCodeEntity commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), xhfNsrsbh);
if (commodityCodeEntity == null) {
// 如果匹配不到,则去集团物料库匹配
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(item.getZxbm(), "-1");
if (commodityCodeEntity == null) {
// ③ 若通过集团物料库仍未匹配到税编信息则,使用“物料名称”进行智能赋码开票(用SAAS接口赋码)
// 智能赋码接口
Map<String, Object> paramMap = new HashMap<>();
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());
item.setZnfm("1"); // 配置为智能赋码
}
}
}
// 如果没有找到,记录异常
if (commodityCodeEntity == null) {
log.error("{}根据商品名称查询到的商品为空,商品名称:{}", LOGGER_MSG, item.getXmmc());
errorStr.append(indexStr)
.append(ConfigureConstant.STRING_UNDERLINE)
.append(OrderInfoContentEnum.INVOICE_SPBM_QUERY_NULL.getMessage())
.append("\r\n");
}
} else {
//商品编码不为空,需要调用底层商品编码获取简码接口获取数据
String spbm = item.getSpbm();

Loading…
Cancel
Save