feature:回推SAP时,明细行携带结算单号

release
gaorl 2 years ago
parent 080a848a71
commit 3fbf33192d
  1. 6
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java
  2. 30
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java

@ -1368,11 +1368,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
ddmxxx.stream().forEach(f -> { ddmxxx.stream().forEach(f -> {
FpkjtsMxSap detail = new FpkjtsMxSap(); FpkjtsMxSap detail = new FpkjtsMxSap();
//主信息 //主信息
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){ detail.setZJSDH(StringUtils.isNotBlank(orderProcessInfo.getOriginDdh())?orderProcessInfo.getOriginDdh():orderProcessInfo.getDdh());
detail.setZJSDH(orderProcessInfo.getOriginDdh());
}else {
detail.setZJSDH("");
}
// detail.setZJSDH(ddfpxx.getDDH()); // detail.setZJSDH(ddfpxx.getDDH());
detail.setZFPDM(ddfpxx.getFPDM()); detail.setZFPDM(ddfpxx.getFPDM());
detail.setZFPHM(ddfpxx.getFPHM()); detail.setZFPHM(ddfpxx.getFPHM());

@ -2037,8 +2037,9 @@ public class OrderInfoServiceImpl implements OrderInfoService {
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());
t.setGgxh(StringUtils.isBlank(t.getGgxh())?"":t.getGgxh()); t.setGgxh(StringUtils.isBlank(t.getGgxh())?"":t.getGgxh());
t.setZxbm(StringUtils.isBlank(t.getZxbm())?"":t.getZxbm());
return t; return t;
}).collect(Collectors.groupingBy(t -> t.getFphxz() + t.getXmmc() + t.getXmdw() + t.getGgxh() + t.getSl() + t.getSpbm())); }).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<>();
for (List<OrderItemInfo> value : collect1.values()) { for (List<OrderItemInfo> value : collect1.values()) {
@ -2059,21 +2060,32 @@ public class OrderInfoServiceImpl implements OrderInfoService {
//重算税额 //重算税额
String hsbz = orderItemInfo.getHsbz(); String hsbz = orderItemInfo.getHsbz();
BigDecimal taxRate = new BigDecimal(orderItemInfo.getSl()); BigDecimal taxRate = new BigDecimal(orderItemInfo.getSl());
BigDecimal taxAmout = new BigDecimal(orderItemInfo.getXmje()); BigDecimal taxAmount = new BigDecimal(orderItemInfo.getSe());
if (OrderInfoEnum.HSBZ_1.getKey().equals(hsbz)) { if (OrderInfoEnum.HSBZ_1.getKey().equals(hsbz)) {
taxAmout = xmje.divide(new BigDecimal("1").add(taxRate),0).multiply(taxRate).setScale(2,RoundingMode.HALF_UP); taxAmount = xmje.divide(new BigDecimal("1").add(taxRate),0).multiply(taxRate).setScale(2,RoundingMode.HALF_UP);
} else if (OrderInfoEnum.HSBZ_0.getKey().equals(hsbz)) { } else if (OrderInfoEnum.HSBZ_0.getKey().equals(hsbz)) {
taxAmout = xmje.multiply(taxRate).setScale(2,RoundingMode.HALF_UP); taxAmount = xmje.multiply(taxRate).setScale(2,RoundingMode.HALF_UP);
} }
orderItemInfo.setCreateTime(new Date()); orderItemInfo.setCreateTime(new Date());
orderItemInfo.setSe(se.toString()); orderItemInfo.setSe(se.toString());
if(se.subtract(taxAmout).abs().longValue() <= 0.06){ if(se.subtract(taxAmount).abs().longValue() > 0.06){
orderItemInfoList.add(orderItemInfo); BigDecimal taxAndAmount = xmje.add(se);
deleteItem.addAll(value.stream().map(t->t.getId()).collect(Collectors.toList())); BigDecimal taxAmountNew = taxAndAmount.divide(new BigDecimal("1").add(taxRate),0).multiply(taxRate).setScale(2,RoundingMode.HALF_UP);
}else{ BigDecimal xmjeNew = taxAndAmount.multiply(taxAmountNew);
orderItemInfo.setXmje(xmje.toString());
orderItemInfo.setSe(taxAmountNew.toString());
if(StringUtils.isNotBlank(orderItemInfo.getXmsl())){
BigDecimal xmdj = xmjeNew.divide(xmsl, 8, RoundingMode.HALF_UP);
if(xmdj.multiply(xmsl).subtract(xmjeNew).longValue() > 0.01){
orderItemInfo.setXmsl(xmjeNew.divide(xmdj,8,RoundingMode.HALF_UP).toString());
}
orderItemInfo.setXmdj(xmdj.toString());
}
log.info("订单id:{}合并明细超过0.06暂时不合并",orderInfoId); log.info("订单id:{}合并明细超过0.06暂时不合并",orderInfoId);
return R.error("明细行号{}合并错误,合并明细超过0.06暂时不合并",orderItemInfo.getSphxh()); // return R.error("明细行号{}合并错误,合并明细超过0.06暂时不合并",orderItemInfo.getSphxh());
} }
orderItemInfoList.add(orderItemInfo);
deleteItem.addAll(value.stream().map(t->t.getId()).collect(Collectors.toList()));
} }
// OrderInfo orderInfo = new OrderInfo(); // OrderInfo orderInfo = new OrderInfo();
// orderInfo.setId(orderInfoId); // orderInfo.setId(orderInfoId);

Loading…
Cancel
Save