|
@@ -83,6 +83,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
@Resource
|
|
|
private ReportService reportService;
|
|
|
@Resource
|
|
|
+ private ReportLogService reportLogService;
|
|
|
+ @Resource
|
|
|
ReportExtraDegreeMapper reportExtraDegreeMapper;
|
|
|
@Resource
|
|
|
WxCorpInfoService wxCorpInfoService;
|
|
@@ -152,6 +154,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
private ReportAlogMembdateMapper reportAlogMembdateMapper;
|
|
|
@Resource
|
|
|
private GroupParticipatorMapper groupParticipatorMapper;
|
|
|
+ @Resource
|
|
|
+ private ReportLogMapper reportLogMapper;
|
|
|
|
|
|
@Value(value = "${upload.path}")
|
|
|
private String path;
|
|
@@ -758,10 +762,98 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
|
|
|
//异步下载图片
|
|
|
loadPicFromCorpWXServer(companyId, reportList);
|
|
|
-
|
|
|
+ saveFillReportLog(reportList);
|
|
|
return httpRespMsg;
|
|
|
}
|
|
|
|
|
|
+ //保存提交日报的记录
|
|
|
+ private void saveFillReportLog(List<Report> reportList) {
|
|
|
+ Report r = reportList.get(0);
|
|
|
+ List<ReportLog> addLogList = new ArrayList<>();
|
|
|
+ if (r.getState() == 0) {
|
|
|
+ Integer companyId = r.getCompanyId();
|
|
|
+ List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
|
|
|
+ //提交待审核
|
|
|
+ for (Report report : reportList) {
|
|
|
+ ReportLog log = new ReportLog();
|
|
|
+ log.setCreatorId(report.getCreatorId());
|
|
|
+ log.setCreateDate(report.getCreateDate());
|
|
|
+ //去重
|
|
|
+ Optional<ReportLog> oldLog = addLogList.stream().filter(add -> add.getCreateDate().isEqual(log.getCreateDate()) && add.getCreatorId().equals(log.getCreatorId())).findFirst();
|
|
|
+ if (!oldLog.isPresent()) {
|
|
|
+ log.setOperatorId(report.getFillUserid()==null?report.getCreatorId():report.getFillUserid());
|
|
|
+ Optional<User> first = userList.stream().filter(u -> u.getId().equals(log.getCreatorId())).findFirst();
|
|
|
+ String username = "";
|
|
|
+ if (first.isPresent()) {
|
|
|
+ username = first.get().getName();
|
|
|
+ }
|
|
|
+ log.setMsg(username+"提交了日报");
|
|
|
+ log.setCompanyId(companyId);
|
|
|
+ log.setReportIds(report.getId()+"");
|
|
|
+ addLogList.add(log);
|
|
|
+ } else {
|
|
|
+ ReportLog reportLog = oldLog.get();
|
|
|
+ reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ reportLogService.saveBatch(addLogList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //保存审核日报的记录
|
|
|
+ private void saveApproveReportLog(List<Report> reportList, String operatorId, String opName) {
|
|
|
+ Report r = reportList.get(0);
|
|
|
+ List<ReportLog> addLogList = new ArrayList<>();
|
|
|
+ Integer companyId = r.getCompanyId();
|
|
|
+ //操作审核通过
|
|
|
+ for (Report report : reportList) {
|
|
|
+ ReportLog log = new ReportLog();
|
|
|
+ log.setCreatorId(report.getCreatorId());
|
|
|
+ log.setCreateDate(report.getCreateDate());
|
|
|
+ //去重
|
|
|
+ Optional<ReportLog> oldLog = addLogList.stream().filter(add -> add.getCreateDate().isEqual(log.getCreateDate()) && add.getCreatorId().equals(log.getCreatorId())).findFirst();
|
|
|
+ if (!oldLog.isPresent()) {
|
|
|
+ log.setOperatorId(operatorId);
|
|
|
+ log.setMsg(opName+"审核通过了日报");
|
|
|
+ log.setCompanyId(companyId);
|
|
|
+ log.setReportIds(report.getId()+"");
|
|
|
+ addLogList.add(log);
|
|
|
+ } else {
|
|
|
+ ReportLog reportLog = oldLog.get();
|
|
|
+ reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ reportLogService.saveBatch(addLogList);
|
|
|
+ }
|
|
|
+
|
|
|
+ //保存审核日报的记录
|
|
|
+ private void saveDenyReportLog(List<Report> reportList, String operatorId, String opName, String reason) {
|
|
|
+ Report r = reportList.get(0);
|
|
|
+ List<ReportLog> addLogList = new ArrayList<>();
|
|
|
+ Integer companyId = r.getCompanyId();
|
|
|
+ //操作审核通过
|
|
|
+ for (Report report : reportList) {
|
|
|
+ ReportLog log = new ReportLog();
|
|
|
+ log.setCreatorId(report.getCreatorId());
|
|
|
+ log.setCreateDate(report.getCreateDate());
|
|
|
+ //去重
|
|
|
+ Optional<ReportLog> oldLog = addLogList.stream().filter(add -> add.getCreateDate().isEqual(log.getCreateDate()) && add.getCreatorId().equals(log.getCreatorId())).findFirst();
|
|
|
+ if (!oldLog.isPresent()) {
|
|
|
+ log.setOperatorId(operatorId);
|
|
|
+ log.setMsg(opName+"驳回了日报, 原因: "+(StringUtils.isEmpty(reason)?"无":reason));
|
|
|
+ log.setCompanyId(companyId);
|
|
|
+ log.setReportIds(report.getId()+"");
|
|
|
+ addLogList.add(log);
|
|
|
+ } else {
|
|
|
+ ReportLog reportLog = oldLog.get();
|
|
|
+ reportLog.setReportIds(reportLog.getReportIds()+","+report.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ reportLogService.saveBatch(addLogList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
private void loadPicFromCorpWXServer(Integer companyId, List<Report> reportList) {
|
|
|
List<Report> batchUpdateList = new ArrayList<>();
|
|
@@ -1180,6 +1272,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
membdate.setUserId(oneReport.getCreatorId());
|
|
|
membdate.setUserName(userMapper.selectById(oneReport.getCreatorId()).getName());
|
|
|
reportAlogMembdateMapper.insert(membdate);
|
|
|
+
|
|
|
+ //日报的审核过程记录
|
|
|
+ saveApproveReportLog(reportList, user.getId(), user.getName());
|
|
|
}
|
|
|
} catch (NullPointerException e) {
|
|
|
httpRespMsg.setError("验证失败");
|
|
@@ -1396,7 +1491,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
membdate.setUserId(oneReport.getCreatorId());
|
|
|
membdate.setUserName(userMapper.selectById(oneReport.getCreatorId()).getName());
|
|
|
reportAlogMembdateMapper.insert(membdate);
|
|
|
-
|
|
|
+ saveDenyReportLog(rList, user.getId(), user.getName(), reason);
|
|
|
//发送企业微信通知消息
|
|
|
User reporter = userMapper.selectById(fillUserId);
|
|
|
String corpwxUserid = reporter.getCorpwxUserid();
|
|
@@ -1739,6 +1834,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
log.setUserName(user.getName());
|
|
|
log.setProjectName(s);
|
|
|
reportAuditLogMapper.insert(log);
|
|
|
+
|
|
|
+ saveApproveReportLog(allReports, user.getId(), user.getName());
|
|
|
//当前所有员工的日期
|
|
|
List<ReportAlogMembdate> membList = new ArrayList<>();
|
|
|
for (Report r : allReports) {
|
|
@@ -1836,6 +1933,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
log.setProjectName(s);
|
|
|
reportAuditLogMapper.insert(log);
|
|
|
List<Report> allReports = reportMapper.selectList(new QueryWrapper<Report>().in("id", ids));
|
|
|
+ saveDenyReportLog(allReports, user.getId(), user.getName(), null);
|
|
|
List<User> allUsers = userMapper.selectList(new QueryWrapper<User>().eq("company_id", company.getId()));
|
|
|
//当前所有员工的日期
|
|
|
List<ReportAlogMembdate> membList = new ArrayList<>();
|