liusheng
2026-09-28 93078044580c2781cb8cf3ac18d2ab90513267de
smartor/src/main/resources/mapper/smartor/SvyLibTemplateTargetoptionMapper.xml
@@ -41,14 +41,21 @@
        <result property="appenddesc" column="appenddesc"/>
        <result property="optionNo" column="option_no"/>
        <result property="prompt" column="prompt"/>
        <result property="sendTaskid" column="send_taskid"/>
        <result property="sendTaskname" column="send_taskname"/>
        <result property="defaultValue" column="default_value"/>
    </resultMap>
    <sql id="selectSvyLibTemplateTargetoptionVo">
        select id,
               groupid,
--                is_exception,
               send_taskid,
               send_taskname,
               score,
               prompt,
               option_no,
               default_value,
               appendflag,
               appenddesc,
               categoryName,
@@ -73,8 +80,8 @@
    <select id="selectSvyLibTemplateTargetoptionList" parameterType="com.smartor.domain.SvyLibTemplateTargetoption"
            resultMap="SvyLibTemplateTargetoptionResult">
        <include refid="selectSvyLibTemplateTargetoptionVo"/>
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            <if test="groupid != null  and groupid != ''">and groupid = #{groupid}</if>
            <if test="categoryName != null  and categoryName != ''">and categoryName like concat('%', #{categoryName},
                '%')
@@ -99,6 +106,7 @@
            <if test="nextQuestion != null ">and next_question = #{nextQuestion}</if>
            <if test="language != null  and language != ''">and language = #{language}</if>
            <if test="version != null  and version != ''">and version = #{version}</if>
            <if test="defaultValue != null">and default_value = #{defaultValue}</if>
            <if test="isupload != null ">and isupload = #{isupload}</if>
            <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
@@ -109,12 +117,30 @@
            <if test="appendflag != null">and appendflag = #{appendflag}</if>
            <if test="appenddesc != null">and appenddesc = #{appenddesc}</if>
            <if test="optionNo != null">and option_no = #{optionNo}</if>
        </where>
            <if test="sendTaskid != null">and send_taskid= #{sendTaskid}</if>
            <if test="sendTaskname != null">and send_taskname = #{sendTaskname}</if>
    </select>
    <select id="selectSvyLibTemplateTargetoptionById" parameterType="Long" resultMap="SvyLibTemplateTargetoptionResult">
        <include refid="selectSvyLibTemplateTargetoptionVo"/>
        where id = #{id}
    </select>
    <!--
        满意度统计:一次取回多个问题的选项分值(只取 scriptid、score)。
        等价于逐个问题执行 selectSvyLibTemplateTargetoptionList(scriptid),但只取用得到的列;
        scriptIds 为空时不加 scriptid 过滤(对应原查询 scriptid 为 null 时丢弃该条件的行为)。
    -->
    <select id="selectSvyLibTargetoptionScores" resultType="java.util.Map">
        select scriptid as scriptid, score as score
        from svy_lib_template_targetoption
        where del_flag = 0
        <if test="scriptIds != null and scriptIds.size() > 0">
            and scriptid IN
            <foreach collection="scriptIds" item="scriptId" open="(" separator="," close=")">
                #{scriptId}
            </foreach>
        </if>
    </select>
    <insert id="insertSvyLibTemplateTargetoption" parameterType="com.smartor.domain.SvyLibTemplateTargetoption"
@@ -156,6 +182,9 @@
            <if test="appenddesc != null">appenddesc,</if>
            <if test="optionNo != null">option_no,</if>
            <if test="prompt != null">prompt,</if>
            <if test="sendTaskid != null">send_taskid,</if>
            <if test="sendTaskname != null">send_taskname,</if>
            <if test="defaultValue != null">default_value,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="groupid != null">#{groupid},</if>
@@ -193,6 +222,9 @@
            <if test="appenddesc != null">#{appenddesc},</if>
            <if test="optionNo != null">#{optionNo},</if>
            <if test="prompt != null">#{prompt},</if>
            <if test="sendTaskid != null">#{sendTaskid},</if>
            <if test="sendTaskname != null">#{sendTaskname},</if>
            <if test="defaultValue != null">#{defaultValue},</if>
        </trim>
    </insert>
@@ -234,6 +266,9 @@
            <if test="appenddesc != null">appenddesc = #{appenddesc},</if>
            <if test="optionNo != null">option_no = #{optionNo},</if>
            <if test="prompt != null">prompt = #{prompt},</if>
            <if test="sendTaskid != null">send_taskid= #{sendTaskid},</if>
            <if test="sendTaskname != null">send_taskname = #{sendTaskname},</if>
            <if test="defaultValue != null">default_value = #{defaultValue},</if>
        </trim>
        where id = #{id}
    </update>
@@ -250,4 +285,14 @@
            #{id}
        </foreach>
    </delete>
    <select id="selectByScriptIds" resultMap="SvyLibTemplateTargetoptionResult">
        <include refid="selectSvyLibTemplateTargetoptionVo"/>
        where del_flag = 0
        and scriptid in
        <foreach item="scriptId" collection="scriptIds" open="(" separator="," close=")">
            #{scriptId}
        </foreach>
        <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if>
    </select>
</mapper>