|
@@ -5788,7 +5788,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
List<Map<String, Object>> mapList = listMap.get(user.getName());
|
|
|
//请假的不参与及时率统计
|
|
|
- System.out.println(leaveSheets);
|
|
|
if(leaveSheets.size()>0){
|
|
|
for (LeaveSheet leaveSheet : leaveSheets) {
|
|
|
List<LocalDateTime> leaveDateList = getDays(leaveSheet.getStartDate().atTime(LocalTime.MIN), leaveSheet.getEndDate().atTime(LocalTime.MIN));
|
|
@@ -5833,8 +5832,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ int num=0;
|
|
|
if(mapList!=null){
|
|
|
- int num=0;
|
|
|
for (Map<String, Object> map : mapList) {
|
|
|
Map<String,Object> objectMap=new HashMap<>();
|
|
|
Object date = map.get("createDate");
|
|
@@ -5867,8 +5866,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
dataList.add(objectMap);
|
|
|
}
|
|
|
- System.out.println(days);
|
|
|
- System.out.println(num);
|
|
|
BigDecimal bigDecimal=new BigDecimal(num);
|
|
|
BigDecimal divide;
|
|
|
if(days!=0){
|
|
@@ -5888,7 +5885,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
String number = dft.format(divide);
|
|
|
timelinessRateVO.setTimelinessRate(String.valueOf(number));
|
|
|
}else {
|
|
|
- int num=0;
|
|
|
BigDecimal bigDecimal=new BigDecimal(num);
|
|
|
BigDecimal divide;
|
|
|
if(days!=0){
|
|
@@ -7613,4 +7609,71 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
return msg;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg exportReportTimelinessRateByQuarter(HttpServletRequest request, String year, Integer quarter) {
|
|
|
+ HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
|
+ DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
+ WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
|
|
|
+ String startDate=null;
|
|
|
+ String endDate=null;
|
|
|
+ LocalDate date1;
|
|
|
+ LocalDate date2;
|
|
|
+ switch (quarter){
|
|
|
+ case 1:
|
|
|
+ date1 = LocalDate.parse(year + "-01-01", df).minusWeeks(1);
|
|
|
+ startDate=date1.format(df);
|
|
|
+ date2 = LocalDate.parse(year + "-03-31", df).minusWeeks(1);
|
|
|
+ endDate=date2.format(df);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ date1 = LocalDate.parse(year + "-04-01", df).minusWeeks(1);
|
|
|
+ startDate=date1.format(df);
|
|
|
+ date2 = LocalDate.parse(year + "-06-30", df).minusWeeks(1);
|
|
|
+ endDate=date2.format(df);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ date1 = LocalDate.parse(year + "-07-01", df).minusWeeks(1);
|
|
|
+ startDate=date1.format(df);
|
|
|
+ date2 = LocalDate.parse(year + "-09-30", df).minusWeeks(1);
|
|
|
+ endDate=date2.format(df);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ date1 = LocalDate.parse(year + "-10-01", df).minusWeeks(1);
|
|
|
+ startDate=date1.format(df);
|
|
|
+ date2 = LocalDate.parse(year + "-12-31", df).minusWeeks(1);
|
|
|
+ endDate=date2.format(df);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ 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={"人员","工号","部门","填报及时率"};
|
|
|
+ String[] s={MessageUtils.message("entry.personnel"),MessageUtils.message("entry.No"),MessageUtils.message("excel.department"),MessageUtils.message("excel.timeFill")};
|
|
|
+ List<String> titleString = Arrays.asList(s);
|
|
|
+ List<List<String>> dataList=new ArrayList<>();
|
|
|
+ dataList.add(titleString);
|
|
|
+ for (TimelinessRateVO timelinessRateVO : list) {
|
|
|
+ List<String> item=new ArrayList<>();
|
|
|
+ if(wxCorpInfo!=null&&wxCorpInfo.getSaasSyncContact()==1){
|
|
|
+ item.add(timelinessRateVO.getCorpwxUserId()==null?"":timelinessRateVO.getCorpwxUserId());
|
|
|
+ }else {
|
|
|
+ item.add(timelinessRateVO.getUserName());
|
|
|
+ }
|
|
|
+ item.add(timelinessRateVO.getJobNumber());
|
|
|
+ item.add(timelinessRateVO.getDepartmentName());
|
|
|
+ item.add(timelinessRateVO.getTimelinessRate());
|
|
|
+ dataList.add(item);
|
|
|
+ }
|
|
|
+ //生成excel文件导出
|
|
|
+ //String fileName = year+"人员填报及时率统计_"+System.currentTimeMillis();
|
|
|
+ String fileName = year+"_"+quarter+MessageUtils.message("fileName.quarter")+MessageUtils.message("fileName.timePerFill")+System.currentTimeMillis();
|
|
|
+ try {
|
|
|
+ return excelExportService.exportGeneralExcelByTitleAndList(wxCorpInfo,fileName , dataList, path);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return httpRespMsg;
|
|
|
+ }
|
|
|
+
|
|
|
}
|