592 lines
26 KiB
XML
592 lines
26 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.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> |