廖井涛
2024-08-04 1ae5f2198b70aba54c49f1752e02dfe7b9d5a2e9
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -256,20 +256,16 @@
                 left join sd.order_glass_detail as ogd
                           on od.order_id = ogd.order_id and od.order_number = ogd.order_number
                 left join sd.product as p on od.product_name = p.product_name
                 left join (
            SELECT
                order_id,
                order_number,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S01' )) AS S01,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S02' )) AS S02,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S03' )) AS S03,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S04' )) AS S04,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S05' )) AS S05
            FROM
                sd.order_detail
            WHERE
                order_id = #{orderId}
        ) as ods on ods.order_id=od.order_id and ods.order_number=od.order_number
                 left join (SELECT order_id,
                                   order_number,
                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')) AS S01,
                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S02')) AS S02,
                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S03')) AS S03,
                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S04')) AS S04,
                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S05')) AS S05
                            FROM sd.order_detail
                            WHERE order_id = #{orderId}) as ods
                           on ods.order_id = od.order_id and ods.order_number = od.order_number
        where od.order_id = #{orderId}
          and ogd.production_id = #{productionId}
          and ogd.splitting_status = 0
@@ -450,7 +446,14 @@
    </delete>
    <select id="selectPrintFlowCardMp">
        select order_id,project,customer_name,quantity,area,order_type,pack_type,batch
        select order_id,
               project,
               customer_name,
               quantity,
               area,
               order_type,
               pack_type,
               batch
        from sd.order
        where create_time between #{selectTime1} and #{selectTime2}
          and position(#{orderId} in order_id)
@@ -468,161 +471,169 @@
    </select>
    <select id="selectPrintMp">
        select * from ((select fc.id,
                               fc.order_id,
                               fc.process_id,
                               o.customer_name,
                               o.project,
                               ogdss.technology_number,
                               ogdss.concatenated_glass_child,
                               ROUND(sum(fc.quantity)/(count(DISTINCT fc.technology_number)))         as quantity,
                               sum(ogd.total_area)      as total_area,
                               # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
                               od.product_name,
                               ogdss.concatenated_glass_child as glass_child,
                               fc.founder,
                               date(fc.splitFrame_time) as splitFrame_time,
                               fc.print_status,
                               processed_part as  process
        select *
        from ((select fc.id,
                      fc.order_id,
                      fc.process_id,
                      o.customer_name,
                      o.project,
                      ogdss.technology_number,
                      ogdss.concatenated_glass_child,
                      ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
                      sum(ogd.total_area)                                              as total_area,
                      # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
                      od.product_name,
                      ogdss.concatenated_glass_child                                   as glass_child,
                      fc.founder,
                      date(fc.splitFrame_time)                                         as splitFrame_time,
                      fc.print_status,
                      processed_part                                                   as process
                        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
                                              ogd.technology_number = fc.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 (
                            select
                                ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                ogds.glass_child AS concatenated_glass_child,
                                process AS processed_part
                            from sd.order_glass_detail as ogds
                            where ogds.order_id = #{orderId}
                            GROUP BY order_id, order_number,ogds.glass_child
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id,ogdss.concatenated_glass_child
                        order by fc.process_id,ogdss.technology_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
                                     ogd.technology_number = fc.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 (select ogds.order_id,
                                          ogds.order_number,
                                          GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                          ogds.glass_child                                  AS concatenated_glass_child,
                                          process                                           AS processed_part
                                   from sd.order_glass_detail as ogds
                                   where ogds.order_id = #{orderId}
                                   GROUP BY order_id, order_number, ogds.glass_child) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
               where fc.order_id = #{orderId}
               GROUP BY fc.process_id, ogdss.concatenated_glass_child
               order by fc.process_id, ogdss.technology_number)
                       UNION
              UNION
                       (select fc.id,
                               fc.order_id,
                               fc.process_id,
                               o.customer_name,
                               o.project,
                               ogdss.technology_number,
                               ogd.glass_address,
                               ROUND(sum(fc.quantity)/(count(DISTINCT fc.technology_number)))         as quantity,
                               sum(ogd.total_area)      as total_area,
                               # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
                               od.product_name,
                               ogdss.concatenated_glass_child as glass_child,
                               fc.founder,
                               date(fc.splitFrame_time) as splitFrame_time,
                               fc.print_status,
                               processed_part as  process
              (select fc.id,
                      fc.order_id,
                      fc.process_id,
                      o.customer_name,
                      o.project,
                      ogdss.technology_number,
                      ogd.glass_address,
                      ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
                      sum(ogd.total_area)                                              as total_area,
                      # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
                      od.product_name,
                      ogdss.concatenated_glass_child                                   as glass_child,
                      fc.founder,
                      date(fc.splitFrame_time)                                         as splitFrame_time,
                      fc.print_status,
                      processed_part                                                   as process
                        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
                                              ogd.technology_number = fc.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 (
                            select
                                ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                ogds.glass_child,
                                GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
                                SUBSTRING(process, LOCATE('夹胶', process)) AS processed_part
                            from sd.order_glass_detail as ogds
                            where ogds.order_id = #{orderId} and LOCATE('夹胶',ogds.process)>0
                            GROUP BY order_id, order_number,ogds.group
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id,ogdss.technology_number
                        order by fc.process_id)
                       UNION
                       (select fc.id,
                               fc.order_id,
                               fc.process_id,
                               o.customer_name,
                               o.project,
                               ogdss.technology_number,
                               ogd.glass_address,
                               ROUND(sum(fc.quantity)/(count(DISTINCT fc.technology_number)))         as quantity,
                               sum(ogd.total_area)      as total_area,
                               od.product_name,
                               ogdss.concatenated_glass_child as glass_child,
                               fc.founder,
                               date(fc.splitFrame_time) as splitFrame_time,
                               fc.print_status,
                               processed_part as process
               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
                                     ogd.technology_number = fc.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 (select ogds.order_id,
                                          ogds.order_number,
                                          GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                          ogds.glass_child,
                                          GROUP_CONCAT(ogds.glass_child SEPARATOR ' ')      AS concatenated_glass_child,
                                          SUBSTRING(process, LOCATE('夹胶', process))       AS processed_part
                                   from sd.order_glass_detail as ogds
                                   where ogds.order_id = #{orderId}
                                     and LOCATE('夹胶', ogds.process) > 0
                                   GROUP BY order_id, order_number, ogds.group) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
               where fc.order_id = #{orderId}
               GROUP BY fc.process_id, ogdss.technology_number
               order by fc.process_id)
              UNION
              (select fc.id,
                      fc.order_id,
                      fc.process_id,
                      o.customer_name,
                      o.project,
                      ogdss.technology_number,
                      ogd.glass_address,
                      ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
                      sum(ogd.total_area)                                              as total_area,
                      od.product_name,
                      ogdss.concatenated_glass_child                                   as glass_child,
                      fc.founder,
                      date(fc.splitFrame_time)                                         as splitFrame_time,
                      fc.print_status,
                      processed_part                                                   as process
                        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
                                              ogd.technology_number = fc.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 (
                            select
                                ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(pds.glass_sort SEPARATOR '') AS technology_number,
                                ogds.glass_child,
                                GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
                                SUBSTRING(pds.process, LOCATE('中空', pds.process)) AS processed_part
                            from sd.order_glass_detail as ogds
                                     left join sd.order_detail as ods on ods.order_id=ogds.order_id and ods.order_number=ogds.order_number
                                     left join sd.product_detail as pds on pds.prod_id=ods.product_id and pds.glass_sort=ogds.technology_number
                            where ogds.order_id = #{orderId}
                            GROUP BY order_id, order_number
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id
                        order by fc.process_id)
                       ) AS combined_results where process is not null and process!=""
               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
                                     ogd.technology_number = fc.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 (select ogds.order_id,
                                          ogds.order_number,
                                          GROUP_CONCAT(pds.glass_sort SEPARATOR '')           AS technology_number,
                                          ogds.glass_child,
                                          GROUP_CONCAT(ogds.glass_child SEPARATOR ' ')        AS concatenated_glass_child,
                                          SUBSTRING(pds.process, LOCATE('中空', pds.process)) AS processed_part
                                   from sd.order_glass_detail as ogds
                                            left join sd.order_detail as ods
                                                      on ods.order_id = ogds.order_id and ods.order_number = ogds.order_number
                                            left join sd.product_detail as pds on pds.prod_id = ods.product_id and
                                                                                  pds.glass_sort =
                                                                                  ogds.technology_number
                                   where ogds.order_id = #{orderId}
                                   GROUP BY order_id, order_number) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
               where fc.order_id = #{orderId}
               GROUP BY fc.process_id
               order by fc.process_id)) AS combined_results
        where process is not null
          and process != ""
    </select>
    <select id="getPrimaryList">
        select o.customer_name,
               o.project,
               #{process} process,
               #{process}                                         process,
               od.edging_type,
               #{glassChild} as glass_child,
               #{glassChild}                                   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,
               sum(od.weight)                                  as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
               concat("对应我司", TRIM(
                       SUBSTRING(
                               o.processing_note,
                               LOCATE('对应我司', o.processing_note) + CHAR_LENGTH('对应我司')
                           ))
                   )                                           AS otherRemarks
        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
                 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})
        group by fc.process_id
@@ -635,10 +646,10 @@
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               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,
               round(ogd.child_width)                                       as width,
               round(ogd.child_height)                                      as height,
               pd.separation,
               fc.technology_number
        from flow_card as fc
@@ -646,7 +657,8 @@
                           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
                 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
@@ -682,8 +694,8 @@
               o.project,
               od.building_number,
               od.processing_note,
               ogd.child_width as width,
               ogd.child_height as height,
               ogd.child_width         as width,
               ogd.child_height        as height,
               ogd.glass_child,
               ogd.process,
               e.type_name,
@@ -696,42 +708,45 @@
                 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 and opd.layer=ogd.technology_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
        left join sd.customer c on c.id=o.customer_id
                 left join sd.customer c on c.id = o.customer_id
        where opd.project_no = #{projectNo}
        order by opd.stock_id
    </select>
    <select id="getPrintLabel1">
        select o.order_id ,
        select o.order_id,
               o.project,
               o.customer_id ,
               ogd.child_width as width,
               ogd.child_height as height,
               o.customer_id,
               ogd.child_width                as width,
               ogd.child_height               as height,
               od.quantity,
               od.order_number as orderNumber,
               fc.technology_number as technologyNumber,
               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,
               c.customer_abbreviation        as customer_name,
               ifnull(od.processing_note, '') as processing_note,
               bgt.type_name,
               od.other_columns,
               od.building_number,
               od.bend_radius
        from sd.order as o
                 left join sd.order_detail as od on o.order_id = od.order_id
                 left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
                 left join sd.order_glass_detail as ogd
                           on ogd.order_id = od.order_id and ogd.order_number = od.order_number
                 left join pp.flow_card as fc on o.order_id = fc.order_id and
                                                 od.order_number = fc.order_number and fc.technology_number=ogd.technology_number
                 left join sd.product pt on pt.id=od.product_id
                 left join sd.customer c on c.id=o.customer_id
                 left join sd.basic_glass_type bgt on bgt.type_id=pt.type_id
                                                 od.order_number = fc.order_number and
                                                 fc.technology_number = ogd.technology_number
                 left join sd.product pt on pt.id = od.product_id
                 left join sd.customer c on c.id = o.customer_id
                 left join sd.basic_glass_type bgt on bgt.type_id = pt.type_id
        where fc.process_id = #{processId}
          and fc.technology_number=#{technologyNumber}
        group by od.order_number,od.width,od.height
          and fc.technology_number = #{technologyNumber}
        group by od.order_number, od.width, od.height
    </select>
    <select id="printFlowCardDetailsMp">
@@ -750,7 +765,7 @@
            AND fc.order_number = ogd.order_number
            AND fc.technology_number = ogd.technology_number
        where fc.process_id = #{processId}
          and  position(fc.technology_number in #{technologyNumber})
          and position(fc.technology_number in #{technologyNumber})
        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
    </select>
@@ -805,58 +820,61 @@
    </resultMap>
    <select id="getPrintCustomData">
        select o.order_id           as orderId,
        select o.order_id                                            as orderId,
               project,
               customer_id          as customerId,
               o.customer_name        as customerName,
               order_type           as orderType,
               order_classify       as orderClassify,
               customer_id                                           as customerId,
               o.customer_name                                       as customerName,
               order_type                                            as orderType,
               order_classify                                        as orderClassify,
               batch,
               o.icon,
               pack_type            as packType,
               delivery_date        as deliveryDate,
               al_type              as alType,
               pack_type                                             as packType,
               delivery_date                                         as deliveryDate,
               al_type                                               as alType,
               money,
               contract_id          as contractId,
               customer_batch          customerBatch,
               contract_id                                           as contractId,
               customer_batch                                           customerBatch,
               contacts,
               delivery_address     as deliveryAddress,
               od.processing_note   as processingNote,
               delivery_address                                      as deliveryAddress,
               od.processing_note                                    as processingNote,
               width,
               height,
               od.quantity,
               od.order_number      as orderNumber,
               fc.technology_number as technologyNumber,
               od.building_number   as buildingNumber,
               od.product_name      as productName,
               od.edging_type       as edgingType,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
               od.product_name                                       as productName,
               od.edging_type                                        as edgingType,
               p.remarks,
               c.customer_abbreviation as customerAbbreviation,
               p.product_abbreviation as productAbbreviation,
               fc.process_id as processId,
               o.create_time as createTime,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S02' )) AS figureNumber,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S03' )) AS colourCeramicGlaze,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S04' )) AS remarks1,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S05' )) AS remarks2,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S06' )) AS remarks3,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S07' )) AS remarks4,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S08' )) AS remarks5,
                p.remarks as filmNumber,
                od.bend_radius as bendRadius,
                od.other_columns,
               ogd.glass_child as glassChild,
               ogd.glass_address as glassAddress,
               JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.color' )) AS color
               c.customer_abbreviation                               as customerAbbreviation,
               p.product_abbreviation                                as productAbbreviation,
               fc.process_id                                         as processId,
               o.create_time                                         as createTime,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
               p.remarks                                             as filmNumber,
               od.bend_radius                                        as bendRadius,
               od.other_columns,
               ogd.glass_child                                       as glassChild,
               ogd.glass_address                                     as glassAddress,
               JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color
        from sd.order as o
                 left join sd.order_detail as od on o.order_id = od.order_id
                 left join flow_card as fc on o.order_id = fc.order_id and
                                              od.order_number = fc.order_number
                 left join sd.product as p on p.id=od.product_id
                 left join sd.product as p on p.id = od.product_id
                 left join sd.customer as c on c.id = o.customer_id
        left join sd.product_detail as pd  on pd.prod_id=p.id and pd.sort_num=od.order_number and pd.glass_sort=fc.technology_number
        left join sd.order_glass_detail as ogd on ogd.order_id=fc.order_id and ogd.order_number=fc.order_number and ogd.technology_number=fc.technology_number
                 left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number and
                                                      pd.glass_sort = fc.technology_number
                 left join sd.order_glass_detail as ogd
                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
                              ogd.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.technology_number = #{technologyNumber}
        group by od.order_number, width, height
