zhoushihao
2024-09-20 d1f7ca24bfba95331f81f0b7a0d48739e6850262
hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
@@ -5,27 +5,39 @@
    <select id="selectFlowCard" resultType="java.util.Map">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
               od.quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,''))                       as remarks,
               od.other_columns,
               round(ogd.child_width)                                       as width,
               round(ogd.child_height)                                      as height,
               pd.separation,
               fc.technology_number
        concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
        od.quantity,
        round(ogd.total_area, 2) as total_area,
        od.perimeter,
        od.bend_radius,
        concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,'')) as remarks,
        od.other_columns,
        round(ogd.child_width) as width,
        round(ogd.child_height) as height,
        pd.separation
        <if test="technologyNumber != 0">
            ,fc.technology_number
        </if>
        from pp.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 position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number, fc.technology_number
        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}
        <if test="technologyNumber != 0">
            and a.layer = #{technologyNumber}
        </if>
        <if test="technologyNumber != 0">
            and position(fc.technology_number in #{technologyNumber})
        </if>
        <if test="technologyNumber != 0">
            group by fc.process_id, fc.order_number, fc.technology_number
        </if>
        <if test="technologyNumber == 0">
            group by fc.process_id, fc.order_number
        </if>
        order by IF(sort != NULL || sort != '', sort, fc.order_number)
    </select>
@@ -33,18 +45,26 @@
    <select id="selectProject" resultType="java.util.Map">
        select o.customer_name,
               o.project,
               (select process from sd.order_glass_detail where order_id=fc.order_id and order_number=fc.order_number and technology_number=fc.technology_number) as process ,
               (select process
                from sd.order_glass_detail
                where order_id = fc.order_id
                  and order_number = fc.order_number
                  and technology_number = fc.technology_number) as process,
               od.edging_type,
               (select glass_child from sd.order_glass_detail where order_id=fc.order_id and order_number=fc.order_number and technology_number=fc.technology_number) as glass_child ,
               (select glass_child
                from sd.order_glass_detail
                where order_id = fc.order_id
                  and order_number = fc.order_number
                  and technology_number = fc.technology_number) 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,
               1                            as technologyNumber,
               concat(fc.process_id, '/', 1) as processIdNumber,
               concat('对应我司单号',o.batch)                                         AS otherRemarks
               SUM(od.quantity)                                 as quantity,
               round(SUM(ogd.total_area), 2)                    as gross_area,
               sum(od.weight)                                   as weight,
               1                                                as technologyNumber,
               concat(fc.process_id, '/', 1)                    as processIdNumber,
               concat('对应我司单号', o.batch)                        AS otherRemarks
        from pp.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
@@ -58,7 +78,8 @@
                                   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)
                            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