hd_real_name/target/classes/mappers/person/BaseManagerMapper.xml

263 lines
7.8 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.BaseManagerDao">
<select id="getWorkerCountNum" resultType="java.lang.Integer">
SELECT count(bw.ID_NUMBER)
FROM bm_worker bw
</select>
<select id="getWorkerCount" resultType="java.lang.Integer">
SELECT count(bw.ID_NUMBER)
FROM bm_worker bw
left join bm_worker_record bwr on bwr.ID_NUMBER = bw.ID_NUMBER
left join pm_organization po on po.ID = bwr.ORG_ID
where bw.IS_ACTIVE=1 and bwr.IS_ACTIVE=1 and po.IS_ACTIVE=1
<if test="params.name!=null and params.name!='' ">
and bw.NAME like concat ('%',#{params.name},'%')
</if>
<if test="params.idNumber!=null and params.idNumber!='' ">
and bw.id_number like concat ('%',#{params.idNumber},'%')
</if>
<if test="params.companyId!=null and params.companyId!='' ">
and po.company_id = #{params.companyId}
</if>
</select>
<select id="getWorkerList" resultType="com.bonus.gzrn.rnbmw.person.entity.BaseManagerEntity">
SELECT
a.ID_NUMBER,
sum( a.num ) AS totalNum,
group_concat( a.photoName ) AS photoName,
group_concat( a.photoPath ) AS photoPath,
group_concat( a.uploadTime ) AS uploadTime,
a.`name`,
a.sex,
a.ethnic,
a.birthday,
a.address,
a.issureAuthority,
a.signDate,
a.expiryDate,
a.phone
FROM
(
SELECT
bw.ID_NUMBER,
count( bwp.ID_NUMBER ) AS num,
group_concat(
CASE bwp.PHOTO_TYPE
WHEN '1' THEN '正面身份证'
WHEN '2' THEN '反面身份证'
WHEN '3' THEN '人脸'
WHEN '4' THEN '银行卡'
WHEN '5' THEN '签名照'
ELSE '异常照片类型' END
) AS photoName,
group_concat( PHOTO_PATH ) AS photoPath,
group_concat( bwp.upload_time ) AS uploadTime,
bw.NAME AS NAME,
bw.SEX AS sex,
bw.ETHNIC AS ethnic,
bw.BIRTHDAY AS birthday,
bw.ADDRESS AS address,
bw.ISSUEAUTHORITY AS issureAuthority,
bw.SIGN_DATE AS signDate,
bw.EXPIRY_DATE AS expiryDate,
bw.phone
FROM
bm_worker bw
LEFT JOIN bm_worker_photo bwp ON bw.ID_NUMBER = bwp.ID_NUMBER
AND bwp.IS_ACTIVE = '1'
WHERE
bw.ID_NUMBER != ''
AND bw.IS_ACTIVE = '1'
GROUP BY
bw.ID_NUMBER
) a
LEFT JOIN bm_worker_record bwr ON bwr.ID_NUMBER = a.ID_NUMBER
LEFT JOIN pm_organization po ON po.ID = bwr.ORG_ID
WHERE bwr.IS_ACTIVE='1' and po.IS_ACTIVE='1'
<if test="params.name!=null and params.name!='' ">
and a.NAME like concat ('%',#{params.name},'%')
</if>
<if test="params.idNumber!=null and params.idNumber!='' ">
and a.ID_NUMBER like concat ('%',#{params.idNumber},'%')
</if>
<if test="params.companyId!=null and params.companyId!='' ">
and po.company_id = #{params.companyId}
</if>
GROUP BY a.ID_NUMBER
limit #{offset}, #{limit}
</select>
<!--根据id查找 -->
<select id="getBaseInfoById" resultType="com.bonus.gzrn.rnbmw.person.entity.BaseManagerEntity">
SELECT
NAME AS name,
ID_NUMBER AS idNumber,
SEX AS sex,
ETHNIC AS ethnic,
ADDRESS as address,
ISSUEAUTHORITY as issureAuthority,
SIGN_DATE as signDate,
EXPIRY_DATE as expiryDate,
BIRTHDAY as birthday,
phone,
IS_ACTIVE as isActive
FROM
bm_worker where IS_ACTIVE=1
and ID_NUMBER=#{idNumber}
</select>
<insert id="addWorker"
parameterType="com.bonus.gzrn.rnbmw.person.entity.BaseManagerEntity">
insert into bm_worker(ID_NUMBER,NAME,SEX,ETHNIC,BIRTHDAY,ADDRESS,ISSUEAUTHORITY,SIGN_DATE,EXPIRY_DATE,phone,IS_ACTIVE) values (
#{idNumber},#{name},#{sex},#{ethnic},#{birthday},#{address},#{issureAuthority},
#{signDate},#{expiryDate},#{phone},1)
</insert>
<!--修改基础数据 -->
<update id="updateWorker">
UPDATE bm_worker
SET
`NAME` = #{name},
ID_NUMBER = #{idNumber},
SEX = #{sex},
ETHNIC = #{ethnic},
ADDRESS = #{address},
ISSUEAUTHORITY = #{issureAuthority},
SIGN_DATE = #{signDate},
EXPIRY_DATE = #{expiryDate},
phone = #{phone}
WHERE
ID_NUMBER = #{idNumber};
update bm_worker_attend_history
set NAME = #{name}
where ID_NUMBER = #{idNumber};
</update>
<update id="deleteWorker">
update bm_worker set IS_ACTIVE = 0 where ID_NUMBER = #{id}
</update>
<update id="updateTrainPushStatus" parameterType="java.util.List">
update bm_worker_record set train_push_status = '1' , train_push_time = now() where ID_NUMBER in
<foreach item="item" collection="list" separator="," open="(" close=")" index="index" >
#{item}
</foreach>
</update>
<select id="getPerson" resultType="com.bonus.gzrn.rnbmw.person.entity.BaseManagerEntity" >
SELECT * FROM bm_worker where ID_NUMBER = #{id}
</select>
<!-- 查询施工人员姓名-->
<select id="getWorkerNameSelect" resultType="com.bonus.gzrn.rnbmw.person.entity.BaseManagerEntity" >
SELECT bw.NAME as name,bw.ID_NUMBER as idNumber
FROM bm_worker bw
left join bm_worker_record bwr on bwr.ID_NUMBER = bw.ID_NUMBER
left join pm_organization po on po.ID = bwr.ORG_ID
where bw.IS_ACTIVE = '1'
<if test="companyId!=null and companyId!='' ">
and po.company_id = #{companyId}
</if>
</select>
<select id="getAllPersonList" resultType="com.bonus.gzrn.rnbmw.person.entity.BaseManagerEntity">
SELECT
bw.ID_NUMBER AS idNumber,
bw. NAME
FROM
bm_worker bw
WHERE
bw.IS_ACTIVE = 1
</select>
<!--根据名称查询身份证-->
<select id="getIdNumberByName" resultType="java.lang.String">
select ID_NUMBER AS idNumber
FROM bm_worker
WHERE `NAME` = #{name} and IS_ACTIVE = '1'
</select>
<select id="getPhotoByIdcardAndPhotoType" resultType="com.bonus.gzrn.rnbmw.person.entity.BaseManagerEntity">
SELECT
bw.ID_NUMBER AS idNumber,
bw.NAME,
bwp.PHOTO_NAME AS photoName,
bwp.PHOTO_PATH AS photoPath,
bwp.PHOTO_TYPE AS photoType ,
count(bwp.ID_NUMBER)as photoNum,
su.USERNAME AS username,
bwp.upload_time AS uploadTime
FROM bm_worker bw
LEFT JOIN bm_worker_photo bwp ON bwp.ID_NUMBER = bw.ID_NUMBER
LEFT JOIN bm_worker_record bmr ON bmr.ID_NUMBER = bw.id_number
LEFT JOIN sys_user su ON su.ID = bwp.upload_id
WHERE bw.IS_ACTIVE = 1
and bwp.ID_NUMBER =#{idNumber} and bwp.PHOTO_TYPE =#{photoType}
GROUP BY bw.ID_NUMBER,bwp.PHOTO_TYPE
</select>
<select id="syncUserList" resultType="com.bonus.gzrn.rnbmw.person.entity.PersonSyncBean">
SELECT
bw.ID_NUMBER as idNumber,
bw.ID_NUMBER as userId,
bw.ID_NUMBER as userAccount,
'-1' as trainRoleId,
'3' as userType,
'0mdtbt1cxwxt' as companyId,
bwr.ORG_ID as deptId,
'0' as del,
bw.`NAME` as userName,
bw.phone as mobileNo
FROM bm_worker bw
LEFT JOIN bm_worker_record bwr
ON bw.ID_NUMBER = bwr.ID_NUMBER
GROUP BY bw.ID_NUMBER
limit #{offset}, #{limit}
</select>
<select id="syncUserListPush" resultType="com.bonus.gzrn.rnbmw.person.entity.PersonSyncBean">
SELECT
bw.ID_NUMBER as idNumber,
bw.ID_NUMBER as userId,
bw.ID_NUMBER as userAccount,
'-1' as trainRoleId,
'3' as userType,
'14mqke0xl8t4' as companyId,
bwr.ORG_ID as deptId,
'0' as del,
bw.`NAME` as userName,
bw.phone as mobileNo
FROM bm_worker bw
LEFT JOIN bm_worker_record bwr
ON bw.ID_NUMBER = bwr.ID_NUMBER
WHERE bwr.train_push_status = '0'
and bwr.WHETHER_ONJOB = '1'
and bwr.ein_status = '1'
and bwr.examine_status = '1'
GROUP BY bw.ID_NUMBER
limit #{offset}, #{limit}
</select>
<select id="getNewFfcDayById" resultType="java.lang.String">
SELECT CURRENT_DAY FROM fc_face_contrast WHERE ID_NUMBER = #{idNumber}
ORDER BY CURRENT_DAY DESC LIMIT 1
</select>
<insert id="addCertificate">
insert into bm_worker_certificate
(id,id_number,certificate_name,upload_time,is_active)
values
(#{id},#{idNumber},#{certificateName},#{uploadTime},'1')
</insert>
<insert id="addCertificatePhoto">
insert into bm_worker_certificate_photo
(photo_name,photo_path,upload_time,certificate_id)
values
(#{photoName},#{photoPath},now(),#{certificateId})
</insert>
</mapper>