|
@@ -3097,7 +3097,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
Integer alertType = timeType.getAlertType();
|
|
|
LocalTime alert = LocalTime.parse(alertTime);
|
|
|
List<Map<String,Object>> reportList=reportMapper.getUserReportTimelinessRate(companyId,startDate,endDate);
|
|
|
- int i=0;
|
|
|
+ System.out.println(reportList);
|
|
|
QueryWrapper<User> queryWrapper=new QueryWrapper();
|
|
|
queryWrapper.eq("company_id",companyId);
|
|
|
if(departmentId!=null){
|
|
@@ -3106,11 +3106,20 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
if(userId!=null){
|
|
|
queryWrapper.eq("id",userId);
|
|
|
}
|
|
|
+ queryWrapper.orderByAsc("department_id");
|
|
|
List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
|
|
|
- IPage<User> userIPage = userMapper.selectPage(new Page<>(pageIndex,pageSize),queryWrapper);
|
|
|
+ List<User> userList;
|
|
|
+ long total=0;
|
|
|
+ if(pageIndex!=null&&pageSize!=null){
|
|
|
+ IPage<User> userIPage = userMapper.selectPage(new Page<>(pageIndex,pageSize),queryWrapper);
|
|
|
+ userList=userIPage.getRecords();
|
|
|
+ total=userIPage.getTotal();
|
|
|
+ }else {
|
|
|
+ userList = userMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
Map<Object, List<Map<String, Object>>> listMap = reportList.stream().collect(Collectors.groupingBy(rp -> rp.get("userName")));
|
|
|
List<TimelinessRateVO> resultList=new ArrayList<>();
|
|
|
- for (User user : userIPage.getRecords()){
|
|
|
+ for (User user : userList){
|
|
|
TimelinessRateVO timelinessRateVO=new TimelinessRateVO();
|
|
|
timelinessRateVO.setUserName(user.getName());
|
|
|
Optional<Department> first = departmentList.stream().filter(dp -> dp.getDepartmentId().equals(user.getDepartmentId())).findFirst();
|
|
@@ -3150,7 +3159,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
resultList.add(timelinessRateVO);
|
|
|
}
|
|
|
- long total=userIPage.getTotal();
|
|
|
HashMap map=new HashMap();
|
|
|
map.put("total",total);
|
|
|
map.put("list",resultList);
|
|
@@ -3158,6 +3166,30 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
return msg;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg exportReportTimelinessRate(HttpServletRequest request, String startDate, String endDate) {
|
|
|
+ HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
|
+ HttpRespMsg msg = getUserReportTimelinessRate(request, startDate, endDate, null, null, null, null);
|
|
|
+ HashMap map= (HashMap) msg.data;
|
|
|
+ List<TimelinessRateVO> list = (List<TimelinessRateVO>) map.get("list");
|
|
|
+ String[] s={"人员","部门","填报及时率"};
|
|
|
+ List<String> titleString = Arrays.asList(s);
|
|
|
+ List<List<String>> dataList=new ArrayList<>();
|
|
|
+ dataList.add(titleString);
|
|
|
+ for (TimelinessRateVO timelinessRateVO : list) {
|
|
|
+ List<String> item=new ArrayList<>();
|
|
|
+ item.add(timelinessRateVO.getUserName());
|
|
|
+ item.add(timelinessRateVO.getDepartmentName());
|
|
|
+ item.add(timelinessRateVO.getTimelinessRate());
|
|
|
+ dataList.add(item);
|
|
|
+ }
|
|
|
+ //生成excel文件导出
|
|
|
+ String fileName = "人员填报及时率统计_"+System.currentTimeMillis();
|
|
|
+ String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName , dataList, path);
|
|
|
+ httpRespMsg.data = resp;
|
|
|
+ return httpRespMsg;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private List<Department> getSubDepts(Department dp, List<Department> list) {
|
|
|
List<Department> collect = list.stream().filter(l -> dp.getDepartmentId().equals(l.getSuperiorId())).collect(Collectors.toList());
|