From e3b3fd13ae3afcfbe5c03ef7249a92a093bd1831 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 27 五月 2026 15:34:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_天津_阳光彩印' into dev_天津_阳光彩印

---
 src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 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 b2f3dac..9c40694 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
@@ -17,6 +17,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -92,10 +93,10 @@
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public Long processRouteAnticlockwise(List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos, Long productModelId, Long productOrderId,String uuid) {
+    public Long processRouteAnticlockwise(List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos, Long productModelId, Long productOrderId) {
         ProductOrder byId = productOrderService.getById(productOrderId);
         // 1. 鏂板BOM
-        ProductBom productBom = createProductBom(productModelId,uuid);
+        ProductBom productBom = createProductBom(productModelId);
 
         // 2. 鏂板BOM瀛愯〃
         List<ProductStructure> productStructures = buildProductStructures(processRouteAnticlockwiseDtos, productBom.getId());
@@ -112,18 +113,17 @@
         ProductProcessRoute productProcessRoute = createProductProcessRoute(productModelId, productOrderId, productBom.getId(), processRoute.getProcessRouteCode());
 
         // 6. 鏂板鐢熶骇宸ヨ壓璺嚎瀛愯〃
-        buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId,productOrderId);
+        buildProductProcessRouteItems(processRouteAnticlockwiseDtos, productProcessRoute.getId(), productModelId, productOrderId);
         return processRoute.getId();
     }
 
     /**
      * 鍒涘缓浜у搧BOM
      */
-    private ProductBom createProductBom(Long productModelId,String uuid) {
+    private ProductBom createProductBom(Long productModelId) {
         ProductBom productBom = new ProductBom();
         productBom.setProductModelId(productModelId);
         productBom.setVersion("1.0.0");
-        productBom.setUuid(uuid);
         productBomService.save(productBom);
 
         productBom.setBomNo("BM." + String.format("%05d", productBom.getId()));
@@ -141,6 +141,7 @@
             ProductStructure structure = new ProductStructure();
             structure.setProductModelId(dto.getProductModelId());
             structure.setProcessId(dto.getProcessId());
+            structure.setUnitQuantity(new BigDecimal(1));
             structure.setProcessRouteOpenNum(dto.getProcessRouteOpenNum());
             structure.setProcessRouteNum(dto.getProcessRouteNum());
             structure.setProcessRouteAddNum(dto.getProcessRouteAddNum());
@@ -162,7 +163,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;
@@ -173,16 +174,18 @@
      */
     private List<ProcessRouteItem> buildProcessRouteItems(List<ProcessRouteAnticlockwiseDto> dtos, Long routeId, Long productModelId) {
         List<ProcessRouteItem> items = new ArrayList<>(dtos.size());
+        Integer num = 0;
         for (ProcessRouteAnticlockwiseDto dto : dtos) {
             ProcessRouteItem item = new ProcessRouteItem();
             item.setRouteId(routeId);
             item.setProcessId(dto.getProcessId());
-            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++);
             items.add(item);
         }
         return items;
@@ -205,29 +208,33 @@
     /**
      * 鏋勫缓鐢熶骇宸ヨ壓璺嚎瀛愰」鍒楄〃
      */
-    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());
-            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());
             //鍚屾鏂板鐢熶骇宸ュ崟
             ProductWorkOrder productWorkOrder = new ProductWorkOrder();
             productWorkOrder.setProductProcessRouteItemId(item.getId());
             productWorkOrder.setProductOrderId(productOrderId);
-            ProductOrder order = productOrderMapper.selectById(productOrderId);
-            productWorkOrder.setPlanQuantity(order.getQuantity());
+            productWorkOrder.setPlanQuantity(new BigDecimal(dto.getProcessRouteNum()));
             productWorkOrder.setDeviceId(dto.getDeviceId());
             productWorkOrder.setUserIds(dto.getUserIds());
-            productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(null, productProcess.getName(), byId.getNpsNo()));
+            productWorkOrder.setUserNames(dto.getUserNames());
+            productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(productProcess.getName(), byId.getNpsNo()));
             productWorkOrder.setStatus(1);
             productWorkOrderService.save(productWorkOrder);
         }

--
Gitblit v1.9.3