From 907641e56c2085aaa81f267946dc3e3e9fca73e7 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 18 九月 2024 09:39:02 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 489 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 424 insertions(+), 65 deletions(-) diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml index 811c5e4..079bde5 100644 --- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml @@ -1,73 +1,307 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.smartor.mapper.PatMedInhospMapper"> - - <resultMap type="PatMedInhosp" id="PatMedInhospResult"> - <result property="inhospid" column="inhospid" /> - <result property="serialnum" column="serialnum" /> - <result property="hospitalname" column="hospitalname" /> - <result property="hospitalcode" column="hospitalcode" /> - <result property="hospitaldistrictcode" column="hospitaldistrictcode" /> - <result property="hospitaldistrictname" column="hospitaldistrictname" /> - <result property="icd10code" column="icd10code" /> - <result property="diagname" column="diagname" /> - <result property="starttime" column="starttime" /> - <result property="endtime" column="endtime" /> - <result property="deptcode" column="deptcode" /> - <result property="deptname" column="deptname" /> - <result property="roomno" column="roomno" /> - <result property="bedno" column="bedno" /> - <result property="orgid" column="orgid" /> - <result property="delFlag" column="del_flag" /> - <result property="updateBy" column="update_by" /> - <result property="updateTime" column="update_time" /> - <result property="createBy" column="create_by" /> - <result property="createTime" column="create_time" /> - <result property="isupload" column="isupload" /> - <result property="uploadTime" column="upload_time" /> - <result property="patid" column="patid" /> - <result property="leavediagname" column="leavediagname" /> - <result property="leaveicd10code" column="leaveicd10code" /> - <result property="drcode" column="drcode" /> - <result property="drname" column="drname" /> - <result property="schemestatus" column="schemestatus" /> - <result property="generalschemestatus" column="generalschemestatus" /> - <result property="leaveldeptcode" column="leaveldeptcode" /> - <result property="leaveldeptname" column="leaveldeptname" /> - <result property="hospitaldistrictid" column="hospitaldistrictid" /> - <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode" /> - <result property="leavehospitaldistrictname" column="leavehospitaldistrictname" /> - <result property="leavehospitaldistrictid" column="leavehospitaldistrictid" /> - <result property="deptid" column="deptid" /> - <result property="leaveldeptid" column="leaveldeptid" /> - <result property="schemetime" column="schemetime" /> + + <resultMap type="com.smartor.domain.PatMedInhosp" id="PatMedInhospResult"> + <result property="inhospid" column="inhospid"/> + <result property="inhospno" column="inhospno"/> + <result property="serialnum" column="serialnum"/> + <result property="hospitalname" column="hospitalname"/> + <result property="hospitalcode" column="hospitalcode"/> + <result property="hospitaldistrictcode" column="hospitaldistrictcode"/> + <result property="hospitaldistrictname" column="hospitaldistrictname"/> + <result property="icd10code" column="icd10code"/> + <result property="diagname" column="diagname"/> + <result property="starttime" column="starttime"/> + <result property="endtime" column="endtime"/> + <result property="deptcode" column="deptcode"/> + <result property="deptname" column="deptname"/> + <result property="roomno" column="roomno"/> + <result property="bedNo" column="bed_no"/> + <result property="orgid" column="orgid"/> + <result property="delFlag" column="del_flag"/> + <result property="updateBy" column="update_by"/> + <result property="updateTime" column="update_time"/> + <result property="createBy" column="create_by"/> + <result property="createTime" column="create_time"/> + <result property="isupload" column="isupload"/> + <result property="uploadTime" column="upload_time"/> + <result property="patid" column="patid"/> + <result property="leavediagname" column="leavediagname"/> + <result property="leaveicd10code" column="leaveicd10code"/> + <result property="drcode" column="drcode"/> + <result property="drname" column="drname"/> + <result property="schemestatus" column="schemestatus"/> + <result property="generalschemestatus" column="generalschemestatus"/> + <result property="leaveldeptcode" column="leaveldeptcode"/> + <result property="leaveldeptname" column="leaveldeptname"/> + <result property="hospitaldistrictid" column="hospitaldistrictid"/> + <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/> + <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/> + <result property="leavehospitaldistrictid" column="leavehospitaldistrictid"/> + <result property="deptid" column="deptid"/> + <result property="leaveldeptid" column="leaveldeptid"/> + <result property="schemetime" column="schemetime"/> + <result property="patname" column="patname"/> + <result property="patno" column="patno"/> + <result property="inhospstate" column="inhospstate"/> + <result property="checkFlag" column="check_flag"/> + <result property="age" column="age"/> + <result property="telcode" column="telcode"/> + <result property="longTaskReason" column="long_task_reason"/> + <result property="nurseId" column="nurse_id"/> + <result property="nurseName" column="nurse_name"/> + <result property="outWayId" column="out_way_id"/> + <result property="outWayName" column="out_way_name"/> </resultMap> <sql id="selectPatMedInhospVo"> - select inhospid, serialnum, hospitalname, hospitalcode, hospitaldistrictcode, hospitaldistrictname, icd10code, diagname, starttime, endtime, deptcode, deptname, roomno, bedno, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, patid, leavediagname, leaveicd10code, drcode, drname, schemestatus, generalschemestatus, leaveldeptcode, leaveldeptname, hospitaldistrictid, leavehospitaldistrictcode, leavehospitaldistrictname, leavehospitaldistrictid, deptid, leaveldeptid, schemetime from pat_med_inhosp + select inhospid, + patname, + out_way_id, + out_way_name, + nurse_id, + nurse_name, + check_flag, + inhospstate, + patno, + long_task_reason, + inhospno, + serialnum, + hospitalname, + hospitalcode, + hospitaldistrictcode, + hospitaldistrictname, + icd10code, + diagname, + starttime, + endtime, + deptcode, + deptname, + roomno, + bed_no, + orgid, + del_flag, + update_by, + update_time, + create_by, + create_time, + isupload, + upload_time, + patid, + leavediagname, + leaveicd10code, + drcode, + drname, + schemestatus, + generalschemestatus, + leaveldeptcode, + leaveldeptname, + hospitaldistrictid, + leavehospitaldistrictcode, + leavehospitaldistrictname, + leavehospitaldistrictid, + deptid, + leaveldeptid, + schemetime + from pat_med_inhosp </sql> - <select id="selectPatMedInhospList" parameterType="PatMedInhosp" resultMap="PatMedInhospResult"> - <include refid="selectPatMedInhospVo"/> - <where> - <if test="hospitalname != null and hospitalname != ''"> and hospitalname like concat('%', #{hospitalname}, '%')</if> - <if test="hospitaldistrictname != null and hospitaldistrictname != ''"> and hospitaldistrictname like concat('%', #{hospitaldistrictname}, '%')</if> - <if test="endtime != null "> and endtime = #{endtime}</if> - <if test="leavediagname != null and leavediagname != ''"> and leavediagname like concat('%', #{leavediagname}, '%')</if> - <if test="drname != null and drname != ''"> and drname like concat('%', #{drname}, '%')</if> - <if test="leaveldeptname != null and leaveldeptname != ''"> and leaveldeptname like concat('%', #{leaveldeptname}, '%')</if> - <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''"> and leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%')</if> + <select id="selectPatMedInhospList" parameterType="com.smartor.domain.PatMedInhosp" resultMap="PatMedInhospResult"> + select CONCAT( a.age, a.age_unit ) AS age, + a.telcode as telcode, + b.inhospid, + b.nurse_id, + b.nurse_name, + b.patname, + b.out_way_id, + b.out_way_name, + b.check_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 + FROM + pat_med_inhosp b, + pat_archive a + <where> + 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> + <if test="patname != null and patname != ''">and patname like concat('%', #{patname}, '%')</if> + <if test="hospitaldistrictname != null and hospitaldistrictname != ''">and hospitaldistrictname like + concat('%', #{hospitaldistrictname}, '%') + </if> + <if test="endtime != null ">and b.endtime = #{endtime}</if> + <if test="patno != null ">and b.patno = #{patno}</if> + <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if> + <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if> + <if test="checkFlag != null ">and b.check_flag = #{checkFlag}</if> + <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</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> + <if test="leavediagname != null and leavediagname != ''">and b.leavediagname like concat('%', + #{leavediagname}, '%') + </if> + <if test="drname != null and drname != ''">and b.drname like concat('%', #{drname}, '%')</if> + <if test="leaveldeptname != null and leaveldeptname != ''">and b.leaveldeptname like concat('%', + #{leaveldeptname}, '%') + </if> + <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and + b.leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%') + </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, + a.telcode as telcode, + b.inhospid, + b.patname, + b.out_way_id, + b.out_way_name, + b.nurse_id, + b.nurse_name, + b.check_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 + FROM + pat_med_inhosp b, + pat_archive a + <where> + 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> + <if test="patname != null and patname != ''">and patname like concat('%', #{patname}, '%')</if> + <if test="hospitaldistrictname != null and hospitaldistrictname != ''">and hospitaldistrictname like + concat('%', #{hospitaldistrictname}, '%') + </if> + <if test="endtime != null ">and b.endtime = #{endtime}</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="checkFlag != null ">and b.check_flag = #{checkFlag}</if> + <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if> + <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if> + <if test="leavediagname != null and leavediagname != ''">and b.leavediagname like concat('%', + #{leavediagname}, '%') + </if> + <if test="drname != null and drname != ''">and b.drname like concat('%', #{drname}, '%')</if> + <if test="leavehospitaldistrictcodes != null"> + AND b.leavehospitaldistrictcode IN + <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," + close=")"> + #{leavehospitaldistrictcode} + </foreach> + </if> + <if test="leaveldeptcodes != null"> + AND b.leaveldeptcode IN + <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," + close=")"> + #{leaveldeptcode} + </foreach> + </if> + </where> + order by b.inhospid desc + </select> + + <select id="selectPatMedInhospByInhospid" parameterType="Long" resultMap="PatMedInhospResult"> <include refid="selectPatMedInhospVo"/> where inhospid = #{inhospid} </select> - - <insert id="insertPatMedInhosp" parameterType="PatMedInhosp" useGeneratedKeys="true" keyProperty="inhospid"> + + <insert id="insertPatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp" useGeneratedKeys="true" + keyProperty="inhospid"> insert into pat_med_inhosp <trim prefix="(" suffix=")" suffixOverrides=","> <if test="serialnum != null">serialnum,</if> @@ -82,7 +316,7 @@ <if test="deptcode != null">deptcode,</if> <if test="deptname != null">deptname,</if> <if test="roomno != null">roomno,</if> - <if test="bedno != null">bedno,</if> + <if test="bedNo != null">bed_no,</if> <if test="orgid != null">orgid,</if> <if test="delFlag != null and delFlag != ''">del_flag,</if> <if test="updateBy != null">update_by,</if> @@ -107,7 +341,16 @@ <if test="deptid != null">deptid,</if> <if test="leaveldeptid != null">leaveldeptid,</if> <if test="schemetime != null">schemetime,</if> - </trim> + <if test="patname!= null">patname,</if> + <if test="patno != null">patno,</if> + <if test="inhospstate != null">inhospstate,</if> + <if test="checkFlag != null">check_flag,</if> + <if test="longTaskReason != null">long_task_reason,</if> + <if test="nurseId != null ">nurse_id,</if> + <if test="nurseName != null ">nurse_name,</if> + <if test="outWayId != null ">out_way_id,</if> + <if test="outWayName != null ">out_way_name,</if> + </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="serialnum != null">#{serialnum},</if> <if test="hospitalname != null">#{hospitalname},</if> @@ -121,7 +364,7 @@ <if test="deptcode != null">#{deptcode},</if> <if test="deptname != null">#{deptname},</if> <if test="roomno != null">#{roomno},</if> - <if test="bedno != null">#{bedno},</if> + <if test="bedNo != null">#{bedNo},</if> <if test="orgid != null">#{orgid},</if> <if test="delFlag != null and delFlag != ''">#{delFlag},</if> <if test="updateBy != null">#{updateBy},</if> @@ -146,10 +389,19 @@ <if test="deptid != null">#{deptid},</if> <if test="leaveldeptid != null">#{leaveldeptid},</if> <if test="schemetime != null">#{schemetime},</if> - </trim> + <if test="patname!= null">#{patname},</if> + <if test="patno != null">#{patno},</if> + <if test="inhospstate != null">#{inhospstate},</if> + <if test="checkFlag != null">#{checkFlag},</if> + <if test="longTaskReason != null">#{longTaskReason},</if> + <if test="nurseId != null ">#{nurseId},</if> + <if test="nurseName != null ">#{nurseName},</if> + <if test="outWayId != null ">#{outWayId},</if> + <if test="outWayName != null ">#{outWayName},</if> + </trim> </insert> - <update id="updatePatMedInhosp" parameterType="PatMedInhosp"> + <update id="updatePatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp"> update pat_med_inhosp <trim prefix="SET" suffixOverrides=","> <if test="serialnum != null">serialnum = #{serialnum},</if> @@ -164,7 +416,7 @@ <if test="deptcode != null">deptcode = #{deptcode},</if> <if test="deptname != null">deptname = #{deptname},</if> <if test="roomno != null">roomno = #{roomno},</if> - <if test="bedno != null">bedno = #{bedno},</if> + <if test="bedNo != null">bed_no = #{bedNo},</if> <if test="orgid != null">orgid = #{orgid},</if> <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if> <if test="updateBy != null">update_by = #{updateBy},</if> @@ -189,18 +441,125 @@ <if test="deptid != null">deptid = #{deptid},</if> <if test="leaveldeptid != null">leaveldeptid = #{leaveldeptid},</if> <if test="schemetime != null">schemetime = #{schemetime},</if> + <if test="patname!= null">patname = #{patname},</if> + <if test="patno != null">patno = #{patno},</if> + <if test="inhospstate != null">inhospstate = #{inhospstate},</if> + <if test="checkFlag != null">check_flag = #{checkFlag},</if> + <if test="longTaskReason != null">long_task_reason = #{longTaskReason},</if> + <if test="nurseId != null ">nurse_id = #{nurseId},</if> + <if test="nurseName != null ">nurse_name = #{nurseName},</if> + <if test="outWayId != null ">out_way_id = #{outWayId},</if> + <if test="outWayName != null ">out_way_name = #{outWayName},</if> </trim> where inhospid = #{inhospid} </update> <delete id="deletePatMedInhospByInhospid" parameterType="Long"> - delete from pat_med_inhosp where inhospid = #{inhospid} + delete + from pat_med_inhosp + where inhospid = #{inhospid} </delete> <delete id="deletePatMedInhospByInhospids" parameterType="String"> - delete from pat_med_inhosp where inhospid in + delete from pat_med_inhosp where inhospid in <foreach item="inhospid" collection="array" open="(" separator="," close=")"> #{inhospid} </foreach> </delete> -</mapper> \ No newline at end of file + + <select id="getDeptRanking" parameterType="com.smartor.domain.PatMedReq" resultType="com.smartor.domain.PatMedRes"> + SELECT deptname, COUNT(1) AS rc + FROM ( + <if test="mz != null"> + SELECT deptname + FROM pat_med_outhosp + <where> + del_flag=0 + <if test="deptcodeList != null"> + 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 + </if> + <if test="zy != null"> + SELECT deptname + FROM pat_med_inhosp + <where> + del_flag=0 + and inhospstate=0 + <if test="deptcodeList != null"> + and deptcode in + <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> + #{deptcode} + </foreach> + </if> + </where> + </if> + <if test="cy != null and zy != null"> + UNION ALL + SELECT deptname + FROM pat_med_inhosp + <where> + del_flag=0 + and inhospstate=1 + <if test="deptcodeList != null"> + and deptcode in + <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> + #{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 + and inhospstate=1 + <if test="deptcodeList != null"> + and deptcode in + <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> + #{deptcode} + </foreach> + </if> + </where> + </if> + ) AS combined + GROUP BY deptname; + + + </select> + <select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq" + resultType="com.smartor.domain.PatMedRes"> + SELECT + COUNT(1) AS rc, + COUNT(DISTINCT patid) AS rs + FROM + pat_med_inhosp + <where> + del_flag=0 + <if test="zy != null"> + and inhospstate=0 + and date_format(starttime,'%y%m%d') >= date_format(#{startDate},'%y%m%d') + and date_format(starttime,'%y%m%d') <= date_format(#{endDate},'%y%m%d') + </if> + <if test="cy != null"> + and inhospstate=1 + and date_format(endtime,'%y%m%d') >= date_format(#{startDate},'%y%m%d') + and date_format(endtime,'%y%m%d') <= date_format(#{endDate},'%y%m%d') + </if> + <if test="deptcodeList != null"> + and deptcode in + <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> + #{deptcode} + </foreach> + </if> + </where> + </select> +</mapper> -- Gitblit v1.9.3