fix(anneal): 修复退火性能查询中的逻辑库区筛选问题
- 移除Mapper中废弃的warehouseId筛选条件 - 删除无用的wms_furnace_plan_coil关联查询 - 修复服务层出炉逻辑库区筛选逻辑 - 添加正确的退火计划钢卷库区匹配验证 - 优化钢卷筛选条件确保数据准确性 - 调整查询性能避免不必要的表连接
This commit is contained in:
@@ -157,11 +157,17 @@ public class WmsAnnealPerformanceServiceImpl implements IWmsAnnealPerformanceSer
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 钢卷本身的逻辑库区筛选(coilVo.warehouseId保持不变)
|
|
||||||
if (bo.getCoilWarehouseId() != null) {
|
if (bo.getCoilWarehouseId() != null) {
|
||||||
if (coilVo.getWarehouseId() == null ||
|
if (coilVo.getWarehouseId() == null ||
|
||||||
!coilVo.getWarehouseId().equals(bo.getCoilWarehouseId())) {
|
!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
|
// 为每个planCoil创建独立的detail,携带自身的logicWarehouseId/furnaceLevel
|
||||||
|
|||||||
@@ -17,10 +17,6 @@
|
|||||||
<if test="planNo != null and planNo != ''">
|
<if test="planNo != null and planNo != ''">
|
||||||
AND p.plan_no LIKE CONCAT('%', #{planNo}, '%')
|
AND p.plan_no LIKE CONCAT('%', #{planNo}, '%')
|
||||||
</if>
|
</if>
|
||||||
<!-- 出炉时的逻辑库区筛选(wms_furnace_plan_coil.logic_warehouse_id) -->
|
|
||||||
<if test="warehouseId != null">
|
|
||||||
AND pc.logic_warehouse_id = #{warehouseId}
|
|
||||||
</if>
|
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
@@ -43,10 +39,6 @@
|
|||||||
p.end_time AS endTime
|
p.end_time AS endTime
|
||||||
FROM wms_furnace_plan p
|
FROM wms_furnace_plan p
|
||||||
LEFT JOIN wms_furnace f ON f.furnace_id = p.target_furnace_id
|
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" />
|
<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
|
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
|
ORDER BY p.actual_start_time DESC, p.plan_no DESC
|
||||||
|
|||||||
Reference in New Issue
Block a user