|
@@ -80,6 +80,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()) {
|
|
@@ -846,12 +866,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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -859,6 +890,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));
|
|
@@ -879,14 +911,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) {
|
|
@@ -905,8 +947,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) {
|
|
@@ -1809,7 +1860,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());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1822,10 +1875,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;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1870,6 +1934,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");
|
|
@@ -3245,12 +3332,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("审核状态");
|
|
@@ -3458,29 +3549,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) {
|
|
@@ -3491,8 +3575,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"));
|