guoyuji
2024-12-10 2a751641cf28cb8a081bd003d55e188dfb17aaa1
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -308,7 +308,7 @@
    <select id="reportingWorkCount">
        select COUNT(rw.process_id)
        from reporting_work as rw
        where rw.process_id = #{processId}
        where rw.process_id = #{processId} and reviewed_state>=0
    </select>
    <!--    插入Flow_card表-->
    <insert id="addFlowCardMp">
@@ -353,14 +353,14 @@
    <select id="selectFlowCount">
        select COUNT(*)
        from sd.order_glass_detail as ogd
        where ogd.order_id = left(#{productionId}, 10)
        where ogd.order_id = #{orderId}
          and ogd.splitting_status = 0
    </select>
    <!--   修改订单表分架状态-->
    <update id="updateProcessingCard">
        update sd.`order` as o
        set o.processing_card=#{state}
        where o.order_id = left(#{productionId}, 10)
        where o.order_id = #{productionId}
    </update>
    <!--    查询已排版数据-->
@@ -443,12 +443,18 @@
               od.product_name,
               ogd.glass_child,
               fc.founder,
               date(fc.splitFrame_time)                                             as splitFrame_time
               date(fc.splitFrame_time)                                             as splitFrame_time,
               ogd.process,
               c.concatNumber
        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 = ogd.order_id and od.order_number = ogd.order_number
                 left join (
            select process_id,technology_number, GROUP_CONCAT(order_number) as concatNumber from
            flow_card where process_id = #{processId} GROUP BY process_id,technology_number
                 ) as c on c.process_id=fc.process_id
        where fc.process_id = #{processId}
        GROUP BY fc.order_id, fc.process_id, fc.order_number, fc.technology_number
        order by fc.order_number, fc.technology_number
@@ -478,7 +484,7 @@
    </select>
    <select id="selectPrintFlowCard">
        select *
        select project_no,glass_total,glass_total_area
        from pp.optimize_project
        where date(create_time)>=#{selectTime1} and date(create_time) &lt;= #{selectTime2}
          and state >= 20
@@ -644,7 +650,7 @@
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = left(#{processId}, 10)
                            where ogd.order_id = #{orderId}
                              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
@@ -666,7 +672,9 @@
               round(ogd.child_width)                                         as width,
               round(ogd.child_height)                                        as height,
               pd.separation,
               fc.technology_number
               fc.technology_number,
               IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
               od.building_number
        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
@@ -1151,7 +1159,7 @@
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = left(#{processId}, 10)
                            where ogd.order_id = #{orderId}
                              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
@@ -1215,7 +1223,9 @@
               round(ogd.child_width)                                         as width,
               round(ogd.child_height)                                        as height,
               pd.separation,
               fc.technology_number
               fc.technology_number,
               IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
               od.building_number
        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
@@ -1260,7 +1270,7 @@
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = left(#{processId}, 10)
                            where ogd.order_id = #{orderId}
                              and ogd.order_number = #{orderNumber}
                              and position(ogd.technology_number in #{technologyNumber})
                            GROUP BY order_id, order_number) as ogdc
@@ -1346,7 +1356,7 @@
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = left(#{processId}, 10)
                            where ogd.order_id = #{orderId}
                              and ogd.order_number = #{orderNumber}
                              and position(ogd.technology_number in #{technologyNumber})
                            GROUP BY order_id, order_number) as ogdc
@@ -1430,7 +1440,7 @@
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = left(#{processId}, 10)
                            where ogd.order_id = #{orderId}
                              and ogd.order_number = #{orderNumber}
                              and position(ogd.technology_number in #{technologyNumber})
                            GROUP BY order_id, order_number) as ogdc
@@ -1512,7 +1522,7 @@
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = left(#{processId}, 10)
                            where ogd.order_id = #{orderId}
                              and ogd.order_number = #{orderNumber}
                              and position(ogd.technology_number in #{technologyNumber})
                            GROUP BY order_id, order_number) as ogdc
@@ -1578,6 +1588,7 @@
               round(ogd.child_width)                                as width,
               round(ogd.child_height)                               as height,
               fc.quantity,
               CONCAT(round(ogd.child_width)  , ' X ', round(ogd.child_height)   ,' = ',fc.quantity )           as size,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
@@ -1996,7 +2007,7 @@
                                   ogd.glass_child,
                                   GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                            from sd.order_glass_detail as ogd
                            where ogd.order_id = left(#{processId}, 10)
                            where ogd.order_id = #{orderId}
                              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
@@ -2016,6 +2027,7 @@
               /*ogd.technology_number,*/
               ogd.glass_address,
               (fc.quantity)                                                          as quantity,
               (fc.quantity)                                                          as printQuantity,
               round((ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
               od.product_name,
               ogd.glass_child,
@@ -2046,6 +2058,7 @@
               ogd.technology_number,
               ogd.glass_address,
               (fc.quantity)                                                          as quantity,
               (fc.quantity)                                                          as printQuantity,
               round((ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
               od.product_name,
               ogd.glass_child,
@@ -2087,7 +2100,12 @@
               od.processing_note                                    as processingNote,
               width,
               height,
               fc.quantity,
               #{printQuantity}                                      as quantity,
               CONCAT(
                   TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
                   ' X ',
                   TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
                   ' = ',#{printQuantity} )      as size,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
@@ -2156,7 +2174,7 @@
            od.processing_note                                    as processingNote,
            od.width,
            od.height,
            fc.quantity,
            fc.quantity as flowQuantity,
            od.order_number                                       as orderNumber,
            fc.technology_number                                  as technologyNumber,
            od.building_number                                    as buildingNumber,
@@ -2183,7 +2201,8 @@
            '文本' as custom2,
            '文本' as custom3,
            '文本' as custom4,
            '文本' as custom5
            '文本' as custom5,
            od.quantity
        from optimize_detail as opt
                 left join flow_card as fc on opt.project_no=fc.project_no and opt.process_id=fc.process_id and opt.layer=fc.technology_number and opt.order_sort=fc.order_number
                 left join sd.order as o on o.order_id=fc.order_id
@@ -2205,16 +2224,19 @@
    <select id="selectSortTableMp">
        select fcs.sort,
               process_id,
               fcs.process_id,
               fcs.order_number,
               fcs.technology_number,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
               fcs.process
        from flow_card_sort as fcs
                 left join sd.order_detail as od
                           on od.order_id = left(fcs.process_id, 10) and od.order_number = fcs.order_number
        where LEFT(fcs.process_id, 10) = #{orderId}
        GROUP BY process_id,
        from
            flow_card as fc
                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
                left join sd.order_detail as od
                          on od.order_id = fc.order_id and od.order_number = fcs.order_number
        where fc.order_id = #{orderId}
        GROUP BY fcs.process_id,
                 fcs.order_number,
                 fcs.technology_number,
                 fcs.process
@@ -2303,7 +2325,7 @@
            od.processing_note                                    as processingNote,
            od.width,
            od.height,
            fc.quantity,
            fc.quantity as flowQuantity,
            od.order_number                                       as orderNumber,
            fc.technology_number                                  as technologyNumber,
            od.building_number                                    as buildingNumber,
@@ -2330,7 +2352,8 @@
            '文本' as custom2,
            '文本' as custom3,
            '文本' as custom4,
            '文本' as custom5
            '文本' as custom5,
            od.quantity
        from optimize_detail as opt
                 left join flow_card as fc on opt.project_no=fc.project_no and opt.process_id=fc.process_id and opt.layer=fc.technology_number and opt.order_sort=fc.order_number
                 left join sd.order as o on o.order_id=fc.order_id
@@ -2343,4 +2366,147 @@
        order by opt.stock_id,opt.polys_id
    </select>
    <select id="getPrintCustomDataProject">
        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,
            od.width,
            od.height,
            fc.quantity as flowQuantity,
            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,
            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,
            JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color,
            '文本' as custom1,
            '文本' as custom2,
            '文本' as custom3,
            '文本' as custom4,
            '文本' as custom5,
            od.quantity,
            o.order_id,
            c.customer_abbreviation as customer_name,
            od.building_number,
            od.processing_note,
            ogd.child_width         as childWidth,
            ogd.child_height        as childHeight,
            ogd.glass_child as  glassChild,
            ogd.process,
            e.type_name,
            opt.stock_id,
            od.bend_radius,
            a.id as flow_card_sort,
            concat(opt.heat_layout_id,'') as heat_layout_id ,
            opt.heat_layout_sort
        from optimize_detail as opt
                 left join flow_card as fc on opt.project_no=fc.project_no and opt.process_id=fc.process_id and opt.layer=fc.technology_number and opt.order_sort=fc.order_number
                 left join sd.order as o on o.order_id=fc.order_id
                 left join sd.order_detail as od on fc.order_id = od.order_id and od.order_number = fc.order_number
                 left join sd.order_glass_detail as 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 as p on p.id = od.product_id
                 left join sd.basic_glass_type e on e.type_id = p.type_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 (select (@row_number := @row_number + 1) as id,process_id as process_id from (select process_id from pp.optimize_detail tt where project_no =#{projectNo} group by process_id) tt,(select @row_number := 0) as t) a
                           on a.process_id=opt.process_id
        where opt.project_no=#{projectNo}
        order by opt.heat_layout_id, opt.heat_layout_sort desc
    </select>
    <select id="getPrintLabel3">
        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,
               od.product_name  as glass_child,
               ogd.process,
               e.type_name,
               opd.stock_id,
               od.quantity,
               od.other_columns,
               od.bend_radius,
               od.order_number as heat_layout_id,
               a.id as heat_layout_sort
        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
                 left join
             (select (@row_number := @row_number + 1) as id,process_id as process_id from (select process_id from pp.optimize_detail tt where project_no =#{projectNo} group by process_id) tt,(select @row_number := 0) as t) a
             on a.process_id=opd.process_id
        where opd.project_no = #{projectNo}
        group by  order_id,od.order_number
        order by ogd.child_width desc,ogd.child_height desc
    </select>
    <delete id="deleteProcessMp">
        delete from sd.order_process_detail where process_id = #{processId} and technology_number= #{technologyNumber}
    </delete>
    <insert id="updateProcessMp">
        insert into sd.order_process_detail (order_id,
                                             process_id,
                                             order_number,
                                             technology_number,
                                             process,
                                             create_time)
        select fc.order_id,
               fc.process_id,
               fc.order_number,
               #{technologyNumber},
               #{process},
               NOW()
        from pp.flow_card as fc
        where fc.process_id = #{processId}
          and fc.order_number = #{number}
          and fc.technology_number = #{technologyNumber}
        GROUP BY fc.order_number
    </insert>
    <update id="updateOrderProcessMp">
        update sd.order_glass_detail set process=#{orderprocess}
        where order_id=#{orderId} and order_number=#{number} and technology_number=#{technologyNumber}
    </update>
</mapper>