hn_cloud_service/HnRealNameBmw/src/main/resources/mappers/person/TaskMapper.xml

213 lines
7.6 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.hnrn.rnbmw.push.dao.TaskDao">
<!--<update id="updateAttendanceReview">
UPDATE bns_smz_fc_face_contrast aa SET AUDITOR = '自动审核',AUDIT_STATUS = '1',AUDIT_REMARK = '自动审核',AUDIT_TIME = NOW(),WORK_HOURS = '1'
WHERE aa.AUDIT_STATUS='0' and aa.is_active='1'
and DATE_FORMAT(NOW(), '%Y-%m-%d')>=aa.current_day and DATE_FORMAT(NOW(), '%H')=23
</update>-->
<!--自动更新考勤审核信息-->
<update id="updateAttendanceReview">
UPDATE bns_smz_xbg_user_attendance SET audit_status = 1,audit_time = NOW(),audit_remark = '自动审核',audti_user = '自动审核'
WHERE audit_status = 0 AND data_type IN (1,2,3,4)
AND DATE_FORMAT(NOW(), '%Y-%m-%d')&gt;=DATE_FORMAT(create_date,'%Y-%m-%d')
AND DATE_FORMAT(NOW(), '%H') = 23
</update>
<update id="updatePayrollCreditTime">
update bns_smz_bm_worker_provide_salary_info set balanceDate = #{payDate},payMonth = #{payMonth}
where idCard = #{idCard} and submitBatchNo = #{submitBatchNo}
</update>
<select id="getGiveLikeData" resultType="com.bonus.hnrn.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 bns_smz_bm_worker_give bwg
LEFT JOIN bns_smz_pm_organization po on po.id = bwg.org_id
LEFT JOIN bns_smz_pm_company pc on pc.id = po.COMPANY_ID
LEFT JOIN bns_smz_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 bns_smz_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.hnrn.rnbmw.push.entity.RedListOrderBean" parameterType="string">
select bw.name,bw.ID_NUMBER as idNumber,bw.ADDRESS,bw.phone,bwr.POST_ID as postId from bns_smz_bm_worker bw
LEFT JOIN bns_smz_bm_worker_record bwr on bwr.ID_NUMBER = bw.ID_NUMBER
where bw.ID_NUMBER = #{idNumber}
</select>
<select id="getCertificateWarningData"
resultType="com.bonus.hnrn.rnbmw.person.entity.WorkerCertificateUploadBean">
SELECT
bw.NAME,
bw.phone,
bct.`name` AS certificateName,
bwc.stop_date AS stopDate
FROM bns_smz_bm_worker_certificate bwc
LEFT JOIN bns_smz_bm_certificate_type bct ON bct.id = bwc.certificate_id
LEFT JOIN bns_smz_bm_worker bw ON bw.ID_NUMBER = bwc.id_number
WHERE
TIMESTAMPDIFF( DAY, DATE_FORMAT( NOW( ), '%Y-%m-%d' ), bwc.stop_date ) &lt; 30
AND TIMESTAMPDIFF( DAY, DATE_FORMAT( NOW( ), '%Y-%m-%d' ), bwc.stop_date ) &gt; 0
</select>
<select id="getRedListNotEntranceData"
resultType="com.bonus.hnrn.rnbmw.push.entity.MsgInformBean">
SELECT
bw.`name`,
brw.id_number,
brw.phone,
IFNULL(bst.name,"") as teamName
FROM bns_smz_bm_redlist_worker brw
LEFT JOIN bns_smz_bm_worker_record bwr ON brw.id_number = bwr.ID_NUMBER
AND bwr.is_active = '1'
LEFT JOIN bns_smz_bm_worker bw ON bw.ID_NUMBER = brw.id_number
AND bw.is_active = '1'
LEFT JOIN bns_smz_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.hnrn.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 bns_smz_bm_redlist_worker brw
LEFT JOIN bns_smz_bm_worker bw ON bw.ID_NUMBER = brw.id_number
AND bw.is_active = '1'
LEFT JOIN bns_smz_fc_face_contrast ffc ON ffc.ID_NUMBER = brw.id_number
AND ffc.is_active = '1'
LEFT JOIN bns_smz_bm_worker_record bwr ON bw.ID_NUMBER = bwr.id_number AND bwr.is_active = '1'
LEFT JOIN bns_smz_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 ) &lt; 20
</select>
<select id="getOutstandingListNotEntranceData" resultType="com.bonus.hnrn.rnbmw.push.entity.MsgInformBean">
SELECT
bw.`name`,
bot.foreman_idnumber AS idNumber,
bw.phone,
IFNULL(bst.name,"") as teamName
FROM bns_smz_bm_outstanding_team bot
LEFT JOIN bns_smz_bm_worker_record bwr ON bot.foreman_idnumber = bwr.ID_NUMBER
AND bwr.is_active = '1'
LEFT JOIN bns_smz_bm_worker bw ON bw.ID_NUMBER = bot.foreman_idnumber
AND bw.is_active = '1'
LEFT JOIN bns_smz_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.hnrn.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 bns_smz_bm_outstanding_team bot
LEFT JOIN bns_smz_bm_worker bw ON bw.ID_NUMBER = bot.foreman_idnumber
AND bw.is_active = '1'
LEFT JOIN bns_smz_fc_face_contrast ffc ON ffc.ID_NUMBER = bot.foreman_idnumber
AND ffc.is_active = '1'
LEFT JOIN bns_smz_bm_worker_record bwr ON bw.ID_NUMBER = bwr.id_number AND bwr.is_active = '1'
LEFT JOIN bns_smz_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 ) &lt; 20
</select>
<select id="getPayrollCreditData" resultType="string">
SELECT
submitBatchNo
FROM bns_smz_bm_worker_provide_salary_info
WHERE balanceDate is null or balanceDate = ""
GROUP BY submitBatchNo
</select>
<!--<select id="getAttendanceData" resultType="com.bonus.hnrn.rnbmw.person.entity.FaceContrastBean">
SELECT ID_NUMBER as idNumber, CURRENT_DAY as currentDay
FROM bns_smz_fc_face_contrast
WHERE is_active = '1'
GROUP BY ID_NUMBER, CURRENT_DAY
HAVING COUNT(*) > 1
</select>-->
<select id="getAttendanceData" resultType="com.bonus.hnrn.rnbmw.person.entity.FaceContrastBean">
SELECT id_card as idNumber, DATE_FORMAT(create_date,'%Y-%m-%d') as currentDay
FROM bns_smz_xbg_user_attendance
GROUP BY id_card, create_date
HAVING COUNT(*) > 1
</select>
<!--<update id="updateAttendanceData">
update bns_smz_fc_face_contrast set is_active = '0' where ID_NUMBER = #{idNumber} and CURRENT_DAY = #{currentDay} and USER_ID = 1
</update>-->
<update id="updateAttendanceData">
update bns_smz_fc_face_contrast set is_active = '0' where ID_NUMBER = #{idNumber} and CURRENT_DAY = #{currentDay} and USER_ID = 1
</update>
<insert id="insertRedListData" parameterType="com.bonus.hnrn.rnbmw.push.entity.RedListOrderBean">
insert into bns_smz_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 bns_smz_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>