sinake
4 天以前 48d32c21519998b29f85960774a79e4c5519bdf8
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -84,12 +84,17 @@
        <result property="visitDeptCode" column="visit_dept_code"/>
        <result property="managementDoctor" column="management_doctor"/>
        <result property="managementDoctorCode" column="management_doctor_code"/>
        <result property="taskSituation" column="task_situation"/>
    </resultMap>
    <resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2">
        <result property="month" column="month"/>
        <result property="serviceType" column="service_type"/>
        <result property="subTaskId" column="subTaskId"/>
        <result property="joyCount" column="joyCount"/>
        <result property="joyAllCount" column="joyAllCount"/>
        <result property="joyTotal" column="joyTotal"/>
        <result property="joyName" column="joyName"/>
    </resultMap>
@@ -175,7 +180,10 @@
               leavediagname,
               leaveicd10code,
               orgid,
               visit_type
               visit_type,
               management_doctor,
               management_doctor_code,
               task_situation
        from service_subtask
    </sql>
@@ -336,6 +344,8 @@
        <if test="sort != null  and sort==3">order by long_send_time desc</if>
        <if test="sort != null  and sort==5">order by admindate asc</if>
        <if test="sort != null  and sort==6">order by admindate desc</if>
        <if test="sort != null  and sort==7">order by visit_time asc</if>
        <if test="sort != null  and sort==8">order by visit_time desc</if>
        <!-- order by update_time desc,id desc -->
    </select>
@@ -577,6 +587,7 @@
            <if test="visitDeptName != null">visit_dept_name,</if>
            <if test="managementDoctorCode != null">management_doctor_code,</if>
            <if test="managementDoctor != null">management_doctor,</if>
            <if test="taskSituation != null">task_situation,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="sendname != null">#{sendname},</if>
@@ -660,6 +671,7 @@
            <if test="visitDeptName != null">#{visitDeptName},</if>
            <if test="managementDoctorCode != null">#{managementDoctorCode},</if>
            <if test="managementDoctor != null">#{managementDoctor},</if>
            <if test="taskSituation != null">#{taskSituation},</if>
        </trim>
    </insert>
@@ -748,6 +760,7 @@
            <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if>
            <if test="managementDoctorCode != null">management_doctor_code = #{managementDoctorCode},</if>
            <if test="managementDoctor != null">management_doctor=#{managementDoctor},</if>
            <if test="taskSituation != null">task_situation=#{taskSituation},</if>
        </trim>
        where id = #{id}
    </update>
@@ -837,6 +850,7 @@
            <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if>
            <if test="managementDoctorCode != null">management_doctor_code = #{managementDoctorCode},</if>
            <if test="managementDoctor != null">management_doctor=#{managementDoctor},</if>
            <if test="taskSituation != null">task_situation=#{taskSituation},</if>
        </trim>
        <where>
            <if test="patid != null ">and patid = #{patid}</if>
@@ -928,6 +942,7 @@
            <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if>
            <if test="managementDoctorCode != null">management_doctor_code = #{managementDoctorCode},</if>
            <if test="managementDoctor != null">management_doctor=#{managementDoctor},</if>
            <if test="taskSituation != null">task_situation=#{taskSituation},</if>
        </trim>
        where patid = #{patid} and taskid = #{taskid}
    </update>
@@ -1016,6 +1031,7 @@
            <if test="visitDeptName != null">visit_dept_name = #{visitDeptName},</if>
            <if test="managementDoctorCode != null">management_doctor_code = #{managementDoctorCode},</if>
            <if test="managementDoctor != null">management_doctor=#{managementDoctor},</if>
            <if test="taskSituation != null">task_situation=#{taskSituation},</if>
        </trim>
        where task_guid = #{taskGuid} and task_name = #{taskName}
    </update>