@@ -893,64 +911,65 @@
                 left join patch_log as pl on pl.order_id = fc.order_id and pl.process_id = fc.process_id and
                                              pl.order_sort = fc.order_number and
                                              pl.technology_number = fc.technology_number
        where pl.create_time between #{selectTime1} and #{selectTime2} and pl.review_status>0
        GROUP BY pl.id,fc.process_id, ogd.technology_number
        order by pl.id desc,fc.process_id, ogd.technology_number
        where pl.create_time between #{selectTime1} and #{selectTime2}
          and pl.review_status > 0
        GROUP BY pl.id, fc.process_id, ogd.technology_number
        order by pl.id desc, fc.process_id, ogd.technology_number
    </select>
    <select id="getRepairPrintCustomData">
        select o.order_id           as orderId,
        select o.order_id                                            as orderId,
               o.project,
               o.customer_id          as customerId,
               o.customer_name        as customerName,
               o.order_type           as orderType,
               o.order_classify       as orderClassify,
               o.customer_id                                         as customerId,
               o.customer_name                                       as customerName,
               o.order_type                                          as orderType,
               o.order_classify                                      as orderClassify,
               o.batch,
               o.icon,
               o.pack_type            as packType,
               o.delivery_date        as deliveryDate,
               o.al_type              as alType,
               o.pack_type                                           as packType,
               o.delivery_date                                       as deliveryDate,
               o.al_type                                             as alType,
               o.money,
               contract_id          as contractId,
               customer_batch          customerBatch,
               contract_id                                           as contractId,
               customer_batch                                           customerBatch,
               contacts,
               o.delivery_address     as deliveryAddress,
               od.processing_note   as processingNote,
               o.delivery_address                                    as deliveryAddress,
               od.processing_note                                    as processingNote,
               od.width,
               od.height,
               pl.patch_num         as quantity,
               pl.order_sort        as orderNumber,
               pl.technology_number as technologyNumber,
               od.building_number   as buildingNumber,
               od.product_name      as productName,
               od.edging_type       as edgingType,
                p.remarks,
                c.customer_abbreviation as customerAbbreviation,
               p.product_abbreviation as productAbbreviation,
               fc.process_id as processId,
               o.create_time as createTime,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S02' )) AS figureNumber,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S03' )) AS colourCeramicGlaze,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S04' )) AS remarks1,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S05' )) AS remarks2,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S06' )) AS remarks3,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S07' )) AS remarks4,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S08' )) AS remarks5,
               p.remarks as filmNumber,
               od.bend_radius as bendRadius
               pl.patch_num                                          as quantity,
               pl.order_sort                                         as orderNumber,
               pl.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
               od.product_name                                       as productName,
               od.edging_type                                        as edgingType,
               p.remarks,
               c.customer_abbreviation                               as customerAbbreviation,
               p.product_abbreviation                                as productAbbreviation,
               fc.process_id                                         as processId,
               o.create_time                                         as createTime,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
               p.remarks                                             as filmNumber,
               od.bend_radius                                        as bendRadius
        from sd.order as o
                 left join sd.order_detail as od on o.order_id = od.order_id
                 left join flow_card as fc on o.order_id = fc.order_id and
                                              od.order_number = fc.order_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 sd.product as p on p.id=od.product_id
                 left join sd.product as p on p.id = od.product_id
                 left join sd.customer as c on c.id = o.customer_id
                 left join sd.product_detail as pd  on pd.prod_id=p.id and pd.sort_num=od.order_number
                 left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number
        where pl.process_id = #{processId}
          and pl.technology_number = #{technologyNumber}
        and pl.reporting_work_id=#{reportingWorkId}
          and pl.reporting_work_id = #{reportingWorkId}
        group by od.order_number, width, height
        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, pl.order_sort)
    </select>
