From ca83a37c04d4d4029eaffa7a7d11578c26ad74b8 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期四, 20 二月 2025 14:32:30 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml |  272 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 265 insertions(+), 7 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml b/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
index 0f9955d..19bb99a 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
@@ -9,7 +9,7 @@
 
 
     <!--鑾峰彇琛ョ墖鏁版嵁-->
-    <select id="SelectReplenish" resultType="Item" >
+    <select id="SelectReplenish"  >
         select
         r.id,
         r.review_status,
@@ -37,14 +37,91 @@
         r.quality_inspector,
         r.patch_processes,
         r.reviewer,
-        date(r.create_time) as create_time,
-        date(r.update_time) as update_time
+        r.create_time as create_time,
+        date(r.update_time) as update_time,
+        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber
         from pp.patch_log r left join sd.order_detail od on r.order_id=od.order_id and r.order_sort=od.order_number
         left join sd.`order` o on r.order_id = o.order_id
         left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd
         on r.order_id = ogd.order_id and r.order_sort = ogd.order_number
         <where>
             date(r.create_time)>=#{startDate} and date(r.create_time) &lt;= #{endDate}
+            and o.create_order>0
+            <if test="patchLog.patchId != null and patchLog.patchId != ''">
+                and r.patch_id regexp #{patchLog.patchId}
+            </if>
+            <if test="patchLog.orderId != null and patchLog.orderId != ''">
+                and r.order_id regexp #{patchLog.orderId}
+            </if>
+            <if test="patchLog.reportingWorkId != null and patchLog.reportingWorkId != ''">
+                and r.reporting_work_id regexp #{patchLog.reportingWorkId}
+            </if>
+            <if test="patchLog.processId != null and patchLog.processId != ''">
+                and r.process_id regexp #{patchLog.processId}
+            </if>
+            <if test="patchLog.project != null and patchLog.project != ''">
+                and o.project regexp #{patchLog.project}
+            </if>
+            <if test="patchLog.batch != null and patchLog.batch != ''">
+                and o.batch regexp #{patchLog.batch}
+            </if>
+            <if test="patchLog.orderSort != null and patchLog.orderSort != ''">
+                and r.order_sort regexp #{patchLog.orderSort}
+            </if>
+            <if test="patchLog.buildingNumber != null and patchLog.buildingNumber != ''">
+                and od.building_number regexp #{patchLog.buildingNumber}
+            </if>
+            <if test="patchLog.productName != null and patchLog.productName != ''">
+                and od.product_name regexp #{patchLog.productName}
+            </if>
+            <if test="patchLog.technologyNumber != null and patchLog.technologyNumber != ''">
+                and r.technology_number regexp #{patchLog.technologyNumber}
+            </if>
+            <if test="patchLog.qualityInspector != null and patchLog.qualityInspector != ''">
+                and r.quality_inspector regexp #{patchLog.qualityInspector}
+            </if>
+            <if test="patchLog.width != null and patchLog.width != ''">
+                and od.width regexp #{patchLog.width}
+            </if>
+            <if test="patchLog.height != null and patchLog.height != ''">
+                and od.height regexp #{patchLog.height}
+            </if>
+            <if test="patchLog.shape != null and patchLog.shape != ''">
+                and od.shape regexp #{patchLog.shape}
+            </if>
+            <if test="patchLog.patchNum != null and patchLog.patchNum != ''">
+                and r.patch_num regexp #{patchLog.patchNum}
+            </if>
+            <if test="patchLog.glassAddress != null and patchLog.glassAddress != ''">
+                and ogd.glass_address regexp #{patchLog.glassAddress}
+            </if>
+            <if test="patchLog.responsibleTeam != null and patchLog.responsibleTeam != ''">
+                and r.responsible_team regexp #{patchLog.responsibleTeam}
+            </if>
+            <if test="patchLog.responsibleEquipment != null and patchLog.responsibleEquipment != ''">
+                and r.responsible_equipment regexp #{patchLog.responsibleEquipment}
+            </if>
+            <if test="patchLog.responsiblePersonnel != null and patchLog.responsiblePersonnel != ''">
+                and r.responsible_personnel regexp #{patchLog.responsiblePersonnel}
+            </if>
+            <if test="patchLog.patchType != null and patchLog.patchType != ''">
+                and r.patch_type regexp #{patchLog.patchType}
+            </if>
+            <if test="patchLog.patchReason != null and patchLog.patchReason != ''">
+                and r.patch_reason regexp #{patchLog.patchReason}
+            </if>
+            <if test="patchLog.patchArea != null and patchLog.patchArea != ''">
+                and r.patch_area regexp #{patchLog.patchArea}
+            </if>
+            <if test="patchLog.qualityInspector != null and patchLog.qualityInspector != ''">
+                and r.quality_inspector regexp #{patchLog.qualityInspector}
+            </if>
+            <if test="patchLog.patchProcesses != null and patchLog.patchProcesses != ''">
+                and r.patch_processes regexp #{patchLog.patchProcesses}
+            </if>
+            <if test="patchLog.reviewer != null and patchLog.reviewer != ''">
+                and r.reviewer regexp #{patchLog.reviewer}
+            </if>
         </where>
          order by r.review_status,r.id desc
         limit #{offset},#{pageSize};
