|
|
|
@ -3542,6 +3542,24 @@ public class BeanTransitionUtils { |
|
|
|
|
ddmxxxBO.setSE(detail.getZZSE()); |
|
|
|
|
ddmxxxBO.setPH(detail.getCHARG()); |
|
|
|
|
ddmxxxBO.setKB(ObjectUtil.isNull(detail.getKTYPE())?"":detail.getKTYPE()+(ObjectUtil.isNull(detail.getKNAME())?"":detail.getKNAME())); |
|
|
|
|
//判断单价*数量与金额的差额大于0.01,大于的话则反算
|
|
|
|
|
//判断小数点后位数,默认为8位,如果为全电,为15位
|
|
|
|
|
if(!ConfigureConstant.STRING_1.equals(ddmxxxBO.getFPHXZ())){ |
|
|
|
|
if(StringUtils.isNotBlank(ddmxxxBO.getJE()) && StringUtils.isNotBlank(ddmxxxBO.getSPSL())){ |
|
|
|
|
int afterPointLength = ConfigureConstant.INT_8; |
|
|
|
|
if(CommonUtils.judgeIsQdfp("",ddpcxxBO.getFPLXDM())){ |
|
|
|
|
afterPointLength = ConfigureConstant.INT_15; |
|
|
|
|
} |
|
|
|
|
String jsXmdj = DecimalCalculateUtil.divNew(ddmxxxBO.getJE(), ddmxxxBO.getSPSL(), afterPointLength); |
|
|
|
|
if (DecimalCalculateUtil.stringCompare(jsXmdj, ddmxxxBO.getDJ()) != 0) { |
|
|
|
|
log.info("项目金额有误,误差不能大于1分钱,开始进行单价反算,JE:{},SPSL:{}",ddmxxxBO.getJE(), ddmxxxBO.getSPSL()); |
|
|
|
|
//判断小数点后位数,默认为8位,如果为全电,为15位
|
|
|
|
|
String xmdj = DecimalCalculateUtil.divNew(ddmxxxBO.getJE(), ddmxxxBO.getSPSL(), afterPointLength); |
|
|
|
|
log.info("项目金额有误,误差不能大于1分钱,计算后的XMDJ:{}",xmdj); |
|
|
|
|
ddmxxxBO.setDJ(xmdj); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
ddmxList.add(ddmxxxBO); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|