You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

206 lines
11 KiB
XML

<?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.os.mes.prod.mapper.ProdPlanExecuteUserMapper">
<resultMap type="ProdPlanExecuteUser" id="ProdPlanExecuteUserResult">
<result property="objId" column="obj_id"/>
<result property="orderCode" column="order_code"/>
<result property="planCode" column="plan_code"/>
<result property="processCode" column="process_code"/>
<result property="stationCode" column="station_code"/>
<result property="staffId" column="staff_id"/>
<result property="completeAmount" column="complete_amount"/>
<result property="planBeginDate" column="plan_begin_date"/>
<result property="planEndDate" column="plan_end_date"/>
<result property="isFlag" column="is_flag"/>
<result property="createdBy" column="created_by"/>
<result property="createdTime" column="created_time"/>
<result property="updatedBy" column="updated_by"/>
<result property="updatedTime" column="updated_time"/>
<result property="batchNumber" column="batch_number"/>
<result property="staffName" column="staff_name"/>
<result property="stationName" column="station_name"/>
<result property="wageCoefficient" column="wage_coefficient"/>
<result property="BeltRequiredLength" column="BeltRequiredLength"/>
<result property="FormingArea" column="FormingArea"/>
<result property="SulfurizationArea" column="SulfurizationArea"/>
<result property="idCard" column="pass_word"/>
<result property="teamCode" column="team_code"/>
<result property="BeltLengthSpecifications" column="BeltLengthSpecifications"/>
<result property="RollCoatingArea" column="RollCoatingArea"/>
<result property="RolledFabricArea" column="RolledFabricArea"/>
</resultMap>
<sql id="selectProdPlanExecuteUserVo">
select ppeu.obj_id,
ppeu.order_code,
ppeu.plan_code,
ppeu.process_code,
ppeu.station_code,
ppeu.staff_id,
ppeu.complete_amount,
ppeu.plan_begin_date,
ppeu.plan_end_date,
ppeu.is_flag,
ppeu.created_by,
ppeu.created_time,
ppeu.updated_by,
ppeu.updated_time,
ppeu.batch_number,
bsi.staff_name,
bsi.wage_coefficient,
bpl.product_line_name station_name,
pod.BeltRequiredLength,
pod.SulfurizationArea,
pod.RolledFabricArea,
pod.RollCoatingArea,
pod.FormingArea,
bsi.pass_word,
bsi.team_code,
pod.BeltLengthSpecifications
from prod_plan_execute_user ppeu
left join base_staff_info bsi on bsi.staff_id = ppeu.staff_id
left join base_product_line bpl on bpl.product_line_code = ppeu.station_code
left join prod_order_detail pod on ppeu.order_code = pod.SeqNo
</sql>
<select id="selectProdPlanExecuteUserList" parameterType="ProdPlanExecuteUser"
resultMap="ProdPlanExecuteUserResult">
<include refid="selectProdPlanExecuteUserVo"/>
<where>
<if test="orderCode != null and orderCode != ''">and ppeu.order_code = #{orderCode}</if>
<if test="planCode != null and planCode != ''">and ppeu.plan_code = #{planCode}</if>
<if test="processCode != null and processCode != ''">and ppeu.process_code = #{processCode}</if>
<if test="stationCode != null and stationCode != ''">and ppeu.station_code = #{stationCode}</if>
<if test="staffId != null and staffId != ''">and ppeu.staff_id = #{staffId}</if>
<if test="completeAmount != null ">and ppeu.complete_amount = #{completeAmount}</if>
<if test="planBeginDate != null ">and ppeu.plan_begin_date = #{planBeginDate}</if>
<if test="planEndDate != null ">and ppeu.plan_end_date = #{planEndDate}</if>
<if test="isFlag != null and isFlag != ''">and ppeu.is_flag = #{isFlag}</if>
<if test="batchNumber != null and batchNumber != ''">and ppeu.batch_number = #{batchNumber}</if>
<if test="params.beginOrderDate != null and params.beginOrderDate != '' and params.endOrderDate != null and params.endOrderDate != ''">
and FORMAT(ppeu.plan_end_date, 'yyyy-MM-dd') between #{params.beginOrderDate} and #{params.endOrderDate}
</if>
</where>
</select>
<select id="selectProdPlanExecuteUserByObjId" parameterType="Long" resultMap="ProdPlanExecuteUserResult">
<include refid="selectProdPlanExecuteUserVo"/>
where obj_id = #{objId}
</select>
<select id="selectAggProdPlanExecuteUserList" parameterType="ProdPlanExecuteUser" resultMap="ProdPlanExecuteUserResult">
SELECT ppeu.order_code,
ppeu.plan_code,
ppeu.process_code,
ppeu.station_code,
bpl.product_line_name AS station_name,
ppeu.complete_amount,
ppeu.plan_begin_date,
ppeu.plan_end_date,
ppeu.batch_number,
STUFF(
(SELECT DISTINCT ', ' + CAST(ppeu_inner.staff_id AS VARCHAR)
FROM prod_plan_execute_user ppeu_inner
WHERE ppeu_inner.plan_code = ppeu.plan_code
AND ppeu_inner.batch_number = ppeu.batch_number
FOR XML PATH('')), 1, 2, '') AS staff_id,
STUFF(
(SELECT DISTINCT ', ' + bsi.staff_name
FROM base_staff_info bsi
LEFT JOIN prod_plan_execute_user ppeu_inner ON ppeu_inner.staff_id = bsi.staff_id
WHERE ppeu_inner.plan_code = ppeu.plan_code
AND ppeu_inner.batch_number = ppeu.batch_number
FOR XML PATH('')), 1, 2, '') AS staff_name
FROM prod_plan_execute_user ppeu
LEFT JOIN base_product_line bpl ON bpl.product_line_code = ppeu.station_code
<where>
<if test="orderCode != null and orderCode != ''">and ppeu.order_code = #{orderCode}</if>
<if test="planCode != null and planCode != ''">and ppeu.plan_code = #{planCode}</if>
<if test="processCode != null and processCode != ''">and ppeu.process_code = #{processCode}</if>
<if test="stationCode != null and stationCode != ''">and ppeu.station_code = #{stationCode}</if>
<if test="staffId != null and staffId != ''">and ppeu.staff_id = #{staffId}</if>
<if test="completeAmount != null ">and ppeu.complete_amount = #{completeAmount}</if>
<if test="planBeginDate != null ">and ppeu.plan_begin_date = #{planBeginDate}</if>
<if test="planEndDate != null ">and ppeu.plan_end_date = #{planEndDate}</if>
<if test="isFlag != null and isFlag != ''">and ppeu.is_flag = #{isFlag}</if>
<if test="batchNumber != null and batchNumber != ''">and ppeu.batch_number = #{batchNumber}</if>
<if test="params.beginOrderDate != null and params.beginOrderDate != '' and params.endOrderDate != null and params.endOrderDate != ''">
and FORMAT(ppeu.plan_end_date, 'yyyy-MM-dd') between #{params.beginOrderDate} and #{params.endOrderDate}
</if>
</where>
GROUP BY ppeu.order_code, ppeu.plan_code, ppeu.process_code, ppeu.station_code, bpl.product_line_name,
ppeu.complete_amount, ppeu.plan_begin_date, ppeu.plan_end_date, ppeu.batch_number
ORDER BY ppeu.order_code desc, ppeu.station_code, ppeu.batch_number
</select>
<insert id="insertProdPlanExecuteUser" parameterType="ProdPlanExecuteUser" useGeneratedKeys="true"
keyProperty="objId">
insert into prod_plan_execute_user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="orderCode != null">order_code,</if>
<if test="planCode != null">plan_code,</if>
<if test="processCode != null">process_code,</if>
<if test="stationCode != null">station_code,</if>
<if test="staffId != null">staff_id,</if>
<if test="completeAmount != null">complete_amount,</if>
<if test="planBeginDate != null">plan_begin_date,</if>
<if test="planEndDate != null">plan_end_date,</if>
<if test="isFlag != null">is_flag,</if>
<if test="createdBy != null">created_by,</if>
<if test="createdTime != null">created_time,</if>
<if test="updatedBy != null">updated_by,</if>
<if test="updatedTime != null">updated_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="orderCode != null">#{orderCode},</if>
<if test="planCode != null">#{planCode},</if>
<if test="processCode != null">#{processCode},</if>
<if test="stationCode != null">#{stationCode},</if>
<if test="staffId != null">#{staffId},</if>
<if test="completeAmount != null">#{completeAmount},</if>
<if test="planBeginDate != null">#{planBeginDate},</if>
<if test="planEndDate != null">#{planEndDate},</if>
<if test="isFlag != null">#{isFlag},</if>
<if test="createdBy != null">#{createdBy},</if>
<if test="createdTime != null">#{createdTime},</if>
<if test="updatedBy != null">#{updatedBy},</if>
<if test="updatedTime != null">#{updatedTime},</if>
</trim>
</insert>
<update id="updateProdPlanExecuteUser" parameterType="ProdPlanExecuteUser">
update prod_plan_execute_user
<trim prefix="SET" suffixOverrides=",">
<if test="orderCode != null">order_code = #{orderCode},</if>
<if test="planCode != null">plan_code = #{planCode},</if>
<if test="processCode != null">process_code = #{processCode},</if>
<if test="stationCode != null">station_code = #{stationCode},</if>
<if test="staffId != null">staff_id = #{staffId},</if>
<if test="completeAmount != null">complete_amount = #{completeAmount},</if>
<if test="planBeginDate != null">plan_begin_date = #{planBeginDate},</if>
<if test="planEndDate != null">plan_end_date = #{planEndDate},</if>
<if test="isFlag != null">is_flag = #{isFlag},</if>
<if test="createdBy != null">created_by = #{createdBy},</if>
<if test="createdTime != null">created_time = #{createdTime},</if>
<if test="updatedBy != null">updated_by = #{updatedBy},</if>
<if test="updatedTime != null">updated_time = #{updatedTime},</if>
</trim>
where obj_id = #{objId}
</update>
<delete id="deleteProdPlanExecuteUserByObjId" parameterType="Long">
delete
from prod_plan_execute_user
where obj_id = #{objId}
</delete>
<delete id="deleteProdPlanExecuteUserByObjIds" parameterType="String">
delete from prod_plan_execute_user where obj_id in
<foreach item="objId" collection="array" open="(" separator="," close=")">
#{objId}
</foreach>
</delete>
</mapper>