fix(anneal): 修复退火性能查询中的逻辑库区筛选问题

- 移除Mapper中废弃的warehouseId筛选条件
- 删除无用的wms_furnace_plan_coil关联查询
- 修复服务层出炉逻辑库区筛选逻辑
- 添加正确的退火计划钢卷库区匹配验证
- 优化钢卷筛选条件确保数据准确性
- 调整查询性能避免不必要的表连接
This commit is contained in:
2026-07-11 18:09:34 +08:00
parent a83a8147a4
commit b0a332fda1
2 changed files with 8 additions and 10 deletions

View File

@@ -157,11 +157,17 @@ public class WmsAnnealPerformanceServiceImpl implements IWmsAnnealPerformanceSer
continue;
}
}
// 钢卷本身的逻辑库区筛选coilVo.warehouseId保持不变
if (bo.getCoilWarehouseId() != null) {
if (coilVo.getWarehouseId() == null ||
!coilVo.getWarehouseId().equals(bo.getCoilWarehouseId())) {
continue; // 跳过不匹配的钢卷
continue;
}
}
// 出炉逻辑库区筛选planCoil.logicWarehouseId是加工后去向
if (bo.getWarehouseId() != null) {
if (planCoil.getLogicWarehouseId() == null ||
!planCoil.getLogicWarehouseId().equals(bo.getWarehouseId())) {
continue;
}
}
// 为每个planCoil创建独立的detail携带自身的logicWarehouseId/furnaceLevel

View File

@@ -17,10 +17,6 @@
<if test="planNo != null and planNo != ''">
AND p.plan_no LIKE CONCAT('%', #{planNo}, '%')
</if>
<!-- 出炉时的逻辑库区筛选wms_furnace_plan_coil.logic_warehouse_id -->
<if test="warehouseId != null">
AND pc.logic_warehouse_id = #{warehouseId}
</if>
</where>
</sql>
@@ -43,10 +39,6 @@
p.end_time AS endTime
FROM wms_furnace_plan p
LEFT JOIN wms_furnace f ON f.furnace_id = p.target_furnace_id
<if test="warehouseId != null">
INNER JOIN wms_furnace_plan_coil pc ON pc.plan_id = p.plan_id AND pc.del_flag = 0
INNER JOIN wms_material_coil mc ON mc.coil_id = pc.coil_id AND mc.del_flag = 0
</if>
<include refid="AnnealPerformanceWhere" />
GROUP BY p.plan_id, p.plan_no, p.target_furnace_id, f.furnace_name, p.actual_start_time, p.end_time
ORDER BY p.actual_start_time DESC, p.plan_no DESC