<?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.ruoyi.system.mapper.EvaluationDetailMapper">
|
|
<resultMap type="EvaluationDetail" id="EvaluationDetailResult">
|
<result property="detailId" column="detail_id" />
|
<result property="evaluationId" column="evaluation_id" />
|
<result property="dimensionId" column="dimension_id" />
|
<result property="score" column="score" />
|
<result property="optionValue" column="option_value" />
|
<result property="textContent" column="text_content" />
|
<result property="createTime" column="create_time" />
|
</resultMap>
|
|
<resultMap type="EvaluationDetail" id="EvaluationDetailWithDimensionResult" extends="EvaluationDetailResult">
|
<association property="dimension" javaType="EvaluationDimension">
|
<result property="dimensionId" column="dimension_id" />
|
<result property="dimensionName" column="dimension_name" />
|
<result property="dimensionDesc" column="dimension_desc" />
|
<result property="dimensionType" column="dimension_type" />
|
<result property="options" column="options" />
|
<result property="sortOrder" column="sort_order" />
|
<result property="isRequired" column="is_required" />
|
</association>
|
</resultMap>
|
|
<sql id="selectEvaluationDetailVo">
|
select detail_id, evaluation_id, dimension_id, score, option_value, text_content, create_time from evaluation_detail
|
</sql>
|
|
<sql id="selectEvaluationDetailWithDimensionVo">
|
select ed.detail_id, ed.evaluation_id, ed.dimension_id, ed.score, ed.option_value, ed.text_content, ed.create_time,
|
edim.dimension_name, edim.dimension_desc, edim.dimension_type, edim.options, edim.sort_order, edim.is_required
|
from evaluation_detail ed
|
left join evaluation_dimension edim on ed.dimension_id = edim.dimension_id
|
</sql>
|
|
<select id="selectEvaluationDetailList" parameterType="EvaluationDetail" resultMap="EvaluationDetailResult">
|
<include refid="selectEvaluationDetailVo"/>
|
<where>
|
<if test="evaluationId != null "> and evaluation_id = #{evaluationId}</if>
|
<if test="dimensionId != null "> and dimension_id = #{dimensionId}</if>
|
<if test="score != null "> and score = #{score}</if>
|
<if test="optionValue != null and optionValue != ''"> and option_value = #{optionValue}</if>
|
</where>
|
order by create_time desc
|
</select>
|
|
<select id="selectEvaluationDetailByDetailId" parameterType="Long" resultMap="EvaluationDetailResult">
|
<include refid="selectEvaluationDetailVo"/>
|
where detail_id = #{detailId}
|
</select>
|
|
<select id="selectEvaluationDetailByEvaluationId" parameterType="Long" resultMap="EvaluationDetailWithDimensionResult">
|
<include refid="selectEvaluationDetailWithDimensionVo"/>
|
where ed.evaluation_id = #{evaluationId}
|
order by edim.sort_order asc, ed.create_time desc
|
</select>
|
|
<insert id="insertEvaluationDetail" parameterType="EvaluationDetail" useGeneratedKeys="true" keyProperty="detailId">
|
insert into evaluation_detail
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="evaluationId != null">evaluation_id,</if>
|
<if test="dimensionId != null">dimension_id,</if>
|
<if test="score != null">score,</if>
|
<if test="optionValue != null">option_value,</if>
|
<if test="textContent != null">text_content,</if>
|
<if test="createTime != null">create_time,</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="evaluationId != null">#{evaluationId},</if>
|
<if test="dimensionId != null">#{dimensionId},</if>
|
<if test="score != null">#{score},</if>
|
<if test="optionValue != null">#{optionValue},</if>
|
<if test="textContent != null">#{textContent},</if>
|
<if test="createTime != null">#{createTime},</if>
|
</trim>
|
</insert>
|
|
<insert id="insertEvaluationDetailBatch" parameterType="java.util.List">
|
insert into evaluation_detail (evaluation_id, dimension_id, score, option_value, text_content, create_time)
|
values
|
<foreach collection="list" item="item" separator=",">
|
(#{item.evaluationId}, #{item.dimensionId}, #{item.score}, #{item.optionValue}, #{item.textContent}, #{item.createTime})
|
</foreach>
|
</insert>
|
|
<update id="updateEvaluationDetail" parameterType="EvaluationDetail">
|
update evaluation_detail
|
<trim prefix="SET" suffixOverrides=",">
|
<if test="evaluationId != null">evaluation_id = #{evaluationId},</if>
|
<if test="dimensionId != null">dimension_id = #{dimensionId},</if>
|
<if test="score != null">score = #{score},</if>
|
<if test="optionValue != null">option_value = #{optionValue},</if>
|
<if test="textContent != null">text_content = #{textContent},</if>
|
</trim>
|
where detail_id = #{detailId}
|
</update>
|
|
<delete id="deleteEvaluationDetailByDetailId" parameterType="Long">
|
delete from evaluation_detail where detail_id = #{detailId}
|
</delete>
|
|
<delete id="deleteEvaluationDetailByEvaluationId" parameterType="Long">
|
delete from evaluation_detail where evaluation_id = #{evaluationId}
|
</delete>
|
|
<delete id="deleteEvaluationDetailByDetailIds" parameterType="String">
|
delete from evaluation_detail where detail_id in
|
<foreach item="detailId" collection="array" open="(" separator="," close=")">
|
#{detailId}
|
</foreach>
|
</delete>
|
</mapper>
|