liusheng
2 天以前 da026a34bcc97b2eb49607a3b02d94d8f683f997
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -208,34 +208,37 @@
    <select id="selectServiceSubtaskBySendstate" parameterType="com.smartor.domain.ServiceSubtaskVO"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        <where>
            del_flag=0
            <if test="taskid != null ">and taskid = #{taskid}</if>
            <if test="serviceType != null ">and service_type = #{serviceType}</if>
            <if test="patid != null ">and patid = #{patid}</if>
            <if test="sendstates!=null">
                AND sendstate IN
                <foreach collection="sendstates" item="sendstate" open="(" separator=","
                         close=")">
                    #{sendstate}
                </foreach>
            </if>
        </where>
        where 1=1
        and del_flag = 0
        <if test="orgid != null and orgid != ''">
            and orgid = #{orgid}
        </if>
        <if test="taskid != null ">and taskid = #{taskid}</if>
        <if test="serviceType != null ">and service_type = #{serviceType}</if>
        <if test="patid != null ">and patid = #{patid}</if>
        <if test="sendstates!=null">
            AND sendstate IN
            <foreach collection="sendstates" item="sendstate" open="(" separator=","
                     close=")">
                #{sendstate}
            </foreach>
        </if>
    </select>
    <select id="queryServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            <if test="orgid != null and orgid != ''">
                and orgid = #{orgid}
            </if>
            <if test="taskid != null ">and taskid = #{taskid}</if>
            <if test="visitTime != null">
                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{visitTime},'%y%m%d')
            </if>
            <if test="sendstate != null ">and sendstate = #{sendstate}</if>
        </where>
    </select>
@@ -243,8 +246,8 @@
    <select id="selectServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            <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
@@ -396,7 +399,6 @@
                    #{visitDeptCodes}
                </foreach>
            </if>
        </where>
        <if test="sort != null  and sort==0">order by endtime asc</if>
        <if test="sort != null  and sort==1">order by endtime desc</if>
        <if test="sort != null  and sort==2">order by long_send_time asc</if>
@@ -411,22 +413,25 @@
    <select id="getCompensateServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            <if test="orgid != null and orgid != ''">
                and orgid = #{orgid}
            </if>
            <if test="visitTime != null">
                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{visitTime},'%y%m%d')
            </if>
            <if test="sendstate != null ">and sendstate = #{sendstate}</if>
        </where>
    </select>
    <select id="selectServiceSubtaskListByCreateTime" parameterType="com.smartor.domain.ServiceSubtaskVO"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            <if test="orgid != null and orgid != ''">
                and orgid = #{orgid}
            </if>
            <if test="createStartTime != null  and createEndTime != null">and create_time BETWEEN #{createStartTime} AND
                #{createEndTime}
            </if>
@@ -443,7 +448,6 @@
            <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>
        </where>
    </select>
@@ -451,8 +455,8 @@
    <select id="selectServiceSubtaskListAgain" parameterType="com.smartor.domain.ServiceSubtaskVO"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            and upid is not null
            and visit_count > 1
            <if test="createStartTime != null  and createEndTime != null">and create_time BETWEEN #{createStartTime} AND
@@ -501,7 +505,6 @@
            <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>
        </where>
    </select>
