liusheng
昨天 459aa78c84cf552ebea6ef056d978c2531d71ac8
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -87,6 +87,11 @@
        <result property="currentPreachform" column="current_preachform"/>
        <result property="taskSituation" column="task_situation"/>
        <result property="isabnormal" column="isabnormal"/>
        <result property="continueFlag" column="continue_flag"/>
        <result property="continueTimeNow" column="continue_time_now"/>
        <result property="continueContent" column="continue_content"/>
        <result property="continueCount" column="continue_count"/>
        <result property="continueTimeNext" column="continue_time_next"/>
    </resultMap>
    <resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2">
@@ -202,11 +207,16 @@
               visit_type,
               management_doctor,
               management_doctor_code,
               continue_flag,
               continue_time_now,
               continue_content,
               continue_count,
               continue_time_next,
               task_situation
        from service_subtask
    </sql>
    <select id="selectServiceSubtaskBySendstate" parameterType="com.smartor.domain.ServiceSubtaskVO"
    <select id="selectServiceSubtaskBySendstate" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        where 1=1
@@ -215,6 +225,10 @@
            and orgid = #{orgid}
        </if>
        <if test="taskid != null ">and taskid = #{taskid}</if>
        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow}</if>
        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
        <if test="serviceType != null ">and service_type = #{serviceType}</if>
        <if test="patid != null ">and patid = #{patid}</if>
        <if test="sendstates!=null">
@@ -226,7 +240,7 @@
        </if>
    </select>
    <select id="queryServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
    <select id="queryServiceSubtaskList" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        where 1=1
@@ -239,15 +253,22 @@
            AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{visitTime},'%y%m%d')
        </if>
        <if test="sendstate != null ">and sendstate = #{sendstate}</if>
        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow}</if>
        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
    </select>
    <select id="selectServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
    <select id="selectServiceSubtaskList" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        where 1=1
        and del_flag = 0
        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow}</if>
        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
        <if test="sendname != null  and sendname != ''">and sendname like concat('%', #{sendname}, '%')</if>
        <if test="phone != null  and phone != ''">and phone = #{phone}</if>
        <if test="leavehospitaldistrictcode != null  and leavehospitaldistrictcode != ''">and
@@ -412,7 +433,7 @@
        <if test="sort != null  and sort==8">order by visit_time desc</if>
        <if test="pageSize != null  and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if>
    </select>
    <select id="getCompensateServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
    <select id="getCompensateServiceSubtaskList" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        where del_flag = 0
@@ -423,9 +444,13 @@
            AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{visitTime},'%y%m%d')
        </if>
        <if test="sendstate != null ">and sendstate = #{sendstate}</if>
        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow}</if>
        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
    </select>
    <select id="selectServiceSubtaskListByCreateTime" parameterType="com.smartor.domain.ServiceSubtaskVO"
    <select id="selectServiceSubtaskListByCreateTime" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        where del_flag = 0
@@ -448,11 +473,15 @@
        <if test="managementDoctor != null">and management_doctor = #{managementDoctor}</if>
        <if test="currentPreachform != null">and current_preachform = #{currentPreachform}</if>
        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow}</if>
        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
    </select>
    <select id="selectServiceSubtaskListAgain" parameterType="com.smartor.domain.ServiceSubtaskVO"
    <select id="selectServiceSubtaskListAgain" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        where 1=1
@@ -505,7 +534,10 @@
        <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
        <if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if>
        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow}</if>
        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
    </select>
    <select id="selectSendstateByCondition" parameterType="com.smartor.domain.ServiceSubtask" resultType="Integer">
@@ -640,6 +672,10 @@
        <if test="taskName != null">and task_name like concat('%',#{taskName}, '%')</if>
        <if test="sendstate != null">and sendstate = #{sendstate}</if>
        <if test="orgid != null">and orgid =#{orgid}</if>
        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow}</if>
        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
        GROUP BY sendname,sendstate,starttime,endtime,nurse_name,phone,sex,task_name,leavediagname,visit_time ORDER BY
        visit_time
        <if test="pageSize != null  and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if>
@@ -733,6 +769,11 @@
            <if test="currentPreachform != null">current_preachform,</if>
            <if test="taskSituation != null">task_situation,</if>
            <if test="isabnormal != null">isabnormal,</if>
            <if test="continueFlag != null ">continue_flag,</if>
            <if test="continueTimeNow != null ">continue_time_now,</if>
            <if test="continueCount != null ">continue_count,</if>
            <if test="continueTimeNext != null ">continue_time_next,</if>
            <if test="continueContent != null ">continue_content,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="sendname != null">#{sendname},</if>
