2025-07-12 17:25:03 +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.biosafety.mapper.SwMedicineUsageMapper" >
<resultMap type= "SwMedicineUsage" id= "SwMedicineUsageResult" >
<result property= "id" column= "id" />
<result property= "name" column= "name" />
2025-08-24 00:03:46 +08:00
<result property= "sheepfoldId" column= "sheepfold_id" />
<result property= "sheepfoldName" column= "sheepfold_name" />
<result property= "sheepId" column= "sheep_id" />
<result property= "sheepNo" column= "sheep_no" />
<result property= "datetime" column= "datetime" />
2025-07-12 17:25:03 +08:00
<result property= "useType" column= "use_type" />
<result property= "updateBy" column= "update_by" />
<result property= "updateTime" column= "update_time" />
<result property= "createBy" column= "create_by" />
<result property= "createTime" column= "create_time" />
</resultMap>
<resultMap id= "SwMedicineUsageSwMedicineUsageDetailsResult" type= "SwMedicineUsage" extends= "SwMedicineUsageResult" >
<collection property= "swMedicineUsageDetailsList" ofType= "SwMedicineUsageDetails" column= "id" select= "selectSwMedicineUsageDetailsList" />
</resultMap>
<resultMap type= "SwMedicineUsageDetails" id= "SwMedicineUsageDetailsResult" >
<result property= "id" column= "id" />
<result property= "mediUsage" column= "medi_usage" />
<result property= "mediId" column= "medi_id" />
<result property= "mediName" column= "name" />
<result property= "dosage" column= "dosage" />
<result property= "unit" column= "unit" />
<result property= "usageId" column= "usageId" />
2025-08-24 18:23:16 +08:00
<result property= "usetime" column= "usetime" />
2025-07-12 17:25:03 +08:00
<result property= "manufacturer" column= "manufacturer" />
<result property= "batchNumber" column= "batch_number" />
</resultMap>
<sql id= "selectSwMedicineUsageVo" >
2025-08-24 00:03:46 +08:00
select smu.id, sheepfold as sheepfold_id,sheep sheep_id,name, datetime,use_type, smu.update_by, smu.update_time, smu.create_by, smu.create_time,
ds.sheepfold_name,
bs.manage_tags sheep_no
from sw_medicine_usage smu
left join da_sheepfold ds on ds.id = smu.sheepfold
left join bas_sheep bs on bs.id = smu.sheep
2025-07-12 17:25:03 +08:00
</sql>
<select id= "selectSwMedicineUsageList" parameterType= "SwMedicineUsage" resultMap= "SwMedicineUsageResult" >
<include refid= "selectSwMedicineUsageVo" />
<where >
<if test= "name != null and name != ''" > and name like concat('%', #{name}, '%')</if>
<if test= "useType != null and useType != ''" > and use_type = #{useType}</if>
2025-08-24 00:03:46 +08:00
<if test= "sheepNo != null and sheepNo != ''" > and bs.manage_tags like concat('%', #{sheepNo}, '%')</if>
<if test= "params.beginUseTime != null and params.beginUseTime != '' and params.endUseTime != null and params.endUseTime != ''" > and smu.datetime between #{params.beginUseTime} and #{params.endUseTime}</if>
<if test= "params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''" > and smu.create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if> <if test= "params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''" > and smu.create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
2025-07-12 17:25:03 +08:00
</where>
2025-08-24 00:03:46 +08:00
ORDER BY datetime DESC
2025-07-12 17:25:03 +08:00
</select>
2025-07-21 19:28:38 +08:00
<select id= "selectSwMedicineUsageById" parameterType= "Integer" resultMap= "SwMedicineUsageSwMedicineUsageDetailsResult" >
2025-07-12 17:25:03 +08:00
select id, name, use_type, update_by, update_time, create_by, create_time
from sw_medicine_usage
where id = #{id}
</select>
<select id= "selectSwMedicineUsageDetailsList" resultMap= "SwMedicineUsageDetailsResult" >
2025-08-24 18:23:16 +08:00
select smud.id, medi_usage, medi_id, dosage, unit, usageId,usetime, manufacturer, batch_number,
2025-07-12 17:25:03 +08:00
sm.name
from sw_medicine_usage_details smud
join sw_medicine sm on smud.medi_id = sm.id
where medi_usage = #{medi_usage}
2025-08-24 00:03:46 +08:00
2025-07-12 17:25:03 +08:00
</select>
<insert id= "insertSwMedicineUsage" parameterType= "SwMedicineUsage" useGeneratedKeys= "true" keyProperty= "id" >
insert into sw_medicine_usage
<trim prefix= "(" suffix= ")" suffixOverrides= "," >
<if test= "name != null" > name,</if>
<if test= "useType != null" > use_type,</if>
2025-08-24 00:03:46 +08:00
<if test= "sheepfoldId != null" > sheepfold,</if>
<if test= "sheepId != null" > sheep,</if>
<if test= "datetime != null" > datetime,</if>
2025-07-12 17:25:03 +08:00
<if test= "updateBy != null" > update_by,</if>
<if test= "updateTime != null" > update_time,</if>
<if test= "createBy != null" > create_by,</if>
<if test= "createTime != null" > create_time,</if>
</trim>
<trim prefix= "values (" suffix= ")" suffixOverrides= "," >
<if test= "name != null" > #{name},</if>
<if test= "useType != null" > #{useType},</if>
2025-08-24 00:03:46 +08:00
<if test= "sheepfoldId != null" > #{sheepfoldId},</if>
<if test= "sheepId != null" > #{sheepId},</if>
<if test= "datetime != null" > #{datetime},</if>
2025-07-12 17:25:03 +08:00
<if test= "updateBy != null" > #{updateBy},</if>
<if test= "updateTime != null" > #{updateTime},</if>
<if test= "createBy != null" > #{createBy},</if>
<if test= "createTime != null" > #{createTime},</if>
</trim>
</insert>
<update id= "updateSwMedicineUsage" parameterType= "SwMedicineUsage" >
update sw_medicine_usage
<trim prefix= "SET" suffixOverrides= "," >
<if test= "name != null" > name = #{name},</if>
<if test= "useType != null" > use_type = #{useType},</if>
<if test= "updateBy != null" > update_by = #{updateBy},</if>
<if test= "updateTime != null" > update_time = #{updateTime},</if>
<if test= "createBy != null" > create_by = #{createBy},</if>
<if test= "createTime != null" > create_time = #{createTime},</if>
</trim>
where id = #{id}
</update>
<delete id= "deleteSwMedicineUsageById" parameterType= "Long" >
delete from sw_medicine_usage where id = #{id}
</delete>
<delete id= "deleteSwMedicineUsageByIds" parameterType= "String" >
delete from sw_medicine_usage where id in
<foreach item= "id" collection= "array" open= "(" separator= "," close= ")" >
#{id}
</foreach>
</delete>
<delete id= "deleteSwMedicineUsageDetailsByMediUsages" parameterType= "String" >
delete from sw_medicine_usage_details where medi_usage in
<foreach item= "mediUsage" collection= "array" open= "(" separator= "," close= ")" >
#{mediUsage}
</foreach>
</delete>
2025-07-21 19:28:38 +08:00
<delete id= "deleteSwMedicineUsageDetailsByMediUsage" parameterType= "Integer" >
2025-07-12 17:25:03 +08:00
delete from sw_medicine_usage_details where medi_usage = #{mediUsage}
</delete>
<insert id= "batchSwMedicineUsageDetails" >
2025-08-24 18:23:16 +08:00
insert into sw_medicine_usage_details( id, medi_usage, medi_id, dosage, unit, usageId,usetime, manufacturer, batch_number) values
2025-07-12 17:25:03 +08:00
<foreach item= "item" index= "index" collection= "list" separator= "," >
2025-08-24 18:23:16 +08:00
( #{item.id}, #{item.mediUsage}, #{item.mediId}, #{item.dosage}, #{item.unit}, #{item.usageId}, #{item.usetime},#{item.manufacturer}, #{item.batchNumber})
2025-07-12 17:25:03 +08:00
</foreach>
</insert>
</mapper>