From f350465db70d6f9db9494483ee0cec7793a9007b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 19 八月 2026 17:47:57 +0800
Subject: [PATCH] feat(approve): 实现审批流程或签会签功能并优化数据库配置

---
 src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
index 19da80f..fe197f0 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
@@ -52,6 +52,8 @@
     private ProductOrderService productOrderService;
     @Autowired
     private ProductProcessService productProcessService;
+    @Autowired
+    private ProductionProductMainService productionProductMainService;
 
     @Override
     public IPage<ProcessRouteDto> pageProcessRouteDto(Page<ProcessRouteDto> page, ProcessRouteDto processRouteDto) {
@@ -113,7 +115,9 @@
         ProductProcessRoute productProcessRoute = createProductProcessRoute(productModelId, productOrderId, productBom.getId(), processRoute.getProcessRouteCode());
 
         // 6. 鏂板鐢熶骇宸ヨ壓璺嚎瀛愯〃
-        buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId,productOrderId);
+        buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId, productOrderId);
+        // 鎺掍骇涓嬭揪鍚庤嚜鍔ㄨЕ鍙戠涓�閬撻渶璐ㄦ宸ュ簭鐨勮繃绋嬫楠�
+        productionProductMainService.preGenerateQualityInspectForOrder(productOrderId);
         return processRoute.getId();
     }
 
@@ -163,7 +167,7 @@
         processRoute.setDescription("");
         this.save(processRoute);
 
-        processRoute.setProcessRouteCode("GYLX." + String.format("%05d", processRoute.getId()));
+        processRoute.setProcessRouteCode("GYLX." + String.format("%09d", processRoute.getId()));
         this.updateById(processRoute);
 
         return processRoute;
@@ -208,24 +212,21 @@
     /**
      * 鏋勫缓鐢熶骇宸ヨ壓璺嚎瀛愰」鍒楄〃
      */
-    private void buildProductProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long productRouteId, Long productModelId,Long productOrderId) {
+    private void buildProductProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long productRouteId, Long productModelId, Long productOrderId) {
         ProductOrder byId = productOrderService.getById(productOrderId);
         Integer num = 0;
         for (ProcessRouteAnticlockwiseDto dto : dtos) {
             ProductProcessRouteItem item = new ProductProcessRouteItem();
             item.setProductRouteId(productRouteId);
             item.setProcessId(dto.getProcessId());
-            if (num >= dtos.size()-1) {
-                item.setProductModelId(productModelId);
-            }else {
-                item.setProductModelId(dto.getProductModelId());
-            }
+            item.setProductModelId(productModelId);
             item.setProcessRouteName(dto.getProcessRouteName());
             item.setProcessRouteOpenNum(dto.getProcessRouteOpenNum());
             item.setProcessRouteNum(dto.getProcessRouteNum());
             item.setProcessRouteAddNum(dto.getProcessRouteAddNum());
             item.setProcessRouteRequire(dto.getProcessRouteRequire());
             item.setDragSort(num++);
+            item.setIsQuality(dto.getProductProcess().getIsQuality() != null && dto.getProductProcess().getIsQuality());
             item.setUuid(dto.getUuid());
             productProcessRouteItemService.save(item);
             ProductProcess productProcess = productProcessService.getById(item.getProcessId());
@@ -237,7 +238,7 @@
             productWorkOrder.setDeviceId(dto.getDeviceId());
             productWorkOrder.setUserIds(dto.getUserIds());
             productWorkOrder.setUserNames(dto.getUserNames());
-            productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder( productProcess.getName(), byId.getNpsNo()));
+            productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(productProcess.getName(), byId.getNpsNo()));
             productWorkOrder.setStatus(1);
             productWorkOrderService.save(productWorkOrder);
         }

--
Gitblit v1.9.3