@@ -60,16 +137,94 @@
         on r.order_id = ogd.order_id and r.order_sort = ogd.order_number
         <where>
             date(r.create_time)>=#{startDate} and date(r.create_time) &lt;= #{endDate}
+            <if test="patchLog.patchId != null and patchLog.patchId != ''">
+                and r.patch_id regexp #{patchLog.patchId}
+            </if>
+            <if test="patchLog.orderId != null and patchLog.orderId != ''">
+                and r.order_id regexp #{patchLog.orderId}
+            </if>
+            <if test="patchLog.reportingWorkId != null and patchLog.reportingWorkId != ''">
+                and r.reporting_work_id regexp #{patchLog.reportingWorkId}
+            </if>
+            <if test="patchLog.processId != null and patchLog.processId != ''">
+                and r.process_id regexp #{patchLog.processId}
+            </if>
+            <if test="patchLog.project != null and patchLog.project != ''">
+                and o.project regexp #{patchLog.project}
+            </if>
+            <if test="patchLog.batch != null and patchLog.batch != ''">
+                and o.batch regexp #{patchLog.batch}
+            </if>
+            <if test="patchLog.orderSort != null and patchLog.orderSort != ''">
+                and r.order_sort regexp #{patchLog.orderSort}
+            </if>
+            <if test="patchLog.buildingNumber != null and patchLog.buildingNumber != ''">
+                and od.building_number regexp #{patchLog.buildingNumber}
+            </if>
+            <if test="patchLog.productName != null and patchLog.productName != ''">
+                and od.product_name regexp #{patchLog.productName}
+            </if>
+            <if test="patchLog.technologyNumber != null and patchLog.technologyNumber != ''">
+                and r.technology_number regexp #{patchLog.technologyNumber}
+            </if>
+            <if test="patchLog.qualityInspector != null and patchLog.qualityInspector != ''">
+                and r.quality_inspector regexp #{patchLog.qualityInspector}
+            </if>
+            <if test="patchLog.width != null and patchLog.width != ''">
+                and od.width regexp #{patchLog.width}
+            </if>
+            <if test="patchLog.height != null and patchLog.height != ''">
+                and od.height regexp #{patchLog.height}
+            </if>
+            <if test="patchLog.shape != null and patchLog.shape != ''">
+                and od.shape regexp #{patchLog.shape}
+            </if>
+            <if test="patchLog.patchNum != null and patchLog.patchNum != ''">
+                and r.patch_num regexp #{patchLog.patchNum}
+            </if>
+            <if test="patchLog.glassAddress != null and patchLog.glassAddress != ''">
+                and ogd.glass_address regexp #{patchLog.glassAddress}
+            </if>
+            <if test="patchLog.responsibleTeam != null and patchLog.responsibleTeam != ''">
+                and r.responsible_team regexp #{patchLog.responsibleTeam}
+            </if>
+            <if test="patchLog.responsibleEquipment != null and patchLog.responsibleEquipment != ''">
+                and r.responsible_equipment regexp #{patchLog.responsibleEquipment}
+            </if>
+            <if test="patchLog.responsiblePersonnel != null and patchLog.responsiblePersonnel != ''">
+                and r.responsible_personnel regexp #{patchLog.responsiblePersonnel}
+            </if>
+            <if test="patchLog.patchType != null and patchLog.patchType != ''">
+                and r.patch_type regexp #{patchLog.patchType}
+            </if>
+            <if test="patchLog.patchReason != null and patchLog.patchReason != ''">
+                and r.patch_reason regexp #{patchLog.patchReason}
+            </if>
+            <if test="patchLog.patchArea != null and patchLog.patchArea != ''">
+                and r.patch_area regexp #{patchLog.patchArea}
+            </if>
+            <if test="patchLog.qualityInspector != null and patchLog.qualityInspector != ''">
+                and r.quality_inspector regexp #{patchLog.qualityInspector}
+            </if>
+            <if test="patchLog.patchProcesses != null and patchLog.patchProcesses != ''">
+                and r.patch_processes regexp #{patchLog.patchProcesses}
+            </if>
+            <if test="patchLog.reviewer != null and patchLog.reviewer != ''">
+                and r.reviewer regexp #{patchLog.reviewer}
+            </if>
         </where>
