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" />
<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" />
<result property= "manufacturer" column= "manufacturer" />
<result property= "batchNumber" column= "batch_number" />
</resultMap>
<sql id= "selectSwMedicineUsageVo" >
select id, name, use_type, update_by, update_time, create_by, create_time from sw_medicine_usage
</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>
<if test= "params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''" > and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where>
</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" >
select smud.id, medi_usage, medi_id, dosage, unit, usageId, manufacturer, batch_number,
sm.name
from sw_medicine_usage_details smud
join sw_medicine sm on smud.medi_id = sm.id
where medi_usage = #{medi_usage}
</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>
<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>
<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" >
insert into sw_medicine_usage_details( id, medi_usage, medi_id, dosage, unit, usageId, manufacturer, batch_number) values
<foreach item= "item" index= "index" collection= "list" separator= "," >
( #{item.id}, #{item.mediUsage}, #{item.mediId}, #{item.dosage}, #{item.unit}, #{item.usageId}, #{item.manufacturer}, #{item.batchNumber})
</foreach>
</insert>
</mapper>