Files
zhyc-sheep/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScTransGroupMapper.xml

163 lines
7.8 KiB
XML
Raw Normal View History

<?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
<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"/>
<result property="manageTags" column="manageTags"/>
<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"/>
<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="comment" column="comment"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
2026-02-09 20:22:51 +08:00
<result property="userId" column="user_id"/>
<result property="deptId" column="dept_id"/>
</resultMap>
<sql id="selectScTransGroupVo">
2025-07-15 18:40:22 +08:00
SELECT tg.id,
tg.sheep_id,
2026-02-09 20:22:51 +08:00
tg.user_id,
tg.dept_id,
s.manage_tags AS manageTags,
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,
tg.variety_id,
bv.variety AS varietyName,
st.id AS sheepTypeId,
st.name AS sheepTypeName,
2025-07-15 18:40:22 +08:00
tg.comment,
tg.create_by,
tg.create_time,
sf_from.sheepfold_name AS foldFromName,
sf_to.sheepfold_name AS foldToName,
2026-02-09 20:22:51 +08:00
tg.technician
2025-07-15 18:40:22 +08:00
FROM sc_trans_group tg
LEFT JOIN bas_sheep s ON tg.sheep_id = s.id
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
LEFT JOIN bas_sheep_variety bv ON tg.variety_id = bv.id
</sql>
<select id="selectScTransGroupList" resultMap="ScTransGroupResult">
<include refid="selectScTransGroupVo"/>
2025-07-15 18:40:22 +08:00
<where>
<if test="sc.manageTagsList != null and sc.manageTagsList.size() > 0">
<foreach collection="sc.manageTagsList" item="tag" separator="or" open="and (" close=")">
s.manage_tags LIKE CONCAT('%', #{tag}, '%')
</foreach>
</if>
<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.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}
</if>
<if test="sc.eventType != null and sc.eventType != ''">
and tg.event_type like concat('%', #{sc.eventType}, '%')
</if>
<if test="sc.technician != null and sc.technician != ''">
and tg.technician like concat('%', #{sc.technician}, '%')
</if>
<if test="sc.isDelete != null">
and s.is_delete = #{sc.isDelete}
</if>
2026-02-09 20:22:51 +08:00
${sc.params.dataScope}
</where>
ORDER BY tg.create_time DESC
</select>
2025-07-15 18:40:22 +08:00
<select id="selectScTransGroupById" parameterType="Integer" resultMap="ScTransGroupResult">
<include refid="selectScTransGroupVo"/>
2025-07-15 18:40:22 +08:00
where tg.id = #{id}
</select>
<insert id="insertScTransGroup" parameterType="ScTransGroup"
useGeneratedKeys="true" keyProperty="id">
insert into sc_trans_group
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="sheepId != null">sheep_id,</if>
<if test="eventType != null">event_type,</if>
<if test="transDate != null and transDate != ''">trans_date,</if>
<if test="foldTo != null and foldTo != ''">fold_to,</if>
<if test="foldFrom != null and foldFrom != ''">fold_from,</if>
<if test="varietyId != null">variety_id,</if>
<if test="reason != null">reason,</if>
<if test="technician != null and technician != ''">technician,</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="userId != null">user_id,</if>
<if test="deptId != null">dept_id,</if>
2025-07-15 18:40:22 +08:00
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="sheepId != null">#{sheepId},</if>
<if test="eventType != null">#{eventType},</if>
<if test="transDate != null and transDate != ''">#{transDate},</if>
<if test="foldTo != null and foldTo != ''">#{foldTo},</if>
<if test="foldFrom != null and foldFrom != ''">#{foldFrom},</if>
<if test="varietyId != null">#{varietyId},</if>
<if test="reason != null">#{reason},</if>
<if test="technician != null and technician != ''">#{technician},</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="userId != null">#{userId},</if>
<if test="deptId != null">#{deptId},</if>
2025-07-15 18:40:22 +08:00
</trim>
</insert>
<update id="updateScTransGroup" parameterType="ScTransGroup">
update sc_trans_group
<trim prefix="SET" suffixOverrides=",">
<if test="sheepId != null">sheep_id = #{sheepId},</if>
<if test="eventType != null">event_type = #{eventType},</if>
<if test="transDate != null and transDate != ''">trans_date = #{transDate},</if>
<if test="foldTo != null and foldTo != ''">fold_to = #{foldTo},</if>
<if test="foldFrom != null and foldFrom != ''">fold_from = #{foldFrom},</if>
<if test="varietyId != null">variety_id = #{varietyId},</if>
<if test="reason != null">reason = #{reason},</if>
<if test="technician != null and technician != ''">technician = #{technician},</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="deleteScTransGroupById" parameterType="Integer">
2025-07-15 18:40:22 +08:00
delete
from sc_trans_group
where tg.id = #{id}
</delete>
<delete id="deleteScTransGroupByIds" parameterType="String">
2025-07-15 18:40:22 +08:00
delete from sc_trans_group where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<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
</select>
</mapper>