From 67d934b740862de1db1951137b5590410f3eb92b Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 15 八月 2025 13:34:39 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 299 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 207 insertions(+), 92 deletions(-) diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml index e17bbef..4441177 100644 --- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml @@ -47,7 +47,9 @@ <result property="patname" column="patname"/> <result property="patno" column="patno"/> <result property="inhospstate" column="inhospstate"/> - <result property="checkFlag" column="check_flag"/> + <result property="deptcheckFlag" column="deptcheck_flag"/> + <result property="wardcheckFlag" column="wardcheck_flag"/> + <result property="diagcheckFlag" column="diagcheck_flag"/> <result property="age" column="age"/> <result property="sex" column="sex"/> <result property="telcode" column="telcode"/> @@ -68,68 +70,74 @@ <result property="futypedesc" column="futypedesc"/> <result property="fuadvice" column="fuadvice"/> <result property="fuspecialadvice" column="fuspecialadvice"/> + <result property="managementDoctor" column="management_doctor"/> + <result property="managementDoctorCode" column="management_doctor_code"/> </resultMap> <sql id="selectPatMedInhospVo"> select inhospid, - patname, - fuflag, - fudate, - fuperiod, - futypecode, - futypedesc, - fuadvice, - fuspecialadvice, - remark, - guid, - operator, - operator_id, - 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 + patname, + fuflag, + management_doctor, + management_doctor_code, + fudate, + fuperiod, + futypecode, + futypedesc, + fuadvice, + fuspecialadvice, + remark, + guid, + operator, + operator_id, + out_way_id, + out_way_name, + nurse_id, + nurse_name, + deptcheck_flag, + wardcheck_flag, + diagcheck_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> @@ -141,9 +149,13 @@ b.nurse_id, b.nurse_name, b.patname, + b.management_doctor, + b.management_doctor_code, b.out_way_id, b.out_way_name, - b.check_flag, + b.deptcheck_flag, + b.wardcheck_flag, + b.diagcheck_flag, b.inhospstate, b.patno, b.inhospno, @@ -191,31 +203,18 @@ b.futypecode, b.futypedesc, b.fuadvice, - b.fuspecialadvice + b.fuspecialadvice, + a.idcardno FROM pat_med_inhosp b 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 AND a.idcardno IS NOT NULL - <!--<if test="startOutHospTime != null"> - AND STR_TO_DATE(b.endtime,'%Y-%m-%d') >= STR_TO_DATE(#{startOutHospTime},'%Y-%m-%d') - </if> - <if test="endOutHospTime != null"> - AND STR_TO_DATE(b.endtime,'%Y-%m-%d') <= STR_TO_DATE(#{endOutHospTime},'%Y-%m-%d') - </if> - <if test="tagname != null and tagname != ''">and c.tagname like concat('%', #{tagname}, '%')</if> - - <if test="startInHospTime != null"> - AND STR_TO_DATE(b.starttime, '%Y-%m-%d') >= STR_TO_DATE(#{startInHospTime}, '%Y-%m-%d') - </if> - <if test="endInHospTime != null"> - AND STR_TO_DATE(b.starttime, '%Y-%m-%d') <= STR_TO_DATE(#{startInHospTime}, '%Y-%m-%d') - </if>--> <if test="startOutHospTime != null ">and date_format(b.endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d') </if> @@ -236,26 +235,35 @@ concat('%', #{hospitaldistrictname}, '%') </if> <if test="endtime != null ">and b.endtime = #{endtime}</if> + <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if> + <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if> <if test="inhospno != null ">and b.inhospno = #{inhospno}</if> <if test="fuflag != null ">and b.fuflag = #{fuflag}</if> + <if test="orgid != null ">and b.orgid = #{orgid}</if> <if test="serialnum != null ">and b.serialnum = #{serialnum}</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 nurseName != ''">and b.nurse_name = #{nurseName}</if> - <if test="checkFlag != null ">and b.check_flag = #{checkFlag}</if> + <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if> + <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="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="leaveldeptcode != null ">and b.leaveldeptcode = #{leaveldeptcode}</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="deptname != null and deptname != ''">and b.deptname like concat('%', + #{deptname}, '%') </if> <if test="patid != null and patid != ''">and a.id =#{patid} </if> @@ -285,13 +293,20 @@ a.telcode, a.id, a.sex - order by b.inhospid desc + <if test="cry==1"> + order by b.endtime desc + </if> + <if test="cry==0"> + order by b.starttime desc + </if> </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.management_doctor, + b.management_doctor_code, b.patname, b.operator_id, b.operator, @@ -300,7 +315,9 @@ b.out_way_name, b.nurse_id, b.nurse_name, - b.check_flag, + b.deptcheckFlag, + b.diagcheckFlag, + b.wardcheckFlag, b.inhospstate, b.patno, b.inhospno, @@ -360,6 +377,8 @@ <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}, '%') @@ -369,7 +388,9 @@ <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="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> <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('%', @@ -398,7 +419,7 @@ SELECT GROUP_CONCAT(d.tagname, ', ') FROM pat_archivetag d WHERE d.patid = #{patid} - AND d.del_flag = 0 + AND d.del_flag = 0 </select> @@ -406,6 +427,7 @@ <include refid="selectPatMedInhospVo"/> where inhospid = #{inhospid} </select> + <insert id="insertPatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp" useGeneratedKeys="true" keyProperty="inhospid"> @@ -451,7 +473,9 @@ <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="deptcheckFlag != null">deptcheck_flag,</if> + <if test="wardcheckFlag != null">wardcheck_flag,</if> + <if test="diagcheckFlag != null">diagcheck_flag,</if> <if test="longTaskReason != null">long_task_reason,</if> <if test="nurseId != null ">nurse_id,</if> <if test="nurseName != null ">nurse_name,</if> @@ -469,6 +493,8 @@ <if test="futypedesc != null ">futypedesc,</if> <if test="fuadvice != null ">fuadvice,</if> <if test="fuspecialadvice != null ">fuspecialadvice,</if> + <if test="managementDoctor != null ">management_doctor,</if> + <if test="managementDoctorCode != null ">management_doctor_code,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="serialnum != null">#{serialnum},</if> @@ -511,7 +537,9 @@ <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="deptcheckFlag != null">#{deptcheckFlag},</if> + <if test="wardcheckFlag != null">#{wardcheckFlag},</if> + <if test="diagcheckFlag != null">#{diagcheckFlag},</if> <if test="longTaskReason != null">#{longTaskReason},</if> <if test="nurseId != null ">#{nurseId},</if> <if test="nurseName != null ">#{nurseName},</if> @@ -529,8 +557,53 @@ <if test="futypedesc != null ">#{futypedesc},</if> <if test="fuadvice != null ">#{fuadvice},</if> <if test="fuspecialadvice != null ">#{fuspecialadvice},</if> + <if test="managementDoctor != null ">#{managementDoctor},</if> + <if test="managementDoctorCode != null ">#{managementDoctorCode},</if> </trim> </insert> + + + <insert id="insertPatMedInhospBatch" parameterType="java.util.List" useGeneratedKeys="true" + keyProperty="item.inhospid"> + insert into pat_med_inhosp ( + 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, patname, patno, inhospstate, + 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 + ) + values + <foreach collection="list" item="item" separator=","> + ( + #{item.serialnum}, #{item.hospitalname}, #{item.hospitalcode}, #{item.hospitaldistrictcode}, + #{item.hospitaldistrictname}, + #{item.icd10code}, #{item.diagname}, #{item.starttime}, #{item.endtime}, #{item.deptcode}, #{item.deptname}, + #{item.roomno}, #{item.bedNo}, + #{item.orgid}, #{item.delFlag}, #{item.updateBy}, #{item.updateTime}, #{item.createBy}, #{item.createTime}, + #{item.isupload}, + #{item.uploadTime}, #{item.patid}, #{item.leavediagname}, #{item.leaveicd10code}, #{item.drcode}, + #{item.drname}, + #{item.schemestatus}, #{item.generalschemestatus}, #{item.leaveldeptcode}, #{item.leaveldeptname}, + #{item.hospitaldistrictid}, + #{item.leavehospitaldistrictcode}, #{item.leavehospitaldistrictname}, #{item.leavehospitaldistrictid}, + #{item.deptid}, #{item.leaveldeptid}, #{item.schemetime}, #{item.patname}, #{item.patno}, + #{item.inhospstate}, + #{item.deptcheckFlag}, #{item.wardcheckFlag}, #{item.diagcheckFlag}, #{item.longTaskReason}, + #{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} + ) + </foreach> + </insert> + <update id="updatePatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp"> update pat_med_inhosp @@ -575,7 +648,9 @@ <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="deptcheckFlag != null">deptcheck_flag = #{deptcheckFlag},</if> + <if test="wardcheckFlag != null">wardcheck_flag = #{wardcheckFlag},</if> + <if test="diagcheckFlag != null">diagcheck_flag = #{diagcheckFlag},</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> @@ -592,6 +667,9 @@ <if test="futypedesc != null ">futypedesc = #{futypedesc},</if> <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> + </trim> where inhospid = #{inhospid} </update> @@ -627,7 +705,7 @@ FROM pat_med_outhosp <where> del_flag=0 - <if test="deptcodeList != null"> + <if test="deptcodeList != null and deptcodeList.size() > 0"> and deptcode in <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> #{deptcode} @@ -644,7 +722,7 @@ <where> del_flag=0 and inhospstate=0 - <if test="deptcodeList != null"> + <if test="deptcodeList != null and deptcodeList.size() > 0"> and deptcode in <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> #{deptcode} @@ -659,7 +737,7 @@ <where> del_flag=0 and inhospstate=1 - <if test="deptcodeList != null"> + <if test="deptcodeList != null and deptcodeList.size() > 0"> and deptcode in <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> #{deptcode} @@ -674,7 +752,7 @@ <where> del_flag=0 and inhospstate=1 - <if test="deptcodeList != null"> + <if test="deptcodeList != null and deptcodeList.size() > 0"> and deptcode in <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> #{deptcode} @@ -684,34 +762,71 @@ </if> ) AS combined GROUP BY deptname; - - </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') >= date_format(#{startDate},'%y%m%d') and date_format(starttime,'%y%m%d') <= 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') >= date_format(#{startDate},'%y%m%d') and date_format(endtime,'%y%m%d') <= 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> - <if test="deptcodeList != null"> + + </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' ) >= date_format( #{startDate}, '%y%m%d' ) + </if> + <if test="endDate != null"> + AND date_format( visit_time, '%y%m%d' ) <= date_format(#{endDate},'%y%m%d') + </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> </mapper> -- Gitblit v1.9.3