251 lines
11 KiB
XML
251 lines
11 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.person.dao.RedListDao">
|
|
<select id="getRedlist" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
SELECT
|
|
brw.`name`,brw.id_number AS idNumber,
|
|
brw.remark,brw.post AS post,bw.ADDRESS AS address,brw.phone AS phone,
|
|
brw.sub_name as subName,brw.pro_name as proName,brw.add_time as addTime
|
|
FROM bm_redlist_worker brw
|
|
LEFT JOIN bm_worker_record bmr ON bmr.ID_NUMBER = brw.id_number
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = brw.ID_NUMBER
|
|
LEFT JOIN bm_project bp ON bp.ID = bmr.project_id
|
|
where 1=1
|
|
<if test="params.name!=null and params.name!='' ">
|
|
and brw.`name` like concat ('%',#{params.name},'%')
|
|
</if>
|
|
<if test="params.idNumber!=null and params.idNumber!='' ">
|
|
and brw.id_number like concat ('%',#{params.idNumber},'%')
|
|
</if>
|
|
<if test="params.post!=null and params.post!='' ">
|
|
and brw.post like concat ('%',#{params.post},'%')
|
|
</if>
|
|
<if test="params.orgId!=null and params.orgId!='' ">
|
|
and bp.`company_id` = #{params.orgId}
|
|
</if>
|
|
order by brw.add_time desc
|
|
limit #{offset}, #{limit}
|
|
</select>
|
|
|
|
<select id="getRedlistCount" resultType="java.lang.Integer">
|
|
select COUNT(brw.id_number)
|
|
FROM bm_redlist_worker brw
|
|
LEFT JOIN bm_worker_record bmr ON bmr.ID_NUMBER = brw.id_number
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = brw.ID_NUMBER
|
|
LEFT JOIN bm_project bp ON bp.ID = bmr.project_id
|
|
where 1=1
|
|
<if test="params.name!=null and params.name!='' ">
|
|
and brw.`name` like concat ('%',#{params.name},'%')
|
|
</if>
|
|
<if test="params.idNumber!=null and params.idNumber!='' ">
|
|
and brw.id_number like concat ('%',#{params.idNumber},'%')
|
|
</if>
|
|
<if test="params.post!=null and params.post!='' ">
|
|
and brw.post like concat ('%',#{params.post},'%')
|
|
</if>
|
|
<if test="params.orgId!=null and params.orgId!='' ">
|
|
and bp.`company_id` = #{params.orgId}
|
|
</if>
|
|
ORDER BY brw.add_time DESC
|
|
</select>
|
|
|
|
|
|
<select id="getRedlistById" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
SELECT brw.`name` as name,brw.id_number as idNumber,
|
|
if(brw.id_number is null or brw.id_number = '','无身份证',
|
|
(substring(now(),1,4)-substring(brw.id_number,7,4)) - (substring(brw.id_number,11,4) - date_format(now(),'%m%d') > 0)
|
|
) as age,
|
|
brw.post as post,bm_worker.ADDRESS as address,
|
|
brw.phone as phone,brw.remark as remark
|
|
FROM bm_redlist_worker brw
|
|
LEFT JOIN bm_worker ON bm_worker.ID_NUMBER = brw.id_number
|
|
where brw.id_number = #{idNumber}
|
|
</select>
|
|
|
|
<!--红名单人员 获取 施工人员信息-->
|
|
<select id="getRedPersonList" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
select distinct bw.ID_NUMBER as idNumber , bw.NAME as name,
|
|
if(bw.ID_NUMBER is null or bw.ID_NUMBER = '','无身份证',
|
|
(substring(now(),1,4)-substring(bw.ID_NUMBER,7,4)) - (substring(bw.ID_NUMBER,11,4) - date_format(now(),'%m%d') > 0)
|
|
) as age,
|
|
bw.ADDRESS as address,
|
|
sdd.name as post,
|
|
bw.phone as phone
|
|
from bm_worker bw
|
|
LEFT JOIN bm_worker_record bwr ON bw.ID_NUMBER = bwr.ID_NUMBER
|
|
left join pm_organization po on po.ID = bwr.ORG_ID
|
|
LEFT JOIN sys_dic_detail sdd ON sdd.id = bwr.POST_ID
|
|
WHERE bw.IS_ACTIVE = 1 AND bw.ID_NUMBER NOT IN (
|
|
SELECT bwr.ID_NUMBER
|
|
FROM bm_redlist_worker brw
|
|
LEFT JOIN bm_worker_record bwr ON brw.ID_NUMBER = bwr.ID_NUMBER
|
|
where bwr.ID_NUMBER !='')
|
|
<if test="companyId != null and companyId !='' ">
|
|
and po.COMPANY_ID = #{companyId}
|
|
</if>
|
|
</select>
|
|
|
|
<!--根据身份证获取红名单人员 获取 施工人员信息-->
|
|
<select id="getRedPersonListId" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
select distinct bw.ID_NUMBER as idNumber , bw.NAME as name,
|
|
if(bw.ID_NUMBER is null or bw.ID_NUMBER = '','无身份证',
|
|
(substring(now(),1,4)-substring(bw.ID_NUMBER,7,4)) - (substring(bw.ID_NUMBER,11,4) - date_format(now(),'%m%d') > 0)
|
|
) as age,
|
|
bw.ADDRESS as address,
|
|
sdd.name as post,
|
|
bw.phone as phone
|
|
from bm_worker bw
|
|
LEFT JOIN bm_worker_record bwr ON bw.ID_NUMBER = bwr.ID_NUMBER
|
|
LEFT JOIN sys_dic_detail sdd ON sdd.id = bwr.POST_ID
|
|
WHERE bw.IS_ACTIVE = 1 AND bw.ID_NUMBER NOT IN (
|
|
SELECT bwr.ID_NUMBER
|
|
FROM bm_redlist_worker brw
|
|
LEFT JOIN bm_worker_record bwr ON brw.ID_NUMBER = bwr.ID_NUMBER and brw.pro_id = bwr.PROJECT_ID
|
|
where bwr.ID_NUMBER !='') and bw.ID_NUMBER =#{idNumber}
|
|
</select>
|
|
|
|
<!--身份证在不在施工人员信息中-->
|
|
<select id="getListById" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
select distinct bw.ID_NUMBER as idNumber
|
|
from bm_worker bw
|
|
WHERE bw.IS_ACTIVE = 1 and bw.ID_NUMBER = #{idNumber}
|
|
</select>
|
|
|
|
<!--身份证在不在黑名单信息中-->
|
|
<select id="getblackById" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
select ID_NUMBER from bm_blacklist_worker
|
|
where id_number = #{idNumber} and status = '1'
|
|
</select>
|
|
|
|
<select id="getRedHistoryCounts" resultType="java.lang.Integer">
|
|
SELECT COUNT(1)
|
|
FROM bm_redlist_worker brw
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = brw.ID_NUMBER
|
|
LEFT JOIN bm_worker_record bwr ON bwr.ID_NUMBER = brw.ID_NUMBER
|
|
where brw.id_number = #{params.idNumber}
|
|
<!-- <if test="params.orgId!=null and params.orgId!='' ">-->
|
|
<!-- and bp.`company_id` = #{params.orgId}-->
|
|
<!-- </if>-->
|
|
</select>
|
|
|
|
<select id="getRedHistory" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
SELECT
|
|
brw.pro_name AS proName,
|
|
brw.sub_name AS orgName,
|
|
bwr.PROJECT_ID AS proId,
|
|
brw.`NAME`,
|
|
brw.id_number,
|
|
IF(brw.ID_NUMBER IS NULL OR brw.ID_NUMBER = '','无身份证',
|
|
( substring( now( ), 1, 4 ) - substring( brw.ID_NUMBER, 7, 4 ) ) - ( substring( brw.ID_NUMBER, 11, 4 ) - date_format( now( ), '%m%d' ) > 0 )
|
|
) AS age,
|
|
brw.post AS post,bw.address,brw.phone AS phone,brw.remark
|
|
FROM bm_redlist_worker brw
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = brw.ID_NUMBER
|
|
LEFT JOIN bm_worker_record bwr ON bwr.ID_NUMBER = brw.ID_NUMBER
|
|
where brw.id_number = #{params.idNumber}
|
|
order by brw.add_time DESC
|
|
limit #{offset}, #{limit}
|
|
<!-- <if test="params.orgId!=null and params.orgId!='' ">-->
|
|
<!-- and bp.`company_id` = #{params.orgId}-->
|
|
<!-- </if>-->
|
|
</select>
|
|
|
|
<select id="getProIdByIdNumber" resultType="java.lang.String">
|
|
select PROJECT_ID from bm_worker_record where ID_NUMBER = #{idNumber}
|
|
</select>
|
|
|
|
<select id="getData" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
select bwr.PROJECT_ID as proId,bwr.POST_ID as postId from bm_worker_record bwr
|
|
where ID_NUMBER = #{idNumber}
|
|
</select>
|
|
|
|
<select id="getRedlistByIdNumber" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
SELECT brw.`name` as name,brw.id_number as idNumber,
|
|
if(brw.id_number is null or brw.id_number = '','无身份证',
|
|
(substring(now(),1,4)-substring(brw.id_number,7,4)) - (substring(brw.id_number,11,4) - date_format(now(),'%m%d') > 0)
|
|
) as age,
|
|
brw.post as post,bw.ADDRESS as address,
|
|
brw.phone as phone,brw.remark as remark
|
|
FROM bm_redlist_worker brw
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = brw.id_number
|
|
where brw.id_number = #{idNumber}
|
|
</select>
|
|
|
|
<select id="getPostId" resultType="java.lang.String">
|
|
select id from sys_dic_detail where name = #{post}
|
|
</select>
|
|
|
|
<!--新增-->
|
|
<insert id="addRedlist" parameterType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
INSERT INTO `bm_redlist_worker` (company_id,`name`, `id_number`, `phone`, `post`, `remark`,sub_name, pro_name,add_time)
|
|
VALUES (#{companyId} , #{name}, #{idNumber}, #{phone}, #{post}, #{remark},#{subName},#{proName},now())
|
|
</insert>
|
|
|
|
<insert id="insertList">
|
|
insert into `bm_redlist_worker`
|
|
(`company_id`,`name`, `id_number`, `phone`,`remark`,`add_time`,`post`,`sub_name`,`pro_name`)
|
|
values
|
|
<foreach item="params" collection="list" separator=",">
|
|
(#{params.companyId},#{params.name},#{params.idNumber},#{params.phone},#{params.remark},NOW(),#{params.post},#{params.subName},#{params.proName})
|
|
</foreach>
|
|
</insert>
|
|
|
|
<update id="delRedlist">
|
|
delete from bm_redlist_worker where id_number = #{idNumber}
|
|
</update>
|
|
|
|
<update id="updateGive">
|
|
UPDATE `bm_worker_give` SET `is_active`='0' WHERE id_number = #{idNumber}
|
|
</update>
|
|
|
|
<!--获取满足点赞条件的人员身份证号-->
|
|
<select id="getGiveId" parameterType="com.bonus.gzrn.rnbmw.person.entity.RedListBean" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
select id_number ,pro_id
|
|
from
|
|
(select id_number,pro_id,is_active from bm_worker_give GROUP BY id_number having sum(star_rating) >= 100) a
|
|
where is_active = '1'
|
|
</select>
|
|
|
|
<select id="getWorkerData" parameterType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
select bw.NAME ,bw.ID_NUMBER ,bw.ADDRESS ,bw.phone ,bwr.POST_ID
|
|
from bm_worker bw
|
|
left join bm_worker_record bwr on bwr.ID_NUMBER = bw.ID_NUMBER
|
|
where id_number = #{idNumber}
|
|
</select>
|
|
|
|
<select id="getCompanyIdByUser" resultType="java.lang.Integer">
|
|
SELECT pc.ID FROM sys_user su
|
|
LEFT JOIN pm_organization po ON su.ORG_ID = po.ID
|
|
LEFT JOIN pm_company pc ON po.COMPANY_ID = pc.ID
|
|
WHERE su.ID = #{userId}
|
|
</select>
|
|
|
|
<select id="getCompanyIdByIdCard" resultType="java.lang.Integer">
|
|
SELECT company_id FROM bm_redlist_worker WHERE id_number = #{idCard}
|
|
</select>
|
|
|
|
<select id="exportRedList" resultType="com.bonus.gzrn.rnbmw.person.entity.RedListBean">
|
|
SELECT
|
|
brw.`name`,brw.id_number AS idNumber,
|
|
brw.remark,brw.post AS post,bw.ADDRESS AS address,brw.phone AS phone,
|
|
brw.sub_name as subName,brw.pro_name as proName,brw.add_time as addTime
|
|
FROM bm_redlist_worker brw
|
|
LEFT JOIN bm_worker_record bmr ON bmr.ID_NUMBER = brw.id_number
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = brw.ID_NUMBER
|
|
LEFT JOIN bm_project bp ON bp.ID = bmr.project_id
|
|
order by brw.add_time desc
|
|
</select>
|
|
|
|
<insert id="insertRedListData">
|
|
insert into bm_redlist_worker
|
|
(name, id_number, address, phone,post,remark,pro_id,add_time)
|
|
values(#{name},#{idNumber},#{address},#{phone},#{post},'',#{proId},NOW())
|
|
</insert>
|
|
|
|
<update id="updateRedListNum">
|
|
REPLACE INTO bm_redlist_set (org_id,red_num) values (#{orgId},#{num})
|
|
</update>
|
|
|
|
</mapper> |