From ca8e1159abe02967166a622526cf489a6fb39eab Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 28 四月 2025 18:13:01 +0800 Subject: [PATCH] QA专题报告,专业报告库 --- ruoyi-system/src/main/java/com/ruoyi/system/query/TQaTestItemQuery.java | 5 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFeasibilityStudyReportServiceImpl.java | 13 ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml | 28 + ruoyi-system/src/main/java/com/ruoyi/system/dto/QaCommitEvaluateDTO.java | 20 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java | 196 +++++++++ ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaProduceReportDTO.java | 21 + ruoyi-common/src/main/java/com/ruoyi/common/enums/FeasibilityReportFileEnum.java | 47 ++ ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java | 33 ruoyi-system/src/main/java/com/ruoyi/system/dto/TFeasibilityStudyReportDTO.java | 21 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java | 3 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java | 13 ruoyi-system/src/main/java/com/ruoyi/system/dto/AuditStatusDTO.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/TFeasibilityStudyReportService.java | 9 ruoyi-common/src/main/java/com/ruoyi/common/enums/QAProduceReportStatusEnum.java | 48 ++ ruoyi-system/src/main/java/com/ruoyi/system/query/TQaTestItemReportQuery.java | 27 + ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java | 21 + ruoyi-system/src/main/java/com/ruoyi/system/query/TFeasibilityStudyReportQuery.java | 24 + ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml | 26 + ruoyi-common/src/main/java/com/ruoyi/common/enums/FeasibilityStudyReportStatusEnum.java | 48 ++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFeasibilityStudyReportMapper.java | 13 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java | 10 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java | 199 +++++++++ ruoyi-common/src/main/java/com/ruoyi/common/enums/QATestItemReportStatusEnum.java | 47 ++ ruoyi-common/src/main/java/com/ruoyi/common/enums/QATestItemStatusEnum.java | 46 ++ ruoyi-system/src/main/java/com/ruoyi/system/query/TQaProduceReportQuery.java | 24 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java | 11 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java | 13 ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemReportDTO.java | 18 ruoyi-system/src/main/java/com/ruoyi/system/dto/UpAndDownDTO.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java | 9 ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaProduceReportVO.java | 20 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java | 190 ++++++++ ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java | 9 ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml | 24 + 36 files changed, 1,210 insertions(+), 34 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java index 391e965..27dab8a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java @@ -9,10 +9,8 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.dto.AuditStatusDTO; import com.ruoyi.system.dto.ExperimentDispatchSignDTO; import com.ruoyi.system.dto.TExperimentDispatchDTO; -import com.ruoyi.system.dto.UpAndDownDTO; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.model.TExperimentDispatch; import com.ruoyi.system.model.TExperimentDispatchGroup; @@ -31,7 +29,6 @@ import java.time.LocalDateTime; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; /** 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 f3cf1ee..f519cc4 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 @@ -1,9 +1,32 @@ package com.ruoyi.web.controller.api; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.enums.FeasibilityStudyReportStatusEnum; +import com.ruoyi.common.enums.FeasibilityReportFileEnum; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.AuditStatusDTO; +import com.ruoyi.system.dto.TFeasibilityStudyReportDTO; +import com.ruoyi.system.model.TFeasibilityReportFile; +import com.ruoyi.system.model.TFeasibilityStudyReport; +import com.ruoyi.system.query.TFeasibilityStudyReportQuery; +import com.ruoyi.system.service.TFeasibilityReportFileService; +import com.ruoyi.system.service.TFeasibilityStudyReportService; +import com.ruoyi.system.vo.TFeasibilityStudyReportVO; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; +import java.util.List; /** * <p> @@ -18,5 +41,177 @@ @RequestMapping("/t-feasibility-study-report") public class TFeasibilityStudyReportController { + private final TFeasibilityStudyReportService feasibilityStudyReportService; + private final TFeasibilityReportFileService feasibilityReportFileService; + private final TokenService tokenService; + @Autowired + public TFeasibilityStudyReportController(TFeasibilityStudyReportService feasibilityStudyReportService, TFeasibilityReportFileService feasibilityReportFileService, TokenService tokenService) { + this.feasibilityStudyReportService = feasibilityStudyReportService; + this.feasibilityReportFileService = feasibilityReportFileService; + this.tokenService = tokenService; + } + + /** + * 获取可研、可行、工艺开发工具、验证发布报告管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:list')") + @ApiOperation(value = "获取可研、可行、工艺开发工具、验证发布报告管理分页列表") + @PostMapping(value = "/api/t-feasibility-study-report/pageList") + public R<PageInfo<TFeasibilityStudyReportVO>> pageList(@RequestBody String param) { + TFeasibilityStudyReportQuery query = JSON.parseObject(param, TFeasibilityStudyReportQuery.class); + return R.ok(feasibilityStudyReportService.pageList(query)); + } + + /** + * 添加可研、可行、工艺开发工具、验证发布报告管理管理 + */ + @PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:add')") + @Log(title = "可研、可行、工艺开发工具、验证发布报告管理信息-新增可研、可行、工艺开发工具、验证发布报告管理", businessType = BusinessType.INSERT) + @ApiOperation(value = "添加可研、可行、工艺开发工具、验证发布报告管理",response = TFeasibilityStudyReportDTO.class) + @PostMapping(value = "/api/t-feasibility-study-report/add") + public R<Boolean> add(@RequestBody String param) { + TFeasibilityStudyReportDTO dto = JSON.parseObject(param,TFeasibilityStudyReportDTO.class); + // TODO 生成编号 + feasibilityStudyReportService.save(dto); + // 添加检测报告文件 + List<TFeasibilityReportFile> feasibilityReportFiles = dto.getFeasibilityReportFiles(); + for (TFeasibilityReportFile feasibilityReportFile : feasibilityReportFiles) { + feasibilityReportFile.setReportId(dto.getId()); + switch (FeasibilityReportFileEnum.fromCode(feasibilityReportFile.getReportType())) { + case FEASIBILITY_STUDY_REPORT: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.FEASIBILITY_STUDY_REPORT.getCode()); + break; + case FEASIBLE_REPORT: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.FEASIBLE_REPORT.getCode()); + break; + case PROCESS_DEVELOPMENT_TOOLS: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.PROCESS_DEVELOPMENT_TOOLS.getCode()); + break; + case VERIFICATION_RELEASE: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.VERIFICATION_RELEASE.getCode()); + break; + default: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.PROJECT_PROPOSAL.getCode()); + break; + } + } + feasibilityReportFileService.saveBatch(feasibilityReportFiles); + return R.ok(); + } + + /** + * 修改可研、可行、工艺开发工具、验证发布报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:edit')") + @Log(title = "可研、可行、工艺开发工具、验证发布报告管理信息-修改可研、可行、工艺开发工具、验证发布报告管理", businessType = BusinessType.UPDATE) + @ApiOperation(value = "修改可研、可行、工艺开发工具、验证发布报告管理") + @PostMapping(value = "/api/t-feasibility-study-report/update") + public R<Boolean> update(@RequestBody String param) { + TFeasibilityStudyReportDTO dto = JSON.parseObject(param,TFeasibilityStudyReportDTO.class); + feasibilityStudyReportService.updateById(dto); + feasibilityReportFileService.remove(Wrappers.lambdaQuery(TFeasibilityReportFile.class) + .eq(TFeasibilityReportFile::getReportId, dto.getId())); + // 添加检测报告文件 + List<TFeasibilityReportFile> feasibilityReportFiles = dto.getFeasibilityReportFiles(); + for (TFeasibilityReportFile feasibilityReportFile : feasibilityReportFiles) { + feasibilityReportFile.setReportId(dto.getId()); + switch (FeasibilityReportFileEnum.fromCode(feasibilityReportFile.getReportType())) { + case FEASIBILITY_STUDY_REPORT: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.FEASIBILITY_STUDY_REPORT.getCode()); + break; + case FEASIBLE_REPORT: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.FEASIBLE_REPORT.getCode()); + break; + case PROCESS_DEVELOPMENT_TOOLS: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.PROCESS_DEVELOPMENT_TOOLS.getCode()); + break; + case VERIFICATION_RELEASE: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.VERIFICATION_RELEASE.getCode()); + break; + default: + feasibilityReportFile.setReportType(FeasibilityReportFileEnum.PROJECT_PROPOSAL.getCode()); + break; + } + } + feasibilityReportFileService.saveBatch(feasibilityReportFiles); + return R.ok(); + } + + /** + * 查看可研、可行、工艺开发工具、验证发布报告管理详情 + */ + @PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:detail')") + @ApiOperation(value = "查看可研、可行、工艺开发工具、验证发布报告管理详情") + @GetMapping(value = "/open/t-feasibility-study-report/getDetailById") + public R<TFeasibilityStudyReportVO> getDetailById(@RequestParam String id) { + TFeasibilityStudyReport feasibilityStudyReport = feasibilityStudyReportService.getById(id); + TFeasibilityStudyReportVO feasibilityStudyReportVO = new TFeasibilityStudyReportVO(); + BeanUtils.copyProperties(feasibilityStudyReport, feasibilityStudyReportVO); + // 查询检测报告文件 + List<TFeasibilityReportFile> feasibilityReportFiles = feasibilityReportFileService.list(Wrappers.lambdaQuery(TFeasibilityReportFile.class) + .eq(TFeasibilityReportFile::getReportId, id)); + feasibilityStudyReportVO.setFeasibilityReportFiles(feasibilityReportFiles); + return R.ok(feasibilityStudyReportVO); + } + + /** + * 删除可研、可行、工艺开发工具、验证发布报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:delete')") + @Log(title = "可研、可行、工艺开发工具、验证发布报告管理信息-删除可研、可行、工艺开发工具、验证发布报告管理", businessType = BusinessType.DELETE) + @ApiOperation(value = "删除可研、可行、工艺开发工具、验证发布报告管理") + @DeleteMapping(value = "/open/t-feasibility-study-report/deleteById") + public R<Boolean> deleteById(@RequestParam String id) { + // 删除可研、可行、工艺开发工具、验证发布报告文件 + feasibilityReportFileService.remove(Wrappers.lambdaQuery(TFeasibilityReportFile.class).eq(TFeasibilityReportFile::getReportId, id)); + return R.ok(feasibilityStudyReportService.removeById(id)); + } + + /** + * 批量删除可研、可行、工艺开发工具、验证发布报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:delete')") + @Log(title = "可研、可行、工艺开发工具、验证发布报告管理信息-删除可研、可行、工艺开发工具、验证发布报告管理", businessType = BusinessType.DELETE) + @ApiOperation(value = "批量删除可研、可行、工艺开发工具、验证发布报告管理") + @DeleteMapping(value = "/open/t-feasibility-study-report/deleteByIds") + public R<Boolean> deleteByIds(@RequestBody List<String> ids) { + // 删除可研、可行、工艺开发工具、验证发布报告文件 + feasibilityReportFileService.remove(Wrappers.lambdaQuery(TFeasibilityReportFile.class).in(TFeasibilityReportFile::getReportId, ids)); + return R.ok(feasibilityStudyReportService.removeByIds(ids)); + } + + /** + * 撤销可研、可行、工艺开发工具、验证发布报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:revokedReport')") + @Log(title = "可研、可行、工艺开发工具、验证发布报告管理信息-撤销可研、可行、工艺开发工具、验证发布报告管理状态", businessType = BusinessType.UPDATE) + @ApiOperation(value = "撤销可研、可行、工艺开发工具、验证发布报告管理状态") + @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()); + feasibilityStudyReportService.updateById(feasibilityStudyReport); + return R.ok(); + } + + /** + * 审核可研、可行、工艺开发工具、验证发布报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:feasibilityStudyReport:auditReport')") + @Log(title = "可研、可行、工艺开发工具、验证发布报告管理信息-审核可研、可行、工艺开发工具、验证发布报告管理状态", businessType = BusinessType.UPDATE) + @ApiOperation(value = "审核可研、可行、工艺开发工具、验证发布报告管理状态") + @PostMapping(value = "/api/t-feasibility-study-report/auditReport") + public R<Boolean> auditReport(@RequestBody String param) { + Long userId = tokenService.getLoginUser().getUserId(); + AuditStatusDTO dto = JSON.parseObject(param,AuditStatusDTO.class); + TFeasibilityStudyReport feasibilityStudyReport = feasibilityStudyReportService.getById(dto.getId()); + feasibilityStudyReport.setStatus(dto.getAuditStatus()); + feasibilityStudyReport.setAuditRemark(dto.getAuditRemark()); + feasibilityStudyReport.setAuditPersonId(userId); + feasibilityStudyReport.setAuditTime(LocalDateTime.now()); + feasibilityStudyReportService.updateById(feasibilityStudyReport); + return R.ok(); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java index 0a528f1..290a4fc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java @@ -148,7 +148,7 @@ */ @PreAuthorize("@ss.hasPermi('system:projectProposal:audit')") @Log(title = "项目课题方案信息-审核项目课题方案", businessType = BusinessType.UPDATE) - @ApiOperation(value = "审核项目课题方案",response = UpAndDownDTO.class) + @ApiOperation(value = "审核项目课题方案",response = AuditStatusDTO.class) @PostMapping(value = "/api/t-project-proposal/audit") public R<Boolean> audit(@RequestBody String param) { Long userId = tokenService.getLoginUser().getUserId(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java index 2200a67..7da0986 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java @@ -1,9 +1,32 @@ package com.ruoyi.web.controller.api; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.enums.QAProduceReportStatusEnum; +import com.ruoyi.common.enums.QaReportFileEnum; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.AuditStatusDTO; +import com.ruoyi.system.dto.TQaProduceReportDTO; +import com.ruoyi.system.model.TQaProduceReport; +import com.ruoyi.system.model.TQaReportFile; +import com.ruoyi.system.query.TQaProduceReportQuery; +import com.ruoyi.system.service.TQaProduceReportService; +import com.ruoyi.system.service.TQaReportFileService; +import com.ruoyi.system.vo.TQaProduceReportVO; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; +import java.util.List; /** * <p> @@ -18,5 +41,174 @@ @RequestMapping("/t-qa-produce-report") public class TQaProduceReportController { + private final TQaProduceReportService qaProduceReportService; + private final TQaReportFileService qaReportFileService; + private final TokenService tokenService; + @Autowired + public TQaProduceReportController(TQaProduceReportService qaProduceReportService, TQaReportFileService qaReportFileService, TokenService tokenService) { + this.qaProduceReportService = qaProduceReportService; + this.qaReportFileService = qaReportFileService; + this.tokenService = tokenService; + } + + /** + * 获取中试、生产验证分析报告;辅料;产品报告管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:qaProduceReport:list')") + @ApiOperation(value = "获取中试、生产验证分析报告;辅料;产品报告管理分页列表") + @PostMapping(value = "/api/t-qa-produce-report/pageList") + public R<PageInfo<TQaProduceReportVO>> pageList(@RequestBody String param) { + TQaProduceReportQuery query = JSON.parseObject(param, TQaProduceReportQuery.class); + return R.ok(qaProduceReportService.pageList(query)); + } + + /** + * 添加中试、生产验证分析报告;辅料;产品报告管理管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaProduceReport:add')") + @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-新增中试、生产验证分析报告;辅料;产品报告管理", businessType = BusinessType.INSERT) + @ApiOperation(value = "添加中试、生产验证分析报告;辅料;产品报告管理",response = TQaProduceReportDTO.class) + @PostMapping(value = "/api/t-qa-produce-report/add") + public R<Boolean> add(@RequestBody String param) { + TQaProduceReportDTO dto = JSON.parseObject(param,TQaProduceReportDTO.class); + // TODO 生成编号 + qaProduceReportService.save(dto); + // 添加检测报告文件 + List<TQaReportFile> qaReportFiles = dto.getQaReportFiles(); + for (TQaReportFile qaReportFile : qaReportFiles) { + qaReportFile.setReportId(dto.getId()); + switch (QaReportFileEnum.fromCode(qaReportFile.getReportType())) { + case TEST_REPORT: + qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode()); + break; + case PILOT_PRODUCTION_VALIDATION: + qaReportFile.setReportType(QaReportFileEnum.PILOT_PRODUCTION_VALIDATION.getCode()); + break; + case RAW_MATERIAL_REPORT: + qaReportFile.setReportType(QaReportFileEnum.RAW_MATERIAL_REPORT.getCode()); + break; + case PRODUCT_APPROVAL_REPORT: + qaReportFile.setReportType(QaReportFileEnum.PRODUCT_APPROVAL_REPORT.getCode()); + break; + } + } + qaReportFileService.saveBatch(qaReportFiles); + return R.ok(); + } + + /** + * 修改中试、生产验证分析报告;辅料;产品报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaProduceReport:edit')") + @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-修改中试、生产验证分析报告;辅料;产品报告管理", businessType = BusinessType.UPDATE) + @ApiOperation(value = "修改中试、生产验证分析报告;辅料;产品报告管理") + @PostMapping(value = "/api/t-qa-produce-report/update") + public R<Boolean> update(@RequestBody String param) { + TQaProduceReportDTO dto = JSON.parseObject(param,TQaProduceReportDTO.class); + qaProduceReportService.updateById(dto); + qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class) + .eq(TQaReportFile::getReportId, dto.getId())); + // 添加检测报告文件 + List<TQaReportFile> qaReportFiles = dto.getQaReportFiles(); + for (TQaReportFile qaReportFile : qaReportFiles) { + qaReportFile.setReportId(dto.getId()); + switch (QaReportFileEnum.fromCode(qaReportFile.getReportType())) { + case TEST_REPORT: + qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode()); + break; + case PILOT_PRODUCTION_VALIDATION: + qaReportFile.setReportType(QaReportFileEnum.PILOT_PRODUCTION_VALIDATION.getCode()); + break; + case RAW_MATERIAL_REPORT: + qaReportFile.setReportType(QaReportFileEnum.RAW_MATERIAL_REPORT.getCode()); + break; + case PRODUCT_APPROVAL_REPORT: + qaReportFile.setReportType(QaReportFileEnum.PRODUCT_APPROVAL_REPORT.getCode()); + break; + } + } + qaReportFileService.saveBatch(qaReportFiles); + return R.ok(); + } + + /** + * 查看中试、生产验证分析报告;辅料;产品报告管理详情 + */ + @PreAuthorize("@ss.hasPermi('system:qaProduceReport:detail')") + @ApiOperation(value = "查看中试、生产验证分析报告;辅料;产品报告管理详情") + @GetMapping(value = "/open/t-qa-produce-report/getDetailById") + public R<TQaProduceReportVO> getDetailById(@RequestParam String id) { + TQaProduceReport qaProduceReport = qaProduceReportService.getById(id); + TQaProduceReportVO qaProduceReportVO = new TQaProduceReportVO(); + BeanUtils.copyProperties(qaProduceReport, qaProduceReportVO); + // 查询报告文件 + List<TQaReportFile> qaReportFiles = qaReportFileService.list(Wrappers.lambdaQuery(TQaReportFile.class) + .eq(TQaReportFile::getReportId, id) + .ne(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); + qaProduceReportVO.setQaReportFileList(qaReportFiles); + return R.ok(qaProduceReportVO); + } + + /** + * 删除中试、生产验证分析报告;辅料;产品报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaProduceReport:delete')") + @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-删除中试、生产验证分析报告;辅料;产品报告管理", businessType = BusinessType.DELETE) + @ApiOperation(value = "删除中试、生产验证分析报告;辅料;产品报告管理") + @DeleteMapping(value = "/open/t-qa-produce-report/deleteById") + public R<Boolean> deleteById(@RequestParam String id) { + // 删除中试、生产验证分析报告;辅料;产品报告管理文件 + qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).eq(TQaReportFile::getReportId, id) + .notIn(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); + return R.ok(qaProduceReportService.removeById(id)); + } + + /** + * 批量删除中试、生产验证分析报告;辅料;产品报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaProduceReport:delete')") + @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-删除中试、生产验证分析报告;辅料;产品报告管理", businessType = BusinessType.DELETE) + @ApiOperation(value = "批量删除中试、生产验证分析报告;辅料;产品报告管理") + @DeleteMapping(value = "/open/t-qa-produce-report/deleteByIds") + public R<Boolean> deleteByIds(@RequestBody List<String> ids) { + // 删除QA检测项报告检测报告 + qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).in(TQaReportFile::getReportId, ids) + .notIn(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); + return R.ok(qaProduceReportService.removeByIds(ids)); + } + + /** + * 撤销中试、生产验证分析报告;辅料;产品报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaProduceReport:revokedReport')") + @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-撤销中试、生产验证分析报告;辅料;产品报告管理状态", businessType = BusinessType.UPDATE) + @ApiOperation(value = "撤销中试、生产验证分析报告;辅料;产品报告管理状态") + @PutMapping(value = "/open/t-qa-produce-report/revokedReport") + public R<Boolean> revokedReport(@RequestParam String id) { + TQaProduceReport qaProduceReport = qaProduceReportService.getById(id); + qaProduceReport.setStatus(QAProduceReportStatusEnum.REVOKED.getCode()); + qaProduceReportService.updateById(qaProduceReport); + return R.ok(); + } + + /** + * 审核中试、生产验证分析报告;辅料;产品报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaProduceReport:auditReport')") + @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-审核中试、生产验证分析报告;辅料;产品报告管理状态", businessType = BusinessType.UPDATE) + @ApiOperation(value = "审核中试、生产验证分析报告;辅料;产品报告管理状态") + @PostMapping(value = "/api/t-qa-produce-report/auditReport") + public R<Boolean> auditReport(@RequestBody String param) { + Long userId = tokenService.getLoginUser().getUserId(); + AuditStatusDTO dto = JSON.parseObject(param,AuditStatusDTO.class); + TQaProduceReport qaProduceReport = qaProduceReportService.getById(dto.getId()); + qaProduceReport.setStatus(dto.getAuditStatus()); + qaProduceReport.setAuditRemark(dto.getAuditRemark()); + qaProduceReport.setAuditPersonId(userId); + qaProduceReport.setAuditTime(LocalDateTime.now()); + qaProduceReportService.updateById(qaProduceReport); + return R.ok(); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java index 30571b4..dff5e18 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java @@ -7,7 +7,9 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.enums.QATestItemStatusEnum; import com.ruoyi.system.dto.TQaTestItemDTO; +import com.ruoyi.system.dto.UpAndDownDTO; import com.ruoyi.system.model.TQaTestItem; import com.ruoyi.system.model.TQaTestItemReport; import com.ruoyi.system.query.TQaTestItemQuery; @@ -89,13 +91,13 @@ @ApiOperation(value = "查看QA检测项管理详情") @GetMapping(value = "/open/t-qa-test-item/getDetailById") public R<TQaTestItemVO> getDetailById(@RequestParam String id) { - TQaTestItem projectTeam = qaTestItemService.getById(id); - TQaTestItemVO projectTeamVO = new TQaTestItemVO(); - BeanUtils.copyProperties(projectTeam, projectTeamVO); + TQaTestItem testItem = qaTestItemService.getById(id); + TQaTestItemVO testItemVO = new TQaTestItemVO(); + BeanUtils.copyProperties(testItem, testItemVO); // 查询QA检测项检测报告 List<TQaTestItemReportVO> qaTestItemReportVOS= qaTestItemReportService.getList(id); - projectTeamVO.setQaTestItemReportList(qaTestItemReportVOS); - return R.ok(projectTeamVO); + testItemVO.setQaTestItemReportList(qaTestItemReportVOS); + return R.ok(testItemVO); } /** @@ -127,17 +129,16 @@ /** * 修改QA检测项管理 */ -// @PreAuthorize("@ss.hasPermi('system:qaTestItem:upAndDown')") -// @Log(title = "QA检测项管理信息-提交评价QA检测项管理状态", businessType = BusinessType.UPDATE) -// @ApiOperation(value = "修改QA检测项管理状态",response = UpAndDownDTO.class) -// @PostMapping(value = "/api/t-qa-test-item/upAndDown") -// public R<Boolean> upAndDown(@RequestBody String param) { -// UpAndDownDTO dto = JSON.parseObject(param,UpAndDownDTO.class); -// TQaTestItem projectTeam = qaTestItemService.getById(dto.getId()); -// projectTeam.setStatus(dto.getStatus()); -// qaTestItemService.updateById(projectTeam); -// return R.ok(); -// } + @PreAuthorize("@ss.hasPermi('system:qaTestItem:commitEvaluate')") + @Log(title = "QA检测项管理信息-提交评价QA检测项管理状态", businessType = BusinessType.UPDATE) + @ApiOperation(value = "修改QA检测项管理状态") + @PutMapping(value = "/open/t-qa-test-item/commitEvaluate") + public R<Boolean> commitEvaluate(@RequestParam String id) { + TQaTestItem testItem = qaTestItemService.getById(id); + testItem.setStatus(QATestItemStatusEnum.TO_BE_EVALUATED.getCode()); + qaTestItemService.updateById(testItem); + return R.ok(); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java index c70215e..1f26a77 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java @@ -1,22 +1,202 @@ package com.ruoyi.web.controller.api; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.enums.QATestItemReportStatusEnum; +import com.ruoyi.common.enums.QaReportFileEnum; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.AuditStatusDTO; +import com.ruoyi.system.dto.TQaTestItemReportDTO; +import com.ruoyi.system.mapper.TQaReportFileMapper; +import com.ruoyi.system.model.TProjectProposal; +import com.ruoyi.system.model.TQaReportFile; +import com.ruoyi.system.model.TQaTestItemReport; +import com.ruoyi.system.query.TQaTestItemReportQuery; +import com.ruoyi.system.service.TQaReportFileService; +import com.ruoyi.system.service.TQaTestItemReportService; +import com.ruoyi.system.vo.TQaTestItemReportVO; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; /** * <p> - * QA检测项报告 前端控制器 + * QA检测项报告报告 前端控制器 * </p> * * @author xiaochen * @since 2025-04-08 */ -@Api(tags = "QA检测项报告管理") +@Api(tags = "QA检测项报告报告管理") @RestController -@RequestMapping("/t-qa-test-item-report") +@RequestMapping("") public class TQaTestItemReportController { + private final TQaTestItemReportService qaTestItemReportService; + private final TQaReportFileService qaReportFileService; + private final TokenService tokenService; + @Autowired + public TQaTestItemReportController(TQaTestItemReportService qaTestItemReportService, TQaReportFileService qaReportFileService, TokenService tokenService) { + this.qaTestItemReportService = qaTestItemReportService; + this.qaReportFileService = qaReportFileService; + this.tokenService = tokenService; + } + + /** + * 获取QA检测项报告管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:qaTestItemReport:list')") + @ApiOperation(value = "获取QA检测项报告管理分页列表-工艺工程师使用") + @PostMapping(value = "/api/t-qa-test-item-report/pageList") + public R<PageInfo<TQaTestItemReportVO>> pageList(@RequestBody String param) { + TQaTestItemReportQuery query = JSON.parseObject(param, TQaTestItemReportQuery.class); + return R.ok(qaTestItemReportService.pageList(query)); + } + + /** + * 获取QA检测项报告管理列表 + */ + @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)); + return R.ok(list); + } + + /** + * 添加QA检测项报告管理管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaTestItemReport:add')") + @Log(title = "QA检测项报告管理信息-新增QA检测项报告管理", businessType = BusinessType.INSERT) + @ApiOperation(value = "添加QA检测项报告管理",response = TQaTestItemReportDTO.class) + @PostMapping(value = "/api/t-qa-test-item-report/add") + public R<Boolean> add(@RequestBody String param) { + TQaTestItemReportDTO dto = JSON.parseObject(param,TQaTestItemReportDTO.class); + // TODO 生成编号 + qaTestItemReportService.save(dto); + // 添加检测报告文件 + List<TQaReportFile> qaReportFiles = dto.getQaReportFiles(); + for (TQaReportFile qaReportFile : qaReportFiles) { + qaReportFile.setReportId(dto.getId()); + qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode()); + } + qaReportFileService.saveBatch(qaReportFiles); + return R.ok(); + } + + /** + * 修改QA检测项报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaTestItemReport:edit')") + @Log(title = "QA检测项报告管理信息-修改QA检测项报告管理", businessType = BusinessType.UPDATE) + @ApiOperation(value = "修改QA检测项报告管理") + @PostMapping(value = "/api/t-qa-test-item-report/update") + public R<Boolean> update(@RequestBody String param) { + TQaTestItemReportDTO dto = JSON.parseObject(param,TQaTestItemReportDTO.class); + qaTestItemReportService.updateById(dto); + qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class) + .eq(TQaReportFile::getReportId, dto.getId())); + // 添加检测报告文件 + List<TQaReportFile> qaReportFiles = dto.getQaReportFiles(); + for (TQaReportFile qaReportFile : qaReportFiles) { + qaReportFile.setReportId(dto.getId()); + qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode()); + } + qaReportFileService.saveBatch(qaReportFiles); + return R.ok(); + } + + /** + * 查看QA检测项报告管理详情 + */ + @PreAuthorize("@ss.hasPermi('system:qaTestItemReport:detail')") + @ApiOperation(value = "查看QA检测项报告管理详情") + @GetMapping(value = "/open/t-qa-test-item-report/getDetailById") + public R<TQaTestItemReportVO> getDetailById(@RequestParam String id) { + TQaTestItemReport testItemReport = qaTestItemReportService.getById(id); + TQaTestItemReportVO testItemReportVO = new TQaTestItemReportVO(); + BeanUtils.copyProperties(testItemReport, testItemReportVO); + // 查询检测报告文件 + List<TQaReportFile> qaReportFiles = qaReportFileService.list(Wrappers.lambdaQuery(TQaReportFile.class) + .eq(TQaReportFile::getReportId, id) + .eq(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); + testItemReportVO.setQaReportFileList(qaReportFiles); + return R.ok(testItemReportVO); + } + + /** + * 删除QA检测项报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaTestItemReport:delete')") + @Log(title = "QA检测项报告管理信息-删除QA检测项报告管理", businessType = BusinessType.DELETE) + @ApiOperation(value = "删除QA检测项报告管理") + @DeleteMapping(value = "/open/t-qa-test-item-report/deleteById") + public R<Boolean> deleteById(@RequestParam String id) { + // 删除QA检测项报告文件 + qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).eq(TQaReportFile::getReportId, id) + .in(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); + return R.ok(qaTestItemReportService.removeById(id)); + } + + /** + * 批量删除QA检测项报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaTestItemReport:delete')") + @Log(title = "QA检测项报告管理信息-删除QA检测项报告管理", businessType = BusinessType.DELETE) + @ApiOperation(value = "批量删除QA检测项报告管理") + @DeleteMapping(value = "/open/t-qa-test-item-report/deleteByIds") + public R<Boolean> deleteByIds(@RequestBody List<String> ids) { + // 删除QA检测项报告检测报告文件 + qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).in(TQaReportFile::getReportId, ids) + .in(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode())); + return R.ok(qaTestItemReportService.removeByIds(ids)); + } + + /** + * 撤销QA检测项报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaTestItemReport:revokedReport')") + @Log(title = "QA检测项报告管理信息-撤销QA检测项报告管理状态", businessType = BusinessType.UPDATE) + @ApiOperation(value = "撤销QA检测项报告管理状态") + @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()); + qaTestItemReportService.updateById(testItemReport); + return R.ok(); + } + + /** + * 审核QA检测项报告管理 + */ + @PreAuthorize("@ss.hasPermi('system:qaTestItemReport:auditReport')") + @Log(title = "QA检测项报告管理信息-审核QA检测项报告管理状态", businessType = BusinessType.UPDATE) + @ApiOperation(value = "审核QA检测项报告管理状态") + @PostMapping(value = "/api/t-qa-test-item-report/auditReport") + public R<Boolean> auditReport(@RequestBody String param) { + Long userId = tokenService.getLoginUser().getUserId(); + AuditStatusDTO dto = JSON.parseObject(param,AuditStatusDTO.class); + TQaTestItemReport testItemReport = qaTestItemReportService.getById(dto.getId()); + testItemReport.setStatus(dto.getAuditStatus()); + testItemReport.setAuditRemark(dto.getAuditRemark()); + testItemReport.setAuditPersonId(userId); + testItemReport.setAuditTime(LocalDateTime.now()); + qaTestItemReportService.updateById(testItemReport); + return R.ok(); + } + } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/FeasibilityReportFileEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/FeasibilityReportFileEnum.java new file mode 100644 index 0000000..355aea0 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/FeasibilityReportFileEnum.java @@ -0,0 +1,47 @@ +package com.ruoyi.common.enums; + +import lombok.Getter; + +/** + * @author xiaochen + * @ClassName Disable + * @Description + * @date 2022-06-08 16:55 + */ +public enum FeasibilityReportFileEnum { + /*报告类型 1=可研报告 2=可行报告 3=工艺开发工具 4=验证与发布 5=立项报告*/ + FEASIBILITY_STUDY_REPORT(1, "可研报告"), + FEASIBLE_REPORT(2, "可行报告"), + PROCESS_DEVELOPMENT_TOOLS(3, "工艺开发工具"), + VERIFICATION_RELEASE(4, "验证与发布"), + PROJECT_PROPOSAL(5, "立项报告"); + + @Getter + private String desc; + + + @Getter + private int code; + + + FeasibilityReportFileEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + + /** + * 通过code获取枚举 + * + * @param code + * @return + */ + public static FeasibilityReportFileEnum fromCode(Integer code) { + FeasibilityReportFileEnum[] resultTypes = FeasibilityReportFileEnum.values(); + for (FeasibilityReportFileEnum resultType : resultTypes) { + if (code.equals(resultType.getCode())) { + return resultType; + } + } + return null; + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/FeasibilityStudyReportStatusEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/FeasibilityStudyReportStatusEnum.java new file mode 100644 index 0000000..a48f5d0 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/FeasibilityStudyReportStatusEnum.java @@ -0,0 +1,48 @@ +package com.ruoyi.common.enums; + +import lombok.Getter; + +/** + * @author xiaochen + * @ClassName Disable + * @Description + * @date 2022-06-08 16:55 + */ +public enum FeasibilityStudyReportStatusEnum { + /*状态 -1=草稿箱 1=待审核 2=待评定 3=已评定 4=已驳回 5=已撤回*/ + DRAFTS(-1, "草稿箱"), + PENDING_APPROVAL(1, "待审核"), + PASSED(2, "待评定"), + EVALUATED(3, "已评定"), + REJECTED(4, "已驳回"), + REVOKED(5, "已撤销"); + + @Getter + private String desc; + + + @Getter + private int code; + + + FeasibilityStudyReportStatusEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + + /** + * 通过code获取枚举 + * + * @param code + * @return + */ + public static FeasibilityStudyReportStatusEnum fromCode(Integer code) { + FeasibilityStudyReportStatusEnum[] resultTypes = FeasibilityStudyReportStatusEnum.values(); + for (FeasibilityStudyReportStatusEnum resultType : resultTypes) { + if (code.equals(resultType.getCode())) { + return resultType; + } + } + return null; + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/QAProduceReportStatusEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/QAProduceReportStatusEnum.java new file mode 100644 index 0000000..91696de --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/QAProduceReportStatusEnum.java @@ -0,0 +1,48 @@ +package com.ruoyi.common.enums; + +import lombok.Getter; + +/** + * @author xiaochen + * @ClassName Disable + * @Description + * @date 2022-06-08 16:55 + */ +public enum QAProduceReportStatusEnum { + /*状态 -1=草稿箱 1=待审核 2=已通过待评定 3=已评定 4=已驳回 5=已撤销*/ + DRAFTS(-1, "草稿箱"), + PENDING_APPROVAL(1, "待审核"), + PASSED(2, "已通过"), + EVALUATED(3, "已评定"), + REJECTED(4, "已驳回"), + REVOKED(5, "已撤销"); + + @Getter + private String desc; + + + @Getter + private int code; + + + QAProduceReportStatusEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + + /** + * 通过code获取枚举 + * + * @param code + * @return + */ + public static QAProduceReportStatusEnum fromCode(Integer code) { + QAProduceReportStatusEnum[] resultTypes = QAProduceReportStatusEnum.values(); + for (QAProduceReportStatusEnum resultType : resultTypes) { + if (code.equals(resultType.getCode())) { + return resultType; + } + } + return null; + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/QATestItemReportStatusEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/QATestItemReportStatusEnum.java new file mode 100644 index 0000000..79ae91e --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/QATestItemReportStatusEnum.java @@ -0,0 +1,47 @@ +package com.ruoyi.common.enums; + +import lombok.Getter; + +/** + * @author xiaochen + * @ClassName Disable + * @Description + * @date 2022-06-08 16:55 + */ +public enum QATestItemReportStatusEnum { + /*状态 -1=草稿箱 1=待审核 2=已通过 3=已驳回 4=已撤销*/ + DRAFTS(-1, "草稿箱"), + PENDING_APPROVAL(1, "待审核"), + PASSED(2, "已通过"), + REJECTED(3, "已驳回"), + REVOKED(4, "已撤销"); + + @Getter + private String desc; + + + @Getter + private int code; + + + QATestItemReportStatusEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + + /** + * 通过code获取枚举 + * + * @param code + * @return + */ + public static QATestItemReportStatusEnum fromCode(Integer code) { + QATestItemReportStatusEnum[] resultTypes = QATestItemReportStatusEnum.values(); + for (QATestItemReportStatusEnum resultType : resultTypes) { + if (code.equals(resultType.getCode())) { + return resultType; + } + } + return null; + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/QATestItemStatusEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/QATestItemStatusEnum.java new file mode 100644 index 0000000..b862bec --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/QATestItemStatusEnum.java @@ -0,0 +1,46 @@ +package com.ruoyi.common.enums; + +import lombok.Getter; + +/** + * @author xiaochen + * @ClassName Disable + * @Description + * @date 2022-06-08 16:55 + */ +public enum QATestItemStatusEnum { + /*状态 -1=草稿箱 1=已提交 2=待评定 3=已评定*/ + DRAFTS(-1, "草稿箱"), + SUBMITTED(1, "已提交"), + TO_BE_EVALUATED(2, "待评定"), + EVALUATED(3, "已评定"); + + @Getter + private String desc; + + + @Getter + private int code; + + + QATestItemStatusEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + + /** + * 通过code获取枚举 + * + * @param code + * @return + */ + public static QATestItemStatusEnum fromCode(Integer code) { + QATestItemStatusEnum[] resultTypes = QATestItemStatusEnum.values(); + for (QATestItemStatusEnum resultType : resultTypes) { + if (code.equals(resultType.getCode())) { + return resultType; + } + } + return null; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AuditStatusDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AuditStatusDTO.java index b4ae777..09da031 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AuditStatusDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AuditStatusDTO.java @@ -7,7 +7,7 @@ import java.io.Serializable; @Data -@ApiModel(value = "启用禁用DTO") +@ApiModel(value = "(项目课题方案)、(检测项检测报告)、(审核中试、生产验证分析报告;辅料;产品报告管理状态)、(可研、可行、工艺开发工具、验证发布报告)审核DTO") public class AuditStatusDTO implements Serializable { @ApiModelProperty(value = "id") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/QaCommitEvaluateDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/QaCommitEvaluateDTO.java new file mode 100644 index 0000000..264c2b4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/QaCommitEvaluateDTO.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel(value = "QA检测项提交评审DTO") +public class QaCommitEvaluateDTO implements Serializable { + + @ApiModelProperty(value = "id") + private String id; + + @ApiModelProperty(value = "状态 1=正常 2=封存") + private Integer status; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TFeasibilityStudyReportDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TFeasibilityStudyReportDTO.java new file mode 100644 index 0000000..88373ed --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TFeasibilityStudyReportDTO.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.dto; + +import com.ruoyi.system.model.TFeasibilityReportFile; +import com.ruoyi.system.model.TFeasibilityStudyReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value="可研、可行、工艺开发工具、验证发布报告新增编辑DTO", description="可研、可行、工艺开发工具、验证发布报告") +public class TFeasibilityStudyReportDTO extends TFeasibilityStudyReport { + + @ApiModelProperty(value = "报告文件") + private List<TFeasibilityReportFile> feasibilityReportFiles; + + @ApiModelProperty(value = "检测报告文件类型 1=检测报告 2=中试生产验证 3=原辅料报告 4=产品报批报告") + private Integer reportType; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaProduceReportDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaProduceReportDTO.java new file mode 100644 index 0000000..e59a1bb --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaProduceReportDTO.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.dto; + +import com.ruoyi.system.model.TQaProduceReport; +import com.ruoyi.system.model.TQaReportFile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "中试、生产验证分析报告;辅料;产品报告新增编辑DTO") +public class TQaProduceReportDTO extends TQaProduceReport { + + @ApiModelProperty(value = "检测报告文件") + private List<TQaReportFile> qaReportFiles; + + @ApiModelProperty(value = "检测报告文件类型 1=检测报告 2=中试生产验证 3=原辅料报告 4=产品报批报告") + private Integer reportType; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemReportDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemReportDTO.java new file mode 100644 index 0000000..7562162 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TQaTestItemReportDTO.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.dto; + +import com.ruoyi.system.model.TQaReportFile; +import com.ruoyi.system.model.TQaTestItemReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "QA检测项报告管理新增编辑DTO") +public class TQaTestItemReportDTO extends TQaTestItemReport { + + @ApiModelProperty(value = "检测报告文件") + private List<TQaReportFile> qaReportFiles; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/UpAndDownDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/UpAndDownDTO.java index f62f892..f3dec08 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/UpAndDownDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/UpAndDownDTO.java @@ -7,7 +7,7 @@ import java.io.Serializable; @Data -@ApiModel(value = "启用禁用DTO") +@ApiModel(value = "项目组、项目课题方案、启用禁用DTO") public class UpAndDownDTO implements Serializable { @ApiModelProperty(value = "id") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFeasibilityStudyReportMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFeasibilityStudyReportMapper.java index 8dc2060..e9bf127 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFeasibilityStudyReportMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFeasibilityStudyReportMapper.java @@ -1,7 +1,13 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TFeasibilityStudyReport; +import com.ruoyi.system.query.TFeasibilityStudyReportQuery; +import com.ruoyi.system.vo.TFeasibilityStudyReportVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -13,4 +19,11 @@ */ public interface TFeasibilityStudyReportMapper extends BaseMapper<TFeasibilityStudyReport> { + /** + * 分页查询可研、可行、工艺开发工具、验证发布报告管理 + * @param query + * @param pageInfo + * @return + */ + List<TFeasibilityStudyReportVO> pageList(@Param("query") TFeasibilityStudyReportQuery query, @Param("pageInfo")PageInfo<TFeasibilityStudyReportVO> pageInfo); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java index a7b7bdb..a41594c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaProduceReportMapper.java @@ -1,7 +1,13 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TQaProduceReport; +import com.ruoyi.system.query.TQaProduceReportQuery; +import com.ruoyi.system.vo.TQaProduceReportVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -13,4 +19,11 @@ */ public interface TQaProduceReportMapper extends BaseMapper<TQaProduceReport> { + /** + * 分页查询 + * @param query + * @param pageInfo + * @return + */ + List<TQaProduceReportVO> pageList(@Param("query") TQaProduceReportQuery query, @Param("pageInfo")PageInfo<TQaProduceReportVO> pageInfo); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java index ad26c8b..d1e7e79 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java @@ -1,7 +1,9 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TQaTestItemReport; +import com.ruoyi.system.query.TQaTestItemReportQuery; import com.ruoyi.system.vo.TQaTestItemReportVO; import org.apache.ibatis.annotations.Param; @@ -23,4 +25,12 @@ * @return */ List<TQaTestItemReportVO> getList(@Param("itemId") String itemId); + + /** + * 获取分页列表 + * @param query + * @param pageInfo + * @return + */ + List<TQaTestItemReportVO> pageList(@Param("query")TQaTestItemReportQuery query, @Param("pageInfo")PageInfo<TQaTestItemReportVO> pageInfo); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TFeasibilityStudyReportQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TFeasibilityStudyReportQuery.java new file mode 100644 index 0000000..d685c6d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TFeasibilityStudyReportQuery.java @@ -0,0 +1,24 @@ +package com.ruoyi.system.query; + +import com.ruoyi.common.core.domain.model.TimeRangeQueryBody; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value="可研、可行、工艺开发工具、验证发布报告管理查询参数query") +public class TFeasibilityStudyReportQuery extends TimeRangeQueryBody { + + @ApiModelProperty(value = "项目组名称") + private String teamName; + + @ApiModelProperty(value = "报告标题") + private String reportTitle; + + @ApiModelProperty(value = "报告编号") + private String reportCode; + + @ApiModelProperty(value = "状态 -1=草稿箱 1=待审核 2=待评定 3=已评定 4=已驳回 5=已撤回") + private Integer status; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaProduceReportQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaProduceReportQuery.java new file mode 100644 index 0000000..45e23b0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaProduceReportQuery.java @@ -0,0 +1,24 @@ +package com.ruoyi.system.query; + +import com.ruoyi.common.core.domain.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "中试、生产验证分析报告;辅料;产品报告查询条件query") +public class TQaProduceReportQuery extends BasePage { + + @ApiModelProperty(value = "项目组名称") + private String teamName; + + @ApiModelProperty(value = "报告标题") + private String reportTitle; + + @ApiModelProperty(value = "报告编号") + private String reportCode; + + @ApiModelProperty(value = "状态 -1=草稿箱 1=待审核 2=已通过待评定 3=已评定 4=已驳回 5=已撤销 ") + private Integer status; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaTestItemQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaTestItemQuery.java index 7b60d0f..314bb02 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaTestItemQuery.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaTestItemQuery.java @@ -9,6 +9,9 @@ @ApiModel(value = "检测项查询分页query") public class TQaTestItemQuery extends BasePage { + @ApiModelProperty(value = "项目组名称") + private String teamName; + @ApiModelProperty(value = "检测项名称") private String itemName; @@ -18,6 +21,4 @@ @ApiModelProperty(value = "状态 -1=草稿箱 1=已提交 2=待评定 3=已评定") private Integer status; - @ApiModelProperty(value = "组名称") - private String teamName; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaTestItemReportQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaTestItemReportQuery.java new file mode 100644 index 0000000..e71ffbb --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TQaTestItemReportQuery.java @@ -0,0 +1,27 @@ +package com.ruoyi.system.query; + +import com.ruoyi.common.core.domain.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "QA检测项检测报告分页query") +public class TQaTestItemReportQuery extends BasePage { + + @ApiModelProperty(value = "项目组名称") + private String teamName; + + @ApiModelProperty(value = "检测项名称") + private String itemName; + + @ApiModelProperty(value = "检测项编号") + private String itemCode; + + @ApiModelProperty(value = "报告内容 1=国家标准 2=分析方法开发 3=方法验证报告 4=方法确认 5=操作规程 6=方法转移记录清单") + private String reportContent; + + @ApiModelProperty(value = "状态 -1=草稿箱 1=待审核 2=已通过 3=已驳回 4=已撤销") + private Integer status; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFeasibilityStudyReportService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFeasibilityStudyReportService.java index 14950ed..4563433 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFeasibilityStudyReportService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFeasibilityStudyReportService.java @@ -1,7 +1,10 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TFeasibilityStudyReport; +import com.ruoyi.system.query.TFeasibilityStudyReportQuery; +import com.ruoyi.system.vo.TFeasibilityStudyReportVO; /** * <p> @@ -13,4 +16,10 @@ */ public interface TFeasibilityStudyReportService extends IService<TFeasibilityStudyReport> { + /** + * 获取可研、可行、工艺开发工具、验证发布报告管理分页列表 + * @param query + * @return + */ + PageInfo<TFeasibilityStudyReportVO> pageList(TFeasibilityStudyReportQuery query); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java index 71b32fe..0a580c8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaProduceReportService.java @@ -1,7 +1,10 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TQaProduceReport; +import com.ruoyi.system.query.TQaProduceReportQuery; +import com.ruoyi.system.vo.TQaProduceReportVO; /** * <p> @@ -13,4 +16,10 @@ */ public interface TQaProduceReportService extends IService<TQaProduceReport> { + /** + * 获取中试、生产验证分析报告;辅料;产品报告管理分页列表 + * @param query + * @return + */ + PageInfo<TQaProduceReportVO> pageList(TQaProduceReportQuery query); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java index 3e8f3d3..49a7e2c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java @@ -1,7 +1,9 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TQaTestItemReport; +import com.ruoyi.system.query.TQaTestItemReportQuery; import com.ruoyi.system.vo.TQaTestItemReportVO; import java.util.List; @@ -22,4 +24,11 @@ * @return */ List<TQaTestItemReportVO> getList(String itemId); + + /** + * 获取检测项报告分页列表 + * @param query + * @return + */ + PageInfo<TQaTestItemReportVO> pageList(TQaTestItemReportQuery query); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFeasibilityStudyReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFeasibilityStudyReportServiceImpl.java index 8fbe1f2..2eb4262 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFeasibilityStudyReportServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFeasibilityStudyReportServiceImpl.java @@ -1,10 +1,16 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.mapper.TFeasibilityStudyReportMapper; import com.ruoyi.system.model.TFeasibilityStudyReport; +import com.ruoyi.system.query.TFeasibilityStudyReportQuery; import com.ruoyi.system.service.TFeasibilityStudyReportService; +import com.ruoyi.system.vo.TFeasibilityStudyReportVO; +import com.ruoyi.system.vo.TQaTestItemVO; import org.springframework.stereotype.Service; + +import java.util.List; /** * <p> @@ -17,4 +23,11 @@ @Service public class TFeasibilityStudyReportServiceImpl extends ServiceImpl<TFeasibilityStudyReportMapper, TFeasibilityStudyReport> implements TFeasibilityStudyReportService { + @Override + public PageInfo<TFeasibilityStudyReportVO> pageList(TFeasibilityStudyReportQuery query) { + PageInfo<TFeasibilityStudyReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<TFeasibilityStudyReportVO> list = this.baseMapper.pageList(query,pageInfo); + pageInfo.setRecords(list); + return pageInfo; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java index 44e9826..7834bc1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java @@ -1,10 +1,16 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.mapper.TQaProduceReportMapper; import com.ruoyi.system.model.TQaProduceReport; +import com.ruoyi.system.query.TQaProduceReportQuery; import com.ruoyi.system.service.TQaProduceReportService; +import com.ruoyi.system.vo.TExperimentResultReportVO; +import com.ruoyi.system.vo.TQaProduceReportVO; import org.springframework.stereotype.Service; + +import java.util.List; /** * <p> @@ -17,4 +23,11 @@ @Service public class TQaProduceReportServiceImpl extends ServiceImpl<TQaProduceReportMapper, TQaProduceReport> implements TQaProduceReportService { + @Override + public PageInfo<TQaProduceReportVO> pageList(TQaProduceReportQuery query) { + PageInfo<TQaProduceReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<TQaProduceReportVO> list = this.baseMapper.pageList(query,pageInfo); + pageInfo.setRecords(list); + return pageInfo; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java index 443ed26..333ef1e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java @@ -2,12 +2,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.enums.QaReportFileEnum; import com.ruoyi.system.mapper.TQaReportFileMapper; import com.ruoyi.system.mapper.TQaTestItemReportMapper; import com.ruoyi.system.model.TQaReportFile; import com.ruoyi.system.model.TQaTestItemReport; +import com.ruoyi.system.query.TQaTestItemReportQuery; import com.ruoyi.system.service.TQaTestItemReportService; +import com.ruoyi.system.vo.TExperimentSchemeVO; import com.ruoyi.system.vo.TQaTestItemReportVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,4 +49,12 @@ } return list; } + + @Override + public PageInfo<TQaTestItemReportVO> pageList(TQaTestItemReportQuery query) { + PageInfo<TQaTestItemReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<TQaTestItemReportVO> list = this.baseMapper.pageList(query,pageInfo); + pageInfo.setRecords(list); + return pageInfo; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java new file mode 100644 index 0000000..16c7353 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.vo; + +import com.ruoyi.system.model.TFeasibilityReportFile; +import com.ruoyi.system.model.TFeasibilityStudyReport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "可研、可行、工艺开发工具、验证发布报告管理VO") +public class TFeasibilityStudyReportVO extends TFeasibilityStudyReport { + + @ApiModelProperty(value = "项目组名称") + private String teamName; + + @ApiModelProperty(value = "报告文件") + private List<TFeasibilityReportFile> feasibilityReportFiles; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaProduceReportVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaProduceReportVO.java new file mode 100644 index 0000000..66f5ec9 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaProduceReportVO.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.vo; + +import com.ruoyi.system.model.TQaProduceReport; +import com.ruoyi.system.model.TQaReportFile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "中试、生产验证分析报告;辅料;产品报告VO") +public class TQaProduceReportVO extends TQaProduceReport { + + @ApiModelProperty(value = "项目组名称") + private String teamName; + + @ApiModelProperty(value = "检测报告文件") + private List<TQaReportFile> qaReportFileList; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java index 85b8606..277d49d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java @@ -15,7 +15,7 @@ @ApiModelProperty(value = "项目组信息") private TProjectTeam projectTeam; - @ApiModelProperty(value = "组名称") + @ApiModelProperty(value = "项目组名称") private String teamName; @ApiModelProperty(value = "检测报告列表") diff --git a/ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml index 0d6ffb7..eb78ed3 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml @@ -28,5 +28,31 @@ <sql id="Base_Column_List"> id, team_id, report_code, report_name, report_text, report_type, status, audit_person_id, audit_time, audit_remark, evaluate_person_id, evaluate_time, evaluate_score, create_time, update_time, create_by, update_by, disabled </sql> + <select id="pageList" resultType="com.ruoyi.system.vo.TFeasibilityStudyReportVO"> + select tfsr.id, tfsr.team_id, tfsr.report_code, tfsr.report_name, tfsr.report_text, tfsr.report_type, tfsr.status, + tfsr.audit_person_id, tfsr.audit_time, tfsr.audit_remark, tfsr.evaluate_person_id, tfsr.evaluate_time, tfsr.evaluate_score, + tfsr.create_time, tfsr.update_time, tfsr.create_by, tfsr.update_by, tfsr.disabled, tpt.team_name as teamName + from t_feasibility_study_report tfsr + left join t_project_team tpt on tpt.id = tfsr.team_id + <where> + <if test="query.reportName != null and query.reportName != ''"> + and tfsr.report_name like concat('%', #{query.reportName}, '%') + </if> + <if test="query.reportCode != null and query.reportCode != ''"> + and tfsr.report_code like concat('%', #{query.reportCode}, '%') + </if> + <if test="query.teamName != null and query.teamName != ''"> + and tpt.team_name like concat('%', #{query.teamName}) + </if> + <if test="query.status != null"> + and tfsr.status = #{query.status} + </if> + <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> + AND tfsr.create_time BETWEEN #{query.startTime} AND #{query.endTime} + </if> + AND tfsr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} + </where> + ORDER BY tfsr.create_time DESC + </select> </mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml index 08e98af..7a36ed1 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml @@ -30,5 +30,29 @@ <sql id="Base_Column_List"> id, team_id, report_title, report_code, develop_person, develop_date, report_text, report_type, audit_person_id, audit_time, audit_remark, status, evaluate_person_id, evaluate_time, evaluate_score, create_time, update_time, create_by, update_by, disabled </sql> + <select id="pageList" resultType="com.ruoyi.system.vo.TQaProduceReportVO"> + select tqpr.id, tqpr.team_id, tqpr.report_title, tqpr.report_code, tqpr.develop_person, tqpr.develop_date, + tqpr.report_text, tqpr.report_type, tqpr.audit_person_id, tqpr.audit_time, tqpr.audit_remark, tqpr.status, + tqpr.evaluate_person_id, tqpr.evaluate_time, tqpr.evaluate_score, tqpr.create_time, tqpr.update_time, + tqpr.create_by, tqpr.update_by, tqpr.disabled, tpt.team_name as teamName + from t_qa_produce_report tqpr + left join t_project_team tpt on tpt.id = tqpr.team_id + <where> + <if test="query.reportTitle != null and query.reportTitle != ''"> + and tqpr.report_title like concat('%', #{query.reportTitle}, '%') + </if> + <if test="query.reportCode != null and query.reportCode != ''"> + and tqpr.report_code like concat('%', #{query.reportCode}, '%') + </if> + <if test="query.teamName != null and query.teamName != ''"> + and tpt.team_name like concat('%', #{query.teamName}, '%') + </if> + <if test="query.status != null"> + and tqpr.status = #{query.status} + </if> + AND tqpr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} + </where> + ORDER BY tqpr.create_time DESC + </select> </mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml index 93796eb..dee4bdc 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml @@ -32,5 +32,33 @@ where item_id = #{itemId} order by create_time desc </select> + <select id="pageList" resultType="com.ruoyi.system.vo.TQaTestItemReportVO"> + select tqtir.id, tqtir.item_id, tqtir.report_content, tqtir.develop_person, tqtir.develop_date, tqtir.report_text, + tqtir.audit_person_id, tqtir.audit_time, tqtir.audit_remark, tqtir.status, tqtir.create_time, tqtir.update_time, + tqtir.create_by, tqtir.update_by, tqtir.disabled,tqti.item_name as itemName, tqti.item_code as itemCode, + tpt.team_name as teamName + from t_qa_test_item_report tqtir + left join t_qa_test_item tqti on tqti.id = tqtir.item_id + left join t_project_team tpt on tpt.id = tqti.team_id + <where> + <if test="query.teamName != null and query.teamName != ''"> + and tpt.team_name like concat('%', #{query.teamName}, '%') + </if> + <if test="query.itemName != null and query.itemName != ''"> + and tqti.item_name like concat('%', #{query.itemName}, '%') + </if> + <if test="query.itemCode != null and query.itemCode != ''"> + and tqti.item_code like concat('%', #{query.itemCode}, '%') + </if> + <if test="query.reportContent != null and query.reportContent != ''"> + and tqtir.report_content = #{query.reportContent} + </if> + <if test="query.status != null"> + and tqtir.status = #{query.status} + </if> + AND tqtir.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} + </where> + ORDER BY tqtir.create_time DESC + </select> </mapper> -- Gitblit v1.7.1