|
@@ -76,7 +76,7 @@ public class ContractMaterialAdjustServiceImpl extends BaseServiceImpl<ContractM
|
|
|
if (detail.getChangeTotal() == null){
|
|
|
throw new ServiceException("请填写["+detail.getFormName()+"]可调量");
|
|
|
}
|
|
|
- detail.setAdjustTotal(detail.getChangeTotal().multiply(detail.getAdjustFactor()).setScale(3,RoundingMode.HALF_UP));
|
|
|
+ detail.setAdjustTotal(detail.getChangeTotal().multiply(detail.getAdjustFactor()));
|
|
|
adjustTotal = adjustTotal.add(detail.getAdjustTotal());
|
|
|
}
|
|
|
adjustDetailService.saveBatch(details);
|
|
@@ -162,7 +162,7 @@ public class ContractMaterialAdjustServiceImpl extends BaseServiceImpl<ContractM
|
|
|
if (detail.getChangeTotal() == null){
|
|
|
throw new ServiceException("请填写["+detail.getFormName()+"]可调量");
|
|
|
}
|
|
|
- detail.setAdjustTotal(detail.getChangeTotal().multiply(detail.getAdjustFactor()).setScale(3,RoundingMode.HALF_UP));
|
|
|
+ detail.setAdjustTotal(detail.getChangeTotal().multiply(detail.getAdjustFactor()));
|
|
|
adjustTotal = adjustTotal.add(detail.getAdjustTotal());
|
|
|
}
|
|
|
adjustDetailService.saveBatch(details);
|
|
@@ -221,7 +221,7 @@ public class ContractMaterialAdjustServiceImpl extends BaseServiceImpl<ContractM
|
|
|
if (detail.getChangeTotal() == null){
|
|
|
throw new ServiceException("请填写["+detail.getFormName()+"]可调量");
|
|
|
}
|
|
|
- detail.setAdjustTotal(detail.getChangeTotal().multiply(detail.getAdjustFactor()).setScale(3,RoundingMode.HALF_UP));
|
|
|
+ detail.setAdjustTotal(detail.getChangeTotal().multiply(detail.getAdjustFactor()));
|
|
|
adjustTotal = adjustTotal.add(detail.getAdjustTotal());
|
|
|
}
|
|
|
this.buildCalculation(dto,adjustTotal,adjust);
|
|
@@ -232,12 +232,16 @@ public class ContractMaterialAdjustServiceImpl extends BaseServiceImpl<ContractM
|
|
|
* 生成材料调差计算式
|
|
|
*/
|
|
|
private void buildCalculation(ContractMaterialAdjustAddDTO dto,BigDecimal adjustTotal,ContractMaterialAdjust adjust){
|
|
|
- adjust.setAdjustTotal(adjustTotal);
|
|
|
//获取材料信息,用于调差范围
|
|
|
ContractMaterial material= baseMapper.getMaterialInfo(dto.getContractMaterialId());
|
|
|
if (material == null){
|
|
|
throw new ServiceException("未获取到材料信息");
|
|
|
}
|
|
|
+ if ("t".equals(material.getUnit()) || "T".equals(material.getUnit())){
|
|
|
+ adjust.setAdjustTotal(adjustTotal.setScale(3,RoundingMode.HALF_UP));
|
|
|
+ }else {
|
|
|
+ adjust.setAdjustTotal(adjustTotal.setScale(2,RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
//获取材料有效期
|
|
|
ContractMaterialValidity validity = validityService.getById(dto.getMaterialValidityId());
|
|
|
//计算调差金额,生成计算式
|