Browse Source

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

master
zhangzq 1 month ago
parent
commit
3ff9e2ccda
  1. 9
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java

9
nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java

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

Loading…
Cancel
Save