liusheng
2026-10-12 0c1f8c479065739f3c7a5126de8e667035d00b58
smartor/src/main/resources/mapper/smartor/SvyLibTemplateTargetoptionMapper.xml
@@ -43,16 +43,19 @@
        <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,
@@ -103,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>
@@ -120,6 +124,23 @@
    <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"
@@ -163,6 +184,7 @@
            <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>
@@ -202,6 +224,7 @@
            <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>
@@ -245,6 +268,7 @@
            <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>
@@ -261,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>