陈昶聿
6 天以前 987e38327f849e1b13d8541246dde08d877db0e8
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -214,28 +214,30 @@
        pat_archive a ON a.id = b.patid
        LEFT JOIN
        pat_archivetag c ON c.patid = a.id AND (c.del_flag = 0 OR c.del_flag IS NULL)
        <where>
            a.del_flag = 0
        WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
            AND a.del_flag = 0
            AND b.del_flag = 0
            AND a.idcardno IS NOT NULL
            <if test="startOutHospTime != null ">and date_format(b.endtime,'%y%m%d') &gt;=
                date_format(#{startOutHospTime},'%y%m%d')
                AND date_format(#{startOutHospTime},'%y%m%d')
            </if>
            <if test="endOutHospTime != null ">and date_format(b.endtime,'%y%m%d') &lt;=
                date_format(#{endOutHospTime},'%y%m%d')
                AND date_format(#{endOutHospTime},'%y%m%d')
            </if>
            <if test="startInHospTime != null ">and date_format(b.starttime,'%y%m%d') &gt;=
                date_format(#{startInHospTime},'%y%m%d')
                AND date_format(#{startInHospTime},'%y%m%d')
            </if>
            <if test="endInHospTime != null ">and date_format(b.starttime,'%y%m%d') &lt;=
                date_format(#{endInHospTime},'%y%m%d')
                AND date_format(#{endInHospTime},'%y%m%d')
            </if>
            <if test="hospitalname != null  and hospitalname != ''">and hospitalname like concat('%', #{hospitalname},
                '%')
            <if test="hospitalname != null  and hospitalname != ''">
                and hospitalname like concat('%', #{hospitalname},'%')
            </if>
            <if test="patname != null  and patname != ''">and patname like concat('%', #{patname}, '%')</if>
            <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">and hospitaldistrictname like
                concat('%', #{hospitaldistrictname}, '%')
            <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">
                and hospitaldistrictname like concat('%', #{hospitaldistrictname}, '%')
            </if>
            <if test="endtime != null ">and b.endtime = #{endtime}</if>
            <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if>
@@ -272,24 +274,24 @@
            <if test="patid != null  and patid != ''">and a.id =#{patid}
            </if>
            <if test="leavehospitaldistrictname != null  and leavehospitaldistrictname != ''">and
                b.leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%')
                AND b.leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%')
            </if>
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0">
                AND b.leavehospitaldistrictcode IN
                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
                         close=")">
                         AND close=")">
                    #{leavehospitaldistrictcode}
                </foreach>
            </if>
            <if test="leaveldeptcodes != null and leaveldeptcodes.size()>0">
                AND b.leaveldeptcode IN
                <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
                         close=")">
                         AND close=")">
                    #{leaveldeptcode}
                </foreach>
            </if>
        </where>
        GROUP BY
        b.inhospid,
        a.age,
@@ -371,10 +373,12 @@
        FROM
        pat_med_inhosp b
        <where>
        WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
            <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
        </where>
        order by b.inhospid desc
    </select>
@@ -448,19 +452,21 @@
        FROM
        pat_med_inhosp b,
        pat_archive a
        <where>
            a.del_flag=0
        WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
            AND a.del_flag=0
            and b.del_flag=0
            and a.id = b.patid
            AND a.idcardno != ''
            <if test="hospitalname != null  and hospitalname != ''">and hospitalname like concat('%', #{hospitalname},
                '%')
            <if test="hospitalname != null  and hospitalname != ''">
                and hospitalname like concat('%', #{hospitalname},'%')
            </if>
            <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if>
            <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if>
            <if test="patname != null  and patname != ''">and patname like concat('%', #{patname}, '%')</if>
            <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">and hospitaldistrictname like
                concat('%', #{hospitaldistrictname}, '%')
            <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">
                and hospitaldistrictname like concat('%', #{hospitaldistrictname}, '%')
            </if>
            <if test="endtime != null ">and b.endtime = #{endtime}</if>
            <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
@@ -481,18 +487,18 @@
            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0">
                AND b.leavehospitaldistrictcode IN
                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
                         close=")">
                         AND close=")">
                    #{leavehospitaldistrictcode}
                </foreach>
            </if>
            <if test="leaveldeptcodes != null and leaveldeptcodes.size()>0">
                AND b.leaveldeptcode IN
                <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
                         close=")">
                         AND close=")">
                    #{leaveldeptcode}
                </foreach>
            </if>
        </where>
        order by b.inhospid desc
    </select>
@@ -857,15 +863,17 @@
        <if test="mz != null">
            SELECT deptname
            FROM pat_med_outhosp
            <where>
                del_flag=0
            WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
                AND del_flag=0
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                        #{deptcode}
                    #{deptcode}
                    </foreach>
                </if>
            </where>
        </if>
        <if test="mz != null and zy != null">
            UNION ALL
@@ -873,46 +881,52 @@
        <if test="zy != null">
            SELECT deptname
            FROM pat_med_inhosp
            <where>
                del_flag=0
            WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
                AND del_flag=0
                and inhospstate=0
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                        #{deptcode}
                    #{deptcode}
                    </foreach>
                </if>
            </where>
        </if>
        <if test="cy != null and zy != null">
            UNION ALL
            SELECT deptname
            FROM pat_med_inhosp
            <where>
                del_flag=0
            WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
                AND del_flag=0
                and inhospstate=1
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                        #{deptcode}
                    #{deptcode}
                    </foreach>
                </if>
            </where>
        </if>
        <if test="mz != null and zy != null and cy==null">
            UNION ALL
            SELECT deptname
            FROM pat_med_inhosp
            <where>
                del_flag=0
            WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
                AND del_flag=0
                and inhospstate=1
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                        #{deptcode}
                    #{deptcode}
                    </foreach>
                </if>
            </where>
        </if>
        ) AS combined
        GROUP BY deptname;
@@ -934,8 +948,10 @@
        0 AS zbsf
        FROM
        pat_med_inhosp
        <where>
            del_flag=0
        WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
            AND del_flag=0
            <if test="orgid != null">
                AND orgid = #{orgid}
            </if>
@@ -946,7 +962,7 @@
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                        #{deptcode}
                    #{deptcode}
                    </foreach>
                </if>
            </if>
@@ -957,11 +973,11 @@
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and leaveldeptcode in
                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                        #{deptcode}
                    #{deptcode}
                    </foreach>
                </if>
            </if>
        </where>
        <!-- 随访服务人数 -->
        union all
        select
@@ -972,8 +988,10 @@
        0 AS zbsf
        FROM
        service_subtask
        <where>
            del_flag = 0
        WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
            AND del_flag = 0
            and service_type=2
            <if test="orgid != null">
                AND orgid = #{orgid}
@@ -990,7 +1008,7 @@
                    #{deptcode}
                </foreach>
            </if>
        </where>
        <!-- 首次随访人数 -->
        union all
        select
@@ -1001,8 +1019,10 @@
        0 AS zbsf
        FROM
        service_subtask
        <where>
            del_flag = 0
        WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
            AND del_flag = 0
            and service_type=2
            and is_visit_again = 0
            <if test="orgid != null">
@@ -1020,7 +1040,7 @@
                    #{deptcode}
                </foreach>
            </if>
        </where>
        <!-- 再次随访人数 -->
        union all
        select
@@ -1031,8 +1051,10 @@
        0 AS zbsf
        FROM
        service_subtask
        <where>
            del_flag = 0
        WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
            AND del_flag = 0
            and service_type=2
            and is_visit_again = 1
            <if test="orgid != null">
@@ -1050,7 +1072,7 @@
                    #{deptcode}
                </foreach>
            </if>
        </where>
        <!-- 专病随访人数 -->
        union all
        select
@@ -1061,8 +1083,10 @@
        count(1) AS zbsf
        FROM
        service_subtask
        <where>
            del_flag = 0
        WHERE 1=1
            <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
            AND del_flag = 0
            and service_type=13
            <if test="orgid != null">
                AND orgid = #{orgid}
@@ -1079,7 +1103,7 @@
                    #{deptcode}
                </foreach>
            </if>
        </where>
        ) AS combined_data
    </select>