陈昶聿
5 天以前 ec23ec3d3dc4ec1ba7d79ba4f46ae2c31d5a16a9
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -214,28 +214,29 @@
        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
            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},
                '%')
                AND '%')
            </if>
            <if test="patname != null  and patname != ''">and patname like concat('%', #{patname}, '%')</if>
            <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">and hospitaldistrictname like
                concat('%', #{hospitaldistrictname}, '%')
                AND concat('%', #{hospitaldistrictname}, '%')
            </if>
            <if test="endtime != null ">and b.endtime = #{endtime}</if>
            <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if>
@@ -272,24 +273,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 +372,11 @@
        FROM
        pat_med_inhosp b
        <where>
        WHERE 1=1
            <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
        </where>
        order by b.inhospid desc
    </select>
@@ -448,19 +450,20 @@
        FROM
        pat_med_inhosp b,
        pat_archive a
        <where>
            a.del_flag=0
        WHERE 1=1
            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},
                '%')
                AND '%')
            </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}, '%')
                AND concat('%', #{hospitaldistrictname}, '%')
            </if>
            <if test="endtime != null ">and b.endtime = #{endtime}</if>
            <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
@@ -481,18 +484,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 +860,16 @@
        <if test="mz != null">
            SELECT deptname
            FROM pat_med_outhosp
            <where>
                del_flag=0
            WHERE 1=1
                AND del_flag=0
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                        #{deptcode}
                    </foreach>
                </if>
            </where>
        </if>
        <if test="mz != null and zy != null">
            UNION ALL
@@ -873,8 +877,9 @@
        <if test="zy != null">
            SELECT deptname
            FROM pat_med_inhosp
            <where>
                del_flag=0
            WHERE 1=1
                AND del_flag=0
                and inhospstate=0
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
@@ -882,14 +887,15 @@
                        #{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
                AND del_flag=0
                and inhospstate=1
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
@@ -897,14 +903,15 @@
                        #{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
                AND del_flag=0
                and inhospstate=1
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
@@ -912,7 +919,7 @@
                        #{deptcode}
                    </foreach>
                </if>
            </where>
        </if>
        ) AS combined
        GROUP BY deptname;
@@ -934,8 +941,9 @@
        0 AS zbsf
        FROM
        pat_med_inhosp
        <where>
            del_flag=0
        WHERE 1=1
            AND del_flag=0
            <if test="orgid != null">
                AND orgid = #{orgid}
            </if>
@@ -961,7 +969,7 @@
                    </foreach>
                </if>
            </if>
        </where>
        <!-- 随访服务人数 -->
        union all
        select
@@ -972,8 +980,9 @@
        0 AS zbsf
        FROM
        service_subtask
        <where>
            del_flag = 0
        WHERE 1=1
            AND del_flag = 0
            and service_type=2
            <if test="orgid != null">
                AND orgid = #{orgid}
@@ -990,7 +999,7 @@
                    #{deptcode}
                </foreach>
            </if>
        </where>
        <!-- 首次随访人数 -->
        union all
        select
@@ -1001,8 +1010,9 @@
        0 AS zbsf
        FROM
        service_subtask
        <where>
            del_flag = 0
        WHERE 1=1
            AND del_flag = 0
            and service_type=2
            and is_visit_again = 0
            <if test="orgid != null">
@@ -1020,7 +1030,7 @@
                    #{deptcode}
                </foreach>
            </if>
        </where>
        <!-- 再次随访人数 -->
        union all
        select
@@ -1031,8 +1041,9 @@
        0 AS zbsf
        FROM
        service_subtask
        <where>
            del_flag = 0
        WHERE 1=1
            AND del_flag = 0
            and service_type=2
            and is_visit_again = 1
            <if test="orgid != null">
@@ -1050,7 +1061,7 @@
                    #{deptcode}
                </foreach>
            </if>
        </where>
        <!-- 专病随访人数 -->
        union all
        select
@@ -1061,8 +1072,9 @@
        count(1) AS zbsf
        FROM
        service_subtask
        <where>
            del_flag = 0
        WHERE 1=1
            AND del_flag = 0
            and service_type=13
            <if test="orgid != null">
                AND orgid = #{orgid}
@@ -1079,7 +1091,7 @@
                    #{deptcode}
                </foreach>
            </if>
        </where>
        ) AS combined_data
    </select>