From 7104751e2f26872d4891d01d42ee88cf19715d01 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 08 七月 2025 17:46:01 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml |  299 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 293 insertions(+), 6 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
index 01d1242..672a9b3 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -21,11 +21,19 @@
         <result column="remarks" property="remarks"/>
         <result column="is_state" property="isState"/>
         <result column="process_id" property="processId"/>
+        <result column="money" property="money"/>
+        <result column="area" property="area"/>
 
         <result column="width" property="orderDetail.width"/>
         <result column="height" property="orderDetail.height"/>
         <result column="product_id" property="orderDetail.productId"/>
         <result column="product_name" property="orderDetail.productName"/>
+
+        <result column="project" property="order.project"/>
+        <result column="customer_name" property="order.customerName"/>
+        <result column="delivery_address" property="order.deliveryAddress"/>
+        <result column="project" property="order.project"/>
+        <result column="customer_name" property="order.customerName"/>
 
     </resultMap>
 
@@ -48,7 +56,11 @@
         fol.reviewed,
         fol.reviewed_time,
         fol.type,
-        fol.remarks
+        fol.remarks,
+        fol.area,
+        fol.money,
+        o.customer_name,
+        o.project
         from (select *
         from mm.finished_operate_log aa where aa.operate_type = #{type}  and aa.status!='宸蹭綔搴�') fol
         left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
@@ -66,6 +78,9 @@
             </if>
             <if test="finishedOperateLog.quantity != null and finishedOperateLog.quantity != ''">
                 and fol.quantity regexp #{finishedOperateLog.quantity}
+            </if>
+            <if test="finishedOperateLog.processId != null and finishedOperateLog.processId != ''">
+                and fol.process_id regexp #{finishedOperateLog.processId}
             </if>
             <if test="finishedOperateLog.operator != null and finishedOperateLog.operator != ''">
                 and fol.operator regexp #{finishedOperateLog.operator}
@@ -99,6 +114,18 @@
             </if>
             <if test="finishedOperateLog.remarks != null and finishedOperateLog.remarks != ''">
                 and fol.remarks regexp #{finishedOperateLog.remarksr}
+            </if>
+            <if test="finishedOperateLog.area != null and finishedOperateLog.area != ''">
+                and fol.area regexp #{finishedOperateLog.area}
+            </if>
+            <if test="finishedOperateLog.money != null and finishedOperateLog.money != ''">
+                and fol.money regexp #{finishedOperateLog.money}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.customerName != null and finishedOperateLog.order.customerName != '')">
+                and o.customer_name regexp #{finishedOperateLog.order.customerName}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.project != null and finishedOperateLog.order.project != '')">
+                and o.project regexp #{finishedOperateLog.order.project}
             </if>
         </where>
         order by fol.operate_time desc
@@ -157,6 +184,18 @@
             </if>
             <if test="finishedOperateLog.remarks != null and finishedOperateLog.remarks != ''">
                 and fol.remarks regexp #{finishedOperateLog.remarksr}
+            </if>
+            <if test="finishedOperateLog.area != null and finishedOperateLog.area != ''">
+                and fol.area regexp #{finishedOperateLog.area}
+            </if>
+            <if test="finishedOperateLog.money != null and finishedOperateLog.money != ''">
+                and fol.money regexp #{finishedOperateLog.money}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.customerName != null and finishedOperateLog.order.customerName != '')">
+                and o.customer_name regexp #{finishedOperateLog.order.customerName}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.project != null and finishedOperateLog.order.project != '')">
+                and o.project regexp #{finishedOperateLog.order.project}
             </if>
         </where>
         order by fol.`status` desc
@@ -431,7 +470,7 @@
         from mm.finished_operate_log aa where  aa.status!='宸蹭綔搴�') fol
         left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
         <where>
-            date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
+            date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate} and fol.operate_type=#{type}
             <if test="finishedOperateLog.operateType != null and finishedOperateLog.operateType != ''">
                 and fol.operate_type regexp #{finishedOperateLog.operateType}
             </if>
@@ -492,7 +531,7 @@
         from mm.finished_operate_log aa where  aa.status!='宸蹭綔搴�') fol
         left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
         <where>
