hd_real_name/target/classes/mappers/basic/IntegratedQueryMapper.xml

592 lines
26 KiB
XML
Raw Normal View History

2025-03-17 15:01:27 +08:00
<?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.bonus.gzrn.rnbmw.basic.dao.IntegratedQueryDao">
<select id="getProQueryListCount" resultType="java.lang.Integer">
select COUNT(1) from (
select
count(1)
FROM
bm_project bp
LEFT JOIN sys_dic_detail sdd on sdd.id = bp.voltage_level
LEFT JOIN bm_worker_record bwr ON bwr.project_id = bp.id and IFNULL( bwr.TEAM_ID, '' ) != '' and bwr.IS_ACTIVE = '1'
LEFT JOIN bm_subcontractor bs ON bwr.SUB_ID = bs.id and bs.IS_ACTIVE = '1'
LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr.ID_NUMBER and bot.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
WHERE bp.IS_ACTIVE = '1' and bs.id is not null
<if test="params != null and params != ''">
<if test="params.companyId != null and params.companyId != ''">
AND bp.company_id = #{params.companyId}
</if>
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
</if>
GROUP BY bp.id
) a
</select>
<select id="getProQueryList" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProjectQueryBean">
select
bp.id,
bp.`name` as proName,
bp.pro_type as proType,
sdd.`NAME` as voltageLevel,
COUNT(DISTINCT bs.id) as subCount,
COUNT(DISTINCT bst.id) as teamCount,
COUNT(DISTINCT IF(bwr.ein_status = '1',bot.id,NULL) ) as outstandingTeamCount,
COUNT( DISTINCT IF(bwr.ein_status = '1',bwr.ID_NUMBER,NULL) ) AS inPlaceCount,
COUNT( DISTINCT IF(bwr.ein_status = '1',brw.ID_NUMBER,NULL) ) AS redCount,
bp.status
FROM
bm_project bp
LEFT JOIN sys_dic_detail sdd on sdd.id = bp.voltage_level
LEFT JOIN bm_worker_record bwr ON bwr.project_id = bp.id and IFNULL( bwr.TEAM_ID, '' ) != '' and bwr.IS_ACTIVE = '1'
LEFT JOIN bm_subcontractor bs ON bwr.SUB_ID = bs.id and bs.IS_ACTIVE = '1'
LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr.ID_NUMBER and bot.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
WHERE bp.IS_ACTIVE = '1' and bs.id is not null
<if test="params != null and params != ''">
<if test="params.companyId != null and params.companyId != ''">
AND bp.company_id = #{params.companyId}
</if>
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
</if>
GROUP BY bp.id
limit #{offset}, #{limit}
</select>
<select id="getSubByProListCount" resultType="java.lang.Integer">
select COUNT(1) from
(select
COUNT(1)
FROM
bm_project bp
LEFT JOIN bm_worker_record bwr ON bwr.project_id = bp.id and IFNULL( bwr.TEAM_ID, '' ) != '' and bwr.IS_ACTIVE = '1'
LEFT JOIN bm_subcontractor bs ON bwr.SUB_ID = bs.id and bs.IS_ACTIVE = '1'
LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
LEFT JOIN bm_worker_record bwr2 ON bwr2.team_id = bst.id
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bwr2.project_id = #{params.proId}
</if>
</if>
and bwr2.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr.ID_NUMBER and bot.IS_ACTIVE = '1'
WHERE
bp.IS_ACTIVE = '1'
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
</if>
and bs.id is not null
GROUP BY bp.id,bs.id
)a
</select>
<select id="getSubByProList" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProjectQueryBean">
select
bp.id,
bp.`name` as proName,
bs.id as subId,
bs.SUB_NAME as subName,
COUNT(DISTINCT bst.id) as teamCount,
COUNT(DISTINCT IF(bwr2.ein_status = '1',bot.id,NULL) ) as outstandingTeamCount,
COUNT( DISTINCT IF(bwr2.ein_status = '1',bwr2.ID_NUMBER,NULL) ) AS inPlaceCount,
COUNT( DISTINCT IF(bwr2.ein_status = '1',brw.ID_NUMBER,NULL) ) AS redCount
FROM
bm_project bp
LEFT JOIN bm_worker_record bwr ON bwr.project_id = bp.id and IFNULL( bwr.TEAM_ID, '' ) != '' and bwr.IS_ACTIVE = '1'
LEFT JOIN bm_subcontractor bs ON bwr.SUB_ID = bs.id and bs.IS_ACTIVE = '1'
LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
LEFT JOIN bm_worker_record bwr2 ON bwr2.team_id = bst.id
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bwr2.project_id = #{params.proId}
</if>
</if>
and bwr2.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr.ID_NUMBER and bot.IS_ACTIVE = '1'
WHERE
bp.IS_ACTIVE = '1'
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
</if>
and bs.id is not null
GROUP BY bp.id,bs.id
limit #{offset}, #{limit}
</select>
<select id="getTeamByProListCount" resultType="java.lang.Integer">
select COUNT(1) from (
SELECT
COUNT(1)
FROM
bm_project bp
LEFT JOIN bm_worker_record bwr ON bwr.project_id = bp.id and IFNULL( bwr.TEAM_ID, '' ) != '' and bwr.IS_ACTIVE = '1'
LEFT JOIN bm_subcontractor bs ON bwr.SUB_ID = bs.id and bs.IS_ACTIVE = '1'
LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
LEFT JOIN bm_worker_record bwr2 ON bwr2.team_id = bst.id
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bwr2.project_id = #{params.proId}
</if>
<if test="params.subId != null and params.subId != ''">
AND bwr2.SUB_ID = #{params.subId}
</if>
</if>
AND bwr2.ein_status = '1'
and bwr2.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr.ID_NUMBER and bot.IS_ACTIVE = '1'
WHERE bp.IS_ACTIVE = '1' and bst.`NAME` is not null
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
<if test="params.keyWord != null and params.keyWord != ''">
AND (
bp.`NAME` like concat('%',#{params.keyWord},'%')
or bs.SUB_NAME like concat('%',#{params.keyWord},'%')
or bst.`NAME` like concat('%',#{params.keyWord},'%')
)
</if>
</if>
GROUP BY bp.id,bs.id,bst.id
)a
</select>
<select id="getTeamByProList" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProjectQueryBean">
SELECT
bp.id,
bp.`name` as proName,
bs.id as subId,
bs.SUB_NAME as subName,
bst.id as teamId,
bst.`NAME` as teamName,
COUNT(DISTINCT bwr2.ID_NUMBER) as inPlaceCount,
IF(SUM(IF(bot.foreman_idnumber is not null,1,0))>0,1,0) as isOutstanding
FROM
bm_project bp
LEFT JOIN bm_worker_record bwr ON bwr.project_id = bp.id and IFNULL( bwr.TEAM_ID, '' ) != '' and bwr.IS_ACTIVE = '1'
LEFT JOIN bm_subcontractor bs ON bwr.SUB_ID = bs.id and bs.IS_ACTIVE = '1'
LEFT JOIN bm_sub_team bst on bst.SUB_ID = bs.ID and bst.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
LEFT JOIN bm_worker_record bwr2 ON bwr2.team_id = bst.id and bst.`NAME` is not null
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bwr2.project_id = #{params.proId}
</if>
<if test="params.subId != null and params.subId != ''">
AND bwr2.SUB_ID = #{params.subId}
</if>
</if>
AND bwr2.ein_status = '1'
and bwr2.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot on bot.foreman_idnumber = bwr2.ID_NUMBER and bot.IS_ACTIVE = '1'
WHERE bp.IS_ACTIVE = '1' and bst.`NAME` is not null
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
<if test="params.keyWord != null and params.keyWord != ''">
AND (
bp.`NAME` like concat('%',#{params.keyWord},'%')
or bs.SUB_NAME like concat('%',#{params.keyWord},'%')
or bst.`NAME` like concat('%',#{params.keyWord},'%')
)
</if>
</if>
GROUP BY bp.id,bs.id,bst.id
LIMIT #{offset}, #{limit}
</select>
<select id="getPersonByProListCount" resultType="java.lang.Integer">
select COUNT(1) from (
SELECT
bwr.ID_NUMBER as idNumber,
bw.`NAME`,
sdd.`name` as postName,
bwr.EIN_TIME as einTime,
bst.id AS teamId,
bst.`NAME` AS teamName,
bs.id AS subId,
bs.SUB_NAME AS subName,
bp.name as proName,
IF(brw.ID_NUMBER is not null,1,0) as isRedList
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER AND bw.IS_ACTIVE = '1'
LEFT JOIN sys_dic_detail sdd ON bwr.POST_ID = sdd.id AND sdd.dic_type = '3' AND sdd.is_active = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.PROJECT_ID AND bp.is_active = '1'
LEFT JOIN bm_redlist_worker brw on bwr.ID_NUMBER = brw.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
AND bwr.ein_status = '1'
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
<if test="params.teamId != null and params.teamId != ''">
AND bst.id = #{params.teamId}
</if>
<if test="params.keyWord != null and params.keyWord != ''">
AND (
bw.`NAME` like concat('%',#{params.keyWord},'%')
or bwr.ID_NUMBER like concat('%',#{params.keyWord},'%')
or sdd.`name` like concat('%',#{params.keyWord},'%')
)
</if>
</if>
)a
</select>
<select id="getPersonByProList" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProjectQueryBean">
SELECT
bwr.ID_NUMBER as idNumber,
bw.`NAME`,
sdd.`name` as postName,
bwr.EIN_TIME as einTime,
bst.id AS teamId,
bst.`NAME` AS teamName,
bs.id AS subId,
bs.SUB_NAME AS subName,
bp.name as proName,
IF(brw.ID_NUMBER is not null,1,0) as isRedList
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER AND bw.IS_ACTIVE = '1'
LEFT JOIN sys_dic_detail sdd ON bwr.POST_ID = sdd.id AND sdd.dic_type = '3' AND sdd.is_active = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.PROJECT_ID AND bp.is_active = '1'
LEFT JOIN bm_redlist_worker brw on bwr.ID_NUMBER = brw.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
AND bwr.ein_status = '1'
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
<if test="params.teamId != null and params.teamId != ''">
AND bst.id = #{params.teamId}
</if>
<if test="params.keyWord != null and params.keyWord != ''">
AND (
bw.`NAME` like concat('%',#{params.keyWord},'%')
or bwr.ID_NUMBER like concat('%',#{params.keyWord},'%')
or sdd.`name` like concat('%',#{params.keyWord},'%')
)
</if>
LIMIT #{offset}, #{limit}
</if>
</select>
<!-- ==========分包查询=========== -->
<select id="getSubQueryListCount" resultType="java.lang.Integer">
select count(1) from (
SELECT
bs.id
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id
AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id
AND IFNULL( bwr.TEAM_ID, '' ) != ''
AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.project_id
AND bp.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot ON bot.foreman_idnumber = bwr.ID_NUMBER AND bot.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
<if test="params != null and params != ''">
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
</if>
GROUP BY
bs.id
)a
</select>
<select id="getSubQueryList" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProjectQueryBean">
SELECT
bs.id,
bs.SUB_NAME AS subName,
bs.REPRESENT,
bs.RE_CONTACT as phone,
COUNT( DISTINCT bp.id ) AS proCount,
COUNT( DISTINCT bst.id ) AS teamCount,
COUNT( DISTINCT IF(bwr.ein_status = '1',bot.id,NULL) ) AS outstandingTeamCount,
COUNT( DISTINCT IF ( bwr.ein_status = '1', bwr.ID_NUMBER, NULL ) ) AS inPlaceCount,
COUNT( DISTINCT IF ( bwr.ein_status = '1', brw.ID_NUMBER, NULL ) ) AS redCount
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id
AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id
AND IFNULL( bwr.TEAM_ID, '' ) != ''
AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.project_id
AND bp.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot ON bot.foreman_idnumber = bwr.ID_NUMBER AND bot.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
<if test="params != null and params != ''">
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
</if>
GROUP BY
bs.id
LIMIT #{offset}, #{limit}
</select>
<select id="getProBySubListCount" resultType="java.lang.Integer">
select count(1) from (
SELECT
bp.id as proId
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id
AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id
AND IFNULL( bwr.TEAM_ID, '' ) != ''
AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.project_id
AND bp.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot ON bot.foreman_idnumber = bwr.ID_NUMBER AND bot.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
<if test="params != null and params != ''">
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
</if>
and bp.id is not null
GROUP BY
bs.id,bp.id
)a
</select>
<!-- and bst.id = bwr.TEAM_ID -->
<select id="getProBySubList" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProjectQueryBean">
SELECT
bs.SUB_NAME AS subName,
bp.id as proId,
bp.name as proName,
bp.`status`,
COUNT( DISTINCT bst.id ) AS teamCount,
COUNT( DISTINCT IF(bwr.ein_status = '1',bot.id,NULL) ) AS outstandingTeamCount,
COUNT( DISTINCT IF ( bwr.ein_status = '1', bwr.ID_NUMBER, NULL ) ) AS inPlaceCount,
COUNT( DISTINCT IF ( bwr.ein_status = '1', brw.ID_NUMBER, NULL ) ) AS redCount
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id
AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id
AND IFNULL( bwr.TEAM_ID, '' ) != ''
AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.project_id
AND bp.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot ON bot.foreman_idnumber = bwr.ID_NUMBER AND bot.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
<if test="params != null and params != ''">
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
</if>
and bp.id is not null
GROUP BY
bs.id,bp.id
LIMIT #{offset}, #{limit}
</select>
<select id="getTeamBySubListCount" resultType="java.lang.Integer">
select count(1) from (
SELECT
bp.id as proId
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id
AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id
AND IFNULL( bwr.TEAM_ID, '' ) != ''
AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.project_id
AND bp.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot ON bot.foreman_idnumber = bwr.ID_NUMBER AND bot.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
<if test="params != null and params != ''">
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
<if test="params.keyWord != null and params.keyWord != ''">
AND (
bp.`NAME` like concat('%',#{params.keyWord},'%')
or bs.SUB_NAME like concat('%',#{params.keyWord},'%')
or bst.`NAME` like concat('%',#{params.keyWord},'%')
)
</if>
</if>
and bst.id is not null
GROUP BY
bs.id,bp.id,bst.id
)a
</select>
<select id="getTeamBySubList" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProjectQueryBean">
SELECT
bs.sub_name as subName,
bp.id as proId,
bp.name as proName,
bp.`status`,
bst.id AS teamId,
bst.name AS teamName,
COUNT( DISTINCT IF ( bwr.ein_status = '1', bwr.ID_NUMBER, NULL ) ) AS inPlaceCount,
IF(SUM(IF(bot.foreman_idnumber is not null,1,0))>0,1,0) as isOutstanding
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id
AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id
AND IFNULL( bwr.TEAM_ID, '' ) != ''
AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.project_id
AND bp.IS_ACTIVE = '1'
LEFT JOIN bm_outstanding_team bot ON bot.foreman_idnumber = bwr.ID_NUMBER AND bot.IS_ACTIVE = '1'
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = bwr.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
<if test="params != null and params != ''">
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
<if test="params.keyWord != null and params.keyWord != ''">
AND (
bp.`NAME` like concat('%',#{params.keyWord},'%')
or bs.SUB_NAME like concat('%',#{params.keyWord},'%')
or bst.`NAME` like concat('%',#{params.keyWord},'%')
)
</if>
</if>
and bst.id is not null
GROUP BY
bs.id,bp.id,bst.id
LIMIT #{offset}, #{limit}
</select>
<select id="getPersonBySubListCount" resultType="java.lang.Integer">
select COUNT(1) from (
SELECT
bwr.ID_NUMBER as idNumber
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER AND bw.IS_ACTIVE = '1'
LEFT JOIN sys_dic_detail sdd ON bwr.POST_ID = sdd.id AND sdd.dic_type = '3' AND sdd.is_active = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.PROJECT_ID AND bp.is_active = '1'
LEFT JOIN bm_redlist_worker brw on bwr.ID_NUMBER = brw.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
AND bwr.ein_status = '1'
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
<if test="params.teamId != null and params.teamId != ''">
AND bst.id = #{params.teamId}
</if>
<if test="params.keyWord != null and params.keyWord != ''">
AND (
bp.`NAME` like concat('%',#{params.keyWord},'%')
or bs.SUB_NAME like concat('%',#{params.keyWord},'%')
or bst.`NAME` like concat('%',#{params.keyWord},'%')
)
</if>
</if>
)a
</select>
<select id="getPersonBySubList" resultType="com.bonus.gzrn.rnbmw.basic.entity.ProjectQueryBean">
SELECT
bwr.ID_NUMBER as idNumber,
bw.`NAME`,
sdd.`name` as postName,
bwr.EIN_TIME as einTime,
bst.id AS teamId,
bst.`NAME` AS teamName,
bs.id AS subId,
bs.SUB_NAME AS subName,
bp.name as proName,
IF(brw.ID_NUMBER is not null,1,0) as isRedList
FROM
bm_subcontractor bs
LEFT JOIN bm_sub_team bst ON bst.SUB_ID = bs.id AND bst.IS_ACTIVE = '1'
LEFT JOIN bm_worker_record bwr ON bwr.TEAM_ID = bst.id AND bwr.IS_ACTIVE = '1'
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER AND bw.IS_ACTIVE = '1'
LEFT JOIN sys_dic_detail sdd ON bwr.POST_ID = sdd.id AND sdd.dic_type = '3' AND sdd.is_active = '1'
LEFT JOIN bm_project bp ON bp.id = bwr.PROJECT_ID AND bp.is_active = '1'
LEFT JOIN bm_redlist_worker brw on bwr.ID_NUMBER = brw.ID_NUMBER
WHERE
bs.IS_ACTIVE = '1'
AND bwr.ein_status = '1'
<if test="params != null and params != ''">
<if test="params.proId != null and params.proId != ''">
AND bp.id = #{params.proId}
</if>
<if test="params.subId != null and params.subId != ''">
AND bs.id = #{params.subId}
</if>
<if test="params.teamId != null and params.teamId != ''">
AND bst.id = #{params.teamId}
</if>
<if test="params.keyWord != null and params.keyWord != ''">
AND (
bw.`NAME` like concat('%',#{params.keyWord},'%')
or bwr.ID_NUMBER like concat('%',#{params.keyWord},'%')
or sdd.`name` like concat('%',#{params.keyWord},'%')
)
</if>
</if>
LIMIT #{offset}, #{limit}
</select>
</mapper>