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/TFeasibilityStudyReportController.java | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 107 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java index 7cf5eca..e60b152 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java @@ -31,6 +31,7 @@ import java.time.LocalDateTime; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; @@ -54,8 +55,9 @@ private final TProjectTeamStaffService projectTeamStaffService; private final ISysUserService sysUserService; private final SysUserMapper sysUserMapper; + private final TNoticeService noticeService; @Autowired - public TFeasibilityStudyReportController(TFeasibilityStudyReportService feasibilityStudyReportService, TFeasibilityReportFileService feasibilityReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService, SysUserMapper sysUserMapper) { + public TFeasibilityStudyReportController(TFeasibilityStudyReportService feasibilityStudyReportService, TFeasibilityReportFileService feasibilityReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TNoticeService noticeService) { this.feasibilityStudyReportService = feasibilityStudyReportService; this.feasibilityReportFileService = feasibilityReportFileService; this.tokenService = tokenService; @@ -63,6 +65,7 @@ this.projectTeamStaffService = projectTeamStaffService; this.sysUserService = sysUserService; this.sysUserMapper = sysUserMapper; + this.noticeService = noticeService; } /** @@ -86,6 +89,49 @@ } } return R.ok(feasibilityStudyReportService.pageList(query)); + } + + /** + * 获取可研、可行、工艺开发工具、验证发布报告管理列表 + */ + //@PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:evaluatePageList')") + @ApiOperation(value = "获取专业报告课题评定分页列表-超管、审批人",response = TFeasibilityStudyReportQuery.class) + @PostMapping(value = "/api/t-feasibility-study-report/evaluatePageList") + public R<PageInfo<TFeasibilityStudyReportVO>> evaluatePageList(@RequestBody String param) { + TFeasibilityStudyReportQuery query = JSON.parseObject(param, TFeasibilityStudyReportQuery.class); + Long userId = tokenService.getLoginUser().getUserId(); + Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); + if(roleType != 1){ + // 查询用户所在项目组 + List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); + if(projectTeamStaffs.size() > 0){ + // 查询项目组id + List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); + query.setTeamIds(teamIds); + } + } + return R.ok(feasibilityStudyReportService.evaluatePageList(query)); + } + + @ApiOperation(value = "获取专业报告课题评定数量统计",response = TFeasibilityStudyReportQuery.class) + @PostMapping(value = "/api/t-feasibility-study-report/evaluateCount") + public R<Map<String,Integer>> evaluateCount(@RequestBody String param) { + TFeasibilityStudyReportQuery query = JSON.parseObject(param, TFeasibilityStudyReportQuery.class); + Long userId = tokenService.getLoginUser().getUserId(); + Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); + if(roleType != 1){ + // 查询用户所在项目组 + List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); + if(projectTeamStaffs.size() > 0){ + // 查询项目组id + List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); + query.setTeamIds(teamIds); + } + } + Map<String,Integer> map = feasibilityStudyReportService.evaluateCount(query); + return R.ok(map); } /** @@ -162,6 +208,16 @@ } } feasibilityReportFileService.saveBatch(feasibilityReportFiles); + + // 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(),4); + } + return R.ok(); } @@ -228,6 +284,14 @@ List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); feasibilityStudyReportVO.setStaffNames(sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(","))); feasibilityStudyReportVO.setProjectTeam(projectTeam); + SysUser sysUser = sysUserService.selectUserById(feasibilityStudyReport.getAuditPersonId()); + if(Objects.nonNull(sysUser)){ + feasibilityStudyReportVO.setAuditPersonName(sysUser.getNickName()); + } + SysUser sysUser1 = sysUserService.selectUserById(feasibilityStudyReport.getEvaluatePersonId()); + if(Objects.nonNull(sysUser1)){ + feasibilityStudyReportVO.setEvaluatePersonName(sysUser.getNickName()); + } return R.ok(feasibilityStudyReportVO); } @@ -266,7 +330,7 @@ @PutMapping(value = "/open/t-feasibility-study-report/revokedReport") public R<Boolean> revokedReport(@RequestParam String id) { TFeasibilityStudyReport feasibilityStudyReport = feasibilityStudyReportService.getById(id); - feasibilityStudyReport.setStatus(FeasibilityStudyReportStatusEnum.REVOKED.getCode()); + feasibilityStudyReport.setStatus(FeasibilityStudyReportStatusEnum.DRAFTS.getCode()); feasibilityStudyReportService.updateById(feasibilityStudyReport); return R.ok(); } @@ -287,8 +351,49 @@ feasibilityStudyReport.setAuditPersonId(userId); feasibilityStudyReport.setAuditTime(LocalDateTime.now()); feasibilityStudyReportService.updateById(feasibilityStudyReport); + // MESSAGE 添加消息 + noticeService.saveNotice(userId, "您有【1】条【可研报告】/【可行报告】/【工艺开发工具】/【验证与发布】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + return R.ok(); } + + /** + * 课题评定-进行评定 + */ + //@PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:evaluate')") + @Log(title = "课题评定-进行评定", businessType = BusinessType.UPDATE) + @ApiOperation(value = "课题评定") + @PutMapping(value = "/open/t-feasibility-study-report/evaluate") + public R<Boolean> evaluate(@RequestParam(value = "id") String id, + @RequestParam(value = "evaluateScore") String evaluateScore) { + Long userId = tokenService.getLoginUser().getUserId(); + TFeasibilityStudyReport feasibilityStudyReport = feasibilityStudyReportService.getById(id); + feasibilityStudyReport.setStatus(3); + feasibilityStudyReport.setEvaluatePersonId(userId); + feasibilityStudyReport.setEvaluateTime(LocalDateTime.now()); + feasibilityStudyReport.setEvaluateScore(evaluateScore); + feasibilityStudyReportService.updateById(feasibilityStudyReport); + return R.ok(); + } + + /** + * 课题评定-评定详情 + */ + //@PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:evaluate')") + @Log(title = "课题评定-评定详情", businessType = BusinessType.UPDATE) + @ApiOperation(value = "评定详情") + @GetMapping(value = "/open/t-feasibility-study-report/evaluateDetail") + public R<TFeasibilityStudyReportVO> evaluateDetail(@RequestParam(value = "id") String id) { + TFeasibilityStudyReport feasibilityStudyReport = feasibilityStudyReportService.getById(id); + TFeasibilityStudyReportVO tFeasibilityStudyReportVO = new TFeasibilityStudyReportVO(); + BeanUtils.copyProperties(feasibilityStudyReport, tFeasibilityStudyReportVO); + // 查询评定人员名称 + SysUser sysUser = sysUserService.selectUserById(feasibilityStudyReport.getEvaluatePersonId()); + if(Objects.nonNull(sysUser)){ + tFeasibilityStudyReportVO.setEvaluatePersonName(sysUser.getNickName()); + } + return R.ok(tFeasibilityStudyReportVO); + } } -- Gitblit v1.7.1