自动分派逻辑修改

liweidong
李涛 3 days ago
parent 5fc3bc4c54
commit be945fe471
  1. 27
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderCraftServiceImpl.java

@ -1,6 +1,7 @@
package org.springblade.desk.order.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -218,10 +219,7 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
}
//如果匹配到了作业单位,则直接停止
if (dispatchCraftList != null && dispatchCraftList.size() > 0) {
return;
}
if (CollectionUtils.isEmpty(dispatchCraftList)) {
// 厂内优先
if (workCenter.getLimitType().equals(WorkCenter.LIMIT_TYPE_PRIOR)) {
log.info("自动分派,流程卡号:{},优先厂内", yieldOrder.getCardNo());
@ -229,10 +227,7 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
}
//如果匹配到了作业单位,则直接停止
if (dispatchCraftList != null && dispatchCraftList.size() > 0) {
return;
}
if (CollectionUtils.isEmpty(dispatchCraftList)) {
//外协优先
if (oemCustomer.getLimitType().equals(WorkCenter.LIMIT_TYPE_PRIOR)) {
log.info("自动分派,流程卡号:{},优先外协", yieldOrder.getCardNo());
@ -240,10 +235,7 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
}
//如果匹配到了作业单位,则直接停止
if (dispatchCraftList != null && dispatchCraftList.size() > 0) {
return;
}
if (CollectionUtils.isEmpty(dispatchCraftList)) {
// 开始根据分派比例分派
Long facTotalNum = 0L;
YieldOrderAssignCount facCapacity = dailyAssignService.queryCount(hostAbilityId, BsAssignEntity.IN_FACTORY);
@ -273,14 +265,15 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
}
//如果匹配到了作业单位,则直接停止
if (dispatchCraftList != null && !dispatchCraftList.isEmpty()) {
return;
}
if (CollectionUtils.isEmpty(dispatchCraftList)) {
// 外协
log.info("{}自动分派按照比例分派给外协:{},分派比例:{} 应分比例:{}", yieldOrder.getCardNo(), oemCustomer.getOcName(), rate, craftAbility.getInRate());
dispatchCraftList = this.bindOem(oemCustomer, hostAbilityId, craftAbilityMap, craftKeys, yieldOrder, null);
}
}
}
}
}
} else {
if (Boolean.TRUE.equals(factor)) {
if (workCenter == null) {
@ -295,7 +288,7 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
}
}
if (dispatchCraftList == null || dispatchCraftList.size() == 0) {
if (dispatchCraftList == null || dispatchCraftList.isEmpty()) {
throw new ServiceException("自动分派失败,未找到合适的班组或者供应商!");
}

Loading…
Cancel
Save