| | |
| | | <result property="assigntime" column="assigntime"/> |
| | | <result property="starttime" column="starttime"/> |
| | | <result property="answertime" column="answertime"/> |
| | | <result property="dimension" column="lib_templateid"/> |
| | | <result property="isMydException" column="is_myd_exception"/> |
| | | |
| | | <result property="silent" column="silent"/> |
| | | <result property="dtmfKey" column="dtmf_key"/> |
| | |
| | | <sql id="selectServiceSubtaskDetailVo"> |
| | | select id, |
| | | sub_id, |
| | | is_myd_exception, |
| | | dimension, |
| | | lib_templateid, |
| | | targetid, |
| | | answerps, |
| | |
| | | <include refid="selectServiceSubtaskDetailVo"/> |
| | | where 1=1 |
| | | <if test="subId != null">and sub_id = #{subId}</if> |
| | | <if test="isMydException != null">and is_myd_exception = #{isMydException}</if> |
| | | <if test="dimension != null">and dimension = #{dimension}</if> |
| | | <if test="templateType != null">and template_type = #{templateType}</if> |
| | | <if test="libTemplateid != null">and lib_templateid = #{libTemplateid}</if> |
| | | <if test="targetid != null">and targetid = #{targetid}</if> |
| | |
| | | |
| | | </select> |
| | | |
| | | <!-- |
| | | 异常问题处理情况查询(tracedeallist)的「有效填写数」: |
| | | 原来对每个 scriptid 都执行一次 selectServiceSubtaskDetailList(查回全部列再去 size), |
| | | 一个问题一次、而且整个接口会被调用两遍,几十上百个问题就是上百次大表扫描; |
| | | 这里合并成一条 group by。 |
| | | 注意:为与原口径完全一致,这里不加 del_flag 条件(原 selectServiceSubtaskDetailList |
| | | 虽然 Java 里 setDelFlag("0"),但 SQL 里并没有 del_flag 过滤)。 |
| | | --> |
| | | <select id="countDetailByScriptIds" resultType="java.util.Map"> |
| | | select scriptid as scriptid, count(*) as cnt |
| | | from service_subtask_detail |
| | | where scriptid in |
| | | <foreach collection="scriptIds" item="scriptId" open="(" separator="," close=")"> |
| | | #{scriptId} |
| | | </foreach> |
| | | group by scriptid |
| | | </select> |
| | | |
| | | <select id="getServiceSubtaskDetails" parameterType="com.smartor.domain.ServiceSubtaskDetailVO" |
| | | resultType="java.util.HashMap"> |
| | | select |
| | | ssd.sub_id, |
| | | ssd.is_myd_exception, |
| | | ssd.dimension, |
| | | ssd.taskid, |
| | | ssd.patid, |
| | | sd.sendname, |
| | |
| | | <if test="subId != null">and ssd.sub_id = #{subId}</if> |
| | | <if test="taskid != null">and ssd.taskid = #{taskid}</if> |
| | | <if test="questiontext != null and questiontext != ''">and ssd.questiontext = #{questiontext}</if> |
| | | <if test="isMydException != null">and ssd.is_myd_exception = #{isMydException}</if> |
| | | <if test="dimension != null">and ssd.dimension = #{dimension}</if> |
| | | <if test="matchedtext != null and matchedtext != ''">and ssd.matchedtext = #{matchedtext}</if> |
| | | <if test="asrtext != null and asrtext != ''">and ssd.asrtext = #{asrtext}</if> |
| | | <if test="scriptid != null">and ssd.scriptid = #{scriptid}</if> |
| | |
| | | #{scriptId} |
| | | </foreach> |
| | | </if> |
| | | <if test="isFilled != null and isFilled != '0'"> |
| | | AND IFNULL(ssd.matchedtext,ssd.asrtext) is not null |
| | | AND IFNULL(ssd.matchedtext,ssd.asrtext) != '' |
| | | </if> |
| | | <if test="configValue != null and configValue != ''"> |
| | | AND ssd.categoryid IN (${configValue}) |
| | | </if> |
| | | order by ssd.sub_id desc, ssd.id desc |
| | | </select> |
| | | <select id="selectServiceSubtaskDetailByCalldetailid" parameterType="String" resultMap="ServiceSubtaskDetailResult"> |
| | |
| | | <if test="questiontext != null">and questiontext = #{questiontext}</if> |
| | | </select> |
| | | |
| | | <select id="isExistServiceSubtaskDetail" resultType="com.smartor.domain.DTO.ServiceSubtaskDetailDTO"> |
| | | <select id="isExistServiceSubtaskDetail" resultType="com.smartor.domain.DTO.ServiceSubtaskDetailDTO"> |
| | | select id, questiontext, matchedtext, score |
| | | from service_subtask_detail |
| | | where del_flag = 0 |
| | |
| | | <if test="templateType != null">template_type,</if> |
| | | <if test="libTemplateid != null">lib_templateid,</if> |
| | | <if test="score != null">score,</if> |
| | | <if test="isMydException != null">is_myd_exception,</if> |
| | | <if test="dimension != null">dimension,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">#{id},</if> |
| | |
| | | <if test="templateType != null">#{templateType},</if> |
| | | <if test="libTemplateid != null">#{libTemplateid},</if> |
| | | <if test="score != null">#{score},</if> |
| | | <if test="isMydException != null">#{isMydException},</if> |
| | | <if test="dimension != null">#{dimension},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updateServiceSubtaskDetail" parameterType="com.smartor.domain.ServiceSubtaskDetail"> |
| | | update service_subtask_detail |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="isMydException != null">is_myd_exception = #{isMydException},</if> |
| | | <if test="dimension != null">dimension = #{dimension},</if> |
| | | <if test="subId != null">sub_id = #{subId},</if> |
| | | <if test="taskid != null">taskid = #{taskid},</if> |
| | | <if test="targetid != null">targetid = #{targetid},</if> |
| | |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | |
| | | <update id="updateSSDByCondition" parameterType="com.smartor.domain.ServiceSubtaskDetail"> |
| | | update service_subtask_detail |
| | |
| | | <if test="templateType != null">template_type = #{templateType},</if> |
| | | <if test="libTemplateid != null">lib_templateid = #{libTemplateid},</if> |
| | | <if test="score != null">score = #{score},</if> |
| | | <if test="isMydException != null">is_myd_exception = #{isMydException},</if> |
| | | <if test="dimension != null">dimension = #{dimension},</if> |
| | | </trim> |
| | | where patid = #{patid} and scriptid = #{scriptid} and sub_id = #{subId} |
| | | </update> |
| | |
| | | ivr_liba_target.targetname, |
| | | service_subtask_detail.matchedtext |
| | | </select> |
| | | </mapper> |
| | | |
| | | </mapper> |