xinelu-api/xinelu-nurse-manage/src/main/resources/mapper/manage/hospitalpersoninfo/HospitalPersonInfoMapper.xml
2023-11-16 14:43:12 +08:00

596 lines
22 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.hospitalpersoninfo.HospitalPersonInfoMapper">
<resultMap type="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo" id="HospitalPersonInfoResult">
<result property="id" column="id"/>
<result property="hospitalId" column="hospital_id"/>
<result property="departmentId" column="department_id"/>
<result property="personCode" column="person_code"/>
<result property="personName" column="person_name"/>
<result property="personPhone" column="person_phone"/>
<result property="personAddress" column="person_address"/>
<result property="cardNo" column="card_no"/>
<result property="academicTitle" column="academic_title"/>
<result property="consultingFee" column="consulting_fee"/>
<result property="personIntroduce" column="person_introduce"/>
<result property="personSort" column="person_sort"/>
<result property="personPictureUrl" column="person_picture_url"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="personAccount" column="person_account"/>
<result property="personPassword" column="person_password"/>
<result property="status" column="status"/>
</resultMap>
<resultMap type="com.xinelu.manage.vo.hospitalpersoninfo.HospitalPersonInfoVO" id="HospitalPersonByIdVO">
<result property="id" column="id"/>
<result property="hospitalId" column="hospital_id"/>
<result property="departmentId" column="department_id"/>
<result property="personCode" column="person_code"/>
<result property="personName" column="person_name"/>
<result property="personPhone" column="person_phone"/>
<result property="personAddress" column="person_address"/>
<result property="sex" column="sex"/>
<result property="cardNo" column="card_no"/>
<result property="academicTitle" column="academic_title"/>
<result property="consultingFee" column="consulting_fee"/>
<result property="personIntroduce" column="person_introduce"/>
<result property="personSort" column="person_sort"/>
<result property="personPictureUrl" column="person_picture_url"/>
<result property="personAccount" column="person_account"/>
<result property="personPassword" column="person_password"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="hospitalName" column="hospital_name"/>
<result property="departmentName" column="department_name"/>
<result property="status" column="status"/>
<collection property="hospitalPersonCertificateList" javaType="java.util.List"
resultMap="HospitalPersonInfoById"/>
</resultMap>
<resultMap type="com.xinelu.manage.domain.hospitalpersoncertificate.HospitalPersonCertificate" id="HospitalPersonInfoById">
<result property="hospitalPersonId" column="hospital_person_id"/>
<result property="certificateName" column="certificate_name"/>
<result property="certificateCode" column="certificate_code"/>
<result property="certificateUrl" column="certificate_url"/>
<result property="certificateSort" column="certificate_sort"/>
</resultMap>
<sql id="selectHospitalPersonInfoVo">
select id,
hospital_id,
department_id,
person_code,
person_name,
person_phone,
person_address,
card_no,
academic_title,
consulting_fee,
person_introduce,
person_sort,
person_picture_url,
person_account,
person_password,
create_by,
create_time,
update_by,
update_time,
status
from hospital_person_info
</sql>
<select id="selectHospitalPersonInfoList"
parameterType="com.xinelu.manage.vo.hospitalpersoninfo.HospitalPersonInfoVO"
resultType="com.xinelu.manage.vo.hospitalpersoninfo.HospitalPersonInfoVO">
SELECT
hpi.id,
hpi.hospital_id,
hpi.department_id,
hi.hospital_name,
hdi.department_name,
hpi.person_code,
hpi.person_name,
hpi.person_phone,
hpi.person_address,
hpi.card_no,
hpi.academic_title,
hpi.consulting_fee,
hpi.person_introduce,
hpi.person_sort,
hpi.person_picture_url,
hpi.create_by,
hpi.create_time,
hpi.update_by,
hpi.update_time,
hpi.status
FROM
hospital_person_info hpi
LEFT JOIN hospital_department_info hdi ON hpi.department_id = hdi.id
LEFT JOIN hospital_info hi ON hpi.hospital_id = hi.id
<where>
<if test="hospitalId != null ">
and hpi.hospital_id = #{hospitalId}
</if>
<if test="departmentId != null ">
and hpi.department_id = #{departmentId}
</if>
<if test="personCode != null and personCode != ''">
and hpi.person_code = #{personCode}
</if>
<if test="personName != null and personName != ''">
and hpi.person_name like concat('%', #{personName}, '%')
</if>
<if test="personPhone != null and personPhone != ''">
and hpi.person_phone = #{personPhone}
</if>
<if test="personAddress != null and personAddress != ''">
and hpi.person_address = #{personAddress}
</if>
<if test="cardNo != null and cardNo != ''">
and hpi.card_no = #{cardNo}
</if>
<if test="academicTitle != null and academicTitle != ''">
and hpi.academic_title = #{academicTitle}
</if>
<if test="consultingFee != null ">
and hpi.consulting_fee = #{consultingFee}
</if>
<if test="personIntroduce != null and personIntroduce != ''">
and hpi.person_introduce = #{personIntroduce}
</if>
<if test="personSort != null ">
and hpi.person_sort = #{personSort}
</if>
<if test="status != null and status != ''">
and hpi.status = #{status}
</if>
<!-- 数据范围过滤 -->
${params.dataScope}
</where>
ORDER BY id DESC
</select>
<select id="selectList"
parameterType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo"
resultType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo">
SELECT hpi.id, hpi.hospital_id, hpi.department_id,
hpi.person_code,
hpi.person_name,
hpi.person_phone,
hpi.person_address,
hpi.card_no,
hpi.academic_title,
hpi.consulting_fee,
hpi.person_introduce,
hpi.person_sort,
hpi.person_picture_url,
hpi.create_by,
hpi.create_time,
hpi.update_by,
hpi.update_time,
status
FROM hospital_person_info hpi
<where>
<if test="hospitalId != null ">
and hpi.hospital_id = #{hospitalId}
</if>
<if test="departmentId != null ">
and hpi.department_id = #{departmentId}
</if>
<if test="personCode != null and personCode != ''">
and hpi.person_code = #{personCode}
</if>
<if test="personName != null and personName != ''">
and hpi.person_name like concat('%', #{personName}, '%')
</if>
<if test="academicTitle != null and academicTitle != ''">
and hpi.academic_title = #{academicTitle}
</if>
<if test="status != null and status != ''">
and hpi.status = #{status}
</if>
</where>
ORDER BY id DESC
</select>
<select id="selectHospitalPersonInfoById" parameterType="Long"
resultMap="HospitalPersonByIdVO">
SELECT hpi.id,
hpi.hospital_id,
hpi.department_id,
hi.hospital_name,
hdi.department_name,
hpi.person_code,
hpi.person_name,
hpi.person_phone,
hpi.person_address,
hpi.sex,
hpi.card_no,
hpi.academic_title,
hpi.consulting_fee,
hpi.person_introduce,
hpi.person_sort,
hpi.person_picture_url,
hpi.person_account,
hpi.person_password,
hpi.create_by,
hpi.create_time,
hpi.update_by,
hpi.update_time,
hpi.status,
hpc.hospital_person_id,
hpc.certificate_name,
hpc.certificate_code,
hpc.certificate_url,
hpc.certificate_sort
FROM hospital_person_info hpi
LEFT JOIN hospital_department_info hdi ON hpi.department_id = hdi.id
LEFT JOIN hospital_person_certificate hpc ON hpi.id = hpc.hospital_person_id
LEFT JOIN hospital_info hi ON hpi.hospital_id = hi.id
where hpi.id = #{id}
</select>
<insert id="insertHospitalPersonInfo" parameterType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo" useGeneratedKeys="true"
keyProperty="id">
insert into hospital_person_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hospitalId != null">hospital_id,
</if>
<if test="departmentId != null">department_id,
</if>
<if test="personCode != null">person_code,
</if>
<if test="personName != null">person_name,
</if>
person_phone,
<if test="personAddress != null">person_address,
</if>
card_no,
<if test="academicTitle != null">academic_title,
</if>
<if test="consultingFee != null">consulting_fee,
</if>
<if test="personIntroduce != null">person_introduce,
</if>
<if test="personSort != null">person_sort,
</if>
<if test="personPictureUrl != null">person_picture_url,
</if>
<if test="personAccount != null">person_account,
</if>
<if test="personPassword != null">person_password,
</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>
<if test="status != null">
status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hospitalId != null">#{hospitalId},
</if>
<if test="departmentId != null">#{departmentId},
</if>
<if test="personCode != null">#{personCode},
</if>
<if test="personName != null">#{personName},
</if>
#{personPhone},
<if test="personAddress != null">#{personAddress},
</if>
#{cardNo},
<if test="academicTitle != null">#{academicTitle},
</if>
<if test="consultingFee != null">#{consultingFee},
</if>
<if test="personIntroduce != null">#{personIntroduce},
</if>
<if test="personSort != null">#{personSort},
</if>
<if test="personPictureUrl != null">#{personPictureUrl},
</if>
<if test="personAccount != null">#{personAccount},
</if>
<if test="personPassword != null">#{personPassword},
</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>
<if test="status != null">
#{status},
</if>
</trim>
</insert>
<update id="updateHospitalPersonInfo" parameterType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo">
update hospital_person_info
<trim prefix="SET" suffixOverrides=",">
<if test="hospitalId != null">hospital_id =
#{hospitalId},
</if>
<if test="departmentId != null">department_id =
#{departmentId},
</if>
<if test="personCode != null">person_code =
#{personCode},
</if>
<if test="personName != null">person_name =
#{personName},
</if>
person_phone = #{personPhone},
<if test="personAddress != null">person_address =
#{personAddress},
</if>
card_no = #{cardNo},
<if test="academicTitle != null">academic_title =
#{academicTitle},
</if>
<if test="consultingFee != null">consulting_fee =
#{consultingFee},
</if>
<if test="personIntroduce != null">person_introduce =
#{personIntroduce},
</if>
<if test="personSort != null">person_sort =
#{personSort},
</if>
<if test="personPictureUrl != null">person_picture_url =
#{personPictureUrl},
</if>
<if test="personAccount != null">person_account =
#{personAccount},
</if>
<if test="personPassword != null">person_password =
#{personPassword},
</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>
<if test="status != null">
status = #{status},
</if>
</trim>
where id = #{id}
</update>
<update id="editHospitalPersonInfo" parameterType="com.xinelu.manage.dto.hospitalpersoninfo.HospitalPersonInfoDtoo">
update hospital_person_info
<trim prefix="SET" suffixOverrides=",">
<if test="hospitalId != null">hospital_id =
#{hospitalId},
</if>
<if test="departmentId != null">department_id =
#{departmentId},
</if>
<if test="personCode != null">person_code =
#{personCode},
</if>
<if test="personName != null">person_name =
#{personName},
</if>
person_phone = #{personPhone},
<if test="personAddress != null">person_address =
#{personAddress},
</if>
card_no = #{cardNo},
<if test="academicTitle != null">academic_title =
#{academicTitle},
</if>
<if test="consultingFee != null">consulting_fee =
#{consultingFee},
</if>
<if test="personIntroduce != null">person_introduce =
#{personIntroduce},
</if>
<if test="personSort != null">person_sort =
#{personSort},
</if>
<if test="personPictureUrl != null">person_picture_url =
#{personPictureUrl},
</if>
<if test="personAccount != null">person_account =
#{personAccount},
</if>
<if test="personPassword != null">person_password =
#{personPassword},
</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>
<if test="status != null">
status = #{status},
</if>
</trim>
where id = #{id}
</update>
<delete id="deleteHospitalPersonInfoById" parameterType="Long">
delete
from hospital_person_info
where id = #{id}
</delete>
<delete id="deleteHospitalPersonInfoByIds" parameterType="String">
delete from hospital_person_info where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<select id="selectHospitalPersonInfoByCount" resultType="java.lang.Integer">
select
count(1)
from hospital_person_info
<where>
<if test="personPhone != null and personPhone != ''">
and person_phone = #{personPhone}
</if>
<if test="cardNo != null and cardNo != ''">
and card_no = #{cardNo}
</if>
</where>
</select>
<select id="selectHospitalPersonByIds" parameterType="Long"
resultType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo">
select id,
hospital_id,
department_id,
person_code,
person_name,
person_phone,
person_address,
card_no,
academic_title,
consulting_fee,
person_introduce,
person_sort,
person_picture_url,
create_by,
create_time,
update_by,
update_time,
status
from hospital_person_info
<where>
<if test="hospitalPersonIdsList != null and hospitalPersonIdsList.size()>0 ">
and id in
<foreach item="hospitalPersonIds" collection="hospitalPersonIdsList" open="(" separator=","
close=")">
#{hospitalPersonIds}
</foreach>
</if>
</where>
</select>
<select id="selectHospitalPerson"
parameterType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo"
resultType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo">
select id,
department_id,
person_name,
person_picture_url,
academic_title,
consulting_fee,
person_introduce
from hospital_person_info
where department_id = #{departmentId}
<if test="status != null and status != ''">
and status = #{status}
</if>
order by person_sort asc
</select>
<select id="selectHospitalPersonInfoByIdCount" resultType="int">
select
count(1)
from hospital_person_info
<where>
<if test="id != null ">
and id = #{id}
</if>
</where>
</select>
<!-- 根据科室人员编码查询人员信息 -->
<select id="getByPersonCode" resultType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo">
<include refid="selectHospitalPersonInfoVo"></include>
where person_code = #{personCode}
<if test="status != null and status != ''">
and status = #{status}
</if>
limit 1
</select>
<!-- 根据科室人员编号更新 -->
<update id="updateByPersonCode" parameterType="com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo">
update hospital_person_info
<trim prefix="SET" suffixOverrides=",">
<if test="hospitalId != null">hospital_id =
#{hospitalId},
</if>
<if test="departmentId != null">department_id =
#{departmentId},
</if>
<if test="personName != null">person_name =
#{personName},
</if>
<if test="personPhone != null">
person_phone = #{personPhone},
</if>
<if test="personAddress != null">person_address =
#{personAddress},
</if>
<if test="cardNo != null">
card_no = #{cardNo},
</if>
<if test="academicTitle != null">academic_title =
#{academicTitle},
</if>
<if test="consultingFee != null">consulting_fee =
#{consultingFee},
</if>
<if test="personIntroduce != null">person_introduce =
#{personIntroduce},
</if>
<if test="personSort != null">person_sort =
#{personSort},
</if>
<if test="personPictureUrl != null">person_picture_url =
#{personPictureUrl},
</if>
<if test="personAccount != null">person_account =
#{personAccount},
</if>
<if test="personPassword != null">person_password =
#{personPassword},
</if>
<if test="updateBy != null">update_by =
#{updateBy},
</if>
<if test="status != null">
status = #{status},
</if>
update_time = now(),
</trim>
where person_code = #{personCode}
</update>
</mapper>