sinake
7 天以前 ae10df8ee9a966ad76280e4a7f696b1decfc1b85
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -72,11 +72,13 @@
        <result property="fuspecialadvice" column="fuspecialadvice"/>
        <result property="managementDoctor" column="management_doctor"/>
        <result property="managementDoctorCode" column="management_doctor_code"/>
        <result property="campusid" column="campusid"/>
    </resultMap>
    <sql id="selectPatMedInhospVo">
        select inhospid,
               patname,
               campusid,
               fuflag,
               management_doctor,
               management_doctor_code,
@@ -169,6 +171,7 @@
        b.starttime,
        b.endtime,
        b.deptcode,
        b.campusid,
        b.deptname,
        b.roomno,
        b.bed_no,
@@ -210,7 +213,7 @@
        JOIN
        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)
        pat_archivetag c ON c.patid = a.id AND (c.del_flag = 0 OR c.del_flag IS NULL)
        <where>
            a.del_flag = 0
            AND b.del_flag = 0
@@ -249,8 +252,9 @@
            <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
            <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
            <if test="cry != null and cry == 0 ">and b.endtime is null</if>
            <if test="cry != null and cry == 1 ">and b.endtime is not null</if>
            <if test="cry != null and cry == 1 ">and b.inhospstate=1</if>
            <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if>
            <if test="campusid != null ">and b.campusid = #{campusid}</if>
            <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if>
            <if test="outWayId != null ">and b.out_way_id = #{outWayId}</if>
            <if test="outWayName != null ">and b.out_way_name = #{outWayName}</if>
@@ -300,6 +304,80 @@
            order by b.starttime desc
        </if>
    </select>
    <select id="selectPatMedInhospListBySerialnum" parameterType="com.smartor.domain.PatMedInhosp"
            resultMap="PatMedInhospResult">
        select
        b.inhospid,
        b.nurse_id,
        b.nurse_name,
        b.patname,
        b.management_doctor,
        b.management_doctor_code,
        b.out_way_id,
        b.campusid,
        b.out_way_name,
        b.deptcheck_flag,
        b.wardcheck_flag,
        b.diagcheck_flag,
        b.inhospstate,
        b.patno,
        b.inhospno,
        b.serialnum,
        b.hospitalname,
        b.hospitalcode,
        b.hospitaldistrictcode,
        b.hospitaldistrictname,
        b.icd10code,
        b.diagname,
        b.starttime,
        b.endtime,
        b.deptcode,
        b.deptname,
        b.roomno,
        b.bed_no,
        b.orgid,
        b.del_flag,
        b.update_by,
        b.update_time,
        b.create_by,
        b.create_time,
        b.isupload,
        b.upload_time,
        b.patid,
        b.leavediagname,
        b.leaveicd10code,
        b.drcode,
        b.drname,
        b.schemestatus,
        b.generalschemestatus,
        b.leaveldeptcode,
        b.leaveldeptname,
        b.hospitaldistrictid,
        b.leavehospitaldistrictcode,
        b.leavehospitaldistrictname,
        b.leavehospitaldistrictid,
        b.deptid,
        b.leaveldeptid,
        b.long_task_reason,
        b.schemetime,
        b.fuflag,
        b.fudate,
        b.fuperiod,
        b.futypecode,
        b.futypedesc,
        b.fuadvice,
        b.fuspecialadvice
        FROM
        pat_med_inhosp b
        <where>
            <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
        </where>
        order by b.inhospid desc
    </select>
    <select id="selectPatMedInhospListByCondition" parameterType="com.smartor.domain.PatMedInhospVO"
            resultMap="PatMedInhospResult">
        select CONCAT( a.age, a.age_unit ) AS age,
@@ -310,14 +388,15 @@
        b.patname,
        b.operator_id,
        b.operator,
        b.campusid,
        b.remark,
        b.out_way_id,
        b.out_way_name,
        b.nurse_id,
        b.nurse_name,
        b.deptcheckFlag,
        b.diagcheckFlag,
        b.wardcheckFlag,
        b.deptcheck_flag,
        b.diagcheck_flag,
        b.wardcheck_flag,
        b.inhospstate,
        b.patno,
        b.inhospno,
@@ -364,7 +443,7 @@
        b.futypecode,
        b.futypedesc,
        b.fuadvice,
        b.fuspecialadvice
        b.fuspecialadvice,
        b.schemetime
        FROM
        pat_med_inhosp b,
