diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPbStoragevehicleext.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPbStoragevehicleext.java index 8b32645..5b51cf3 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPbStoragevehicleext.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPbStoragevehicleext.java @@ -96,5 +96,11 @@ public class MdPbStoragevehicleext implements Serializable { @TableField(exist = false) private String struct_code; + /** + * 袋码 + */ + @TableField(exist = false) + private String bag_code; + } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml index 9ac03ca..f5afb02 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml @@ -132,7 +132,6 @@ md_pb_storagevehicleext ext INNER JOIN st_ivt_structattr attr ON ext.storagevehicle_code = attr.storagevehicle_code INNER JOIN md_me_materialbase mater ON mater.material_id = ext.material_id - LEFT JOIN md_pb_groupplate late ON late.material_id = ext.material_id and late.pcsn = ext.pcsn and late.vehicle_code = ext.storagevehicle_code 1 = 1 diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/decisioner/impl/base/MiddleRuleHandler.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/decisioner/impl/base/MiddleRuleHandler.java new file mode 100644 index 0000000..40bc68a --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/decisioner/impl/base/MiddleRuleHandler.java @@ -0,0 +1,66 @@ +package org.nl.wms.decision_manage.service.decisioner.impl.base; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService; +import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext; +import org.nl.wms.basedata_manage.service.dao.Structattr; +import org.nl.wms.basedata_manage.service.dto.StrategyMater; +import org.nl.wms.basedata_manage.service.dto.StrategyStructParam; +import org.nl.wms.decision_manage.service.decisioner.Decisioner; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 同批物料存放策略 实现类 + *

+ * + * @author Liuxy + * @since 2025-12-03 + */ +@Service("middle") +@Slf4j +public class MiddleRuleHandler extends Decisioner { + + @Resource + private IMdPbStoragevehicleextService iMdPbStoragevehicleextService; + + @Override + public List handler(List list, StrategyStructParam param) { + log.info("---------执行middle入库分配规则---------"); + // 根据托盘查询库内库存 + List vehicleList = list.stream() + .filter(row -> ObjectUtil.isNotEmpty(row.getStoragevehicle_code())) + .map(Structattr::getStoragevehicle_code) + .distinct() + .collect(Collectors.toList()); + List extList = iMdPbStoragevehicleextService.list( + new QueryWrapper().lambda() + .in(MdPbStoragevehicleext::getStoragevehicle_code, vehicleList) + ); + if (ObjectUtil.isEmpty(extList)) { + // 查询一组未有货的仓位 + + } + // 不为空则判断是否有匹配的物料仓位 + StrategyMater strategyMater = param.getStrategyMaters().get(0); + MdPbStoragevehicleext extDaoLike = extList.stream() + .filter(row -> row.getMaterial_id().equals(strategyMater.getMaterial_id()) + && row.getPcsn().equals(strategyMater.getPcsn()) + ).findFirst().orElse(null); + + if (ObjectUtil.isEmpty(extDaoLike)) { + + } + + return null; + + } + +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvDisMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvDisMapper.xml index e2887eb..e769128 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvDisMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvDisMapper.xml @@ -32,16 +32,17 @@