Kaynağa Gözat

三程船水运费

liyg 2 yıl önce
ebeveyn
işleme
df8d80fb57

+ 3 - 1
src/main/java/com/steerinfo/dil/service/impl/BmsportHandlingFeeServiceImpl.java

@@ -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{