فهرست منبع

桶装配置场景统一

zhangxin 1 سال پیش
والد
کامیت
8b3496037c

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1 - 3
base_sql/bucket_sql/xuankuang_ddl_20230904.sql


+ 2 - 0
ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java

@@ -258,4 +258,6 @@ public class Constants
     public static final Integer DEFAULT_WAREHOUSE_ID = 1;
 
     public static final List<Integer> FLOOR_LIST = Lists.newArrayList(FIRST_FLOOR, SECOND_FLOOR, THIRD_FLOOR);
+
+    public static final String ORDER_RULE_CONFIG = "orderRuleConfig";
 }

+ 8 - 2
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/service/WmsDocOrderSubService.java

@@ -32,6 +32,7 @@ import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.constant.SceneConstants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.service.ISysConfigService;
 import lombok.extern.slf4j.Slf4j;
@@ -93,7 +94,12 @@ public class WmsDocOrderSubService {
 
     @Transactional
     public AjaxResult initOrderDetails(@PathVariable("orderNo") String orderNo) {
-        Boolean orderRuleConfig = Boolean.valueOf(sysConfigService.selectConfigByKey(SceneConstants.WMS_ORDER_RULE_CONFIG));
+        String bucketConfig = sysConfigService.selectConfigByKey(SceneConstants.STORAGE_BUCKET_SCENE);
+        if (StringUtils.isBlank(bucketConfig)) throw new BaseException("桶装场景配置缺少!");
+        Map<String, Object> bucketConfigMap = JSONObject.parseObject(bucketConfig, Map.class);
+        String orderRuleConfig = (String) bucketConfigMap.get(Constants.ORDER_RULE_CONFIG);
+        if (StringUtils.isBlank(orderRuleConfig)) throw new BaseException("桶装出库规则配置缺少!");
+        Boolean orderRule = Boolean.valueOf(orderRuleConfig);
         //  根据单号,和创建状态为00
         WmsDocOrderDetails wmsDocOrderDetails = new WmsDocOrderDetails();
         wmsDocOrderDetails.setOrderNo(orderNo);
@@ -107,7 +113,7 @@ public class WmsDocOrderSubService {
         List<BaseLocationLotattDTO> baseLocationLotattList = addConfirmAllocationAuto(orderNo);
 
         //筛选库存 由于选矿项目出库单头只对应一个
-        List<BaseLocationLotattDTO> filteredLocationLotattList = orderRuleConfig ? selectInventoriesByLocation(baseLocationLotattList, list.get(0)) : filterInv(baseLocationLotattList, orderNo);
+        List<BaseLocationLotattDTO> filteredLocationLotattList = orderRule ? selectInventoriesByLocation(baseLocationLotattList, list.get(0)) : filterInv(baseLocationLotattList, orderNo);
         // 匹配库存(撇开先进先出)
 //        baseLocationLotattVOS = addConfirmAllocationAuto(orderNo);