@@ -1070,6 +1086,118 @@
            <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
            <if test="visitDeptName != null">abd visit_dept_name = #{visitDeptName}</if>
        </where>
    </select>
    <select id="getSfStatisticsJoy" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
            resultMap="ServiceSubtaskResult2">
        SELECT sub_id as subTaskId,COUNT(sub_id) joyCount,
             (SELECT COUNT(1) FROM ivr_liba_target WHERE assortid IN (SELECT config_value FROM sys_config WHERE config_key='joyCount')) joyAllCount
        FROM service_subtask_detail a
        WHERE sub_id IN(SELECT id FROM service_subtask t
        <where>
            del_flag=0
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
                AND leavehospitaldistrictcode IN
                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
                         close=")">
                    #{leavehospitaldistrictcode}
                </foreach>
            </if>
            <if test="deptcodes != null and deptcodes.size() > 0">
                AND deptcode IN
                <foreach collection="deptcodes" item="deptcode" open="(" separator=","
                         close=")">
                    #{deptcode}
                </foreach>
            </if>
            <if test="serviceType != null and serviceType.size() > 0">
                AND service_type IN
                <foreach collection="serviceType" item="serviceType" open="(" separator=","
                         close=")">
                    #{serviceType}
                </foreach>
            </if>
            <if test="startTime != null and endTime!=null">
                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>
            <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
            <if test="visitDeptName != null">abd visit_dept_name = #{visitDeptName}</if>
        </where>
        )
        AND targetid IN ( SELECT id FROM ivr_liba_target WHERE assortid IN (SELECT config_value FROM sys_config WHERE config_key='joyCount'))
        GROUP BY sub_id
    </select>
    <select id="getSfStatisticsJoydetails" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
            resultMap="ServiceSubtaskResult2">
        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
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
                AND leavehospitaldistrictcode IN
                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
                         close=")">
                    #{leavehospitaldistrictcode}
                </foreach>
            </if>
            <if test="deptcodes != null and deptcodes.size() > 0">
                AND deptcode IN
                <foreach collection="deptcodes" item="deptcode" open="(" separator=","
                         close=")">
                    #{deptcode}
                </foreach>
            </if>
            <if test="serviceType != null and serviceType.size() > 0">
                AND service_type IN
                <foreach collection="serviceType" item="serviceType" open="(" separator=","
                         close=")">
                    #{serviceType}
                </foreach>
            </if>
            <if test="startTime != null and endTime!=null">
                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
        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">AND
            leavehospitaldistrictcode IN
            <foreach
                    collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
                     close=")">
                #{leavehospitaldistrictcode}
            </foreach>
        </if>
        <if test="deptcodes != null and deptcodes.size() > 0">
            AND deptcode IN
            <foreach collection="deptcodes" item="deptcode" open="(" separator=","
                     close=")">
                #{deptcode}
            </foreach>
        </if>
        <if test="serviceType != null and serviceType.size() > 0">
            AND service_type IN
            <foreach collection="serviceType" item="serviceType" open="(" separator=","
                     close=")">
                #{serviceType}
            </foreach>
        </if>
            <if test="startTime != null and endTime!=null">
                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=
        'joyCount')
        )a1
    </select>
    <select id="getDataByTime" resultMap="ServiceSubtaskResult">
@@ -1227,8 +1355,12 @@
        0 AS pmiCount,
        0 AS pmoCount
        FROM service_subtask
        WHERE visit_time BETWEEN #{startDate} AND #{endDate}
        AND del_flag = '0'
        WHERE
        del_flag = '0'
        <if test="startDate != null and endDate != null">
            and date_format(visit_time,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
            and date_format(visit_time,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
        </if>
        <if test="orgid != null">
            AND orgid = #{orgid}
@@ -1297,12 +1429,16 @@
        </choose>
        0 AS dischargeFollowCount,
        0 AS outpatientFollowCount,
        COUNT(DISTINCT patid) AS pmiCount,
        COUNT( patid) AS pmiCount,
        0 AS pmoCount
        FROM pat_med_inhosp
        WHERE endtime BETWEEN #{startDate} AND #{endDate}
        AND del_flag = '0'
        WHERE del_flag = '0'
        <if test="startDate != null and endDate != null">
            and date_format(endtime,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
            and date_format(endtime,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
        </if>
        AND inhospstate=1
        <if test="orgid != null">
            AND orgid = #{orgid}
        </if>
@@ -1364,11 +1500,13 @@
        0 AS dischargeFollowCount,
        0 AS outpatientFollowCount,
        0 AS pmiCount,
        COUNT(DISTINCT patid) AS pmoCount
        COUNT( patid) AS pmoCount
        FROM pat_med_outhosp
        WHERE admitdate BETWEEN #{startDate} AND #{endDate}
        AND del_flag = '0'
        WHERE del_flag = '0'
        <if test="startDate != null and endDate != null">
            and date_format(admitdate,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
            and date_format(admitdate,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
        </if>
        <if test="orgid != null">
            AND orgid = #{orgid}
        </if>