diff --git a/modules/bmw/src/main/java/com/bonus/bmw/person/controller/FaceContrastController.java b/modules/bmw/src/main/java/com/bonus/bmw/person/controller/FaceContrastController.java index 26a989a..1644ce5 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/person/controller/FaceContrastController.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/person/controller/FaceContrastController.java @@ -48,8 +48,7 @@ public class FaceContrastController { }, new PageTableHandler.ListHandler() { @Override public List list(PageTableRequest request) { - List list = service.getWorkAttendanceList (request.getParams(), request.getOffset(), request.getLimit()); - return list; + return service.getWorkAttendanceList (request.getParams(), request.getOffset(), request.getLimit()); } }).handle(request); } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/person/controller/FaceContrastNewController.java b/modules/bmw/src/main/java/com/bonus/bmw/person/controller/FaceContrastNewController.java index e89023d..6d7b272 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/person/controller/FaceContrastNewController.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/person/controller/FaceContrastNewController.java @@ -84,9 +84,6 @@ public class FaceContrastNewController { } } - - - return new PageTableHandler(new PageTableHandler.CountHandler() { @Override public int count(PageTableRequest request) { @@ -95,8 +92,7 @@ public class FaceContrastNewController { }, new PageTableHandler.ListHandler() { @Override public List list(PageTableRequest request) { - List list = service.getWorkAttendanceList (request.getParams(), request.getOffset(), request.getLimit()); - return list; + return service.getWorkAttendanceList (request.getParams(), request.getOffset(), request.getLimit()); } }).handle(request); } @@ -124,8 +120,7 @@ public class FaceContrastNewController { }, new PageTableHandler.ListHandler() { @Override public List list(PageTableRequest request) { - List list = service.getAttendanceBySubComList (request.getParams(), request.getOffset(), request.getLimit()); - return list; + return service.getAttendanceBySubComList (request.getParams(), request.getOffset(), request.getLimit()); } }).handle(request); } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/person/service/FaceContrastNewServiceImp.java b/modules/bmw/src/main/java/com/bonus/bmw/person/service/FaceContrastNewServiceImp.java index cfde43d..df5e5b0 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/person/service/FaceContrastNewServiceImp.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/person/service/FaceContrastNewServiceImp.java @@ -421,8 +421,6 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService { List attList = dao.getWorkAttListByCom(params, offset, limit); for (int i = 0; i < attList.size(); i++) { list.get(i).setAttPersonNum(attList.get(i).getAttPersonNum()); - //将临时人员的数量加到班组人员里面 - list.get(i).setAllPersonNum(list.get(i).getAllPersonNum() + attList.get(i).getTempWorkerNum()); } return list; } @@ -435,7 +433,7 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService { //考勤数据较慢单独查 //11.30添加无班组考勤人员 - if (attendanceByProList.size() > 0) { + if (!attendanceByProList.isEmpty()) { List attList = dao.getWorkAttListByPro(params); for (int i = 0; i < attList.size(); i++) { attendanceByProList.get(i).setAttPersonNum(attList.get(i)); @@ -469,22 +467,22 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService { } } - for (FaceContrastNewBean faceContrastNewBean : attendanceByProList) { - //查出班组人中连续七天未打卡的人数 - List currentDayList = dao.getTeamSevenNoAttPersonNum(faceContrastNewBean); - Map> collect = currentDayList.stream().sorted(Comparator.comparing(MapBean::getName).reversed()).collect(Collectors.groupingBy(MapBean::getId)); - AtomicInteger i = new AtomicInteger(); - collect.forEach((k, v) -> { - for (MapBean mapBean : v) { - long betweenDay = DateUtil.between(DateUtil.parse(mapBean.getName()), DateUtil.parse(DateUtil.today()), DateUnit.DAY); - if (betweenDay > 6) { - i.getAndIncrement(); - } - break; - } - }); - faceContrastNewBean.setSevenNoAttPersonNum(i.get()); - } +// for (FaceContrastNewBean faceContrastNewBean : attendanceByProList) { +// //查出班组人中连续七天未打卡的人数 +// List currentDayList = dao.getTeamSevenNoAttPersonNum(faceContrastNewBean); +// Map> collect = currentDayList.stream().sorted(Comparator.comparing(MapBean::getName).reversed()).collect(Collectors.groupingBy(MapBean::getId)); +// AtomicInteger i = new AtomicInteger(); +// collect.forEach((k, v) -> { +// for (MapBean mapBean : v) { +// long betweenDay = DateUtil.between(DateUtil.parse(mapBean.getName()), DateUtil.parse(DateUtil.today()), DateUnit.DAY); +// if (betweenDay > 6) { +// i.getAndIncrement(); +// } +// break; +// } +// }); +// faceContrastNewBean.setSevenNoAttPersonNum(i.get()); +// } return attendanceByProList; } @@ -524,9 +522,9 @@ public class FaceContrastNewServiceImp implements FaceContrastNewService { x = x / 2.0; double furloughDays = 0.0; double notWorkDay = 0.0; - if (furloughList.size() > 0) { + if (!furloughList.isEmpty()) { List attDateBeans = furloughList.get(childObj.get(0).getIdNumber()); - if (attDateBeans != null && attDateBeans.size() > 0) { + if (attDateBeans != null && !attDateBeans.isEmpty()) { for (AttDateBean attDateBean : attDateBeans) { double ofTwoDays = getDiffOfTwoDays(attDateBean.getStartDate(), attDateBean.getStopDate()); furloughDays += ofTwoDays; diff --git a/modules/bmw/src/main/resources/mapper/person/FaceContrastNewMapper.xml b/modules/bmw/src/main/resources/mapper/person/FaceContrastNewMapper.xml index 53f0102..ce52bd4 100644 --- a/modules/bmw/src/main/resources/mapper/person/FaceContrastNewMapper.xml +++ b/modules/bmw/src/main/resources/mapper/person/FaceContrastNewMapper.xml @@ -25,7 +25,7 @@ COUNT(DISTINCT if(bp.pro_status = 2,bp.id,null)) as makeProNum, COUNT(DISTINCT if(bp.pro_status = 1,bp.id,null)) as endProNum, COUNT(DISTINCT bs.id) as subNum, - COUNT(DISTINCT btur.team_id) as teamNum, + COUNT(DISTINCT bst.id) as teamNum, COUNT(DISTINCT bw.id_number) as allPersonNum FROM ( SELECT id,`name` FROM bm_project_general WHERE is_active = '1' @@ -39,9 +39,12 @@ AND bs.id = #{params.subId} - LEFT JOIN bm_sub_relation bsr on bsr.sub_contract_id = bsc.id and bsr.type = '3' and bsr.is_active = '1' - LEFT JOIN bm_team_user_relation btur ON btur.team_id = bsr.`value` and btur.is_active = '1' - LEFT JOIN bm_worker bw ON bw.ID_NUMBER = btur.ID_NUMBER and bw.is_active = '1' and worker_type = '1' + LEFT JOIN bm_sub_team bst on bs.id = bst.sub_id and bs.is_active = '1' + Left Join bm_worker_ein_history bweh on bweh.team_id = bst.id and bweh.project_id = bp.id and bweh.exit_time is null and bweh.exit_status = -1 + LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bweh.ID_NUMBER and bw.is_active = '1' + + AND bw.worker_type = #{params.workerType} + GROUP BY pm.id ORDER BY @@ -62,7 +65,10 @@ AND bp.is_active = '1' LEFT JOIN ( SELECT fc.id_number, fc.pro_id FROM fc_face_contrast fc - LEFT JOIN bm_worker bw on bw.id_number = fc.ID_NUMBER and bw.worker_type = '1' + LEFT JOIN bm_worker bw on bw.id_number = fc.ID_NUMBER + + AND bw.worker_type = #{params.workerType} + WHERE fc.CURRENT_DAY = #{params.startTime} GROUP BY fc.id_number, fc.CURRENT_DAY ) ffc ON ffc.pro_id = bp.id GROUP BY @@ -237,7 +243,7 @@ bp.NAME AS proName, bp.pro_status AS proStatus, COUNT( DISTINCT bs.id ) AS subNum, - COUNT( DISTINCT btur.team_id ) AS teamNum, + COUNT( DISTINCT bst.id ) AS teamNum, COUNT( DISTINCT bw.id_number ) AS allPersonNum FROM ( SELECT id, `name` FROM bm_project_general WHERE id = #{params.orgId} ) pm @@ -250,15 +256,13 @@ AND bs.id = #{params.subId} - LEFT JOIN bm_sub_relation bsr ON bsr.sub_contract_id = bsc.id - AND bsr.type = '3' - AND bsr.is_active = '1' - LEFT JOIN bm_team_user_relation btur ON btur.team_id = bsr.`value` - AND btur.is_active = '1' - LEFT JOIN bm_worker bw ON bw.ID_NUMBER = btur.ID_NUMBER - AND bw.is_active = '1' and bw.worker_type = '1' + LEFT JOIN bm_sub_team bst on bs.id = bst.sub_id and bs.is_active = '1' + Left Join bm_worker_ein_history bweh on bweh.team_id = bst.id and bweh.project_id = bp.id and bweh.exit_time is null and bweh.exit_status = -1 + LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bweh.ID_NUMBER and bw.is_active = '1' + + AND bw.worker_type = #{params.workerType} + - and bp.id = #{params.proId} @@ -273,47 +277,8 @@ limit #{offset},#{limit} - - + select * from ( + SELECT + bp.id AS proId, + bp.NAME AS proName, + bs.id as subId, + bs.sub_name AS subName, + bst.id as teamId, + bst.`team_name` AS teamName, + COUNT( DISTINCT bw.id_number ) AS allPersonNum, + GROUP_CONCAT(bw.id_number) as allIdNumber, + GROUP_CONCAT(bw.name) as allName + FROM + bm_project bp + LEFT JOIN bm_sub_contract bsc ON bsc.pro_id = bp.id and bsc.is_active = '1' + LEFT JOIN bm_subcontractor bs on bs.id = bsc.sub_id and bs.is_active = '1' + + AND bs.id = #{params.subId} + LEFT JOIN bm_sub_team bst on bs.id = bst.sub_id and bs.is_active = '1' + Left Join bm_worker_ein_history bweh on bweh.team_id = bst.id and bweh.project_id = bp.id and bweh.exit_time is null and bweh.exit_status = -1 + LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bweh.ID_NUMBER and bw.is_active = '1' + + AND bw.worker_type = #{params.workerType} + + WHERE + bp.id = #{params.proId} and bst.id is not null + + and instr(bst.`team_name`,#{params.teamName}) > 0 + + + AND bs.id is not null + + GROUP BY + bst.`id` + ORDER BY + bst.`id` + ) aa - + + + + - \ No newline at end of file + diff --git a/modules/bmw/src/main/resources/static/js/work/Person/AttendanceManageNew/AttendanceByProList.js b/modules/bmw/src/main/resources/static/js/work/Person/AttendanceManageNew/AttendanceByProList.js index 4358ac6..df3da9d 100644 --- a/modules/bmw/src/main/resources/static/js/work/Person/AttendanceManageNew/AttendanceByProList.js +++ b/modules/bmw/src/main/resources/static/js/work/Person/AttendanceManageNew/AttendanceByProList.js @@ -214,18 +214,18 @@ function init() { },width: '25%'}, {"data": "allPersonNum",width: '10%'}, {"data": "attPersonNum",width: '10%'}, - {"data": "","defaultContent": "", - "orderable": false, - "render": function (data, type, row) { - var sevenNoAttPersonNum = row['sevenNoAttPersonNum']; - var teamId = row['teamId']; - var teamName = row['teamName']; - var proId = row['proId']; - var proName = row['proName']; - var html = ''; - html += "" + sevenNoAttPersonNum + ""; - return html; - },width: '10%'}, + // {"data": "","defaultContent": "", + // "orderable": false, + // "render": function (data, type, row) { + // var sevenNoAttPersonNum = row['sevenNoAttPersonNum']; + // var teamId = row['teamId']; + // var teamName = row['teamName']; + // var proId = row['proId']; + // var proName = row['proName']; + // var html = ''; + // html += "" + sevenNoAttPersonNum + ""; + // return html; + // },width: '10%'}, ], // "order": [[0, "desc"], [1, "asc"]] //在栏目列上显示排序功能 }); @@ -401,4 +401,4 @@ function explainClick(str) { shadeClose: true, // 点击遮罩关闭层 maxmin: false }) -} \ No newline at end of file +} diff --git a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceManageNew/AttendanceByProList.html b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceManageNew/AttendanceByProList.html index 292d200..0d36c74 100644 --- a/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceManageNew/AttendanceByProList.html +++ b/modules/bmw/src/main/resources/static/pages/work/Person/AttendanceManageNew/AttendanceByProList.html @@ -77,7 +77,7 @@ 班组名称 总人数 考勤人数 - 连续七天未打卡 + @@ -101,4 +101,4 @@ \ No newline at end of file +