|
@@ -77,6 +77,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
@Resource
|
|
@Resource
|
|
private TaskGroupMapper taskGroupMapper;
|
|
private TaskGroupMapper taskGroupMapper;
|
|
@Resource
|
|
@Resource
|
|
|
|
+ private ReportLogDetailMapper reportLogDetailMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private ReportLogDetailService reportLogDetailService;
|
|
|
|
+ @Resource
|
|
private ProjectAuditorMapper projectAuditorMapper;
|
|
private ProjectAuditorMapper projectAuditorMapper;
|
|
@Resource
|
|
@Resource
|
|
private SysFunctionMapper sysFunctionMapper;
|
|
private SysFunctionMapper sysFunctionMapper;
|
|
@@ -808,6 +812,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
log.setCompanyId(report.getCompanyId());
|
|
log.setCompanyId(report.getCompanyId());
|
|
log.setReportIds(reportIds);
|
|
log.setReportIds(reportIds);
|
|
reportLogMapper.insert(log);
|
|
reportLogMapper.insert(log);
|
|
|
|
+ for (Integer reportId : ids) {
|
|
|
|
+ ReportLogDetail detail = new ReportLogDetail();
|
|
|
|
+ detail.setCompanyId(log.getCompanyId());
|
|
|
|
+ detail.setMsg(log.getMsg());
|
|
|
|
+ detail.setOperateDate(log.getOperateDate());
|
|
|
|
+ detail.setOperatorId(log.getOperatorId());
|
|
|
|
+ detail.setReportId(reportId);
|
|
|
|
+ detail.setWorkDate(log.getCreateDate());
|
|
|
|
+ reportLogDetailMapper.insert(detail);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
//保存提交日报的记录
|
|
//保存提交日报的记录
|
|
@@ -815,6 +830,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
if (reportList.size() == 0) return;
|
|
if (reportList.size() == 0) return;
|
|
Report r = reportList.get(0);
|
|
Report r = reportList.get(0);
|
|
List<ReportLog> addLogList = new ArrayList<>();
|
|
List<ReportLog> addLogList = new ArrayList<>();
|
|
|
|
+ List<ReportLogDetail> addLogDetailList = new ArrayList<>();
|
|
//待审核或者直接通过的(代填时state可能是直接通过)
|
|
//待审核或者直接通过的(代填时state可能是直接通过)
|
|
if (r.getState() == 0 || r.getState() == 1) {
|
|
if (r.getState() == 0 || r.getState() == 1) {
|
|
Integer companyId = r.getCompanyId();
|
|
Integer companyId = r.getCompanyId();
|
|
@@ -824,6 +840,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
ReportLog log = new ReportLog();
|
|
ReportLog log = new ReportLog();
|
|
log.setCreatorId(report.getCreatorId());
|
|
log.setCreatorId(report.getCreatorId());
|
|
log.setCreateDate(report.getCreateDate());
|
|
log.setCreateDate(report.getCreateDate());
|
|
|
|
+ ReportLogDetail detail = new ReportLogDetail();
|
|
|
|
+ detail.setWorkDate(log.getCreateDate());
|
|
|
|
+ detail.setReportId(report.getId());
|
|
|
|
+ detail.setCompanyId(companyId);
|
|
//去重
|
|
//去重
|
|
Optional<ReportLog> oldLog = addLogList.stream().filter(add -> add.getCreateDate().isEqual(log.getCreateDate()) && add.getCreatorId().equals(log.getCreatorId())).findFirst();
|
|
Optional<ReportLog> oldLog = addLogList.stream().filter(add -> add.getCreateDate().isEqual(log.getCreateDate()) && add.getCreatorId().equals(log.getCreatorId())).findFirst();
|
|
if (!oldLog.isPresent()) {
|
|
if (!oldLog.isPresent()) {
|
|
@@ -848,12 +868,23 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
log.setCompanyId(companyId);
|
|
log.setCompanyId(companyId);
|
|
log.setReportIds(report.getId()+"");
|
|
log.setReportIds(report.getId()+"");
|
|
addLogList.add(log);
|
|
addLogList.add(log);
|
|
|
|
+ detail.setOperatorId(log.getOperatorId());
|
|
|
|
+ detail.setOperateDate(log.getOperateDate());
|
|
|
|
+ detail.setMsg(log.getMsg());
|
|
|
|
+
|
|
} else {
|
|
} else {
|
|
ReportLog reportLog = oldLog.get();
|
|
ReportLog reportLog = oldLog.get();
|
|
reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
|
|
reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
|
|
|
|
+ detail.setOperatorId(reportLog.getOperatorId());
|
|
|
|
+ detail.setOperateDate(reportLog.getOperateDate());
|
|
|
|
+ detail.setMsg(reportLog.getMsg());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ addLogDetailList.add(detail);
|
|
}
|
|
}
|
|
reportLogService.saveBatch(addLogList);
|
|
reportLogService.saveBatch(addLogList);
|
|
|
|
+ //详细保存
|
|
|
|
+ reportLogDetailService.saveBatch(addLogDetailList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -861,6 +892,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
private void saveApproveReportLog(List<Report> reportList, String operatorId, String opName) {
|
|
private void saveApproveReportLog(List<Report> reportList, String operatorId, String opName) {
|
|
Report r = reportList.get(0);
|
|
Report r = reportList.get(0);
|
|
List<ReportLog> addLogList = new ArrayList<>();
|
|
List<ReportLog> addLogList = new ArrayList<>();
|
|
|
|
+ List<ReportLogDetail> addLogDetailList = new ArrayList<>();
|
|
Integer companyId = r.getCompanyId();
|
|
Integer companyId = r.getCompanyId();
|
|
// List<Integer> projectIds = reportList.stream().map(Report::getProjectId).collect(Collectors.toList());
|
|
// List<Integer> projectIds = reportList.stream().map(Report::getProjectId).collect(Collectors.toList());
|
|
// List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().select("id, project_name").in("id", projectIds));
|
|
// List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().select("id, project_name").in("id", projectIds));
|
|
@@ -881,14 +913,24 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
ReportLog reportLog = oldLog.get();
|
|
ReportLog reportLog = oldLog.get();
|
|
reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
|
|
reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
|
|
}
|
|
}
|
|
|
|
+ ReportLogDetail detail = new ReportLogDetail();
|
|
|
|
+ detail.setReportId(report.getId());
|
|
|
|
+ detail.setWorkDate(log.getCreateDate());
|
|
|
|
+ detail.setOperatorId(log.getOperatorId());
|
|
|
|
+ detail.setOperateDate(log.getOperateDate());
|
|
|
|
+ detail.setCompanyId(log.getCompanyId());
|
|
|
|
+ detail.setMsg(log.getMsg());
|
|
|
|
+ addLogDetailList.add(detail);
|
|
}
|
|
}
|
|
reportLogService.saveBatch(addLogList);
|
|
reportLogService.saveBatch(addLogList);
|
|
|
|
+ reportLogDetailService.saveBatch(addLogDetailList);
|
|
}
|
|
}
|
|
|
|
|
|
//保存审核日报的记录
|
|
//保存审核日报的记录
|
|
private void saveDenyReportLog(List<Report> reportList, String operatorId, String opName, String reason) {
|
|
private void saveDenyReportLog(List<Report> reportList, String operatorId, String opName, String reason) {
|
|
Report r = reportList.get(0);
|
|
Report r = reportList.get(0);
|
|
List<ReportLog> addLogList = new ArrayList<>();
|
|
List<ReportLog> addLogList = new ArrayList<>();
|
|
|
|
+ List<ReportLogDetail> addLogDetailList = new ArrayList<>();
|
|
Integer companyId = r.getCompanyId();
|
|
Integer companyId = r.getCompanyId();
|
|
//操作审核通过
|
|
//操作审核通过
|
|
for (Report report : reportList) {
|
|
for (Report report : reportList) {
|
|
@@ -907,8 +949,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
ReportLog reportLog = oldLog.get();
|
|
ReportLog reportLog = oldLog.get();
|
|
reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
|
|
reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
|
|
}
|
|
}
|
|
|
|
+ ReportLogDetail detail = new ReportLogDetail();
|
|
|
|
+ detail.setReportId(report.getId());
|
|
|
|
+ detail.setWorkDate(log.getCreateDate());
|
|
|
|
+ detail.setOperatorId(log.getOperatorId());
|
|
|
|
+ detail.setOperateDate(log.getOperateDate());
|
|
|
|
+ detail.setCompanyId(log.getCompanyId());
|
|
|
|
+ detail.setMsg(log.getMsg());
|
|
|
|
+ addLogDetailList.add(detail);
|
|
}
|
|
}
|
|
reportLogService.saveBatch(addLogList);
|
|
reportLogService.saveBatch(addLogList);
|
|
|
|
+ reportLogDetailService.saveBatch(addLogDetailList);
|
|
}
|
|
}
|
|
|
|
|
|
private void loadPicFromCorpWXServer(Integer companyId, List<Report> reportList) {
|
|
private void loadPicFromCorpWXServer(Integer companyId, List<Report> reportList) {
|
|
@@ -1818,7 +1869,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
for (Integer integer : otherCollect) {
|
|
for (Integer integer : otherCollect) {
|
|
Optional<Department> first = allDepartmentList.stream().filter(ad -> ad.getDepartmentId().equals(integer)).findFirst();
|
|
Optional<Department> first = allDepartmentList.stream().filter(ad -> ad.getDepartmentId().equals(integer)).findFirst();
|
|
if(first.isPresent()){
|
|
if(first.isPresent()){
|
|
- allMDeptList.add(first.get());
|
|
|
|
|
|
+ if (!allMDeptList.stream().anyMatch(all->all.getDepartmentId().equals(first.get().getDepartmentId()))) {
|
|
|
|
+ allMDeptList.add(first.get());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1831,10 +1884,21 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- ArrayList realMDeptList = new ArrayList<>();
|
|
|
|
|
|
+ ArrayList<DepartmentVO> realMDeptList = new ArrayList<>();
|
|
for (Department d : allMDeptList) {
|
|
for (Department d : allMDeptList) {
|
|
realMDeptList.addAll(getSpecifiedDept(list, d.getDepartmentId()));
|
|
realMDeptList.addAll(getSpecifiedDept(list, d.getDepartmentId()));
|
|
}
|
|
}
|
|
|
|
+ //去掉第一层的部门是其他第一层部门的子部门的数据
|
|
|
|
+
|
|
|
|
+ for (int i=0;i<realMDeptList.size(); i++) {
|
|
|
|
+ DepartmentVO curDept = realMDeptList.get(i);
|
|
|
|
+ boolean exists = existsInChildDeptList(curDept.getId(), realMDeptList);
|
|
|
|
+ if (exists) {
|
|
|
|
+ realMDeptList.remove(i);
|
|
|
|
+ i--;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
list = realMDeptList;
|
|
list = realMDeptList;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1879,6 +1943,29 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ boolean existsInChildDeptList(Integer departmentId, List<DepartmentVO> parentDeptList) {
|
|
|
|
+ boolean find = false;
|
|
|
|
+ for (DepartmentVO p : parentDeptList) {
|
|
|
|
+ if (p.getChildren() != null && p.getChildren().size() > 0) {
|
|
|
|
+ for (DepartmentVO vo : p.getChildren()) {
|
|
|
|
+ if (vo.getId().equals(departmentId)) {
|
|
|
|
+ find = true;
|
|
|
|
+ break;
|
|
|
|
+ } else {
|
|
|
|
+ if (vo.getChildren() != null && vo.getChildren().size() > 0) {
|
|
|
|
+ if (existsInChildDeptList(departmentId, p.getChildren())) {
|
|
|
|
+ find = true;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return find;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public HttpRespMsg batchApproveReport(String reportIds, Integer isDepartment, HttpServletRequest request,String evaluate) {
|
|
public HttpRespMsg batchApproveReport(String reportIds, Integer isDepartment, HttpServletRequest request,String evaluate) {
|
|
String token = request.getHeader("Token");
|
|
String token = request.getHeader("Token");
|
|
@@ -2684,14 +2771,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"));
|
|
@@ -2724,10 +2803,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) {
|
|
@@ -3279,12 +3355,16 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
titles.add("任务分组");
|
|
titles.add("任务分组");
|
|
titles.add("投入阶段");
|
|
titles.add("投入阶段");
|
|
}
|
|
}
|
|
|
|
+ //每个日报的审批流程记录
|
|
|
|
+ List<ReportLogDetail> logDetails = new ArrayList<>();
|
|
if (timeType.getShowFillauditTime() == 1) {
|
|
if (timeType.getShowFillauditTime() == 1) {
|
|
-// titles.add("填写时间");
|
|
|
|
-// titles.add("项目审核人");
|
|
|
|
-// titles.add("审核时间");
|
|
|
|
|
|
+ titles.add("填写时间");
|
|
|
|
+ titles.add("项目审核人");
|
|
|
|
+ titles.add("审核时间");
|
|
titles.add("审核流程");
|
|
titles.add("审核流程");
|
|
|
|
+ logDetails = reportLogDetailMapper.selectList(new QueryWrapper<ReportLogDetail>().eq("company_id", company.getId()).between("work_date", startDate, endDate));
|
|
}
|
|
}
|
|
|
|
+
|
|
titles.add("工作事项");
|
|
titles.add("工作事项");
|
|
if(stateKey==1){
|
|
if(stateKey==1){
|
|
titles.add("审核状态");
|
|
titles.add("审核状态");
|
|
@@ -3493,29 +3573,22 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
index++;
|
|
index++;
|
|
}
|
|
}
|
|
if (timeType.getShowFillauditTime() == 1) {
|
|
if (timeType.getShowFillauditTime() == 1) {
|
|
-// row.createCell(index).setCellValue(sdf.format((Date)map.get("time")));
|
|
|
|
-// index++;
|
|
|
|
-// row.createCell(index).setCellValue((String)map.get("projectAuditorName"));
|
|
|
|
-// index++;
|
|
|
|
-// if (map.get("projectAuditTime") == null) {
|
|
|
|
-// row.createCell(index).setCellValue("");
|
|
|
|
-// } else {
|
|
|
|
-// row.createCell(index).setCellValue(sdf.format((Date)map.get("projectAuditTime")));
|
|
|
|
-// }
|
|
|
|
-// index++;
|
|
|
|
- //审核流程显示
|
|
|
|
- QueryWrapper<ReportLog> logQueryWrapper = new QueryWrapper<ReportLog>().eq("report_ids", (int)map.get("id"))
|
|
|
|
- .or().likeLeft("report_ids", ","+map.get("id"))
|
|
|
|
- .or().like("report_ids", ","+map.get("id")+",")
|
|
|
|
- .or().likeRight("report_ids", map.get("id")+",");
|
|
|
|
- List<ReportLog> auditLogs = reportLogMapper.selectList(logQueryWrapper);
|
|
|
|
-
|
|
|
|
- if (auditLogs.size() == 0) {
|
|
|
|
|
|
+ row.createCell(index).setCellValue(sdf.format((Date)map.get("time")));
|
|
|
|
+ index++;
|
|
|
|
+ row.createCell(index).setCellValue((String)map.get("projectAuditorName"));
|
|
|
|
+ index++;
|
|
|
|
+ if (map.get("projectAuditTime") == null) {
|
|
row.createCell(index).setCellValue("");
|
|
row.createCell(index).setCellValue("");
|
|
} else {
|
|
} else {
|
|
|
|
+ row.createCell(index).setCellValue(sdf.format((Date)map.get("projectAuditTime")));
|
|
|
|
+ }
|
|
|
|
+ index++;
|
|
|
|
+ //审核流程显示
|
|
|
|
+ List<ReportLogDetail> detailList = logDetails.stream().filter(log -> log.getReportId().equals((Integer) map.get("id"))).collect(Collectors.toList());
|
|
|
|
+ if (detailList.size() > 0) {
|
|
StringBuilder sb = new StringBuilder();
|
|
StringBuilder sb = new StringBuilder();
|
|
boolean isFirst = true;
|
|
boolean isFirst = true;
|
|
- for (ReportLog audit:auditLogs) {
|
|
|
|
|
|
+ for (ReportLogDetail audit:detailList) {
|
|
String time = dtf.format(audit.getOperateDate());
|
|
String time = dtf.format(audit.getOperateDate());
|
|
String msg = time+" " + audit.getMsg();
|
|
String msg = time+" " + audit.getMsg();
|
|
if (!isFirst) {
|
|
if (!isFirst) {
|
|
@@ -3526,8 +3599,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
sb.append(msg);
|
|
sb.append(msg);
|
|
}
|
|
}
|
|
row.createCell(index).setCellValue(sb.toString());
|
|
row.createCell(index).setCellValue(sb.toString());
|
|
|
|
+ } else {
|
|
|
|
+ row.createCell(index).setCellValue("");
|
|
}
|
|
}
|
|
-
|
|
|
|
index++;
|
|
index++;
|
|
}
|
|
}
|
|
row.createCell(index).setCellValue((String) map.get("content"));
|
|
row.createCell(index).setCellValue((String) map.get("content"));
|
|
@@ -3757,14 +3831,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));
|
|
@@ -3793,8 +3859,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);
|
|
@@ -3818,6 +3882,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++) {
|
|
@@ -3845,10 +3912,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) {
|
|
@@ -3861,8 +3937,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()))){
|
|
@@ -3924,7 +3998,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("考勤打卡");
|
|
@@ -3937,10 +4012,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文件导出
|