diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java
index 199b2490..ae66cb8f 100644
--- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java
+++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java
@@ -134,6 +134,7 @@ public class CommodityServiceImpl implements CommodityService {
}
if(StringUtils.isBlank(codeEntity.getYhzcbs())|| "0".equals(codeEntity.getYhzcbs())){
codeEntity.setZzstsgl("");
+ codeEntity.setLslbs("");
}
codeEntity.setXhfNsrsbh(null);//不更新税号
codeEntity.setModifyTime(new Date());
diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
index c00360d4..6dc936ff 100644
--- a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
+++ b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
@@ -297,7 +297,7 @@
tax_classification_name = #{commodityCode.ssflMc,jdbcType=VARCHAR},
-
+
preferential_policies_type = #{commodityCode.lslbs,jdbcType=VARCHAR},
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java
index c1914e24..e3d0e767 100644
--- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java
@@ -51,6 +51,7 @@ import com.dxhy.order.utils.JsonUtils;
import com.dxhy.order.utils.NsrsbhUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -59,7 +60,6 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
-import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -173,7 +173,6 @@ public class InvoiceServiceImpl implements InvoiceService {
// if(StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfNsrsbh()) || StrUtil.isBlank(commonOrderInfo.getOrderInfo().getGhfMc()) ){
// return R.error("结算单:"+commonOrderInfo.getOrderInfo().getDdh()+"购方信息为空,请补全!");
// }
- String cpy = "";
String kcp = baseServiceConfig.getKcp();
boolean kcpMark;
List cpyOrderItems = new ArrayList();
@@ -301,34 +300,35 @@ public class InvoiceServiceImpl implements InvoiceService {
orderSplit.stream().forEach(splitEn -> {
List orderItemInfo = splitEn.getOrderItemInfo();
orderItemInfo.stream().forEach(splitItem -> {
- List collect = commonOrderInfo.getOrderItemInfo().stream().filter(oi -> oi.getXmmc().equals(splitItem.getXmmc()) &&
- ((StrUtil.isBlank(oi.getGgxh()) && StrUtil.isBlank(splitItem.getGgxh())) || oi.getGgxh().equals(splitItem.getGgxh())) &&
- ((StrUtil.isBlank(oi.getXmdw()) && StrUtil.isBlank(splitItem.getXmdw())) || oi.getXmdw().equals(splitItem.getXmdw())) &&
- ((StrUtil.isBlank(oi.getSl()) && StrUtil.isBlank(splitItem.getSl())) || oi.getSl().equals(splitItem.getSl()))).collect(Collectors.toList());
- if (collect.size() == 1) {
- List ruleSplitEntityList = ruleSplitService.queryRuleSplit(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), pageInvoiceReq.getUserId());
- log.info("税号:{},用户ID:{},查询的拆分限额信息结果:{}", commonOrderInfo.getOrderInfo().getXhfNsrsbh(),
- pageInvoiceReq.getUserId(), JsonUtils.getInstance().toJsonString(ruleSplitEntityList));
- String djce = ConfigureConstant.STRING_0;
- if(ruleSplitEntityList.size() != 0){
- djce = StrUtil.isBlank(ruleSplitEntityList.get(0).getDjce())?ConfigureConstant.STRING_0:ruleSplitEntityList.get(0).getDjce();
- }
- if(ObjectUtil.isNotNull(collect.get(0).getXmdj()) && StrUtil.isNotBlank(collect.get(0).getXmdj()) &&
- ObjectUtil.isNotNull(splitItem.getXmdj()) && StrUtil.isNotBlank(splitItem.getXmdj())){
- BigDecimal abs = new BigDecimal(collect.get(0).getXmdj()).subtract(new BigDecimal(splitItem.getXmdj())).abs();
- if (abs.compareTo(new BigDecimal(djce)) > 0) {
- Map map = new HashMap();
- map.put("ddh", commonOrderInfo.getOrderInfo().getDdh());
- map.put("ghfMc", commonOrderInfo.getOrderInfo().getGhfMc());
- map.put("xhfMc", commonOrderInfo.getOrderInfo().getXhfMc());
- map.put("jshj", commonOrderInfo.getOrderInfo().getKphjje());
- djOverflowList.add(map);
- }
- }
- } else {
- log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size());
- throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细");
- }
+// List collect = commonOrderInfo.getOrderItemInfo().stream().filter(oi -> oi.getXmmc().equals(splitItem.getXmmc()) &&
+// ((StrUtil.isBlank(oi.getGgxh()) && StrUtil.isBlank(splitItem.getGgxh())) || oi.getGgxh().equals(splitItem.getGgxh())) &&
+// ((StrUtil.isBlank(oi.getXmdw()) && StrUtil.isBlank(splitItem.getXmdw())) || oi.getXmdw().equals(splitItem.getXmdw())) &&
+// ((StrUtil.isBlank(oi.getSl()) && StrUtil.isBlank(splitItem.getSl())) || oi.getSl().equals(splitItem.getSl()))).collect(Collectors.toList());
+// if (collect.size() == 1) {
+// List ruleSplitEntityList = ruleSplitService.queryRuleSplit(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), pageInvoiceReq.getUserId());
+// log.info("税号:{},用户ID:{},查询的拆分限额信息结果:{}", commonOrderInfo.getOrderInfo().getXhfNsrsbh(),
+// pageInvoiceReq.getUserId(), JsonUtils.getInstance().toJsonString(ruleSplitEntityList));
+// String djce = ConfigureConstant.STRING_0;
+// if(ruleSplitEntityList.size() != 0){
+// djce = StrUtil.isBlank(ruleSplitEntityList.get(0).getDjce())?ConfigureConstant.STRING_0:ruleSplitEntityList.get(0).getDjce();
+// }
+// if(ObjectUtil.isNotNull(collect.get(0).getXmdj()) && StrUtil.isNotBlank(collect.get(0).getXmdj()) &&
+// ObjectUtil.isNotNull(splitItem.getXmdj()) && StrUtil.isNotBlank(splitItem.getXmdj())){
+// BigDecimal abs = new BigDecimal(collect.get(0).getXmdj()).subtract(new BigDecimal(splitItem.getXmdj())).abs();
+// if (abs.compareTo(new BigDecimal(djce)) > 0) {
+// Map map = new HashMap();
+// map.put("ddh", commonOrderInfo.getOrderInfo().getDdh());
+// map.put("ghfMc", commonOrderInfo.getOrderInfo().getGhfMc());
+// map.put("xhfMc", commonOrderInfo.getOrderInfo().getXhfMc());
+// map.put("jshj", commonOrderInfo.getOrderInfo().getKphjje());
+// djOverflowList.add(map);
+// }
+// }
+// }
+// else {
+// log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size());
+// throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细");
+// }
});
});
}
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
index 05b70c91..5f5aacf9 100644
--- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
@@ -2016,14 +2016,19 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
List collect = null;
if(itemList != null){
- collect = orderItemInfos.stream().filter(t -> itemList.contains(t.getId()) && StringUtils.isNotBlank(t.getSpbm())).collect(Collectors.toList());
- if(ObjectUtil.isNull(orderItemInfos)){
+ collect = orderItemInfos.stream().filter(t -> itemList.contains(t.getId()) && StringUtils.isBlank(t.getSpbm())).collect(Collectors.toList());
+ if(ObjectUtil.isNull(collect)){
return R.error("税收编码为空的不允许合并,请先更新税收编码");
}
}else{
collect = orderItemInfos;
}
- Map> collect1 = collect.stream().collect(Collectors.groupingBy(t -> t.getFphxz() + t.getXmmc() + t.getXmdw() + t.getGgxh() + t.getSl() + t.getSpbm()));
+ Map> collect1 = collect.stream().map(t->{
+ t.setXmmc(StringUtils.isBlank(t.getXmmc())?"":t.getXmmc());
+ t.setXmdw(StringUtils.isBlank(t.getXmdw())?"":t.getXmdw());
+ t.setGgxh(StringUtils.isBlank(t.getGgxh())?"":t.getGgxh());
+ return t;
+ }).collect(Collectors.groupingBy(t -> t.getFphxz() + t.getXmmc() + t.getXmdw() + t.getGgxh() + t.getSl() + t.getSpbm()));
List orderItemInfoList = new ArrayList<>();
List deleteItem = new ArrayList<>();
for (List value : collect1.values()) {