From 86b103f926cf92fff3d591c6ba07099ad8db3ad1 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 01 七月 2025 15:53:04 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml | 121 ++++++++++++++++++++++++++++++--------- 1 files changed, 92 insertions(+), 29 deletions(-) diff --git a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml index 036a68a..2b6dc92 100644 --- a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml @@ -60,6 +60,8 @@ <result property="carePerson" column="care_person"/> <result property="casePersonAge" column="case_person_age"/> <result property="guid" column="guid"/> + <result property="filterDrname" column="filter_drname"/> + <result property="filterDrcode" column="filter_drcode"/> </resultMap> @@ -117,6 +119,10 @@ <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/> <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/> <result property="guid" column="guid"/> + <result property="leavediagname" column="leavediagname"/> + <result property="leaveicd10code" column="leaveicd10code"/> + <result property="filterDrname" column="filter_drname"/> + <result property="filterDrcode" column="filter_drcode"/> </resultMap> <sql id="selectPatArchiveVo"> @@ -124,6 +130,8 @@ notrequired_flag, notrequiredreason, patientno, + filter_drname, + filter_drcode, patid_his, age_unit, age_unit2, @@ -198,6 +206,8 @@ <if test="medicareType != null ">and medicare_type = #{medicareType}</if> <if test="carePerson != null ">and care_person = #{carePerson}</if> <if test="casePersonAge != null ">and case_person_age = #{casePersonAge}</if> + <if test="filterDrname != null ">and filter_drname = #{filterDrname}</if> + <if test="filterDrcode != null ">and filter_drcode = #{filterDrcode}</if> </where> </select> @@ -231,11 +241,15 @@ a.income, a.medicare_type, a.care_person, + a.filter_drname, + a.filter_drcode, a.case_person_age from pat_archive a,pat_archivetag b ,base_tag c <where> a.del_flag=0 and a.id = b.patid and b.tagid = c.tagid + <if test="filterDrname != null ">and filter_drname = #{filterDrname}</if> + <if test="filterDrcode != null ">and filter_drcode = #{filterDrcode}</if> <if test="name != null and name != ''">and a.name like concat('%', #{name}, '%')</if> <if test="idcardno != null and idcardno != ''">and idcardno = #{idcardno}</if> <if test="telcode != null and telcode != ''">and telcode = #{telcode}</if> @@ -301,6 +315,8 @@ <if test="medicareType != null ">medicare_type,</if> <if test="carePerson != null ">care_person,</if> <if test="casePersonAge != null ">case_person_age,</if> + <if test="filterDrname != null ">filter_drname,</if> + <if test="filterDrcode != null ">filter_drcode,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="patientno != null">#{patientno},</if> @@ -348,6 +364,8 @@ <if test="medicareType != null ">#{medicareType},</if> <if test="carePerson != null ">#{carePerson},</if> <if test="casePersonAge != null ">#{casePersonAge},</if> + <if test="filterDrname != null ">#{filterDrname},</if> + <if test="filterDrcode != null ">#{filterDrcode},</if> </trim> </insert> @@ -355,14 +373,14 @@ insert into pat_archive(name,viptype,sex,idcardno,birthdate,place_of_residence,age,age2,sourcefrom,archivetime,archiveby,telcode,relativetelcode,idcardtype,orgid,openid,dduserid,update_by,update_time ,create_by,create_time,isupload,upload_time,pattype,nation,birthplace,native_place,patientno,patid_his,sd_flag,age_unit,age_unit2,notrequired_flag,notrequiredreason,care_facilities,case_path, - degree_of_education,marital_status,income,medicare_type,care_person,case_person_age) + degree_of_education,marital_status,income,medicare_type,care_person,case_person_age,filter_drname,filter_drcode) values <foreach item="item" index="index" collection="list" separator=","> (#{item.name},#{item.viptype},#{item.sex},#{item.idcardno},#{item.birthdate},#{item.placeOfResidence},#{item.age},#{item.age2},#{item.sourcefrom},#{item.archivetime},#{item.archiveby} ,#{item.telcode},#{item.archiveby},#{item.idcardtype},#{item.orgid},#{item.openid},#{item.dduserid},#{item.updateBy}, #{item.updateTime},#{item.createBy},#{item.createTime},#{item.isupload},#{item.uploadTime},#{item.pattype},#{item.nation},#{item.birthplace},#{item.nativePlace},#{item.patientno}, #{item.patidHis},#{item.sdFlag},#{item.ageUnit},#{item.ageUnit2},#{item.notrequiredFlag},#{item.notrequiredreason} - ,#{item.careFacilities},#{item.casePath},#{item.degreeOfEducation},#{item.maritalStatus},#{item.income},#{item.medicareType},#{item.carePerson},#{item.casePersonAge}) + ,#{item.careFacilities},#{item.casePath},#{item.degreeOfEducation},#{item.maritalStatus},#{item.income},#{item.medicareType},#{item.carePerson},#{item.casePersonAge},#{item.filterDrname},#{item.filterDrcode}) </foreach> </insert> @@ -409,6 +427,8 @@ <if test="carePerson != null ">care_person = #{carePerson},</if> <if test="casePersonAge != null ">case_person_age = #{casePersonAge},</if> <if test="guid != null ">guid = #{guid},</if> + <if test="filterDrname != null ">filter_drname = #{filterDrname},</if> + <if test="filterDrcode != null ">filter_drcode = #{filterDrcode},</if> </trim> where id = #{id} </update> @@ -432,7 +452,7 @@ resultMap="PatArchiveOthreInfoResult"> SELECT - DISTINCT a.id, + a.id, a.age_unit, a.age_unit2, a.patid_his, @@ -467,6 +487,8 @@ a.upload_time, a.viptype, a.pattype, + a.filter_drname, + a.filter_drcode, b.tagname AS tag, b.tagid AS tagid FROM @@ -474,6 +496,7 @@ LEFT JOIN pat_archivetag b ON a.id = b.patid AND b.del_flag = 0 <where> a.del_flag = 0 + and a.orgid = #{orgid} <if test="name != null and name != ''">and a.name like concat('%', #{name}, '%')</if> <if test="idcardno != null and idcardno != ''">and a.idcardno = #{idcardno}</if> <if test="notrequiredFlag != null and notrequiredFlag != ''">and a.notrequired_flag = #{notrequiredFlag} @@ -485,7 +508,6 @@ #{tagId} </foreach> </if> - </where> order by a.update_time desc </select> @@ -493,9 +515,8 @@ <select id="selectPatArchiveInfoByInhosp" parameterType="com.smartor.domain.PatArchiveReq" resultMap="PatArchiveOthreInfoResult"> - select - DISTINCT a.id, + a.id, a.age_unit, a.age_unit2, a.inhospno, @@ -535,6 +556,8 @@ a.isupload, a.upload_time, a.pattype, + a.filter_drname, + a.filter_drcode, d.bed_no, d.starttime, d.endtime, @@ -547,11 +570,13 @@ FROM pat_med_inhosp d JOIN pat_archive a ON a.id = d.patid - LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag GROUP BY patid ) t ON t.patid = + LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid + ) t ON t.patid = d.patid <where> d.del_flag != 1 AND a.del_flag != 1 + and d.orgid = #{orgid} <if test="name != null and name != ''">and a.name like concat('%', #{name}, '%')</if> <if test="idcardno != null and idcardno != ''">and a.idcardno = #{idcardno}</if> <if test="pid != null and pid != ''">and a.id = #{id}</if> @@ -629,9 +654,8 @@ <select id="selectPatArchiveInfoByOuthosp" parameterType="com.smartor.domain.PatArchiveReq" resultMap="PatArchiveOthreInfoResult"> - select - DISTINCT a.id, + a.id, a.age_unit, a.age_unit2, a.patid_his, @@ -669,13 +693,18 @@ a.create_time, a.isupload, a.upload_time, + a.filter_drname, + a.filter_drcode, + t.tagname, a.pattype from pat_med_outhosp d JOIN pat_archive a ON a.id = d.patid - LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag GROUP BY patid ) t ON t.patid = + LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid + ) t ON t.patid = d.patid <where> d.del_flag != 1 AND a.del_flag != 1 + and d.orgid = #{orgid} <if test="pid != null and pid != ''">and a.id = #{pid}</if> <if test="name != null and name != ''">and a.name like concat('%', #{name}, '%')</if> <if test="idcardno != null and idcardno != ''">and a.idcardno = #{idcardno}</if> @@ -755,13 +784,18 @@ a.create_time, a.isupload, a.upload_time, + a.filter_drname, + a.filter_drcode, + t.tagname, a.pattype from pat_med_physical d JOIN pat_archive a ON a.id = d.patid - LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag GROUP BY patid ) t ON t.patid = + LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid + ) t ON t.patid = d.patid <where> d.del_flag != 1 AND a.del_flag != 1 + and d.orgid = #{orgid} <if test="pid != null and pid != ''">and a.id = #{pid}</if> <if test="name != null and name != ''">and a.name like concat('%', #{name}, '%')</if> <if test="idcardno != null and idcardno != ''">and a.idcardno = #{idcardno}</if> @@ -802,9 +836,9 @@ <select id="selectPatArchiveInfoByInhospQC" parameterType="com.smartor.domain.PatArchiveReq" resultMap="PatArchiveOthreInfoResult"> - + select * from ( select - distinct a.idcardno, + a.idcardno, a.id, a.age_unit, a.age_unit2, @@ -819,6 +853,8 @@ d.deptcode, d.drcode, d.drname, + d.leavediagname, + d.leaveicd10code, a.sex, a.nation, a.native_place, @@ -844,6 +880,8 @@ a.isupload, a.upload_time, a.pattype, + a.filter_drname, + a.filter_drcode, d.bed_no, d.starttime, d.endtime, @@ -856,11 +894,13 @@ FROM pat_med_inhosp d JOIN pat_archive a ON a.id = d.patid - LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag GROUP BY patid ) t ON t.patid = + LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid + ) t ON t.patid = d.patid <where> d.del_flag != 1 AND a.del_flag != 1 + and d.orgid = #{orgid} <if test="name != null and name != ''">and a.name like concat('%', #{name}, '%')</if> <if test="idcardno != null and idcardno != ''">and a.idcardno = #{idcardno}</if> <if test="pid != null and pid != ''">and a.id = #{id}</if> @@ -879,20 +919,16 @@ <if test="endtime != null"> AND d.endtime = #{endtime} </if> + <if test="cry != null and cry == 0 ">and d.endtime is null</if> + <if test="cry != null and cry == 1 ">and d.endtime is not null</if> <if test="visitno != null and visitno != ''"> AND d.inhospno = #{visitno} </if> <if test="deptname != null and deptname != ''"> and d.deptname LIKE concat('%', #{deptname}, '%') </if> - <if test="drname != null and drname != ''"> - AND d.drname LIKE concat('%',#{drname}, '%') - </if> - <if test="diagname != null and diagname != ''"> - AND d.diagname LIKE concat('%',#{diagname}, '%') - </if> - <if test="deptname != null and deptname != ''"> - AND d.deptname LIKE concat('%',#{deptname}, '%') + <if test="leavediagname != null and leavediagname != ''"> + AND d.leavediagname LIKE concat('%',#{leavediagname}, '%') </if> <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0"> AND d.leavehospitaldistrictcode IN @@ -908,6 +944,21 @@ #{leaveldeptcode} </foreach> </if> + <if test="hospitaldistrictcodes != null and hospitaldistrictcodes.size()>0"> + AND d.hospitaldistrictcode IN + <foreach collection="hospitaldistrictcodes" item="hospitaldistrictcode" open="(" separator="," + close=")"> + #{hospitaldistrictcode} + </foreach> + </if> + <if test="deptcodes != null and deptcodes.size() > 0"> + AND d.deptcode IN + <foreach collection="deptcodes" item="deptcode" open="(" separator="," + close=")"> + #{deptcode} + </foreach> + </if> + <if test="pids != null"> AND a.id NOT IN <foreach collection="pids" item="pid" open="(" separator="," close=")"> @@ -918,14 +969,14 @@ AND NOT exists ( SELECT 1 FROM pat_filterlist f where d.patid=f.patid) </if> </where> - order by a.update_time desc + order by a.id,a.update_time desc ) as tmp order by endtime desc </select> <select id="selectPatArchiveInfoByOuthospQC" parameterType="com.smartor.domain.PatArchiveReq" resultMap="PatArchiveOthreInfoResult"> select - distinct a.idcardno, + a.idcardno, a.id, a.age_unit, a.age_unit2, @@ -945,6 +996,8 @@ a.place_of_residence, a.birthplace, a.birthdate, + -- a.icd10code as leaveicd10code, + -- a.diagname as leavediagname, a.age, a.age2, a.viptype, @@ -963,13 +1016,18 @@ a.create_time, a.isupload, a.upload_time, + a.filter_drname, + a.filter_drcode, + t.tagname, a.pattype from pat_med_outhosp d JOIN pat_archive a ON a.id = d.patid - LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag GROUP BY patid ) t ON t.patid = + LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid + ) t ON t.patid = d.patid <where> d.del_flag != 1 AND a.del_flag != 1 + and d.orgid = #{orgid} <if test="pid != null and pid != ''">and a.id = #{pid}</if> <if test="name != null and name != ''">and a.name like concat('%', #{name}, '%')</if> <if test="idcardno != null and idcardno != ''">and a.idcardno = #{idcardno}</if> @@ -979,8 +1037,8 @@ </if> <if test="notrequiredFlag != null and notrequiredFlag != ''">and a.notrequired_flag = #{notrequiredFlag} </if> - <if test="diagname != null and diagname != ''"> - AND d.diagname LIKE concat('%',#{diagname}, '%') + <if test="leavediagname != null and leavediagname != ''"> + AND d.diagname LIKE concat('%',#{leavediagname}, '%') </if> <if test="hospitalname != null and hospitalname != ''"> AND d.hospitalname = #{hospitalname} @@ -1011,7 +1069,7 @@ resultMap="PatArchiveOthreInfoResult"> select - distinct a.idcardno, + a.idcardno, a.id, a.age_unit, a.age_unit2, @@ -1033,6 +1091,8 @@ a.viptype, a.birthdate, a.age, + a.filter_drname, + a.filter_drcode, a.age2, a.sourcefrom, a.archivetime, @@ -1049,13 +1109,16 @@ a.create_time, a.isupload, a.upload_time, + t.tagname, a.pattype from pat_med_physical d JOIN pat_archive a ON a.id = d.patid - LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag GROUP BY patid ) t ON t.patid = + LEFT JOIN ( SELECT patid, GROUP_CONCAT( tagname ) AS tagname FROM pat_archivetag where del_flag=0 GROUP BY patid + ) t ON t.patid = d.patid <where> d.del_flag != 1 AND a.del_flag != 1 + and d.orgid = #{orgid} <if test="pid != null and pid != ''">and a.id = #{pid}</if> <if test="name != null and name != ''">and a.name like concat('%', #{name}, '%')</if> <if test="idcardno != null and idcardno != ''">and a.idcardno = #{idcardno}</if> -- Gitblit v1.9.3