From c1db4e0ccf2c2ef1d6b6eb61946af5453010cf06 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期六, 09 五月 2026 15:24:10 +0800
Subject: [PATCH] feat(production): 在生产和报工查询中增加车间筛选和展示

---
 src/main/resources/mapper/production/ProductionOrderMapper.xml |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductionOrderMapper.xml b/src/main/resources/mapper/production/ProductionOrderMapper.xml
index b279001..35a7941 100644
--- a/src/main/resources/mapper/production/ProductionOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductionOrderMapper.xml
@@ -27,6 +27,7 @@
         <result column="productName" property="productName" />
         <result column="model" property="model" />
         <result column="processRouteCode" property="processRouteCode" />
+        <result column="returned" property="returned" />
     </resultMap>
 
     <sql id="ProductionOrderVoColumns">
@@ -49,8 +50,13 @@
         po_sales.customerName,
         p.product_name as productName,
         pm.model as model,
+        po.is_end_order as endOrder,
         tr.process_route_code as processRouteCode,
-        tb.bom_no as bomNo
+        ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus,
+        tb.bom_no as bomNo,
+        pop_return.returned as returned,
+        t7.name as workshop_name,
+        t7.id as workshop_id
     </sql>
 
     <sql id="ProductionOrderVoFrom">
@@ -71,6 +77,14 @@
                  left join product p on pm.product_id = p.id
                  left join technology_routing tr on po.technology_routing_id = tr.id
                  left join technology_bom tb on tb.id = tr.bom_id
+                 left join (
+            select production_order_id as productionOrderId,
+                   if(max(case when ifnull(is_returned, 0) = 1 then 1 else 0 end) = 1, true, false) as returned
+            from production_order_pick
+            group by production_order_id
+        ) pop_return on pop_return.productionOrderId = po.id
+                left join workshop as t7 on po.workshop_id = t7.id
+
     </sql>
 
     <sql id="ProductionOrderWhere">
@@ -115,6 +129,9 @@
                 <if test="c.endTime != null">
                     and po.end_time &lt;= #{c.endTime}
                 </if>
+                <if test="c.workshopId != null">
+                    and t7.id = #{c.workshopId}
+                </if>
             </if>
         </where>
     </sql>

--
Gitblit v1.9.3