@@ -819,6 +860,11 @@
            <if test="currentPreachform != null">#{currentPreachform},</if>
            <if test="taskSituation != null">#{taskSituation},</if>
            <if test="isabnormal != null">#{isabnormal},</if>
            <if test="continueFlag != null ">#{continueFlag},</if>
            <if test="continueTimeNow != null ">#{continueTimeNow},</if>
            <if test="continueCount != null ">#{continueCount},</if>
            <if test="continueTimeNext != null ">#{continueTimeNext},</if>
            <if test="continueContent != null ">#{continueContent},</if>
        </trim>
    </insert>
@@ -910,6 +956,11 @@
            <if test="currentPreachform != null">current_preachform=#{currentPreachform},</if>
            <if test="taskSituation != null">task_situation=#{taskSituation},</if>
            <if test="isabnormal != null">isabnormal=#{isabnormal},</if>
            <if test="continueFlag != null ">continue_flag = #{continueFlag},</if>
            <if test="continueTimeNow != null ">continue_time_now = #{continueTimeNow},</if>
            <if test="continueCount != null ">continue_count = #{continueCount},</if>
            <if test="continueTimeNext != null ">continue_time_next = #{continueTimeNext},</if>
            <if test="continueContent != null ">continue_content = #{continueContent},</if>
        </trim>
        where id = #{id}
    </update>
@@ -1002,6 +1053,11 @@
            <if test="currentPreachform != null">current_preachform=#{currentPreachform},</if>
            <if test="taskSituation != null">task_situation=#{taskSituation},</if>
            <if test="isabnormal != null">isabnormal=#{isabnormal},</if>
            <if test="continueFlag != null ">continue_flag = #{continueFlag},</if>
            <if test="continueTimeNow != null ">continue_time_now = #{continueTimeNow},</if>
            <if test="continueCount != null ">continue_count = #{continueCount},</if>
            <if test="continueTimeNext != null ">continue_time_next = #{continueTimeNext},</if>
            <if test="continueContent != null ">continue_content = #{continueContent},</if>
        </trim>
        where 1=1
        <if test="patid != null ">and patid = #{patid}</if>
@@ -1098,6 +1154,11 @@
            <if test="currentPreachform != null">current_preachform=#{currentPreachform},</if>
            <if test="taskSituation != null">task_situation=#{taskSituation},</if>
            <if test="isabnormal != null">isabnormal=#{isabnormal},</if>
            <if test="continueFlag != null ">continue_flag = #{continueFlag},</if>
            <if test="continueTimeNow != null ">continue_time_now = #{continueTimeNow},</if>
            <if test="continueCount != null ">continue_count = #{continueCount},</if>
            <if test="continueTimeNext != null ">continue_time_next = #{continueTimeNext},</if>
            <if test="continueContent != null ">continue_content = #{continueContent},</if>
        </trim>
        where patid = #{patid} and taskid = #{taskid}
    </update>
@@ -1189,6 +1250,11 @@
            <if test="currentPreachform != null">current_preachform=#{currentPreachform},</if>
            <if test="taskSituation != null">task_situation=#{taskSituation},</if>
            <if test="isabnormal != null">isabnormal=#{isabnormal},</if>
            <if test="continueFlag != null ">continue_flag = #{continueFlag},</if>
            <if test="continueTimeNow != null ">continue_time_now = #{continueTimeNow},</if>
            <if test="continueCount != null ">continue_count = #{continueCount},</if>
            <if test="continueTimeNext != null ">continue_time_next = #{continueTimeNext},</if>
            <if test="continueContent != null ">continue_content = #{continueContent},</if>
        </trim>
        where task_guid = #{taskGuid} and task_name = #{taskName}
    </update>
@@ -1243,6 +1309,11 @@
        send_type,
        recordid,
        exrecallcount,
        continue_flag,
        continue_time_now,
        continue_content,
        continue_count,
        continue_time_next,
        task_situation
        from service_subtask
        where 1=1
@@ -1278,6 +1349,10 @@
        <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
        <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow}</if>
        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
        <!-- 目前只统计语音和问卷 -->
        <if test="type != null">
            and type = #{type}
@@ -1330,6 +1405,10 @@
        <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
        <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
        <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow}</if>
        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
        <!-- 目前只统计语音和问卷 -->
        <if test="type != null">
            and type = #{type}
@@ -2003,7 +2082,7 @@
    </select>
    <!-- 优化的统计查询:直接在数据库层完成聚合计算 -->
    <select id="countByCondition" parameterType="com.smartor.domain.ServiceSubtaskVO" resultType="map">
    <select id="countByCondition" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" resultType="map">
        SELECT
        SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS wzx,
        SUM(CASE WHEN sendstate != 4 AND sendstate != 2 THEN 1 ELSE 0 END) AS ysf,