<?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.PatientServiceMapper">
<resultMap id="PatientServiceResultMap" type="com.lyms.platform.permission.model.PatientService">
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="parentid" property="parentid" jdbcType="VARCHAR"/>
<result column="pid" property="pid" jdbcType="VARCHAR"/>
<result column="ser_type" property="serType" jdbcType="INTEGER"/>
<result column="ser_doct" property="serDoct" jdbcType="VARCHAR"/>
<result column="create_date" property="createDate" jdbcType="TIMESTAMP"/>
<result column="create_user_name" property="createUserName" jdbcType="VARCHAR"/>
<result column="create_user" property="createUser" jdbcType="VARCHAR"/>
<result column="ser_status" property="serStatus" jdbcType="INTEGER"/>
<result column="update_date" property="updateDate" jdbcType="TIMESTAMP"/>
<result column="update_user_name" property="updateUserName" jdbcType="VARCHAR"/>
<result column="update_user" property="updateUser" jdbcType="VARCHAR"/>
<result column="hospital_id" property="hospitalId" jdbcType="VARCHAR"/>
<result column="ser_code" property="serCode" jdbcType="VARCHAR"/>
<result column="status" property="status" jdbcType="INTEGER"/>
<result column="receive_date" property="receiveDate" jdbcType="TIMESTAMP"/>
<result column="receive_user" property="receiveUser" jdbcType="VARCHAR"/>
<result column="back_date" property="backDate" jdbcType="TIMESTAMP"/>
<result column="back_user" property="backUser" jdbcType="VARCHAR"/>
<result column="order_id" property="orderId" jdbcType="VARCHAR"/>
<result column="syn_status" property="synStatus" jdbcType="INTEGER"/>
<result column="is_old" property="isOld" jdbcType="INTEGER"/>
<result column="per_type" property="perType" jdbcType="INTEGER"/>
<result column="device" property="device" jdbcType="INTEGER"/>
<result column="deviceCon" property="deviceCon" jdbcType="INTEGER"/>
<result column="doctorWeek" property="doctorWeek" jdbcType="INTEGER"/>
<result column="serviceWeek" property="serviceWeek" jdbcType="INTEGER"/>
<result column="serStartWeek" property="serStartWeek" jdbcType="INTEGER"/>
<result column="serEndWeek" property="serEndWeek" jdbcType="INTEGER"/>
<result column="serStartTime" property="serStartTime" jdbcType="TIMESTAMP"/>
<result column="serEndTime" property="serEndTime" jdbcType="TIMESTAMP"/>
<result column="docStartWeek" property="docStartWeek" jdbcType="INTEGER"/>
<result column="docEndWeek" property="docEndWeek" jdbcType="INTEGER"/>
<result column="docStartTime" property="docStartTime" jdbcType="TIMESTAMP"/>
<result column="docEndTime" property="docEndTime" jdbcType="TIMESTAMP"/>
</resultMap>
<insert id="addPatientService" parameterType="com.lyms.platform.permission.model.PatientService">
insert into patient_service (id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,
update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old,per_type
,device,deviceCon,doctorWeek,serviceWeek,serStartWeek,serEndWeek,serStartTime,serEndTime,docStartWeek,docEndWeek,docStartTime,docEndTime
) values (#{id},#{parentid},#{pid},#{serType},#{serDoct},#{createDate},#{createUserName},#{createUser},#{serStatus},#{updateDate},
#{updateUserName},#{updateUser},#{hospitalId},#{serCode},#{status},#{receiveDate},#{receiveUser},#{backDate},#{backUser},#{orderId},#{synStatus},#{isOld},#{perType}
,#{device},#{deviceCon},#{doctorWeek},#{serviceWeek},#{serStartWeek},#{serEndWeek},#{serStartTime},#{serEndTime},#{docStartWeek},#{docEndWeek},#{docStartTime},#{docEndTime}
)
</insert>
<insert id="addPatientServiceAll" parameterType="java.util.List">
INSERT INTO patient_service
(id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,
update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old,per_type
,device,deviceCon,doctorWeek,serviceWeek,serStartWeek,serEndWeek,serStartTime,serEndTime,docStartWeek,docEndWeek,docStartTime,docEndTime
)
VALUES
<foreach collection ="serviceList" item="patientService" separator =",">
(#{patientService.id},#{patientService.parentid},#{patientService.pid},#{patientService.serType},#{patientService.serDoct},#{patientService.createDate},#{patientService.createUserName},#{patientService.createUser},#{patientService.serStatus},#{patientService.updateDate},
#{patientService.updateUserName},#{patientService.updateUser},#{patientService.hospitalId},#{patientService.serCode},#{patientService.status},#{patientService.receiveDate},#{patientService.receiveUser},#{patientService.backDate},#{patientService.backUser},#{patientService.orderId},#{patientService.synStatus},#{patientService.isOld},#{patientService.perType}
,#{patientService.device},#{patientService.deviceCon},#{patientService.doctorWeek},#{patientService.serviceWeek},#{patientService.serStartWeek},#{patientService.serEndWeek},#{patientService.serStartTime},#{patientService.serEndTime},#{patientService.docStartWeek},#{patientService.docEndWeek},#{patientService.docStartTime},#{patientService.docEndTime}
)
</foreach >
</insert>
<update id="updatePatientService" parameterType="com.lyms.platform.permission.model.PatientService">
update patient_service
<set>
<if test="serDoct != null and serDoct != ''">
ser_doct = #{serDoct,jdbcType=VARCHAR},
</if>
<if test="createUser != null and createUser != ''">
create_user = #{createUser,jdbcType=VARCHAR},
</if>
<if test="updateUser != null and updateUser != ''">
update_user = #{updateUser,jdbcType=VARCHAR},
</if>
<if test="parentid != null and parentid != ''">
parentid = #{parentid,jdbcType=VARCHAR},
</if>
<if test="pid != null and pid != ''">
pid = #{pid,jdbcType=VARCHAR},
</if>
<if test="serType != null and serType >= 0">
ser_type = #{serType,jdbcType=INTEGER},
</if>
<if test="createDate != null">
create_date = #{createDate,jdbcType=TIMESTAMP},
</if>
<if test="createUserName != null and createUserName != ''">
create_user_name = #{createUserName,jdbcType=VARCHAR},
</if>
<if test="serStatus != null and serStatus >= 0">
ser_status = #{serStatus,jdbcType=INTEGER},
</if>
<if test="updateDate != null">
update_date = #{updateDate,jdbcType=TIMESTAMP},
</if>
<if test="updateUserName != null and updateUserName != ''">
update_user_name = #{updateUserName,jdbcType=VARCHAR},
</if>
<if test="hospitalId != null and hospitalId != ''">
hospital_id = #{hospitalId,jdbcType=VARCHAR},
</if>
<if test="serCode != null and serCode != ''">
ser_code = #{serCode,jdbcType=VARCHAR},
</if>
<if test="status != null and status >= 0">
status = #{status,jdbcType=INTEGER},
</if>
<if test="receiveDate != null">
receive_date = #{receiveDate,jdbcType=TIMESTAMP},
</if>
<if test="receiveUser != null and receiveUser != ''">
receive_user = #{receiveUser,jdbcType=VARCHAR},
</if>
<if test="backDate != null">
back_date = #{backDate,jdbcType=TIMESTAMP},
</if>
<if test="backUser != null and backUser != ''">
back_user = #{backUser,jdbcType=VARCHAR},
</if>
<if test="orderId != null and orderId != ''">
order_id = #{orderId,jdbcType=VARCHAR},
</if>
<if test="synStatus != null and synStatus != ''">
syn_status = #{synStatus,jdbcType=INTEGER},
</if>
<if test="isOld != null and isOld != ''">
is_old = #{isOld,jdbcType=INTEGER},
</if>
<if test="perType != null and perType != ''">
per_type = #{perType,jdbcType=INTEGER},
</if>
<if test="device != null and device >= 0">
device = #{device,jdbcType=INTEGER},
</if>
<if test="deviceCon != null and deviceCon >= 0">
deviceCon = #{deviceCon,jdbcType=INTEGER},
</if>
<if test="doctorWeek != null and doctorWeek >= 0">
doctorWeek = #{doctorWeek,jdbcType=INTEGER},
</if>
<if test="serviceWeek != null and serviceWeek >= 0">
serviceWeek = #{serviceWeek,jdbcType=INTEGER},
</if>
<if test="serStartWeek != null and serStartWeek >= 0">
serStartWeek = #{serStartWeek,jdbcType=INTEGER},
</if>
<if test="serEndWeek != null and serEndWeek >= 0">
serEndWeek = #{serEndWeek,jdbcType=INTEGER},
</if>
<if test="docStartWeek != null and docStartWeek >= 0">
docStartWeek = #{docStartWeek,jdbcType=INTEGER},
</if>
<if test="docEndWeek != null and docEndWeek >= 0">
docEndWeek = #{docEndWeek,jdbcType=INTEGER},
</if>
<if test="serStartTime != null">
serStartTime = #{serStartTime,jdbcType=TIMESTAMP},
</if>
<if test="serEndTime != null">
serEndTime = #{serEndTime,jdbcType=TIMESTAMP},
</if>
<if test="docStartTime != null">
docStartTime = #{docStartTime,jdbcType=TIMESTAMP},
</if>
<if test="docEndTime != null">
docEndTime = #{docEndTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<delete id="deletePatientService" parameterType="java.lang.String">
delete from patient_service where id = #{id,jdbcType=VARCHAR}
</delete>
<select id="getPatientService" resultMap="PatientServiceResultMap" parameterType="java.lang.String">
select id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,
update_date,update_user_name,update_user,hospital_id,ser_code,
status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old,per_type,
doctorWeek,serviceWeek
from patient_service where id = #{id,jdbcType=VARCHAR}
</select>
<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="PatientServiceCondition">
<where>
1 = 1
<if test="id != null and id != ''">
and id = #{id,jdbcType=VARCHAR}
</if>
<if test="parentid != null and parentid != ''">
and parentid = #{parentid,jdbcType=VARCHAR}
</if>
<if test="parentIds!=null">
and parentid in (
<foreach item="parentid" collection="parentIds" separator=",">
#{parentid}
</foreach>
)
</if>
<if test="pid != null and pid != ''">
and pid = #{pid,jdbcType=VARCHAR}
</if>
<if test="serType != null and serType >= 0">
and ser_type = #{serType,jdbcType=INTEGER}
</if>
<if test="serDoct != null and serDoct != ''">
and ser_doct = #{serDoct,jdbcType=VARCHAR}
</if>
<if test="createDate != null">
and create_date = #{createDate,jdbcType=TIMESTAMP}
</if>
<if test="createStartDate != null">
AND
<![CDATA[
DATEDIFF(#{createStartDate},create_date)<=0
]]>
</if>
<if test="createEndDate != null">
AND
<![CDATA[
DATEDIFF(#{createEndDate},create_date)>=0
]]>
</if>
<if test="createUserName != null and createUserName != ''">
and create_user_name = #{createUserName,jdbcType=VARCHAR}
</if>
<if test="createUser != null and createUser != ''">
and create_user = #{createUser,jdbcType=VARCHAR}
</if>
<if test="serStatus != null and serStatus >= 0">
and ser_status = #{serStatus,jdbcType=INTEGER}
</if>
<if test="updateDate != null">
and update_date = #{updateDate,jdbcType=TIMESTAMP}
</if>
<if test="updateUserName != null and updateUserName != ''">
and update_user_name = #{updateUserName,jdbcType=VARCHAR}
</if>
<if test="updateUser != null and updateUser != ''">
and update_user = #{updateUser,jdbcType=VARCHAR}
</if>
<if test="hospitalId != null and hospitalId != ''">
and hospital_id = #{hospitalId,jdbcType=VARCHAR}
</if>
<if test="serCode != null and serCode != ''">
and ser_code = #{serCode,jdbcType=VARCHAR}
</if>
<if test="status != null and status >= 0">
and status = #{status,jdbcType=INTEGER}
</if>
<if test="receiveDate != null">
and receive_date = #{receiveDate,jdbcType=TIMESTAMP}
</if>
<if test="receiveUser != null and receiveUser != ''">
and receive_user = #{receiveUser,jdbcType=VARCHAR}
</if>
<if test="backDate != null">
and back_date = #{backDate,jdbcType=TIMESTAMP}
</if>
<if test="backUser != null and backUser != ''">
and back_user = #{backUser,jdbcType=VARCHAR}
</if>
<if test="orderId != null and orderId != ''">
and order_id = #{orderId,jdbcType=VARCHAR}
</if>
<if test="synStatus != null and synStatus != ''">
and syn_status = #{synStatus,jdbcType=INTEGER}
</if>
<if test="isOld != null and isOld != ''">
and is_old = #{isOld,jdbcType=INTEGER}
</if>
<if test="perType != null and perType != ''">
and per_type = #{perType,jdbcType=INTEGER}
</if>
<if test="device != null and device >= 0">
and device = #{device,jdbcType=INTEGER}
</if>
<if test="deviceCon != null and deviceCon >= 0">
and deviceCon = #{deviceCon,jdbcType=INTEGER}
</if>
<if test="doctorWeek != null and doctorWeek >= 0">
and doctorWeek = #{doctorWeek,jdbcType=INTEGER}
</if>
<if test="serviceWeek != null and serviceWeek >= 0">
and serviceWeek = #{serviceWeek,jdbcType=INTEGER}
</if>
<if test="serStartWeek != null and serStartWeek >= 0">
and serStartWeek = #{serStartWeek,jdbcType=INTEGER}
</if>
<if test="serEndWeek != null and serEndWeek >= 0">
and serEndWeek = #{serEndWeek,jdbcType=INTEGER}
</if>
<if test="docStartWeek != null and docStartWeek >= 0">
and docStartWeek = #{docStartWeek,jdbcType=INTEGER}
</if>
<if test="docEndWeek != null and docEndWeek >= 0">
and docEndWeek = #{docEndWeek,jdbcType=INTEGER}
</if>
<if test="serStartTime != null">
and serStartTime = #{serStartTime,jdbcType=TIMESTAMP}
</if>
<if test="serEndTime != null">
AND
<![CDATA[
DATEDIFF(#{serEndTime},serEndTime)>=0
]]>
</if>
<if test="docStartTime != null">
and docStartTime = #{docStartTime,jdbcType=TIMESTAMP}
</if>
<if test="docEndTime != null">
AND
<![CDATA[
DATEDIFF(#{docEndTime},docEndTime)>=0
]]>
</if>
<if test="sql != null and sql != ''">
${sql}
</if>
</where>
</sql>
<select id="queryPatientService" resultMap="PatientServiceResultMap"
parameterType="com.lyms.platform.permission.model.PatientServiceQuery">
select
id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,update_date,update_user_name,update_user,
hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old,per_type,
device,deviceCon,doctorWeek,serviceWeek,serStartWeek,serEndWeek,serStartTime,serEndTime,docStartWeek,docEndWeek,docStartTime,docEndTime
from patient_service
<include refid="PatientServiceCondition"/>
<include refid="orderAndLimit"/>
</select>
<select id="selectServiceByHospital" resultType="java.util.HashMap">
SELECT
hso.ser_type as serType,hds.doct_id as doctId
FROM
`hospital_service_content` hso
INNER JOIN hospital_doct_service hds
on hso.id=hds.hosp_service_id
where hso.hospital_id=#{hospitalId} and hso.ser_type in (3,4,6)
</select>
<!--查询只开通了标准服务的数据 -->
<select id="selectOnlyBzService" resultType="java.util.HashMap"
parameterType="com.lyms.platform.permission.model.PatientServiceQuery">
SELECT * from (SELECT parentid,id,ser_type,create_date from patient_service where ser_status=1
<if test="perType != null and perType != ''">
and per_type = #{perType,jdbcType=INTEGER}
</if>
and ser_type in (1,6,10,11)
GROUP BY parentid HAVING count(parentid)=1 )as b
<if test="perType == 1">
where b.ser_type=6
</if>
<if test="perType == 2">
where b.ser_type=11
</if>
<include refid="orderAndLimit"/>
</select>
<!--查询只开通了标准服务的数据 -->
<select id="selectOnlyBzServiceCount" resultType="int"
parameterType="com.lyms.platform.permission.model.PatientServiceQuery">
SELECT count(1) from ( SELECT count(1) from (SELECT parentid,id,ser_type from patient_service where ser_status=1
<if test="perType != null and perType != ''">
and per_type = #{perType,jdbcType=INTEGER}
</if>
and ser_type in (1,6,10,11)
GROUP BY parentid HAVING count(parentid)=1) as b
<if test="perType == 1">
where b.ser_type=6
</if>
<if test="perType == 2">
where b.ser_type=11
</if>
) as c
</select>
<select id="getPatientServices" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
t.id as "id",
t.parentid as "parentId",
t.pid as "pId",
t.ser_type as "serType"
FROM
patient_service t
WHERE
t.per_type = #{map.perType}
<if test="map.serStatus != -1">
AND t.ser_status = #{map.serStatus}
</if>
<if test="map.parentId != null and map.parentId != ''">
AND t.parentid = #{map.parentId}
</if>
<if test="map.serType != null and map.serType != ''">
AND t.ser_type = #{map.serType}
</if>
</select>
<select id="queryPatientServiceCount" resultType="int"
parameterType="com.lyms.platform.permission.model.PatientServiceQuery">
select count(1) from patient_service
<include refid="PatientServiceCondition"/>
</select>
<select id="getServiceList" resultType="java.util.Map">
SELECT
o.name as "name",
o.province_id as "provinceId",
o.city_id as "cityId",
o.area_id as "areaId",
o.id as "hospitalId"
FROM patient_service ps
JOIN organization o
ON o.id = ps.hospital_id
WHERE ps.hospital_id = #{id}
<if test="query.startTime != null ">
AND ps.create_date >= #{query.startTime}
</if>
<if test="query.endTime != null ">
AND ps.create_date <= #{query.endTime}
</if>
<if test="query.serType != null and query.serType != '' ">
AND ps.ser_type = #{query.serType}
</if>
<if test="query.createUser != null and query.createUser != '' ">
AND ps.create_user = #{query.createUser}
</if>
<if test="query.operator != null and query.operator != '' ">
AND ps.update_user = #{query.operator}
</if>
<if test="query.serDoct != null and query.serDoct != '' ">
AND ps.ser_doct = #{query.serDoct}
</if>
<if test="query.provinceId != null and query.provinceId != '' ">
and o.province_id = #{query.provinceId}
</if>
<if test="query.cityId != null and query.cityId != ''">
and o.city_id = #{query.cityId}
</if>
<if test="query.areaId != null and query.areaId != ''">
and o.area_id = #{query.areaId}
</if>
GROUP BY o.name,o.province_id,
o.city_id,
o.area_id
</select>
<select id="countStatusInfo" resultType="int">
select count(1)
from patient_service ps
join organization o on o.id = ps.hospital_id
where 1=1
and ps.create_date >= #{param.startTime}
AND ps.create_date <= #{param.endTime}
and ps.ser_status = #{serStatus}
<if test="param.provinceId != null and param.provinceId != ''">
and o.province_id = #{param.provinceId}
</if>
<if test="param.cityId != null and param.cityId != ''">
and o.city_id = #{param.cityId}
</if>
<if test="param.areaId != null and param.areaId != ''">
and o.area_id = #{param.areaId}
</if>
<if test="ids.size() > 0">
and ps.hospital_id in
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.serType != null and param.serType != ''">
AND ps.ser_type = #{param.serType}
</if>
<if test="param.createUser != null and param.createUser != '' ">
AND ps.create_user = #{param.createUser}
</if>
<if test="param.operator != null and param.operator != '' ">
AND ps.update_user = #{param.operator}
</if>
<if test="param.serDoct != null and param.serDoct != '' ">
AND ps.ser_doct = #{param.serDoct}
</if>
</select>
<select id="getServeDetailList" parameterType="com.lyms.platform.permission.model.ServiceListQuery"
resultType="java.util.Map">
SELECT
ps.create_date as "createDate",
ps.parentid as "parentId",
ps.per_type as "perType", -- 1-孕妇、2-儿童
IFNULL(ps.serviceWeek, 24) as "serviceWeek",
ps.ser_type as "serType",
ps.ser_doct as "serDoct",
ps.create_user as "createUser",
ps.update_user as "updateUser",
CASE ps.ser_status
WHEN 1 THEN
'开通中'
WHEN 2 THEN
'退订'
WHEN 3 THEN
'过期'
WHEN 4 THEN
'暂停'
END AS "serStatus"
FROM
patient_service ps
JOIN organization o ON o.id = ps.hospital_id
WHERE 1=1
<if test="param.startTime != null">
and ps.create_date >= #{param.startTime}
</if>
<if test="param.endTime != null ">
AND ps.create_date <= #{param.endTime}
</if>
<if test="param.hospitalId != null and param.hospitalId != ''">
and o.id = #{param.hospitalId}
</if>
<if test="param.provinceId != null and param.provinceId != ''">
AND o.province_id = #{param.provinceId}
</if>
<if test="param.cityId != null and param.cityId != ''">
AND o.city_id = #{param.cityId}
</if>
<if test="param.areaId != null and param.areaId != ''">
AND o.area_id = #{param.areaId}
</if>
<if test="param.serStatus != null and param.serStatus != ''">
AND ps.ser_status = #{param.serStatus}
</if>
<if test="param.serType != null and param.serType != ''">
AND ps.ser_type = #{param.serType}
</if>
<if test="param.createUser != null and param.createUser != '' ">
AND ps.create_user = #{param.createUser}
</if>
<if test="param.operator != null and param.operator != '' ">
AND ps.update_user = #{param.operator}
</if>
<if test="param.serDoct != null and param.serDoct != '' ">
AND ps.ser_doct = #{param.serDoct}
</if>
order by ps.create_date desc
<if test="param.need != null">
limit #{param.offset, jdbcType=INTEGER} , #{param.limit, jdbcType=INTEGER}
</if>
</select>
<select id="getServeDetailListCount" parameterType="com.lyms.platform.permission.model.ServiceListQuery"
resultType="int">
SELECT
count(1)
FROM
patient_service ps
JOIN organization o ON o.id = ps.hospital_id
WHERE 1=1
<if test="param.hospitalId != null and param.hospitalId != ''">
and o.id = #{param.hospitalId}
</if>
<if test="param.provinceId != null and param.provinceId != ''">
AND o.province_id = #{param.provinceId}
</if>
<if test="param.cityId != null and param.cityId != ''">
AND o.city_id = #{param.cityId}
</if>
<if test="param.areaId != null and param.areaId != ''">
AND o.area_id = #{param.areaId}
</if>
<if test="param.serStatus != null and param.serStatus != ''">
AND ps.ser_status = #{param.serStatus}
</if>
<if test="param.serType != null and param.serType != ''">
AND ps.ser_type = #{param.serType}
</if>
<if test="param.createUser != null and param.createUser != '' ">
AND ps.create_user = #{param.createUser}
</if>
<if test="param.operator != null and param.operator != '' ">
AND ps.update_user = #{param.operator}
</if>
<if test="param.serDoct != null and param.serDoct != '' ">
AND ps.ser_doct = #{param.serDoct}
</if>
and ps.create_date >= #{param.startTime}
AND ps.create_date <= #{param.endTime}
</select>
<select id="getHospitalIds" resultType="string">
select
o.id as "hospitalId"
from organization o
join (select ps.hospital_id from patient_service ps
where ps.create_date >= #{param.startTime} and ps.create_date <= #{param.endTime}
<if test="param.serType != null and param.serType != ''">and ps.ser_type = #{param.serType}</if>
<if test="param.createUser != null and param.createUser != ''">and ps.create_user = #{param.createUser}</if>
<if test="param.operator != null and param.operator != ''">and ps.update_user = #{param.operator}</if>
<if test="param.serDoct != null and param.serDoct != ''">and ps.ser_doct = #{param.serDoct}</if>
group by ps.hospital_id)
t on t.hospital_id = o.id
where t.hospital_id in
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="param.provinceId != null and param.provinceId != ''">
and o.province_id = #{param.provinceId}
</if>
<if test="param.cityId != null and param.cityId != ''">
and o.city_id = #{param.cityId}
</if>
<if test="param.areaId != null and param.areaId != ''">
and o.area_id = #{param.areaId}
</if>
</select>
<select id="getServiceListByParentId" resultType="com.lyms.platform.permission.model.PatientService">
SELECT
id as id,
parentid as parentid,
ser_type as serType
FROM
patient_service
where parentid = #{patientsId} and ser_status = 1 and per_type = #{patientType}
</select>
</mapper>