411 lines
17 KiB
XML
411 lines
17 KiB
XML
<?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.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper">
|
|
|
|
<resultMap type="SpecialDiseaseRoute" id="SpecialDiseaseRouteResult">
|
|
<result property="id" column="id"/>
|
|
<result property="departmentId" column="department_id"/>
|
|
<result property="departmentName" column="department_name"/>
|
|
<result property="diseaseTypeId" column="disease_type_id"/>
|
|
<result property="diseaseTypeName" column="disease_type_name"/>
|
|
<result property="routeName" column="route_name"/>
|
|
<result property="routeCode" column="route_code"/>
|
|
<result property="version" column="version"/>
|
|
<result property="routeClassify" column="route_classify"/>
|
|
<result property="releaseStatus" column="release_status"/>
|
|
<result property="suitRange" column="suit_range"/>
|
|
<result property="routeSort" column="route_sort"/>
|
|
<result property="routeRemark" column="route_remark"/>
|
|
<result property="createBy" column="create_by"/>
|
|
<result property="createTime" column="create_time"/>
|
|
<result property="updateBy" column="update_by"/>
|
|
<result property="updateTime" column="update_time"/>
|
|
</resultMap>
|
|
|
|
<resultMap type="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO" id="SpecialDiseaseRouteVOResult">
|
|
<result property="specialDiseaseRouteId" column="specialDiseaseRouteId"/>
|
|
<result property="departmentId" column="department_id"/>
|
|
<result property="departmentName" column="department_name"/>
|
|
<result property="diseaseTypeId" column="disease_type_id"/>
|
|
<result property="diseaseTypeName" column="disease_type_name"/>
|
|
<result property="routeName" column="route_name"/>
|
|
<result property="routeCode" column="route_code"/>
|
|
<result property="version" column="version"/>
|
|
<result property="routeClassify" column="route_classify"/>
|
|
<result property="releaseStatus" column="release_status"/>
|
|
<result property="suitRange" column="suit_range"/>
|
|
<result property="routeSort" column="route_sort"/>
|
|
<result property="agreeNumber" column="agreeNumber"/>
|
|
<result property="totalNumber" column="totalNumber"/>
|
|
<result property="routeRemark" column="route_remark"/>
|
|
<collection property="triggerConditionList" javaType="java.util.List"
|
|
resultMap="SpecialDiseaseTriggerConditionResult"/>
|
|
<collection property="routePackageList" javaType="java.util.List"
|
|
resultMap="SpecialDiseaseRoutePackageResult"/>
|
|
</resultMap>
|
|
<resultMap type="com.xinelu.manage.vo.specialdiseasetriggercondition.TriggerConditionVO"
|
|
id="SpecialDiseaseTriggerConditionResult">
|
|
<result property="triggerConditionId" column="triggerConditionId"/>
|
|
<result property="routeId" column="route_id"/>
|
|
<result property="routeName" column="route_name"/>
|
|
<result property="triggerConditionCode" column="trigger_condition_code"/>
|
|
<result property="triggerConditionName" column="trigger_condition_name"/>
|
|
<result property="triggerConditionOperator" column="trigger_condition_operator"/>
|
|
<result property="triggerConditionValue" column="trigger_condition_value"/>
|
|
<result property="triggerConditionSort" column="trigger_condition_sort"/>
|
|
<result property="triggerConditionRemark" column="trigger_condition_remark"/>
|
|
</resultMap>
|
|
|
|
<resultMap type="com.xinelu.manage.vo.specialdiseaseroutepackage.SpecialDiseaseRoutePackageVO" id="SpecialDiseaseRoutePackageResult">
|
|
<result property="specialDiseaseRoutePackageId" column="id"/>
|
|
<result property="routeId" column="route_id"/>
|
|
<result property="servicePackageId" column="service_package_id"/>
|
|
<result property="routeName" column="route_name"/>
|
|
<result property="packageName" column="package_name"/>
|
|
</resultMap>
|
|
|
|
<sql id="selectSpecialDiseaseRouteVo">
|
|
select id,
|
|
department_id,
|
|
department_name,
|
|
disease_type_id,
|
|
disease_type_name,
|
|
route_name,
|
|
route_code,
|
|
version,
|
|
route_classify,
|
|
release_status,
|
|
suit_range,
|
|
route_sort,
|
|
route_remark,
|
|
create_by,
|
|
create_time,
|
|
update_by,
|
|
update_time
|
|
from special_disease_route
|
|
</sql>
|
|
|
|
<select id="selectSpecialDiseaseRouteList" parameterType="SpecialDiseaseRoute"
|
|
resultMap="SpecialDiseaseRouteResult">
|
|
<include refid="selectSpecialDiseaseRouteVo"/>
|
|
<where>
|
|
<if test="departmentId != null ">
|
|
and department_id = #{departmentId}
|
|
</if>
|
|
<if test="departmentName != null and departmentName != ''">
|
|
and department_name like concat('%', #{departmentName}, '%')
|
|
</if>
|
|
<if test="diseaseTypeId != null ">
|
|
and disease_type_id = #{diseaseTypeId}
|
|
</if>
|
|
<if test="diseaseTypeName != null and diseaseTypeName != ''">
|
|
and disease_type_name like concat('%', #{diseaseTypeName}, '%')
|
|
</if>
|
|
<if test="routeName != null and routeName != ''">
|
|
and route_name like concat('%', #{routeName}, '%')
|
|
</if>
|
|
<if test="routeCode != null and routeCode != ''">
|
|
and route_code = #{routeCode}
|
|
</if>
|
|
<if test="version != null and version != ''">
|
|
and version = #{version}
|
|
</if>
|
|
<if test="routeClassify != null and routeClassify != ''">
|
|
and route_classify = #{routeClassify}
|
|
</if>
|
|
<if test="releaseStatus != null and releaseStatus != ''">
|
|
and release_status = #{releaseStatus}
|
|
</if>
|
|
<if test="suitRange != null and suitRange != ''">
|
|
and suit_range = #{suitRange}
|
|
</if>
|
|
<if test="routeSort != null ">
|
|
and route_sort = #{routeSort}
|
|
</if>
|
|
<if test="routeRemark != null and routeRemark != ''">
|
|
and route_remark = #{routeRemark}
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectDiseaseRouteList"
|
|
resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO">
|
|
select a.id,
|
|
department_id,
|
|
department_name,
|
|
disease_type_id,
|
|
disease_type_name,
|
|
route_name,
|
|
route_code,
|
|
version,
|
|
route_classify,
|
|
release_status,
|
|
suit_range,
|
|
route_sort,
|
|
route_remark,
|
|
create_by,
|
|
create_time,
|
|
update_by,
|
|
update_time,
|
|
(select COUNT(1)
|
|
from special_disease_node
|
|
where route_id = a.id) totalNumber,
|
|
(select COUNT(1)
|
|
from special_disease_node
|
|
where route_id = a.id
|
|
and route_check_status = 'AGREE') agreeNumber
|
|
from special_disease_route a
|
|
<where>
|
|
<if test="departmentId != null ">
|
|
and department_id = #{departmentId}
|
|
</if>
|
|
<if test="departmentName != null and departmentName != ''">
|
|
and department_name like concat('%', #{departmentName}, '%')
|
|
</if>
|
|
<if test="diseaseTypeId != null ">
|
|
and disease_type_id = #{diseaseTypeId}
|
|
</if>
|
|
<if test="diseaseTypeName != null and diseaseTypeName != ''">
|
|
and disease_type_name like concat('%', #{diseaseTypeName}, '%')
|
|
</if>
|
|
<if test="routeName != null and routeName != ''">
|
|
and route_name like concat('%', #{routeName}, '%')
|
|
</if>
|
|
<if test="routeCode != null and routeCode != ''">
|
|
and route_code = #{routeCode}
|
|
</if>
|
|
<if test="version != null and version != ''">
|
|
and version = #{version}
|
|
</if>
|
|
<if test="routeClassify != null and routeClassify != ''">
|
|
and route_classify = #{routeClassify}
|
|
</if>
|
|
<if test="releaseStatus != null and releaseStatus != ''">
|
|
and release_status = #{releaseStatus}
|
|
</if>
|
|
<if test="suitRange != null and suitRange != ''">
|
|
and suit_range = #{suitRange}
|
|
</if>
|
|
<if test="routeSort != null ">
|
|
and route_sort = #{routeSort}
|
|
</if>
|
|
<if test="routeRemark != null and routeRemark != ''">
|
|
and route_remark = #{routeRemark}
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectSpecialDiseaseRouteById" parameterType="Long"
|
|
resultMap="SpecialDiseaseRouteResult">
|
|
<include refid="selectSpecialDiseaseRouteVo"/>
|
|
where id = #{id}
|
|
</select>
|
|
|
|
<insert id="insertSpecialDiseaseRoute" parameterType="SpecialDiseaseRoute" useGeneratedKeys="true"
|
|
keyProperty="id">
|
|
insert into special_disease_route
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="departmentId != null">department_id,
|
|
</if>
|
|
<if test="departmentName != null">department_name,
|
|
</if>
|
|
<if test="diseaseTypeId != null">disease_type_id,
|
|
</if>
|
|
<if test="diseaseTypeName != null">disease_type_name,
|
|
</if>
|
|
<if test="routeName != null">route_name,
|
|
</if>
|
|
<if test="routeCode != null">route_code,
|
|
</if>
|
|
<if test="version != null">version,
|
|
</if>
|
|
<if test="routeClassify != null">route_classify,
|
|
</if>
|
|
<if test="releaseStatus != null">release_status,
|
|
</if>
|
|
<if test="suitRange != null">suit_range,
|
|
</if>
|
|
<if test="routeSort != null">route_sort,
|
|
</if>
|
|
<if test="routeRemark != null">route_remark,
|
|
</if>
|
|
<if test="createBy != null">create_by,
|
|
</if>
|
|
<if test="createTime != null">create_time,
|
|
</if>
|
|
<if test="updateBy != null">update_by,
|
|
</if>
|
|
<if test="updateTime != null">update_time,
|
|
</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="departmentId != null">#{departmentId},
|
|
</if>
|
|
<if test="departmentName != null">#{departmentName},
|
|
</if>
|
|
<if test="diseaseTypeId != null">#{diseaseTypeId},
|
|
</if>
|
|
<if test="diseaseTypeName != null">#{diseaseTypeName},
|
|
</if>
|
|
<if test="routeName != null">#{routeName},
|
|
</if>
|
|
<if test="routeCode != null">#{routeCode},
|
|
</if>
|
|
<if test="version != null">#{version},
|
|
</if>
|
|
<if test="routeClassify != null">#{routeClassify},
|
|
</if>
|
|
<if test="releaseStatus != null">#{releaseStatus},
|
|
</if>
|
|
<if test="suitRange != null">#{suitRange},
|
|
</if>
|
|
<if test="routeSort != null">#{routeSort},
|
|
</if>
|
|
<if test="routeRemark != null">#{routeRemark},
|
|
</if>
|
|
<if test="createBy != null">#{createBy},
|
|
</if>
|
|
<if test="createTime != null">#{createTime},
|
|
</if>
|
|
<if test="updateBy != null">#{updateBy},
|
|
</if>
|
|
<if test="updateTime != null">#{updateTime},
|
|
</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<update id="updateSpecialDiseaseRoute" parameterType="SpecialDiseaseRoute">
|
|
update special_disease_route
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
<if test="departmentId != null">department_id =
|
|
#{departmentId},
|
|
</if>
|
|
<if test="departmentName != null">department_name =
|
|
#{departmentName},
|
|
</if>
|
|
<if test="diseaseTypeId != null">disease_type_id =
|
|
#{diseaseTypeId},
|
|
</if>
|
|
<if test="diseaseTypeName != null">disease_type_name =
|
|
#{diseaseTypeName},
|
|
</if>
|
|
<if test="routeName != null">route_name =
|
|
#{routeName},
|
|
</if>
|
|
<if test="routeCode != null">route_code =
|
|
#{routeCode},
|
|
</if>
|
|
<if test="version != null">version =
|
|
#{version},
|
|
</if>
|
|
<if test="routeClassify != null">route_classify =
|
|
#{routeClassify},
|
|
</if>
|
|
<if test="releaseStatus != null">release_status =
|
|
#{releaseStatus},
|
|
</if>
|
|
<if test="suitRange != null">suit_range =
|
|
#{suitRange},
|
|
</if>
|
|
<if test="routeSort != null">route_sort =
|
|
#{routeSort},
|
|
</if>
|
|
<if test="routeRemark != null">route_remark =
|
|
#{routeRemark},
|
|
</if>
|
|
<if test="createBy != null">create_by =
|
|
#{createBy},
|
|
</if>
|
|
<if test="createTime != null">create_time =
|
|
#{createTime},
|
|
</if>
|
|
<if test="updateBy != null">update_by =
|
|
#{updateBy},
|
|
</if>
|
|
<if test="updateTime != null">update_time =
|
|
#{updateTime},
|
|
</if>
|
|
</trim>
|
|
where id = #{id}
|
|
</update>
|
|
|
|
<delete id="deleteSpecialDiseaseRouteById" parameterType="Long">
|
|
delete
|
|
from special_disease_route
|
|
where id = #{id}
|
|
</delete>
|
|
|
|
<delete id="deleteSpecialDiseaseRouteByIds" parameterType="String">
|
|
delete from special_disease_route where id in
|
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<select id="departmentRouteByDepartmentName" resultType="com.xinelu.manage.vo.department.DepartmentVO">
|
|
select dt.id,
|
|
dt.department_name,
|
|
dt.department_code,
|
|
count(sdr.id) AS countNum
|
|
from department dt left join special_disease_route sdr on dt.id = sdr.department_id
|
|
<where>
|
|
<if test="departmentName != null and departmentName != ''">
|
|
dt.department_name like concat('%',#{departmentName},'%')
|
|
</if>
|
|
</where>
|
|
GROUP BY dt.id
|
|
</select>
|
|
|
|
<select id="selectSpecialDiseaseRouteAndTriggerById"
|
|
resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO"
|
|
resultMap="SpecialDiseaseRouteVOResult">
|
|
select sdr.id specialDiseaseRouteId,
|
|
sdr.department_id,
|
|
sdr.department_name,
|
|
sdr.disease_type_id,
|
|
sdr.disease_type_name,
|
|
sdr.route_name,
|
|
sdr.route_code,
|
|
sdr.version,
|
|
sdr.route_classify,
|
|
sdr.release_status,
|
|
sdr.suit_range,
|
|
sdr.route_sort,
|
|
sdr.route_remark,
|
|
sdtc.id triggerConditionId,
|
|
sdtc.route_id,
|
|
sdtc.route_name,
|
|
sdtc.trigger_condition_code,
|
|
sdtc.trigger_condition_name,
|
|
sdtc.trigger_condition_operator,
|
|
sdtc.trigger_condition_value,
|
|
sdtc.trigger_condition_sort,
|
|
sdtc.trigger_condition_remark,
|
|
sdrp.id specialDiseaseRoutePackageId,
|
|
sdrp.route_id,
|
|
sdrp.service_package_id,
|
|
sdrp.route_name,
|
|
sdrp.package_name,
|
|
(select COUNT(1)
|
|
from special_disease_node
|
|
where route_id = specialDiseaseRouteId) totalNumber,
|
|
(select COUNT(1)
|
|
from special_disease_node
|
|
where route_id = specialDiseaseRouteId
|
|
and route_check_status = 'AGREE') agreeNumber
|
|
from special_disease_route sdr
|
|
LEFT JOIN special_disease_node sdn ON sdn.route_id = sdr.id
|
|
LEFT JOIN special_disease_trigger_condition sdtc ON sdr.id = sdtc.route_id
|
|
LEFT JOIN special_disease_route_package sdrp ON sdr.id = sdrp.route_id
|
|
where sdr.id = #{id}
|
|
</select>
|
|
|
|
<select id="selectRouteCheckStatus" resultType="java.lang.Integer">
|
|
select COUNT(1)
|
|
from special_disease_node
|
|
where route_id = #{routeId}
|
|
and route_check_status != #{routeCheckStatus}
|
|
</select>
|
|
</mapper> |