From ae0bbc7e8fce2cc23e15aa730e0c53c524b4112e Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 07 三月 2024 16:19:05 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/ProductionScheduling.xml |   56 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 31 insertions(+), 25 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/pp/ProductionScheduling.xml b/north-glass-erp/src/main/resources/mapper/pp/ProductionScheduling.xml
index 825f97d..50467cc 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ProductionScheduling.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ProductionScheduling.xml
@@ -7,6 +7,8 @@
         <result column="processes" property="processes"/>
         <result column="scheduling_quantity" property="schedulingQuantity"/>
         <result column="order_number" property="orderNumber"/>
+        <result column="scheduling_id" property="schedulingId"/>
+        <result column="order_id" property="orderId"/>
         <!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
         <association property="order" javaType="com.example.erp.entity.sd.Order">
             <result column="project" property="project"/>
@@ -47,47 +49,43 @@
                od.order_id,o.customer_name,o.project,od.order_number,od.width,od.height,od.quantity,
         round(od.width*od.height*od.quantity/1000000,2) as area,
         ps.scheduling_quantity,
-        (od.quantity-IFNULL(ps.scheduling_quantity,0)) as pendingProductionQuantity,
-        round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2) as pendingProductionArea,
+#         (od.quantity-IFNULL(ps.scheduling_quantity,0)) as pendingProductionQuantity,
+#         round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2) as pendingProductionArea,
         IFNULL(ps.scheduling_quantity,0) as productionScheduledQuantity,
         round(od.width*od.height*(IFNULL(ps.scheduling_quantity,0))/1000000,2) as productionScheduledArea,
         IF(ps.review_status=0,"鏈鏍�","宸插鏍�") as review_status,
         ps.reviewer,
-        od.product_name,od.shape
+        od.product_name,od.shape,ps.scheduling_id
         from sd.order_detail as od
             left join sd.order as o on od.order_id=o.order_id
             left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
         where  ps.scheduling_id IS NOT NULL
            and od.create_time between #{selectTime1} and #{selectTime2}
-        <if test="processes!=null and processes!=''">
-            and ps.processes regexp #{processes}
-        </if>
+          and position(#{processes} in ps.processes)
+          and position(#{orderId} in ps.order_id)
 
     </select>
 
     <!--    鏌ヨ宸叉帓浜у甫璁㈠崟缂栧彿鐨勬暟鎹�-->
-    <select id="SelectSchedulingNotMp">
+    <select id="selectSchedulingNotMp">
         select date(ps.scheduled_start_time) as scheduled_start_time,
         date(ps.plan_end_time) as plan_end_time,
         od.order_id,o.customer_name,o.project,od.order_number,od.width,od.height,od.quantity,
         round(od.width*od.height*od.quantity/1000000,2) as area,
         ps.scheduling_quantity,
-        (od.quantity-IFNULL(ps.scheduling_quantity,0)) as pendingProductionQuantity,
-        round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2) as pendingProductionArea,
+#         (od.quantity-IFNULL(ps.scheduling_quantity,0)) as pendingProductionQuantity,
+#         round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2) as pendingProductionArea,
         IFNULL(ps.scheduling_quantity,0) as productionScheduledQuantity,
         round(od.width*od.height*(IFNULL(ps.scheduling_quantity,0))/1000000,2) as productionScheduledArea,
         IF(ps.review_status=0,"鏈鏍�","宸插鏍�") as review_status,
         ps.reviewer,
-        od.product_name,od.shape
+        od.product_name,od.shape,ps.scheduling_id
         from sd.order_detail as od
         left join sd.order as o on od.order_id=o.order_id
         left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
-        where  ps.scheduling_id IS NOT NULL
-        and od.order_id regexp #{orderId}
-
-        <if test="processes!=null and processes!=''">
-            and ps.processes regexp #{processes}
-        </if>
+        where  (ps.scheduling_id IS NOT NULL )
+          and position(#{processes} in ps.processes)
+          and position(#{orderId} in ps.order_id)
 
     </select>
 <!--    鏌ヨ鏈帓浜ф暟鎹�-->
@@ -101,25 +99,24 @@
         od.product_name,od.shape
         from sd.order_detail as od left join sd.order as o on od.order_id=o.order_id
         left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
-        where  isnull(ps.scheduling_id) and od.create_time between #{selectTime1} and #{selectTime2}
-        <if test="orderId!=null and orderId!=''">
-            and od.order_id regexp #{orderId}
+        where   od.quantity-IFNULL(ps.scheduling_quantity,0)>0 and od.create_time between #{selectTime1} and #{selectTime2}
 
-        </if>
+          and position(#{orderId} in ps.order_id)
     group by od.order_id,od.order_number
     </select>
 <!--    棣栨鏌ヨ鎺掍骇鏁版嵁-->
     <select id="selectLastSchedulingMp">
         select od.order_id,o.customer_name,o.project,od.order_number,od.width,od.height,od.quantity,
                round(od.width*od.height*od.quantity/1000000,2) as area,
-               (od.quantity-IFNULL(ps.scheduling_quantity,0)) as pendingProductionQuantity,
-               round(od.width*od.height*(od.quantity-IFNULL(ps.scheduling_quantity,0))/1000000,2) as pendingProductionArea,
-               IFNULL(ps.scheduling_quantity,0) as productionScheduledQuantity,
-               round(od.width*od.height*(IFNULL(ps.scheduling_quantity,0))/1000000,2) as productionScheduledArea,
+               (od.quantity-IFNULL(sum(ps.scheduling_quantity),0)) as pendingProductionQuantity,
+               round(od.width*od.height*(od.quantity-IFNULL(sum(ps.scheduling_quantity),0))/1000000,2) as pendingProductionArea,
+               IFNULL(sum(ps.scheduling_quantity),0) as productionScheduledQuantity,
+               round(od.width*od.height*(IFNULL(sum(ps.scheduling_quantity),0))/1000000,2) as productionScheduledArea,
                od.product_name,od.shape
         from sd.order_detail as od left join sd.order as o on od.order_id=o.order_id
                                    left join production_scheduling as ps on ps.order_id=od.order_id and ps.order_number=od.order_number
-        where od.create_time between #{selectTime1} and #{selectTime2}
+        where od.create_time between #{selectTime1} and #{selectTime2} and od.quantity-IFNULL(ps.scheduling_quantity,0)>0
+        group by od.order_id,od.order_number
     </select>
 
     <select id="selectMaxId">
@@ -155,4 +152,13 @@
                now()
               )
     </insert>
+
+    <update id="ExamineSchedulingMp">
+        update production_scheduling set review_status=1,reviewer=#{userName} where
+        scheduling_id=#{schedulingId}
+    </update>
+
+    <delete id="deleteSchedulingMp">
+        delete from production_scheduling where scheduling_id=#{schedulingId}
+    </delete>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0