add:增加出入库分配规则调用

This commit is contained in:
zhangzq
2025-06-26 17:45:42 +08:00
parent a4ae1009bc
commit 3ff9e2ccda

View File

@@ -33,7 +33,6 @@ import org.nl.wms.basedata_manage.service.dto.StrategyStructMaterialVO;
import org.nl.wms.basedata_manage.service.dto.StrategyStructParam;
import org.nl.wms.decision_manage.service.sectStrategy.IStSectStrategyService;
import org.nl.wms.decision_manage.service.sectStrategy.dao.StSectStrategy;
import org.nl.wms.decision_manage.service.sectStrategy.decisionChar.DecisionerChain;
import org.nl.wms.decision_manage.service.strategyConfig.decisioner.Decisioner;
import org.nl.wms.sch_manage.enums.StatusEnum;
import org.nl.wms.warehouse_management.enums.IOSEnum;
@@ -41,6 +40,7 @@ import org.nl.wms.warehouse_management.service.dao.IOStorInv;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
@@ -327,6 +327,8 @@ public class StructattrServiceImpl extends ServiceImpl<StructattrMapper, Structa
@Override
public List<StrategyStructMaterialVO> outBoundSectDiv(StrategyStructParam param) {
//只校验仓库,库区
Assert.noNullElements(new Object[]{param.getStor_code(),param.getSect_code()},"请求参数不能为空");
StSectStrategy one = iStSectStrategyService.getOne(new LambdaQueryWrapper<StSectStrategy>()
.eq(StSectStrategy::getSect_code, param.getSect_code())
.eq(StSectStrategy::getStrategy_type, StatusEnum.STRATEGY_TYPE.code("入库")));
@@ -338,7 +340,7 @@ public class StructattrServiceImpl extends ServiceImpl<StructattrMapper, Structa
log.info("执行出入库规格:"+decisioner.strategyConfig.getStrategy_name());
list = decisioner.handler(list, param);
if (CollectionUtils.isEmpty(list)){
throw new BadRequestException("当前策略"+decisioner.strategyConfig.getStrategy_name()+"无可用货位,分配前数量:"+transfers.size());
throw new BadRequestException("当前策略"+decisioner.strategyConfig.getStrategy_name()+"无可用货位,分配前数量:"+list.size());
}
}
return list;
@@ -346,6 +348,9 @@ public class StructattrServiceImpl extends ServiceImpl<StructattrMapper, Structa
@Override
public List<Structattr> inBoundSectDiv(StrategyStructParam param) {
//批号,单据暂时不校验,具体业务具体校验
Assert.noNullElements(new Object[]{param.getQty(),param.getMaterial_code(),param.getStor_code(),param.getSect_code()},"请求参数不能为空");
StSectStrategy one = iStSectStrategyService.getOne(new LambdaQueryWrapper<StSectStrategy>()
.eq(StSectStrategy::getSect_code, param.getSect_code())
.eq(StSectStrategy::getStrategy_type, StatusEnum.STRATEGY_TYPE.code("入库")));