<?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.lyms.platform.permission.dao.master.MasterLisMapper">
<insert id="saveLisData" parameterType="com.lyms.platform.permission.model.LisReportModel">
INSERT INTO LIS_REPORT_TBL(
LIS_ID,
TITLE,
TYPE,
VCCARDNO,
NAME,
BHNUM,
AGE,
SEX,
APPLY_TIME,
CHECK_TIME,
PUBLISH_TIME,
APPLY_DOCTOR,
APPLY_DEPT,
CHECKER,
MODIFIED,
CREATED,
HOSPITAL_ID,
PHONE,
ITEM_JSON
) VALUES (
#{lisId},
#{title},
#{type},
#{vcCardNo},
#{name},
#{ bhnum},
#{age},
#{sex},
#{applyTime},
#{checkTime},
#{publishTime},
#{applyDoctor},
#{applyDept},
#{checker},
#{modified},
#{created},
#{hospitalId},
#{phone},
#{itemJson}
)
</insert>
<insert id="saveLisItemsData" parameterType="java.util.List">
insert into LIS_REPORT_ITEM_TBL (
LIS_ID,
CODE,
NAME,
RESULT,
RESULT_FLAG,
REF,
RESULT_TYPE,
UNIT,
PRINT_ORDER,
HOSPITAL_ID
)
values
<foreach collection="list" item="item" index="index" separator="," >
(
#{item.lisId,jdbcType=VARCHAR},
#{item.code,jdbcType=VARCHAR},
#{item.name,jdbcType=VARCHAR},
#{item.result,jdbcType=VARCHAR},
#{item.resultFlag,jdbcType=VARCHAR},
#{item.ref,jdbcType=VARCHAR},
#{item.resultType,jdbcType=VARCHAR},
#{item.unit,jdbcType=VARCHAR},
#{item.printOrder,jdbcType=VARCHAR},
#{item.hospitalId,jdbcType=VARCHAR}
)
</foreach>
</insert>
<delete id="deleteLisData" parameterType="com.lyms.platform.permission.model.LisReportModel">
DELETE FROM LIS_REPORT_TBL WHERE LIS_ID = #{lisId} AND HOSPITAL_ID = #{hospitalId}
</delete>
<select id="queryLisDataByModel" parameterType="com.lyms.platform.permission.model.LisReportModel"
resultType="com.lyms.platform.permission.model.LisReportModel">
SELECT
ID AS id,
LIS_ID AS lisId,
TITLE AS title,
TYPE AS type,
VCCARDNO AS vcCardNo,
NAME AS name,
BHNUM AS bhnum,
AGE AS age,
SEX AS sex,
APPLY_TIME AS applyTime,
CHECK_TIME AS checkTime,
PUBLISH_TIME AS publishTime,
APPLY_DOCTOR AS applyDoctor,
APPLY_DEPT AS applyDept,
CHECKER AS checker,
MODIFIED AS modified,
CREATED AS created,
HOSPITAL_ID AS hospitalId,
PHONE AS phone
FROM LIS_REPORT_TBL
WHERE 1 = 1
<if test="lisId != null and lisId != ''">
AND LIS_ID = #{lisId}
</if>
<if test="vcCardNo != null and vcCardNo != ''">
AND VCCARDNO = #{vcCardNo}
</if>
<if test="hospitalId != null and hospitalId != ''">
AND HOSPITAL_ID = #{hospitalId}
</if>
</select>
<select id="queryLisItemByModel" parameterType="com.lyms.platform.permission.model.LisReportItemModel"
resultType="com.lyms.platform.permission.model.LisReportItemModel">
SELECT
LIS_ID,
CODE,
NAME,
RESULT,
RESULT_FLAG,
REF,
RESULT_TYPE,
UNIT,
PRINT_ORDER,
HOSPITAL_ID
FROM LIS_REPORT_ITEM_TBL
WHERE 1 = 1
<if test="lisId != null and lisId != ''">
AND LIS_ID = #{lisId}
</if>
<if test="hospitalId != null and hospitalId != ''">
AND HOSPITAL_ID = #{hospitalId}
</if>
</select>
<select id="queryListItems" parameterType="com.lyms.platform.permission.model.LisReportModel" resultMap="queryListItemsMap">
SELECT
LR.LIS_ID,
LR.TITLE,
LR.TYPE,
LR.VCCARDNO,
LR.NAME,
LR.BHNUM,
LR.AGE,
LR.SEX,
LR.APPLY_TIME,
LR.CHECK_TIME,
LR.PUBLISH_TIME,
LR.APPLY_DOCTOR,
LR.APPLY_DEPT,
LR.CHECKER,
LR.MODIFIED,
LR.CREATED,
LR.HOSPITAL_ID,
LR.PHONE,
LI.LIS_ID AS ITEM_LIS_ID,
LI.CODE,
LI.NAME AS ITEM_NAME,
LI.RESULT,
LI.RESULT_FLAG,
LI.REF,
LI.RESULT_TYPE,
LI.UNIT,
LI.PRINT_ORDER
FROM LIS_REPORT_ITEM_TBL LI
LEFT JOIN LIS_REPORT_TBL LR
ON LR.LIS_ID = LI.LIS_ID
WHERE
LR.VCCARDNO=#{vcCardNo}
AND
LR.HOSPITAL_ID=#{hospitalId}
AND
LI.HOSPITAL_ID=#{hospitalId}
</select>
<resultMap id="queryListItemsMap" type="com.lyms.platform.permission.model.LisReportModel" >
<id property="id" column="ID"/>
<result property="lisId" column="LIS_ID"/>
<result property="title" column="TITLE"/>
<result property="type" column="TYPE"/>
<result property="vcCardNo" column="VCCARDNO"/>
<result property="name" column="NAME"/>
<result property="bhnum" column="BHNUM"/>
<result property="age" column="AGE"/>
<result property="sex" column="SEX"/>
<result property="applyTime" column="APPLY_TIME"/>
<result property="checkTime" column="CHECK_TIME"/>
<result property="publishTime" column="PUBLISH_TIME"/>
<result property="applyDoctor" column="APPLY_DOCTOR"/>
<result property="applyDept" column="APPLY_DEPT"/>
<result property="checker" column="CHECKER"/>
<result property="modified" column="MODIFIED"/>
<result property="created" column="CREATED"/>
<result property="hospitalId" column="HOSPITAL_ID"/>
<result property="phone" column="PHONE"/>
<result property="itemJson" column="ITEM_JSON"/>
<result property="status" column="STATUS"/>
</resultMap>
<sql id="orderAndLimit">
<if test="sort != null and sort != '' ">
order by ${sort}
<if test="need != null">
limit #{offset, jdbcType=INTEGER} , #{limit, jdbcType=INTEGER}
</if>
</if>
</sql>
<sql id="OrganizationCondition">
<where>
1 = 1
<if test="vcCardNo != null or phone != null ">
AND (VCCARDNO=#{vcCardNo} OR PHONE = #{phone})
</if>
<if test="hospitalId != null">
AND HOSPITAL_ID=#{hospitalId}
</if>
<if test="status != null">
AND STATUS=#{status}
</if>
</where>
</sql>
<select id="queryLisDataByQuery" parameterType="com.lyms.platform.permission.model.LisReportQuery" resultMap="queryListItemsMap">
SELECT
ID,
LIS_ID,
TITLE,
TYPE,
VCCARDNO,
NAME,
BHNUM,
AGE,
SEX,
APPLY_TIME,
CHECK_TIME,
PUBLISH_TIME,
APPLY_DOCTOR,
APPLY_DEPT,
CHECKER,
MODIFIED,
CREATED,
HOSPITAL_ID,
PHONE,
ITEM_JSON
FROM LIS_REPORT_TBL
<include refid="LisCondition"/>
<include refid="orderAndLimit"/>
</select>
<select id="queryLisCount" resultType="int"
parameterType="com.lyms.platform.permission.model.LisReportQuery">
select count(1) from LIS_REPORT_TBL
<include refid="LisCondition"/>
</select>
<update id="updateAppLisStatus" parameterType="java.util.List" >
UPDATE LIS_REPORT_TBL STATUS = 1 WHERE ID IN
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>
</mapper>