Merge branch '0.8.X' of https://gitee.com/hdka/klp-oa into 0.8.X

This commit is contained in:
砂糖
2025-12-17 15:04:35 +08:00
3 changed files with 18 additions and 22 deletions

View File

@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.klp.common.annotation.ExcelDictFormat;
import com.klp.common.convert.ExcelDictConvert;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.List;
@@ -17,7 +18,7 @@ import java.util.List;
*/
@Data
@ExcelIgnoreUnannotated
public class WmsDeliveryPlanCoilOperateVo {
public class WmsDeliveryPlanCoilOperateVo extends BaseEntity {
private static final long serialVersionUID = 1L;

View File

@@ -32,7 +32,7 @@ public class WmsDeliveryPlanCoilOperateServiceImpl implements IWmsDeliveryPlanCo
private final WmsDeliveryPlanCoilOperateMapper baseMapper;
private WmsMaterialCoilServiceImpl materialCoilService;
private final WmsMaterialCoilServiceImpl materialCoilService;
/**
* 查询发货计划钢卷操作记录

View File

@@ -17,28 +17,23 @@
<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 * FROM (
SELECT
coil_id,
MAX(create_time) AS max_create_time
FROM wms_delivery_plan_coil_operate
t.*,
ROW_NUMBER() OVER (PARTITION BY t.coil_id ORDER BY t.create_time DESC) AS rn
FROM wms_delivery_plan_coil_operate t
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>
<if test="coilIds != null and coilIds.length > 0">
AND coil_id IN
<foreach collection="coilIds" item="coilId" open="(" separator="," close=")">
#{coilId}
</foreach>
</if>
) tmp
WHERE tmp.rn = 1
<if test="coilIds == null or coilIds.length == 0">
AND 1 = 2
</if>
</select>