|
@@ -5864,9 +5864,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
public HttpRespMsg getUserReportTimelinessRate(HttpServletRequest request, String startDate, String endDate, Integer departmentId, String userId,Integer pageIndex,Integer pageSize) {
|
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
|
DecimalFormat dft = new DecimalFormat("0%");
|
|
|
- LocalDateTime sDate = LocalDate.parse(startDate).atTime(LocalTime.MIN);
|
|
|
- LocalDateTime eDate = LocalDate.parse(endDate).atTime(LocalTime.MIN);
|
|
|
- List<LocalDateTime> dateTimeList = getDays(sDate, eDate);
|
|
|
User targetUser= userMapper.selectById(request.getHeader("token"));
|
|
|
TimeType timeType = timeTypeMapper.selectById(targetUser.getCompanyId());
|
|
|
Integer timeliness = timeType.getTimeliness();
|
|
@@ -5922,6 +5919,18 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
List<LeaveSheet> leaveSheetList = leaveSheetMapper.selectList(new QueryWrapper<LeaveSheet>().eq("company_id", targetUser.getCompanyId()));
|
|
|
List<TimelinessRateVO> resultList=new ArrayList<>();
|
|
|
for (User user : userList){
|
|
|
+ LocalDateTime sDate;
|
|
|
+ LocalDateTime eDate = LocalDate.parse(endDate).atTime(LocalTime.MIN);
|
|
|
+ LocalDate inductionDate = user.getInductionDate();
|
|
|
+ //每个人须填报天数按照入职日期过滤
|
|
|
+ if(inductionDate!=null){
|
|
|
+ if(inductionDate.isBefore(LocalDate.parse(startDate))){
|
|
|
+ sDate = LocalDate.parse(startDate).atTime(LocalTime.MIN);
|
|
|
+ }else{
|
|
|
+ sDate = inductionDate.atTime(LocalTime.MIN);
|
|
|
+ }
|
|
|
+ }else sDate = LocalDate.parse(startDate).atTime(LocalTime.MIN);
|
|
|
+ List<LocalDateTime> dateTimeList=getDays(sDate, eDate);
|
|
|
List<Map<String,Object>> dataList=new ArrayList<>();
|
|
|
long days =dateTimeList.size();
|
|
|
List<LeaveSheet> leaveSheets = leaveSheetList.stream().filter(ls -> ls.getOwnerId().equals(user.getId())
|
|
@@ -5964,7 +5973,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //去填未填日报非工作日
|
|
|
+ //去掉填未填日报非工作日
|
|
|
for (LocalDateTime localDateTime : dateTimeList) {
|
|
|
if(mapList!=null){
|
|
|
if(!WorkDayCalculateUtils.isWorkDay(localDateTime.toLocalDate())&&!mapList.stream().anyMatch(ml->{
|
|
@@ -7864,16 +7873,15 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
Map<String,Object> itemMap=new HashMap<>();
|
|
|
List<String> weekList = SplitDateUtil.doDateByStatisticsType("week", sDate, eDate);
|
|
|
List<Map<String,Object>> itemList=new ArrayList<>();
|
|
|
- int a=1;
|
|
|
for (int i1 = 0; i1 < weekList.size(); i1++) {
|
|
|
String sDate1 = weekList.get(i1);
|
|
|
String eDate1 = weekList.get(i1 + 1);
|
|
|
Map<String,Object> map=new HashMap<>();
|
|
|
map.put("startDate",sDate1);
|
|
|
map.put("endDate",eDate1);
|
|
|
- map.put("week",a);
|
|
|
+ String weekValueByDate = SplitDateUtil.getWeekValueByDate(eDate1);
|
|
|
+ map.put("week",weekValueByDate);
|
|
|
i1++;
|
|
|
- a++;
|
|
|
itemList.add(map);
|
|
|
System.out.println(sDate1+"-----"+eDate1);
|
|
|
}
|
|
@@ -7881,7 +7889,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
itemMap.put("data",itemList);
|
|
|
dataDetailList.add(itemMap);
|
|
|
}
|
|
|
- } catch (ParseException e) {
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
System.out.println(dataDetailList);
|
|
@@ -7892,10 +7900,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
List<String> titleString = new ArrayList<>(Arrays.asList(s));
|
|
|
for (Map<String, Object> objectMap : dataDetailList) {
|
|
|
List<Map<String,Object>> data = (List<Map<String, Object>>) objectMap.get("data");
|
|
|
- Integer month = Integer.valueOf(String.valueOf(objectMap.get("month")));
|
|
|
for (Map<String, Object> datum : data) {
|
|
|
- Integer week =Integer.valueOf(String.valueOf( datum.get("week")));
|
|
|
- titleString.add(month+"月份第"+week+"周及时率");
|
|
|
+ String week =String.valueOf( datum.get("week"));
|
|
|
+
|
|
|
+ titleString.add(week+"_"+String.valueOf(datum.get("startDate"))+"-"+ String.valueOf(datum.get("endDate"))+"及时率");
|
|
|
}
|
|
|
}
|
|
|
List<List<String>> dataList=new ArrayList<>();
|