廖井涛
2025-09-12 fc28d01cfa022d0f91ec719490342d726db2e105
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -2446,7 +2446,8 @@
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
               concat('对应我司单号', o.batch)                 AS otherRemarks,
               fc.technology_number                            as qrcode
               fc.technology_number                            as qrcode,
               o.other_remarks
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -2492,7 +2493,8 @@
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
               od.order_number,
               od.width,
               od.height
               od.height,
               od.building_number
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
@@ -2531,7 +2533,8 @@
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS S02,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS S03,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS S04,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05,
                od.building_number
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
@@ -3088,7 +3091,9 @@
                              a.quantity as 'baiscQuantity',
                              #{glassThickness} as 'thickness',
        IF(a.height >= a.width, a.height, a.width) as 'long',
        IF(a.height < a.width, a.height, a.width) as 'short'
        IF(a.height < a.width, a.height, a.width) as 'short',
        IF(a.height >= a.width, a.height, a.width) as 'longSide',
        IF(a.height < a.width, a.height, a.width) as 'shortSide'
        from sd.order_detail as a
        left join sd.order_glass_detail as b
        on a.order_id = b.order_id and a.order_number = b.order_number
@@ -3560,4 +3565,89 @@
        SELECT max(reporting_work_num) FROM  sd.`order_process_detail`
        where process_id=#{processId} and order_number=#{orderNumber} and process=#{interceptProcess}
    </select>
    <select id="getProcessOk">
        SELECT
            GROUP_CONCAT(process ORDER BY id SEPARATOR '->') AS processes
        FROM sd.order_process_detail
        WHERE process_id = #{processId}
          AND order_number = #{orderNumber}
          AND technology_number = #{technologyNumber}
          AND reporting_work_num_count > 0;
    </select>
    <select id="getProcessDetail">
        SELECT *
        FROM sd.order_process_detail
        WHERE process_id = #{processId}
          AND order_number = #{orderNumber}
          AND technology_number = #{technologyNumber}
          AND reporting_work_num_count > 0
          AND process = #{process}
    </select>
    <update id="updateOrderProcessDetail">
        UPDATE sd.order_process_detail
        set reporting_work_num_count = #{reportingWorkNumCount},
            reporting_work_num = #{reportingWorkNum},
            broken_num = #{brokenNum}
        where process_id = #{processId} and order_number = #{orderNumber} and
              technology_number = #{technologyNumber} and process = #{process}
    </update>
    <select id="getPrimaryListRefundHB">
        select o.customer_name,
               o.project,
               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
               ogd.process,
               od.edging_type,
               ogd.glass_child,
               od.product_name,
               o.processing_note,
               fc.process_id,
               pl.patch_num                                    as quantity,
               round(SUM(ogd.total_area), 2)                   as gross_area,
               sum(od.weight)                                  as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
               dd.breakage_type,
               dd.breakage_reason,
               dd.responsible_process,
               dd.responsible_team,
               concat('对应我司单号', o.batch)                 AS otherRemarks,
               dd.responsible_personnel,
               #{mergeTechnologyNumber} as  mergeTechnologyNumber,
               pl.patch_id
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.`order` as o on o.order_id = fc.order_id
                 left join sd.product as p on p.id = od.product_id
                 left join (select ogd.order_id,
                                   ogd.order_number,
                                   ogd.technology_number,
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = #{orderId}
                              and ogd.order_number = #{orderNumber}
                              and position(ogd.technology_number in #{technologyNumber})
                            GROUP BY order_id, order_number) as ogdc
                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                              ogdc.technology_number = ogd.technology_number
                 left join patch_log as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                              pl.technology_number = fc.technology_number
                 left join pp.reporting_work as rw on rw.order_id = fc.order_id and rw.process_id = fc.process_id
                 left join pp.damage_details as dd
                           on rw.reporting_work_id = dd.reporting_work_id and dd.order_number = fc.order_number and
                              dd.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and fc.technology_number = #{technologyNumber}
          and pl.reporting_work_id = #{reportingWorkId}
          and dd.breakage_reason = #{patchReason}
        group by fc.process_id
    </select>
</mapper>