diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml index b2523fad2..e2edfdd1b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml @@ -104,14 +104,12 @@ st.sl_id, st.pi_no, st.quantity, - st.quantity_level, st.balance_money, st.sum_num, + st.stay_maintain_num, g.goods_name, - g.goods_code, g.specifications, sh.sh_name, - sl.location, CASE WHEN mmu.status = 0 THEN '新建' diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java index 83028a5ec..f2c64aaf8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java @@ -340,8 +340,80 @@ public class YieldOrderServiceImpl extends BaseServiceImpl partRelationEntityList = partRelationService.selectDsPartRelationByPartId(partEntity.getId()); + List childPartIdList = partRelationEntityList.stream() + .map(DsPartRelationEntity::getChildPartId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(childPartIdList)) { + yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode()); + yieldOrder.setValidationTime(DateUtil.now()); + yieldOrder.setValidationMomo(partEntity.getPartCode()+" :未查询到子件信息"); + this.updateById(yieldOrder); + return null; + } + + List dsPartEntityList = dsPartService.listByIds(childPartIdList); + + // 收集所有子件的 + Set sinTerTypeSet = dsPartEntityList.stream() + .map(DsPartEntity::getSinTerType) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + if(CollectionUtils.isEmpty(sinTerTypeSet)){ + yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode()); + yieldOrder.setValidationTime(DateUtil.now()); + yieldOrder.setValidationMomo(partEntity.getPartCode()+" :子件类型为空"); + this.updateById(yieldOrder); + return null; + } + + // 校验必须包含的零件类型 + List requiredTypes = Arrays.asList(DsPartConstant.SIN_TER_TYPE_CZ, DsPartConstant.SIN_TER_TYPE_KT, DsPartConstant.SIN_TER_TYPE_BLB, DsPartConstant.SIN_TER_TYPE_SMM); + + List missingTypes = new ArrayList<>(); + for (Integer requiredType : requiredTypes) { + if (!sinTerTypeSet.contains(requiredType)) { + missingTypes.add(requiredType); + } + } + + if (!missingTypes.isEmpty()) { + String missingDesc = missingTypes.stream() + .map(type -> { + if (type.equals(DsPartConstant.SIN_TER_TYPE_CZ)) return "插针"; + if (type.equals(DsPartConstant.SIN_TER_TYPE_KT)) return "壳体"; + if (type.equals(DsPartConstant.SIN_TER_TYPE_BLB)) return "玻璃饼"; + if (type.equals(DsPartConstant.SIN_TER_TYPE_SMM)) return "石墨模"; + return "未知类型(" + type + ")"; + }) + .collect(Collectors.joining("、")); + + yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode()); + yieldOrder.setValidationTime(DateUtil.now()); + yieldOrder.setValidationMomo("零件:"+partEntity.getPartCode()+" 缺少子件类型: " + missingDesc); + this.updateById(yieldOrder); + return null; + } + + } + + try { this.saveSubYieldOrder(yieldOrder, Boolean.FALSE, yieldOrder.getReceiveUser()); } catch (BusinessException e) { @@ -481,74 +553,6 @@ public class YieldOrderServiceImpl extends BaseServiceImpl partRelationEntityList = partRelationService.selectDsPartRelationByPartId(partEntity.getId()); - List childPartIdList = partRelationEntityList.stream() - .map(DsPartRelationEntity::getChildPartId) - .filter(Objects::nonNull) - .collect(Collectors.toList()); - - if (CollectionUtils.isEmpty(childPartIdList)) { - yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode()); - yieldOrder.setValidationTime(DateUtil.now()); - yieldOrder.setValidationMomo(partEntity.getPartCode()+" :未查询到子件信息"); - this.updateById(yieldOrder); - return null; - } - - List dsPartEntityList = dsPartService.listByIds(childPartIdList); - - // 收集所有子件的 - Set sinTerTypeSet = dsPartEntityList.stream() - .map(DsPartEntity::getSinTerType) - .filter(Objects::nonNull) - .collect(Collectors.toSet()); - if(CollectionUtils.isEmpty(sinTerTypeSet)){ - yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode()); - yieldOrder.setValidationTime(DateUtil.now()); - yieldOrder.setValidationMomo(partEntity.getPartCode()+" :子件类型为空"); - this.updateById(yieldOrder); - return null; - } - - // 校验必须包含的零件类型 - List requiredTypes = Arrays.asList(DsPartConstant.SIN_TER_TYPE_CZ, DsPartConstant.SIN_TER_TYPE_KT, DsPartConstant.SIN_TER_TYPE_BLB, DsPartConstant.SIN_TER_TYPE_SMM); - - List missingTypes = new ArrayList<>(); - for (Integer requiredType : requiredTypes) { - if (!sinTerTypeSet.contains(requiredType)) { - missingTypes.add(requiredType); - } - } - - if (!missingTypes.isEmpty()) { - String missingDesc = missingTypes.stream() - .map(type -> { - if (type.equals(DsPartConstant.SIN_TER_TYPE_CZ)) return "插针"; - if (type.equals(DsPartConstant.SIN_TER_TYPE_KT)) return "壳体"; - if (type.equals(DsPartConstant.SIN_TER_TYPE_BLB)) return "玻璃饼"; - if (type.equals(DsPartConstant.SIN_TER_TYPE_SMM)) return "石墨模"; - return "未知类型(" + type + ")"; - }) - .collect(Collectors.joining("、")); - - yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode()); - yieldOrder.setValidationTime(DateUtil.now()); - yieldOrder.setValidationMomo("零件:"+partEntity.getPartCode()+" 缺少子件类型: " + missingDesc); - this.updateById(yieldOrder); - return null; - } - - } Integer rank; // 先判断是否是热表订单 不是返回二级工艺 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/mapper/ProjectMilestoneMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/mapper/ProjectMilestoneMapper.xml index e184ae67b..60fc6fe5d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/mapper/ProjectMilestoneMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/mapper/ProjectMilestoneMapper.xml @@ -75,6 +75,7 @@ AND a.milestone_node to_date(concat(#{fmProjectMilestone.milestoneNodeEnd},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') + and b.APPROVAL_STATUS not in ('0','1','2') order by a.update_time desc diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java index a4637b9bd..a75653fb6 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java @@ -611,8 +611,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpllambdaQuery().in(EquipAbilityEntity::getWorkCenterId, craft.getWorkCenterId()).eq(EquipAbilityEntity::getCraftId, craft.getCaId()).eq(EquipAbilityEntity::getProcessId,craft.getPpsId())); } if (CollectionUtils.isEmpty(equipAbilityList)) { - errorInfo.append("作业中心:" + workCenterMap.get(craft.getWorkCenterId()) + ",工艺:" + craftAbilityMap.get(craft.getCaId()) + ",工序:" + processMap.get(craft.getPpsId()) + ",未匹配到对应的设备能力;"); -// order.setErrorInfo("作业中心:" + workCenterMap.get(craft.getWorkCenterId()) + ",工艺:" + craftAbilityMap.get(craft.getCaId()) + ",工序:" + processMap.get(craft.getPpsId()) + ",未匹配到对应的设备能力"); + errorInfo.append("作业中心:" + workCenterMap.get(craft.getWorkCenterId()) + ",工艺能力:" + craftAbilityMap.get(craft.getCaId()) + ",工序:" + processMap.get(craft.getPpsId()) + ",未匹配到对应的设备能力;"); +// order.setErrorInfo("作业中心:" + workCenterMap.get(craft.getWorkCenterId()) + ",工艺能力:" + craftAbilityMap.get(craft.getCaId()) + ",工序:" + processMap.get(craft.getPpsId()) + ",未匹配到对应的设备能力"); // order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCode()); // yieldOrderService.updateById(order); isSchecuding = false; @@ -653,7 +653,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl 0){ order.setErrorInfo(errorInfo.toString()); order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCode()); + order.setUpdateTime(new Date()); yieldOrderService.updateById(order); } continue; @@ -1039,7 +1040,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl