liusheng
3 天以前 e6456d2196b3e57bd06be0fbc74dd3e0fc28fdeb
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"/>
@@ -59,11 +61,28 @@
        <result property="guid" column="guid"/>
        <result property="operator" column="operator"/>
        <result property="operatorId" column="operator_id"/>
        <result property="remark" column="remark"/>
        <result property="tagname" column="tagname"/>
        <result property="fuflag" column="fuflag"/>
        <result property="fudate" column="fudate"/>
        <result property="fuperiod" column="fuperiod"/>
        <result property="futypecode" column="futypecode"/>
        <result property="futypedesc" column="futypedesc"/>
        <result property="fuadvice" column="fuadvice"/>
        <result property="fuspecialadvice" column="fuspecialadvice"/>
    </resultMap>
    <sql id="selectPatMedInhospVo">
        select inhospid,
               patname,
               fuflag,
               fudate,
               fuperiod,
               futypecode,
               futypedesc,
               fuadvice,
               fuspecialadvice,
               remark,
               guid,
               operator,
               operator_id,
@@ -71,7 +90,9 @@
               out_way_name,
               nurse_id,
               nurse_name,
               check_flag,
               deptcheck_flag,
               wardcheck_flag,
               diagcheck_flag,
               inhospstate,
               patno,
               long_task_reason,
@@ -120,16 +141,15 @@
        select CONCAT( a.age, a.age_unit ) AS age,
        a.telcode as telcode,
        a.sex,
        b.guid,
        b.operator,
        b.operator_id,
        b.inhospid,
        b.nurse_id,
        b.nurse_name,
        b.patname,
        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,
