From 7345cce032476bed014b66f2c7ae03eeb3f0cd33 Mon Sep 17 00:00:00 2001 From: sunjianxi <839419401@qq.com> Date: Fri, 29 May 2026 10:29:07 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9-sjx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WorkOrderServiceImpl.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) 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 Date: Fri, 29 May 2026 10:52:22 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=AE=A1=E5=88=92=E7=83=A7=E7=BB=93?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E9=9C=80=E8=A6=81=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E5=AD=90=E4=BB=B6=E5=BF=85=E9=A1=BB=E5=8C=85=E5=90=AB=E3=80=90?= =?UTF-8?q?=E7=8E=BB=E7=92=83=E9=A5=BC=E3=80=81=E5=A3=B3=E4=BD=93=E3=80=81?= =?UTF-8?q?=E6=8F=92=E9=92=88=E3=80=81=E7=9F=B3=E5=A2=A8=E6=A8=A1=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/YieldOrderServiceImpl.java | 140 +++++++++--------- 1 file changed, 72 insertions(+), 68 deletions(-) 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; // 先判断是否是热表订单 不是返回二级工艺 From 1958802fef0165c2e729e7d416e4762225a73c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=B9=BE=E7=BF=94?= Date: Fri, 29 May 2026 11:04:47 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springblade/desk/process/mapper/ProjectMilestoneMapper.xml | 1 + 1 file changed, 1 insertion(+) 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 From e4dafd737c65a2f7fbbc2ec9c548e48fe4385422 Mon Sep 17 00:00:00 2001 From: wusiyu <2015098864@qq.com> Date: Fri, 29 May 2026 11:16:58 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springblade/desk/device/mapper/MeasuringUpkeepMapper.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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 '新建'