|
@@ -212,6 +212,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
LocalDateTime currentTimePlusMinutes = dateTime.plusMinutes(5);
|
|
|
String ccTo = pmWorkReport.getCcTo();
|
|
|
Integer rid = pmWorkReport.getId();
|
|
|
+ List<PmWorkContent> contents = pmWorkReport.getWorkContents();
|
|
|
|
|
|
List<PmWorkContent> workContents = pmWorkReport.getWorkContents();
|
|
|
if (workContents == null) {
|
|
@@ -252,7 +253,7 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
throw new BusinessException("一天24小时都不够你用,请检查当日总工时!");
|
|
|
}
|
|
|
|
|
|
- // 判断是否携带reportId,不写带则为新增报告,携带则为编辑(更新)项目
|
|
|
+ // 判断是否携带reportId,不写带则为新增报告,携带则为编辑(更新)报告
|
|
|
if (rid == null) {
|
|
|
PmWorkReport newReport = new PmWorkReport();
|
|
|
newReport.setReportDate(pmWorkReport.getReportDate());
|
|
@@ -336,6 +337,12 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
}
|
|
|
} else {
|
|
|
PmWorkReport rp = new PmWorkReport();
|
|
|
+ LambdaQueryWrapper<PmWorkContent> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.select(PmWorkContent::getReportId, PmWorkContent::getSubmitterId, PmWorkContent::getCreateBy, PmWorkContent::getCreateTime, PmWorkContent::getDeptId, PmWorkContent::getTenantId)
|
|
|
+ .eq(PmWorkContent::getReportId, rid)
|
|
|
+ .last("LIMIT 1");
|
|
|
+ PmWorkContent f = pmWorkContentMapper.selectOne(queryWrapper);
|
|
|
+
|
|
|
if (pmWorkReport.getReportStatus().equals(0)) {
|
|
|
if (timingTime == null) {
|
|
|
rp.setTimingTime(timingTime);
|
|
@@ -344,65 +351,58 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
|
|
|
} else {
|
|
|
throw new BusinessException("定时发送支持选中5分钟后的时间,请重新选择时间!");
|
|
|
}
|
|
|
- }
|
|
|
- rp.setId(rid);
|
|
|
- // rp.setReportDate(pmWorkReport.getReportDate());
|
|
|
- rp.setSubmitterId(pmWorkReport.getSubmitterId());
|
|
|
- // rp.setSubmitDate(pmWorkReport.getSubmitDate());
|
|
|
- if (pmWorkReport.getReportStatus().equals(0)) {
|
|
|
+ rp.setId(rid);
|
|
|
+ rp.setSubmitterId(pmWorkReport.getSubmitterId());
|
|
|
rp.setCcTo(ccTo);
|
|
|
- }
|
|
|
- rp.setCoordinateWork(pmWorkReport.getCoordinateWork());
|
|
|
- rp.setTomorrowPlan(pmWorkReport.getTomorrowPlan());
|
|
|
- rp.setCreateBy(pmWorkReport.getCreateBy());
|
|
|
- // rp.setCreateTime(pmWorkReport.getCreateTime());
|
|
|
- // rp.setDeptId(pmWorkReport.getDeptId());
|
|
|
- // rp.setTenantId(pmWorkReport.getTenantId());
|
|
|
- rp.setUpdateBy(userName);
|
|
|
- rp.setUpdateTime(dateTime);
|
|
|
- rp.setTotalHours(totalWorkTime);
|
|
|
- rp.setIsRegularlySend(pmWorkReport.getIsRegularlySend());
|
|
|
- rp.setReportFile(pmWorkReport.getReportFile());
|
|
|
- rp.setReportImage(pmWorkReport.getReportImage());
|
|
|
- rp.setSendDingTalk(pmWorkReport.getSendDingTalk());
|
|
|
- pmWorkReportMapper.updateById(rp);
|
|
|
+ rp.setCoordinateWork(pmWorkReport.getCoordinateWork());
|
|
|
+ rp.setTomorrowPlan(pmWorkReport.getTomorrowPlan());
|
|
|
+ rp.setCreateBy(pmWorkReport.getCreateBy());
|
|
|
+ rp.setUpdateBy(userName);
|
|
|
+ rp.setUpdateTime(dateTime);
|
|
|
+ rp.setTotalHours(totalWorkTime);
|
|
|
+ rp.setIsRegularlySend(pmWorkReport.getIsRegularlySend());
|
|
|
+ rp.setReportFile(pmWorkReport.getReportFile());
|
|
|
+ rp.setReportImage(pmWorkReport.getReportImage());
|
|
|
+ rp.setSendDingTalk(pmWorkReport.getSendDingTalk());
|
|
|
+ pmWorkReportMapper.updateById(rp);
|
|
|
|
|
|
- LambdaQueryWrapper<PmWorkContent> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- queryWrapper.select(PmWorkContent::getReportId, PmWorkContent::getSubmitterId, PmWorkContent::getCreateBy, PmWorkContent::getCreateTime, PmWorkContent::getDeptId, PmWorkContent::getTenantId)
|
|
|
- .eq(PmWorkContent::getReportId, rid)
|
|
|
- .last("LIMIT 1");
|
|
|
- PmWorkContent f = pmWorkContentMapper.selectOne(queryWrapper);
|
|
|
- pmWorkContentService.deleteContent(rid);
|
|
|
- List<PmWorkContent> contents = pmWorkReport.getWorkContents();
|
|
|
- List<PmWorkContent> contentsList = new ArrayList<>();
|
|
|
- for (PmWorkContent e : contents) {
|
|
|
- e.setReportId(f.getReportId());
|
|
|
- e.setUpdateBy(userName);
|
|
|
- e.setUpdateTime(dateTime);
|
|
|
- e.setSubmitterId(f.getSubmitterId());
|
|
|
- e.setCreateTime(f.getCreateTime());
|
|
|
- e.setCreateBy(f.getCreateBy());
|
|
|
- e.setDeptId(f.getDeptId());
|
|
|
- e.setTenantId(f.getTenantId());
|
|
|
- pmWorkContentMapper.insert(e);
|
|
|
- contentsList.add(e);
|
|
|
- }
|
|
|
- if (pmWorkReport.getIsRegularlySend().equals(0)) {
|
|
|
- rp.setTimingTime(null);
|
|
|
- if (rp.getReportStatus() == null) {
|
|
|
- dingTalkAndMessage.sendDingTalkDailyReport(rp, contents);
|
|
|
+ if (pmWorkReport.getIsRegularlySend().equals(0)) {
|
|
|
+ if (pmWorkReport.getSendDingTalk().equals(1)) {
|
|
|
+ dingTalkAndMessage.sendDingTalkDailyReport(rp, contents);
|
|
|
+ }
|
|
|
+ rp.setReportStatus(1);
|
|
|
+ pmWorkReportMapper.updateById(rp);
|
|
|
+ if (StringUtils.isNotBlank(ccTo)) {
|
|
|
+ dingTalkAndMessage.sendAsyncMessage(rp);
|
|
|
+ receiveMessages(ccTo, rid);
|
|
|
+ }
|
|
|
}
|
|
|
- rp.setReportStatus(1);
|
|
|
+ } else {
|
|
|
+ rp.setId(rid);
|
|
|
+ rp.setCcTo(ccTo);
|
|
|
+ rp.setCoordinateWork(pmWorkReport.getCoordinateWork());
|
|
|
+ rp.setTomorrowPlan(pmWorkReport.getTomorrowPlan());
|
|
|
+ rp.setUpdateBy(userName);
|
|
|
+ rp.setUpdateTime(dateTime);
|
|
|
+ rp.setIsRegularlySend(pmWorkReport.getIsRegularlySend());
|
|
|
+ rp.setSendDingTalk(pmWorkReport.getSendDingTalk());
|
|
|
pmWorkReportMapper.updateById(rp);
|
|
|
- if (StringUtils.isNotBlank(ccTo)) {
|
|
|
- dingTalkAndMessage.sendAsyncMessage(rp);
|
|
|
- receiveMessages(ccTo, rid);
|
|
|
- }
|
|
|
- if (pmWorkReport.getSendDingTalk().equals(1)) {
|
|
|
- dingTalkAndMessage.sendDingTalkDailyReport(rp, contentsList);
|
|
|
+
|
|
|
+ pmWorkContentService.deleteContent(rid);
|
|
|
+ List<PmWorkContent> contentsList = new ArrayList<>();
|
|
|
+ for (PmWorkContent e : contents) {
|
|
|
+ e.setReportId(f.getReportId());
|
|
|
+ e.setUpdateBy(userName);
|
|
|
+ e.setUpdateTime(dateTime);
|
|
|
+ e.setSubmitterId(f.getSubmitterId());
|
|
|
+ e.setCreateTime(f.getCreateTime());
|
|
|
+ e.setCreateBy(f.getCreateBy());
|
|
|
+ e.setDeptId(f.getDeptId());
|
|
|
+ e.setTenantId(f.getTenantId());
|
|
|
+ pmWorkContentMapper.insert(e);
|
|
|
+ contentsList.add(e);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|