@@ -170,28 +190,50 @@
        b.deptid,
        b.leaveldeptid,
        b.long_task_reason,
        b.schemetime
        b.schemetime,
        b.fuflag,
        b.fudate,
        b.fuperiod,
        b.futypecode,
        b.futypedesc,
        b.fuadvice,
        b.fuspecialadvice,
        a.idcardno
        FROM
        pat_med_inhosp b,
        pat_archive a
        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)
        <where>
            a.del_flag=0
            and b.del_flag=0
            and a.id = b.patid
            AND a.idcardno != ''
            <if test="startOutHospTime != null">
                AND date_format(b.endtime,'%y%m%d') &gt;= date_format(#{startOutHospTime},'%y%m%d')
            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') &gt;= STR_TO_DATE(#{startOutHospTime},'%Y-%m-%d')
            </if>
            <if test="endOutHospTime != null">
                AND date_format(b.endtime,'%y%m%d') &lt;= date_format(#{endOutHospTime},'%y%m%d')
                AND STR_TO_DATE(b.endtime,'%Y-%m-%d') &lt;= 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 date_format(b.starttime,'%y%m%d') &gt;= date_format(#{startInHospTime},'%y%m%d')
                AND STR_TO_DATE(b.starttime, '%Y-%m-%d') >= STR_TO_DATE(#{startInHospTime}, '%Y-%m-%d')
            </if>
            <if test="endInHospTime != null">
                AND date_format(b.starttime,'%y%m%d') &lt;= date_format(#{endInHospTime},'%y%m%d')
                AND STR_TO_DATE(b.starttime, '%Y-%m-%d') &lt;= STR_TO_DATE(#{startInHospTime}, '%Y-%m-%d')
            </if>-->
            <if test="startOutHospTime != null ">and date_format(b.endtime,'%y%m%d') &gt;=
                date_format(#{startOutHospTime},'%y%m%d')
            </if>
            <if test="endOutHospTime != null ">and date_format(b.endtime,'%y%m%d') &lt;=
                date_format(#{endOutHospTime},'%y%m%d')
            </if>
            <if test="startInHospTime != null ">and date_format(b.starttime,'%y%m%d') &gt;=
                date_format(#{startInHospTime},'%y%m%d')
            </if>
            <if test="endInHospTime != null ">and date_format(b.starttime,'%y%m%d') &lt;=
                date_format(#{endInHospTime},'%y%m%d')
            </if>
            <if test="hospitalname != null  and hospitalname != ''">and hospitalname like concat('%', #{hospitalname},
                '%')
@@ -202,12 +244,15 @@
            </if>
            <if test="endtime != null ">and b.endtime = #{endtime}</if>
            <if test="inhospno != null ">and b.inhospno = #{inhospno}</if>
            <if test="fuflag != null ">and b.fuflag = #{fuflag}</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 b.nurse_name = #{nurseName}</if>
            <if test="checkFlag != null ">and b.check_flag = #{checkFlag}</if>
            <if test="nurseName != null and nurseName != ''">and b.nurse_name = #{nurseName}</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>
@@ -242,9 +287,20 @@
                </foreach>
            </if>
        </where>
        order by b.inhospid desc
        GROUP BY
        b.inhospid,
        a.age,
        a.age_unit,
        a.telcode,
        a.id,
        a.sex
        <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,
@@ -253,11 +309,14 @@
        b.patname,
        b.operator_id,
        b.operator,
        b.remark,
        b.out_way_id,
        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,
@@ -298,6 +357,13 @@
        b.deptid,
        b.leaveldeptid,
        b.long_task_reason,
        b.fuflag,
        b.fudate,
        b.fuperiod,
        b.futypecode,
        b.futypedesc,
        b.fuadvice,
        b.fuspecialadvice
        b.schemetime
        FROM
        pat_med_inhosp b,
@@ -315,10 +381,13 @@
                concat('%', #{hospitaldistrictname}, '%')
            </if>
            <if test="endtime != null ">and b.endtime = #{endtime}</if>
            <if test="fuflag != null ">and b.fuflag = #{fuflag}</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="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('%',
@@ -343,11 +412,21 @@
        order by b.inhospid desc
    </select>
    <select id="getTagnameBypatid" parameterType="Long" resultType="string">
        SELECT GROUP_CONCAT(d.tagname, ', ')
        FROM pat_archivetag d
        WHERE d.patid = #{patid}
          AND d.del_flag = 0
    </select>
    <select id="selectPatMedInhospByInhospid" parameterType="Long" resultMap="PatMedInhospResult">
        <include refid="selectPatMedInhospVo"/>
        where inhospid = #{inhospid}
    </select>
    <insert id="insertPatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp" useGeneratedKeys="true"
            keyProperty="inhospid">
@@ -393,7 +472,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>
@@ -403,6 +484,14 @@
            <if test="operator != null ">operator,</if>
            <if test="operatorId != null ">operator_id,</if>
            <if test="inhospno != null ">inhospno,</if>
            <if test="remark != null ">remark,</if>
            <if test="fuflag != null ">fuflag,</if>
            <if test="fudate != null ">fudate,</if>
            <if test="fuperiod != null ">fuperiod,</if>
            <if test="futypecode != null ">futypecode,</if>
            <if test="futypedesc != null ">futypedesc,</if>
            <if test="fuadvice != null ">fuadvice,</if>
            <if test="fuspecialadvice != null ">fuspecialadvice,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="serialnum != null">#{serialnum},</if>
@@ -445,7 +534,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>
@@ -455,8 +546,50 @@
            <if test="operator != null ">#{operator},</if>
            <if test="operatorId != null ">#{operatorId},</if>
            <if test="inhospno != null ">#{inhospno},</if>
            <if test="remark != null ">#{remark},</if>
            <if test="fuflag != null ">#{fuflag},</if>
            <if test="fudate != null ">#{fudate},</if>
            <if test="fuperiod != null ">#{fuperiod},</if>
            <if test="futypecode != null ">#{futypecode},</if>
            <if test="futypedesc != null ">#{futypedesc},</if>
            <if test="fuadvice != null ">#{fuadvice},</if>
            <if test="fuspecialadvice != null ">#{fuspecialadvice},</if>
        </trim>
    </insert>
    <insert id="insertPatMedInhospBatch" parameterType="java.util.List">
        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
        )
        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}
            )
        </foreach>
    </insert>
    <update id="updatePatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp">
        update pat_med_inhosp
@@ -501,7 +634,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>
@@ -510,6 +645,14 @@
            <if test="guid != null ">guid = #{guid},</if>
            <if test="operator != null ">operator = #{operator},</if>
            <if test="operatorId != null ">operator_id = #{operatorId},</if>
            <if test="remark != null ">remark = #{remark},</if>
            <if test="fuflag != null ">fuflag = #{fuflag},</if>
            <if test="fudate != null ">fudate = #{fudate},</if>
            <if test="fuperiod != null ">fuperiod = #{fuperiod},</if>
            <if test="futypecode != null ">futypecode = #{futypecode},</if>
            <if test="futypedesc != null ">futypedesc = #{futypedesc},</if>
            <if test="fuadvice != null ">fuadvice = #{fuadvice},</if>
            <if test="fuspecialadvice != null ">fuspecialadvice = #{fuspecialadvice},</if>
        </trim>
        where inhospid = #{inhospid}
    </update>
@@ -545,7 +688,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}
@@ -562,7 +705,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}
@@ -577,7 +720,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}
@@ -592,7 +735,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}
@@ -602,8 +745,6 @@
        </if>
        ) AS combined
        GROUP BY deptname;
    </select>
    <select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq"
            resultType="com.smartor.domain.PatMedRes">
@@ -624,7 +765,7 @@
                and date_format(endtime,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
                and date_format(endtime,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
            </if>
            <if test="deptcodeList != null">
            <if test="deptcodeList != null   and deptcodeList.size() > 0">
                and deptcode in
                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                    #{deptcode}