2025-07-12 17:56:28 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
< !DOCTYPE mapper
2025-07-15 18:40:22 +08:00
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2025-07-18 15:27:22 +08:00
<mapper namespace= "com.zhyc.module.produce.manage_sheep.mapper.ScTransGroupMapper" >
2025-07-15 18:40:22 +08:00
2025-07-29 21:58:46 +08:00
<resultMap type= "com.zhyc.module.produce.manage_sheep.domain.ScTransGroup" id= "ScTransGroupResult" >
2025-07-15 18:40:22 +08:00
<result property= "id" column= "id" />
<result property= "sheepId" column= "sheep_id" />
2025-07-22 14:55:18 +08:00
<result property= "manageTags" column= "manageTags" />
2025-07-29 21:58:46 +08:00
<result property= "sheepTypeId" column= "type_id" />
2025-07-15 18:40:22 +08:00
<result property= "foldTo" column= "fold_to" />
<result property= "foldFrom" column= "fold_from" />
<result property= "reason" column= "reason" />
2025-07-17 09:58:44 +08:00
<result property= "varietyId" column= "variety_id" />
<result property= "varietyName" column= "varietyName" />
2025-07-15 18:40:22 +08:00
<result property= "technician" column= "technician" />
<result property= "status" column= "status" />
<result property= "comment" column= "comment" />
<result property= "createBy" column= "create_by" />
<result property= "createTime" column= "create_time" />
2025-07-12 17:56:28 +08:00
</resultMap>
<sql id= "selectScTransGroupVo" >
2025-07-15 18:40:22 +08:00
SELECT tg.id,
tg.sheep_id,
2025-07-29 21:58:46 +08:00
s.manage_tags AS manageTags,
2025-08-19 17:07:16 +08:00
tg.event_type AS eventType,
tg.trans_date AS transDate,
2025-07-15 18:40:22 +08:00
tg.fold_to,
tg.fold_from,
tg.reason,
2025-07-17 09:58:44 +08:00
tg.variety_id,
bv.variety AS varietyName,
2025-08-19 17:07:16 +08:00
st.id AS sheepTypeId,
st.name AS sheepTypeName,
2025-07-15 18:40:22 +08:00
tg.status,
tg.comment,
tg.create_by,
tg.create_time,
sf_from.sheepfold_name AS foldFromName,
2025-07-29 21:58:46 +08:00
sf_to.sheepfold_name AS foldToName,
2025-08-19 17:07:16 +08:00
tg.technician,
2025-07-29 21:58:46 +08:00
st.id AS sheepTypeId,
st.name AS sheepTypeName
2025-07-15 18:40:22 +08:00
FROM sc_trans_group tg
2025-07-22 14:55:18 +08:00
LEFT JOIN bas_sheep s ON tg.sheep_id = s.id
2025-07-29 21:58:46 +08:00
LEFT JOIN bas_sheep_type st ON s.type_id = st.id
2025-07-15 18:40:22 +08:00
LEFT JOIN da_sheepfold sf_from ON tg.fold_from = sf_from.id
LEFT JOIN da_sheepfold sf_to ON tg.fold_to = sf_to.id
2025-07-17 09:58:44 +08:00
LEFT JOIN bas_sheep_variety bv ON tg.variety_id = bv.id
2025-07-12 17:56:28 +08:00
</sql>
2026-01-16 12:34:24 +08:00
<select id= "selectScTransGroupList" resultMap= "ScTransGroupResult" >
2025-07-12 17:56:28 +08:00
<include refid= "selectScTransGroupVo" />
2025-07-15 18:40:22 +08:00
<where >
2026-01-16 12:34:24 +08:00
<if test= "manageTagsList != null and manageTagsList.size() > 0" >
<foreach collection= "manageTagsList" item= "tag" separator= "or" open= "and (" close= ")" >
s.manage_tags like concat('%', #{tag}, '%')
</foreach>
2025-07-22 14:55:18 +08:00
</if>
2026-01-16 12:34:24 +08:00
<if test= "sc.sheepId != null" > and tg.sheep_id = #{sc.sheepId}</if>
<if test= "sc.foldTo != null and sc.foldTo != ''" > and tg.fold_to = #{sc.foldTo}</if>
<if test= "sc.foldFrom != null and sc.foldFrom != ''" > and tg.fold_from = #{sc.foldFrom}</if>
<if test= "sc.status != null" > and tg.status = #{sc.status}</if>
<if test= "sc.varietyId != null" > and tg.variety_id = #{sc.varietyId}</if>
<if test= "sc.sheepTypeId != null" > and st.id = #{sc.sheepTypeId}</if>
<if test= "sc.params != null and sc.params.beginTransDate != null and sc.params.beginTransDate != '' and sc.params.endTransDate != null and sc.params.endTransDate != ''" >
and tg.trans_date between #{sc.params.beginTransDate} and #{sc.params.endTransDate}
2025-08-19 17:07:16 +08:00
</if>
2025-07-12 17:56:28 +08:00
</where>
2025-08-22 19:32:56 +08:00
ORDER BY tg.create_time DESC
2025-07-12 17:56:28 +08:00
</select>
2025-07-15 18:40:22 +08:00
2025-07-12 17:56:28 +08:00
<select id= "selectScTransGroupById" parameterType= "Integer" resultMap= "ScTransGroupResult" >
<include refid= "selectScTransGroupVo" />
2025-07-15 18:40:22 +08:00
where tg.id = #{id}
2025-07-12 17:56:28 +08:00
</select>
2025-07-17 09:58:44 +08:00
<insert id= "insertScTransGroup" parameterType= "ScTransGroup"
useGeneratedKeys="true" keyProperty="id">
2025-07-12 17:56:28 +08:00
insert into sc_trans_group
<trim prefix= "(" suffix= ")" suffixOverrides= "," >
<if test= "sheepId != null" > sheep_id,</if>
2025-08-19 17:07:16 +08:00
<if test= "eventType != null" > event_type,</if>
<if test= "transDate != null and transDate != ''" > trans_date,</if>
2025-07-12 17:56:28 +08:00
<if test= "foldTo != null and foldTo != ''" > fold_to,</if>
<if test= "foldFrom != null and foldFrom != ''" > fold_from,</if>
2025-07-17 09:58:44 +08:00
<if test= "varietyId != null" > variety_id,</if>
<if test= "reason != null" > reason,</if>
2025-07-12 17:56:28 +08:00
<if test= "technician != null and technician != ''" > technician,</if>
<if test= "status != null" > status,</if>
<if test= "comment != null" > comment,</if>
<if test= "createBy != null" > create_by,</if>
<if test= "createTime != null" > create_time,</if>
2025-07-15 18:40:22 +08:00
</trim>
2025-07-12 17:56:28 +08:00
<trim prefix= "values (" suffix= ")" suffixOverrides= "," >
<if test= "sheepId != null" > #{sheepId},</if>
2025-08-19 17:07:16 +08:00
<if test= "eventType != null" > #{eventType},</if>
<if test= "transDate != null and transDate != ''" > #{transDate},</if>
2025-07-12 17:56:28 +08:00
<if test= "foldTo != null and foldTo != ''" > #{foldTo},</if>
<if test= "foldFrom != null and foldFrom != ''" > #{foldFrom},</if>
2025-07-17 09:58:44 +08:00
<if test= "varietyId != null" > #{varietyId},</if>
<if test= "reason != null" > #{reason},</if>
2025-07-12 17:56:28 +08:00
<if test= "technician != null and technician != ''" > #{technician},</if>
<if test= "status != null" > #{status},</if>
<if test= "comment != null" > #{comment},</if>
<if test= "createBy != null" > #{createBy},</if>
<if test= "createTime != null" > #{createTime},</if>
2025-07-15 18:40:22 +08:00
</trim>
2025-07-12 17:56:28 +08:00
</insert>
<update id= "updateScTransGroup" parameterType= "ScTransGroup" >
update sc_trans_group
<trim prefix= "SET" suffixOverrides= "," >
<if test= "sheepId != null" > sheep_id = #{sheepId},</if>
2025-08-19 17:07:16 +08:00
<if test= "eventType != null" > event_type = #{eventType},</if>
<if test= "transDate != null and transDate != ''" > trans_date = #{transDate},</if>
2025-07-12 17:56:28 +08:00
<if test= "foldTo != null and foldTo != ''" > fold_to = #{foldTo},</if>
<if test= "foldFrom != null and foldFrom != ''" > fold_from = #{foldFrom},</if>
2025-07-17 09:58:44 +08:00
<if test= "varietyId != null" > variety_id = #{varietyId},</if>
<if test= "reason != null" > reason = #{reason},</if>
2025-07-12 17:56:28 +08:00
<if test= "technician != null and technician != ''" > technician = #{technician},</if>
<if test= "status != null" > status = #{status},</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>
2025-07-17 09:58:44 +08:00
where id = #{id}
2025-07-12 17:56:28 +08:00
</update>
<delete id= "deleteScTransGroupById" parameterType= "Integer" >
2025-07-15 18:40:22 +08:00
delete
from sc_trans_group
where tg.id = #{id}
2025-07-12 17:56:28 +08:00
</delete>
<delete id= "deleteScTransGroupByIds" parameterType= "String" >
2025-07-15 18:40:22 +08:00
delete from sc_trans_group where id in
2025-07-12 17:56:28 +08:00
<foreach item= "id" collection= "array" open= "(" separator= "," close= ")" >
#{id}
</foreach>
</delete>
2026-01-16 12:34:24 +08:00
<select id= "searchEarNumbers" resultType= "java.lang.String" >
SELECT DISTINCT s.manage_tags
FROM bas_sheep s
WHERE s.manage_tags LIKE CONCAT('%', #{query}, '%')
AND s.is_delete = 0
ORDER BY s.manage_tags
LIMIT 50
</select>
2025-07-12 17:56:28 +08:00
</mapper>