| | |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @ApiOperation(value = "获取QA检测项报告管理下拉列表-化验师使用、评定使用") |
| | | @GetMapping(value = "/open/t-qa-test-item-report/getListByItemId") |
| | | public R<List<TQaTestItemReport>> getListByItemId(@RequestParam String itemId) { |
| | | List<TQaTestItemReport> list = qaTestItemReportService.list(Wrappers.lambdaQuery(TQaTestItemReport.class) |
| | | .eq(TQaTestItemReport::getItemId, itemId)); |
| | | public R<List<TQaTestItemReportVO>> getListByItemId(@RequestParam String itemId) { |
| | | List<TQaTestItemReportVO> list = qaTestItemReportService.getListByItemId(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); |
| | | } |
| | | |
| | |
| | | @PostMapping(value = "/api/t-qa-test-item-report/add") |
| | | public R<Boolean> add(@RequestBody String param) { |
| | | TQaTestItemReportDTO dto = JSON.parseObject(param,TQaTestItemReportDTO.class); |
| | | // 通过当前用户查询项目组 |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) |
| | | .eq(TProjectTeamStaff::getUserId, userId) |
| | | .last("LIMIT 1")); |
| | | if(Objects.isNull(projectTeamStaff)){ |
| | | return R.fail("当前用户未分配项目组,无法创建项目课题方案"); |
| | | } |
| | | // 查询项目组 |
| | | TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); |
| | | TProjectTeam projectTeam = projectTeamService.getById(dto.getTeamId()); |
| | | if(Objects.isNull(projectTeam)){ |
| | | return R.fail("项目组不存在"); |
| | | } |
| | |
| | | qaTestItemReportService.save(dto); |
| | | // 添加检测报告文件 |
| | | List<TQaReportFile> qaReportFiles = dto.getQaReportFiles(); |
| | | for (TQaReportFile qaReportFile : qaReportFiles) { |
| | | qaReportFile.setReportId(dto.getId()); |
| | | qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode()); |
| | | if(!CollectionUtils.isEmpty(qaReportFiles)){ |
| | | for (TQaReportFile qaReportFile : qaReportFiles) { |
| | | qaReportFile.setReportId(dto.getId()); |
| | | qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode()); |
| | | } |
| | | qaReportFileService.saveBatch(qaReportFiles); |
| | | } |
| | | qaReportFileService.saveBatch(qaReportFiles); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | @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(); |
| | | } |
| | | |