| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- SELECT pjtId,yearmonth,pmId,
- datumWorkDuration-AdatumDatem+BdatumDate datumWorkDuration,
- attendanceDuration-Aattendance_mins+Battendance_mins attendanceDuration,
- convert((attendanceDuration-Aattendance_mins+Battendance_mins)/(datumWorkDuration-AdatumDatem+BdatumDate)*100,decimal(10,2)) attendanceRate
- FROM
- (
- SELECT uat.*,
- (
- SELECT IFNULL(SUM(datum_date),0) from t_bus_user_attendance_detail WHERE borrowstatus ='1' and borrowspid = uat.pjtId and DATE_FORMAT(ymd_date,"%Y-%m")=:yearmonth
- ) BdatumDate,
- (
- SELECT IFNULL(SUM(actualattendance_date),0) from t_bus_user_attendance_detail WHERE borrowstatus ='1' and borrowspid = uat.pjtId and DATE_FORMAT(ymd_date,"%Y-%m")=:yearmonth
- ) Battendance_mins
- FROM
- (
- SELECT pid pjtId,yearmonth,pmId,
- SUM(datum_attendance_date) datumWorkDuration,
- SUM(actual_attendance_date) attendanceDuration,SUM(AdatumDate) AdatumDatem,SUM(Aattendance_mins) Aattendance_mins
- from
- (
- SELECT uat.*,
- (
- SELECT IFNULL(SUM(datum_date),0) from t_bus_user_attendance_detail WHERE attendance_id=uat.id and borrowstatus ='1'
- ) AdatumDate,
- (
- SELECT IFNULL(SUM(actualattendance_date),0) from t_bus_user_attendance_detail WHERE attendance_id=uat.id and borrowstatus ='1'
- ) Aattendance_mins
- FROM(
- SELECT uat.id,uat.user_id,uat.pid,uat.departid,uat.yearmonth,uat.datum_attendance_date,uat.actual_attendance_date,d.dept_proj_managerid pmId
- from t_bus_user_attendance_total uat
- LEFT JOIN t_s_depart d
- ON uat.pid = d.ID
- ) uat
- WHERE uat.yearmonth =:yearmonth AND uat.pid != ''
- ) a
- GROUP BY pid
- ) uat
- )re
- order by attendanceRate asc
|