From a6f59f0908e5787d55c098c17f4eec365cf6477a Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期六, 23 十一月 2024 11:41:25 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml |  592 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 572 insertions(+), 20 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 b692efc..db5ea34 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -20,16 +20,163 @@
         <result column="reviewed_time" property="reviewedTime"/>
         <result column="remarks" property="remarks"/>
         <result column="is_state" property="isState"/>
+        <result column="process_id" property="processId"/>
 
         <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"/>
+
     </resultMap>
 
+    <select id="getSelectStorageRecord" 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>
+            date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
+            <if test="finishedOperateLog.operationOrderNumber != null and finishedOperateLog.operationOrderNumber != ''">
+                and fol.operation_order_number regexp #{finishedOperateLog.operationOrderNumber}
+            </if>
+            <if test="finishedOperateLog.orderId != null and finishedOperateLog.orderId != ''">
+                and fol.order_id regexp #{finishedOperateLog.orderId}
+            </if>
+            <if test="finishedOperateLog.operationNumber != null and finishedOperateLog.operationNumber != ''">
+                and fol.operation_number regexp #{finishedOperateLog.operationNumber}
+            </if>
+            <if test="finishedOperateLog.quantity != null and finishedOperateLog.quantity != ''">
+                and fol.quantity regexp #{finishedOperateLog.quantity}
+            </if>
+            <if test="finishedOperateLog.operator != null and finishedOperateLog.operator != ''">
+                and fol.operator regexp #{finishedOperateLog.operator}
+            </if>
+            <if test="finishedOperateLog.orderDetail.productId != null and finishedOperateLog.orderDetail.productId != ''">
+                and  od.product_id regexp #{finishedOperateLog.orderDetail.productId}
+            </if>
+            <if test="finishedOperateLog.orderDetail.productName != null and finishedOperateLog.orderDetail.productName != ''">
+                and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
+            </if>
+            <if test="finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != ''">
+                and  od.width regexp  REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.orderDetail.height != null and finishedOperateLog.orderDetail.height != ''">
+                and  od.height regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.height},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.operateTime != null and finishedOperateLog.operateTime != ''">
+                and fol.operate_time regexp #{finishedOperateLog.operateTime}
+            </if>
+            <if test="finishedOperateLog.status != null and finishedOperateLog.status != ''">
+                and fol.`status` regexp #{finishedOperateLog.status}
+            </if>
+            <if test="finishedOperateLog.reviewed != null and finishedOperateLog.reviewed != ''">
+                and fol.reviewed regexp #{finishedOperateLog.reviewed}
+            </if>
+            <if test="finishedOperateLog.reviewedTime != null and finishedOperateLog.reviewedTime != ''">
+                and fol.reviewed_time regexp #{finishedOperateLog.reviewedTime}
+            </if>
+            <if test="finishedOperateLog.type != null and finishedOperateLog.type != ''">
+                and fol.type regexp #{finishedOperateLog.type}
+            </if>
+            <if test="finishedOperateLog.remarks != null and finishedOperateLog.remarks != ''">
+                and fol.remarks regexp #{finishedOperateLog.remarksr}
+            </if>
+        </where>
+        order by fol.operate_time desc
+        limit #{offset},#{pageSize};
+    </select>
+
+    <select id="getSelectStorageRecordLogPageTotal">
+        select CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
+        count(fol.id) as 'total'
+        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
+        <where>
+            date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
+            <if test="finishedOperateLog.operationOrderNumber != null and finishedOperateLog.operationOrderNumber != ''">
+                and fol.operation_order_number regexp #{finishedOperateLog.operationOrderNumber}
+            </if>
+            <if test="finishedOperateLog.orderId != null and finishedOperateLog.orderId != ''">
+                and fol.order_id regexp #{finishedOperateLog.orderId}
+            </if>
+            <if test="finishedOperateLog.operationNumber != null and finishedOperateLog.operationNumber != ''">
+                and fol.operation_number regexp #{finishedOperateLog.operationNumber}
+            </if>
+            <if test="finishedOperateLog.quantity != null and finishedOperateLog.quantity != ''">
+                and fol.quantity regexp #{finishedOperateLog.quantity}
+            </if>
+            <if test="finishedOperateLog.operator != null and finishedOperateLog.operator != ''">
+                and fol.operator regexp #{finishedOperateLog.operator}
+            </if>
+            <if test="finishedOperateLog.orderDetail.productId != null and finishedOperateLog.orderDetail.productId != ''">
+                and  od.product_id regexp #{finishedOperateLog.orderDetail.productId}
+            </if>
+            <if test="finishedOperateLog.orderDetail.productName != null and finishedOperateLog.orderDetail.productName != ''">
+                and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
+            </if>
+            <if test="finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != ''">
+                and  od.width regexp  REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.orderDetail.height != null and finishedOperateLog.orderDetail.height != ''">
+                and  od.height regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.height},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.operateTime != null and finishedOperateLog.operateTime != ''">
+                and fol.operate_time regexp #{finishedOperateLog.operateTime}
+            </if>
+            <if test="finishedOperateLog.status != null and finishedOperateLog.status != ''">
+                and fol.`status` regexp #{finishedOperateLog.status}
+            </if>
+            <if test="finishedOperateLog.reviewed != null and finishedOperateLog.reviewed != ''">
+                and fol.reviewed regexp #{finishedOperateLog.reviewed}
+            </if>
+            <if test="finishedOperateLog.reviewedTime != null and finishedOperateLog.reviewedTime != ''">
+                and fol.reviewed_time regexp #{finishedOperateLog.reviewedTime}
+            </if>
+            <if test="finishedOperateLog.type != null and finishedOperateLog.type != ''">
+                and fol.type regexp #{finishedOperateLog.type}
+            </if>
+            <if test="finishedOperateLog.remarks != null and finishedOperateLog.remarks != ''">
+                and fol.remarks regexp #{finishedOperateLog.remarksr}
+            </if>
+        </where>
+        order by fol.`status` desc
+    </select>
+
+    <update id="updateToExamine">
+        update mm.finished_operate_log set reviewed=#{userName},reviewed_time=now(),status=#{type} where operation_order_number=#{finishedOperateLog.operationOrderNumber};
+    </update>
+
+    <update id="updateFinishedOperateLogState">
+        update mm.finished_operate_log set status=#{type} where id=#{finishedOperateLog.id};
+    </update>
+
     <select id="getSelectOperateRecord" resultMap="selectFinishedGoodsInventory">