-              ) as zu
-        limit #{offset},#{pageSize};
+        ) as zu
     </select>
 
 
 
 
     <select id="getMaximum" >
-        select count(*) from pp.patch_log where  date(create_time)=CURDATE()
+        SELECT IFNULL(patch_id,'00')
+        FROM patch_log
+        WHERE DATE(create_time) = CURDATE()
+        ORDER BY create_time DESC
+            LIMIT 1;
     </select>
 
 
@@ -108,6 +263,11 @@
 
     <update id="updateDamageDetails"  >
         update pp.damage_details set quantity=quantity+#{patchLog.patchNum},patch_status=1 where id=#{patchLog.reviewer}
+    </update>
+
+    <update id="updateReportingWorkDetail"  >
+        update pp.reporting_work_detail set patch_status=1 where reporting_work_id=#{reportingWorkId}
+                                          and order_number=#{orderSort} and technology_number=#{technologyNumber}
     </update>
 
 
@@ -149,9 +309,107 @@
                  left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd
                            on rw.order_id = ogd.order_id and dd.order_number = ogd.order_number
 
-        where  dd.breakage_quantity-dd.quantity>0 and dd.available=0 and (dd.responsible_process=rw.this_process or (dd.quality_ins_status!=1))
+        <where>  dd.breakage_quantity-dd.quantity>0 and dd.available=0 and (dd.responsible_process=rw.this_process or (dd.quality_ins_status!=1)) and rw.reviewed_state!=-1
+                and o.create_order>0
+            <if test="patchLogAddDTO.orderId != null and patchLogAddDTO.orderId != ''">
+                and o.order_id regexp #{patchLogAddDTO.orderId}
+            </if>
+            <if test="patchLogAddDTO.reportingWorkId != null and patchLogAddDTO.reportingWorkId != ''">
+                and dd.reporting_work_id regexp #{patchLogAddDTO.reportingWorkId}
+            </if>
+            <if test="patchLogAddDTO.productionId != null and patchLogAddDTO.productionId != ''">
+                and rw.production_id regexp #{patchLogAddDTO.productionId}
+            </if>
+            <if test="patchLogAddDTO.processId != null and patchLogAddDTO.processId != ''">
+                and rw.process_id regexp #{patchLogAddDTO.processId}
+            </if>
+            <if test="patchLogAddDTO.project != null and patchLogAddDTO.project != ''">
+                and o.project regexp #{patchLogAddDTO.project}
+            </if>
+            <if test="patchLogAddDTO.batch != null and patchLogAddDTO.batch != ''">
+                and o.batch regexp #{patchLogAddDTO.batch}
+            </if>
+            <if test="patchLogAddDTO.orderSort != null and patchLogAddDTO.orderSort != ''">
+                and dd.order_number regexp #{patchLogAddDTO.orderSort}
+            </if>
+            <if test="patchLogAddDTO.productName != null and patchLogAddDTO.productName != ''">
+                and od.product_name regexp #{patchLogAddDTO.productName}
+            </if>
+            <if test="patchLogAddDTO.technologyNumber != null and patchLogAddDTO.technologyNumber != ''">
+                and dd.technology_number regexp #{patchLogAddDTO.technologyNumber}
+            </if>
+            <if test="patchLogAddDTO.qualityInspector != null and patchLogAddDTO.qualityInspector != ''">
+                and rw.quality_inspector regexp #{patchLogAddDTO.qualityInspector}
+            </if>
+            <if test="patchLogAddDTO.width != null and patchLogAddDTO.width != ''">
+                and od.width regexp #{patchLogAddDTO.width}
+            </if>
+            <if test="patchLogAddDTO.height != null and patchLogAddDTO.height != ''">
+                and od.height regexp #{patchLogAddDTO.height}
+            </if>
+            <if test="patchLogAddDTO.shape != null and patchLogAddDTO.shape != ''">
+                and od.shape regexp #{patchLogAddDTO.shape}
+            </if>
+            <if test="patchLogAddDTO.glassAddress != null and patchLogAddDTO.glassAddress != ''">
+                and ogd.glass_address regexp #{patchLogAddDTO.glassAddress}
+            </if>
+            <if test="patchLogAddDTO.responsibleTeam != null and patchLogAddDTO.responsibleTeam != ''">
+                and dd.responsible_team regexp #{patchLogAddDTO.responsibleTeam}
+            </if>
+            <if test="patchLogAddDTO.responsibleEquipment != null and patchLogAddDTO.responsibleEquipment != ''">
+                and dd.responsible_equipment regexp #{patchLogAddDTO.responsibleEquipment}
+            </if>
+            <if test="patchLogAddDTO.responsibleProcess != null and patchLogAddDTO.responsibleProcess != ''">
+                and dd.responsible_process regexp #{patchLogAddDTO.responsibleProcess}
+            </if>
+            <if test="patchLogAddDTO.patchProcesses != null and patchLogAddDTO.patchProcesses != ''">
+                and rw.this_process regexp #{patchLogAddDTO.patchProcesses}
+            </if>
+            <if test="patchLogAddDTO.patchType != null and patchLogAddDTO.patchType != ''">
+                and dd.breakage_type regexp #{patchLogAddDTO.patchType}
+            </if>
+            <if test="patchLogAddDTO.patchReason != null and patchLogAddDTO.patchReason != ''">
+                and dd.breakage_reason regexp #{patchLogAddDTO.patchReason}
+            </if>
+        </where>
         order by dd.id desc
     </select>
 
