guoyujie
2025-10-15 faaf48208ab4331a65b013ee5cf5e915936029eb
north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
@@ -6,7 +6,7 @@
    <insert id="insertOrderProcessDetail" >
        insert into
            order_process_detail(
            sd.order_process_detail(
                order_id,
                order_number,
                technology_number,
@@ -118,18 +118,40 @@
    <select id="getGlassLRow">
        select
             max(a.technology_number) as rowCount,
             RowNum
        from sd.order_process_detail as a
             RowNum,
             a.order_number,
             a.process_id
        from pp.flow_card as a
        left join
            (select min((@i:=@i+1)) AS RowNum,c.*
             from sd.order_glass_detail as c,
             from pp.flow_card  as c,
                  (SELECT @i:=-1) as d
             where order_id = #{orderId}
             GROUP BY order_number
             GROUP BY order_number,process_id
             ) as b
        on b.order_number = a.order_number
        on b.id = a.id
        where a.order_id = #{orderId}
        group by a.order_number
        group by a.order_number,a.process_id
        order by a.process_id,a.order_number
    </select>
    <select id="getProcessGlassLRow">
        select
            max(a.technology_number) as rowCount,
            RowNum
        from pp.flow_card as a
                 left join
             (select min((@i:=@i+1)) AS RowNum,c.*
              from pp.flow_card  as c,
                   (SELECT @i:=-1) as d
              where order_id = #{orderId}
              GROUP BY process_id
             ) as b
             on b.id = a.id
        where a.order_id = #{orderId}
        group by a.process_id
        order by RowNum
    </select>
    <update id="insertByReportingWorkDetail">
@@ -194,12 +216,24 @@
    </select>
    <select id="selectShiftQuantitySv">
        select * from(select CAST(concat(b.order_id,'/',a.order_number,'/',a.technology_number) as char ) as 'order_id',
        select *
        <if test="step != null and step != ''">
            ,sum(e.break) as 'breakage_quantity'
            ,Round(sum(e.break)*e.area,2) as 'breakage_area'
        </if>
        <if test="step == null || step == ''">
            ,e.break as 'breakage_quantity'
            ,Round(e.break*e.area,2) as 'breakage_area'
        </if>
        from(select CAST(concat(b.order_id,'/',a.order_number,'/',a.technology_number) as char ) as 'order_id',
               c.child_width,
               c.child_height,
               a.completed_quantity,
               a.breakage_quantity,
               a.order_number
               a.breakage_quantity as break,
               a.order_number,
               b.reporting_work_id,
               round(c.area*a.completed_quantity,2) as finish_area,
               c.area
        from pp.reporting_work as b
        left join pp.reporting_work_detail as a
            on a.reporting_work_id = b.reporting_work_id
@@ -212,7 +246,23 @@
        and UNIX_TIMESTAMP(b.reporting_work_time) BETWEEN UNIX_TIMESTAMP(#{startDatetime}) and UNIX_TIMESTAMP(#{endDatetime})
        order by b.id desc ) as e
        <if test="step != null and step != ''">
            group by e.order_number
            group by e.order_number,e.reporting_work_id
        </if>
    </select>
    <select id="getBehindProcess">
        select group_concat(process) from sd.order_process_detail as a
        where a.order_id = #{orderId}
        and a.process_id = #{processId}
        and a.order_number =#{orderNumber}
        and a.technology_number =#{technologyNumber}
        and a.id>(select id
                  from sd.order_process_detail as b
                  where b.order_id = #{orderId}
                    and b.process_id = #{processId}
                    and b.order_number =#{orderNumber}
                    and b.technology_number =#{technologyNumber}
                  and b.process = #{thisProcess}
                )
    </select>
</mapper>