hd_real_name/target/classes/mappers/person/RedlistMapper.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>