2025-07-29 21:58:46 +08:00
<?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.zhyc.module.produce.manage_sheep.mapper.ScChangeVarietyMapper" >
<resultMap type= "com.zhyc.module.produce.manage_sheep.domain.ScChangeVariety" id= "ScChangeVarietyResult" >
<result property= "id" column= "id" />
<result property= "sheepId" column= "sheep_id" />
<result property= "manageTags" column= "manage_tags" />
2025-08-19 17:07:16 +08:00
<result property= "sheepfoldName" column= "sheepfold_name" />
<result property= "eventType" column= "event_type" />
2025-07-29 21:58:46 +08:00
<result property= "varietyOld" column= "variety_old" />
<result property= "varietyNew" column= "variety_new" />
<result property= "comment" column= "comment" />
<result property= "createBy" column= "create_by" />
<result property= "createTime" column= "create_time" />
2025-10-23 16:36:01 +08:00
<result property= "technician" column= "technician" />
<result property= "eventDate" column= "event_date" />
2025-07-29 21:58:46 +08:00
</resultMap>
<sql id= "selectScChangeVarietyVo" >
select scv.id,
scv.sheep_id,
2025-08-19 17:07:16 +08:00
bs.manage_tags as manage_tags,
sf.sheepfold_name as sheepfold_name,
'改品种' as event_type,
2025-07-29 21:58:46 +08:00
scv.variety_old,
scv.variety_new,
scv.comment,
scv.create_by,
2025-10-23 16:36:01 +08:00
scv.create_time,
scv.technician,
scv.event_date
2025-07-29 21:58:46 +08:00
from sc_change_variety scv
left join bas_sheep bs on scv.sheep_id = bs.id
2025-08-19 17:07:16 +08:00
left join da_sheepfold sf on bs.sheepfold_id = sf.id
2025-07-29 21:58:46 +08:00
</sql>
2026-01-13 11:17:19 +08:00
<select id= "selectScChangeVarietyList" resultMap= "ScChangeVarietyResult" >
2025-07-29 21:58:46 +08:00
<include refid= "selectScChangeVarietyVo" />
<where >
2026-01-13 11:17:19 +08:00
<if test= "manageTagsList != null and manageTagsList.size() > 0" >
<foreach collection= "manageTagsList" item= "tag" separator= "or" open= "and (" close= ")" >
bs.manage_tags like concat('%', #{tag}, '%')
</foreach>
2025-07-29 21:58:46 +08:00
</if>
2026-01-13 11:17:19 +08:00
<if test= "sc.sheepId != null" > and scv.sheep_id = #{sc.sheepId}</if>
2026-02-03 14:41:28 +08:00
<!-- <if test="sc.sheepfoldId != null">and bs.sheepfold_id = #{sc.sheepfoldId}</if> -->
<if test= "sc.technician != null and sc.technician != ''" > and scv.technician like concat('%',
#{sc.technician}, '%')
</if>
<if test= "sc.varietyOld != null and sc.varietyOld != ''" > and scv.variety_old like concat('%',
#{sc.varietyOld}, '%')
</if>
<if test= "sc.varietyNew != null and sc.varietyNew != ''" > and scv.variety_new like concat('%',
#{sc.varietyNew}, '%')
</if>
2026-01-13 11:17:19 +08:00
<if test= "sc.params != null and sc.params.beginCreateTime != null and sc.params.beginCreateTime != '' and sc.params.endCreateTime != null and sc.params.endCreateTime != ''" >
and scv.create_time between #{sc.params.beginCreateTime} and #{sc.params.endCreateTime}
2025-07-29 21:58:46 +08:00
</if>
2026-01-13 11:17:19 +08:00
<if test= "sc.params != null and sc.params.beginEventDate != null and sc.params.beginEventDate != '' and sc.params.endEventDate != null and sc.params.endEventDate != ''" >
and scv.event_date between #{sc.params.beginEventDate} and #{sc.params.endEventDate}
2025-10-23 16:36:01 +08:00
</if>
2026-02-03 14:41:28 +08:00
<if test= "sc.isDelete != null" >
and bs.is_delete = #{sc.isDelete}
</if>
2026-02-09 20:22:51 +08:00
${sc.params.dataScope}
2025-07-29 21:58:46 +08:00
</where>
2025-08-22 19:32:56 +08:00
ORDER BY scv.create_time DESC
2025-07-29 21:58:46 +08:00
</select>
<select id= "selectScChangeVarietyById" parameterType= "Integer" resultMap= "ScChangeVarietyResult" >
<include refid= "selectScChangeVarietyVo" />
where scv.id = #{id}
</select>
<insert id= "insertScChangeVariety" parameterType= "ScChangeVariety" useGeneratedKeys= "true" keyProperty= "id" >
insert into sc_change_variety
<trim prefix= "(" suffix= ")" suffixOverrides= "," >
<if test= "sheepId != null" > sheep_id,</if>
<if test= "varietyOld != null and varietyOld != ''" > variety_old,</if>
<if test= "varietyNew != null and varietyNew != ''" > variety_new,</if>
<if test= "comment != null" > comment,</if>
<if test= "createBy != null" > create_by,</if>
<if test= "createTime != null" > create_time,</if>
2026-02-09 20:22:51 +08:00
<if test= "technician != null and technician != ''" > technician,</if>
<if test= "eventDate != null" > event_date,</if>
<if test= "userId != null" > user_id,</if>
<if test= "deptId != null" > dept_id,</if>
2025-07-29 21:58:46 +08:00
</trim>
<trim prefix= "values (" suffix= ")" suffixOverrides= "," >
<if test= "sheepId != null" > #{sheepId},</if>
<if test= "varietyOld != null and varietyOld != ''" > #{varietyOld},</if>
<if test= "varietyNew != null and varietyNew != ''" > #{varietyNew},</if>
<if test= "comment != null" > #{comment},</if>
<if test= "createBy != null" > #{createBy},</if>
<if test= "createTime != null" > #{createTime},</if>
2026-02-09 20:22:51 +08:00
<if test= "technician != null and technician != ''" > #{technician},</if>
<if test= "eventDate != null" > #{eventDate},</if>
<if test= "userId != null" > #{userId},</if>
<if test= "deptId != null" > #{deptId},</if>
2025-07-29 21:58:46 +08:00
</trim>
</insert>
<update id= "updateScChangeVariety" parameterType= "ScChangeVariety" >
update sc_change_variety
<trim prefix= "SET" suffixOverrides= "," >
<if test= "sheepId != null" > sheep_id = #{sheepId},</if>
<if test= "varietyOld != null and varietyOld != ''" > variety_old = #{varietyOld},</if>
<if test= "varietyNew != null and varietyNew != ''" > variety_new = #{varietyNew},</if>
<if test= "comment != null" > comment = #{comment},</if>
<if test= "createBy != null" > create_by = #{createBy},</if>
<if test= "createTime != null" > create_time = #{createTime},</if>
</trim>
where id = #{id}
</update>
<delete id= "deleteScChangeVarietyById" parameterType= "Integer" >
delete
from sc_change_variety
where id = #{id}
</delete>
<delete id= "deleteScChangeVarietyByIds" parameterType= "String" >
delete from sc_change_variety where id in
<foreach item= "id" collection= "array" open= "(" separator= "," close= ")" >
#{id}
</foreach>
</delete>
2026-01-13 11:17:19 +08:00
<select id= "searchEarNumbers" resultType= "java.lang.String" >
SELECT DISTINCT bs.manage_tags
FROM bas_sheep bs
WHERE bs.manage_tags LIKE CONCAT('%', #{query}, '%')
AND bs.is_delete = 0
2026-02-09 20:22:51 +08:00
ORDER BY bs.manage_tags
2026-01-13 11:17:19 +08:00
</select>
2025-07-29 21:58:46 +08:00
</mapper>