|
@@ -4040,45 +4040,47 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public HttpRespMsg fixIssue() {
|
|
public HttpRespMsg fixIssue() {
|
|
- Integer companyId = 862;
|
|
|
|
- Company company = companyMapper.selectById(companyId);
|
|
|
|
- System.out.println("========处理公司======="+company.getCompanyName());
|
|
|
|
- //查找某日某天的日报,项目上已经都审核通过,但是state = 0,并且没有走到下一个阶段的
|
|
|
|
- List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().eq("company_id", companyId));
|
|
|
|
- List<String> creatorIds = reportList.stream().map(Report::getCreatorId).distinct().collect(Collectors.toList());
|
|
|
|
- List<LocalDate> dateList = reportList.stream().map(Report::getCreateDate).distinct().collect(Collectors.toList());
|
|
|
|
- List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
|
|
|
|
- List<Department> allDepts = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
|
|
|
|
- DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
-
|
|
|
|
- for (String creator : creatorIds) {
|
|
|
|
- User user = userList.stream().filter(u -> u.getId().equals(creator)).findFirst().get();
|
|
|
|
- String creatorName = user.getName();
|
|
|
|
- String dateStr = "";
|
|
|
|
- for (LocalDate date : dateList) {
|
|
|
|
- //某人某天的全部日报
|
|
|
|
- List<Report> userDayReport = reportList.stream().filter(r -> r.getCreatorId().equals(creator) && r.getCreateDate().isEqual(date)).collect(Collectors.toList());
|
|
|
|
- if (userDayReport.size() > 0) {
|
|
|
|
- //有当前的日报
|
|
|
|
- boolean isAllProjectAuditPass = !userDayReport.stream().anyMatch(r->r.getProjectAuditState() != 1);
|
|
|
|
- boolean isAllState0 = !userDayReport.stream().anyMatch(r->r.getState() != 0);
|
|
|
|
-
|
|
|
|
- if (isAllProjectAuditPass && isAllState0) {
|
|
|
|
- //当前的日报项目全部通过,但是日报本身还是待审核状态的,需要更新
|
|
|
|
- dateStr +=dtf.format(date) + ", ";
|
|
|
|
- List<Integer> rids = userDayReport.stream().map(Report::getId).collect(Collectors.toList());
|
|
|
|
- //测试: 翁浩勃
|
|
|
|
-// if ("翁浩勃".equals(creatorName)) {
|
|
|
|
-//
|
|
|
|
-// }
|
|
|
|
- selfUpdateToNextWorkFlow(companyId, user, rids, allDepts);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ //
|
|
|
|
+
|
|
|
|
+ //处理被误操作为自动审核的数据,
|
|
|
|
+ List<AuditWorkflowTimeSetting> settings = auditWorkflowTimeSettingMapper.selectList(new QueryWrapper<AuditWorkflowTimeSetting>().select("distinct company_id"));
|
|
|
|
+ System.out.println("有审批流的公司size="+settings.size());
|
|
|
|
+
|
|
|
|
+ List<Report> reportList = reportMapper.selectList(
|
|
|
|
+ new QueryWrapper<Report>().select("company_id, id, state, project_auditor_id")
|
|
|
|
+ .eq("report_auto_approve", 1).ne("company_id", 767));
|
|
|
|
+ System.out.println("查询到数据=="+reportList.size());
|
|
|
|
+ int dealCnt = 0;
|
|
|
|
+ List<Report> auditWorkflowReportList = new ArrayList<>();
|
|
|
|
+ for (Report report : reportList) {
|
|
|
|
+ if (!settings.stream().anyMatch(s->s.getCompanyId().equals(report.getCompanyId()))) {
|
|
|
|
+ //无审批流的公司,直接通过
|
|
|
|
+ report.setReportAutoApprove(0);
|
|
|
|
+ report.setProjectAuditState(0);
|
|
|
|
+ report.setState(0);
|
|
|
|
+ dealCnt++;
|
|
|
|
+ } else {
|
|
|
|
+ auditWorkflowReportList.add(report);
|
|
}
|
|
}
|
|
- if (!StringUtils.isEmpty(dateStr)) {
|
|
|
|
- System.out.println(creatorName+" " + dateStr);
|
|
|
|
|
|
+ }
|
|
|
|
+ System.out.println("已处理无审批流的日报size="+dealCnt);
|
|
|
|
+ System.out.println("有审批流的日报size="+auditWorkflowReportList.size());
|
|
|
|
+ //检查哪些是项目没审核的
|
|
|
|
+ int projectAuditManulPassCnt = 0;
|
|
|
|
+ for (Report report : auditWorkflowReportList) {
|
|
|
|
+ int count = reportLogMapper.selectCount(new QueryWrapper<ReportLog>()
|
|
|
|
+ .like("msg", "审核通过了日报").eq("operator_id", report.getProjectAuditorId())
|
|
|
|
+ .eq("report_ids", report.getId()));
|
|
|
|
+ if (count == 0) {
|
|
|
|
+ //模糊匹配一下
|
|
|
|
+ reportLogMapper.selectList(new QueryWrapper<ReportLog>()
|
|
|
|
+ .like("msg", "审核通过了日报").eq("operator_id", report.getProjectAuditorId())
|
|
|
|
+ .like("report_ids", report.getId()));
|
|
|
|
+ } else {
|
|
|
|
+ projectAuditManulPassCnt++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ System.out.println("手动审核过的日报size="+projectAuditManulPassCnt);
|
|
|
|
|
|
return new HttpRespMsg();
|
|
return new HttpRespMsg();
|
|
}
|
|
}
|