<?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"> 
 | 
<mapper namespace="com.smartor.mapper.PatMedOuthospMapper"> 
 | 
  
 | 
    <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="icd10code" column="icd10code"/> 
 | 
        <result property="diagname" column="diagname"/> 
 | 
        <result property="deptcode" column="deptcode"/> 
 | 
        <result property="deptname" column="deptname"/> 
 | 
        <result property="drcode" column="drcode"/> 
 | 
        <result property="drname" column="drname"/> 
 | 
        <result property="admitdate" column="admitdate"/> 
 | 
        <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="schemestatus" column="schemestatus"/> 
 | 
        <result property="deptid" column="deptid"/> 
 | 
        <result property="schemetime" column="schemetime"/> 
 | 
        <result property="hpi" column="hpi"/> 
 | 
        <result property="mainsuit" column="mainsuit"/> 
 | 
        <result property="outhospno" column="outhospno"/> 
 | 
        <result property="patname" column="patname"/> 
 | 
        <result property="guid" column="guid"/> 
 | 
        <result property="patno" column="patno"/> 
 | 
        <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"> 
 | 
        select id, 
 | 
               outhospno, 
 | 
               diagcheck_flag, 
 | 
               patno, 
 | 
               remark, 
 | 
               fudate, 
 | 
               fuflag, 
 | 
               serialnum, 
 | 
               patid, 
 | 
               hospitalname, 
 | 
               hospitalcode, 
 | 
               icd10code, 
 | 
               diagname, 
 | 
               deptcode, 
 | 
               deptname, 
 | 
               drcode, 
 | 
               drname, 
 | 
               admitdate, 
 | 
               orgid, 
 | 
               del_flag, 
 | 
               guid, 
 | 
               update_by, 
 | 
               update_time, 
 | 
               create_by, 
 | 
               create_time, 
 | 
               isupload, 
 | 
               upload_time, 
 | 
               schemestatus, 
 | 
               deptid, 
 | 
               schemetime, 
 | 
               hpi, 
 | 
               patname, 
 | 
               mainsuit 
 | 
        from pat_med_outhosp 
 | 
    </sql> 
 | 
  
 | 
    <select id="selectPatMedOuthospList" parameterType="com.smartor.domain.PatMedOuthosp" 
 | 
            resultMap="PatMedOuthospResult"> 
 | 
        select 
 | 
        pmo.id, 
 | 
        pmo.remark, 
 | 
        pmo.fudate, 
 | 
        pmo.outhospno, 
 | 
        pmo.diagcheck_flag, 
 | 
        pmo.patno, 
 | 
        pmo.serialnum, 
 | 
        pmo.patid, 
 | 
        pmo.hospitalname, 
 | 
        pmo.hospitalcode, 
 | 
        pmo.icd10code, 
 | 
        pmo.diagname, 
 | 
        pmo.deptcode, 
 | 
        pmo.deptname, 
 | 
        pmo.drcode, 
 | 
        pmo.drname, 
 | 
        pmo.admitdate, 
 | 
        pmo.orgid, 
 | 
        pmo.del_flag, 
 | 
        pmo.guid, 
 | 
        pmo.update_by, 
 | 
        pmo.update_time, 
 | 
        pmo.create_by, 
 | 
        pmo.create_time, 
 | 
        pmo.isupload, 
 | 
        pmo.upload_time, 
 | 
        pmo.schemestatus, 
 | 
        pmo.deptid, 
 | 
        pmo.schemetime, 
 | 
        pmo.hpi, 
 | 
        pmo.fuflag, 
 | 
        pmo.patname, 
 | 
        pmo.mainsuit 
 | 
        from pat_med_outhosp pmo 
 | 
        <where> 
 | 
            pmo.del_flag=0 
 | 
            <if test="orgid != null ">and pmo.orgid = #{orgid}</if> 
 | 
            <if test="hospitalname != null  and hospitalname != ''">and pmo.hospitalname like concat('%', 
 | 
                #{hospitalname}, 
 | 
                '%') 
 | 
            </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') >= 
 | 
                date_format(#{beginTime},'%y%m%d') 
 | 
            </if> 
 | 
            <if test="endTime != null ">and date_format(pmo.admitdate,'%y%m%d') <= 
 | 
                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="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> 
 | 
  
 | 
    <select id="selectPatMedOuthospById" parameterType="Long" resultMap="PatMedOuthospResult"> 
 | 
        <include refid="selectPatMedOuthospVo"/> 
 | 
        where id = #{id} 
 | 
    </select> 
 | 
  
 | 
    <insert id="insertPatMedOuthosp" parameterType="com.smartor.domain.PatMedOuthosp" useGeneratedKeys="true" 
 | 
            keyProperty="id"> 
 | 
        insert into pat_med_outhosp 
 | 
        <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
            <if test="serialnum != null">serialnum,</if> 
 | 
            <if test="patid != null">patid,</if> 
 | 
            <if test="hospitalname != null">hospitalname,</if> 
 | 
            <if test="hospitalcode != null">hospitalcode,</if> 
 | 
            <if test="icd10code != null">icd10code,</if> 
 | 
            <if test="diagname != null">diagname,</if> 
 | 
            <if test="deptcode != null">deptcode,</if> 
 | 
            <if test="deptname != null">deptname,</if> 
 | 
            <if test="drcode != null">drcode,</if> 
 | 
            <if test="drname != null">drname,</if> 
 | 
            <if test="admitdate != null">admitdate,</if> 
 | 
            <if test="orgid != null">orgid,</if> 
 | 
            <if test="delFlag != null and delFlag != ''">del_flag,</if> 
 | 
            <if test="updateBy != null">update_by,</if> 
 | 
            <if test="updateTime != null">update_time,</if> 
 | 
            <if test="createBy != null">create_by,</if> 
 | 
            <if test="createTime != null">create_time,</if> 
 | 
            <if test="isupload != null">isupload,</if> 
 | 
            <if test="uploadTime != null">upload_time,</if> 
 | 
            <if test="schemestatus != null">schemestatus,</if> 
 | 
            <if test="deptid != null">deptid,</if> 
 | 
            <if test="schemetime != null">schemetime,</if> 
 | 
            <if test="hpi != null">hpi,</if> 
 | 
            <if test="mainsuit != null">mainsuit,</if> 
 | 
            <if test="outhospno != null">outhospno,</if> 
 | 
            <if test="patname != null">patname,</if> 
 | 
            <if test="guid != null">guid,</if> 
 | 
            <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="patid != null">#{patid},</if> 
 | 
            <if test="hospitalname != null">#{hospitalname},</if> 
 | 
            <if test="hospitalcode != null">#{hospitalcode},</if> 
 | 
            <if test="icd10code != null">#{icd10code},</if> 
 | 
            <if test="diagname != null">#{diagname},</if> 
 | 
            <if test="deptcode != null">#{deptcode},</if> 
 | 
            <if test="deptname != null">#{deptname},</if> 
 | 
            <if test="drcode != null">#{drcode},</if> 
 | 
            <if test="drname != null">#{drname},</if> 
 | 
            <if test="admitdate != null">#{admitdate},</if> 
 | 
            <if test="orgid != null">#{orgid},</if> 
 | 
            <if test="delFlag != null and delFlag != ''">#{delFlag},</if> 
 | 
            <if test="updateBy != null">#{updateBy},</if> 
 | 
            <if test="updateTime != null">#{updateTime},</if> 
 | 
            <if test="createBy != null">#{createBy},</if> 
 | 
            <if test="createTime != null">#{createTime},</if> 
 | 
            <if test="isupload != null">#{isupload},</if> 
 | 
            <if test="uploadTime != null">#{uploadTime},</if> 
 | 
            <if test="schemestatus != null">#{schemestatus},</if> 
 | 
            <if test="deptid != null">#{deptid},</if> 
 | 
            <if test="schemetime != null">#{schemetime},</if> 
 | 
            <if test="hpi != null">#{hpi},</if> 
 | 
            <if test="mainsuit != null">#{mainsuit},</if> 
 | 
            <if test="outhospno != null">#{outhospno},</if> 
 | 
            <if test="patname != null">#{patname},</if> 
 | 
            <if test="guid != null">#{guid},</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 
 | 
        <trim prefix="SET" suffixOverrides=","> 
 | 
            <if test="serialnum != null">serialnum = #{serialnum},</if> 
 | 
            <if test="patid != null">patid = #{patid},</if> 
 | 
            <if test="hospitalname != null">hospitalname = #{hospitalname},</if> 
 | 
            <if test="hospitalcode != null">hospitalcode = #{hospitalcode},</if> 
 | 
            <if test="icd10code != null">icd10code = #{icd10code},</if> 
 | 
            <if test="diagname != null">diagname = #{diagname},</if> 
 | 
            <if test="deptcode != null">deptcode = #{deptcode},</if> 
 | 
            <if test="deptname != null">deptname = #{deptname},</if> 
 | 
            <if test="drcode != null">drcode = #{drcode},</if> 
 | 
            <if test="drname != null">drname = #{drname},</if> 
 | 
            <if test="admitdate != null">admitdate = #{admitdate},</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> 
 | 
            <if test="updateTime != null">update_time = #{updateTime},</if> 
 | 
            <if test="createBy != null">create_by = #{createBy},</if> 
 | 
            <if test="createTime != null">create_time = #{createTime},</if> 
 | 
            <if test="isupload != null">isupload = #{isupload},</if> 
 | 
            <if test="uploadTime != null">upload_time = #{uploadTime},</if> 
 | 
            <if test="schemestatus != null">schemestatus = #{schemestatus},</if> 
 | 
            <if test="deptid != null">deptid = #{deptid},</if> 
 | 
            <if test="schemetime != null">schemetime = #{schemetime},</if> 
 | 
            <if test="hpi != null">hpi = #{hpi},</if> 
 | 
            <if test="mainsuit != null">mainsuit = #{mainsuit},</if> 
 | 
            <if test="outhospno != null">outhospno = #{outhospno},</if> 
 | 
            <if test="patname != null">patname = #{patname},</if> 
 | 
            <if test="guid != null">guid = #{guid},</if> 
 | 
            <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> 
 | 
  
 | 
    <delete id="deletePatMedOuthospById" parameterType="Long"> 
 | 
        delete 
 | 
        from pat_med_outhosp 
 | 
        where id = #{id} 
 | 
    </delete> 
 | 
  
 | 
    <delete id="deletePatMedOuthospByIds" parameterType="String"> 
 | 
        delete from pat_med_outhosp where id in 
 | 
        <foreach item="id" collection="array" open="(" separator="," close=")"> 
 | 
            #{id} 
 | 
        </foreach> 
 | 
    </delete> 
 | 
  
 | 
    <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, 
 | 
        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"> 
 | 
                and deptcode in 
 | 
                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> 
 | 
                    #{deptcode} 
 | 
                </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"> 
 | 
        SELECT deptname, COUNT(1) AS rc 
 | 
        FROM pat_med_outhosp 
 | 
        <where> 
 | 
            del_flag=0 
 | 
            <if test="inhospstate != inhospstate"> 
 | 
                and inhospstate= #{inhospstate} 
 | 
            </if> 
 | 
            <if test="deptcodeList != null and deptcodeList.size()>0"> 
 | 
                and deptcode in 
 | 
                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> 
 | 
                    #{deptcode} 
 | 
                </foreach> 
 | 
            </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> 
 |