-        select fol.operation_order_number,
+        select fol.id,
+               fol.operation_order_number,
                fol.order_id,
                fol.operation_number,
                fol.quantity,
@@ -46,9 +193,10 @@
                fol.type,
                fol.remarks
         from (select *
-              from mm.finished_operate_log aa where aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') fol
+              from mm.finished_operate_log aa where (aa.operate_type = '棰嗗嚭' or 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}
             <if test="finishedOperateLog.operationOrderNumber != null and finishedOperateLog.operationOrderNumber != ''">
                 and fol.operation_order_number regexp #{finishedOperateLog.operationOrderNumber}
             </if>
@@ -71,10 +219,10 @@
                 and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
             </if>
             <if test="finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != ''">
-                and  od.width regexp #{finishedOperateLog.orderDetail.width}
+                and  od.width regexp  REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
             </if>
             <if test="finishedOperateLog.orderDetail.height != null and finishedOperateLog.orderDetail.height != ''">
-                and  od.height regexp #{finishedOperateLog.orderDetail.height}
+                and  od.height regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.height},'\\.0+$','')
             </if>
             <if test="finishedOperateLog.operateTime != null and finishedOperateLog.operateTime != ''">
                 and fol.operate_time regexp #{finishedOperateLog.operateTime}
@@ -95,16 +243,18 @@
                 and fol.remarks regexp #{finishedOperateLog.remarksr}
             </if>
         </where>
-
+        order by fol.`status` desc
         limit #{offset},#{pageSize};
     </select>
 
     <select id="getSelectOperateRecordLogPageTotal" >
-        select  CEILING(count(fol.id)/#{pageSize})
+        select CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
+        count(fol.id) as 'total'
         from (select *
-            from mm.finished_operate_log aa where aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') fol
+            from mm.finished_operate_log aa where (aa.operate_type = '棰嗗嚭' or 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}
             <if test="finishedOperateLog.operationOrderNumber != null and finishedOperateLog.operationOrderNumber != ''">
                 and fol.operation_order_number regexp #{finishedOperateLog.operationOrderNumber}
             </if>
@@ -127,10 +277,10 @@
                 and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
             </if>
             <if test="finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != ''">
-                and  od.width regexp #{finishedOperateLog.orderDetail.width}
+                and  od.width regexp  REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
             </if>
             <if test="finishedOperateLog.orderDetail.height != null and finishedOperateLog.orderDetail.height != ''">
-                and  od.height regexp #{finishedOperateLog.orderDetail.height}
+                and  od.height regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.height},'\\.0+$','')
             </if>
             <if test="finishedOperateLog.operateTime != null and finishedOperateLog.operateTime != ''">
                 and fol.operate_time regexp #{finishedOperateLog.operateTime}
