|
@@ -9721,6 +9721,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
LocalDate end = LocalDate.parse(endDate, dateTimeFormatter);
|
|
|
end = end.minusDays(lines+1);
|
|
|
endDate = dateTimeFormatter.format(end);
|
|
|
+ System.out.println("调整后endDate=="+endDate);
|
|
|
WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", targetUser.getCompanyId()));
|
|
|
Integer timeliness = timeType.getTimeliness();
|
|
|
List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "全公司填报及时率");
|
|
@@ -9859,7 +9860,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
days-=1;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
//请假的不参与及时率统计
|
|
|
//todo: 此处对请假的 数据做处理 计请假填报 去除请假日期中的需要填报的日期
|
|
@@ -9930,7 +9930,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
}
|
|
|
int num=0;
|
|
|
- System.out.println("总天数"+days);
|
|
|
if(mapList!=null){
|
|
|
for (Map<String, Object> map : mapList) {
|
|
|
Map<String,Object> objectMap=new HashMap<>();
|
|
@@ -9968,8 +9967,31 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}else {
|
|
|
objectMap.put((LocalDate.parse(String.valueOf(date)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))),MessageUtils.message("entry.NoTimely")+"/"+MessageUtils.message("entry.SubTime")+createTimeDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
}
|
|
|
+ System.out.println("objectMap==="+objectMap);
|
|
|
dataList.add(objectMap);
|
|
|
}
|
|
|
+ //处理漏填的情况,漏填的也算不及时
|
|
|
+ boolean hasMissReport = false;
|
|
|
+ for (LocalDateTime localDateTime : dateTimeList.get()) {
|
|
|
+ if(!WorkDayCalculateUtils.isWorkDay(localDateTime.toLocalDate())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(dataList.stream().anyMatch(a->a.containsKey(localDateTime.toLocalDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))))){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Map<String,Object> map=new HashMap<>();
|
|
|
+ map.put(localDateTime.toLocalDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")),"漏填报");
|
|
|
+ dataList.add(map);
|
|
|
+ hasMissReport = true;
|
|
|
+ }
|
|
|
+ if (hasMissReport) {
|
|
|
+ //dataList重新排序,按日期从小到大
|
|
|
+ dataList = dataList.stream().sorted((a, b) -> {
|
|
|
+ String keyA = a.keySet().iterator().next();
|
|
|
+ String keyB = b.keySet().iterator().next();
|
|
|
+ return keyA.compareTo(keyB);
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
BigDecimal bigDecimal=new BigDecimal(num);
|
|
|
BigDecimal bigDecimalWithLeave=new BigDecimal(num+(daysWithLeave-days));
|
|
|
BigDecimal divide;
|
|
@@ -10012,6 +10034,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
BigDecimal divide;
|
|
|
BigDecimal divideWithLeave;
|
|
|
if(days!=0){
|
|
|
+ System.out.println("及时日=="+num+","+days);
|
|
|
divide = bigDecimal.divide(BigDecimal.valueOf(days), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
}else if(days==0){
|
|
|
divide=new BigDecimal(1);
|