safety-eval-service/safety-eval-infrastructure/src/main/resources/mapper/OrgPersonnelMapper.xml

72 lines
4.0 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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="org.qinan.safetyeval.infrastructure.mapper.OrgPersonnelMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDO">
<id column="id" property="id"/>
<result column="org_id" property="orgId"/>
<result column="dept_id" property="deptId"/>
<result column="post_id" property="postId"/>
<result column="user_name" property="userName"/>
<result column="account" property="account"/>
<result column="gender_code" property="genderCode"/>
<result column="gender_name" property="genderName"/>
<result column="birth_date" property="birthDate"/>
<result column="id_card_no" property="idCardNo"/>
<result column="current_address" property="currentAddress"/>
<result column="office_address" property="officeAddress"/>
<result column="education_code" property="educationCode"/>
<result column="education_name" property="educationName"/>
<result column="graduate_school" property="graduateSchool"/>
<result column="major" property="major"/>
<result column="basic_discipline_major_id" property="basicDisciplineMajorId"/>
<result column="employment_status_code" property="employmentStatusCode"/>
<result column="employment_status_name" property="employmentStatusName"/>
<result column="delete_enum" property="deleteEnum"/>
<result column="remarks" property="remarks"/>
<result column="create_name" property="createName"/>
<result column="update_name" property="updateName"/>
<result column="tenant_id" property="tenantId"/>
<result column="version" property="version"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="create_id" property="createId"/>
<result column="update_id" property="updateId"/>
<result column="env" property="env"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
`id`, `org_id`, `dept_id`, `post_id`, `user_name`, `account`, `gender_code`, `gender_name`, `birth_date`, `id_card_no`, `current_address`, `office_address`, `education_code`, `education_name`, `graduate_school`, `major`, `employment_status_code`, `employment_status_name`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env`
</sql>
<!-- 根据人员id列表统计技术负责人和过程控制负责人数量按业务范围分组 -->
<select id="countLeaderFlags" resultType="org.qinan.safetyeval.infrastructure.persistence.domainobject.OrgPersonnelLeaderCountDO">
SELECT
qual_scope,
COUNT(CASE WHEN technical_director_flag = 1 THEN 1 END) AS technical_director_count,
COUNT(CASE WHEN process_control_leader_flag = 1 THEN 1 END) AS process_control_leader_count
FROM org_personnel
WHERE delete_enum = 'false'
AND id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
GROUP BY qual_scope
</select>
<!-- 根据人员id列表查询专业能力code关联 basic_discipline_major -->
<select id="selectProfessionalCapabilityByPersonnelIds" resultType="org.qinan.safetyeval.client.co.IndustryProfessionalPersonCo">
SELECT p.id AS source_personnel_id, bdm.professional_capability_code, bdm.industry_code
FROM org_personnel p
JOIN basic_discipline_major bdm ON p.basic_discipline_major_id = bdm.id
WHERE p.delete_enum = 'false'
AND p.id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</mapper>