279 lines
8.9 KiB
XML
279 lines
8.9 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.push.dao.TaskDao">
|
|
|
|
<update id="updateAttendanceReview">
|
|
update fc_face_contrast ffc
|
|
INNER JOIN (
|
|
SELECT ID FROM fc_face_contrast where upload_time>'2022-06-29 18:00:00' and AUDIT_STATUS='0' and is_active = '1'
|
|
)ffcx ON ffc.id = ffcx.id
|
|
set AUDITOR = '-1',AUDIT_STATUS='1',AUDIT_REMARK='系统超时自动审核',AUDIT_TIME = now(),WORK_HOURS = '1'
|
|
</update>
|
|
|
|
<update id="updatePayrollCreditTime">
|
|
update bm_worker_provide_salary_info set balanceDate = #{payDate},payMonth = #{payMonth}
|
|
where idCard = #{idCard} and submitBatchNo = #{submitBatchNo}
|
|
</update>
|
|
|
|
<select id="getGiveLikeData" resultType="com.bonus.gzrn.rnbmw.push.entity.MapBean">
|
|
SELECT
|
|
a.id_number AS `key`,
|
|
a.pro_id AS `value`
|
|
FROM
|
|
(
|
|
SELECT
|
|
bwg.id_number,
|
|
bwg.pro_id,
|
|
bwg.org_id,
|
|
COUNT( id_number ) AS likeData,
|
|
IFNULL( brs.red_num, '100' ) AS num
|
|
FROM
|
|
bm_worker_give bwg
|
|
LEFT JOIN pm_organization po on po.id = bwg.org_id
|
|
LEFT JOIN pm_company pc on pc.id = po.COMPANY_ID
|
|
LEFT JOIN bm_redlist_set brs ON brs.org_id = pc.id
|
|
WHERE
|
|
bwg.IS_ACTIVE = '1'
|
|
GROUP BY
|
|
bwg.id_number,
|
|
bwg.pro_id
|
|
HAVING
|
|
COUNT( id_number ) >= num
|
|
) a
|
|
LEFT JOIN bm_redlist_worker brw ON brw.ID_NUMBER = a.id_number
|
|
-- AND brw.pro_id = a.pro_id
|
|
WHERE
|
|
brw.ID_NUMBER IS NULL
|
|
</select>
|
|
<select id="getWorkMsgData" resultType="com.bonus.gzrn.rnbmw.push.entity.RedListOrderBean" parameterType="string">
|
|
select bw.name,bw.ID_NUMBER as idNumber,bw.ADDRESS,bw.phone,bwr.POST_ID as postId from bm_worker bw
|
|
LEFT JOIN bm_worker_record bwr on bwr.ID_NUMBER = bw.ID_NUMBER
|
|
where bw.ID_NUMBER = #{idNumber}
|
|
</select>
|
|
<select id="getCertificateWarningByThirtyDays"
|
|
resultType="com.bonus.gzrn.rnbmw.person.entity.WorkerCertificateUploadBean">
|
|
SELECT
|
|
bw.NAME,
|
|
bw.phone,
|
|
bct.`name` AS certificateName,
|
|
bwc.stop_date AS stopDate
|
|
FROM
|
|
bm_worker_certificate bwc
|
|
LEFT JOIN bm_certificate_type bct ON bct.id = bwc.certificate_id
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwc.id_number
|
|
WHERE
|
|
TIMESTAMPDIFF( DAY, DATE_FORMAT( NOW( ), '%Y-%m-%d' ), bwc.stop_date ) < 30
|
|
AND TIMESTAMPDIFF( DAY, DATE_FORMAT( NOW( ), '%Y-%m-%d' ), bwc.stop_date ) > 0
|
|
</select>
|
|
|
|
<select id="getRedListNotEntranceData"
|
|
resultType="com.bonus.gzrn.rnbmw.push.entity.MsgInformBean">
|
|
SELECT
|
|
bw.`name`,
|
|
brw.id_number,
|
|
brw.phone,
|
|
IFNULL(bst.name,"") as teamName
|
|
FROM
|
|
bm_redlist_worker brw
|
|
LEFT JOIN bm_worker_record bwr ON brw.id_number = bwr.ID_NUMBER
|
|
AND bwr.is_active = '1'
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = brw.id_number
|
|
AND bw.is_active = '1'
|
|
LEFT JOIN bm_sub_team bst ON bst.id = bwr.TEAM_ID and bst.is_active = '1'
|
|
WHERE
|
|
bwr.ein_status = '0'
|
|
AND TIMESTAMPDIFF( DAY, bwr.EXIT_DATE, DATE_FORMAT( NOW( ), '%Y-%m-%d' ) ) > 7
|
|
|
|
</select>
|
|
<select id="getRedListNotPlayCardData" resultType="com.bonus.gzrn.rnbmw.push.entity.MsgInformBean">
|
|
SELECT
|
|
a.`NAME`,
|
|
a.id_number as idNumber,
|
|
a.phone,
|
|
COUNT( a.id_number ),
|
|
IFNULL(a.teamName,"") as teamName
|
|
FROM
|
|
(
|
|
SELECT
|
|
bw.`NAME`,
|
|
brw.id_number,
|
|
brw.phone,
|
|
bst.name as teamName
|
|
FROM
|
|
bm_redlist_worker brw
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = brw.id_number
|
|
AND bw.is_active = '1'
|
|
LEFT JOIN fc_face_contrast ffc ON ffc.ID_NUMBER = brw.id_number
|
|
AND ffc.is_active = '1'
|
|
LEFT JOIN bm_worker_record bwr ON bw.ID_NUMBER = bwr.id_number AND bwr.is_active = '1'
|
|
LEFT JOIN bm_sub_team bst ON bst.id = bwr.TEAM_ID and bst.is_active = '1'
|
|
WHERE
|
|
ffc.CURRENT_DAY BETWEEN #{now_30}
|
|
AND #{now}
|
|
GROUP BY
|
|
ffc.CURRENT_DAY,
|
|
ffc.ID_NUMBER
|
|
) a
|
|
GROUP BY
|
|
a.ID_NUMBER HAVING COUNT( a.id_number ) < 20
|
|
</select>
|
|
|
|
<select id="getOutstandingListNotEntranceData" resultType="com.bonus.gzrn.rnbmw.push.entity.MsgInformBean">
|
|
SELECT
|
|
bw.`name`,
|
|
bot.foreman_idnumber AS idNumber,
|
|
bw.phone,
|
|
IFNULL(bst.name,"") as teamName
|
|
FROM
|
|
bm_outstanding_team bot
|
|
LEFT JOIN bm_worker_record bwr ON bot.foreman_idnumber = bwr.ID_NUMBER
|
|
AND bwr.is_active = '1'
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bot.foreman_idnumber
|
|
AND bw.is_active = '1'
|
|
LEFT JOIN bm_sub_team bst ON bst.id = bwr.TEAM_ID and bst.is_active = '1'
|
|
WHERE
|
|
bwr.ein_status = '0'
|
|
AND TIMESTAMPDIFF( DAY, bwr.EXIT_DATE, DATE_FORMAT( NOW( ), '%Y-%m-%d' ) ) > 7
|
|
</select>
|
|
|
|
<select id="getOutstandingListNotPlayCardData" resultType="com.bonus.gzrn.rnbmw.push.entity.MsgInformBean">
|
|
SELECT
|
|
a.`NAME`,
|
|
a.foreman_idnumber as idNumber,
|
|
a.phone,
|
|
COUNT( a.foreman_idnumber ),
|
|
IFNULL(a.teamName,"") as teamName
|
|
FROM
|
|
(
|
|
SELECT
|
|
bw.`NAME`,
|
|
bot.foreman_idnumber,
|
|
bw.phone,
|
|
bst.name as teamName
|
|
FROM
|
|
bm_outstanding_team bot
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bot.foreman_idnumber
|
|
AND bw.is_active = '1'
|
|
LEFT JOIN fc_face_contrast ffc ON ffc.ID_NUMBER = bot.foreman_idnumber
|
|
AND ffc.is_active = '1'
|
|
LEFT JOIN bm_worker_record bwr ON bw.ID_NUMBER = bwr.id_number AND bwr.is_active = '1'
|
|
LEFT JOIN bm_sub_team bst ON bst.id = bwr.TEAM_ID and bst.is_active = '1'
|
|
WHERE
|
|
ffc.CURRENT_DAY BETWEEN #{now_30}
|
|
AND #{now}
|
|
GROUP BY
|
|
ffc.CURRENT_DAY,
|
|
ffc.ID_NUMBER
|
|
) a
|
|
GROUP BY
|
|
a.foreman_idnumber HAVING COUNT( a.foreman_idnumber ) < 20
|
|
</select>
|
|
|
|
<select id="getPayrollCreditData" resultType="string">
|
|
SELECT
|
|
submitBatchNo
|
|
FROM
|
|
bm_worker_provide_salary_info
|
|
WHERE balanceDate is null or balanceDate = ""
|
|
GROUP BY submitBatchNo
|
|
</select>
|
|
|
|
<select id="getOutSevenNotAttendancePerson"
|
|
resultType="com.bonus.gzrn.rnbmw.push.entity.attendance.AttDataBean">
|
|
SELECT
|
|
bw.`NAME`,
|
|
bwr.ID_NUMBER as idNumber,
|
|
bp.name as projectName,
|
|
bw.phone,
|
|
ffc.ID_NUMBER
|
|
FROM
|
|
(SELECT ID_NUMBER,PROJECT_ID FROM bm_worker_record WHERE ein_status = '1' and IS_ACTIVE = '1') bwr
|
|
LEFT JOIN
|
|
(SELECT
|
|
*
|
|
FROM
|
|
(
|
|
SELECT DISTINCT `NAME`, ID_NUMBER, SUB_ID, PRO_ID, TEAM_ID, CURRENT_DAY
|
|
FROM fc_face_contrast
|
|
WHERE is_active = '1'
|
|
AND TIMESTAMPDIFF( DAY, CURRENT_DAY, DATE_FORMAT( NOW( ), '%Y-%m-%d' )) < 8
|
|
ORDER BY CURRENT_DAY DESC
|
|
) aaa
|
|
GROUP BY
|
|
ID_NUMBER)
|
|
ffc ON bwr.ID_NUMBER = ffc.ID_NUMBER
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER and bw.is_active = '1'
|
|
LEFT JOIN bm_project bp ON bwr.PROJECT_ID = bp.id and bp.is_active = '1'
|
|
WHERE
|
|
ffc.ID_NUMBER IS NULL
|
|
</select>
|
|
<select id="getOutThreeNotAttendancePerson"
|
|
resultType="com.bonus.gzrn.rnbmw.push.entity.attendance.AttDataBean">
|
|
SELECT
|
|
bw.`NAME`,
|
|
bwr.ID_NUMBER as idNumber,
|
|
bp.name as projectName,
|
|
bw.phone,
|
|
ffc.ID_NUMBER
|
|
FROM
|
|
(SELECT ID_NUMBER,PROJECT_ID FROM bm_worker_record WHERE ein_status = '1' and IS_ACTIVE = '1') bwr
|
|
LEFT JOIN
|
|
(
|
|
SELECT
|
|
*
|
|
FROM(
|
|
SELECT
|
|
*
|
|
FROM
|
|
(
|
|
SELECT DISTINCT `NAME`, ID_NUMBER, SUB_ID, PRO_ID, TEAM_ID, CURRENT_DAY
|
|
FROM fc_face_contrast
|
|
WHERE is_active = '1'
|
|
AND TIMESTAMPDIFF( DAY, CURRENT_DAY, DATE_FORMAT( NOW( ), '%Y-%m-%d' )) < 8
|
|
ORDER BY CURRENT_DAY DESC
|
|
) ffa
|
|
GROUP BY
|
|
ID_NUMBER
|
|
) ffb
|
|
where TIMESTAMPDIFF( DAY, CURRENT_DAY, DATE_FORMAT( NOW( ), '%Y-%m-%d' )) > 3
|
|
)
|
|
ffc ON bwr.ID_NUMBER = ffc.ID_NUMBER
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER and bw.is_active = '1'
|
|
LEFT JOIN bm_project bp ON bwr.PROJECT_ID = bp.id and bp.is_active = '1'
|
|
where ffc.ID_NUMBER IS NOT NULL
|
|
</select>
|
|
<select id="getCertificateWarningByPostNoCertificate"
|
|
resultType="com.bonus.gzrn.rnbmw.person.entity.WorkerCertificateUploadBean">
|
|
SELECT
|
|
bw.name,
|
|
bw.id_number,
|
|
bw.phone,
|
|
sdd.name as postName,
|
|
GROUP_CONCAT(DISTINCT bct1.name) as postCerName,
|
|
GROUP_CONCAT(DISTINCT bct2.name) as wokercerName
|
|
FROM
|
|
bm_worker_record bwr
|
|
INNER JOIN bm_worker bw on bwr.ID_NUMBER = bw.ID_NUMBER and bw.is_active = '1'
|
|
inner JOIN sys_dic_detail sdd ON sdd.dic_type = 3 and sdd.id = bwr.POST_ID and sdd.is_active = '1'
|
|
LEFT JOIN bm_certificate_post bcp ON bcp.post_id = bwr.POST_ID and bcp.is_active = '1'
|
|
LEFT JOIN bm_certificate_type bct1 ON bcp.certificate_id = bct1.id and bct1.is_active = '1'
|
|
LEFT JOIN bm_worker_certificate bwc ON bwc.id_number = bw.ID_NUMBER and bwc.is_active = '1'
|
|
LEFT JOIN bm_certificate_type bct2 ON bwc.certificate_id = bct2.id and bct2.is_active = '1'
|
|
WHERE bwr.ein_status = '1' and bwr.is_active = '1'
|
|
GROUP BY bw.id_number having postCerName is not null
|
|
</select>
|
|
|
|
<insert id="insertRedListData" parameterType="com.bonus.gzrn.rnbmw.push.entity.RedListOrderBean">
|
|
insert into bm_redlist_worker(name,id_number,address,phone,post,remark,pro_id,add_time)
|
|
values(#{name},#{idNumber},#{address},#{phone},#{postId},'',#{proId},#{addTime})
|
|
</insert>
|
|
|
|
<insert id="insertMsgInform">
|
|
insert into msg_inform(msg_type, msg_content, phone) values
|
|
<foreach item="item" index="index" collection="sevenRedList" separator=",">
|
|
(#{item.msgType},#{item.msgContent},#{item.phone})
|
|
</foreach>
|
|
</insert>
|
|
|
|
|
|
</mapper> |