diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionWorkNodeServiceImpl.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionWorkNodeServiceImpl.java index c76fba88..30e1c5cf 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionWorkNodeServiceImpl.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/service/impl/InspectionWorkNodeServiceImpl.java @@ -91,6 +91,21 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl() + .eq(DlInspectionProject::getId, workNode.getProjectId())); + if (ObjectUtil.isNotNull(project)) { + inspectionStepInfo.setTitle(project.getProjectName()); + } else { + inspectionStepInfo.setTitle("检测项目"); + } + inspectionStepInfo.setCreateTime(DateUtil.date()); + inspectionStepInfo.setCreator(Integer.parseInt(SecurityFrameworkUtils.getLoginUserId() + "")); + inspectionStepInfo.setWorkNodeId(workNodeId); + inspectionStepService.save(inspectionStepInfo); + //查询用户 信息 //修改工单表中当前施工人 // inspectionInfo.setWorkId(workerUser.getId()); @@ -144,6 +159,16 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl() + .eq(DlInspectionProject::getId, workNode.getProjectId())); + inspectionStepService.remove(new LambdaQueryWrapper() + .and(i -> + i.eq(InspectionStepInfo::getInspectionInfoId, inspectionId) + .eq(InspectionStepInfo::getWorkNodeId, workNodeId) + .eq(InspectionStepInfo::getTitle, project.getProjectName()) + )); } /** @@ -180,42 +205,46 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(InspectionWorkNode::getInspectionInfoId, workNode.getInspectionInfoId()); //是否还有进行中或者待开始的状态 - queryWrapper.in(InspectionWorkNode::getStatus, "0","1"); + queryWrapper.in(InspectionWorkNode::getStatus, "0", "1"); List inspectionWorkNodes = this.list(queryWrapper); boolean flag = true; //判断是否是最后一个流程 - if (inspectionWorkNodes.size() == 1 && inspectionWorkNodes.get(0).getId().equals(workNode.getId())){ + if (inspectionWorkNodes.size() == 1 && inspectionWorkNodes.get(0).getId().equals(workNode.getId())) { flag = false; } - - // 插入步骤信息 - InspectionStepInfo inspectionStepInfo = new InspectionStepInfo(); - inspectionStepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId()))); - inspectionStepInfo.setUpdater(Integer.parseInt(String.valueOf(loginUser.getId()))); - inspectionStepInfo.setUpdateTime(DateUtil.date()); - - //根据projectId查询项目名称 + // 更新或插入步骤信息 DlInspectionProject project = inspectionProjectService.getOne(new LambdaQueryWrapper() .eq(DlInspectionProject::getId, workNode.getProjectId())); - String stepTitle = ""; - if (ObjectUtil.isNotNull(project)) { - inspectionStepInfo.setTitle(project.getProjectName()); + InspectionStepInfo stepInfo = inspectionStepService.getOne(new LambdaQueryWrapper() + .and(i -> i.eq(InspectionStepInfo::getInspectionInfoId, workNode.getInspectionInfoId()) + .eq(InspectionStepInfo::getWorkNodeId, workNode.getId()) + .eq(InspectionStepInfo::getTitle, ObjectUtil.isNotEmpty(project) ? project.getProjectName() : workNode.getProjectName()) + )); + if (ObjectUtil.isNotEmpty(stepInfo)) { + stepInfo.setUpdateTime(DateUtil.date()); + stepInfo.setUpdater(Integer.parseInt(SecurityFrameworkUtils.getLoginUserId() + "")); } else { - inspectionStepInfo.setTitle("项目检测完成"); + stepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId()))); + if (ObjectUtil.isNotNull(project)) { + stepInfo.setTitle(project.getProjectName()); + } else { + stepInfo.setTitle("项目检测完成"); + } + stepInfo.setWorkNodeId(workNode.getId()); + stepInfo.setCreateTime(DateUtil.date()); + stepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId()))); + stepInfo.setUpdater(Integer.parseInt(String.valueOf(loginUser.getId()))); + stepInfo.setUpdateTime(DateUtil.date()); } if (ObjectUtil.isNotEmpty(inspectionWorkNode.getRemark())) { - inspectionStepInfo.setContent(inspectionWorkNode.getRemark()); + stepInfo.setContent(inspectionWorkNode.getRemark()); } if (ObjectUtil.isNotEmpty(inspectionWorkNode.getDealImages())) { - inspectionStepInfo.setImages(inspectionWorkNode.getDealImages()); + stepInfo.setImages(inspectionWorkNode.getDealImages()); } - inspectionStepInfo.setWorkNodeId(workNode.getId()); - inspectionStepInfo.setCreateTime(DateUtil.date()); - inspectionStepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId()))); - inspectionStepService.save(inspectionStepInfo); + inspectionStepService.saveOrUpdate(stepInfo); if (!flag) { - stepTitle = "检测结束"; //设置工单状态为已完成 inspectionInfo.setStatus("1"); //设置工单通过 @@ -226,12 +255,12 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl roleIds = new ArrayList<>(); /*获取所有的角色id*/ - if(CollUtil.isNotEmpty(workNodes.getWorkNodes())){ + if (CollUtil.isNotEmpty(workNodes.getWorkNodes())) { roleIds = workNodes.getWorkNodes().stream().map(inspectionWorkNode -> inspectionWorkNode.getRoleId()).collect(Collectors.toList()); } //根据角色id获取所有用户 @@ -434,7 +463,7 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl listByUserId = roleService.getListByUserId(roleId); List ids = listByUserId.stream().map(UserDTO::getId).collect(Collectors.toList()); - if (ObjectUtil.isNotNull(info.getLeadManId())){ + if (ObjectUtil.isNotNull(info.getLeadManId())) { ids.add(info.getLeadManId()); } sendSocketMessage(ids);