chenlu
2025-07-16 c7da09314b249df0e516af98c3faa2f52ef79d50
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -784,6 +784,10 @@
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number
        <choose>
            <!-- 当 landingSequence != 1 且 flashback != 1 时,按 landing_sequence 倒序 -->
            <when test="landingSequence != 1 and flashback != 1">
                ORDER BY landing_sequence,fc.id desc
            </when>
            <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 -->
            <when test="landingSequence != 1">
                ORDER BY landing_sequence DESC
@@ -1017,7 +1021,7 @@
               ogd.glass_address,
               ogd.child_width,
               ogd.child_height,
               fc.quantity,
               sum(fc.quantity) as quantity,
               ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
               ifnull(fcs.sort, '')                                                 as sort,
               ogd.glass_child,
@@ -1109,7 +1113,7 @@
               od.processing_note                                    as processingNote,
               width,
               height,
               fc.quantity,
               #{printQuantity}  as quantity,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
@@ -1477,6 +1481,9 @@
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number, fc.technology_number
        <choose>
            <when test="landingSequence != 1 and flashback != 1">
                ORDER BY landing_sequence,fc.id desc
            </when>
            <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 -->
            <when test="landingSequence != 1">
                ORDER BY landing_sequence DESC
@@ -1530,6 +1537,9 @@
        where fc.process_id = #{processId} and fc.`merge`=1
        group by fc.process_id, fc.order_number
        <choose>
            <when test="landingSequence != 1 and flashback != 1">
                ORDER BY landing_sequence,fc.id desc
            </when>
            <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 -->
            <when test="landingSequence != 1">
                ORDER BY landing_sequence DESC
@@ -1928,10 +1938,10 @@
               contacts,
               delivery_address                                      as deliveryAddress,
               od.processing_note                                    as processingNote,
               round(ogd.child_width)                                as width,
               round(ogd.child_height)                               as height,
              ogd.child_width                                as width,
               ogd.child_height                              as height,
               fc.quantity,
               CONCAT(round(ogd.child_width)  , ' X ', round(ogd.child_height)   ,' = ',fc.quantity )           as size,
               CONCAT(ogd.child_width  , ' X ', ogd.child_height   ,' = ',fc.quantity )           as size,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
@@ -1941,6 +1951,7 @@
               c.customer_abbreviation                               as customerAbbreviation,
               p.product_abbreviation                                as productAbbreviation,
               CONCAT(fc.process_id, '/', fc.technology_number)      as processId,
               SUBSTRING(fc.process_id,12  )                                        as processIdAD ,/*-流程卡简写-*/
               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,
@@ -1954,7 +1965,18 @@
               od.bend_radius                                        as bendRadius,
               ogd.glass_child                                       as glassChild,
               ogd.glass_address                                     as glassAddress,
               JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color
               JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color,
               CONCAT(
                       od.order_number,')      ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width   AS CHAR))),
                       ' X ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height    AS CHAR))),
                       ' = ',fc.quantity )      as numberSize,
               CONCAT(
                       od.order_number,')','   ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width   AS CHAR))),
                       ' X ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height    AS CHAR))))      as numberSizeQuantity
        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
@@ -1970,6 +1992,7 @@
                              fcs.technology_number = fc.technology_number
                               and fcs.process = #{process}
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id,od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
@@ -2139,8 +2162,8 @@
               contacts,
               o.delivery_address                                    as deliveryAddress,
               od.processing_note                                    as processingNote,
               round(ogd.child_width)                                as width,
               round(ogd.child_height)                               as height,
               ogd.child_width                                as width,
               ogd.child_height                              as height,
               pl.patch_num                                          as quantity,
               pl.order_sort                                         as orderNumber,
               pl.technology_number                                  as technologyNumber,
@@ -3221,6 +3244,9 @@
        and position(fc.technology_number in #{compound})
        group by fc.process_id, fc.order_number
        <choose>
            <when test="landingSequence != 1 and flashback != 1">
                ORDER BY landing_sequence,fc.id desc
            </when>
            <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 -->
            <when test="landingSequence != 1">
                ORDER BY landing_sequence DESC
@@ -3274,6 +3300,9 @@
        and position(fc.technology_number in #{compound})
        group by fc.process_id, fc.order_number
        <choose>
            <when test="landingSequence != 1 and flashback != 1">
                ORDER BY landing_sequence,fc.id desc
            </when>
            <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 -->
            <when test="landingSequence != 1">
                ORDER BY landing_sequence DESC
@@ -3296,4 +3325,81 @@
            </otherwise>
        </choose>
    </select>
    <select id="getPrintCustomDataSemiTj">
        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,
               ogd.child_width                                as width,
               ogd.child_height                              as height,
               fc.quantity,
               CONCAT(ogd.child_width  , ' X ', ogd.child_height   ,' = ',fc.quantity )           as size,
               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.remarks,
               c.customer_abbreviation                               as customerAbbreviation,
               p.product_abbreviation                                as productAbbreviation,
               CONCAT(fc.process_id, '/', fc.technology_number)      as processId,
               SUBSTRING(fc.process_id,12  )                                        as processIdAD ,/*-流程卡简写-*/
               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,
               CONCAT(
                       od.order_number,')      ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width   AS CHAR))),
                       ' X ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height    AS CHAR))),
                       ' = ',fc.quantity )      as numberSize,
               CONCAT(
                       od.order_number,')','   ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width   AS CHAR))),
                       ' X ',
                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height    AS CHAR))))      as numberSizeQuantity
        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
            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 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}
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id,od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
    </select>
</mapper>