自动分派逻辑修改

liweidong
李涛 2 days ago
parent 321d451173
commit 4a8efb3417
  1. 27
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderCraftServiceImpl.java

@ -413,7 +413,7 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
for (YieldOrderCraft orderCraft : orderCrafts) { for (YieldOrderCraft orderCraft : orderCrafts) {
Long centerId = orderCraft.getWorkCenterId(); Long centerId = orderCraft.getWorkCenterId();
// 判定是否是特殊工序 // 判定是否是特殊工序
BsProcessSetEntity processSet = processSetService.selectBsProcessSetByProcessCode(orderCraft.getProcessCode()); BsProcessSetEntity processSet = processSetService.getById(orderCraft.getPpsId());
if (Func.isNotEmpty(processSet) && Func.isNotBlank(processSet.getTeam())) { if (Func.isNotEmpty(processSet) && Func.isNotBlank(processSet.getTeam())) {
BsTeamSetEntity teamSetEntity = teamSetService.selectByTeamName(processSet.getTeam()); BsTeamSetEntity teamSetEntity = teamSetService.selectByTeamName(processSet.getTeam());
if (Func.isNotEmpty(teamSetEntity)) { if (Func.isNotEmpty(teamSetEntity)) {
@ -431,7 +431,7 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
orderCraft.setWorkCenterId(centerId); orderCraft.setWorkCenterId(centerId);
}else{ }else{
if(workCenter == null){ if(workCenter == null){
throw new BusinessException("工艺" + orderCraft.getCaId() + "未查询到对应作业中心"); throw new ServiceException("工艺" + orderCraft.getCaId() + "未查询到对应作业中心");
} }
orderCraft.setWorkCenterId(workCenter.getId()); orderCraft.setWorkCenterId(workCenter.getId());
} }
@ -596,16 +596,27 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
//开始循环生产订单中组合的工艺能力key集合,主工艺能力之前的全部分配到此外协商 //开始循环生产订单中组合的工艺能力key集合,主工艺能力之前的全部分配到此外协商
for (Long key : keys) { for (Long key : keys) {
//验证工艺能力 //验证工艺能力
oemAbility = oemCraftAbilityService.findBsOemAbility(oemCustomer.getId(), key); // oemAbility = oemCraftAbilityService.findBsOemAbility(oemCustomer.getId(), key);
if (oemAbility == null) { // if (oemAbility == null) {
break; // break;
} // }
rtnList.addAll(craftAbilityMap.get(key)); rtnList.addAll(craftAbilityMap.get(key));
} }
// 开始分派到外协商 // 开始分派到外协商
WorkCenter workCenter;
for (YieldOrderCraft orderCraft : rtnList) { for (YieldOrderCraft orderCraft : rtnList) {
orderCraft.setOcId(oemCustomer.getId()); BsProcessSetEntity processSet = processSetService.getById(orderCraft.getPpsId());
orderCraft.setIsOutsource(Boolean.TRUE); if (processSet != null && "1".equals(processSet.getIsDispatch())) {
workCenter = workCenterService.getOne(Wrappers.<WorkCenter>lambdaQuery().apply("INSTR(',' || CRAFT_ABILITY_ID || ',', ',' || {0} || ',') > 0", orderCraft.getCaId()));
if (workCenter == null) {
throw new ServiceException("工艺" + orderCraft.getCaId() + "未查询到对应作业中心");
}
orderCraft.setWorkCenterId(workCenter.getId());
orderCraft.setIsOutsource(Boolean.FALSE);
} else {
orderCraft.setOcId(oemCustomer.getId());
orderCraft.setIsOutsource(Boolean.TRUE);
}
} }
// 更新主工序工艺能力日产能信息 // 更新主工序工艺能力日产能信息

Loading…
Cancel
Save