@@ -151,7 +301,6 @@
                 and fol.remarks regexp #{finishedOperateLog.remarksr}
             </if>
         </where>
-        limit #{offset},#{pageSize};
     </select>
 
     <select id="getselectAllocateFinishedOperateLog" resultMap="selectFinishedGoodsInventory" >
@@ -171,6 +320,7 @@
               from mm.finished_operate_log aa where aa.operate_type = '璋冩嫧') 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}
             <if test="finishedOperateLog.operationOrderNumber != null and finishedOperateLog.operationOrderNumber != ''">
                 and fol.operation_order_number regexp #{finishedOperateLog.operationOrderNumber}
             </if>
@@ -199,10 +349,10 @@
                 and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
             </if>
             <if test="finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != ''">
-                and  od.width regexp #{finishedOperateLog.orderDetail.width}
+                and  od.width regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
             </if>
             <if test="finishedOperateLog.orderDetail.height != null and finishedOperateLog.orderDetail.height != ''">
-                and  od.height regexp #{finishedOperateLog.orderDetail.height}
+                and  od.height regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.height},'\\.0+$','')
             </if>
             <if test="finishedOperateLog.operateTime != null and finishedOperateLog.operateTime != ''">
                 and fol.operate_time regexp #{finishedOperateLog.operateTime}
@@ -212,11 +362,190 @@
     </select>
 
     <select id="getselectAllocateFinishedOperateLogPageTotal"  >
