فهرست منبع

友盛过磅称重mock接口,对接地磅

donglang 1 ماه پیش
والد
کامیت
0201a7ba67

+ 16 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/app/WaybillOrderService.java

@@ -1293,6 +1293,22 @@ public class WaybillOrderService {
      */
     @Transactional(rollbackFor = Exception.class)
     public void unloadingWeigh(WaybillOrderUnloadingWeighParam param) {
+        if (StringUtils.isBlank(param.getTruckNo())){
+            throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "车牌号不能为空!");
+        }
+        if (param.getWeighAmount() == null) {
+            throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "卸货过磅称重重量不能为空!");
+        }
+        // 定义运单可以卸货过磅的状态集合
+        List<Integer> FORBIDDEN_STATUSES = Arrays.asList(
+                CarWaybillV1Enum.WAIT_LOADING.getCode(),
+                CarWaybillV1Enum.UNLOADING_POINT.getCode()
+        );
+        List<KwtWaybillOrder> wbOrderByTruckNo = waybillOrderRepository.findWbOrderByTruckNoAndStatus(param.getTruckNo(), FORBIDDEN_STATUSES);
+        if (CollectionUtils.isEmpty(wbOrderByTruckNo) || wbOrderByTruckNo.size() > 1) {
+            throw new BusinessPlatfromException(ErrorCodeEnum.WAYBILL_ORDER_NOT_FOUND, "当前车辆没有可以卸货过磅称重状态的运单");
+        }
+        param.setWaybillOrderId(wbOrderByTruckNo.get(0).getId());
         unloadingWeighHandler.handler(param);
     }