|
@@ -127,22 +127,77 @@ public class IotRdDailyReportServiceImpl implements IotRdDailyReportService {
|
|
|
// 校验存在
|
|
// 校验存在
|
|
|
IotRdDailyReportDO dailyReport = validateIotRdDailyReportExists(updateReqVO.getId());
|
|
IotRdDailyReportDO dailyReport = validateIotRdDailyReportExists(updateReqVO.getId());
|
|
|
dailyReport.setAuditStatus(updateReqVO.getAuditStatus());
|
|
dailyReport.setAuditStatus(updateReqVO.getAuditStatus());
|
|
|
|
|
+ // 平台井的关联井 同步更新审核状态
|
|
|
|
|
+ List<IotRdDailyReportDO> relatedPlatformWellReports = new ArrayList<>();
|
|
|
|
|
+ // 平台井需要更新任务施工状态的关联井
|
|
|
|
|
+ List<IotProjectTaskDO> relatedPlatformTasks = new ArrayList<>();
|
|
|
if (SupplierAuditStatusEnum.REJECT.getStatus().equals(updateReqVO.getAuditStatus())) {
|
|
if (SupplierAuditStatusEnum.REJECT.getStatus().equals(updateReqVO.getAuditStatus())) {
|
|
|
dailyReport.setStatus(0);
|
|
dailyReport.setStatus(0);
|
|
|
} else {
|
|
} else {
|
|
|
// 审核通过 更新关联任务状态
|
|
// 审核通过 更新关联任务状态
|
|
|
|
|
+ // 判断如果当前井为平台井 且 关联井也设置了 施工状态 也要同步更新关联井任务的施工状态
|
|
|
|
|
+ Integer platformWell = updateReqVO.getPlatformWell();
|
|
|
Long taskId = updateReqVO.getTaskId();
|
|
Long taskId = updateReqVO.getTaskId();
|
|
|
if (ObjUtil.isNotEmpty(taskId)) {
|
|
if (ObjUtil.isNotEmpty(taskId)) {
|
|
|
- // 查找关联的任务
|
|
|
|
|
|
|
+ // 查找关联的任务 更新任务的 施工状态
|
|
|
IotProjectTaskDO task = iotProjectTaskMapper.selectById(taskId);
|
|
IotProjectTaskDO task = iotProjectTaskMapper.selectById(taskId);
|
|
|
task.setStatus(updateReqVO.getRdStatus());
|
|
task.setStatus(updateReqVO.getRdStatus());
|
|
|
task.setRdStatus(updateReqVO.getRdStatus());
|
|
task.setRdStatus(updateReqVO.getRdStatus());
|
|
|
iotProjectTaskMapper.updateById(task);
|
|
iotProjectTaskMapper.updateById(task);
|
|
|
|
|
+ // 如果是平台井 且 关联井也设置了 施工状态 也要同步更新关联井任务的施工状态
|
|
|
|
|
+ if (1 == platformWell) {
|
|
|
|
|
+ // key平台井关联井的任务taskId value平台井关联井的任务施工状态数据字典value
|
|
|
|
|
+ Map<Long, String> relatedPlatformTaskPair = new HashMap<>();
|
|
|
|
|
+ // 查询当前日报关联平台井日报
|
|
|
|
|
+ String platformGroup = dailyReport.getPlatformGroup();
|
|
|
|
|
+ if (StrUtil.isNotBlank(platformGroup)) {
|
|
|
|
|
+ IotRdDailyReportPageReqVO reqVO = new IotRdDailyReportPageReqVO();
|
|
|
|
|
+ reqVO.setPlatformGroup(platformGroup);
|
|
|
|
|
+ // 查询平台井关联的所有井
|
|
|
|
|
+ List<IotRdDailyReportDO> platformRelatedReports = iotRdDailyReportMapper.dailyReports(reqVO);
|
|
|
|
|
+ if (CollUtil.isNotEmpty(platformRelatedReports)) {
|
|
|
|
|
+ List<Long> relatedPlatformTaskIds = new ArrayList<>();
|
|
|
|
|
+ platformRelatedReports.forEach(report -> {
|
|
|
|
|
+ if (2 == report.getPlatformWell()) {
|
|
|
|
|
+ if (StrUtil.isNotBlank(report.getRdStatus())) {
|
|
|
|
|
+ // 记录每个平台关联井的 施工状态
|
|
|
|
|
+ relatedPlatformTaskPair.put(report.getTaskId(), report.getRdStatus());
|
|
|
|
|
+ relatedPlatformTaskIds.add(report.getTaskId());
|
|
|
|
|
+ }
|
|
|
|
|
+ // 设置平台关联井的审核状态为 同意
|
|
|
|
|
+ report.setAuditStatus(SupplierAuditStatusEnum.APPROVE.getStatus());
|
|
|
|
|
+ relatedPlatformWellReports.add(report);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ // 查询平台关联井列表
|
|
|
|
|
+ IotProjectTaskPageReqVO taskReqVO = new IotProjectTaskPageReqVO();
|
|
|
|
|
+ taskReqVO.setTaskIds(relatedPlatformTaskIds);
|
|
|
|
|
+ List<IotProjectTaskDO> relatedTasks = iotProjectTaskMapper.selectList(taskReqVO);
|
|
|
|
|
+ if (CollUtil.isNotEmpty(relatedTasks)) {
|
|
|
|
|
+ relatedTasks.forEach(relatedTask -> {
|
|
|
|
|
+ if (relatedPlatformTaskPair.containsKey(relatedTask.getId())) {
|
|
|
|
|
+ relatedTask.setStatus(relatedPlatformTaskPair.get(relatedTask.getId()));
|
|
|
|
|
+ relatedTask.setRdStatus(relatedPlatformTaskPair.get(relatedTask.getId()));
|
|
|
|
|
+ relatedPlatformTasks.add(relatedTask);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
dailyReport.setOpinion(updateReqVO.getOpinion());
|
|
dailyReport.setOpinion(updateReqVO.getOpinion());
|
|
|
|
|
+ // 更新平台井 主井信息
|
|
|
iotRdDailyReportMapper.updateById(dailyReport);
|
|
iotRdDailyReportMapper.updateById(dailyReport);
|
|
|
-
|
|
|
|
|
|
|
+ // 更新平台井 关联井信息 审核状态
|
|
|
|
|
+ if (CollUtil.isNotEmpty(relatedPlatformWellReports)) {
|
|
|
|
|
+ iotRdDailyReportMapper.updateBatch(relatedPlatformWellReports);
|
|
|
|
|
+ }
|
|
|
|
|
+ // 更新平台井 关联井任务 施工状态
|
|
|
|
|
+ if (CollUtil.isNotEmpty(relatedPlatformTasks)) {
|
|
|
|
|
+ iotProjectTaskMapper.updateBatch(relatedPlatformTasks);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|