-        select  CEILING(count(fol.id)/#{pageSize})
+        select  CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
+        count(fol.id) as 'total'
         from (select *
               from mm.finished_operate_log aa where aa.operate_type = '璋冩嫧') fol
                  left join sd.order_detail od on fol.order_id = od.order_id and fol.end_operation_order_number = od.order_number
+        <where>
+            date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
+            <if test="finishedOperateLog.operationOrderNumber != null and finishedOperateLog.operationOrderNumber != ''">
+                and fol.operation_order_number regexp #{finishedOperateLog.operationOrderNumber}
+            </if>
+            <if test="finishedOperateLog.orderId != null and finishedOperateLog.orderId != ''">
+                and fol.order_id regexp #{finishedOperateLog.orderId}
+            </if>
+            <if test="finishedOperateLog.operationNumber != null and finishedOperateLog.operationNumber != ''">
+                and fol.operation_number regexp #{finishedOperateLog.operationNumber}
+            </if>
+            <if test="finishedOperateLog.staterOperationOrderNumber != null and finishedOperateLog.staterOperationOrderNumber != ''">
+                and fol.stater_operation_order_number regexp #{finishedOperateLog.staterOperationOrderNumber}
+            </if>
+            <if test="finishedOperateLog.endOperationOrderNumber != null and finishedOperateLog.endOperationOrderNumber != ''">
+                and fol.end_operation_order_number regexp #{finishedOperateLog.endOperationOrderNumber}
+            </if>
+            <if test="finishedOperateLog.quantity != null and finishedOperateLog.quantity != ''">
+                and fol.quantity regexp #{finishedOperateLog.quantity}
+            </if>
+            <if test="finishedOperateLog.operator != null and finishedOperateLog.operator != ''">
+                and fol.operator regexp #{finishedOperateLog.operator}
+            </if>
+            <if test="finishedOperateLog.orderDetail.productId != null and finishedOperateLog.orderDetail.productId != ''">
+                and  od.product_id regexp #{finishedOperateLog.orderDetail.productId}
+            </if>
+            <if test="finishedOperateLog.orderDetail.productName != null and finishedOperateLog.orderDetail.productName != ''">
+                and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
+            </if>
+            <if test="finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != ''">
+                and  od.width regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.orderDetail.height != null and finishedOperateLog.orderDetail.height != ''">
+                and  od.height regexp REGEXP_REPLACE(#{finishedOperateLog.orderDetail.height},'\\.0+$','')
+            </if>
+            <if test="finishedOperateLog.operateTime != null and finishedOperateLog.operateTime != ''">
+                and fol.operate_time regexp #{finishedOperateLog.operateTime}
+            </if>
+        </where>
+    </select>
+
+
+    <select id="getSelectFinishedOperateLogReport" 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.stater_operation_order_number,
+        fol.end_operation_order_number,
+        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.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.operate_type=#{type}
+            <if test="finishedOperateLog.operateType != null and finishedOperateLog.operateType != ''">
+                and fol.operate_type regexp #{finishedOperateLog.operateType}
+            </if>
+            <if test="finishedOperateLog.operationOrderNumber != null and finishedOperateLog.operationOrderNumber != ''">
+                and fol.operation_order_number regexp #{finishedOperateLog.operationOrderNumber}
+            </if>
+            <if test="finishedOperateLog.orderId != null and finishedOperateLog.orderId != ''">
+                and fol.order_id regexp #{finishedOperateLog.orderId}
+            </if>
+            <if test="finishedOperateLog.operationNumber != null and finishedOperateLog.operationNumber != ''">
+                and fol.operation_number regexp #{finishedOperateLog.operationNumber}
+            </if>
+            <if test="finishedOperateLog.quantity != null and finishedOperateLog.quantity != ''">
+                and fol.quantity regexp #{finishedOperateLog.quantity}
+            </if>
+            <if test="finishedOperateLog.operator != null and finishedOperateLog.operator != ''">
+                and fol.operator regexp #{finishedOperateLog.operator}
+            </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.operateTime != null and finishedOperateLog.operateTime != ''">
+                and fol.operate_time regexp #{finishedOperateLog.operateTime}
+            </if>
+            <if test="finishedOperateLog.status != null and finishedOperateLog.status != ''">
+                and fol.`status` regexp #{finishedOperateLog.status}
+            </if>
+            <if test="finishedOperateLog.reviewed != null and finishedOperateLog.reviewed != ''">
+                and fol.reviewed regexp #{finishedOperateLog.reviewed}
+            </if>
+            <if test="finishedOperateLog.reviewedTime != null and finishedOperateLog.reviewedTime != ''">
+                and fol.reviewed_time regexp #{finishedOperateLog.reviewedTime}
+            </if>
+            <if test="finishedOperateLog.type != null and finishedOperateLog.type != ''">
+                and fol.type regexp #{finishedOperateLog.type}
+            </if>
+            <if test="finishedOperateLog.remarks != null and finishedOperateLog.remarks != ''">
+                and fol.remarks regexp #{finishedOperateLog.remarksr}
+            </if>
+        </where>
+        order by fol.`status` desc
         limit #{offset},#{pageSize};
+    </select>
+
+    <select id="getSelectFinishedOperateLogReportPageTotal">
+        select CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
+        count(fol.id) as 'total'
+        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)>=#{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>
+            <if test="finishedOperateLog.operationOrderNumber != null and finishedOperateLog.operationOrderNumber != ''">
+                and fol.operation_order_number regexp #{finishedOperateLog.operationOrderNumber}
+            </if>
+            <if test="finishedOperateLog.orderId != null and finishedOperateLog.orderId != ''">
+                and fol.order_id regexp #{finishedOperateLog.orderId}
+            </if>
+            <if test="finishedOperateLog.operationNumber != null and finishedOperateLog.operationNumber != ''">
+                and fol.operation_number regexp #{finishedOperateLog.operationNumber}
+            </if>
+            <if test="finishedOperateLog.quantity != null and finishedOperateLog.quantity != ''">
+                and fol.quantity regexp #{finishedOperateLog.quantity}
+            </if>
+            <if test="finishedOperateLog.operator != null and finishedOperateLog.operator != ''">
+                and fol.operator regexp #{finishedOperateLog.operator}
+            </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.operateTime != null and finishedOperateLog.operateTime != ''">
+                and fol.operate_time regexp #{finishedOperateLog.operateTime}
+            </if>
+            <if test="finishedOperateLog.status != null and finishedOperateLog.status != ''">
+                and fol.`status` regexp #{finishedOperateLog.status}
+            </if>
+            <if test="finishedOperateLog.reviewed != null and finishedOperateLog.reviewed != ''">
+                and fol.reviewed regexp #{finishedOperateLog.reviewed}
+            </if>
+            <if test="finishedOperateLog.reviewedTime != null and finishedOperateLog.reviewedTime != ''">
+                and fol.reviewed_time regexp #{finishedOperateLog.reviewedTime}
+            </if>
+            <if test="finishedOperateLog.type != null and finishedOperateLog.type != ''">
+                and fol.type regexp #{finishedOperateLog.type}
+            </if>
+            <if test="finishedOperateLog.remarks != null and finishedOperateLog.remarks != ''">
+                and fol.remarks regexp #{finishedOperateLog.remarksr}
+            </if>
+        </where>
     </select>
 
     <select id="getselectFinishedOperateLog" >
@@ -229,20 +558,23 @@
 
 
     <select id="getmaximum" >
-        select count(*) from mm.finished_operate_log where operate_type =#{type} and date(operate_time)=CURDATE()
+        select count(*) from (select * from mm.finished_operate_log where operate_type =#{type} and date(operate_time)=CURDATE() group by operation_order_number) zu
     </select>
 
     <insert id="insertIntFinishedOperateLog"  useGeneratedKeys="true" >
         insert into mm.finished_operate_log(operation_order_number,
                                             order_id,
+                                            process_id,
                                             operation_number,
                                             operate_type,
                                             operator,
                                             quantity,
-                                            operate_time
+                                            operate_time,
+                                            status,
+                                            remarks
         )
         values (
-                   #{oddNumber} ,#{flowCard.order.orderId},#{flowCard.orderNumber},"鍏ュ簱",#{userName},#{flowCard.inventoryQuantity},now()
+                   #{oddNumber} ,#{flowCard.order.orderId},#{flowCard.processId},#{flowCard.orderNumber},"鍏ュ簱",#{userName},#{flowCard.inventoryQuantity},now(),"鏈鏍�",#{container}
                )
     </insert>
 
@@ -253,11 +585,12 @@
                                             operate_type,
                                             operator,
                                             quantity,
-                                            operate_time
+                                            operate_time,
+                                            status
         )
         values (
-                   #{orderDetail.deliveryDetail.deliveryId} ,#{orderDetail.deliveryDetail.order_id},#{orderDetail.deliveryDetail.orderNumber}
-                   ,"鍑哄簱",#{userName},#{orderDetail.warehouseNum},now()
+                   #{orderDetail.deliveryDetail.deliveryId} ,#{orderDetail.deliveryDetail.orderId},#{orderDetail.deliveryDetail.orderNumber}
+                   ,"鍑哄簱",#{userName},#{orderDetail.deliveryDetail.quantity},now(),"鏈鏍�"
                )
     </insert>
 
@@ -279,6 +612,24 @@
                )
     </insert>
 
