|  |  | 
 |  |  |     <resultMap type="com.smartor.domain.PatMedOuthosp" id="PatMedOuthospResult"> | 
 |  |  |         <result property="id" column="id"/> | 
 |  |  |         <result property="serialnum" column="serialnum"/> | 
 |  |  |         <result property="fuflag" column="fuflag"/> | 
 |  |  |         <result property="patid" column="patid"/> | 
 |  |  |         <result property="hospitalname" column="hospitalname"/> | 
 |  |  |         <result property="hospitalcode" column="hospitalcode"/> | 
 |  |  | 
 |  |  |         <result property="diagcheckFlag" column="diagcheck_flag"/> | 
 |  |  |         <result property="idcardno" column="idcardno"/> | 
 |  |  |         <result property="remark" column="remark"/> | 
 |  |  |         <result property="fudate" column="fudate"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <sql id="selectPatMedOuthospVo"> | 
 |  |  | 
 |  |  |                diagcheck_flag, | 
 |  |  |                patno, | 
 |  |  |                remark, | 
 |  |  |                fudate, | 
 |  |  |                fuflag, | 
 |  |  |                serialnum, | 
 |  |  |                patid, | 
 |  |  |                hospitalname, | 
 |  |  | 
 |  |  |         select | 
 |  |  |         pmo.id, | 
 |  |  |         pmo.remark, | 
 |  |  |         pmo.fudate, | 
 |  |  |         pmo.outhospno, | 
 |  |  |         pmo.diagcheck_flag, | 
 |  |  |         pmo.patno, | 
 |  |  | 
 |  |  |         pmo.deptid, | 
 |  |  |         pmo.schemetime, | 
 |  |  |         pmo.hpi, | 
 |  |  |         pmo.fuflag, | 
 |  |  |         pmo.patname, | 
 |  |  |         CONCAT(pa.age,pa.age_unit,pa.age2,pa.age_unit2) AS age, | 
 |  |  |         pa.telcode, | 
 |  |  |         pmo.mainsuit, | 
 |  |  |         pa.idcardno | 
 |  |  |         from pat_med_outhosp pmo left join pat_archive pa on pmo.patid = pa.id | 
 |  |  |         pmo.mainsuit | 
 |  |  |         from pat_med_outhosp pmo | 
 |  |  |         <where> | 
 |  |  |             pmo.del_flag=0 | 
 |  |  |             <if test="orgid != null ">and pmo.orgid = #{orgid}</if> | 
 |  |  | 
 |  |  |                 #{hospitalname}, | 
 |  |  |                 '%') | 
 |  |  |             </if> | 
 |  |  |             <if test="deptcodes != null and deptcodes.size()>0"> | 
 |  |  |                 AND  pmo.deptcode IN | 
 |  |  |                 <foreach collection="deptcodes" item="deptcode" open="(" separator="," | 
 |  |  |                          close=")"> | 
 |  |  |                     #{deptcode} | 
 |  |  |                 </foreach> | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             <if test="deptname != null  and deptname != ''">and pmo.deptname like concat('%', #{deptname}, '%')</if> | 
 |  |  |             <if test="drname != null  and drname != ''">and pmo.drname like concat('%', #{drname}, '%')</if> | 
 |  |  |             <if test="patname != null  and patname != ''">and pmo.patname like concat('%', #{patname}, '%')</if> | 
 |  |  |  | 
 |  |  |             <!--<if test="beginTime != null ">and date_format(pmo.admitdate,'%Y%m%d%H%i%s') >= | 
 |  |  |                 date_format(#{beginTime},'%Y%m%d%H%i%s') | 
 |  |  |             </if> | 
 |  |  |             <if test="endTime != null ">and date_format(pmo.admitdate,'%Y%m%d%H%i%s') <= | 
 |  |  |                 date_format(#{endTime},'%Y%m%d%H%i%s') | 
 |  |  |             </if>--> | 
 |  |  |             <if test="beginTime != null ">and date_format(pmo.admitdate,'%y%m%d') >= | 
 |  |  |                 date_format(#{beginTime},'%y%m%d') | 
 |  |  |             </if> | 
 |  |  | 
 |  |  |                 date_format(#{endTime},'%y%m%d') | 
 |  |  |             </if> | 
 |  |  |             <if test="patid != null ">and pmo.patid = #{patid}</if> | 
 |  |  |             <if test="fuflag != null ">and pmo.fuflag = #{fuflag}</if> | 
 |  |  |             <if test="patno != null ">and pmo.patno = #{patno}</if> | 
 |  |  |             <if test="orgid != null  and orgid != ''">and pmo.orgid = #{orgid}</if> | 
 |  |  |             <if test="outhospno != null  and outhospno != ''">and pmo.outhospno = #{outhospno}</if> | 
 |  |  |             <if test="diagcheckFlag != null  and diagcheckFlag != ''">and pmo.diagcheck_flag = #{diagcheckFlag}</if> | 
 |  |  |             <if test="diagname != null  and diagname != ''">and pmo.diagname like concat('%',#{diagname}, '%')</if> | 
 |  |  |         </where> | 
 |  |  |         order by pmo.update_time desc | 
 |  |  |     </select> | 
 |  |  | 
 |  |  |             <if test="patno != null">patno,</if> | 
 |  |  |             <if test="diagcheckFlag != null">diagcheck_flag,</if> | 
 |  |  |             <if test="remark != null">remark,</if> | 
 |  |  |             <if test="fuflag != null">fuflag,</if> | 
 |  |  |             <if test="fudate != null">fudate,</if> | 
 |  |  |         </trim> | 
 |  |  |         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
 |  |  |             <if test="serialnum != null">#{serialnum},</if> | 
 |  |  | 
 |  |  |             <if test="patno != null">#{patno},</if> | 
 |  |  |             <if test="diagcheckFlag != null">#{diagcheckFlag},</if> | 
 |  |  |             <if test="remark != null">#{remark},</if> | 
 |  |  |             <if test="fuflag != null">#{fuflag},</if> | 
 |  |  |             <if test="fudate != null">#{fudate},</if> | 
 |  |  |         </trim> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  |     <insert id="batchPatMedOuthosp"> | 
 |  |  |         insert into pat_med_outhosp | 
 |  |  |         ( | 
 |  |  |         serialnum, | 
 |  |  |         patid, | 
 |  |  |         hospitalname, | 
 |  |  |         hospitalcode, | 
 |  |  |         icd10code, | 
 |  |  |         diagname, | 
 |  |  |         deptcode, | 
 |  |  |         deptname, | 
 |  |  |         drcode, | 
 |  |  |         drname, | 
 |  |  |         admitdate, | 
 |  |  |         orgid, | 
 |  |  |         del_flag, | 
 |  |  |         update_by, | 
 |  |  |         update_time, | 
 |  |  |         create_by, | 
 |  |  |         create_time, | 
 |  |  |         isupload, | 
 |  |  |         upload_time, | 
 |  |  |         schemestatus, | 
 |  |  |         deptid, | 
 |  |  |         schemetime, | 
 |  |  |         hpi, | 
 |  |  |         mainsuit, | 
 |  |  |         outhospno, | 
 |  |  |         patname, | 
 |  |  |         guid, | 
 |  |  |         patno, | 
 |  |  |         diagcheck_flag, | 
 |  |  |         fuflag, | 
 |  |  |         fudate, | 
 |  |  |         remark) | 
 |  |  |         values | 
 |  |  |         <foreach collection="list" item="item" separator=","> | 
 |  |  |             ( | 
 |  |  |             #{item.serialnum}, | 
 |  |  |             #{item.patid}, | 
 |  |  |             #{item.hospitalname}, | 
 |  |  |             #{item.hospitalcode}, | 
 |  |  |             #{item.icd10code}, | 
 |  |  |             #{item.diagname}, | 
 |  |  |             #{item.deptcode}, | 
 |  |  |             #{item.deptname}, | 
 |  |  |             #{item.drcode}, | 
 |  |  |             #{item.drname}, | 
 |  |  |             #{item.admitdate}, | 
 |  |  |             #{item.orgid}, | 
 |  |  |             #{item.delFlag}, | 
 |  |  |             #{item.updateBy}, | 
 |  |  |             #{item.updateTime}, | 
 |  |  |             #{item.createBy}, | 
 |  |  |             #{item.createTime}, | 
 |  |  |             #{item.isupload}, | 
 |  |  |             #{item.uploadTime}, | 
 |  |  |             #{item.schemestatus}, | 
 |  |  |             #{item.deptid}, | 
 |  |  |             #{item.schemetime}, | 
 |  |  |             #{item.hpi}, | 
 |  |  |             #{item.mainsuit}, | 
 |  |  |             #{item.outhospno}, | 
 |  |  |             #{item.patname}, | 
 |  |  |             #{item.guid}, | 
 |  |  |             #{item.patno}, | 
 |  |  |             #{item.diagcheckFlag}, | 
 |  |  |             #{item.fuflag}, | 
 |  |  |             #{item.fudate}, | 
 |  |  |             #{item.remark} | 
 |  |  |             ) | 
 |  |  |         </foreach> | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     <update id="updatePatMedOuthosp" parameterType="com.smartor.domain.PatMedOuthosp"> | 
 |  |  |         update pat_med_outhosp | 
 |  |  | 
 |  |  |             <if test="patno != null">patno = #{patno},</if> | 
 |  |  |             <if test="diagcheckFlag != null">diagcheck_flag = #{diagcheckFlag},</if> | 
 |  |  |             <if test="remark != null">remark = #{remark},</if> | 
 |  |  |             <if test="fuflag != null">fuflag = #{fuflag},</if> | 
 |  |  |             <if test="fudate != null">fudate = #{fudate},</if> | 
 |  |  |         </trim> | 
 |  |  |         where id = #{id} | 
 |  |  |     </update> | 
 |  |  | 
 |  |  |  | 
 |  |  |     <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 | 
 |  |  |             <if test="orgid != null"> | 
 |  |  |                 and orgid = #{orgid} | 
 |  |  |             </if> | 
 |  |  |             and date_format(admitdate,'%y%m%d') >= date_format(#{startDate},'%y%m%d') | 
 |  |  |             and date_format(admitdate,'%y%m%d') <= date_format(#{endDate},'%y%m%d') | 
 |  |  |             <if test="deptcodeList != null and deptcodeList.size()>0"> | 
 |  |  | 
 |  |  |                 </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 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> | 
 |  |  |  | 
 |  |  |     <select id="getDeptRanking" parameterType="com.smartor.domain.PatMedReq" resultType="com.smartor.domain.PatMedRes"> | 
 |  |  | 
 |  |  |             </if> | 
 |  |  |         </where> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <!-- PatMedOuthospMapper.xml --> | 
 |  |  |     <select id="countPatMedOuthosp" resultType="int"> | 
 |  |  |         SELECT COUNT(*) | 
 |  |  |         FROM pat_med_outhosp | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <update id="renameTable"> | 
 |  |  |         RENAME | 
 |  |  |         TABLE | 
 |  |  |         ${oldName} | 
 |  |  |         TO | 
 |  |  |         ${newName} | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |     <update id="createPatMedOuthosp"> | 
 |  |  |         CREATE TABLE ${newName} LIKE ${templateName} | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |     <update id="createPatMedOuthospAutoAdd"> | 
 |  |  |         ALTER TABLE ${newName} MODIFY COLUMN id BIGINT NOT NULL AUTO_INCREMENT; | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |     <update id="setAutoIncrement"> | 
 |  |  |         ALTER TABLE ${tableName} AUTO_INCREMENT = #{autoInc} | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  |     <select id="getAllOuthospTableNames" resultType="String"> | 
 |  |  |         SELECT table_name | 
 |  |  |         FROM information_schema.tables | 
 |  |  |         WHERE table_schema = DATABASE() | 
 |  |  |           AND table_name LIKE 'pat_med_outhosp%' | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="getMaxIdFromTable" resultType="Long"> | 
 |  |  |         SELECT IFNULL(MAX(id), 0) | 
 |  |  |         FROM ${tableName} | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <update id="createOrReplaceView"> | 
 |  |  |         ${viewSql} | 
 |  |  |     </update> | 
 |  |  |  | 
 |  |  | </mapper> |