|
|
|
|
@ -17,6 +17,7 @@ import org.springblade.desk.basic.service.IBsAssignService; |
|
|
|
|
import org.springblade.desk.basic.service.IOemCraftAbilityService; |
|
|
|
|
import org.springblade.desk.basic.service.IOemService; |
|
|
|
|
import org.springblade.desk.basic.service.IWorkCenterService; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.BsCraftAbilityEntity; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity; |
|
|
|
|
import org.springblade.desk.dashboard.service.IBsCraftAbilityService; |
|
|
|
|
import org.springblade.desk.order.mapper.YieldOrderCraftMapper; |
|
|
|
|
@ -82,6 +83,7 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM |
|
|
|
|
Set<Long> craftKeys = craftAbilityMap.keySet(); |
|
|
|
|
//获取到认定的主工艺能力(默认第一个工艺能力为主工艺能力)
|
|
|
|
|
Long hostAbilityId = craftKeys.iterator().next(); |
|
|
|
|
BsCraftAbilityEntity craftAbility = craftAbilityService.getById(hostAbilityId); |
|
|
|
|
//获取可以做此主工艺能力的作业中心集合
|
|
|
|
|
Map<Long, BsWorkCenterEntity> workCenterMap = workCenterService.selectByAbility(hostAbilityId, yieldOrder.getYpQty(), yieldOrder.getYpArea(), yieldOrder.getPartCode(), yieldOrder.getPrimaryCraft(), yieldOrder.getYieldType(), rxlSpace); |
|
|
|
|
//获取可以做此主工艺能力的外协商集合
|
|
|
|
|
@ -217,19 +219,12 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM |
|
|
|
|
rate = Double.valueOf(facTotalNum) / Double.valueOf(totalNum) * 100; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// TODO 根据工艺能力编码获取厂内应分比例
|
|
|
|
|
// BsDispatch dispatch = bsDispatchService.findByType(hostAbilityId, BsDispatch.D_TYPE_CLASS);
|
|
|
|
|
// if (dispatch == null) {
|
|
|
|
|
// // 获取厂内通用应分比列
|
|
|
|
|
// dispatch = bsDispatchService.findByType(null, BsDispatch.D_TYPE_FACTORY);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// //如果厂内占比大于已经设置的比列,则直接分派外协
|
|
|
|
|
// if (rate <= Double.valueOf(dispatch.getdValue())) {
|
|
|
|
|
// log.info("{}自动分派按照比例分派给厂内:{},分派比例:{} 应分比例:{}", yieldOrder.getCardNo(),
|
|
|
|
|
// workCenter.getWcName(), rate, dispatch.getdValue());
|
|
|
|
|
// dispatchCraftList = this.bindWorkCenter(workCenter.getId(), workCenterMap, hostAbilityId, craftAbilityMap, craftKeys, yieldOrder, null);
|
|
|
|
|
// }
|
|
|
|
|
// 如果厂内占比大于已经设置的比列,则直接分派外协
|
|
|
|
|
if (rate <= craftAbility.getInFactoryPercent()) { |
|
|
|
|
log.info("{}自动分派按照比例分派给厂内:{},分派比例:{} 应分比例:{}", yieldOrder.getCardNo(), |
|
|
|
|
workCenter.getWcName(), rate, craftAbility.getInFactoryPercent()); |
|
|
|
|
dispatchCraftList = this.bindWorkCenter(workCenter.getId(), workCenterMap, hostAbilityId, craftAbilityMap, craftKeys, yieldOrder, null); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//如果匹配到了作业单位,则直接停止
|
|
|
|
|
if (dispatchCraftList != null && dispatchCraftList.size() > 0) { |
|
|
|
|
@ -237,8 +232,6 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 外协
|
|
|
|
|
// log.info("{}自动分派按照比例分派给外协:{},分派比例:{} 应分比例:{}", yieldOrder.getCardNo(),
|
|
|
|
|
// oemCustomer.getOcName(), rate, dispatch.getdValue());
|
|
|
|
|
dispatchCraftList = this.bindOem(oemCustomer, hostAbilityId, craftAbilityMap, craftKeys, yieldOrder, null); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
|