sfd
2025-05-09 a080d67b9964cd632f52c481c0f20ef2e3e7073a
aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamMapper.xml
@@ -157,19 +157,43 @@
        SELECT produce_year as year,
            produce_month as month,
            production_base as productionBase,
            SUM ( CASE WHEN work_order_type = '0' AND classification = '1' THEN total_weld_seam ELSE 0 END ) AS pipingOrderRequirement,
            SUM ( CASE WHEN work_order_type = '0' AND classification = '0' THEN total_weld_seam ELSE 0 END ) AS gasOrderRequirement,
            SUM ( CASE WHEN work_order_type = '1' AND classification = '1' THEN total_weld_seam ELSE 0 END ) AS pipingPredictionRequirement,
            SUM ( CASE WHEN work_order_type = '1' AND classification = '0' THEN total_weld_seam ELSE 0 END ) AS gasPredictionRequirement
            work_order_type as workOrderType,
            classification,
        sum(total_weld_seam) as total
        FROM   aps_weld_seam where del_flag='0'
        GROUP BY produce_year, produce_month,   production_base,  work_order_type, classification
    </select>
    <update id="removeLastBatch" parameterType="String">
        update  aps_weld_seam set del_flag='1'    where  del_flag='0'
    </update>
    <select id="weldSeamEcharts" parameterType="java.util.List" resultType="map">
        SELECT
            seam.produce_year,
            seam.produce_month,
            seam.production_base,
            workOrderType.dict_label AS work_order_name,
            classification.dict_label AS classification_name,
            SUM ( seam.total_weld_seam ) AS total_weld_seam
        FROM
            aps_weld_seam
        where 1=1
        <foreach item="item" index="index" collection="list" separator=" ">
            or ( produce_year=#{item.produceYear} and produce_month=#{item.produceMonth} and production_base=#{item.productionBase})
        </foreach>
            aps_weld_seam seam
            LEFT JOIN sys_dict_data workOrderType ON seam.work_order_type = workOrderType.dict_value
            AND workOrderType.dict_type = 'aps_weld_work_order_type'
            LEFT JOIN sys_dict_data classification ON seam.classification = classification.dict_value
            AND classification.dict_type = 'aps_weld_classification'
            <where>
                seam.del_flag = '0'
                <foreach item="item" index="index" collection="list" separator=" OR " open="and (" close=") ">
                    produce_year = #{item.produceYear} and produce_month = #{item.produceMonth}
                </foreach>
            </where>
        GROUP BY
            produce_year,
            produce_month,
            production_base
            seam.produce_year,
            seam.produce_month,
            seam.production_base,
            workOrderType.dict_label,
            classification.dict_label
    </select>
</mapper>