廖井涛
2024-09-27 c26d3f181ddd40a23aaef5bbbd5f0fcf1683d68a
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -10,6 +10,7 @@
        <result column="founder" property="founder"/>
        <result column="create_time" property="createTime"/>
        <result column="layout_status" property="layoutStatus"/>
        <result column="merge" property="merge"/>
        <!--接收其他外键实体类数据-->
        <association property="order" javaType="com.example.erp.entity.sd.Order">
            <result column="project" property="project"/>
@@ -64,8 +65,9 @@
        a.founder,
        c.processing_note,
        b.customer_name,
        if(a.layout_status=0,'不可排版',if(a.layout_status=1,'可排版','已排版')) as layout_status
        from (select id,order_id,process_id,order_number, quantity,founder,layout_status,create_time from flow_card
        if(a.layout_status=0,'不可排版',if(a.layout_status=1,'可排版','已排版')) as layout_status,
        a.merge
        from (select id,order_id,process_id,order_number, quantity,founder,layout_status,create_time,merge from flow_card
        group by process_Id,order_number) as a left join sd.`order` as b on a.order_Id=b.order_id
        left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
        where a.create_time between #{selectTime1} and #{selectTime2}
@@ -93,6 +95,9 @@
        </if>
        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '已排版'">
            and a.layout_status regexp 2
        </if>
        <if test="flowCard.merge != null">
            and a.merge regexp #{flowCard.merge}
        </if>
        <if test="flowCard.order.customerName != null and flowCard.order.customerName!= ''">
            and b.customer_name regexp #{flowCard.order.customerName}
@@ -134,6 +139,9 @@
        </if>
        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '已排版'">
            and a.layout_status regexp 2
        </if>
        <if test="flowCard.merge != null">
            and a.merge regexp #{flowCard.merge}
        </if>
        ORDER BY a.id desc
@@ -246,9 +254,10 @@
               ROUND(od.quantity-IFNULL(sum(fc.quantity)/count(fc.technology_number),0))           as baiscQuantity,
               od.compute_gross_area as 'computeGrossArea',
               p.total_thickness     AS 'totalThickness',
               p.thickness,
               ifnull(p.thickness,'') as thickness,
               od.weight,
               od.remarks,
               ifnull(od.bend_radius,'') as bend_radius,
               ods.S01,
               ods.S02,
               ods.S03,
@@ -462,7 +471,7 @@
        where create_time between #{selectTime1} and #{selectTime2}
          and position(#{orderId} in order_id)
          and position(#{project} in project)
          and processing_card = 2
          and processing_card >0
        order by create_time desc
    </select>
@@ -509,12 +518,10 @@
                                          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, ogds.child_width,
                                            ogds.child_height) as ogdss
                                   GROUP BY order_id, order_number, ogds.glass_child, process) 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, ogdss.child_width,
                        ogdss.child_height
               GROUP BY fc.process_id, ogdss.concatenated_glass_child, ogdss.processed_part
               order by fc.process_id, ogdss.technology_number)
              UNION
@@ -650,7 +657,7 @@
               fc.quantity,
               round(ogd.total_area, 2)                                       as total_area,
               od.perimeter,
               od.bend_radius,
               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
               concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
               od.other_columns,
               round(ogd.child_width)                                         as width,
@@ -789,6 +796,43 @@
        group by od.order_number, od.width, od.height
    </select>
    <select id="getPrintLabelDetail">
        select o.order_id,
               o.project,
               o.customer_id,
               ogd.child_width                as width,
               ogd.child_height               as height,
               fc.quantity,
               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,
               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 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
        <where>
            and fc.process_id = #{flowCard.processId}
            and fc.order_number = #{flowCard.orderNumber}
            <if test="flowCard.technologyNumber != null and flowCard.technologyNumber != ''">
                and fc.technology_number = #{flowCard.technologyNumber}
            </if>
        </where>
        group by od.order_number,fc.technology_number, od.width, od.height
    </select>
    <select id="printFlowCardDetailsMp">
        SELECT fc.process_id,
               fc.order_number,
