From 8586161442cbe058fae93bfd35a468485b9b505e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 30 六月 2025 21:15:46 +0800 Subject: [PATCH] bug修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java | 91 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 79 insertions(+), 12 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java index a079a3d..66ca7de 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java @@ -82,6 +82,7 @@ // 获取当前用户 Long userId = tokenService.getLoginUser().getUserId(); Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); + query.setRoleType(roleType); if (roleType != 1){ query.setUserId(userId); if(roleType ==2){ @@ -123,18 +124,29 @@ public R<Boolean> add(@RequestBody String param) { TTestMethodConfirmSheetDTO dto = JSON.parseObject(param,TTestMethodConfirmSheetDTO.class); Long userId = tokenService.getLoginUser().getUserId(); - dto.setCommitUserId(userId); - testMethodConfirmSheetService.save(dto); - List<TTestMethodConfirmSheetTerm> testMethodConfirmSheetTerms = dto.getTestMethodConfirmSheetTerms(); - testMethodConfirmSheetTerms.forEach(testMethodConfirmSheetTerm -> { - testMethodConfirmSheetTerm.setTestId(dto.getId()); - testMethodConfirmSheetTerm.setStatus(1); - }); - testMethodConfirmSheetTermService.saveBatch(testMethodConfirmSheetTerms); - // 通过当前用户查询项目组 - TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) - .eq(TProjectTeamStaff::getUserId, userId) + + TExperimentDispatch experimentDispatch = experimentDispatchService.getOne(Wrappers.lambdaQuery(TExperimentDispatch.class) + .eq(TExperimentDispatch::getId, dto.getDispatchId())); + if(Objects.isNull(experimentDispatch)){ + return R.fail("实验调度不存在"); + } + + // 查询调度的参与人员 + TExperimentDispatchParticipants experimentDispatchParticipant = experimentDispatchParticipantsService.getOne(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getDispatchId, dto.getDispatchId()) + .eq(TExperimentDispatchParticipants::getRoleType,3) .last("LIMIT 1")); + if(Objects.isNull(experimentDispatchParticipant)){ + return R.fail("实验调度参与人员不存在"); + } + + // 查询工艺工程师所在的项目组 + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, experimentDispatchParticipant.getUserId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + + // 通过当前用户查询项目组 if(Objects.isNull(projectTeamStaff)){ return R.fail("当前用户未分配项目组,无法创建项目课题方案"); } @@ -146,6 +158,15 @@ if(projectTeam.getStatus() == 2){ return R.fail("项目组已封存,无法创建项目课题方案"); } + + dto.setCommitUserId(userId); + testMethodConfirmSheetService.save(dto); + List<TTestMethodConfirmSheetTerm> testMethodConfirmSheetTerms = dto.getTestMethodConfirmSheetTerms(); + testMethodConfirmSheetTerms.forEach(testMethodConfirmSheetTerm -> { + testMethodConfirmSheetTerm.setTestId(dto.getId()); + testMethodConfirmSheetTerm.setStatus(1); + }); + testMethodConfirmSheetTermService.saveBatch(testMethodConfirmSheetTerms); // 生成原始记录编号 String format = new SimpleDateFormat("yyyyMMdd").format(new Date()); String originalCode = projectTeam.getTeamName() + format.substring(2) + "-JL"; @@ -184,6 +205,14 @@ public R<Boolean> update(@RequestBody String param) { TTestMethodConfirmSheetDTO dto = JSON.parseObject(param,TTestMethodConfirmSheetDTO.class); testMethodConfirmSheetService.updateById(dto); + List<TTestMethodConfirmSheetTerm> list = testMethodConfirmSheetTermService.list(Wrappers.lambdaQuery(TTestMethodConfirmSheetTerm.class) + .eq(TTestMethodConfirmSheetTerm::getTestId, dto.getId())); + if(!CollectionUtils.isEmpty(list)){ + List<String> termIds = list.stream().map(TTestMethodConfirmSheetTerm::getId).collect(Collectors.toList()); + // 删除原始检验记录 + testMethodConfirmSheetOriginalService.remove(Wrappers.lambdaQuery(TTestMethodConfirmSheetOriginal.class) + .in(TTestMethodConfirmSheetOriginal::getTermId, termIds)); + } testMethodConfirmSheetTermService.remove(Wrappers.lambdaQuery(TTestMethodConfirmSheetTerm.class).eq(TTestMethodConfirmSheetTerm::getTestId,dto.getId())); List<TTestMethodConfirmSheetTerm> testMethodConfirmSheetTerms = dto.getTestMethodConfirmSheetTerms(); testMethodConfirmSheetTerms.forEach(testMethodConfirmSheetTerm -> { @@ -191,6 +220,44 @@ testMethodConfirmSheetTerm.setStatus(1); }); testMethodConfirmSheetTermService.saveBatch(testMethodConfirmSheetTerms); + // 查询调度的参与人员 + TExperimentDispatchParticipants experimentDispatchParticipant = experimentDispatchParticipantsService.getOne(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getDispatchId, dto.getDispatchId()) + .eq(TExperimentDispatchParticipants::getRoleType,3) + .last("LIMIT 1")); + // 查询工艺工程师所在的项目组 + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, experimentDispatchParticipant.getUserId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); + // 生成原始记录编号 + String format = new SimpleDateFormat("yyyyMMdd").format(new Date()); + String originalCode = projectTeam.getTeamName() + format.substring(2) + "-JL"; + for (TTestMethodConfirmSheetTerm testMethodConfirmSheetTerm : testMethodConfirmSheetTerms) { + // 添加原始记录 + TTestMethodConfirmSheetOriginal testMethodConfirmSheetOriginal = new TTestMethodConfirmSheetOriginal(); + testMethodConfirmSheetOriginal.setTermId(testMethodConfirmSheetTerm.getId()); + // 查询上个项目课题方案的序号 + long count = testMethodConfirmSheetOriginalService.count(Wrappers.lambdaQuery(TTestMethodConfirmSheetOriginal.class) + .like(TTestMethodConfirmSheetOriginal::getOriginalCode, originalCode)); + originalCode = originalCode + String.format("%02d", count+1); + testMethodConfirmSheetOriginal.setOriginalCode(originalCode); + testMethodConfirmSheetOriginal.setStatus(1); + testMethodConfirmSheetOriginalService.save(testMethodConfirmSheetOriginal); + } + + if (dto.getAuditStatus() != -1){ + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + if(Objects.nonNull(teamStaff)){ + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【检验方法确认单】等待审批", tokenService.getLoginUser().getUser().getNickName(),6); + } + } return R.ok(); } @@ -301,7 +368,7 @@ @PutMapping(value = "/open/t-test-method-confirm-sheet/revokedSheet") public R<Boolean> revokedSheet(@RequestParam String id) { TTestMethodConfirmSheet testMethodConfirmSheet = testMethodConfirmSheetService.getById(id); - testMethodConfirmSheet.setAuditStatus(QATestItemReportStatusEnum.REVOKED.getCode()); + testMethodConfirmSheet.setAuditStatus(QATestItemReportStatusEnum.DRAFTS.getCode()); testMethodConfirmSheetService.updateById(testMethodConfirmSheet); return R.ok(); } -- Gitblit v1.7.1