chenlu
2025-08-04 6d390204f55d6bbb6f9eb7a97a9ebf48bfd2c2fd
north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
@@ -24,6 +24,7 @@
        od.product_name,
        r.technology_number,
        ogd.glass_address,
        ogd.glass_child,
        r.patch_num,
        od.width,
        od.height,
@@ -37,13 +38,13 @@
        r.quality_inspector,
        r.patch_processes,
        r.reviewer,
        date(r.create_time) as create_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
        left join (select * from sd.order_glass_detail group by order_id,order_number,technology_number) as ogd
        on r.order_id = ogd.order_id and r.order_sort = ogd.order_number and r.technology_number=ogd.technology_number
        <where>
            date(r.create_time)>=#{startDate} and date(r.create_time) &lt;= #{endDate}
            and o.create_order>0
@@ -95,6 +96,9 @@
            <if test="patchLog.glassAddress != null and patchLog.glassAddress != ''">
                and ogd.glass_address regexp #{patchLog.glassAddress}
            </if>
            <if test="patchLog.glassChild != null and patchLog.glassChild != ''">
                and ogd.glass_child regexp #{patchLog.glassChild}
            </if>
            <if test="patchLog.responsibleTeam != null and patchLog.responsibleTeam != ''">
                and r.responsible_team regexp #{patchLog.responsibleTeam}
            </if>
@@ -133,8 +137,8 @@
        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
        left join (select * from sd.order_glass_detail group by order_id,order_number,technology_number) as ogd
        on r.order_id = ogd.order_id and r.order_sort = ogd.order_number and r.technology_number=ogd.technology_number
        <where>
            date(r.create_time)>=#{startDate} and date(r.create_time) &lt;= #{endDate}
            <if test="patchLog.patchId != null and patchLog.patchId != ''">
@@ -185,6 +189,9 @@
            <if test="patchLog.glassAddress != null and patchLog.glassAddress != ''">
                and ogd.glass_address regexp #{patchLog.glassAddress}
            </if>
            <if test="patchLog.glassChild != null and patchLog.glassChild != ''">
                and ogd.glass_child regexp #{patchLog.glassChild}
            </if>
            <if test="patchLog.responsibleTeam != null and patchLog.responsibleTeam != ''">
                and r.responsible_team regexp #{patchLog.responsibleTeam}
            </if>
@@ -220,7 +227,11 @@
    <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>
@@ -295,18 +306,19 @@
               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
               rw.quality_inspector as qualityInspector,
               ogd.glass_child as glassChild
        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
                 left join (select * from sd.order_glass_detail group by order_id,order_number,technology_number) as ogd
                           on rw.order_id = ogd.order_id and dd.order_number = ogd.order_number and rwd.technology_number=ogd.technology_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 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>
@@ -348,6 +360,9 @@
            </if>
            <if test="patchLogAddDTO.glassAddress != null and patchLogAddDTO.glassAddress != ''">
                and ogd.glass_address regexp #{patchLogAddDTO.glassAddress}
            </if>
            <if test="patchLogAddDTO.glassChild != null and patchLogAddDTO.glassChild != ''">
                and ogd.glass_child regexp #{patchLogAddDTO.glassChild}
            </if>
            <if test="patchLogAddDTO.responsibleTeam != null and patchLogAddDTO.responsibleTeam != ''">
                and dd.responsible_team regexp #{patchLogAddDTO.responsibleTeam}
@@ -407,5 +422,11 @@
        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>