@@ -965,9 +984,10 @@
    </select>
    <update id="updatePrintStateMp">
        update  pp.flow_card
        set print_status = print_status+1
        where process_id = #{processId} and technology_number = #{technologyNumber}
        update pp.flow_card
        set print_status = print_status + 1
        where process_id = #{processId}
          and technology_number = #{technologyNumber}
    </update>
    <select id="printFlowCardOrderSortMp">
@@ -985,7 +1005,7 @@
                 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}
        where fc.order_id = #{orderId}
        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.technology_number)
    </select>
@@ -1002,13 +1022,13 @@
               o.project,
               ogd.process,
               od.edging_type,
               ogdc.concatenated_glass_child as glass_child,
               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,
               sum(od.weight)                                  as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
        from flow_card as fc
@@ -1017,25 +1037,28 @@
                              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
                 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
          and position(fc.technology_number in #{technologyNumber})
          and ogdc.concatenated_glass_child is NOT null
        group by fc.process_id, fc.technology_number
    </select>
    <select id="selectorderOtherMoney">
        select * from sd.basic_other_money where id between 21 and 35
        select *
        from sd.basic_other_money
        where id between 21 and 35
    </select>
    <select id="selectReworkPrintMp">
@@ -1068,8 +1091,8 @@
                                           pl.order_sort = fc.order_number and
                                           pl.technology_number = fc.technology_number
        where pl.create_time between #{selectTime1} and #{selectTime2}
        GROUP BY fc.process_id, ogd.technology_number,pl.reporting_work_id
        order by pl.id desc,fc.process_id, ogd.technology_number
        GROUP BY fc.process_id, ogd.technology_number, pl.reporting_work_id
        order by pl.id desc, fc.process_id, ogd.technology_number
    </select>
    <select id="getDetailListLike">
@@ -1079,10 +1102,10 @@
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               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,
               round(ogd.child_width)                                       as width,
               round(ogd.child_height)                                      as height,
               pd.separation,
               fc.technology_number
        from flow_card as fc
@@ -1090,10 +1113,11 @@
                           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
                 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
        group by fc.process_id, fc.order_number, fc.technology_number
        order by IF(sort != NULL || sort != '', sort, fc.order_number)
    </select>
@@ -1102,13 +1126,13 @@
               o.project,
               ogd.process,
               od.edging_type,
               ogdc.concatenated_glass_child as glass_child,
               ogdc.concatenated_glass_child                   as glass_child,
               od.product_name,
               o.processing_note,
               fc.process_id,
               pl.patch_num                                as quantity,
               pl.patch_num                                    as quantity,
               round(SUM(ogd.total_area), 2)                   as gross_area,
               sum(od.weight)                   as weight,
               sum(od.weight)                                  as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
        from flow_card as fc
@@ -1117,36 +1141,39 @@
                              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 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
        where fc.process_id = #{processId} and fc.order_number=#{orderNumber}
          and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
                 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 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
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
          and ogdc.concatenated_glass_child is NOT null
        group by fc.process_id, fc.technology_number
    </select>
    <select id="getDetailListRefund">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
               (pl.patch_num) as quantity,
               (pl.patch_num)                                               as quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               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,
               round(ogd.child_width)                                       as width,
               round(ogd.child_height)                                      as height,
               pd.separation,
               fc.technology_number
        from flow_card as fc
@@ -1154,13 +1181,15 @@
                           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
                 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 sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = 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
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
        and pl.reporting_work_id=#{reportingWorkId}
        group by fc.process_id, fc.order_number,fc.technology_number
          and pl.reporting_work_id = #{reportingWorkId}
        group by fc.process_id, fc.order_number, fc.technology_number
        order by IF(sort != NULL || sort != '', sort, fc.order_number)
    </select>
@@ -1173,9 +1202,9 @@
               od.product_name,
               o.processing_note,
               fc.process_id,
               pl.patch_num                                as quantity,
               pl.patch_num                                    as quantity,
               round(SUM(ogd.total_area), 2)                   as gross_area,
               sum(od.weight)                   as weight,
               sum(od.weight)                                  as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
               dd.breakage_type,
@@ -1188,40 +1217,43 @@
                              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 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
                 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 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 rw.reporting_work_id=#{reportingWorkId}
          and rw.reporting_work_id = #{reportingWorkId}
        group by fc.process_id, fc.technology_number
    </select>
    <select id="getDetailListLikeRefund">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
               pl.patch_num as quantity,
               pl.patch_num                                                 as quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               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,
               round(ogd.child_width)                                       as width,
               round(ogd.child_height)                                      as height,
               pd.separation,
               fc.technology_number
        from flow_card as fc
@@ -1229,13 +1261,15 @@
                           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
                 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 sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = 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
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
          and pl.reporting_work_id=#{reportingWorkId}
        group by fc.process_id, fc.order_number,fc.technology_number
          and pl.reporting_work_id = #{reportingWorkId}
        group by fc.process_id, fc.order_number, fc.technology_number
        order by IF(sort != NULL || sort != '', sort, fc.order_number)
    </select>
@@ -1248,9 +1282,9 @@
               od.product_name,
               o.processing_note,
               fc.process_id,
               pl.rework_num                                as quantity,
               pl.rework_num                                   as quantity,
               round(SUM(ogd.total_area), 2)                   as gross_area,
               sum(od.weight)                   as weight,
               sum(od.weight)                                  as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
        from flow_card as fc
@@ -1259,20 +1293,21 @@
                              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 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 rework 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 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 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 rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                           pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and fc.technology_number = #{technologyNumber}
@@ -1282,14 +1317,14 @@
    <select id="getDetailListRework">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
               (pl.rework_num) as quantity,
               (pl.rework_num)                                              as quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               concat(od.processing_note, od.remarks)                       as remarks,
               od.other_columns,
               round(ogd.child_width) as width,
               round(ogd.child_height) as height,
               round(ogd.child_width)                                       as width,
               round(ogd.child_height)                                      as height,
               pd.separation,
               fc.technology_number
        from flow_card as fc
@@ -1297,13 +1332,15 @@
                           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
                 left join rework 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 sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
                 left join rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                           pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
          and pl.reporting_work_id=#{reportingWorkId}
        group by fc.process_id, fc.order_number,fc.technology_number
          and pl.reporting_work_id = #{reportingWorkId}
        group by fc.process_id, fc.order_number, fc.technology_number
        order by IF(sort != NULL || sort != '', sort, fc.order_number)
    </select>
@@ -1312,13 +1349,13 @@
               o.project,
               ogd.process,
               od.edging_type,
               ogdc.concatenated_glass_child as glass_child,
               ogdc.concatenated_glass_child                   as glass_child,
               od.product_name,
               o.processing_note,
               fc.process_id,
               pl.rework_num                                as quantity,
               pl.rework_num                                   as quantity,
               round(SUM(ogd.total_area), 2)                   as gross_area,
               sum(od.weight)                   as weight,
               sum(od.weight)                                  as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
        from flow_card as fc
@@ -1327,36 +1364,39 @@
                              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 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 rework as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
        where fc.process_id = #{processId} and fc.order_number=#{orderNumber}
          and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
                 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 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 rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                           pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
          and ogdc.concatenated_glass_child is NOT null
        group by fc.process_id, fc.technology_number
    </select>
    <select id="getDetailListLikeRework">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
               pl.rework_num as quantity,
               pl.rework_num                                                as quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               concat(od.processing_note, od.remarks)                       as remarks,
               od.other_columns,
               round(ogd.child_width) as width,
               round(ogd.child_height) as height,
               round(ogd.child_width)                                       as width,
               round(ogd.child_height)                                      as height,
               pd.separation,
               fc.technology_number
        from flow_card as fc
@@ -1364,71 +1404,75 @@
                           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
                 left join rework 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 sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
                 left join rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                           pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
          and pl.reporting_work_id=#{reportingWorkId}
        group by fc.process_id, fc.order_number,fc.technology_number
          and pl.reporting_work_id = #{reportingWorkId}
        group by fc.process_id, fc.order_number, fc.technology_number
        order by IF(sort != NULL || sort != '', sort, fc.order_number)
    </select>
    <select id="getPrintCustomDataSemi">
        select o.order_id           as orderId,
        select o.order_id                                            as orderId,
               project,
               customer_id          as customerId,
               o.customer_name        as customerName,
               order_type           as orderType,
               order_classify       as orderClassify,
               customer_id                                           as customerId,
               o.customer_name                                       as customerName,
               order_type                                            as orderType,
               order_classify                                        as orderClassify,
               batch,
               o.icon,
               pack_type            as packType,
               delivery_date        as deliveryDate,
               al_type              as alType,
               pack_type                                             as packType,
               delivery_date                                         as deliveryDate,
               al_type                                               as alType,
               money,
               contract_id          as contractId,
               customer_batch          customerBatch,
               contract_id                                           as contractId,
               customer_batch                                           customerBatch,
               contacts,
               delivery_address     as deliveryAddress,
               od.processing_note   as processingNote,
               width,
               height,
               delivery_address                                      as deliveryAddress,
               od.processing_note                                    as processingNote,
               round(ogd.child_width)                                as width,
               round(ogd.child_height)                               as height,
               od.quantity,
               od.order_number      as orderNumber,
               fc.technology_number as technologyNumber,
               od.building_number   as buildingNumber,
               od.product_name      as productName,
               od.edging_type       as edgingType,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
               od.product_name                                       as productName,
               od.edging_type                                        as edgingType,
               p.remarks,
               c.customer_abbreviation as customerAbbreviation,
               p.product_abbreviation as productAbbreviation,
               CONCAT(fc.process_id,'/',fc.technology_number) as processId,
               o.create_time as createTime,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S02' )) AS figureNumber,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S03' )) AS colourCeramicGlaze,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S04' )) AS remarks1,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S05' )) AS remarks2,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S06' )) AS remarks3,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S07' )) AS remarks4,
               JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S08' )) AS remarks5,
               p.remarks as filmNumber,
               od.bend_radius as bendRadius,
               ogd.glass_child as glassChild,
               ogd.glass_address as glassAddress,
            JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.color' )) AS color
               c.customer_abbreviation                               as customerAbbreviation,
               p.product_abbreviation                                as productAbbreviation,
               CONCAT(fc.process_id, '/', fc.technology_number)      as processId,
               o.create_time                                         as createTime,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
               p.remarks                                             as filmNumber,
               od.bend_radius                                        as bendRadius,
               ogd.glass_child                                       as glassChild,
               ogd.glass_address                                     as glassAddress,
               JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color
        from sd.order as o
                 left join sd.order_detail as od on o.order_id = od.order_id
                 left join flow_card as fc on o.order_id = fc.order_id and
                                              od.order_number = fc.order_number
                 left join sd.product as p on p.id=od.product_id
                 left join sd.product as p on p.id = od.product_id
                 left join sd.customer as c on c.id = o.customer_id
                 left join sd.product_detail as pd  on pd.prod_id=p.id and pd.sort_num=od.order_number
        left join sd.order_glass_detail ogd on ogd.order_id=o.order_id and ogd.order_number=od.order_number and ogd.technology_number=fc.technology_number
                 left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number
                 left join sd.order_glass_detail ogd
                           on ogd.order_id = o.order_id and ogd.order_number = od.order_number and
                              ogd.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.technology_number = #{technologyNumber}
        group by od.order_number,ogd.technology_number, width, height
        group by od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
    </select>
