廖井涛
2024-07-11 d7b2a85f3df48d65f78672d9e1de6be177e78759
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -498,6 +498,17 @@
                 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 = left(#{processId},10)
              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
        where fc.process_id = #{processId}
          and fc.technology_number = #{technologyNumber}
        group by fc.process_id, fc.technology_number
@@ -511,12 +522,16 @@
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               od.other_columns
               od.other_columns,
               round(ogd.child_width) as width,
               round(ogd.child_height) as height,
               pd.separation
        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.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
        where fc.process_id = #{processId}
          and fc.technology_number = #{technologyNumber}
        group by fc.process_id, fc.order_number
@@ -555,6 +570,7 @@
               od.width,
               od.height,
               ogd.glass_child,
               ogd.process,
               e.type_name,
               opd.stock_id,
               od.quantity,
@@ -564,7 +580,7 @@
                 left join sd.order_detail od
                           on SUBSTR(opd.process_id, 1, 10) = od.order_id and opd.order_sort = od.order_number
                 left join sd.order_glass_detail ogd
                           on SUBSTR(opd.process_id, 1, 10) = ogd.order_id and opd.order_sort = ogd.order_number
                           on SUBSTR(opd.process_id, 1, 10) = ogd.order_id and opd.order_sort = ogd.order_number and opd.layer=ogd.technology_number
                 left join sd.product p on od.product_id = p.id
                 left join sd.basic_glass_type e on e.type_id = p.type_id
        where opd.project_no = #{projectNo}
@@ -581,6 +597,7 @@
               od.order_number as orderNumber,
               fc.technology_number as technologyNumber,
               ogd.glass_child,
               ogd.process,
               c.customer_abbreviation as customer_name,
               ifnull(od.processing_note,'') as processing_note,
               bgt.type_name,
@@ -792,7 +809,70 @@
    <update id="updatePrintStateMp">
        update  pp.flow_card
        set print_status = #{printState}
        set print_status = print_status+1
        where process_id = #{processId} and technology_number = #{technologyNumber}
    </update>
    <select id="printFlowCardOrderSortMp">
        SELECT fc.process_id,
               fc.order_number,
               fc.technology_number,
               ogd.glass_address,
               ogd.child_width,
               ogd.child_height,
               fc.quantity,
               ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
               fc.sort
        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
        where fc.order_id=#{orderId}
        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.technology_number)
    </select>
    <update id="printOrderSortMp">
        update flow_card
        set sort = #{sort}
        where process_id = #{processId}
          and order_number = #{orderNumber}
          and technology_number = #{technologyNumber}
    </update>
    <select id="getPrimaryListMerge">
        select o.customer_name,
               o.project,
               ogd.process,
               od.edging_type,
               ogdc.concatenated_glass_child as glass_child,
               od.product_name,
               o.processing_note,
               fc.process_id,
               SUM(od.quantity)                                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
        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 = left(#{processId},10)
              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
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
        group by fc.process_id, fc.technology_number
    </select>
</mapper>