-            date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
+            date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate} and fol.operate_type=#{type}
             <if test="finishedOperateLog.operateType != null and finishedOperateLog.operateType != ''">
                 and fol.operate_type regexp #{finishedOperateLog.operateType}
             </if>
@@ -567,10 +606,13 @@
                                             quantity,
                                             operate_time,
                                             status,
-                                            remarks
+                                            remarks,
+                                            money,
+                                            area
         )
         values (
-                   #{oddNumber} ,#{flowCard.order.orderId},#{flowCard.processId},#{flowCard.orderNumber},"鍏ュ簱",#{userName},#{flowCard.inventoryQuantity},now(),"鏈鏍�",#{container}
+                   #{oddNumber} ,#{flowCard.order.orderId},#{flowCard.processId},#{flowCard.orderNumber},"鍏ュ簱",#{userName},
+                #{flowCard.inventoryQuantity},now(),"鏈鏍�",#{container},#{deliveryDetailMoney},#{deliveryDetailArea}
                )
     </insert>
 
@@ -669,7 +711,7 @@
         from (select *
               from mm.finished_operate_log aa where  aa.status!='宸蹭綔搴�') fol
                  left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
-        where  date(fol.operate_time)>=#{dates[0]} and date(fol.operate_time) &lt;= #{dates[1]}
+        where  date(fol.operate_time)>=#{dates[0]} and date(fol.operate_time) &lt;= #{dates[1]} and fol.operate_type=#{type}
 
     </select>
 
@@ -689,7 +731,252 @@
                )
     </insert>
 