@@ -384,10 +463,12 @@
                concat('%', #{hospitaldistrictname}, '%')
            </if>
            <if test="endtime != null ">and b.endtime = #{endtime}</if>
            <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
            <if test="fuflag != null ">and b.fuflag = #{fuflag}</if>
            <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if>
            <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if>
            <if test="patno != null ">and b.patno = #{patno}</if>
            <if test="campusid != null ">and b.campusid = #{campusid}</if>
            <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
            <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if>
            <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
@@ -415,6 +496,7 @@
        order by b.inhospid desc
    </select>
    <select id="getTagnameBypatid" parameterType="Long" resultType="string">
        SELECT GROUP_CONCAT(d.tagname, ', ')
        FROM pat_archivetag d
@@ -426,6 +508,74 @@
    <select id="selectPatMedInhospByInhospid" parameterType="Long" resultMap="PatMedInhospResult">
        <include refid="selectPatMedInhospVo"/>
        where inhospid = #{inhospid}
    </select>
    <select id="selectPatMedInhosp" parameterType="Long" resultMap="PatMedInhospResult">
        <include refid="selectPatMedInhospVo"/>
        where del_flag=0
        <if test="cry != null and cry == 0 ">and endtime is null</if>
        <if test="cry != null and cry == 1 ">and inhospstate=1</if>
        <if test="serialnum != null">and serialnum = #{serialnum}</if>
        <if test="hospitalname != null">and hospitalname = #{hospitalname}</if>
        <if test="hospitalcode != null">and hospitalcode = #{hospitalcode}</if>
        <if test="hospitaldistrictcode != null">and hospitaldistrictcode = #{hospitaldistrictcode}</if>
        <if test="hospitaldistrictname != null">and hospitaldistrictname = #{hospitaldistrictname}</if>
        <if test="icd10code != null">and icd10code = #{icd10code}</if>
        <if test="diagname != null">and diagname = #{diagname}</if>
        <if test="starttime != null">and starttime = #{starttime}</if>
        <if test="endtime != null">and endtime = #{endtime}</if>
        <if test="deptcode != null">and deptcode = #{deptcode}</if>
        <if test="deptname != null">and deptname = #{deptname}</if>
        <if test="roomno != null">and roomno = #{roomno}</if>
        <if test="bedNo != null">and bed_no = #{bedNo}</if>
        <if test="orgid != null">and orgid = #{orgid}</if>
        <if test="updateBy != null">and update_by = #{updateBy}</if>
        <if test="updateTime != null">and update_time = #{updateTime}</if>
        <if test="createBy != null">and create_by = #{createBy}</if>
        <if test="createTime != null">and create_time = #{createTime}</if>
        <if test="isupload != null">and isupload = #{isupload}</if>
        <if test="uploadTime != null">and upload_time = #{uploadTime}</if>
        <if test="patid != null">and patid = #{patid}</if>
        <if test="leavediagname != null">and leavediagname = #{leavediagname}</if>
        <if test="leaveicd10code != null">and leaveicd10code = #{leaveicd10code}</if>
        <if test="drcode != null">and drcode = #{drcode}</if>
        <if test="drname != null">and drname = #{drname}</if>
        <if test="schemestatus != null">and schemestatus = #{schemestatus}</if>
        <if test="generalschemestatus != null">and generalschemestatus = #{generalschemestatus}</if>
        <if test="leaveldeptcode != null">and leaveldeptcode = #{leaveldeptcode}</if>
        <if test="leaveldeptname != null">and leaveldeptname = #{leaveldeptname}</if>
        <if test="hospitaldistrictid != null">and hospitaldistrictid = #{hospitaldistrictid}</if>
        <if test="leavehospitaldistrictcode != null">and leavehospitaldistrictcode = #{leavehospitaldistrictcode}</if>
        <if test="leavehospitaldistrictname != null">and leavehospitaldistrictname = #{leavehospitaldistrictname}</if>
        <if test="leavehospitaldistrictid != null">and leavehospitaldistrictid = #{leavehospitaldistrictid}</if>
        <if test="deptid != null">and deptid = #{deptid}</if>
        <if test="leaveldeptid != null">and leaveldeptid = #{leaveldeptid}</if>
        <if test="schemetime != null">and schemetime = #{schemetime}</if>
        <if test="patname!= null">and patname = #{patname}</if>
        <if test="patno != null">and patno = #{patno}</if>
        <if test="inhospstate != null">and inhospstate = #{inhospstate}</if>
        <if test="deptcheckFlag != null">and deptcheck_flag = #{deptcheckFlag}</if>
        <if test="wardcheckFlag != null">and wardcheck_flag = #{wardcheckFlag}</if>
        <if test="diagcheckFlag != null">and diagcheck_flag = #{diagcheckFlag}</if>
        <if test="longTaskReason != null">and long_task_reason = #{longTaskReason}</if>
        <if test="nurseId != null ">and nurse_id = #{nurseId}</if>
        <if test="nurseName != null ">and nurse_name = #{nurseName}</if>
        <if test="outWayId != null ">and out_way_id = #{outWayId}</if>
        <if test="outWayName != null ">and out_way_name = #{outWayName}</if>
        <if test="guid != null ">and guid = #{guid}</if>
        <if test="operator != null ">and operator = #{operator}</if>
        <if test="operatorId != null ">and operator_id = #{operatorId}</if>
        <if test="remark != null ">and remark = #{remark}</if>
        <if test="fuflag != null ">and fuflag = #{fuflag}</if>
        <if test="fudate != null ">and fudate = #{fudate}</if>
        <if test="fuperiod != null ">and fuperiod = #{fuperiod}</if>
        <if test="futypecode != null ">and futypecode = #{futypecode}</if>
        <if test="futypedesc != null ">and futypedesc = #{futypedesc}</if>
        <if test="fuadvice != null ">and fuadvice = #{fuadvice}</if>
        <if test="fuspecialadvice != null ">and fuspecialadvice = #{fuspecialadvice}</if>
        <if test="managementDoctor != null ">and management_doctor = #{managementDoctor}</if>
        <if test="managementDoctorCode != null ">and management_doctor_code = #{managementDoctorCode}</if>
        <if test="campusid != null ">and campusid = #{campusid}</if>
    </select>
@@ -495,6 +645,7 @@
            <if test="fuspecialadvice != null ">fuspecialadvice,</if>
            <if test="managementDoctor != null ">management_doctor,</if>
            <if test="managementDoctorCode != null ">management_doctor_code,</if>
            <if test="campusid != null ">campusid,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="serialnum != null">#{serialnum},</if>
@@ -559,6 +710,7 @@
            <if test="fuspecialadvice != null ">#{fuspecialadvice},</if>
            <if test="managementDoctor != null ">#{managementDoctor},</if>
            <if test="managementDoctorCode != null ">#{managementDoctorCode},</if>
            <if test="campusid != null ">#{campusid},</if>
        </trim>
    </insert>
@@ -576,7 +728,8 @@
        deptcheck_flag, wardcheck_flag, diagcheck_flag, long_task_reason,
        nurse_id, nurse_name, out_way_id, out_way_name, guid,
        operator, operator_id, inhospno, remark,
        fuflag, fudate, fuperiod, futypecode, futypedesc, fuadvice, fuspecialadvice, management_doctor, management_doctor_doctor
        fuflag, fudate, fuperiod, futypecode, futypedesc, fuadvice, fuspecialadvice, management_doctor,
        management_doctor_doctor,campusid
        )
        values
        <foreach collection="list" item="item" separator=",">