+    <delete id="deleteReplenishMp">
+        delete from pp.patch_log where id=#{id}
+    </delete>
+
+    <delete id="updatePatchDdMp">
+        delete from pp.damage_details
+     where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber}
+        and breakage_reason=#{patchReason}
+    </delete>
+
+    <update id="updatePatchBgMp">
+        update pp.reporting_work_detail set patch_status=0
+        where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber}
+    </update>
+
+    <update id="updateOrderProcessDetailCancel">
+        update sd.order_process_detail
+        set reporting_work_num=reporting_work_num + #{patchLog.patchNum}
+        where order_id = #{patchLog.orderId}
+          and process_id = #{patchLog.processId}
+          and order_number = #{patchLog.orderSort}
+          and technology_number = #{patchLog.technologyNumber}
+          and id <![CDATA[<]]> (select a.opdid
+                                from (select id as opdid
+                                      from sd.order_process_detail opd
+                                      where opd.order_id = #{patchLog.orderId}
+                                        and opd.process_id = #{patchLog.processId}
+                                        and opd.order_number = #{patchLog.orderSort}
+                                        and opd.technology_number = #{patchLog.technologyNumber}
+                                        and process = #{reportingWork.thisProcess}) as a)
+    </update>
+
+    <update id="updateReplenishCancel">
+        update pp.patch_log set reviewer=null,review_status=0,update_time=now() where id=#{patchLog.id}
+    </update>
+
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0