| | |
| | | import com.ruoyi.framework.web.service.TokenService; |
| | | import com.ruoyi.system.dto.AuditStatusDTO; |
| | | import com.ruoyi.system.dto.TQaTestItemReportDTO; |
| | | import com.ruoyi.system.model.TProjectTeam; |
| | | import com.ruoyi.system.model.TProjectTeamStaff; |
| | | import com.ruoyi.system.model.TQaReportFile; |
| | | import com.ruoyi.system.model.TQaTestItemReport; |
| | | import com.ruoyi.system.model.*; |
| | | import com.ruoyi.system.query.TQaTestItemReportQuery; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.vo.TQaTestItemReportVO; |
| | |
| | | private final TProjectTeamService projectTeamService; |
| | | private final TProjectTeamStaffService projectTeamStaffService; |
| | | private final ISysUserService sysUserService; |
| | | private final TQaTestItemService qaTestItemService; |
| | | private final TNoticeService noticeService; |
| | | @Autowired |
| | | public TQaTestItemReportController(TQaTestItemReportService qaTestItemReportService, TQaReportFileService qaReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService) { |
| | | public TQaTestItemReportController(TQaTestItemReportService qaTestItemReportService, TQaReportFileService qaReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService, TQaTestItemService qaTestItemService, TNoticeService noticeService) { |
| | | this.qaTestItemReportService = qaTestItemReportService; |
| | | this.qaReportFileService = qaReportFileService; |
| | | this.tokenService = tokenService; |
| | | this.projectTeamService = projectTeamService; |
| | | this.projectTeamStaffService = projectTeamStaffService; |
| | | this.sysUserService = sysUserService; |
| | | this.qaTestItemService = qaTestItemService; |
| | | this.noticeService = noticeService; |
| | | } |
| | | |
| | | /** |
| | |
| | | TQaTestItemReportQuery query = JSON.parseObject(param, TQaTestItemReportQuery.class); |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); |
| | | query.setRoleType(roleType); |
| | | if(roleType != 1){ |
| | | // 查询用户所在项目组 |
| | | List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) |
| | | .eq(TProjectTeamStaff::getUserId, userId)); |
| | | if(projectTeamStaffs.size() > 0){ |
| | | if(!projectTeamStaffs.isEmpty()){ |
| | | // 查询项目组id |
| | | List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); |
| | | query.setTeamIds(teamIds); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取QA检测项报告管理列表 草稿箱里面的 |
| | | */ |
| | | @ApiOperation(value = "获取QA检测项报告管理下拉列表-化验师使用、评定使用 草稿箱里面的") |
| | | @GetMapping(value = "/open/t-qa-test-item-report-draft/getListByItemId") |
| | | public R<List<TQaTestItemReportVO>> getListByItemIdDraft(@RequestParam String itemId) { |
| | | List<TQaTestItemReportVO> list = qaTestItemReportService.getListByItemIdDraft(itemId); |
| | | if(!CollectionUtils.isEmpty(list)){ |
| | | List<SysUser> sysUsers = sysUserService.selectList(); |
| | | list.forEach(itemReport -> { |
| | | SysUser sysUser = sysUsers.stream().filter(user -> user.getUserId().equals(itemReport.getAuditPersonId())).findFirst().orElse(null); |
| | | if(Objects.nonNull(sysUser)){ |
| | | itemReport.setAuditPersonName(sysUser.getNickName()); |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(list); |
| | | } |
| | | |
| | | /** |
| | | * 添加QA检测项报告管理管理 |
| | | */ |
| | | //@PreAuthorize("@ss.hasPermi('system:qaTestItemReport:add')") |
| | |
| | | public R<Boolean> add(@RequestBody String param) { |
| | | TQaTestItemReportDTO dto = JSON.parseObject(param,TQaTestItemReportDTO.class); |
| | | // 查询项目组 |
| | | TProjectTeam projectTeam = projectTeamService.getById(dto.getItemId()); |
| | | TProjectTeam projectTeam = projectTeamService.getById(dto.getTeamId()); |
| | | if(Objects.isNull(projectTeam)){ |
| | | return R.fail("项目组不存在"); |
| | | } |
| | |
| | | @ApiOperation(value = "删除QA检测项报告管理") |
| | | @DeleteMapping(value = "/open/t-qa-test-item-report/deleteById") |
| | | public R<Boolean> deleteById(@RequestParam String id) { |
| | | TQaTestItemReport report = qaTestItemReportService.getById(id); |
| | | if (Objects.isNull(report)) { |
| | | return R.fail("检测项报告不存在"); |
| | | } |
| | | Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); |
| | | if (Objects.equals(roleType, 1) |
| | | && !Objects.equals(report.getStatus(), QATestItemReportStatusEnum.PENDING_APPROVAL.getCode()) |
| | | && !Objects.equals(report.getStatus(), QATestItemReportStatusEnum.PASSED.getCode())) { |
| | | return R.fail("超级管理员只能删除待审核或已审核的报告"); |
| | | } |
| | | // 删除QA检测项报告文件 |
| | | qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).eq(TQaReportFile::getReportId, id) |
| | | .in(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); |
| | |
| | | @ApiOperation(value = "批量删除QA检测项报告管理") |
| | | @DeleteMapping(value = "/open/t-qa-test-item-report/deleteByIds") |
| | | public R<Boolean> deleteByIds(@RequestBody List<String> ids) { |
| | | Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); |
| | | if (Objects.equals(roleType, 1)) { |
| | | long deletableCount = qaTestItemReportService.count(Wrappers.lambdaQuery(TQaTestItemReport.class) |
| | | .in(TQaTestItemReport::getId, ids) |
| | | .in(TQaTestItemReport::getStatus, |
| | | QATestItemReportStatusEnum.PENDING_APPROVAL.getCode(), |
| | | QATestItemReportStatusEnum.PASSED.getCode())); |
| | | if (deletableCount != ids.size()) { |
| | | return R.fail("超级管理员只能删除待审核或已审核的报告"); |
| | | } |
| | | } |
| | | // 删除QA检测项报告检测报告文件 |
| | | qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).in(TQaReportFile::getReportId, ids) |
| | | .in(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); |
| | |
| | | @PutMapping(value = "/open/t-qa-test-item-report/revokedReport") |
| | | public R<Boolean> revokedReport(@RequestParam String id) { |
| | | TQaTestItemReport testItemReport = qaTestItemReportService.getById(id); |
| | | testItemReport.setStatus(QATestItemReportStatusEnum.REVOKED.getCode()); |
| | | testItemReport.setStatus(QATestItemReportStatusEnum.DRAFTS.getCode()); |
| | | qaTestItemReportService.updateById(testItemReport); |
| | | return R.ok(); |
| | | } |
| | |
| | | testItemReport.setAuditPersonId(userId); |
| | | testItemReport.setAuditTime(LocalDateTime.now()); |
| | | qaTestItemReportService.updateById(testItemReport); |
| | | |
| | | // 查询检测项 |
| | | TQaTestItem testItem = qaTestItemService.getById(testItemReport.getItemId()); |
| | | // 查询项目组 |
| | | TProjectTeam projectTeam = projectTeamService.getById(testItem.getTeamId()); |
| | | // MESSAGE 添加消息 |
| | | TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) |
| | | .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) |
| | | .eq(TProjectTeamStaff::getRoleType, 3) |
| | | .last("LIMIT 1")); |
| | | noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【项目检测项、检验包列表】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); |
| | | |
| | | |
| | | return R.ok(); |
| | | } |
| | | |