From bd953391a74b86db829df43992c7cf3c5207634b Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 27 六月 2025 18:07:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java | 54 +++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 43 insertions(+), 11 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 5a18d8e..b1c7cbc 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"; @@ -215,11 +236,22 @@ if(Objects.nonNull(experimentDispatch)){ testMethodConfirmSheetVO.setExperimentName(experimentDispatch.getExperimentName()); testMethodConfirmSheetVO.setExperimentCode(experimentDispatch.getExperimentCode()); + testMethodConfirmSheetVO.setExperimentStartTime(experimentDispatch.getExperimentStartTime()); + testMethodConfirmSheetVO.setExperimentEndTime(experimentDispatch.getExperimentEndTime()); + testMethodConfirmSheetVO.setExperimentDate(experimentDispatch.getExperimentDate()); // 查询项目课题方案 TProjectProposal projectProposal = projectProposalService.getById(experimentDispatch.getProposalId()); if(Objects.nonNull(projectProposal)){ testMethodConfirmSheetVO.setProjectName(projectProposal.getProjectName()); } + // 查询参与人员 + List<TExperimentDispatchParticipants> tExperimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getDispatchId, experimentDispatch.getId())); + List<Long> userIds = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).distinct().collect(Collectors.toList()); + List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); + String participantsName = sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(";")); + testMethodConfirmSheetVO.setParticipantsName(participantsName); + testMethodConfirmSheetVO.setStatus(experimentDispatch.getStatus()); } // 查询审核人姓名 -- Gitblit v1.7.1