Explorar el Código

运单类别按钮区分展示

donglang hace 2 días
padre
commit
572a3095d0

+ 7 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/WaybillOrderResp.java

@@ -197,5 +197,12 @@ public class WaybillOrderResp implements Serializable {
     @Schema(description = "货损率是否超过千分之三")
     private Boolean isPassReason;
 
+    /**
+     * 是否展示放行按钮
+     */
+    @Schema(description = "是否展示放行按钮")
+    private Boolean isDisplayPassButton;
+
+
 
 }

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

@@ -4288,16 +4288,26 @@ public class KwtWaybillOrderV1Service {
             waybillOrderResp.setIsPassReason(isLossRateExceeded(logOrder, lossRate));
         }
 
+
         // 原矿运输山上、上下门卫企业id
         List<String> mockEntIds = Arrays.asList("538039617157337089", "538040297439891457");
         List<KwtGatekeeperWaybillOrder> gatekeeperList = gatekeeperMap.getOrDefault(billOrder.getId(), new ArrayList<>());
-        log.info("门卫订单信息,结果{}", JSON.toJSONString(gatekeeperList));
         if (Objects.equals(waybillOrderResp.getConsignUnitId(), mockEntIds.get(0))) {
+            // 如果状态为待放行,只能山上的运单展示放行按钮
+            if(Objects.equals(waybillOrderResp.getStatus(), CarWaybillV1Enum.WAIT_RELEASE.getCode())) {
+                waybillOrderResp.setIsDisplayPassButton(Boolean.TRUE);
+            }
+
             KwtGatekeeperWaybillOrder gatekeeper = gatekeeperList.stream()
                     .filter(gate -> gate.getEntId() != null && Objects.equals(String.valueOf(gate.getEntId()), mockEntIds.get(0)))
                     .findFirst().orElse(new KwtGatekeeperWaybillOrder());
             waybillOrderResp.setGatekeeperId(gatekeeper.getId());
+
         } else {
+            // 如果状态为卸货待放行,只能山下的运单展示放行按钮
+            if(Objects.equals(waybillOrderResp.getStatus(), CarWaybillV1Enum.UNLOADING_WAIT_RELEASE.getCode())) {
+                waybillOrderResp.setIsDisplayPassButton(Boolean.TRUE);
+            }
             KwtGatekeeperWaybillOrder gatekeeper = gatekeeperList.stream()
                     .filter(gate -> gate.getEntId() != null && Objects.equals(String.valueOf(gate.getEntId()), mockEntIds.get(1)))
                     .findFirst().orElse(new KwtGatekeeperWaybillOrder());