feature:订单导入自行编码超16位、明细合并物料编码不允许为空、开票明细先去开票名称、再取物料名称

release
gaorl 2 years ago
parent 1c44f37505
commit 90254d15d7
  1. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderExcelReadServiceImpl.java
  2. 4
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
  3. 3
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderMergeServiceImpl.java
  4. 6
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/CommonInterfaceServiceImpl.java
  5. BIN
      order-management-consumer/src/main/resources/download/OrderExcel.xlsx

@ -911,7 +911,7 @@ public class OrderExcelReadServiceImpl implements OrderExcelReadService {
} }
// 自行编码 // 自行编码
if (!StringUtils.isBlank(orderExcel.getZxbm()) && GbkUtils.getGbkLength(orderExcel.getZxbm()) > ConfigureConstant.INT_16) { if (!StringUtils.isBlank(orderExcel.getZxbm()) && GbkUtils.getGbkLength(orderExcel.getZxbm()) > ConfigureConstant.INT_18) {
isValid = true; isValid = true;
resultList resultList
.add(buildReturnMap(orderExcel.getRowIndex(), NewExcelEnum.ORDERITEM_ZXBM.getCellName(), ExcelErrorMessageEnum.ORDERINFO_9701, false)); .add(buildReturnMap(orderExcel.getRowIndex(), NewExcelEnum.ORDERITEM_ZXBM.getCellName(), ExcelErrorMessageEnum.ORDERINFO_9701, false));

@ -2032,9 +2032,9 @@ public class OrderInfoServiceImpl implements OrderInfoService {
} }
List<OrderItemInfo> collect ; List<OrderItemInfo> collect ;
if(itemList != null){ if(itemList != null){
collect = orderItemInfos.stream().filter(t -> itemList.contains(t.getId()) && StringUtils.isNotBlank(t.getSpbm())).collect(Collectors.toList()); collect = orderItemInfos.stream().filter(t -> itemList.contains(t.getId()) && StringUtils.isNotBlank(t.getSpbm()) && StringUtils.isNotBlank(t.getZxbm())).collect(Collectors.toList());
}else{ }else{
collect = orderItemInfos.stream().filter(t -> StringUtils.isNotBlank(t.getSpbm())).collect(Collectors.toList()); collect = orderItemInfos.stream().filter(t -> StringUtils.isNotBlank(t.getSpbm()) && StringUtils.isNotBlank(t.getZxbm())).collect(Collectors.toList());
} }
//税编为空的不允许合并 //税编为空的不允许合并
if(orderItemInfos.size() != collect.size()){ if(orderItemInfos.size() != collect.size()){

@ -936,7 +936,7 @@ public class OrderMergeServiceImpl implements OrderMergeService {
//集合求差集,不参与合并的明细 //集合求差集,不参与合并的明细
List<OrderItemInfo> mergeOutItem = orderItemInfos.stream().filter(t -> !mergeInItem.contains(t)).collect(Collectors.toList()); List<OrderItemInfo> mergeOutItem = orderItemInfos.stream().filter(t -> !mergeInItem.contains(t)).collect(Collectors.toList());
String sksbCode = orderInfo.getSksbCode(); String sksbCode = orderInfo.getSksbCode();
boolean termType = OrderInfoEnum.TAX_EQUIPMENT_FGBW.equals(sksbCode) || OrderInfoEnum.TAX_EQUIPMENT_FGUKEY.equals(sksbCode); boolean termType = OrderInfoEnum.TAX_EQUIPMENT_FGBW.getKey().equals(sksbCode) || OrderInfoEnum.TAX_EQUIPMENT_FGUKEY.getKey().equals(sksbCode);
//获取合并规则 //获取合并规则
String mergeRuleType = queryMergeCommodityRuleType(orderInfo.getNsrsbh()); String mergeRuleType = queryMergeCommodityRuleType(orderInfo.getNsrsbh());
//根据配置去判断合并规则 //根据配置去判断合并规则
@ -945,6 +945,7 @@ public class OrderMergeServiceImpl implements OrderMergeService {
t.setXmdw(StringUtils.isBlank(t.getXmdw())?"":t.getXmdw()); t.setXmdw(StringUtils.isBlank(t.getXmdw())?"":t.getXmdw());
t.setGgxh(StringUtils.isBlank(t.getGgxh())?"":t.getGgxh()); t.setGgxh(StringUtils.isBlank(t.getGgxh())?"":t.getGgxh());
t.setZxbm(StringUtils.isBlank(t.getZxbm())?"":t.getZxbm()); t.setZxbm(StringUtils.isBlank(t.getZxbm())?"":t.getZxbm());
t.setXmdj(StringUtils.isBlank(t.getXmdj())?"":t.getXmdj());
return t; return t;
}).collect(Collectors.groupingBy(t->OrderMergeUtil.getOrderItemInfoKey(t, mergeRuleType))); }).collect(Collectors.groupingBy(t->OrderMergeUtil.getOrderItemInfoKey(t, mergeRuleType)));
List<OrderItemInfo> orderItemInfoList = new ArrayList<>(); List<OrderItemInfo> orderItemInfoList = new ArrayList<>();

@ -855,7 +855,11 @@ public class CommonInterfaceServiceImpl implements CommonInterfaceService {
String spmc = item.getXmmc(); String spmc = item.getXmmc();
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
if (StringUtils.isBlank(spmc)) { if (StringUtils.isBlank(spmc)) {
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getXmmc().trim()).toString(); if(StringUtils.isNotBlank(commodity.getXmmc())){
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getInvoiceName().trim()).toString();
}else{
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getXmmc().trim()).toString();
}
} else if (StringUtil.checkStr(spmc, commodity.getSpjc())) { } else if (StringUtil.checkStr(spmc, commodity.getSpjc())) {
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(spmc.trim()).toString(); spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(spmc.trim()).toString();
} }

Loading…
Cancel
Save