Explorar o código

计算货损率

donglang hai 4 días
pai
achega
90d3635bd8

+ 3 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -4303,7 +4303,7 @@ public class KwtWaybillOrderV1Service {
             //卸货净重
             KwtWaybillOrderTicket unloadTicket = ticketMap.getOrDefault(billOrder.getId() + "-" + 2, new KwtWaybillOrderTicket());
             BigDecimal unloadAmount = unloadTicket.getAmount();
-
+            log.info("[原矿放行]卸货净重:{}", unloadAmount);
             //计算货损率
             BigDecimal lossRate = calculateLossRate2(loadAmount, unloadAmount);
             waybillOrderResp.setLossRate(lossRate);
@@ -4935,9 +4935,9 @@ public class KwtWaybillOrderV1Service {
      * 计算货损率
      */
     private static BigDecimal calculateLossRate2(BigDecimal loadAmount, BigDecimal unloadAmount) {
-        log.info("[门卫]开始计算货损率,装货净重:{},卸货净重:{}", com.alibaba.fastjson.JSON.toJSONString(loadAmount), com.alibaba.fastjson.JSON.toJSONString(loadAmount));
+        log.info("[门卫]开始计算货损率,装货净重:{},卸货净重:{}", com.alibaba.fastjson.JSON.toJSONString(loadAmount), com.alibaba.fastjson.JSON.toJSONString(unloadAmount));
         BigDecimal lossRate = BigDecimal.ZERO;
-        if (loadAmount != null && unloadAmount != null && loadAmount.compareTo(BigDecimal.ZERO) > 0) {
+        if ((loadAmount != null && loadAmount.compareTo(BigDecimal.ZERO) > 0) && (unloadAmount != null && unloadAmount.compareTo(BigDecimal.ZERO) > 0)) {
             lossRate = loadAmount.subtract(unloadAmount)
                     .divide(loadAmount, 4, RoundingMode.HALF_UP)
                     .setScale(2, RoundingMode.HALF_UP);