@@ -509,13 +512,16 @@
        SELECT b.sendstate
        from service_task a
        JOIN service_subtask b on a.taskid = b.taskid and a.pat_cycle = 0 and b.del_flag = 0
        <where>b.taskid = #{taskid}
        where 1=1
            and b.taskid = #{taskid}
            and b.patid = #{patid}
            <if test="createTime != null and createTime != ''">
                DATE_FORMAT(b.create_time, '%Y-%m-%d') LIKE CONCAT(#{createTimeNew}, '%')
            </if>
            <if test="sendstate != null ">and b.sendstate = #{sendstate}</if>
        </where>
            <if test="orgid != null and orgid != ''">
                and b.orgid = #{orgid}
            </if>
    </select>
    <select id="selectTimelyRate" parameterType="com.smartor.domain.ServiceSubtask" resultType="double">
@@ -550,8 +556,8 @@
    <select id="selectTimelyRateDetail" parameterType="com.smartor.domain.ServiceSubtask"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        <where>
            id in (
        where 1=1
            and id in (
            SELECT id FROM
            (SELECT id, visit_time, finishtime,
            (CASE WHEN ( DATE_FORMAT( visit_time, '%y%m%d' ) &lt; DATE_FORMAT( IF ( ISNULL( finishtime ), NOW(),
@@ -577,7 +583,6 @@
            <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
            <if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if>
            ) a where a.finished =1)
        </where>
    </select>
    <select id="selectServiceSubtaskById" parameterType="Long" resultMap="ServiceSubtaskResult">
@@ -957,10 +962,12 @@
            <if test="taskSituation != null">task_situation=#{taskSituation},</if>
            <if test="isabnormal != null">isabnormal=#{isabnormal},</if>
        </trim>
        <where>
        where 1=1
            <if test="patid != null ">and patid = #{patid}</if>
            <if test="taskid != null ">and taskid = #{taskid}</if>
        </where>
            <if test="orgid != null and orgid != ''">
                and orgid = #{orgid}
            </if>
    </update>
    <update id="updateServiceSubtaskByCondition" parameterType="com.smartor.domain.ServiceSubtask">
@@ -1165,8 +1172,11 @@
    <select id="getSfStatistics" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            <if test="orgid != null and orgid != ''">
                and orgid = #{orgid}
            </if>
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
                AND leavehospitaldistrictcode IN
                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
@@ -1195,7 +1205,6 @@
            <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
            <if test="visitDeptName != null">abd visit_dept_name = #{visitDeptName}</if>
            <if test="isabnormal != null">abd isabnormal = #{isabnormal}</if>
        </where>
    </select>
    <select id="getSfStatisticsJoy" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
@@ -1205,8 +1214,11 @@
        config_key='joyCount')) joyAllCount
        FROM service_subtask_detail a
        WHERE sub_id IN(SELECT id FROM service_subtask t
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            <if test="orgid != null and orgid != ''">
                and orgid = #{orgid}
            </if>
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
                AND leavehospitaldistrictcode IN
                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
@@ -1233,9 +1245,8 @@
                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
            </if>
            <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
            <if test="visitDeptName != null">abd visit_dept_name = #{visitDeptName}</if>
            <if test="isabnormal != null">abd isabnormal = #{isabnormal}</if>
        </where>
            <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
            <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
        )
        AND targetid IN ( SELECT id FROM ivr_liba_target WHERE assortid IN (SELECT config_value FROM sys_config WHERE
        config_key='joyCount'))
@@ -1247,8 +1258,11 @@
        SELECT joyName,joyCount,joyAllCount,ROUND(joyCount/joyAllCount,2) joyTotal FROM (
        SELECT targetname joyName,
        (select COUNT(sub_id) FROM service_subtask_detail WHERE sub_id IN(SELECT id FROM service_subtask t
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            <if test="orgid != null and orgid != ''">
                and orgid = #{orgid}
            </if>
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
                AND leavehospitaldistrictcode IN
                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
@@ -1274,11 +1288,13 @@
                AND date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
            </if>
        </where>
        ) AND targetid=a.id) joyCount , (SELECT COUNT(*) from (select sub_id FROM service_subtask_detail
        WHERE sub_id IN(SELECT id FROM service_subtask t
        <where>
            del_flag=0
        where 1=1
            and del_flag = 0
            <if test="orgid != null and orgid != ''">
                and orgid = #{orgid}
            </if>
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">AND
                leavehospitaldistrictcode IN
                <foreach
@@ -1305,7 +1321,6 @@
                AND date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
                AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
            </if>
        </where>
        GROUP BY sub_id ) ) ta ) joyAllCount
        FROM ivr_liba_target a
        WHERE assortid IN (SELECT config_value FROM sys_config WHERE config_key=
@@ -1323,9 +1338,12 @@
        COUNT(sub_id) joyCount
        FROM service_subtask_detail a
        INNER JOIN service_subtask t ON a.sub_id = t.id
        <where>
            a.del_flag=0
        where 1=1
            and a.del_flag=0
            AND t.del_flag=0
            <if test="orgid != null and orgid != ''">
                and a.orgid = #{orgid}
            </if>
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
                AND t.leavehospitaldistrictcode IN
                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
@@ -1364,7 +1382,6 @@
            <if test="type != null">
                and t.type = #{type}
            </if>
        </where>
        GROUP BY a.sub_id
    </select>
@@ -1448,8 +1465,11 @@
        FROM
        service_subtask_detail ssd
        INNER JOIN service_subtask ss ON ssd.sub_id = ss.id
        <where>
            ss.del_flag=0
        where 1=1
            and ss.del_flag=0
            <if test="orgid != null and orgid != ''">
                and ss.orgid = #{orgid}
            </if>
            AND IFNULL(ssd.matchedtext,ssd.asrtext) IS NOT NULL
            AND IFNULL(ssd.matchedtext,ssd.asrtext) != ''
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
@@ -1484,7 +1504,6 @@
            <if test="configValue != null and configValue != ''">
                AND ssd.categoryid IN (${configValue})
            </if>
        </where>
        group by ssd.scriptid, IFNULL(ssd.matchedtext,ssd.asrtext)
    </select>
@@ -1841,8 +1860,8 @@
        SUM(CASE WHEN sendstate = 1 THEN 1 ELSE 0 END) AS blq,
        SUM(CASE WHEN excep IS NOT NULL AND excep != '0' THEN 1 ELSE 0 END) AS yc
        FROM service_subtask
        <where>
            del_flag = 0
        where 1=1
            and del_flag = 0
            <if test="sendname != null and sendname != ''">
                AND sendname LIKE CONCAT('%', #{sendname}, '%')
            </if>
@@ -2000,7 +2019,6 @@
            <if test="visitCount != null and visitCount > 1">
                AND visit_count > 1
            </if>
        </where>
    </select>
</mapper>