liusheng
8 天以前 c111e3eff1191b29d2d2baf2f485a4bf3a2edc00
smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
@@ -33,11 +33,16 @@
        <result property="outhospno" column="outhospno"/>
        <result property="patname" column="patname"/>
        <result property="category" column="category"/>
        <result property="patno" column="patno"/>
        <result property="sex" column="sex"/>
        <result property="telcode" column="telcode"/>
        <result property="age" column="age"/>
    </resultMap>
    <sql id="selectPatMedOuthospVo">
        select id,
               outhospno,
               patno,
               serialnum,
               patid,
               hospitalname,
@@ -69,19 +74,62 @@
    <select id="selectPatMedOuthospList" parameterType="com.smartor.domain.PatMedOuthosp"
            resultMap="PatMedOuthospResult">
        <include refid="selectPatMedOuthospVo"/>
        select b.id,
        CONCAT( a.age, a.age_unit ) AS age,
        a.telcode as telcode,
        a.sex,
        b.outhospno,
        b.patno,
        b.serialnum,
        b.patid,
        b.hospitalname,
        b.hospitalcode,
        b.icd10code,
        b.diagname,
        b.deptcode,
        b.deptname,
        b.drcode,
        b.drname,
        b.admitdate,
        b.orgid,
        b.del_flag,
        b.update_by,
        b.update_time,
        b.create_by,
        b.create_time,
        b.isupload,
        b.upload_time,
        b.schemestatus,
        b.deptid,
        b.schemetime,
        b.hpi,
        b.patname,
        b.category,
        b.mainsuit
        from pat_med_outhosp b left join pat_archive a on b.patid=a.id
        <where>
            a.del_flag = 0
            AND b.del_flag = 0
            AND a.idcardno IS NOT NULL
            <if test="hospitalname != null  and hospitalname != ''">and hospitalname like concat('%', #{hospitalname},
                '%')
            </if>
            <if test="deptname != null  and deptname != ''">and deptname like concat('%', #{deptname}, '%')</if>
            <if test="drname != null  and drname != ''">and drname like concat('%', #{drname}, '%')</if>
            <if test="admitdate != null ">and admitdate = #{admitdate}</if>
            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
            <if test="outhospno != null  and outhospno != ''">and outhospno = #{outhospno}</if>
            <if test="category != null  and category != ''">and category = #{category}</if>
            <if test="deptname != null  and deptname != ''">and b.deptname like concat('%', #{deptname}, '%')</if>
            <if test="patname != null  and patname != ''">and b.patname like concat('%', #{patname}, '%')</if>
            <if test="deptcode != null  and deptcode != ''">and b.deptcode =#{deptcode}</if>
            <if test="drname != null  and drname != ''">and b.drname like concat('%', #{drname}, '%')</if>
            <if test="starttime != null ">and b.admitdate &gt;=
                TO_DATE(#{starttime},'YYYY-MM-DD')
            </if>
            <if test="endtime != null ">and b.admitdate &lt;=
                TO_DATE(#{endtime},'YYYY-MM-DD')
            </if>
            <if test="orgid != null  and orgid != ''">and b.orgid = #{orgid}</if>
            <if test="outhospno != null  and outhospno != ''">and b.outhospno = #{outhospno}</if>
            <if test="category != null  and category != ''">and b.category = #{category}</if>
            <if test="patno != null  and patno != ''">and b.patno = #{patno}</if>
        </where>
        order by update_time desc
        order by b.admitdate desc
    </select>
    <select id="selectPatMedOuthospById" parameterType="Long" resultMap="PatMedOuthospResult">
@@ -120,6 +168,7 @@
            <if test="outhospno != null">outhospno,</if>
            <if test="patname != null">patname,</if>
            <if test="category != null">category,</if>
            <if test="patno != null">patno,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="serialnum != null">#{serialnum},</if>
@@ -149,6 +198,7 @@
            <if test="outhospno != null">#{outhospno},</if>
            <if test="patname != null">#{patname},</if>
            <if test="category != null">#{category},</if>
            <if test="patno != null">#{patno},</if>
        </trim>
    </insert>
@@ -182,6 +232,7 @@
            <if test="outhospno != null">outhospno = #{outhospno},</if>
            <if test="patname != null">patname = #{patname},</if>
            <if test="category != null">category = #{category},</if>
            <if test="patno != null">patno = #{patno},</if>
        </trim>
        where id = #{id}
    </update>
@@ -201,22 +252,55 @@
    <select id="selectPatMedOuthospCount" parameterType="com.smartor.domain.PatMedReq"
            resultType="com.smartor.domain.PatMedRes">
        SELECT SUM( rs ) AS rs,
        SUM( rc ) AS rc
        FROM (
        SELECT
        COUNT(id) AS rc,
        COUNT(DISTINCT patid) AS rs
        0 AS rs
        FROM
        pat_med_outhosp
        <where>
            del_flag=0
            and TO_DATE(admitdate,'YYYY-MM-DD') &gt;= TO_DATE(#{startDate},'YYYY-MM-DD')
            and TO_DATE(admitdate,'YYYY-MM-DD') &lt;= TO_DATE(#{endDate},'YYYY-MM-DD')
            <if test="deptcodeList != null">
            <if test="orgid != null">
                and orgid = #{orgid}
            </if>
            and admitdate &gt;= #{startDate}
            and admitdate &lt;= #{endDate}
            <if test="deptcodeList != null and deptcodeList.size()>0">
                and deptcode in
                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                    #{deptcode}
                </foreach>
            </if>
        </where>
        union all
        select
        0 AS rc,
        count(1) AS rs
        FROM
        service_subtask
        <where>
            del_flag = 0
            and service_type=3
            <if test="orgid != null">
                and orgid = #{orgid}
            </if>
            <if test="startDate != null">
                and visit_time &gt;=#{startDate}
            </if>
            <if test="endDate != null">
                and visit_time &lt;= #{endDate}
            </if>
            <if test="deptcodeList != null and deptcodeList.size()>0">
                and deptcode in
                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                    #{deptcode}
                </foreach>
            </if>
        </where>
        ) AS combined_data
    </select>
    <select id="selectAdmitdateMax" resultType="java.util.Date">