From 413a7e27886bcc87bbd8aaf995f09dbe82cb17e7 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 06 五月 2025 14:56:08 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml | 421 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 421 insertions(+), 0 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
new file mode 100644
index 0000000..7e9e30c
--- /dev/null
+++ b/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
@@ -0,0 +1,421 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--杩斿伐鏁版嵁-->
+
+<mapper namespace="com.example.erp.mapper.pp.PatchLogMapper">
+
+
+
+ <!--鑾峰彇琛ョ墖鏁版嵁-->
+ <select id="SelectReplenish" >
+ select
+ r.id,
+ r.review_status,
+ r.reporting_work_id,
+ r.patch_id,
+ r.process_id,
+ r.order_id,
+ r.order_sort,
+ o.project,
+ o.batch,
+ od.building_number,
+ od.product_name,
+ r.technology_number,
+ ogd.glass_address,
+ r.patch_num,
+ od.width,
+ od.height,
+ od.shape,
+ r.patch_type,
+ r.patch_reason,
+ r.responsible_team,
+ r.responsible_personnel,
+ r.responsible_equipment,
+ r.patch_area,
+ r.quality_inspector,
+ r.patch_processes,
+ r.reviewer,
+ 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) <= #{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};
+ </select>
+
+ <select id="SelectReplenishPageTotal" >
+ select CEILING(count(zu.id)/#{pageSize}) as 'pageTotal',
+ count(zu.id) as 'total'
+ from (select r.id as id
+ 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) <= #{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
+ </select>
+
+
+
+
+ <select id="getMaximum" >
+ SELECT IFNULL(patch_id,'00')
+ FROM patch_log
+ WHERE DATE(create_time) = CURDATE()
+ ORDER BY create_time DESC
+ LIMIT 1;
+ </select>
+
+
+ <insert id="insertReplenish" useGeneratedKeys="true" >
+ insert into pp.patch_log(patch_id,reporting_work_id,process_id,order_id, order_sort, technology_number, responsible_team,
+ responsible_personnel, patch_type, patch_reason, patch_processes, patch_num,
+ patch_area,responsible_equipment,quality_inspector, reviewer, review_status, create_time)
+ values (
+ #{oddNumber}, #{patchLog.reportingWorkId},#{patchLog.processId},#{patchLog.orderId},#{patchLog.orderSort},#{patchLog.technologyNumber},
+ #{patchLog.responsibleTeam},#{patchLog.responsiblePersonnel},#{patchLog.patchType},#{patchLog.patchReason},
+ #{patchLog.patchProcesses},#{patchLog.patchNum},#{patchLog.patchArea},#{patchLog.responsibleEquipment},#{patchLog.qualityInspector},"",0,now()
+ )
+ </insert>
+
+ <update id="updateReplenish" >
+ update pp.patch_log set reviewer=#{userName},review_status=1,update_time=now() where id=#{patchLog.id}
+ </update>
+
+
+ <update id="updateOrderProcessDetail" >
+ 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="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>
+
+
+ <select id="getSelectReplenish">
+ select date(rw.reporting_work_time) as reportingWorkTime,
+ o.order_id as orderId,
+ dd.reporting_work_id as reportingWorkId,
+ rw.production_id as productionId,
+ rw.process_id as processId,
+ o.project,
+ o.batch,
+ dd.id as reviewer,
+ od.building_number as buildingNumber,
+ dd.order_number as orderSort,
+ od.product_name as productName,
+ dd.technology_number as technologyNumber,
+ ogd.glass_address as glassAddress,
+ dd.breakage_quantity-dd.quantity as patchNum,
+ od.width,
+ od.height,
+ od.shape,
+ dd.responsible_process as responsibleProcess,
+ rw.this_process as patchProcesses,
+ dd.breakage_quantity-dd.quantity as breakageQuantity,
+ dd.return_process as patchProcesses,
+ dd.breakage_reason as patchReason,
+ dd.breakage_type as patchType,
+ dd.responsible_personnel as responsiblePersonnel,
+ dd.responsible_equipment as responsibleEquipment,
+ dd.responsible_team as responsibleTeam,
+ ROUND((dd.breakage_quantity-dd.quantity) * od.width * od.height / 1000000, 2) as patchArea,
+ rw.quality_inspector as qualityInspector
+ from pp.damage_details dd
+ left join pp.reporting_work_detail rwd on dd.reporting_work_id = rwd.reporting_work_id and dd.order_number=rwd.order_number and dd.technology_number=rwd.technology_number
+ left join pp.reporting_work rw on dd.reporting_work_id = rw.reporting_work_id
+
+ left join sd.`order` o on rw.order_id = o.order_id
+ left join sd.order_detail od on rw.order_id = od.order_id and dd.order_number = od.order_number
+ 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)) and rw.reviewed_state!=-1
+ and o.create_order>0 and dd.patch_status=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>
+
+ <select id="selectProjectCount">
+ SELECT COUNT(*)
+ FROM patch_log
+ WHERE process_id= #{processId} and patch_id=#{patchId} and technology_number = #{technologyNumber}
+ and project_no IS not NULL;
+ </select>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.8.0