From 7d76106f54e1b206818a7bd7257fd772396ed02e Mon Sep 17 00:00:00 2001 From: zhengxuming Date: Thu, 14 Aug 2025 17:19:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=8E=9F=E6=96=99=E5=BA=93=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/dto/StrategyStructParam.java | 2 ++ .../decisioner/impl/diy/RawInRuleHandle.java | 34 +++++++++++++------ .../service/impl/PdaIosInServiceImpl.java | 1 + .../service/impl/InBillServiceImpl.java | 1 + 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dto/StrategyStructParam.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dto/StrategyStructParam.java index 7fe5d30..917d57c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dto/StrategyStructParam.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dto/StrategyStructParam.java @@ -72,4 +72,6 @@ public class StrategyStructParam { * 占位状态 */ private Integer occupancy_state; + + private Boolean is_empty_vehicle; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/RawInRuleHandle.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/RawInRuleHandle.java index 7cc2c5d..0a804a5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/RawInRuleHandle.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/diy/RawInRuleHandle.java @@ -3,6 +3,7 @@ package org.nl.wms.decision_manage.service.strategyConfig.decisioner.impl.diy; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.decision_manage.service.strategyConfig.decisioner.Decisioner; @@ -30,15 +31,28 @@ public class RawInRuleHandle extends Decisioner { @Override public List handler(List list, JSONObject param) { - QueryWrapper query = new QueryWrapper() - .eq("is_used", true) - .eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定")) - .eq("sect_code", param.getString("sect_code")) - .isNull("storagevehicle_code") - .isNull("Task_code") - .eq("occupancy_state",1) - .orderByAsc("update_time"); - List querylList = iStructattrService.list(query); - return querylList; + //为空,则为普通入库,需要一个空托盘位置,适用于普通入库 + if (!param.containsKey("is_empty_vehicle")) { + QueryWrapper query = new QueryWrapper() + .eq("is_used", true) + .eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定")) + .eq("sect_code", param.getString("sect_code")) + .isNotNull("storagevehicle_code") + .isNull("Task_code") + .eq("occupancy_state", 2) + .orderByAsc("update_time"); + return iStructattrService.list(query); + } else { + //空位,适用于空托盘入库 + QueryWrapper query = new QueryWrapper() + .eq("is_used", true) + .eq("lock_type", IOSEnum.LOCK_TYPE.code("未锁定")) + .eq("sect_code", param.getString("sect_code")) + .isNull("storagevehicle_code") + .isNull("Task_code") + .eq("occupancy_state", 1) + .orderByAsc("update_time"); + return iStructattrService.list(query); + } } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java index 1e5be77..ac07464 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java @@ -667,6 +667,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { params.put("qty", whereJson.getString("qty")); params.put("pcsn", whereJson.getString("pcsn")); params.put("stragegy_type", whereJson.getString("stragegy_type")); + params.put("is_empty_vehicle", true); Structattr attrDao = iRawAssistIStorService.getStructattr(params); //确定起点 SchBasePoint schBasePoint = iSchBasePointService.getOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, whereJson.getString("site_code"))); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java index 3b9c294..6c61121 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java @@ -589,6 +589,7 @@ public class InBillServiceImpl extends ServiceImpl i .qty(new BigDecimal(param.getString("qty"))) .pcsn(param.getString("pcsn")) .stragegyType(param.getString("stragegy_type")) + .is_empty_vehicle(param.getBoolean("is_empty_vehicle")) .build()); if (CollectionUtils.isEmpty(structattrs)) { throw new BadRequestException("无可用货位");