|
@@ -398,6 +398,8 @@ public class IotRdDailyReportController {
|
|
|
Set<Long> userIds = new HashSet<>();
|
|
Set<Long> userIds = new HashSet<>();
|
|
|
// 当前页所有日报关联任务的 施工队伍id 集合
|
|
// 当前页所有日报关联任务的 施工队伍id 集合
|
|
|
Set<Long> currentPageDeptIds = new HashSet<>();
|
|
Set<Long> currentPageDeptIds = new HashSet<>();
|
|
|
|
|
+ // key主井任务platformGroup/taskPlatform value关联井号名称
|
|
|
|
|
+ Map<String, String> relatedPlatformPair = new HashMap<>();
|
|
|
DataPermissionUtils.executeIgnore(() -> {
|
|
DataPermissionUtils.executeIgnore(() -> {
|
|
|
// 查询日报关联的项目信息
|
|
// 查询日报关联的项目信息
|
|
|
IotProjectInfoPageReqVO reqVO = new IotProjectInfoPageReqVO();
|
|
IotProjectInfoPageReqVO reqVO = new IotProjectInfoPageReqVO();
|
|
@@ -412,6 +414,8 @@ public class IotRdDailyReportController {
|
|
|
IotProjectTaskPageReqVO taskReqVO = new IotProjectTaskPageReqVO();
|
|
IotProjectTaskPageReqVO taskReqVO = new IotProjectTaskPageReqVO();
|
|
|
taskReqVO.setTaskIds(convertList(reports, IotRdDailyReportDO::getTaskId));
|
|
taskReqVO.setTaskIds(convertList(reports, IotRdDailyReportDO::getTaskId));
|
|
|
List<IotProjectTaskDO> tasks = iotProjectTaskService.projectTasks(taskReqVO);
|
|
List<IotProjectTaskDO> tasks = iotProjectTaskService.projectTasks(taskReqVO);
|
|
|
|
|
+ // 已经施工完成的主井任务 platformGroup
|
|
|
|
|
+ Set<String> finishedPlatformGroups = new HashSet<>();
|
|
|
if (CollUtil.isNotEmpty(tasks)) {
|
|
if (CollUtil.isNotEmpty(tasks)) {
|
|
|
tasks.forEach(task -> {
|
|
tasks.forEach(task -> {
|
|
|
Set<Long> personIds = task.getResponsiblePerson();
|
|
Set<Long> personIds = task.getResponsiblePerson();
|
|
@@ -425,7 +429,24 @@ public class IotRdDailyReportController {
|
|
|
// 获取所有任务的工作量数据
|
|
// 获取所有任务的工作量数据
|
|
|
List<IotTaskAttrModelProperty> extProperties = task.getExtProperty();
|
|
List<IotTaskAttrModelProperty> extProperties = task.getExtProperty();
|
|
|
taskWorkloadPair.put(task.getId(), extProperties);
|
|
taskWorkloadPair.put(task.getId(), extProperties);
|
|
|
|
|
+ // 找到已经施工完成的主井任务 查询对应的关联井任务 用关联井号作为日报任务井号
|
|
|
|
|
+ if (1 == task.getPlatformWell() && "wg".equals(task.getStatus())) {
|
|
|
|
|
+ finishedPlatformGroups.add(task.getPlatformGroup());
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|
|
|
|
|
+ // 查询 finishedPlatformGroups 相关的未施工完成的关联井任务井
|
|
|
|
|
+ if (CollUtil.isNotEmpty(finishedPlatformGroups)) {
|
|
|
|
|
+ IotProjectTaskPageReqVO unfinishedTaskReqVO = new IotProjectTaskPageReqVO();
|
|
|
|
|
+ unfinishedTaskReqVO.setPlatformGroups(new ArrayList<>(finishedPlatformGroups));
|
|
|
|
|
+ unfinishedTaskReqVO.setPlatformWell(2);
|
|
|
|
|
+ unfinishedTaskReqVO.setJobFlag("Y");
|
|
|
|
|
+ List<IotProjectTaskDO> unfinishedRelatedTasks = iotProjectTaskService.projectTasks(unfinishedTaskReqVO);
|
|
|
|
|
+ if (CollUtil.isNotEmpty(unfinishedRelatedTasks)) {
|
|
|
|
|
+ unfinishedRelatedTasks.forEach(task -> {
|
|
|
|
|
+ relatedPlatformPair.put(task.getPlatformGroup(), task.getWellName());
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
// 查询当前页所有日报关联的任务的施工队伍名称
|
|
// 查询当前页所有日报关联的任务的施工队伍名称
|
|
|
Map<Long, DeptDO> deptMap = deptService.getDeptMap(currentPageDeptIds);
|
|
Map<Long, DeptDO> deptMap = deptService.getDeptMap(currentPageDeptIds);
|
|
@@ -570,6 +591,8 @@ public class IotRdDailyReportController {
|
|
|
findAndThen(projectPair, reportVO.getProjectId(), contractName -> reportVO.setContractName(contractName));
|
|
findAndThen(projectPair, reportVO.getProjectId(), contractName -> reportVO.setContractName(contractName));
|
|
|
// 日报关联的任务信息
|
|
// 日报关联的任务信息
|
|
|
findAndThen(taskPair, reportVO.getTaskId(), taskName -> reportVO.setTaskName(taskName));
|
|
findAndThen(taskPair, reportVO.getTaskId(), taskName -> reportVO.setTaskName(taskName));
|
|
|
|
|
+ // 日报关联的任务信息(兼容主井完工 关联井未完工的情况)
|
|
|
|
|
+ findAndThen(relatedPlatformPair, reportVO.getTaskPlatform(), relatedTaskName -> reportVO.setTaskName(relatedTaskName));
|
|
|
// 日报关联的责任人
|
|
// 日报关联的责任人
|
|
|
findAndThen(taskResponsiblePair, reportVO.getTaskId(), responsibleNames -> reportVO.setResponsiblePersonNames(responsibleNames));
|
|
findAndThen(taskResponsiblePair, reportVO.getTaskId(), responsibleNames -> reportVO.setResponsiblePersonNames(responsibleNames));
|
|
|
// 日报关联的填报人
|
|
// 日报关联的填报人
|