|
|
|
@ -187,6 +187,7 @@ public class MesAssemblyShowNosortStepService extends BaseStepService {
|
|
|
|
|
*/
|
|
|
|
|
private StepResult validSuperWorkOrder(StationRequestBean reqBean, List<MesProductionPartContext> productionPartContextList, List<MesProductionPsInContext> productionPsInContextList, MesWorkCenter workCenter, StepResult stepResult, StationResultBean resultBean) {
|
|
|
|
|
// 验证超工单
|
|
|
|
|
log.info("验证是否超工单begin ->");
|
|
|
|
|
//判断是否还存在待匹配的主条码信息, 内部循环匹配成功会标记 foreignKey
|
|
|
|
|
Optional<MesProductionPartContext> optional = productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkOrderNo()))).findFirst();
|
|
|
|
|
if (null == optional || !optional.isPresent()) return stepResult;
|
|
|
|
@ -196,6 +197,9 @@ public class MesAssemblyShowNosortStepService extends BaseStepService {
|
|
|
|
|
.collect(Collectors.groupingBy(MesProductionPartContext::getWorkOrderNo));
|
|
|
|
|
// 获取涉及到的所有工单列表
|
|
|
|
|
List<MesWorkOrder> workOrderList = workOrderExtService.getWorkOrderList(reqBean.getOrganizeCode(), new ArrayList<>(productionPartContextMap.keySet()));
|
|
|
|
|
|
|
|
|
|
log.info("order ->");
|
|
|
|
|
|
|
|
|
|
// 对工单经行分组
|
|
|
|
|
Map<String, List<MesWorkOrder>> orderListMap = workOrderList.stream().collect(Collectors.groupingBy(MesWorkOrder::getWorkOrderNo));
|
|
|
|
|
|
|
|
|
@ -206,6 +210,7 @@ public class MesAssemblyShowNosortStepService extends BaseStepService {
|
|
|
|
|
|
|
|
|
|
double complateQty = mesWorkOrder.getCompleteQty() + productionPartContexts.size();
|
|
|
|
|
double qty = mesWorkOrder.getQty();
|
|
|
|
|
log.info("验证超工单,工单号【{}】,qty=【{}】,complateQty =【{}】begin ->", mesWorkOrder.getWorkOrderNo(), qty, complateQty);
|
|
|
|
|
// 如果预完成数量 小于等于工单数量,则直接过
|
|
|
|
|
if (complateQty <= qty) continue;
|
|
|
|
|
|
|
|
|
@ -223,7 +228,9 @@ public class MesAssemblyShowNosortStepService extends BaseStepService {
|
|
|
|
|
if (!CollectionUtils.isEmpty(productionPsInContextList)) productionPsInContextList.forEach(o -> o.busiCheckToDelete());
|
|
|
|
|
return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult.obj(false), String.format("请检查工单数量,工单号[%s],工单数量[%s]预完成数量[%s],配置了超工单,但超过了比例[%s]!", workOrder, mesWorkOrder.getQty(), complateQty, workCenter.getOrderRate()));
|
|
|
|
|
}
|
|
|
|
|
log.info("验证超工单,工单号【{}】,qty=【{}】,complateQty =【{}】,isCheckOrderQty=【{}】, rate = 【{}】end ->", mesWorkOrder.getWorkOrderNo(), qty, complateQty,workCenter.getIsCheckOrderQty(),rate);
|
|
|
|
|
}
|
|
|
|
|
log.info("验证是否超工单end ->");
|
|
|
|
|
return stepResult;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|