廖井涛
2024-08-15 8b7d4b9527b9e196df4b9ac7cf113f06798f7941
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -502,13 +502,15 @@
                                          ogds.order_number,
                                          GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                          ogds.glass_child                                  AS concatenated_glass_child,
                                          process                                           AS processed_part
                                          process                                           AS processed_part,
                                          ogds.child_width,
                                          ogds.child_height
                                   from sd.order_glass_detail as ogds
                                   where ogds.order_id = #{orderId}
                                   GROUP BY order_id, order_number, ogds.glass_child,process) as ogdss
                                   GROUP BY order_id, order_number, ogds.glass_child,process,ogds.child_width,ogds.child_height) 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,ogdss.processed_part
               GROUP BY fc.process_id, ogdss.concatenated_glass_child,ogdss.processed_part,ogdss.child_width,ogdss.child_height
               order by fc.process_id, ogdss.technology_number)
              UNION
@@ -541,7 +543,7 @@
                                          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,
                                          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}
@@ -579,7 +581,7 @@
                                          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,
                                          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
@@ -596,6 +598,7 @@
        where process is not null
          and process != ""
        GROUP BY order_id,process_id,technology_number,process
        order by order_id,process_id,length(technology_number)
    </select>
    <select id="getPrimaryList">
@@ -612,7 +615,8 @@
               sum(od.weight)                                  as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
               concat('对应我司单号',o.batch)                                         AS otherRemarks
               concat('对应我司单号',o.batch)                                         AS otherRemarks,
               '' as qrcode
        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
@@ -639,7 +643,7 @@
    <select id="getDetailList">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
               od.quantity,
               fc.quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
@@ -716,6 +720,35 @@
        order by opd.stock_id
    </select>
    <select id="getPrintLabel2">
        select o.order_id,
               c.customer_abbreviation as customer_name,
               o.project,
               od.building_number,
               od.processing_note,
               ogd.child_width         as width,
               ogd.child_height        as height,
               ogd.glass_child,
               ogd.process,
               e.type_name,
               opd.stock_id,
               od.quantity,
               od.other_columns,
               od.bend_radius
        from pp.optimize_detail opd
                 left join sd.`order` o on SUBSTR(opd.process_id, 1, 10) = o.order_id
                 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
                 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
        where opd.project_no = #{projectNo}
        order by opd.heat_layout_id,opd.heat_layout_sort desc
    </select>
    <select id="getPrintLabel1">
        select o.order_id,
               o.project,
@@ -759,13 +792,15 @@
               ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
               ifnull(fcs.sort,'') as sort,
               ogd.glass_child,
               #{process} as process
               #{process} as process,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber
        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 flow_card_sort as fcs on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and fcs.technology_number = fc.technology_number
            and fcs.process=#{process}
        left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
@@ -1104,7 +1139,7 @@
    <select id="getDetailListLike">
        select fc.order_number,
               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
               od.quantity,
               fc.quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
@@ -1704,8 +1739,8 @@
                       o.project,
                       ogd.technology_number,
                       ogd.glass_address,
                       sum(od.quantity)         as quantity,
                       sum(ogd.total_area)      as total_area,
                       sum(fc.quantity)         as quantity,
                       round(sum(ogd.child_width*ogd.child_height*fc.quantity/1000000) ,2)     as total_area,
                       od.product_name,
                       ogd.glass_child,
                       fc.founder,
@@ -1753,7 +1788,7 @@
                                             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,
                                             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}
@@ -1791,7 +1826,7 @@
                                             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,
                                             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
@@ -1808,6 +1843,7 @@
        where process is not null
          and process != ""
        GROUP BY order_id,process_id,technology_number,process
        order by order_id,process_id,length(technology_number)
    </select>
    <insert id="printAddSortMp">
@@ -1831,4 +1867,141 @@
          and technology_number = #{technologyNumber}
          and process = #{process}
    </update>
    <select id="getPrimaryListLimt">
        select o.customer_name,
               o.project,
               #{process}                                         process,
               od.edging_type,
               #{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,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
               concat('对应我司单号',o.batch)                                         AS otherRemarks,
               fc.technology_number as qrcode
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.`order` as o on o.order_id = fc.order_id
                 left join sd.product as p on p.id = od.product_id
                 left join (select ogd.order_id,
                                   ogd.order_number,
                                   ogd.technology_number,
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = left(#{processId}, 10)
                              and position(ogd.technology_number in #{technologyNumber})
                            GROUP BY order_id, order_number) as ogdc
                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                              ogdc.technology_number = ogd.technology_number
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id limit 1
    </select>
    <select id="selectPrintDetailsMp">
        select fc.id,
               fc.order_id,
               fc.process_id,
               o.customer_name,
               o.project,
               ogd.technology_number,
               ogd.glass_address,
               (fc.quantity)         as quantity,
               round((ogd.child_width*ogd.child_height*fc.quantity/1000000) ,2)     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,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
               od.order_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
        where fc.order_id = #{orderId}
        GROUP BY fc.process_id, od.order_number
        order by fc.process_id,od.order_number
    </select>
    <select id="getPrintCustomDataDetails">
        select o.order_id                                            as orderId,
               project,
               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,
               money,
               contract_id                                           as contractId,
               customer_batch                                           customerBatch,
               contacts,
               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,
               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
        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.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
        where fc.process_id = #{processId}
        and fc.order_number=#{orderNumber}
        group by fc.process_id,od.order_number, width, height
        order by fc.process_id
    </select>
    <select id="selectUserMp">
        select role_id from
            erp_user_info.`user` as u left join erp_user_info.user_role as ur on u.id=ur.user_id
        where u.login_name=#{userId}
    </select>
</mapper>