廖井涛
2024-09-06 10a26b9b670efef0a2adba675c794c539846aa3c
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -811,4 +811,51 @@
    <select id="getPatchConditionMp">
        select count(*) from damage_details where reporting_work_id=#{reportingWorkId} and patch_status>0
    </select>
    <select id="getFirstStep">
        SELECT
            fc.quantity -odpd.reporting_work_num -odpd.broken_num + ifnull(patch.patch_num,0)  as quantity
        FROM
            sd.order_detail AS od
                LEFT JOIN sd.order_glass_detail AS ogd
                          ON od.order_id = ogd.order_id
                              AND od.order_number = ogd.order_number
                LEFT JOIN flow_card AS fc
                          ON fc.order_id = ogd.order_id
                              and fc.production_id=ogd.production_id
                              AND fc.order_number = ogd.order_number
                              AND fc.technology_number = ogd.technology_number
                left join sd.order_process_detail as odpd
                          ON  odpd.order_id = fc.order_id
                              AND odpd.order_number = fc.order_number
                              AND odpd.technology_number = fc.technology_number
                              and  odpd.process_id = fc.process_id
                left join (
                select ifnull(sum(a.patch_num),0) as patch_num,a.process_id,a.technology_number,a.order_sort
                from patch_log as a
                         right join  reporting_work
                                     on a.reporting_work_id=reporting_work.reporting_work_id
                where
                    reporting_work.this_process = #{interceptProcess}
                  and a.process_id=#{processId}
                  and a.order_sort=#{orderSort}
                  and POSITION(a.technology_number in #{technologyNumber})
                  and a.review_status = 1
                group by a.process_id,a.order_sort,a.technology_number
            ) as patch
                          on patch.process_id = fc.process_id
                              and patch.order_sort = fc.order_number
                              and patch.technology_number = fc.technology_number
                left join sd.`order` as o on o.order_id=od.order_id
        WHERE
            fc.process_id = #{processId}
          and fc.order_number=#{orderSort}
          AND  POSITION(fc.technology_number in #{technologyNumber})
          AND odpd.process = #{interceptProcess}
        group by fc.order_number,
                 ogd.technology_number
        order by fc.order_number
    </select>
</mapper>