<?xml version="1.0" encoding="UTF-8" ?>
|
<!DOCTYPE mapper
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.aps.core.mapper.ApsPartRouteStatMapper">
|
|
<resultMap type="com.aps.core.domain.ApsPartRouteStat" id="ApsPartRouteStatResult">
|
<result property="id" column="id" />
|
<result property="workOrderNo" column="work_order_no" />
|
<result property="roadProcessNumber" column="road_process_number" />
|
<result property="currentProcessNumber" column="current_process_number" />
|
<result property="productionQuantity" column="production_quantity" />
|
<result property="standardTime" column="standard_time" />
|
<result property="processTotalTime" column="process_total_time" />
|
<result property="processPlanStartDay" column="process_plan_start_day" />
|
<result property="designTimes" column="design_times" />
|
<result property="delFlag" column="del_flag" />
|
<result property="createBy" column="create_by" />
|
<result property="batchNumber" column="batch_number" />
|
<result property="resourceGroupName" column="resource_group_name" />
|
</resultMap>
|
|
<sql id="selectApsPartRouteStatVo">
|
select id, work_order_no, road_process_number, current_process_number, production_quantity, standard_time, process_total_time, process_plan_start_day, design_times, del_flag, create_by, batch_number ,resource_group_name from aps_part_route_stat
|
</sql>
|
|
<select id="selectApsPartRouteStatList" parameterType="com.aps.core.domain.ApsPartRouteStat" resultMap="ApsPartRouteStatResult">
|
<include refid="selectApsPartRouteStatVo"/>
|
<where>
|
<if test="workOrderNo != null and workOrderNo != ''"> and work_order_no = #{workOrderNo}</if>
|
<if test="roadProcessNumber != null and roadProcessNumber != ''"> and road_process_number = #{roadProcessNumber}</if>
|
<if test="currentProcessNumber != null and currentProcessNumber != ''"> and current_process_number = #{currentProcessNumber}</if>
|
<if test="productionQuantity != null "> and production_quantity = #{productionQuantity}</if>
|
<if test="standardTime != null "> and standard_time = #{standardTime}</if>
|
<if test="processTotalTime != null "> and process_total_time = #{processTotalTime}</if>
|
<if test="processPlanStartDay != null and processPlanStartDay != ''"> and process_plan_start_day = #{processPlanStartDay}</if>
|
<if test="designTimes != null "> and design_times = #{designTimes}</if>
|
<if test="batchNumber != null and batchNumber != ''"> and batch_number = #{batchNumber}</if>
|
</where>
|
</select>
|
|
<select id="selectApsPartRouteStatById" parameterType="String" resultMap="ApsPartRouteStatResult">
|
<include refid="selectApsPartRouteStatVo"/>
|
where id = #{id}
|
</select>
|
|
<insert id="insertApsPartRouteStat" parameterType="com.aps.core.domain.ApsPartRouteStat">
|
insert into aps_part_route_stat
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null">id,</if>
|
<if test="workOrderNo != null">work_order_no,</if>
|
<if test="roadProcessNumber != null and roadProcessNumber != ''">road_process_number,</if>
|
<if test="currentProcessNumber != null">current_process_number,</if>
|
<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 ">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>
|
<if test="workOrderNo != null">#{workOrderNo},</if>
|
<if test="roadProcessNumber != null and roadProcessNumber != ''">#{roadProcessNumber},</if>
|
<if test="currentProcessNumber != null">#{currentProcessNumber},</if>
|
<if test="productionQuantity != null">#{productionQuantity},</if>
|
<if test="standardTime != null">#{standardTime},</if>
|
<if test="processTotalTime != null">#{processTotalTime},</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>
|
|
<update id="updateApsPartRouteStat" parameterType="com.aps.core.domain.ApsPartRouteStat">
|
update aps_part_route_stat
|
<trim prefix="SET" suffixOverrides=",">
|
<if test="workOrderNo != null">work_order_no = #{workOrderNo},</if>
|
<if test="roadProcessNumber != null and roadProcessNumber != ''">road_process_number = #{roadProcessNumber},</if>
|
<if test="currentProcessNumber != null">current_process_number = #{currentProcessNumber},</if>
|
<if test="productionQuantity != null">production_quantity = #{productionQuantity},</if>
|
<if test="standardTime != null">standard_time = #{standardTime},</if>
|
<if test="processTotalTime != null">process_total_time = #{processTotalTime},</if>
|
<if test="processPlanStartDay != null and processPlanStartDay != ''">process_plan_start_day = #{processPlanStartDay},</if>
|
<if test="designTimes != null">design_times = #{designTimes},</if>
|
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
<if test="createBy != null">create_by = #{createBy},</if>
|
<if test="batchNumber != null">batch_number = #{batchNumber},</if>
|
</trim>
|
where id = #{id}
|
</update>
|
|
<update id="deleteApsPartRouteStatById" parameterType="String">
|
update aps_part_route_stat set del_flag = '1' where id = #{id}
|
</update>
|
|
<update id="deleteApsPartRouteStatByIds" parameterType="String">
|
update aps_part_route_stat set del_flag = '1'
|
where id in
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</update>
|
<update id="deleteLastBatch" parameterType="String">
|
update aps_part_route_stat set del_flag = '1' where batch_number != #{batchNumber}
|
</update>
|
<select id="selectPartRoutStat" resultMap="ApsPartRouteStatResult" >
|
select rt.work_order_no,
|
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,
|
rt.standard_time,
|
(rt.standard_time*pl.production_quantity) as process_total_time,
|
rt.process_plan_start_day ,
|
(rs.devices_quantity*rs.theory_hours) as design_time
|
from aps_part_plan as pl
|
left join aps_process_route as rt on pl.document_number=rt.work_order_no
|
left join aps_resource_group as rs on rs.resource_group_name=rt.process_name
|
where pl.document_number is not null and rt.work_order_no is not null
|
and rt.process_plan_start_day <= rs.request_date
|
order by rt.work_order_no,process_plan_start_day
|
</select>
|
|
<resultMap type="com.aps.core.domain.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.plan_day
|
,pl.resource_name
|
, require_times
|
, (gp.theory_hours * gp.devices_quantity) as design_times
|
, cast ( require_times / cast (gp.theory_hours * gp.devices_quantity as numeric(18,4)) as numeric(18,4)) *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>
|