|
|
|
@ -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); |
|
|
|
|