zhanghl
2025-04-16 d6d8e246fa97bca67c990f0b3db2d96383be9255
aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamMapper.xml
@@ -155,21 +155,51 @@
    </delete>
    <select id="weldSeamStat" parameterType="java.util.List" resultType="com.aps.core.domain.ApsWeldSeamStatistics">
        SELECT produce_year as year,
   produce_month as month,
   production_base as productionBase,
   SUM ( CASE WHEN work_order_type = '0' AND classification = '1' THEN production_quantity ELSE 0 END ) AS pipingOrderRequirement,
   SUM ( CASE WHEN work_order_type = '0' AND classification = '0' THEN production_quantity ELSE 0 END ) AS gasOrderRequirement,
   SUM ( CASE WHEN work_order_type = '1' AND classification = '1' THEN production_quantity ELSE 0 END ) AS pipingPredictionRequirement,
   SUM ( CASE WHEN work_order_type = '1' AND classification = '0' THEN production_quantity ELSE 0 END ) AS gasPredictionRequirement
            produce_month as month,
            production_base as productionBase,
            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>
                <if test="produceYears != null "> and produce_year in
                    <foreach item="produceYear" collection="produceYears" open="(" separator="," close=")">
                        #{produceYear}
                    </foreach>
                </if>
                <if test="produceMonths != null "> and produce_month in
                    <foreach item="produceMonth" collection="produceMonths" open="(" separator="," close=")">
                        #{produceMonth}
                    </foreach>
                </if>
            </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>