生产权限分离

This commit is contained in:
zyk
2026-03-05 14:58:15 +08:00
parent 4818ed5fc5
commit 1a5e98f70f
42 changed files with 518 additions and 394 deletions

View File

@@ -20,38 +20,47 @@
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<!-- 新增数据权限字段映射 -->
<result property="userId" column="user_id" />
<result property="deptId" column="dept_id" />
</resultMap>
<!-- SQL片段加别名 ggenerate的首字母 -->
<sql id="selectScBreedPlanGenerateVo">
select id, plan_name, plan_type, plan_date, total_ewe_count, total_ram_count,
breed_ratio, status, approver, approve_time, approve_remark,
create_by, create_time, update_by, update_time
from sc_breed_plan_generate
select g.id, g.plan_name, g.plan_type, g.plan_date, g.total_ewe_count, g.total_ram_count,
g.breed_ratio, g.status, g.approver, g.approve_time, g.approve_remark,
g.create_by, g.create_time, g.update_by, g.update_time,
g.user_id, g.dept_id
from sc_breed_plan_generate g
</sql>
<!-- 查询列表:主表查询,需要加数据权限 -->
<select id="selectScBreedPlanGenerateList" parameterType="ScBreedPlanGenerate" resultMap="ScBreedPlanGenerateResult">
<include refid="selectScBreedPlanGenerateVo"/>
<where>
<if test="planName != null and planName != ''"> and plan_name like concat('%', #{planName}, '%')</if>
<if test="planType != null"> and plan_type = #{planType}</if>
<if test="planDate != null"> and DATE(plan_date) = DATE(#{planDate})</if>
<if test="status != null"> and status = #{status}</if>
<if test="planName != null and planName != ''"> and g.plan_name like concat('%', #{planName}, '%')</if>
<if test="planType != null"> and g.plan_type = #{planType}</if>
<if test="planDate != null"> and DATE(g.plan_date) = DATE(#{planDate})</if>
<if test="status != null"> and g.status = #{status}</if>
<if test="params.beginTime != null and params.beginTime != ''">
and DATE(plan_date) &gt;= DATE(#{params.beginTime})
and DATE(g.plan_date) &gt;= DATE(#{params.beginTime})
</if>
<if test="params.endTime != null and params.endTime != ''">
and DATE(plan_date) &lt;= DATE(#{params.endTime})
and DATE(g.plan_date) &lt;= DATE(#{params.endTime})
</if>
<!-- 数据权限控制 -->
${params.dataScope}
</where>
order by create_time desc
order by g.create_time desc
</select>
<!-- 根据ID查询单条记录也需要加别名 -->
<select id="selectScBreedPlanGenerateById" parameterType="Long" resultMap="ScBreedPlanGenerateResult">
<include refid="selectScBreedPlanGenerateVo"/>
where id = #{id}
where g.id = #{id}
</select>
<!-- 筛选符合条件的母羊 -->
<!-- 筛选符合条件的母羊关联bas_sheep不需要数据权限 -->
<select id="selectEligibleEwe" resultType="Map">
select
bs.id,
@@ -93,7 +102,7 @@
order by bv.variety, TIMESTAMPDIFF(MONTH, bs.birthday, NOW()) desc
</select>
<!-- 筛选符合条件的公羊 -->
<!-- 筛选符合条件的公羊关联bas_sheep不需要数据权限 -->
<select id="selectEligibleRam" resultType="Map">
select
bs.id,
@@ -128,6 +137,7 @@
order by bv.variety, TIMESTAMPDIFF(MONTH, bs.birthday, NOW()) desc
</select>
<!-- 插入:新增 user_id, dept_id -->
<insert id="insertScBreedPlanGenerate" parameterType="ScBreedPlanGenerate" useGeneratedKeys="true" keyProperty="id">
insert into sc_breed_plan_generate
<trim prefix="(" suffix=")" suffixOverrides=",">
@@ -145,6 +155,8 @@
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="userId != null">user_id,</if>
<if test="deptId != null">dept_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="planName != null">#{planName},</if>
@@ -161,13 +173,15 @@
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="userId != null">#{userId},</if>
<if test="deptId != null">#{deptId},</if>
</trim>
</insert>
<!-- 插入临时配种计划 -->
<!-- 插入临时配种计划sc_breed_plan_temp 也需要加数据权限字段 -->
<insert id="insertTempBreedPlan">
insert into sc_breed_plan_temp (plan_generate_id, ram_id, ewe_id, breed_type, create_time)
values (#{planGenerateId}, #{breedPlan.ramId}, #{breedPlan.eweId}, #{breedPlan.breedType}, now())
insert into sc_breed_plan_temp (plan_generate_id, ram_id, ewe_id, breed_type, create_time, user_id, dept_id)
values (#{planGenerateId}, #{breedPlan.ramId}, #{breedPlan.eweId}, #{breedPlan.breedType}, now(), #{breedPlan.userId}, #{breedPlan.deptId})
</insert>
<update id="updateScBreedPlanGenerate" parameterType="ScBreedPlanGenerate">
@@ -189,15 +203,15 @@
where id = #{id}
</update>
<!-- 将临时配种计划转为正式配种计划 -->
<!-- 将临时配种计划转为正式配种计划sc_breed_plan 也需要 user_id, dept_id -->
<insert id="transferTempToFormal">
insert into sc_breed_plan (ram_id, ewe_id, breed_type)
select ram_id, ewe_id, breed_type
insert into sc_breed_plan (ram_id, ewe_id, breed_type, user_id, dept_id)
select ram_id, ewe_id, breed_type, user_id, dept_id
from sc_breed_plan_temp
where plan_generate_id = #{planGenerateId}
</insert>
<!-- 获取配种计划详情 - 显示完整字段信息 -->
<!-- 获取配种计划详情:关联查询,不需要数据权限 -->
<select id="selectBreedPlanDetails" parameterType="Long" resultType="Map">
select
temp.id,
@@ -239,7 +253,7 @@
order by temp.ewe_id, temp.ram_id
</select>
<!-- 获取审批详情 - 包含完整的母羊和公羊信息 -->
<!-- 获取审批详情:关联查询,不需要数据权限 -->
<select id="selectApproveBreedPlanDetails" parameterType="Long" resultType="Map">
select
temp.id,
@@ -316,6 +330,7 @@
<delete id="deleteTempBreedPlanByPlanId" parameterType="Long">
delete from sc_breed_plan_temp where plan_generate_id = #{planGenerateId}
</delete>
<!-- 模糊查询耳号列表 -->
<select id="searchEarNumbers" resultType="java.lang.String">
SELECT DISTINCT sf.bs_manage_tags