release
gaorl 2 years ago
parent d874ce9747
commit 198bbdad30
  1. 55
      order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java

@ -3486,7 +3486,7 @@ public class BeanTransitionUtils {
DdtxxBO ddtxxBO = new DdtxxBO();
List<DdmxxxBO> ddmxList = new ArrayList<>();
if (OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(isinput.getSYSID())) {
if (OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(isinput.getSYSID()) || OrderInfoEnum.SYS_SOURCE_S4.getKey().equals(isinput.getSYSID())) {
String zdataString = isinput.getZDATA();
FpkjReqSap req = JsonUtils.getInstance().parseObject(zdataString, FpkjReqSap.class);
//批次信息
@ -3506,10 +3506,10 @@ public class BeanTransitionUtils {
// ddtxxBO.setXHFYH("");
// ddtxxBO.setXHFZH("");
// } else {
ddtxxBO.setXHFDZ(deptEntity.getTaxpayerAddress());
ddtxxBO.setXHFDH(deptEntity.getTaxpayerPhone());
ddtxxBO.setXHFYH(deptEntity.getTaxpayerBank());
ddtxxBO.setXHFZH(deptEntity.getTaxpayerAccount());
ddtxxBO.setXHFDZ(deptEntity.getTaxpayerAddress());
ddtxxBO.setXHFDH(deptEntity.getTaxpayerPhone());
ddtxxBO.setXHFYH(deptEntity.getTaxpayerBank());
ddtxxBO.setXHFZH(deptEntity.getTaxpayerAccount());
// }
ddtxxBO.setGMFBM(req.getZGFBH());
ddtxxBO.setKPR(req.getZKPRXM());
@ -3519,6 +3519,9 @@ public class BeanTransitionUtils {
ddtxxBO.setHJJE(req.getZBHSJE());
ddtxxBO.setHJSE(req.getZZSE());
ddtxxBO.setDDH(req.getZJSDH());
if(StringUtils.isNotBlank(req.getZSNYX()) && ConfigureConstant.STRING_X.equals(req.getZSNYX())){
ddtxxBO.setDDH("");
}
ddtxxBO.setBZDH(req.getZBZDH());
ddtxxBO.setXTLY(isinput.getSYSID());
//如果为X,表示数据来自电商系统,开票完成后需要推送给电商系统开票数据及板式文件。
@ -3538,7 +3541,7 @@ public class BeanTransitionUtils {
if(StringUtils.isNotBlank(req.getZDSXT()) && StringUtils.isNotBlank(req.getZDSYWFL())){
ddtxxBO.setXTLY(OrderInfoEnum.SYS_SOURCE_DSXT.getKey()+req.getZDSYWFL());
}
if(StringUtils.isNotBlank(req.getZSNYX())){
if(StringUtils.isNotBlank(req.getZSNYX()) && ConfigureConstant.STRING_X.equals(req.getZSNYX())){
ddtxxBO.setXTLY(OrderInfoEnum.SYS_SOURCE_SNYXX.getKey());
}
ddtxxBO.setGSDM(req.getBUKRS());
@ -3611,6 +3614,13 @@ public class BeanTransitionUtils {
}
ddmxxxBO.setPH(detail.getCHARG());
ddmxxxBO.setKB(ObjectUtil.isNull(detail.getKTYPE())?"":detail.getKTYPE()+(ObjectUtil.isNull(detail.getKNAME())?"":detail.getKNAME()));
BigDecimal decimal = new BigDecimal("0");
if(StringUtils.isNotBlank(ddmxxxBO.getDJ()) && decimal.compareTo(new BigDecimal(ddmxxxBO.getDJ())) == 0) {
ddmxxxBO.setDJ("");
}
if (StringUtils.isNotBlank(ddmxxxBO.getSPSL()) && decimal.compareTo(new BigDecimal(ddmxxxBO.getSPSL())) == 0) {
ddmxxxBO.setSPSL("");
}
//判断单价*数量与金额的差额大于0.01,大于的话则反算
//判断小数点后位数,默认为8位,如果为全电,为15位
if(!ConfigureConstant.STRING_1.equals(ddmxxxBO.getFPHXZ())){
@ -3636,19 +3646,40 @@ public class BeanTransitionUtils {
}
//如果是山能易行按照物料编码分组拆分订单
if(StringUtils.isNotBlank(ddtxxBO.getXTLY())){
if(StringUtils.isNotBlank(ddtxxBO.getXTLY()) && OrderInfoEnum.SYS_SOURCE_SNYXX.getKey().equals(ddtxxBO.getXTLY())){
Map<String, List<DdmxxxBO>> collect = ddmxList.stream().collect(Collectors.groupingBy(t -> t.getZXBM()));
for (int i = 0; i < collect.size(); i++) {
log.info("拆分数据:{}", JSONObject.toJSONString(collect));
for (Map.Entry<String, List<DdmxxxBO>> listEntry : collect.entrySet()) {
List<DdmxxxBO> ddmxxxBOS = listEntry.getValue();
DdzxxBO ddzxxBONew = new DdzxxBO();
DdtxxBO ddtxxBONew = new DdtxxBO();
List<DdmxxxBO> ddmxLists = new ArrayList<>();
BeanUtils.copyProperties(ddtxxBO,ddtxxBONew);
ddmxLists.addAll(collect.get(i));
BeanUtils.copyProperties(ddtxxBO, ddtxxBONew);
BigDecimal zje = new BigDecimal("0.00");
BigDecimal bhsje = new BigDecimal("0.00");
BigDecimal se = new BigDecimal("0.00");
for (DdmxxxBO ddmxxxBO : ddmxxxBOS) {
if (StringUtils.isNotBlank(ddmxxxBO.getHSBZ()) && OrderInfoEnum.HSBZ_0.getKey().equals(ddmxxxBO.getHSBZ())) {
//不含稅
BigDecimal bigDecimal = new BigDecimal(ddmxxxBO.getJE()).add(new BigDecimal(ddmxxxBO.getSE()));
zje = zje.add(bigDecimal);
bhsje = bhsje.add(new BigDecimal(ddmxxxBO.getJE()));
se = se.add(new BigDecimal(ddmxxxBO.getSE()));
} else {
//含稅
zje = zje.add(new BigDecimal(ddmxxxBO.getJE()));
}
}
ddtxxBONew.setHJJE(bhsje.toPlainString());
ddtxxBONew.setHJSE(se.toPlainString());
ddtxxBONew.setJSHJ(zje.toPlainString());
ddmxLists.addAll(ddmxxxBOS);
ddzxxBONew.setDDTXX(ddtxxBO);
ddzxxBONew.setDDMXXX(ddmxList);
ddzxxBONew.setDDTXX(ddtxxBONew);
ddzxxBONew.setDDMXXX(ddmxLists);
ddzxxList.add(ddzxxBONew);
}
}else{
ddzxxBO.setDDTXX(ddtxxBO);
ddzxxBO.setDDMXXX(ddmxList);

Loading…
Cancel
Save