@@ -1462,114 +1506,181 @@
    </select>
    <select id="selectPrintNotMergeMp">
        select * from ((select fc.id,
                               fc.order_id,
                               fc.process_id,
                               o.customer_name,
                               o.project,
                               fc.order_number,
                               ogd.technology_number,
                               ogd.glass_address,
                               sum(od.quantity)         as quantity,
                               sum(ogd.total_area)      as total_area,
                               od.product_name,
                               ogd.glass_child,
                               fc.founder,
                               date(fc.splitFrame_time) as splitFrame_time,
                            /* if(fc.print_status=0,'未打印','已打印') as  print_status*/
                               fc.print_status,
                               ogd.process
                        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
                                              ogd.technology_number = fc.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
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id, ogd.technology_number
                        order by fc.process_id, ogd.technology_number)
        select *
        from ((select fc.id,
                      fc.order_id,
                      fc.process_id,
                      o.customer_name,
                      o.project,
                      fc.order_number,
                      ogd.technology_number,
                      ogd.glass_address,
                      sum(od.quantity)         as quantity,
                      sum(ogd.total_area)      as total_area,
                      od.product_name,
                      ogd.glass_child,
                      fc.founder,
                      date(fc.splitFrame_time) as splitFrame_time,
                   /* if(fc.print_status=0,'未打印','已打印') as  print_status*/
                      fc.print_status,
                      ogd.process
               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
                                     ogd.technology_number = fc.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
               where fc.order_id = #{orderId}
               GROUP BY fc.process_id, ogd.technology_number
               order by fc.process_id, ogd.technology_number)
                       UNION
              UNION
                       (select fc.id,
                               fc.order_id,
                               fc.process_id,
                               o.customer_name,
                               o.project,
                               ogdss.technology_number,
                               ogd.glass_address,
                               ROUND(sum(fc.quantity)/(count(DISTINCT fc.technology_number)))         as quantity,
                               sum(ogd.total_area)      as total_area,
                               # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
                               od.product_name,
                               ogdss.concatenated_glass_child as glass_child,
                               fc.founder,
                               date(fc.splitFrame_time) as splitFrame_time,
                               fc.print_status,
                               processed_part as  process
              (select fc.id,
                      fc.order_id,
                      fc.process_id,
                      o.customer_name,
                      o.project,
                      ogdss.technology_number,
                      ogd.glass_address,
                      ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
                      sum(ogd.total_area)                                              as total_area,
                      # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
                      od.product_name,
                      ogdss.concatenated_glass_child                                   as glass_child,
                      fc.founder,
                      date(fc.splitFrame_time)                                         as splitFrame_time,
                      fc.print_status,
                      processed_part                                                   as process
                        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
                                              ogd.technology_number = fc.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 (
                            select
                                ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                ogds.glass_child,
                                GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
                                SUBSTRING(process, LOCATE('夹胶', process)) AS processed_part
                            from sd.order_glass_detail as ogds
                            where ogds.order_id = #{orderId} and LOCATE('夹胶',ogds.process)>0
                            GROUP BY order_id, order_number,ogds.group
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id,ogdss.technology_number
                        order by fc.process_id)
                       UNION
                       (select fc.id,
                               fc.order_id,
                               fc.process_id,
                               o.customer_name,
                               o.project,
                               ogdss.technology_number,
                               ogd.glass_address,
                               ROUND(sum(fc.quantity)/(count(DISTINCT fc.technology_number)))         as quantity,
                               sum(ogd.total_area)      as total_area,
                               od.product_name,
                               ogdss.concatenated_glass_child as glass_child,
                               fc.founder,
                               date(fc.splitFrame_time) as splitFrame_time,
                               fc.print_status,
                               processed_part as process
               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
                                     ogd.technology_number = fc.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 (select ogds.order_id,
                                          ogds.order_number,
                                          GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                          ogds.glass_child,
                                          GROUP_CONCAT(ogds.glass_child SEPARATOR ' ')      AS concatenated_glass_child,
                                          SUBSTRING(process, LOCATE('夹胶', process))       AS processed_part
                                   from sd.order_glass_detail as ogds
                                   where ogds.order_id = #{orderId}
                                     and LOCATE('夹胶', ogds.process) > 0
                                   GROUP BY order_id, order_number, ogds.group) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
               where fc.order_id = #{orderId}
               GROUP BY fc.process_id, ogdss.technology_number
               order by fc.process_id)
              UNION
              (select fc.id,
                      fc.order_id,
                      fc.process_id,
                      o.customer_name,
                      o.project,
                      ogdss.technology_number,
                      ogd.glass_address,
                      ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
                      sum(ogd.total_area)                                              as total_area,
                      od.product_name,
                      ogdss.concatenated_glass_child                                   as glass_child,
                      fc.founder,
                      date(fc.splitFrame_time)                                         as splitFrame_time,
                      fc.print_status,
                      processed_part                                                   as process
                        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
                                              ogd.technology_number = fc.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 (
                            select
                                ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(pds.glass_sort SEPARATOR '') AS technology_number,
                                ogds.glass_child,
                                GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
                                SUBSTRING(pds.process, LOCATE('中空', pds.process)) AS processed_part
                            from sd.order_glass_detail as ogds
                                     left join sd.order_detail as ods on ods.order_id=ogds.order_id and ods.order_number=ogds.order_number
                                     left join sd.product_detail as pds on pds.prod_id=ods.product_id and pds.glass_sort=ogds.technology_number
                            where ogds.order_id = #{orderId}
                            GROUP BY order_id, order_number
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id
                        order by fc.process_id)
               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
                                     ogd.technology_number = fc.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 (select ogds.order_id,
                                          ogds.order_number,
                                          GROUP_CONCAT(pds.glass_sort SEPARATOR '')           AS technology_number,
                                          ogds.glass_child,
                                          GROUP_CONCAT(ogds.glass_child SEPARATOR ' ')        AS concatenated_glass_child,
                                          SUBSTRING(pds.process, LOCATE('中空', pds.process)) AS processed_part
                                   from sd.order_glass_detail as ogds
                                            left join sd.order_detail as ods
                                                      on ods.order_id = ogds.order_id and ods.order_number = ogds.order_number
                                            left join sd.product_detail as pds on pds.prod_id = ods.product_id and
                                                                                  pds.glass_sort =
                                                                                  ogds.technology_number
                                   where ogds.order_id = #{orderId}
                                   GROUP BY order_id, order_number) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
               where fc.order_id = #{orderId}
               GROUP BY fc.process_id
               order by fc.process_id)) AS combined_results
        where process is not null
          and process != ""
    </select>
                      ) AS combined_results where process is not null and process!=""
    <select id="getRepairPrintCustomDataSemi">
        select o.order_id                                            as orderId,
               o.project,
               o.customer_id                                         as customerId,
               o.customer_name                                       as customerName,
               o.order_type                                          as orderType,
               o.order_classify                                      as orderClassify,
               o.batch,
               o.icon,
               o.pack_type                                           as packType,
               o.delivery_date                                       as deliveryDate,
               o.al_type                                             as alType,
               o.money,
               contract_id                                           as contractId,
               customer_batch                                           customerBatch,
               contacts,
               o.delivery_address                                    as deliveryAddress,
               od.processing_note                                    as processingNote,
               round(ogd.child_width)                                as width,
               round(ogd.child_height)                               as height,
               pl.patch_num                                          as quantity,
               pl.order_sort                                         as orderNumber,
               pl.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
               od.product_name                                       as productName,
               od.edging_type                                        as edgingType,
               p.remarks,
               c.customer_abbreviation                               as customerAbbreviation,
               p.product_abbreviation                                as productAbbreviation,
               CONCAT(fc.process_id, '/', fc.technology_number)      as processId,
               o.create_time                                         as createTime,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
               p.remarks                                             as filmNumber,
               od.bend_radius                                        as bendRadius,
               ogd.glass_child                                       as glassChild,
               ogd.glass_address                                     as glassAddress,
               JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color
        from sd.order as o
                 left join sd.order_detail as od on o.order_id = od.order_id
                 left join flow_card as fc on o.order_id = fc.order_id and
                                              od.order_number = fc.order_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 sd.product as p on p.id = od.product_id
                 left join sd.customer as c on c.id = o.customer_id
                 left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number
                 left join sd.order_glass_detail ogd
                           on ogd.order_id = o.order_id and ogd.order_number = od.order_number and
                              ogd.technology_number = fc.technology_number
        where pl.process_id = #{processId}
          and pl.technology_number = #{technologyNumber}
          and pl.reporting_work_id = #{reportingWorkId}
        group by od.order_number, width, height
        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, pl.order_sort)
    </select>
</mapper>