更新wip-退火 缺少实际库区选择,重新占据库位能力

This commit is contained in:
2026-03-14 18:39:19 +08:00
parent 7740531fc5
commit 9a645100df
56 changed files with 3783 additions and 0 deletions

View File

@@ -0,0 +1,92 @@
<?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.WmsAnnealOverviewMapper">
<select id="selectTotalPlanCount" resultType="java.lang.Long">
SELECT COUNT(1)
FROM wms_furnace_plan
WHERE del_flag = 0
</select>
<select id="selectFurnaceTotal" resultType="java.lang.Long">
SELECT COUNT(1)
FROM wms_furnace
WHERE del_flag = 0 AND status = 1
</select>
<select id="selectFurnaceBusyCount" resultType="java.lang.Long">
SELECT COUNT(1)
FROM wms_furnace
WHERE del_flag = 0 AND status = 1 AND busy_flag = 1
</select>
<select id="selectPendingCoilCount" resultType="java.lang.Long">
SELECT COUNT(1)
FROM wms_furnace_plan_coil pc
INNER JOIN wms_furnace_plan p ON p.plan_id = pc.plan_id AND p.del_flag = 0
WHERE pc.del_flag = 0 AND p.status IN (0, 1)
</select>
<select id="selectTodayDonePlanCount" resultType="java.lang.Long">
SELECT COUNT(1)
FROM wms_furnace_plan
WHERE del_flag = 0 AND status = 3
AND end_time &gt;= #{dayStart} AND end_time &lt; #{dayEnd}
</select>
<select id="selectTodayDoneCoilCount" resultType="java.lang.Long">
SELECT COUNT(1)
FROM wms_furnace_plan_coil pc
INNER JOIN wms_furnace_plan p ON p.plan_id = pc.plan_id AND p.del_flag = 0
WHERE pc.del_flag = 0 AND p.status = 3
AND p.end_time &gt;= #{dayStart} AND p.end_time &lt; #{dayEnd}
</select>
<select id="selectFurnaceStatusList" resultType="com.klp.domain.vo.anneal.WmsAnnealFurnaceStatusVo">
SELECT f.furnace_id AS furnaceId,
f.furnace_code AS furnaceCode,
f.furnace_name AS furnaceName,
f.busy_flag AS busyFlag,
f.status AS status,
p.plan_id AS currentPlanId,
p.plan_no AS currentPlanNo,
p.end_time AS planEndTime,
COALESCE(pc.coil_count, 0) AS coilCount
FROM wms_furnace f
LEFT JOIN wms_furnace_plan p
ON p.target_furnace_id = f.furnace_id
AND p.del_flag = 0
AND p.status = 2
LEFT JOIN (
SELECT plan_id, COUNT(1) AS coil_count
FROM wms_furnace_plan_coil
WHERE del_flag = 0
GROUP BY plan_id
) pc ON pc.plan_id = p.plan_id
WHERE f.del_flag = 0
ORDER BY f.furnace_code
</select>
<select id="selectPlanQueueList" resultType="com.klp.domain.vo.anneal.WmsAnnealPlanQueueVo">
SELECT p.plan_id AS planId,
p.plan_no AS planNo,
p.target_furnace_id AS targetFurnaceId,
f.furnace_name AS targetFurnaceName,
p.status AS status,
p.plan_start_time AS planStartTime,
p.actual_start_time AS actualStartTime,
p.end_time AS endTime,
COALESCE(pc.coil_count, 0) AS coilCount
FROM wms_furnace_plan p
LEFT JOIN wms_furnace f ON f.furnace_id = p.target_furnace_id
LEFT JOIN (
SELECT plan_id, COUNT(1) AS coil_count
FROM wms_furnace_plan_coil
WHERE del_flag = 0
GROUP BY plan_id
) pc ON pc.plan_id = p.plan_id
WHERE p.del_flag = 0
ORDER BY p.status ASC, p.plan_start_time ASC
</select>
</mapper>

View File

@@ -0,0 +1,54 @@
<?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.WmsAnnealPerformanceMapper">
<sql id="AnnealPerformanceWhere">
<where>
p.del_flag = 0
<if test="startTime != null">
AND p.actual_start_time <![CDATA[>=]]> #{startTime}
</if>
<if test="endTime != null">
AND p.actual_start_time <![CDATA[<=]]> #{endTime}
</if>
<if test="targetFurnaceId != null">
AND p.target_furnace_id = #{targetFurnaceId}
</if>
<if test="planNo != null and planNo != ''">
AND p.plan_no LIKE CONCAT('%', #{planNo}, '%')
</if>
<if test="enterCoilNo != null and enterCoilNo != ''">
AND mc.enter_coil_no LIKE CONCAT('%', #{enterCoilNo}, '%')
</if>
</where>
</sql>
<select id="selectSummary" resultType="com.klp.domain.vo.anneal.WmsAnnealPerformanceSummaryVo">
SELECT COUNT(DISTINCT p.plan_id) AS plan_count,
COUNT(mc.coil_id) AS coil_count,
COALESCE(SUM(mc.net_weight), 0) AS total_weight
FROM wms_furnace_plan p
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
<include refid="AnnealPerformanceWhere" />
</select>
<select id="selectDetails" resultType="com.klp.domain.vo.anneal.WmsAnnealPerformanceDetailVo">
SELECT p.plan_id AS planId,
p.plan_no AS planNo,
p.target_furnace_id AS targetFurnaceId,
f.furnace_name AS targetFurnaceName,
p.actual_start_time AS actualStartTime,
p.end_time AS endTime,
mc.coil_id AS coilId,
mc.enter_coil_no AS enterCoilNo,
mc.current_coil_no AS currentCoilNo,
mc.net_weight AS netWeight
FROM wms_furnace_plan p
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
LEFT JOIN wms_furnace f ON f.furnace_id = p.target_furnace_id
<include refid="AnnealPerformanceWhere" />
ORDER BY p.actual_start_time DESC, p.plan_no DESC
</select>
</mapper>

View File

@@ -0,0 +1,46 @@
<?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.WmsFurnacePlanMapper">
<resultMap id="WmsFurnacePlanVoMap" type="com.klp.domain.vo.WmsFurnacePlanVo">
<id column="plan_id" property="planId" />
<result column="plan_no" property="planNo" />
<result column="plan_start_time" property="planStartTime" />
<result column="actual_start_time" property="actualStartTime" />
<result column="end_time" property="endTime" />
<result column="target_furnace_id" property="targetFurnaceId" />
<result column="status" property="status" />
<result column="remark" property="remark" />
<result column="create_time" property="createTime" />
<result column="target_furnace_name" property="targetFurnaceName" />
</resultMap>
<select id="selectVoPage" resultMap="WmsFurnacePlanVoMap">
SELECT p.plan_id,
p.plan_no,
p.plan_start_time,
p.actual_start_time,
p.end_time,
p.target_furnace_id,
p.status,
p.remark,
p.create_time
FROM wms_furnace_plan p
${ew.customSqlSegment}
</select>
<select id="selectVoList" resultMap="WmsFurnacePlanVoMap">
SELECT p.plan_id,
p.plan_no,
p.plan_start_time,
p.actual_start_time,
p.end_time,
p.target_furnace_id,
p.status,
p.remark,
p.create_time
FROM wms_furnace_plan p
${ew.customSqlSegment}
</select>
</mapper>