Files
klp-oa/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanCoilOperateMapper.xml

46 lines
1.8 KiB
XML
Raw Normal View History

<?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.klp.mapper.WmsDeliveryPlanCoilOperateMapper">
<resultMap type="com.klp.domain.WmsDeliveryPlanCoilOperate" id="WmsDeliveryPlanCoilOperateResult">
<result property="operateId" column="operate_id"/>
<result property="planId" column="plan_id"/>
<result property="coilId" column="coil_id"/>
<result property="operateType" column="operate_type"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="remark" column="remark"/>
<result property="delFlag" column="del_flag"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="getCoilOperate" resultMap="WmsDeliveryPlanCoilOperateResult">
SELECT t.*
FROM wms_delivery_plan_coil_operate t
INNER JOIN (
-- 子查询先获取每个coilId的最新创建时间限定planId和coilIds
SELECT
coil_id,
MAX(create_time) AS max_create_time
FROM wms_delivery_plan_coil_operate
WHERE plan_id = #{planId}
AND coil_id IN
<foreach collection="coilIds" item="coilId" open="(" separator="," close=")">
#{coilId}
</foreach>
GROUP BY coil_id
) t_max ON t.plan_id = #{planId}
AND t.coil_id = t_max.coil_id
AND t.create_time = t_max.max_create_time
-- 最终过滤目标coilIds双重保障
WHERE t.coil_id IN
<foreach collection="coilIds" item="coilId" open="(" separator="," close=")">
#{coilId}
</foreach>
</select>
</mapper>