Merge branch 'release' into test

# Conflicts:
#	order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
release
gaorl 2 years ago
commit 88c2acff9b
  1. 57
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java

@ -1932,7 +1932,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
try {
CommodityCodeEntity commodityCodeEntity = buildCommodity(itemInfo, param, spbmMap);
//判断是否已存在,同步中存在一样的是否需要过滤后期考虑
//判断是否已存在
int i = 0;
//公司不维护
CommodityCodeEntity commodityCodeOld = collect.get(itemInfo.getZxbm());
@ -2033,7 +2033,6 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}else{
collect = orderItemInfos;
}
log.debug("合并分组前{}",JSONObject.toJSONString(collect));
Map<String, List<OrderItemInfo>> collect1 = collect.stream().map(t->{
t.setXmmc(StringUtils.isBlank(t.getXmmc())?"":t.getXmmc());
t.setXmdw(StringUtils.isBlank(t.getXmdw())?"":t.getXmdw());
@ -2043,12 +2042,10 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}).collect(Collectors.groupingBy(t -> t.getFphxz() + t.getXmmc() + t.getXmdw() + t.getGgxh() + t.getSl() + t.getSpbm() + t.getZxbm()));
List<OrderItemInfo> orderItemInfoList = new ArrayList<>();
List<String> deleteItem = new ArrayList<>();
log.debug("合并名称分组{}",JSONObject.toJSONString(collect1));
BigDecimal diffJe = new BigDecimal("0");
BigDecimal diffSe = new BigDecimal("0");
for (List<OrderItemInfo> value : collect1.values()) {
if(value.size() == 1){
log.debug("跳过合并{}",JSONObject.toJSONString(value));
continue;
}
if(value.size() == 1){continue;}
BigDecimal xmsl = new BigDecimal("0");
BigDecimal xmje = new BigDecimal("0");
BigDecimal se = new BigDecimal("0");
@ -2074,6 +2071,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
orderItemInfo.setCreateTime(new Date());
orderItemInfo.setSe(se.toString());
if(se.subtract(taxAmount).abs().longValue() > 0.06){
log.info("订单id:{}合并明细超过0.06",orderInfoId);
BigDecimal taxAndAmount = xmje.add(se);
BigDecimal taxAmountNew = taxAndAmount.divide(new BigDecimal("1").add(taxRate),0).multiply(taxRate).setScale(2,RoundingMode.HALF_UP);
BigDecimal xmjeNew = taxAndAmount.multiply(taxAmountNew);
@ -2086,37 +2084,40 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
orderItemInfo.setXmdj(xmdj.toString());
}
log.info("订单id:{}合并明细超过0.06暂时不合并",orderInfoId);
// return R.error("明细行号{}合并错误,合并明细超过0.06暂时不合并",orderItemInfo.getSphxh());
diffJe = diffJe.add(xmjeNew.subtract(xmje));
diffSe = diffSe.add(taxAmountNew.subtract(se));
}
orderItemInfoList.add(orderItemInfo);
deleteItem.addAll(value.stream().map(t->t.getId()).collect(Collectors.toList()));
}
// OrderInfo orderInfo = new OrderInfo();
// orderInfo.setId(orderInfoId);
// orderInfo.setHjse();
// orderInfo.setHjbhsje();
// orderInfo.setUpdateTime(new Date());
// orderMapper.updateOrderInfoByOrderId(orderInfo,null);
// OrderProcessInfo orderProcessInfo = new OrderProcessInfo();
// orderProcessInfo.setOrderInfoId(orderInfoId);
//
// orderProcessInfo.setHjbhsje();
// orderProcessInfo.setKpse();
// orderProcessService.updateOrderProcessInfoByProcessId(orderProcessInfo,null);
log.debug("合并明细{}",JSONObject.toJSONString(orderItemInfoList));
if(!orderItemInfoList.isEmpty()){
orderItemInfoMapper.deleteItemByItemId(deleteItem);
orderItemInfoMapper.insertOrderItemByList(orderItemInfoList);
}
//更新清单标志
OrderInfo orderInfo1 = orderMapper.selectOrderInfoByOrderId(orderInfoId, null);
if("1".equals(orderInfo1.getQdBz())&&orderItemInfos.size() - deleteItem.size() < 8 ){
OrderInfo orderInfo = new OrderInfo();
orderInfo.setId(orderInfoId);
orderInfo.setQdBz("0");
orderMapper.updateOrderInfoByOrderId(orderInfo,null);
}
//更新清单标志 重新设置金额
OrderInfo orderInfo = orderMapper.selectOrderInfoByOrderId(orderInfoId, null);
OrderInfo orderInfoNew = new OrderInfo();
orderInfoNew.setId(orderInfoId);
orderInfoNew.setUpdateTime(new Date());
OrderProcessInfo orderProcessInfo = orderProcessInfoMapper.selectByOrderId(orderInfoId, null);
OrderProcessInfo orderProcessInfoNew = new OrderProcessInfo();
orderProcessInfoNew.setId(orderProcessInfo.getId());
orderProcessInfoNew.setUpdateTime(new Date());
if("1".equals(orderInfo.getQdBz())&&orderItemInfos.size() - deleteItem.size() < 8 ){
orderInfoNew.setQdBz("0");
}
if(diffJe.compareTo(BigDecimal.ZERO) != 0){
String bhsje = new BigDecimal(orderInfo.getKphjje()).add(diffJe).toString();
String se = new BigDecimal(orderInfo.getHjse()).add(diffSe).toString();
orderInfoNew.setHjbhsje(bhsje);
orderInfoNew.setHjse(se);
orderProcessInfoNew.setHjbhsje(bhsje);
orderProcessInfoNew.setKpse(se);
}
orderMapper.updateOrderInfoByOrderId(orderInfoNew,null);
orderProcessInfoMapper.updateOrderProcessInfoByProcessId(orderProcessInfoNew,null);
return R.ok();
}

Loading…
Cancel
Save