sfd
2025-05-26 2a64b537e8e3bce9ce030585a3da17d48379c0ad
aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml
@@ -261,13 +261,14 @@
            l.route_name as process_name,
            l.route_num as process_number,
            l.standard_time,
            m.domain,
            s.work_shop as workshop
            string_agg(DISTINCT m.domain, ';') as domain,
            string_agg(DISTINCT s.work_shop, ';') as workshop
        FROM aps_gas_pipeline_prediction p
        JOIN aps_standard_process_route_header h ON p.material_code = h.item_code AND p.factory = h.org_code
        JOIN aps_standard_process_route_line l ON h.route_id = l.route_id
        LEFT JOIN aps_material_product_group_management m ON p.material_code = m.material_code AND p.factory = m.factory
        LEFT JOIN aps_standard_process s ON l.route_name = s.process_name
        GROUP BY p.id, p.material_code, p.factory, p.predict_quantity, p.predict_date, h.route_id, l.route_name, l.route_num, l.standard_time
        ORDER BY p.material_code, l.route_num
    </select>
    
@@ -283,12 +284,13 @@
            r.process_name,
            r.process_number,
            r.standard_time,
            m.domain,
            s.work_shop as workshop
            string_agg(DISTINCT m.domain, ';') as domain,
            string_agg(DISTINCT s.work_shop, ';') as workshop
        FROM aps_gas_pipeline_mo mo
        JOIN aps_process_route r ON mo.mo = r.work_order_no
        LEFT JOIN aps_material_product_group_management m ON mo.material_code = m.material_code AND mo.factory = m.factory
        LEFT JOIN aps_standard_process s ON r.process_name = s.process_name
        GROUP BY mo.id, mo.mo, mo.material_code, mo.factory, mo.quantity, mo.plan_end, r.process_name, r.process_number, r.standard_time
        ORDER BY mo.mo, r.process_number
    </select>
    
@@ -399,4 +401,65 @@
            process_plan_start_day
    </select>
    <!-- 查询所有手工气体工单数据 -->
    <select id="selectAllMoData" resultType="java.util.Map">
        SELECT
            id,
            mo,
            factory,
            material_code,
            plan_end,
            quantity
        FROM aps_gas_pipeline_mo
    </select>
    <!-- 查询基础统计数据(不包含时间限制),用于获取所有可能的工序名和车间 -->
    <select id="selectBaseStatData" parameterType="java.util.Map" resultType="java.util.Map">
        SELECT DISTINCT
            process_name AS "processName",
            plant AS "plant",
            major AS "major",
            workshop AS "workshop"
        FROM aps_gas_piping_route_stat
        <where>
            <if test="plants != null and plants.size() > 0">
                AND plant IN
                <foreach collection="plants" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            <if test="plant != null and plant != ''">
                AND plant = #{plant}
            </if>
            <if test="majors != null and majors.size() > 0">
                AND major IN
                <foreach collection="majors" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            <if test="major != null and major != ''">
                AND major = #{major}
            </if>
            <if test="workshops != null and workshops.size() > 0">
                AND workshop IN
                <foreach collection="workshops" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            <if test="workshop != null and workshop != ''">
                AND workshop = #{workshop}
            </if>
        </where>
    </select>
    <!-- 查询所有去重的工序名称 -->
    <select id="selectDistinctProcessNames" resultType="java.lang.String">
        SELECT DISTINCT process_name FROM aps_gas_piping_route_stat WHERE process_name IS NOT NULL AND process_name != ''
    </select>
    <!-- 查询所有去重的车间 -->
    <select id="selectDistinctWorkshops" resultType="java.lang.String">
        SELECT DISTINCT workshop FROM aps_gas_piping_route_stat WHERE workshop IS NOT NULL AND workshop != ''
    </select>
</mapper>