From bb1befa2a8abae3f75cc71b524c46a6d206cb46b Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 30 一月 2026 10:47:01 +0800
Subject: [PATCH] feat(production): 添加生产核算功能和相关接口

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java           |    2 +-
 src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java         |    2 +-
 src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java            |    2 +-
 src/main/resources/mapper/production/ProductionProductMainMapper.xml                    |   45 +++++++++++++++++++++++++--------------------
 src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java              |    2 +-
 src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java |    2 +-
 6 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
index 1958e05..818b6f1 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
@@ -29,5 +29,5 @@
      */
     ProductOrder getOrderByMainId(@Param("productMainId") Long productMainId);
 
-    IPage<ProductionProductMainDto> listProductionDetails(SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
+    IPage<ProductionProductMainDto> listProductionDetails(@Param("ew") SalesLedgerProductionAccountingDto salesLedgerProductionAccountingDto, Page page);
 }
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
index 3dc98a1..a6fdd11 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -87,7 +87,7 @@
                     }
                 }
                 // 鐢熸垚瀹屾暣鐨勫伐鍗曞彿
-                String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
+                String workOrderNoStr ="GD"+ String.format("%s%03d", datePrefix, sequenceNumber);
                 ProductWorkOrder productWorkOrder = new ProductWorkOrder();
                 productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
                 productWorkOrder.setProductOrderId(productOrder.getId());
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
index 6c87939..4db1c0c 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
@@ -157,7 +157,7 @@
                 }
             }
             // 鐢熸垚瀹屾暣鐨勫伐鍗曞彿
-            String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
+            String workOrderNoStr = "GD" +String.format("%s%03d", datePrefix, sequenceNumber);
             ProductWorkOrder productWorkOrder = new ProductWorkOrder();
             productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
             productWorkOrder.setProductOrderId(productProcessRouteItem.getProductOrderId());
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
index 0e8497a..68c819c 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -116,7 +116,7 @@
                                     }
                                 }
                                 // 鐢熸垚瀹屾暣鐨勫伐鍗曞彿
-                                String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
+                                String workOrderNoStr ="FG" +String.format("%s%03d", datePrefix, sequenceNumber);
                                 ProductWorkOrder productWorkOrder = new ProductWorkOrder();
                                 productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
                                 productWorkOrder.setProductOrderId(order.getId());
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index a793a02..f596e88 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -323,7 +323,7 @@
                         }
                     }
                     // 鐢熸垚瀹屾暣鐨勫伐鍗曞彿
-                    String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
+                    String workOrderNoStr ="GD"+ String.format("%s%03d", datePrefix, sequenceNumber);
                     ProductWorkOrder productWorkOrder = new ProductWorkOrder();
                     productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
                     productWorkOrder.setProductOrderId(productOrder.getId());
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index ccc29e0..aeb4230 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -58,27 +58,32 @@
     </select>
     <select id="listProductionDetails" resultType="com.ruoyi.production.dto.ProductionProductMainDto">
         SELECT
-            slpa.scheduling_date,
-            slpa.scheduling_user_name,
-            sl.sales_contract_no,
-            sl.customer_name,
-            p.product_name,
-            pm.model,
-            pm.unit,
-            slpa.process,
-            ppo.quantity,
-            slpa.work_hours,
-            slpa.work_hours * slpa.finished_num AS wages
+        slpa.scheduling_date,
+        slpa.scheduling_user_name,
+        sl.sales_contract_no,
+        sl.customer_name,
+        p.product_name,
+        pm.model,
+        pm.unit,
+        slpa.process,
+        ppo.quantity,
+        slpa.work_hours,
+        slpa.work_hours * slpa.finished_num AS wages
         FROM
-            production_product_main ppm
-                LEFT JOIN sales_ledger_production_accounting slpa ON slpa.sales_ledger_work_id = ppm.id
-                LEFT JOIN production_product_output ppo ON ppm.id = ppo.product_main_id
-                LEFT JOIN product_work_order pwo ON pwo.id = ppm.work_order_id
-                LEFT JOIN product_order po ON po.id = pwo.product_order_id
-                LEFT JOIN process_route pr ON pr.id = po.route_id
-                LEFT JOIN product_model pm ON po.product_model_id = pm.id
-                LEFT JOIN product p ON p.id = pm.product_id
-                LEFT JOIN sales_ledger sl ON po.sales_ledger_id = sl.id
+        production_product_main ppm
+        LEFT JOIN sales_ledger_production_accounting slpa ON slpa.sales_ledger_work_id = ppm.id
+        LEFT JOIN production_product_output ppo ON ppm.id = ppo.product_main_id
+        LEFT JOIN product_work_order pwo ON pwo.id = ppm.work_order_id
+        LEFT JOIN product_order po ON po.id = pwo.product_order_id
+        LEFT JOIN process_route pr ON pr.id = po.route_id
+        LEFT JOIN product_model pm ON po.product_model_id = pm.id
+        LEFT JOIN product p ON p.id = pm.product_id
+        LEFT JOIN sales_ledger sl ON po.sales_ledger_id = sl.id
+        <where>
+            <if test="ew.schedulingUserName != null and ew.schedulingUserName !=''">
+                and slpa.scheduling_user_name = #{ew.schedulingUserName}
+            </if>
+        </where>
     </select>
 
     <delete id="deleteByWorkOrderIds" parameterType="java.util.List">

--
Gitblit v1.9.3