1. MillProductionPlan Domain:将 sgSign/inMatLen/inMatWt/inMatDia/inMatInDia 重命名为前端一致的 alloyNo/inMatLength/inMatWeight/inMatOd/inMatId,新增 passCount 2. MillProductionPlanMapper.xml: - resultMap 用老 DB 列名(sg_sign/in_mat_wt 等)映射新 Java 属性名 - INSERT/UPDATE/SELECT 全部对齐,keyProperty 改为 planId - ORDER BY 改为 plan_id(原为不存在的 id 列) - 新增 pass_count 映射(ALTER TABLE 已在服务器执行) 3. MillProductionPlanServiceImpl:insert 自动生成 planNo(P+时间戳) 防止 plan_no NOT NULL 约束导致插入失败 4. MillProcessRecipeMapper.xml:keyProperty="id" 改为 keyProperty="recipeId" 修复 addRecipe 后 recipe.getRecipeId() 返回 null 导致无法绑定计划 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
116 lines
5.1 KiB
XML
116 lines
5.1 KiB
XML
<?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.ruoyi.mill.mapper.MillProductionPlanMapper">
|
|
|
|
<resultMap id="BaseRM" type="com.ruoyi.mill.domain.MillProductionPlan">
|
|
<id property="planId" column="plan_id"/>
|
|
<result property="planNo" column="plan_no"/>
|
|
<result property="planStatus" column="plan_status"/>
|
|
<result property="prodStatus" column="prod_status"/>
|
|
<result property="sortNo" column="sort_no"/>
|
|
<result property="inMatNo" column="in_mat_no"/>
|
|
<result property="alloyNo" column="sg_sign"/>
|
|
<result property="inMatThick" column="in_mat_thick"/>
|
|
<result property="inMatWidth" column="in_mat_width"/>
|
|
<result property="inMatWeight" column="in_mat_wt"/>
|
|
<result property="inMatLength" column="in_mat_len"/>
|
|
<result property="inMatId" column="in_mat_in_dia"/>
|
|
<result property="inMatOd" column="in_mat_dia"/>
|
|
<result property="outThick" column="out_thick"/>
|
|
<result property="passCount" column="pass_count"/>
|
|
<result property="recipeId" column="recipe_id"/>
|
|
<result property="recipeNo" column="recipe_no"/>
|
|
<result property="delFlag" column="del_flag"/>
|
|
<result property="createBy" column="create_by"/>
|
|
<result property="createTime" column="create_time"/>
|
|
<result property="updateBy" column="update_by"/>
|
|
<result property="updateTime" column="update_time"/>
|
|
<result property="remark" column="remark"/>
|
|
</resultMap>
|
|
|
|
<sql id="cols">
|
|
plan_id, plan_no, plan_status, prod_status, sort_no,
|
|
in_mat_no, sg_sign, in_mat_thick, in_mat_width, in_mat_wt, in_mat_len,
|
|
in_mat_in_dia, in_mat_dia, out_thick, pass_count, recipe_id, recipe_no,
|
|
del_flag, create_by, create_time, update_by, update_time, remark
|
|
</sql>
|
|
|
|
<select id="selectList" resultMap="BaseRM">
|
|
SELECT <include refid="cols"/> FROM mill_production_plan
|
|
WHERE del_flag = '0'
|
|
<if test="inMatNo != null and inMatNo != ''">
|
|
AND in_mat_no LIKE CONCAT('%', #{inMatNo}, '%')
|
|
</if>
|
|
<if test="alloyNo != null and alloyNo != ''">
|
|
AND sg_sign LIKE CONCAT('%', #{alloyNo}, '%')
|
|
</if>
|
|
<if test="planStatus != null and planStatus != ''">
|
|
AND plan_status = #{planStatus}
|
|
</if>
|
|
<if test="params != null and params.beginTime != null and params.beginTime != ''">
|
|
AND DATE(create_time) >= #{params.beginTime}
|
|
</if>
|
|
<if test="params != null and params.endTime != null and params.endTime != ''">
|
|
AND DATE(create_time) <= #{params.endTime}
|
|
</if>
|
|
ORDER BY sort_no ASC, plan_id ASC
|
|
</select>
|
|
|
|
<select id="selectById" resultMap="BaseRM">
|
|
SELECT <include refid="cols"/> FROM mill_production_plan
|
|
WHERE plan_id = #{planId} AND del_flag = '0'
|
|
</select>
|
|
|
|
<insert id="insert" useGeneratedKeys="true" keyProperty="planId">
|
|
INSERT INTO mill_production_plan (
|
|
plan_no, plan_status, prod_status, sort_no,
|
|
in_mat_no, sg_sign, in_mat_thick, in_mat_width, in_mat_wt, in_mat_len,
|
|
in_mat_in_dia, in_mat_dia, out_thick, pass_count, recipe_id, recipe_no,
|
|
create_by, create_time, update_by, update_time, remark, del_flag
|
|
) VALUES (
|
|
#{planNo}, IFNULL(#{planStatus},'0'), IFNULL(#{prodStatus},'Idle'), IFNULL(#{sortNo},0),
|
|
#{inMatNo}, #{alloyNo}, #{inMatThick}, #{inMatWidth}, #{inMatWeight}, #{inMatLength},
|
|
#{inMatId}, #{inMatOd}, #{outThick}, IFNULL(#{passCount},0), #{recipeId}, #{recipeNo},
|
|
#{createBy}, NOW(), #{updateBy}, NOW(), #{remark}, '0'
|
|
)
|
|
</insert>
|
|
|
|
<update id="update">
|
|
UPDATE mill_production_plan
|
|
SET plan_status = #{planStatus},
|
|
prod_status = #{prodStatus},
|
|
in_mat_no = #{inMatNo},
|
|
sg_sign = #{alloyNo},
|
|
in_mat_thick = #{inMatThick},
|
|
in_mat_width = #{inMatWidth},
|
|
in_mat_wt = #{inMatWeight},
|
|
in_mat_len = #{inMatLength},
|
|
in_mat_in_dia = #{inMatId},
|
|
in_mat_dia = #{inMatOd},
|
|
out_thick = #{outThick},
|
|
pass_count = #{passCount},
|
|
recipe_id = #{recipeId},
|
|
recipe_no = #{recipeNo},
|
|
update_by = #{updateBy},
|
|
update_time = NOW(),
|
|
remark = #{remark}
|
|
WHERE plan_id = #{planId}
|
|
</update>
|
|
|
|
<update id="deleteById">
|
|
UPDATE mill_production_plan SET del_flag = '2', update_time = NOW()
|
|
WHERE plan_id = #{planId}
|
|
</update>
|
|
|
|
<update id="updateSortNo">
|
|
UPDATE mill_production_plan SET sort_no = #{sortNo} WHERE plan_id = #{planId}
|
|
</update>
|
|
|
|
<update id="incrementSortFrom">
|
|
UPDATE mill_production_plan SET sort_no = sort_no + 1
|
|
WHERE sort_no >= #{targetSort} AND del_flag = '0'
|
|
</update>
|
|
|
|
</mapper>
|