From a069a12647ab551281091efb0f066163d1c8c156 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 02 六月 2025 17:36:30 +0800 Subject: [PATCH] 首页待办事项 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java | 70 ++++++++++++++++++++++++++++++---- 1 files changed, 61 insertions(+), 9 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java index fe7529b..1949409 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java @@ -21,6 +21,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; @@ -53,8 +54,9 @@ private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService; private final TExperimentDispatchService experimentDispatchService; private final TProjectProposalService projectProposalService; + private final TNoticeService noticeService; @Autowired - public TExperimentResultReportController(TExperimentResultReportService experimentResultReportService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TResultWorkEvaluateService resultWorkEvaluateService, TExperimentSchemeService experimentSchemeService, TInspectionReportService inspectionReportService, TProjectTeamStaffService projectTeamStaffService, TProjectTeamService projectTeamService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService) { + public TExperimentResultReportController(TExperimentResultReportService experimentResultReportService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TResultWorkEvaluateService resultWorkEvaluateService, TExperimentSchemeService experimentSchemeService, TInspectionReportService inspectionReportService, TProjectTeamStaffService projectTeamStaffService, TProjectTeamService projectTeamService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TNoticeService noticeService) { this.experimentResultReportService = experimentResultReportService; this.tokenService = tokenService; this.sysUserService = sysUserService; @@ -67,6 +69,7 @@ this.experimentDispatchParticipantsService = experimentDispatchParticipantsService; this.experimentDispatchService = experimentDispatchService; this.projectProposalService = projectProposalService; + this.noticeService = noticeService; } /** @@ -80,13 +83,31 @@ Long userId = tokenService.getLoginUser().getUserId(); Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); if(roleType != 1){ - // 查询用户所参与的实验调度 - List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) - .eq(TExperimentDispatchParticipants::getUserId, userId)); - if(experimentDispatchParticipants.size() > 0){ - // 查询项目组id - List<String> dispatchIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getDispatchId).distinct().collect(Collectors.toList()); - query.setDispatchIds(dispatchIds); + if(roleType ==2){ + // 查询项目组 + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); + // 查询项目的工艺工程师id + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeamStaff.getTeamId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + // 查询实验参与人员 + List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getUserId, teamStaff.getUserId())); + if(!CollectionUtils.isEmpty(experimentDispatchParticipants)){ + List<String> dispatchIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getDispatchId).distinct().collect(Collectors.toList()); + query.setDispatchIds(dispatchIds); + } + }else { + // 查询用户所参与的实验调度 + List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getUserId, userId)); + if (!CollectionUtils.isEmpty(experimentDispatchParticipants)) { + // 查询项目组id + List<String> dispatchIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getDispatchId).distinct().collect(Collectors.toList()); + query.setDispatchIds(dispatchIds); + } } } return R.ok(experimentResultReportService.pageList(query)); @@ -124,13 +145,36 @@ @PostMapping(value = "/api/t-experiment-result-report/add") public R<Boolean> add(@RequestBody String param) { TExperimentResultReportDTO dto = JSON.parseObject(param,TExperimentResultReportDTO.class); + // 判断是否已存在实验结果 + Long count = experimentResultReportService.count(Wrappers.lambdaQuery(TExperimentResultReport.class) + .eq(TExperimentResultReport::getDispatchId, dto.getDispatchId())); + if(count > 0){ + return R.fail("已存在实验结果汇报"); + } experimentResultReportService.save(dto); + // 获取当前用户的项目组id + Long userId = tokenService.getLoginUser().getUserId(); + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); // 添加实验结果工作评价 List<TResultWorkEvaluate> resultWorkEvaluates = dto.getResultWorkEvaluates(); for (TResultWorkEvaluate resultWorkEvaluate : resultWorkEvaluates) { resultWorkEvaluate.setResultReportId(dto.getId()); + resultWorkEvaluate.setTeamId(projectTeamStaff.getTeamId()); } - resultWorkEvaluateService.saveBatch(resultWorkEvaluates); + resultWorkEvaluateService.saveOrUpdateBatch(resultWorkEvaluates); + + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 2) + .last("LIMIT 1")); + if(Objects.nonNull(teamStaff)){ + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【实验结果汇报】等待评定", tokenService.getLoginUser().getUser().getNickName(),3); + } + return R.ok(); } @@ -227,6 +271,14 @@ List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); String participantsName = sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(";")); experimentDispatchVO.setParticipantsName(participantsName); + // 设置nickName + experimentDispatchParticipants.forEach(tExperimentDispatchParticipant -> { + SysUser sysUser = sysUsers.stream().filter(user -> user.getUserId().equals(tExperimentDispatchParticipant.getUserId())).findFirst().orElse(null); + if(sysUser != null){ + tExperimentDispatchParticipant.setNickName(sysUser.getNickName()); + tExperimentDispatchParticipant.setAvatar(sysUser.getAvatar()); + } + }); experimentResultReportVO.setExperimentDispatchVO(experimentDispatchVO); return R.ok(experimentResultReportVO); } -- Gitblit v1.7.1