@@ -598,7 +751,7 @@
            #{item.nurseId}, #{item.nurseName}, #{item.outWayId}, #{item.outWayName}, #{item.guid},
            #{item.operator}, #{item.operatorId}, #{item.inhospno}, #{item.remark},
            #{item.fuflag}, #{item.fudate}, #{item.fuperiod}, #{item.futypecode}, #{item.futypedesc}, #{item.fuadvice},
            #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}
            #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}
            )
        </foreach>
    </insert>
@@ -667,7 +820,8 @@
            <if test="fuadvice != null ">fuadvice = #{fuadvice},</if>
            <if test="fuspecialadvice != null ">fuspecialadvice = #{fuspecialadvice},</if>
            <if test="managementDoctor != null ">management_doctor = #{managementDoctor},</if>
            <if test="managementDoctorCode != null ">management_doctor_code = #{managementDoctorCode}</if>
            <if test="managementDoctorCode != null ">management_doctor_code = #{managementDoctorCode},</if>
            <if test="campusid != null ">campusid = #{campusid}</if>
        </trim>
        where inhospid = #{inhospid}
@@ -764,22 +918,60 @@
    </select>
    <select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq"
            resultType="com.smartor.domain.PatMedRes">
        SELECT SUM( rs ) AS rs,
        SUM( rc ) AS rc
        FROM (
        SELECT
        COUNT(1) AS rc,
        COUNT(DISTINCT patid) AS rs
        0 AS rs
        FROM
        pat_med_inhosp
        <where>
            del_flag=0
            <if test="orgid != null">
                AND orgid = #{orgid}
            </if>
            <if test="zy != null">
                and inhospstate=0
                and date_format(starttime,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
                and date_format(starttime,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
                <if test="deptcodeList != null   and deptcodeList.size() > 0">
                    and deptcode in
                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                        #{deptcode}
                    </foreach>
                </if>
            </if>
            <if test="cy != null">
                and inhospstate=1
                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 test="deptcodeList != null   and deptcodeList.size() > 0">
                    and leaveldeptcode in
                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                        #{deptcode}
                    </foreach>
                </if>
            </if>
        </where>
        union all
        select
        0 AS rc,
        count(1) AS rs
        FROM
        service_subtask
        <where>
            del_flag = 0
            and service_type=2
            <if test="orgid != null">
                AND orgid = #{orgid}
            </if>
            <if test="startDate != null">
                AND date_format( visit_time, '%y%m%d' ) &gt;= date_format( #{startDate}, '%y%m%d' )
            </if>
            <if test="endDate != null">
                AND date_format( visit_time, '%y%m%d' ) &lt;= date_format(#{endDate},'%y%m%d')
            </if>
            <if test="deptcodeList != null   and deptcodeList.size() > 0">
                and deptcode in
@@ -788,5 +980,6 @@
                </foreach>
            </if>
        </where>
        ) AS combined_data
    </select>
</mapper>