From 15f335a0553bbc56c23a1eea9548e53b8fdbcb87 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 11 三月 2024 11:29:04 +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 |  248 +++++++++++++++++++++++++++++++------------------
 1 files changed, 155 insertions(+), 93 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 50467cc..e099760 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ProductionScheduling.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ProductionScheduling.xml
@@ -42,123 +42,185 @@
     </resultMap>
 
 
-<!--    鏌ヨ宸叉帓鐗堟暟鎹�-->
-    <select id="SelectOkSchedulingMp">
-        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,
-        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,ps.scheduling_id
+    <!--    鏌ヨ宸叉帓鐗堟暟鎹�-->
+    <select id="selectOkSchedulingMp">
+        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(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(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,
+               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}
+                 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}
           and position(#{processes} in ps.processes)
           and position(#{orderId} in ps.order_id)
-
+        group by od.order_id, od.order_number
+        order by ps.id desc
     </select>
 
-    <!--    鏌ヨ宸叉帓浜у甫璁㈠崟缂栧彿鐨勬暟鎹�-->
+    <!--    鏌ヨ宸叉帓浜х殑鏁版嵁-->
     <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,
-        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,ps.scheduling_id
+        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(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(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,
+               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 )
+                 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 position(#{processes} in ps.processes)
           and position(#{orderId} in ps.order_id)
-
+        group by od.order_id, od.order_number
+        order by ps.id desc
     </select>
-<!--    鏌ヨ鏈帓浜ф暟鎹�-->
-    <select id="SelectNoSchedulingMp" >
-        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.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.quantity-IFNULL(ps.scheduling_quantity,0)>0 and od.create_time between #{selectTime1} and #{selectTime2}
+    <!--    鏌ヨ鏈帓浜ф暟鎹�-->
+    <select id="selectNoSchedulingMp">
+        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(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(ps.scheduling_quantity, 0)                      as productionScheduledQuantity,
+               round(od.width * od.height * (IFNULL(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.quantity - IFNULL((ps.scheduling_quantity), 0)) > 0
+          and od.create_time between #{selectTime1} and #{selectTime2}
 
           and position(#{orderId} in ps.order_id)
-    group by od.order_id,od.order_number
+          and position(#{processes} in ps.processes)
+
+        group by od.order_id, od.order_number
+        order by ps.id desc
     </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(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} and od.quantity-IFNULL(ps.scheduling_quantity,0)>0
-        group by od.order_id,od.order_number
+        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(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}
+          and (od.quantity - IFNULL((ps.scheduling_quantity), 0)) > 0
+
+        group by od.order_id, od.order_number
+        order by ps.id desc
     </select>
 
     <select id="selectMaxId">
-        select
-            COUNT(ps.scheduling_id)
-        from
-            `production_scheduling` as ps
-        where
-            date(ps.create_time) = curdate()
+        select COUNT(ps.scheduling_id)
+        from `production_scheduling` as ps
+        where date(ps.create_time) = curdate()
     </select>
 
     <insert id="insertSelective">
-        insert into production_scheduling(
-               scheduling_id,
-               order_id,
-               order_number,
-               processes,
-               scheduling_quantity,
-               scheduled_start_time,
-               plan_end_time,
-               notes,
-               create_time
-               )
-        VALUES(
-               #{schedulingId},
-               #{orderId},
-               #{orderNumber},
-               #{processes},
-               #{schedulingQuantity},
-               #{scheduledStartTime},
-               #{planEndTime},
-               #{notes},
-               now()
-              )
+        insert into production_scheduling(scheduling_id,
+                                          order_id,
+                                          order_number,
+                                          processes,
+                                          scheduling_quantity,
+                                          scheduled_start_time,
+                                          plan_end_time,
+                                          notes,
+                                          create_time)
+        VALUES (#{schedulingId},
+                #{orderId},
+                #{orderNumber},
+                #{processes},
+                #{schedulingQuantity},
+                #{scheduledStartTime},
+                #{planEndTime},
+                #{notes},
+                now())
     </insert>
 
-    <update id="ExamineSchedulingMp">
-        update production_scheduling set review_status=1,reviewer=#{userName} where
-        scheduling_id=#{schedulingId}
+    <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
+        from production_scheduling
+        where scheduling_id = #{schedulingId}
     </delete>
+
+    <select id="selectProcess">
+        SELECT *
+        FROM sd.basic_data as bd
+        where bd.basic_category = 'process'
+          and bd.basic_type = 'product'
+    </select>
+
+    <select id="selectNumberMp">
+
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0