|
@@ -2753,14 +2753,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
//检查是不是部门负责人(含主要负责人和其他负责人)
|
|
//检查是不是部门负责人(含主要负责人和其他负责人)
|
|
List<Integer> allDeptIds = getAllVisibleDeptIdList(user, allDeptList);
|
|
List<Integer> allDeptIds = getAllVisibleDeptIdList(user, allDeptList);
|
|
if (allDeptIds.size() > 0) {
|
|
if (allDeptIds.size() > 0) {
|
|
-// List<Department> allDepts = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
|
|
|
|
-// List<Department> myDeptList = allDepts.stream().filter(d->user.getId().equals(d.getManagerId()) || (hasDeptWorktimePriv && d.getDepartmentId().equals(user.getDepartmentId()))).collect(Collectors.toList());
|
|
|
|
-// List<Department> subDepts = new ArrayList<>();
|
|
|
|
-// for (Department dp : myDeptList) {
|
|
|
|
-// subDepts.addAll(getSubDepts(dp, allDepts));
|
|
|
|
-// subDepts.add(dp);
|
|
|
|
-// }
|
|
|
|
-// List<Integer> collect = subDepts.stream().map(Department::getDepartmentId).collect(Collectors.toList());
|
|
|
|
list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allDeptIds, null);
|
|
list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allDeptIds, null);
|
|
//部门负责人看自己部门相关的
|
|
//部门负责人看自己部门相关的
|
|
allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("department_id", allDeptIds).orderByDesc("department_id"));
|
|
allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("department_id", allDeptIds).orderByDesc("department_id"));
|
|
@@ -2793,10 +2785,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
//准备部门数据
|
|
//准备部门数据
|
|
List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
|
|
List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
|
|
//获取所有同步的企业微信数据
|
|
//获取所有同步的企业微信数据
|
|
- LocalDateTime a=LocalDateTime.now();
|
|
|
|
List<Map> userCorpwxTimeMapList = userCorpwxTimeMapper.selectByAsk(companyId,startDate,endDate);
|
|
List<Map> userCorpwxTimeMapList = userCorpwxTimeMapper.selectByAsk(companyId,startDate,endDate);
|
|
- LocalDateTime b=LocalDateTime.now();
|
|
|
|
- long l = Duration.between(a, b).toMillis();
|
|
|
|
String lastUserId = null;
|
|
String lastUserId = null;
|
|
UserMonthWork lastUserData = null;
|
|
UserMonthWork lastUserData = null;
|
|
for (Map<String, Object> data : list) {
|
|
for (Map<String, Object> data : list) {
|
|
@@ -3803,14 +3792,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
List<Integer> allVisibleDeptIdList = getAllVisibleDeptIdList(user, null);
|
|
List<Integer> allVisibleDeptIdList = getAllVisibleDeptIdList(user, null);
|
|
//检查是不是部门负责人
|
|
//检查是不是部门负责人
|
|
if (allVisibleDeptIdList.size() > 0) {
|
|
if (allVisibleDeptIdList.size() > 0) {
|
|
-// List<Department> allDepts = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
|
|
|
|
-// List<Department> myDeptList = allDepts.stream().filter(d->user.getId().equals(d.getManagerId())|| (hasDeptWorktimePriv && d.getDepartmentId().equals(user.getDepartmentId()))).collect(Collectors.toList());
|
|
|
|
-// List<Department> subDepts = new ArrayList<>();
|
|
|
|
-// for (Department dp : myDeptList) {
|
|
|
|
-// subDepts.addAll(getSubDepts(dp, allDepts));
|
|
|
|
-// subDepts.add(dp);
|
|
|
|
-// }
|
|
|
|
-// List<Integer> collect = subDepts.stream().map(Department::getDepartmentId).collect(Collectors.toList());
|
|
|
|
list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allVisibleDeptIdList, null);
|
|
list = reportMapper.getUserDailyWorkTime(companyId, startDate, endDate, allVisibleDeptIdList, null);
|
|
//部门负责人看自己部门相关的
|
|
//部门负责人看自己部门相关的
|
|
allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("department_id", allVisibleDeptIdList).eq("report_status",0));
|
|
allRangeUserList = userMapper.selectList(new QueryWrapper<User>().in("department_id", allVisibleDeptIdList).eq("report_status",0));
|
|
@@ -3839,8 +3820,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
//获取企业微信同步数据
|
|
//获取企业微信同步数据
|
|
List<Map> userCorpwxTimeMapList = userCorpwxTimeMapper.selectByAsk(companyId,startDate,endDate);
|
|
List<Map> userCorpwxTimeMapList = userCorpwxTimeMapper.selectByAsk(companyId,startDate,endDate);
|
|
|
|
|
|
- String lastUserId = null;
|
|
|
|
- UserMonthWork lastUserData = null;
|
|
|
|
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
LocalDate localStart = LocalDate.parse(startDate, dtf);
|
|
LocalDate localStart = LocalDate.parse(startDate, dtf);
|
|
@@ -3864,6 +3843,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
List<String> cpwxIds = new ArrayList<>();
|
|
List<String> cpwxIds = new ArrayList<>();
|
|
//获取请假数据
|
|
//获取请假数据
|
|
List<LeaveSheet> leaveSheetList = leaveSheetMapper.selectList(new QueryWrapper<LeaveSheet>().eq("company_id", user.getCompanyId()));
|
|
List<LeaveSheet> leaveSheetList = leaveSheetMapper.selectList(new QueryWrapper<LeaveSheet>().eq("company_id", user.getCompanyId()));
|
|
|
|
+ //已驳回的数据
|
|
|
|
+ List<Report> deniedReportList = reportMapper.selectList(new QueryWrapper<Report>().eq("company_id", companyId).eq("state", 2).between("create_date", startDate, endDate));
|
|
|
|
+ List<Report> waitingSubmitReportList = reportMapper.selectList(new QueryWrapper<Report>().eq("company_id", companyId).eq("state", 3).between("create_date", startDate, endDate));
|
|
//按人员过滤
|
|
//按人员过滤
|
|
for (User curUser: allRangeUserList){
|
|
for (User curUser: allRangeUserList){
|
|
for (int i=0;i<=cnt; i++) {
|
|
for (int i=0;i<=cnt; i++) {
|
|
@@ -3891,10 +3873,19 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
cpwxIds.add(curUser.getCorpwxUserid());
|
|
cpwxIds.add(curUser.getCorpwxUserid());
|
|
List<Map> userCorpwxListOn = userCorpwxTimeMapList.stream().filter(mapList -> mapList.get("create_date").toString().equals(dateStr)
|
|
List<Map> userCorpwxListOn = userCorpwxTimeMapList.stream().filter(mapList -> mapList.get("create_date").toString().equals(dateStr)
|
|
&& mapList.get("corpwx_userid").equals(curUser.getCorpwxUserid())).collect(Collectors.toList());
|
|
&& mapList.get("corpwx_userid").equals(curUser.getCorpwxUserid())).collect(Collectors.toList());
|
|
|
|
+ noRecord.createDate = dtf.format(date);
|
|
|
|
+ //默认为未填写
|
|
|
|
+ noRecord.status = "未填写";
|
|
if(!userCorpwxListOn.isEmpty()){
|
|
if(!userCorpwxListOn.isEmpty()){
|
|
- noRecord.createDate = dtf.format(date)+"/请假";
|
|
|
|
|
|
+ noRecord.status = "请假";
|
|
}else{
|
|
}else{
|
|
- noRecord.createDate = dtf.format(date);
|
|
|
|
|
|
+ //检查是否是驳回或者待提交的
|
|
|
|
+ if (deniedReportList.stream().anyMatch(deny->deny.getCreatorId().equals(curUser.getId()) && date.isEqual(deny.getCreateDate()))) {
|
|
|
|
+ noRecord.status = "已驳回";
|
|
|
|
+ }
|
|
|
|
+ if (waitingSubmitReportList.stream().anyMatch(deny->deny.getCreatorId().equals(curUser.getId()) && date.isEqual(deny.getCreateDate()))) {
|
|
|
|
+ noRecord.status = "待提交";
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if (curUser.getDepartmentId() != null && curUser.getDepartmentId() != 0) {
|
|
if (curUser.getDepartmentId() != null && curUser.getDepartmentId() != 0) {
|
|
@@ -3907,8 +3898,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
List<LeaveSheet> leaveSheets = leaveSheetList.stream().filter(ls -> ls.getOwnerId().equals(curUser.getId())
|
|
List<LeaveSheet> leaveSheets = leaveSheetList.stream().filter(ls -> ls.getOwnerId().equals(curUser.getId())
|
|
&&(ls.getStartDate().isAfter(LocalDate.parse(startDate))||ls.getStartDate().isEqual(LocalDate.parse(startDate)))
|
|
&&(ls.getStartDate().isAfter(LocalDate.parse(startDate))||ls.getStartDate().isEqual(LocalDate.parse(startDate)))
|
|
&&(ls.getEndDate().isBefore(LocalDate.parse(endDate))||ls.getEndDate().isEqual(LocalDate.parse(endDate)))).collect(Collectors.toList());
|
|
&&(ls.getEndDate().isBefore(LocalDate.parse(endDate))||ls.getEndDate().isEqual(LocalDate.parse(endDate)))).collect(Collectors.toList());
|
|
- System.out.println(date);
|
|
|
|
- System.out.println(leaveSheets);
|
|
|
|
noReportDataList.add(noRecord);
|
|
noReportDataList.add(noRecord);
|
|
for (LeaveSheet leaveSheet : leaveSheets) {
|
|
for (LeaveSheet leaveSheet : leaveSheets) {
|
|
if(!(date.isBefore(leaveSheet.getStartDate())||date.isAfter(leaveSheet.getEndDate()))){
|
|
if(!(date.isBefore(leaveSheet.getStartDate())||date.isAfter(leaveSheet.getEndDate()))){
|
|
@@ -3970,7 +3959,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
List<String> titleList = new ArrayList<>();
|
|
List<String> titleList = new ArrayList<>();
|
|
titleList.add("部门");
|
|
titleList.add("部门");
|
|
titleList.add("姓名");
|
|
titleList.add("姓名");
|
|
- titleList.add("未填日期");
|
|
|
|
|
|
+ titleList.add("日期");
|
|
|
|
+ titleList.add("状态");
|
|
if (timeType.getSyncCorpwxTime() == 1) {
|
|
if (timeType.getSyncCorpwxTime() == 1) {
|
|
//企业微信同步考勤打卡的,需要加上这一列
|
|
//企业微信同步考勤打卡的,需要加上这一列
|
|
titleList.add("考勤打卡");
|
|
titleList.add("考勤打卡");
|
|
@@ -3983,10 +3973,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
line.add(dataItem.department);
|
|
line.add(dataItem.department);
|
|
line.add(dataItem.name);
|
|
line.add(dataItem.name);
|
|
line.add(dataItem.createDate);
|
|
line.add(dataItem.createDate);
|
|
|
|
+ line.add(dataItem.status);
|
|
if (timeType.getSyncCorpwxTime() == 1) {
|
|
if (timeType.getSyncCorpwxTime() == 1) {
|
|
line.add(dataItem.cardTime);
|
|
line.add(dataItem.cardTime);
|
|
}
|
|
}
|
|
-
|
|
|
|
dataList.add(line);
|
|
dataList.add(line);
|
|
}
|
|
}
|
|
//生成excel文件导出
|
|
//生成excel文件导出
|