72 lines
3.2 KiB
XML
72 lines
3.2 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.sixHundred.dao.AttendanceHundredDao">
|
||
|
|
|
||
|
|
<select id="selectAttendanceHundred"
|
||
|
|
resultType="com.bonus.gzrn.rnbmw.sixHundred.entity.AttendanceHundredBean">
|
||
|
|
SELECT
|
||
|
|
count(DISTINCT bwr.ID_NUMBER) - count(DISTINCT bwodd.id_number) as theDayOnDutyPersonNum,
|
||
|
|
count(DISTINCT ffc.ID_NUMBER) as theDayAttendancePersonNum,
|
||
|
|
count(DISTINCT wage.idCard) as lastMonthWagesHaveAttendancePersonNum,
|
||
|
|
count(DISTINCT wages.id_number) as lastMonthWagesPersonNum
|
||
|
|
FROM
|
||
|
|
bm_worker bw
|
||
|
|
LEFT JOIN bm_worker_record bwr ON bwr.ID_NUMBER = bw.ID_NUMBER
|
||
|
|
left join bm_worker_on_duty_departure bwodd on bwodd.id_number = bwr.ID_NUMBER and bwodd.date = CURRENT_DATE()
|
||
|
|
left join fc_face_contrast ffc on ffc.ID_NUMBER = bwr.ID_NUMBER and ffc.CURRENT_DAY = CURRENT_DATE() and ffc.is_push = 1
|
||
|
|
left join (
|
||
|
|
select bwpsi.idCard from bm_worker_provide_salary_info bwpsi
|
||
|
|
where bwpsi.pro_id = #{proId} and bwpsi.is_push = 1
|
||
|
|
and bwpsi.payMonth = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y%m')
|
||
|
|
) wage on wage.idCard = bwr.ID_NUMBER
|
||
|
|
left join (
|
||
|
|
select bwr.ID_NUMBER from bm_worker_record bwr
|
||
|
|
left join fc_face_contrast ffc on ffc.ID_NUMBER = bwr.ID_NUMBER and ffc.is_push = 1 and ffc.CURRENT_DAY like concat
|
||
|
|
('%',DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m'),'%')
|
||
|
|
where bwr.PROJECT_ID = #{proId}
|
||
|
|
AND bwr.is_ein_push = 1
|
||
|
|
AND bwr.ein_status = 1
|
||
|
|
GROUP BY ffc.ID_NUMBER
|
||
|
|
) wages on wages.id_number = bwr.ID_NUMBER
|
||
|
|
WHERE
|
||
|
|
bw.ID_NUMBER IS NOT NULL
|
||
|
|
AND bwr.PROJECT_ID = #{proId}
|
||
|
|
AND bwr.is_ein_push = 1
|
||
|
|
AND bwr.ein_status = 1;
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="selectAttendanceHundredTable"
|
||
|
|
resultType="com.bonus.gzrn.rnbmw.sixHundred.entity.SixHundredContentBean">
|
||
|
|
SELECT
|
||
|
|
bw.name, bw.ID_NUMBER
|
||
|
|
FROM
|
||
|
|
bm_worker bw
|
||
|
|
LEFT JOIN bm_worker_record bwr ON bwr.ID_NUMBER = bw.ID_NUMBER
|
||
|
|
left join fc_face_contrast ffc on ffc.ID_NUMBER = bwr.ID_NUMBER and ffc.CURRENT_DAY = CURRENT_DATE() and ffc.is_push = 1
|
||
|
|
WHERE
|
||
|
|
bw.ID_NUMBER IS NOT NULL AND bwr.PROJECT_ID = #{proId}
|
||
|
|
AND bwr.is_ein_push = 1 AND bwr.ein_status = 1 and ffc.ID_NUMBER is null
|
||
|
|
and bw.ID_NUMBER not in (select ID_NUMBER from bm_worker_on_duty_departure where date = CURRENT_DATE())
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="selectAttendanceHundredWagesTable"
|
||
|
|
resultType="com.bonus.gzrn.rnbmw.sixHundred.entity.SixHundredContentBean">
|
||
|
|
SELECT
|
||
|
|
bw.name, bw.ID_NUMBER
|
||
|
|
FROM bm_worker bw
|
||
|
|
LEFT JOIN bm_worker_record bwr ON bwr.ID_NUMBER = bw.ID_NUMBER
|
||
|
|
WHERE bw.ID_NUMBER IS NOT NULL AND bwr.PROJECT_ID = #{proId}
|
||
|
|
AND bwr.is_ein_push = 1 AND bwr.ein_status = 1
|
||
|
|
and bw.ID_NUMBER not in (
|
||
|
|
select bwpsi.idCard from bm_worker_provide_salary_info bwpsi
|
||
|
|
left join fc_face_contrast ffc on ffc.ID_NUMBER = bwpsi.idCard and ffc.is_push = 1 and ffc.CURRENT_DAY like concat
|
||
|
|
('%',DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m'),'%')
|
||
|
|
where bwpsi.pro_id = #{proId} and bwpsi.is_push = 1
|
||
|
|
and bwpsi.payMonth = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y%m')
|
||
|
|
GROUP BY ffc.ID_NUMBER
|
||
|
|
)
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
</mapper>
|