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

Loading…
Cancel
Save