|
@@ -177,12 +177,13 @@ public class BmsportHandlingFeeServiceImpl implements IBmsportHandlingFeeService
|
|
|
Fee = unitPrice.multiply(tonnage);
|
|
|
bmsshipFee.setUnitPrice(unitPrice);
|
|
|
bmsshipFee.setUnitPriceId(DataChange.dataToBigDecimal(map.get("unitPriceId")));
|
|
|
- if (DataChange.dataToBigDecimal(map.get("fee")).compareTo(Fee) == 0) {
|
|
|
+ if (DataChange.dataToBigDecimal(map.get("fee")).setScale(2,BigDecimal.ROUND_HALF_UP).compareTo(Fee.setScale(2,BigDecimal.ROUND_HALF_UP)) == 0) {
|
|
|
bmsshipFee.setFee(Fee);
|
|
|
}else {
|
|
|
return -2;
|
|
|
}
|
|
|
}else if(DataChange.dataToBigDecimal(map.get("feeType")).intValue() == 3){
|
|
|
+ //如果是三程船水运费,校验总费用和总吨位
|
|
|
List<Map<String,Object>> mapList=(List<Map<String,Object>>)map.get("mapList");
|
|
|
BigDecimal totalFee=new BigDecimal("0");
|
|
|
BigDecimal totalWeight=new BigDecimal("0");
|
|
@@ -194,6 +195,7 @@ public class BmsportHandlingFeeServiceImpl implements IBmsportHandlingFeeService
|
|
|
);
|
|
|
totalWeight=totalWeight.add(DataChange.dataToBigDecimal(temp.get("resultActualInstallations")));
|
|
|
}
|
|
|
+ //保留两位小数比较
|
|
|
if(totalFee.setScale(2,BigDecimal.ROUND_HALF_UP).compareTo(DataChange.dataToBigDecimal(map.get("fee")).setScale(2,BigDecimal.ROUND_HALF_UP))==0){
|
|
|
bmsshipFee.setFee(totalFee);
|
|
|
}else{
|