+    <insert id="insertFinishedOperateLogRework"  useGeneratedKeys="true"  >
+        insert into mm.finished_operate_log(operation_order_number,
+                                            order_id,
+                                            operation_number,
+                                            operate_type,
+                                            operator,
+                                            quantity,
+                                            operate_time,
+                                            status,
+                                            type,
+                                            remarks
+        )
+        values (
+                   #{oddNumber} ,#{orderDetail.finishedGoodsInventory.orderId},#{orderDetail.finishedGoodsInventory.orderNumber}
+               ,"杩斿伐",#{userName},#{orderDetail.quantity},now(),"鏈鏍�",#{operateType},#{remarks}
+               )
+    </insert>
+
     <insert id="insertFinishedOperateLogAllocate"  useGeneratedKeys="true" >
         insert into mm.finished_operate_log(operation_order_number,
                                             order_id,
@@ -287,14 +638,215 @@
                                             operator,
                                             quantity,
                                             operate_time,
+                                            status,
                                             stater_operation_order_number,
                                             end_operation_order_number
         )
         values (
                    #{oddNumber} ,#{orderDetail.finishedGoodsInventory.orderId},#{orderDetail.finishedGoodsInventory.orderNumber}
-                   ,"璋冩嫧",#{userName},#{orderDetail.quantity},now(),#{orderDetail.orderId},#{orderDetail.orderNumber}
+                   ,"璋冩嫧",#{userName},#{orderDetail.quantity},now(),"鏈鏍�",#{orderDetail.orderId},#{orderDetail.orderNumber}
                )
     </insert>
 
+    <select id="exportFinishedOperateLogReport">
+        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.stater_operation_order_number,
+               fol.end_operation_order_number,
+               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.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]} and fol.operate_type=#{type}
 
+    </select>
+
+    <insert id="insertOrderFinishedOperateLog"  useGeneratedKeys="true" >
+        insert into mm.finished_operate_log(operation_order_number,
+                                            order_id,
+                                            process_id,
+                                            operation_number,
+                                            operate_type,
+                                            operator,
+                                            quantity,
+                                            operate_time,
+                                            status
+        )
+        values (
+                   #{oddNumber} ,#{orderDetail.orderId},"",#{orderDetail.orderNumber},"鍏ュ簱",#{userName},#{orderDetail.quantity},now(),"鏈鏍�"
+               )
+    </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,
+    fol.quantity
+    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.process_id=#{processId} 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,fol.process_id
+    order by fol.operate_time desc
+</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
+            JOIN
+        (SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4
+         UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
+         UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10) n
+    ORDER BY
+        fol.operate_time DESC
+        LIMIT 50
+</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0