From da1101c8aa321160b43d24291f7b5dc4c79511ea Mon Sep 17 00:00:00 2001 From: liweidong-hj Date: Mon, 1 Jun 2026 18:21:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=BC=82=E5=B8=B8=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=96=B0=E5=A2=9E=E8=B4=9F=E8=B4=A3=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/order/pojo/entity/YieldOrder.java | 6 ++ .../desk/basic/mapper/UrgentPartMapper.java | 1 + .../desk/basic/mapper/UrgentPartMapper.xml | 3 + .../basic/service/IUrgentPartService.java | 8 ++ .../service/impl/UrgentPartServiceImpl.java | 5 + .../service/impl/DsPartServiceImpl.java | 57 ++++++++--- .../service/impl/DsTaskingServiceImpl.java | 5 + .../desk/order/mapper/YieldOrderMapper.xml | 2 +- .../service/impl/MoldDemandServiceImpl.java | 1 - .../service/impl/YieldOrderServiceImpl.java | 98 ++++++++++++++++++- .../service/impl/MakeRecServiceImpl.java | 2 + .../service/impl/WorkOrderServiceImpl.java | 2 + .../service/impl/WorkPlanServiceImpl.java | 2 + .../impl/InspectionTaskServiceImpl.java | 2 + .../service/impl/ReviewSheetServiceImpl.java | 1 + 15 files changed, 179 insertions(+), 16 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java index 5f16990b8..64879afdf 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java @@ -517,6 +517,9 @@ public class YieldOrder extends BaseEntity { @Schema(description = "一级工序名称状态") private Integer firseqNameStatus; + @Schema(description = "工艺任务ID") + private Long taskingId; + @JsonSerialize(nullsUsing = NullSerializer.class) private Double plateThickness1; @@ -540,4 +543,7 @@ public class YieldOrder extends BaseEntity { @TableField(exist = false) private List children; + + @TableField(exist = false) + private String craftMan; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/UrgentPartMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/UrgentPartMapper.java index 1327315b7..eac440902 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/UrgentPartMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/UrgentPartMapper.java @@ -29,4 +29,5 @@ public interface UrgentPartMapper extends BaseMapper { */ List exportUrgentPart(@Param("ew") Wrapper queryWrapper); + List selectByPlanNoAndPartCode(@Param("ypCode") String ypCode,@Param("partCode") String partCode); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/UrgentPartMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/UrgentPartMapper.xml index 698de8d1a..740301750 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/UrgentPartMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/UrgentPartMapper.xml @@ -14,6 +14,9 @@ FROM BS_URGENT_PART ${ew.customSqlSegment} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IUrgentPartService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IUrgentPartService.java index b7d7e79ad..314a1b5d3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IUrgentPartService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IUrgentPartService.java @@ -61,4 +61,12 @@ public interface IUrgentPartService extends BaseService { * @return R */ R voidRecords(List ids); + + /** + * 根据计划单号和零件号查询 + * @param ypCode + * @param partCode + * @return + */ + List selectByPlanNoAndPartCode(String ypCode, String partCode); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/UrgentPartServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/UrgentPartServiceImpl.java index 351b80760..c0495285e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/UrgentPartServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/UrgentPartServiceImpl.java @@ -234,4 +234,9 @@ public class UrgentPartServiceImpl extends BaseServiceImpl selectByPlanNoAndPartCode(String ypCode, String partCode) { + return baseMapper.selectByPlanNoAndPartCode(ypCode,partCode); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java index 8a2e8a62a..f03ae13f4 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java @@ -28,6 +28,7 @@ import org.springblade.desk.dashboard.service.*; import org.springblade.desk.dashboard.utils.DateUtils; import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.pojo.enums.YieldOrderEnum; +import org.springblade.desk.order.service.IYieldOrderService; import org.springblade.erpdata.feign.IErpDataPartClient; import org.springblade.scheduling.pojo.entity.CraftAbilityEntity; import org.springblade.system.feign.IDictClient; @@ -123,6 +124,10 @@ public class DsPartServiceImpl extends BaseServiceImpl selectDsPartPage(IPage page, DsPartVO dsPart) { @@ -686,7 +691,7 @@ public class DsPartServiceImpl extends BaseServiceImpl taskingEntityList = taskingService.selectTaskingByPartCode(partEntity.getPartCode(),TaskingConstant.TASK_STATUS_WAIT,TaskingConstant.INSPECTION_TIMEOUT); - if(!CollectionUtils.isEmpty(taskingEntityList)){ + private void createMaintainTask(DsPartEntity partEntity, DsPartVersionEntity partVersionEntity, YieldOrder yieldOrder) { + // 1. 查询是否存在等待中的超时检验任务 + List taskingEntityList = taskingService.selectTaskingByPartCode( + partEntity.getPartCode(), + TaskingConstant.TASK_STATUS_WAIT, + TaskingConstant.INSPECTION_TIMEOUT + ); + + // 2. 如果存在未完成的任务, + if (!CollectionUtils.isEmpty(taskingEntityList)) { + DsTaskingEntity existingTask = taskingEntityList.stream() + .sorted(Comparator.comparing(DsTaskingEntity::getCreateTime).reversed()) + .findFirst() + .orElse(taskingEntityList.get(0)); + + yieldOrder.setTaskingId(existingTask.getId()); + yieldOrderService.updateById(yieldOrder); + log.debug("订单关联已有维护任务,订单ID:{},任务ID:{}", yieldOrder.getId(), existingTask.getId()); return; } - DsTaskingEntity dsTaskingEntity = new DsTaskingEntity(); - dsTaskingEntity.setPartCode(partEntity.getPartCode()); - dsTaskingEntity.setPartName(partEntity.getPartName()); - dsTaskingEntity.setTaskStatus(TaskingConstant.TASK_STATUS_WAIT); - dsTaskingEntity.setTaskType(TaskingConstant.INSPECTION_TIMEOUT); + + // 3. 创建新任务 + DsTaskingEntity newTask = new DsTaskingEntity(); + newTask.setPartCode(partEntity.getPartCode()); + newTask.setPartName(partEntity.getPartName()); + newTask.setTaskStatus(TaskingConstant.TASK_STATUS_WAIT); + newTask.setTaskType(TaskingConstant.INSPECTION_TIMEOUT); if (partVersionEntity != null) { - dsTaskingEntity.setVersion(partVersionEntity.getPartVersion()); + newTask.setVersion(partVersionEntity.getPartVersion()); } - boolean taskingSave = taskingService.save(dsTaskingEntity); + + boolean taskingSave = taskingService.save(newTask); if (!taskingSave) { log.error("创建维护任务失败,零件编码:{}", partEntity.getPartCode()); + throw new ServiceException("创建维护任务失败,零件编码:" + partEntity.getPartCode()); + } + + // 4. 保存成功后设置任务ID + yieldOrder.setTaskingId(newTask.getId()); + boolean updateResult = yieldOrderService.updateById(yieldOrder); + if (!updateResult) { + log.error("更新订单任务ID失败,订单ID:{},任务ID:{}", yieldOrder.getId(), newTask.getId()); + throw new ServiceException("更新订单任务ID失败"); } + + log.info("创建维护任务成功,零件编码:{},任务ID:{}", partEntity.getPartCode(), newTask.getId()); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java index 9da6fb8fd..2cc38269c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java @@ -148,12 +148,15 @@ public class DsTaskingServiceImpl extends BaseServiceImpl