bluejay
2025-04-12 a40d3116690c0584e933b2f76ea2951e528c297d
aps-modules/aps-core/src/main/resources/mapper/core/ApsPartRouteStatMapper.xml
@@ -54,11 +54,12 @@
            <if test="productionQuantity != null">production_quantity,</if>
            <if test="standardTime != null">standard_time,</if>
            <if test="processTotalTime != null">process_total_time,</if>
            <if test="processPlanStartDay != null and processPlanStartDay != ''">process_plan_start_day,</if>
            <if test="processPlanStartDay != null ">process_plan_start_day,</if>
            <if test="designTimes != null">design_times,</if>
            <if test="delFlag != null">del_flag,</if>
            <if test="createBy != null">create_by,</if>
            <if test="batchNumber != null">batch_number,</if>
            <if test="resourceGroupName != null">resource_group_name,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
@@ -68,11 +69,12 @@
            <if test="productionQuantity != null">#{productionQuantity},</if>
            <if test="standardTime != null">#{standardTime},</if>
            <if test="processTotalTime != null">#{processTotalTime},</if>
            <if test="processPlanStartDay != null and processPlanStartDay != ''">#{processPlanStartDay},</if>
            <if test="processPlanStartDay != null">#{processPlanStartDay},</if>
            <if test="designTimes != null">#{designTimes},</if>
            <if test="delFlag != null">#{delFlag},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="batchNumber != null">#{batchNumber},</if>
            <if test="resourceGroupName != null">#{resourceGroupName},</if>
         </trim>
    </insert>
@@ -110,7 +112,7 @@
    </update>
    <select id="selectPartRoutStat"  resultMap="ApsPartRouteStatResult" >
        select rt.work_order_no,
            rt.process_name,
            rt.process_name as resource_group_name,
            cast( rt.process_number as numeric(18,2)) as road_process_number,
            cast( pl.process_number as numeric(18,2)) as current_process_number,
            pl.production_quantity,
@@ -128,23 +130,35 @@
            and rt.process_plan_start_day  &lt;= rs.request_date
            order by rt.work_order_no,process_plan_start_day
    </select>
    <select id="selectResourceDateStat" resultType="com.aps.core.domain.ApsResourceDateStat">
        with pl as  (
            select
            DATE( st.process_plan_start_day) AS plan_day,
                resource_group_name as resource_name,
                sum(process_total_time) as require_times
            from aps_part_route_stat  as st
            where st.del_flag='0'
            group by resource_group_name, plan_day
    <resultMap type="ApsResourceDateStat" id="ApsResourceDateStatResult">
        <result property="planDay"    column="plan_day"    />
        <result property="resourceName"    column="resource_name"    />
        <result property="requireTimes"    column="require_times"    />
        <result property="designTimes"    column="design_times"    />
        <result property="capacityLoad"    column="capacity_load"    />
        <result property="resourceGroupName"    column="resource_name"    />
    </resultMap>
    <select id="selectResourceDateStat" resultMap="ApsResourceDateStatResult">
        with pl as  (select DATE(st.process_plan_start_day) AS plan_day,
            resource_group_name             as resource_name,
            sum(process_total_time)         as require_times
        from aps_part_route_stat as st
        where st.del_flag = '0'
        group by resource_group_name, plan_day
        order by plan_day,resource_group_name
        )
        select  pl.resource_name
                ,pl.plan_day
                ,require_times
                ,(gp.theory_hours*gp.devices_quantity) as design_times
                ,((gp.theory_hours*gp.devices_quantity) / require_times * 100)  as capacity_load
        from pl left join aps_resource_group as gp on pl.resource_group_name=gp.resource_group_name
        where gp.del_flag='0'
        </select>
        select
            pl.plan_day
             ,pl.resource_name
             , require_times
             , (gp.theory_hours * gp.devices_quantity)   as design_times
             , ((gp.theory_hours * gp.devices_quantity) / require_times*100) as capacity_load
        from pl
                 left join aps_resource_group as gp on pl.resource_name = gp.resource_group_name
        where gp.del_flag = '0'
    </select>
</mapper>