+    <delete id="updateOrderFinishedOperateLog"  >
+        update  mm.finished_operate_log set status="宸蹭綔搴�" where order_id=#{orderDetail.orderId} and operation_number=#{orderDetail.orderNumber} and operate_type="鍏ュ簱";
+    </delete>
+
+    <select id="getSelectStorageRecordPint" resultMap="selectFinishedGoodsInventory">
+        select fol.id,
+        fol.operation_order_number,
+        fol.order_id,
+        fol.operate_type,
+        fol.process_id,
+        fol.operation_number,
+        fol.quantity,
+        fol.operator,
+        od.product_id,
+        od.product_name,
+        od.width,
+        od.height,
+        o.project,
+        o.customer_name,
+        o.delivery_address,
+        fol.operate_time,
+        fol.`status`,
+        fol.is_state,
+        fol.reviewed,
+        fol.reviewed_time,
+        fol.remarks
+        from (select *
+        from mm.finished_operate_log aa where aa.operate_type = '鍏ュ簱'  and aa.status!='宸蹭綔搴�') fol
+        left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
+        left join sd.`order` o on o.order_id=fol.order_id
+        <where>
+            date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
+            and (fol.remarks is not null and fol.remarks !="") and (fol.process_id !="" and fol.process_id is not null)
+            <if test="finishedOperateLog.orderId != null and finishedOperateLog.orderId != ''">
+                and fol.order_id regexp #{finishedOperateLog.orderId}
+            </if>
+            <if test="finishedOperateLog.processId != null and finishedOperateLog.processId != ''">
+                and  od.process_id regexp #{finishedOperateLog.processId}
+            </if>
+            <if test="finishedOperateLog.orderDetail !=null and (finishedOperateLog.orderDetail.productId != null and finishedOperateLog.orderDetail.productId != '')">
+                and  od.product_id regexp #{finishedOperateLog.orderDetail.productId}
+            </if>
+            <if test="finishedOperateLog.orderDetail !=null and (finishedOperateLog.orderDetail.productName != null and finishedOperateLog.orderDetail.productName != '')">
+                and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
+            </if>
+            <if test="finishedOperateLog.orderDetail !=null and (finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != '')">
+                and  od.width regexp  REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.orderDetail !=null and (finishedOperateLog.orderDetail.height != null and finishedOperateLog.orderDetail.height != '')">
+                and  od.height regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.height},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.project != null and finishedOperateLog.order.project != '')">
+                and  o.project regexp #{finishedOperateLog.order.project}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.customerName != null and finishedOperateLog.order.customerName != '')">
+                and  o.customer_name regexp #{finishedOperateLog.order.customerName}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.deliveryAddress != null and finishedOperateLog.order.deliveryAddress != '')">
+                and  o.delivery_address regexp #{finishedOperateLog.order.deliveryAddress}
+            </if>
+            <if test="finishedOperateLog.remarks != null and finishedOperateLog.remarks != ''">
+                and fol.remarks regexp #{finishedOperateLog.remarksr}
+            </if>
+        </where>
+        group by fol.remarks,od.order_id,fol.process_id
+        order by fol.operate_time desc
+        limit #{offset},#{pageSize};
+    </select>
+
+    <select id="getSelectStorageRecordPintPageTotal">
+        select
+        CEILING(count(zu.id)/#{pageSize}) as 'pageTotal',
+        count(zu.id) as 'total' from (
+        select fol.id
+        from (select *
+        from mm.finished_operate_log aa where aa.operate_type = '鍏ュ簱'  and aa.status!='宸蹭綔搴�') fol
+        left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
+        <where>
+            date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
+            and (fol.remarks is not null and fol.remarks !="") and (fol.process_id !="" and fol.process_id is not null)
+            <if test="finishedOperateLog.orderId != null and finishedOperateLog.orderId != ''">
+                and fol.order_id regexp #{finishedOperateLog.orderId}
+            </if>
+            <if test="finishedOperateLog.processId != null and finishedOperateLog.processId != ''">
+                and  od.process_id regexp #{finishedOperateLog.processId}
+            </if>
+            <if test="finishedOperateLog.orderDetail !=null and (finishedOperateLog.orderDetail.productId != null and finishedOperateLog.orderDetail.productId != '')">
+                and  od.product_id regexp #{finishedOperateLog.orderDetail.productId}
+            </if>
+            <if test="finishedOperateLog.orderDetail !=null and (finishedOperateLog.orderDetail.productName != null and finishedOperateLog.orderDetail.productName != '')">
+                and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
+            </if>
+            <if test="finishedOperateLog.orderDetail !=null and (finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != '')">
+                and  od.width regexp  REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.orderDetail !=null and (finishedOperateLog.orderDetail.height != null and finishedOperateLog.orderDetail.height != '')">
+                and  od.height regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.height},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.project != null and finishedOperateLog.order.project != '')">
+                and  o.project regexp #{finishedOperateLog.order.project}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.customerName != null and finishedOperateLog.order.customerName != '')">
+                and  o.customer_name regexp #{finishedOperateLog.order.customerName}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.deliveryAddress != null and finishedOperateLog.order.deliveryAddress != '')">
+                and  o.delivery_address regexp #{finishedOperateLog.order.deliveryAddress}
+            </if>
+            <if test="finishedOperateLog.remarks != null and finishedOperateLog.remarks != ''">
+                and fol.remarks regexp #{finishedOperateLog.remarksr}
+            </if>
+        </where>
+        group by fol.remarks,od.order_id,fol.process_id) as zu
+
+    </select>
+
+<select id="getPrimaryListLimt">
+    select  o.order_id,
+    o.customer_name,
+    o.project,
+    fol.remarks,
+    SUM(fol.quantity) as quantity,
+    ROUND( sum(od.width * od.height * fol.quantity) / 1000000, 2 ) as area
+    from (select *
+    from mm.finished_operate_log aa where aa.operate_type = '鍏ュ簱'  and aa.status!='宸蹭綔搴�') fol
+    left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
+    left join sd.`order` o on o.order_id=fol.order_id
+    where
+    o.order_id=#{orderId}  and fol.remarks=#{remarks}
+    and (fol.remarks is not null and fol.remarks !="") and (fol.process_id !="" and fol.process_id is not null)
+
+    group by fol.remarks,od.order_id
+    order by fol.operate_time desc
+</select>
+
+    <select id="getPrimaryListLimts">
+        select kkk.*,rw.teams_groups_name as teams_groups_name2 from(select  o.order_id,
+                                                       o.customer_name,
+                                                       o.project,
+                                                       fol.remarks,
+                                                       SUM(fol.quantity) as quantity,
+                                                       ROUND( sum(od.width * od.height * fol.quantity) / 1000000, 2 ) as area,
+                                                       ROUND( sum(od.width * od.height * fol.quantity*p.total_thickness*2.5) / 1000000, 2 ) as weight,
+                                                       fol.process_id,
+                                                       aaa.teams_groups_name,
+                                                       aaa.previous_process,
+                                                       date( aaa.reporting_work_time) as reporting_work_time
+                                               from (select *
+                                                     from mm.finished_operate_log aa where aa.operate_type = '鍏ュ簱'  and aa.status!='宸蹭綔搴�') fol
+                                                        left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
+                                                        left join sd.`order` o on o.order_id=fol.order_id
+                                                        left join sd.product p on od.product_id=p.id
+                                                        left join (select teams_groups_name,process_id,previous_process,reporting_work_time from pp.reporting_work  where this_process='鍖呰') aaa on  aaa.process_id=fol.process_id
 
 
 
+                                               where
+                                                   o.order_id=#{orderId}  and fol.remarks=#{remarks}
+                                                 and (fol.remarks is not null and fol.remarks !="") and (fol.process_id !="" and fol.process_id is not null)
+
+                                               group by fol.remarks,od.order_id
+                                              ) as kkk
+                                                  left join  pp.reporting_work rw on  rw.process_id=kkk.process_id and rw.this_process=kkk.previous_process
+        group by kkk.remarks,kkk.order_id
+
+    </select>
+
+<select id="getDetailList">
+    SELECT
+        od.building_number,
+        od.width,
+        od.height,
+        fol.quantity,
+        ROUND( od.width * od.height * fol.quantity / 1000000, 2 ) as area
+    FROM
+        ( SELECT * FROM mm.finished_operate_log aa WHERE aa.operate_type = '鍏ュ簱' AND aa.STATUS != '宸蹭綔搴�' ) fol
+            LEFT JOIN sd.order_detail od ON fol.order_id = od.order_id
+            AND fol.operation_number = od.order_number
+            LEFT JOIN sd.`order` o ON o.order_id = fol.order_id
+    WHERE
+        o.order_id=#{orderId} and fol.remarks=#{remarks}
+    ORDER BY
+        fol.operate_time DESC
+
+</select>
+
+    <select id="getDetailLists">
+        SELECT
+            od.building_number,
+            od.width,
+            od.height,
+            fol.quantity,
+            od.product_name,
+            od.product_id,
+            ROUND( od.width * od.height * fol.quantity / 1000000, 2 ) as area
+        FROM
+            ( SELECT * FROM mm.finished_operate_log aa WHERE aa.operate_type = '鍏ュ簱' AND aa.STATUS != '宸蹭綔搴�' ) fol
+                LEFT JOIN sd.order_detail od ON fol.order_id = od.order_id
+                AND fol.operation_number = od.order_number
+                LEFT JOIN sd.`order` o ON o.order_id = fol.order_id
+        WHERE
+            o.order_id=#{orderId} and fol.remarks=#{remarks} and od.product_id=#{productId}
+        ORDER BY
+            fol.operate_time DESC
+
+    </select>
+
+    <select id="getDetailList2">
+        SELECT
+            od.product_id,
+            od.product_name
+        FROM
+            ( SELECT * FROM mm.finished_operate_log aa WHERE aa.operate_type = '鍏ュ簱' AND aa.STATUS != '宸蹭綔搴�' ) fol
+                LEFT JOIN sd.order_detail od ON fol.order_id = od.order_id
+                AND fol.operation_number = od.order_number
+                LEFT JOIN sd.`order` o ON o.order_id = fol.order_id
+        WHERE
+            o.order_id=#{orderId} and fol.remarks=#{remarks}
+        group by
+            od.product_id
+
+    </select>
+
+    <select id="getSelectStorageRecordDeliveryId" resultMap="selectFinishedGoodsInventory">
+        select fol.id,
+        fol.operation_order_number,
+        fol.order_id,
+        fol.operate_type,
+        fol.process_id,
+        fol.operation_number,
+        fol.quantity,
+        fol.operator,
+        od.product_id,
+        od.product_name,
+        od.width,
+        od.height,
+        fol.operate_time,
+        fol.`status`,
+        fol.is_state,
+        fol.reviewed,
+        fol.reviewed_time,
+        fol.type,
+        fol.remarks
+        from (select *
+        from mm.finished_operate_log aa where aa.operate_type = #{type}  and aa.status!='宸蹭綔搴�') fol
+        left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
+        left join sd.`order` o on o.order_id=fol.order_id
+        where fol.operation_order_number=#{deliveryId}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0