|
@@ -133,7 +133,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
// 固定返回七条数据,没有内容也要设置时间给前端渲染
|
|
|
LambdaQueryWrapper<PmWorkReport> queryWrapperR = Wrappers.lambdaQuery();
|
|
|
queryWrapperR.eq(PmWorkReport::getTenantId, tenantId)
|
|
|
- .eq(PmWorkReport::getSubmitterId, userId)
|
|
|
+ .eq(PmWorkReport::getSubmitterId, userId)
|
|
|
.between(reportId == 0, PmWorkReport::getReportDate, startDate1, endDate1)
|
|
|
.eq(reportId != 0, PmWorkReport::getId, reportId)
|
|
|
.orderByAsc(PmWorkReport::getReportDate);
|
|
@@ -413,15 +413,17 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
}
|
|
|
|
|
|
if (pmWorkReport.getIsRegularlySend().equals(0)) {
|
|
|
- if (pmWorkReport.getSendDingTalk().equals(1)) {
|
|
|
- dingTalkAndMessage.sendDingTalkDailyReport(rp, contents);
|
|
|
- }
|
|
|
- rp.setReportStatus(1);
|
|
|
- pmWorkReportMapper.updateById(rp);
|
|
|
+ // 检查是否需要发送消息
|
|
|
if (StringUtils.isNotBlank(ccTo)) {
|
|
|
+ if (pmWorkReport.getSendDingTalk().equals(1)) {
|
|
|
+ dingTalkAndMessage.sendDingTalkDailyReport(rp, contents);
|
|
|
+ }
|
|
|
dingTalkAndMessage.sendAsyncMessage(rp);
|
|
|
receiveMessages(ccTo, rid);
|
|
|
}
|
|
|
+ // 更新报告状态
|
|
|
+ rp.setReportStatus(1);
|
|
|
+ pmWorkReportMapper.updateById(rp);
|
|
|
}
|
|
|
} else {
|
|
|
rp.setId(rid);
|
|
@@ -460,28 +462,26 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
List<Long> longList = Arrays.stream(ids.split(","))
|
|
|
.map(Long::parseLong)
|
|
|
.collect(Collectors.toList());
|
|
|
- List<SysUser> users = pmWorkContentService.nickNames(longList);
|
|
|
+ Map<Long, String> users = pmWorkContentService.nickNames(longList).stream().collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName));
|
|
|
|
|
|
LambdaQueryWrapper<PmWorkReport> queryWrapper = Wrappers.lambdaQuery();
|
|
|
queryWrapper.select(PmWorkReport::getCreateBy)
|
|
|
.eq(PmWorkReport::getId, reportId);
|
|
|
PmWorkReport pmWorkReport = pmWorkReportMapper.selectOne(queryWrapper);
|
|
|
String createBy = pmWorkReport.getCreateBy();
|
|
|
+ Long deptId = pmWorkReport.getDeptId();
|
|
|
+ Integer tenantId = pmWorkReport.getTenantId();
|
|
|
|
|
|
- if (longList.size() > 0) {
|
|
|
+ if (!longList.isEmpty()) {
|
|
|
for (Long id : longList) {
|
|
|
PmReceive pmReceive = new PmReceive();
|
|
|
pmReceive.setReceiverId(id);
|
|
|
+ pmReceive.setReceiverName(users.get(id));
|
|
|
pmReceive.setReportId(reportId);
|
|
|
pmReceive.setCreateBy(createBy);
|
|
|
pmReceive.setCreateTime(LocalDateTime.now());
|
|
|
- for (SysUser user : users) {
|
|
|
- if (user.getUserId().equals(id)) {
|
|
|
- pmReceive.setReceiverName(user.getUserName());
|
|
|
- pmReceive.setDeptId(user.getDeptId());
|
|
|
- pmReceive.setTenantId(user.getTenantId());
|
|
|
- }
|
|
|
- }
|
|
|
+ pmReceive.setDeptId(deptId);
|
|
|
+ pmReceive.setTenantId(tenantId);
|
|
|
pmReceive.setReadFlag(0);
|
|
|
try {
|
|
|
pmReceiveMapper.insert(pmReceive);
|
|
@@ -608,7 +608,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
@Async("asyncServiceExecutor")
|
|
|
@Override
|
|
|
public void timedSending(LocalDateTime time) {
|
|
|
- log.info("定时报告任务开始---------------------------");
|
|
|
+ log.info("定时发送报告任务开始---------------------------");
|
|
|
LambdaQueryWrapper<PmWorkReport> reports = Wrappers.lambdaQuery();
|
|
|
reports.eq(PmWorkReport::getReportStatus, 0)
|
|
|
.eq(PmWorkReport::getIsRegularlySend, 1)
|
|
@@ -624,6 +624,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
reportContents.in(PmWorkContent::getReportId, reportIds);
|
|
|
List<PmWorkContent> pmWorkContentList = pmWorkContentMapper.selectList(reportContents);
|
|
|
for (PmWorkReport report : reportList) {
|
|
|
+ log.info("报告内容:{}", report);
|
|
|
Integer id = report.getId();
|
|
|
List<PmWorkContent> workContents = new ArrayList<>();
|
|
|
for (PmWorkContent content : pmWorkContentList) {
|
|
@@ -633,7 +634,10 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
}
|
|
|
}
|
|
|
try {
|
|
|
+ // 推送消息中心
|
|
|
+ log.info("定时报告:" + report.getId() + "调用消息中心开始,时间:" + LocalDateTime.now());
|
|
|
dingTalkAndMessage.sendAsyncMessage(report);
|
|
|
+ log.info("定时报告:" + report.getId() + "调用消息中心结束,时间" + LocalDateTime.now());
|
|
|
} catch (Exception e) {
|
|
|
log.error("定时报告" + report.getId() + "调用消息中心异常" + e);
|
|
|
}
|
|
@@ -653,15 +657,16 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
} catch (Exception e) {
|
|
|
log.error("定时报告" + report.getId() + "更新状态异常" + e);
|
|
|
} finally {
|
|
|
- report.setReportStatus(1);
|
|
|
+ // 更新状态为2:发送异常
|
|
|
+ report.setReportStatus(2);
|
|
|
report.setSubmitDate(time);
|
|
|
pmWorkReportMapper.updateById(report);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- log.info("当前没有定时工作报告可发送");
|
|
|
+ log.info("当前没有定时的工作报告可发送");
|
|
|
}
|
|
|
- log.info("定时报告任务结束---------------------------");
|
|
|
+ log.info("定时发送报告任务结束---------------------------");
|
|
|
}
|
|
|
|
|
|
/**
|