@@ -801,7 +845,8 @@
               ifnull(fcs.sort, '')                                                 as sort,
               ogd.glass_child,
               #{process}                                                           as process,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                AS glassNumber
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                AS glassNumber,
               od.bend_radius
        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
@@ -1156,7 +1201,7 @@
               fc.quantity,
               round(ogd.total_area, 2)                                       as total_area,
               od.perimeter,
               od.bend_radius,
               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
               concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
               od.other_columns,
               round(ogd.child_width)                                         as width,
@@ -1228,13 +1273,18 @@
               sum(pl.patch_num)                                                 as quantity,
               round(ogd.total_area, 2)                                       as total_area,
               od.perimeter,
               od.bend_radius,
               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
               concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
               od.other_columns,
               round(ogd.child_width)                                         as width,
               round(ogd.child_height)                                        as height,
               pd.separation,
               fc.technology_number
               fc.technology_number,
               pl.patch_type,
               pl.patch_reason,
               pl.patch_processes,
               pl.responsible_team,
               pl.responsible_personnel
        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
@@ -1248,7 +1298,8 @@
          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.patch_reason = #{patchReason}
        group by fc.process_id, fc.order_number, fc.technology_number,pl.id
        order by IF(sort != NULL and sort != '', sort, fc.order_number)
    </select>
@@ -1272,7 +1323,8 @@
               dd.responsible_team,
               concat('对应我司单号', o.batch)                 AS otherRemarks,
               dd.responsible_personnel,
               #{mergeTechnologyNumber} as  mergeTechnologyNumber
               #{mergeTechnologyNumber} as  mergeTechnologyNumber,
               pl.patch_id
        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
@@ -1301,7 +1353,8 @@
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and fc.technology_number = #{technologyNumber}
          and rw.reporting_work_id = #{reportingWorkId}
          and pl.reporting_work_id = #{reportingWorkId}
          and dd.breakage_reason = #{patchReason}
        group by fc.process_id, fc.technology_number
    </select>
@@ -1354,7 +1407,8 @@
               dd.responsible_process,
               dd.responsible_team,
               concat('对应我司单号', o.batch)                 AS otherRemarks,
               dd.responsible_personnel
               dd.responsible_personnel,
               pl.rework_id as  patch_id
        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
@@ -1393,13 +1447,19 @@
               (pl.rework_num)                                              as quantity,
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
               concat(od.processing_note, od.remarks)                       as remarks,
               od.other_columns,
               round(ogd.child_width)                                       as width,
               round(ogd.child_height)                                      as height,
               pd.separation,
               fc.technology_number
               fc.technology_number,
               pl.rework_type as patch_type,
               pl.rework_reason as patch_reason,
               pl.rework_processes as patch_processes,
               pl.responsible_team,
               pl.rework_team,
               pl.responsible_personnel
        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
@@ -1945,7 +2005,7 @@
               fc.process_id,
               o.customer_name,
               o.project,
               ogd.technology_number,
               /*ogd.technology_number,*/
               ogd.glass_address,
               (fc.quantity)                                                          as quantity,
               round((ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
@@ -1969,6 +2029,36 @@
        order by fc.process_id, od.order_number
    </select>
    <select id="selectPrintDetailsMp1">
        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,fc.technology_number
        order by fc.process_id, od.order_number,fc.technology_number
    </select>
    <select id="getPrintCustomDataDetails">
        select o.order_id                                            as orderId,
               project,
@@ -1989,7 +2079,7 @@
               od.processing_note                                    as processingNote,
               width,
               height,
               od.quantity,
               fc.quantity,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
@@ -2013,7 +2103,12 @@
               od.other_columns,
               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,
               '文本' as custom1,
               '文本' as custom2,
               '文本' as custom3,
               '文本' as custom4,
               '文本' as custom5
        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
@@ -2027,7 +2122,7 @@
                              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
        group by od.order_number, width, height
        order by fc.process_id
    </select>
@@ -2103,4 +2198,8 @@
        where fc.process_id = #{processId}
    </update>
    <delete id="deleteflowCardSort">
        delete from flow_card_sort where process_id = #{processId}
    </delete>
</mapper>