From 7e9fea768cf8ef436c6378bf29170523721bfc77 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 25 六月 2025 20:04:26 +0800 Subject: [PATCH] bug修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java | 2 ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml | 9 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java | 10 +- ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java | 8 + ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java | 7 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java | 6 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java | 11 + ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java | 5 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java | 62 ++++++++++++ ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml | 4 ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml | 17 ++- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java | 5 + ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java | 3 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java | 14 ++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java | 11 ++ ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java | 18 +++ ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java | 7 + ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java | 34 +++--- ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java | 3 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java | 19 ++- ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java | 3 23 files changed, 214 insertions(+), 48 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 a755792..8e9b53a 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 @@ -284,6 +284,10 @@ 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()); + } return R.ok(feasibilityStudyReportVO); } @@ -322,7 +326,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(); } 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 a771b69..c10266a 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 @@ -7,7 +7,10 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.enums.*; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.enums.QAProduceReportStatusEnum; +import com.ruoyi.common.enums.QaReportFileEnum; +import com.ruoyi.common.enums.QaReportTypeEnum; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.AuditStatusDTO; import com.ruoyi.system.dto.TQaProduceReportDTO; @@ -23,6 +26,7 @@ import com.ruoyi.system.vo.TQaProduceReportVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; @@ -42,6 +46,7 @@ * @author xiaochen * @since 2025-04-08 */ +@Slf4j @Api(tags = "中试、生产验证分析报告;辅料;产品报告管理") @RestController @RequestMapping("") @@ -369,7 +374,7 @@ */ //@PreAuthorize("@ss.hasPermi('system:qaTestItem:evaluate')") @Log(title = "中试、生产验证分析报告;辅料;产品报告管理信息-评定中试、生产验证分析报告;辅料;产品报告管理信息", businessType = BusinessType.UPDATE) - @ApiOperation(value = "评定QA检测项管理",response = TQaProduceReportEvaluateDTO.class) + @ApiOperation(value = "评定中试、生产验证分析报告;辅料;产品报告管理信息",response = TQaProduceReportEvaluateDTO.class) @PostMapping(value = "/api/t-qa-produce-report/evaluate") public R<Boolean> evaluate(@RequestBody String param) { TQaProduceReportEvaluateDTO dto = JSON.parseObject(param,TQaProduceReportEvaluateDTO.class); @@ -382,6 +387,6 @@ 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 cee8003..f7e0446 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 @@ -34,6 +34,7 @@ import java.time.LocalDateTime; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -149,6 +150,12 @@ BeanUtils.copyProperties(testItem, testItemVO); // 查询QA检测项检测报告 List<TQaTestItemReportVO> qaTestItemReportVOS= qaTestItemReportService.getList(id); + for (TQaTestItemReportVO qaTestItemReportVO : qaTestItemReportVOS) { + SysUser sysUser = sysUserMapper.selectUserById(qaTestItemReportVO.getAuditPersonId()); + if(Objects.nonNull(sysUser)){ + qaTestItemReportVO.setAuditPersonName(sysUser.getNickName()); + } + } testItemVO.setQaTestItemReportList(qaTestItemReportVOS); // 查询项目组名称 TProjectTeam projectTeam = projectTeamService.getById(testItemVO.getTeamId()); @@ -167,6 +174,11 @@ }); } projectTeamVO.setStaffs(list); + } + // 查询评定人名称 + SysUser sysUser = sysUserMapper.selectUserById(testItem.getEvaluatePersonId()); + if (Objects.nonNull(sysUser)) { + testItemVO.setEvaluatePersonName(sysUser.getNickName()); } testItemVO.setProjectTeamVO(projectTeamVO); return R.ok(testItemVO); @@ -222,7 +234,7 @@ public R<Boolean> evaluate(@RequestBody String param) { TQaTestItemEvaluateDTO dto = JSON.parseObject(param,TQaTestItemEvaluateDTO.class); Long userId = tokenService.getLoginUser().getUserId(); - TQaTestItem testItem = qaTestItemService.getById(dto); + TQaTestItem testItem = qaTestItemService.getById(dto.getId()); testItem.setStatus(QATestItemStatusEnum.EVALUATED.getCode()); testItem.setEvaluatePersonId(userId); testItem.setEvaluateTime(LocalDateTime.now()); 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 9c08610..3b8e640 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 @@ -90,9 +90,17 @@ */ @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); } @@ -105,16 +113,8 @@ @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.getItemId()); if(Objects.isNull(projectTeam)){ return R.fail("项目组不存在"); } @@ -133,11 +133,13 @@ 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(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java index 4074a98..4e23bda 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java @@ -11,7 +11,6 @@ import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.dto.TQaTestItemDTO; import com.ruoyi.system.dto.TResultWorkEvaluateDTO; import com.ruoyi.system.model.*; import com.ruoyi.system.query.ResultEvaluateChemistTesterQuery; @@ -125,11 +124,10 @@ */ //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:add')") @Log(title = "实验结果工作评定管理-新增化验师、实验员工作评定", businessType = BusinessType.INSERT) - @ApiOperation(value = "新增化验师、实验员工作评定", response = TQaTestItemDTO.class) + @ApiOperation(value = "新增化验师、实验员工作评定", response = TResultWorkEvaluateDTO.class) @PostMapping(value = "/api/t-result-work-evaluate/add") public R<Boolean> add(@RequestBody String param) { TResultWorkEvaluateDTO dto = JSON.parseObject(param, TResultWorkEvaluateDTO.class); - tResultWorkEvaluateService.save(dto); return R.ok(); } @@ -150,7 +148,8 @@ List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(nickName,userIds); return R.ok(sysUsers); } - return R.ok(); + List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(null,userIds); + return R.ok(sysUsers); } /** * 查询可评定的实验员 @@ -168,7 +167,8 @@ List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(nickName,userIds); return R.ok(sysUsers); } - return R.ok(); + List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(null,userIds); + return R.ok(sysUsers); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java index 5a18d8e..a079a3d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java @@ -215,11 +215,22 @@ if(Objects.nonNull(experimentDispatch)){ testMethodConfirmSheetVO.setExperimentName(experimentDispatch.getExperimentName()); testMethodConfirmSheetVO.setExperimentCode(experimentDispatch.getExperimentCode()); + testMethodConfirmSheetVO.setExperimentStartTime(experimentDispatch.getExperimentStartTime()); + testMethodConfirmSheetVO.setExperimentEndTime(experimentDispatch.getExperimentEndTime()); + testMethodConfirmSheetVO.setExperimentDate(experimentDispatch.getExperimentDate()); // 查询项目课题方案 TProjectProposal projectProposal = projectProposalService.getById(experimentDispatch.getProposalId()); if(Objects.nonNull(projectProposal)){ testMethodConfirmSheetVO.setProjectName(projectProposal.getProjectName()); } + // 查询参与人员 + List<TExperimentDispatchParticipants> tExperimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getDispatchId, experimentDispatch.getId())); + List<Long> userIds = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).distinct().collect(Collectors.toList()); + List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); + String participantsName = sysUsers.stream().map(SysUser::getNickName).collect(Collectors.joining(";")); + testMethodConfirmSheetVO.setParticipantsName(participantsName); + testMethodConfirmSheetVO.setStatus(experimentDispatch.getStatus()); } // 查询审核人姓名 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java index 6b5aefe..d1f2ea0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java @@ -50,10 +50,8 @@ // 获取登录信息 String userName = SecurityUtils.getLoginUser().getUser().getNickName(); if (StringUtils.isNotBlank(userName)){ - this.setFieldValByName("createBy", userName, metaObject); this.setFieldValByName("updateBy", userName, metaObject); } else { - this.setFieldValByName("createBy", userName, metaObject); this.setFieldValByName("updateBy", userName, metaObject); } 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 d1e7e79..e41f96c 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 @@ -33,4 +33,12 @@ * @return */ List<TQaTestItemReportVO> pageList(@Param("query")TQaTestItemReportQuery query, @Param("pageInfo")PageInfo<TQaTestItemReportVO> pageInfo); + + + /** + * 获取列表 + * @param itemId + * @return + */ + List<TQaTestItemReportVO> getListByItemId(@Param("itemId")String itemId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java index 3708ce1..737d49a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java @@ -1,6 +1,9 @@ package com.ruoyi.system.model; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BaseModel; import io.swagger.annotations.ApiModel; @@ -8,7 +11,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; -import java.io.Serializable; import java.time.LocalDateTime; /** @@ -71,5 +73,4 @@ @ApiModelProperty(value = "状态 -1=草稿箱 1=待审核 2=已通过 3=已驳回 4=已撤销") @TableField("status") private Integer status; - } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java index e85674a..b7fdeba 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java @@ -13,6 +13,8 @@ @ApiModelProperty(value = "项目组名称") private String teamName; + @ApiModelProperty(value = "所属项目课题") + private String projectName; @ApiModelProperty(value = "实验编号") private String experimentCode; 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 49a7e2c..662773b 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 @@ -31,4 +31,11 @@ * @return */ PageInfo<TQaTestItemReportVO> pageList(TQaTestItemReportQuery query); + + /** + * 获取检测项报告列表 + * @param itemId + * @return + */ + List<TQaTestItemReportVO> getListByItemId(String itemId); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java index 1cb7ac3..1b14d7b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java @@ -117,6 +117,68 @@ public PageInfo<TExperimentResultReportVO> evaluatePageList(TExperimentResultReportQuery query) { PageInfo<TExperimentResultReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TExperimentResultReportVO> list = this.baseMapper.evaluatePageList(query,pageInfo); + if(CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List<String> dispatchIds = list.stream().map(TExperimentResultReportVO::getDispatchId).distinct().collect(Collectors.toList()); + // 查询参与人员 + List<TExperimentDispatchParticipants> tExperimentDispatchParticipants = experimentDispatchParticipantsMapper.selectList(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .in(TExperimentDispatchParticipants::getDispatchId, dispatchIds)); + + // 设置参与人员名称 + List<Long> userIds = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).collect(Collectors.toList()); + List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); + tExperimentDispatchParticipants.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()); + } + }); + + List<String> ids = list.stream().map(TExperimentResultReportVO::getId).distinct().collect(Collectors.toList()); + // 查询结果汇报评价 + List<TResultWorkEvaluate> resultWorkEvaluates = resultWorkEvaluateMapper.selectList(Wrappers.lambdaQuery(TResultWorkEvaluate.class) + .in(TResultWorkEvaluate::getResultReportId, ids)); + for (TExperimentResultReportVO experimentResultReportVO : list) { + experimentResultReportVO.setExperimentDispatchParticipants(tExperimentDispatchParticipants.stream().filter(participants -> participants.getDispatchId().equals(experimentResultReportVO.getDispatchId())).collect(Collectors.toList())); + experimentResultReportVO.setResultWorkEvaluates(resultWorkEvaluates.stream().filter(evaluate -> evaluate.getResultReportId().equals(experimentResultReportVO.getId())).collect(Collectors.toList())); + // 设置工艺工程师名称 + TExperimentDispatchParticipants dispatchParticipants = tExperimentDispatchParticipants.stream() + .filter(participants -> participants.getDispatchId().equals(experimentResultReportVO.getDispatchId()) + && participants.getRoleType().equals(3)).findFirst().orElse(null); + if(dispatchParticipants != null){ + experimentResultReportVO.setProcessEngineerName(dispatchParticipants.getNickName()); + } + // 设置化验师名称 + List<TExperimentDispatchParticipants> laboratoryChemist = tExperimentDispatchParticipants.stream() + .filter(participants -> participants.getDispatchId().equals(experimentResultReportVO.getDispatchId()) + && participants.getRoleType().equals(4)).collect(Collectors.toList()); + List<TResultWorkEvaluate> chemistEvaluates = resultWorkEvaluates.stream() + .filter(workEvaluate -> workEvaluate.getDispatchId().equals(experimentResultReportVO.getDispatchId()) + && workEvaluate.getEvaluateType().equals(2)).collect(Collectors.toList()); + if(laboratoryChemist.size() == chemistEvaluates.size()){ + experimentResultReportVO.setLaboratoryChemistEvaluate(1); + } + if(!CollectionUtils.isEmpty(laboratoryChemist)){ + String laboratoryChemistName = laboratoryChemist.stream().map(TExperimentDispatchParticipants::getNickName).collect(Collectors.joining(",")); + experimentResultReportVO.setLaboratoryChemistName(laboratoryChemistName); + } + // 设置实验员名称 + List<TExperimentDispatchParticipants> experimenter = tExperimentDispatchParticipants.stream() + .filter(participants -> participants.getDispatchId().equals(experimentResultReportVO.getDispatchId()) + && participants.getRoleType().equals(5)).collect(Collectors.toList()); + List<TResultWorkEvaluate> experimenterEvaluates = resultWorkEvaluates.stream() + .filter(workEvaluate -> workEvaluate.getDispatchId().equals(experimentResultReportVO.getDispatchId()) + && workEvaluate.getEvaluateType().equals(3)).collect(Collectors.toList()); + if(experimenter.size() == experimenterEvaluates.size()){ + experimentResultReportVO.setExperimenterEvaluate(1); + } + if(!CollectionUtils.isEmpty(experimenter)){ + String experimenterName = experimenter.stream().map(TExperimentDispatchParticipants::getNickName).collect(Collectors.joining(",")); + experimentResultReportVO.setExperimenterName(experimenterName); + } + } 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 9edac03..a868ce5 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 @@ -56,4 +56,9 @@ pageInfo.setRecords(list); return pageInfo; } + + @Override + public List<TQaTestItemReportVO> getListByItemId(String itemId) { + return this.baseMapper.getListByItemId(itemId); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java index d9fdaf0..6c4e043 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.util.CollectionUtils; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -253,9 +254,12 @@ if(!CollectionUtils.isEmpty(userIds)){ List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); for (ResultEvaluateChemistTesterVO resultEvaluateChemistTesterVO : list) { - sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(resultEvaluateChemistTesterVO.getParticipantsId())).findFirst().ifPresent(sysUser -> { - resultEvaluateChemistTesterVO.setProcessEngineerName(sysUser.getNickName()); - }); + TExperimentDispatchParticipants dispatchParticipants = experimentDispatchParticipants.stream().filter(experimentDispatchParticipant -> experimentDispatchParticipant.getDispatchId().equals(resultEvaluateChemistTesterVO.getDispatchId())).findFirst().orElse(null); + if(Objects.nonNull(dispatchParticipants)){ + sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(dispatchParticipants.getUserId())).findFirst().ifPresent(sysUser -> { + resultEvaluateChemistTesterVO.setProcessEngineerName(sysUser.getNickName()); + }); + } } } } @@ -277,9 +281,12 @@ if(!CollectionUtils.isEmpty(userIds)){ List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); for (ResultEvaluateChemistTesterVO resultEvaluateChemistTesterVO : list) { - sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(resultEvaluateChemistTesterVO.getParticipantsId())).findFirst().ifPresent(sysUser -> { - resultEvaluateChemistTesterVO.setProcessEngineerName(sysUser.getNickName()); - }); + TExperimentDispatchParticipants dispatchParticipants = experimentDispatchParticipants.stream().filter(experimentDispatchParticipant -> experimentDispatchParticipant.getDispatchId().equals(resultEvaluateChemistTesterVO.getDispatchId())).findFirst().orElse(null); + if(Objects.nonNull(dispatchParticipants)){ + sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(dispatchParticipants.getUserId())).findFirst().ifPresent(sysUser -> { + resultEvaluateChemistTesterVO.setProcessEngineerName(sysUser.getNickName()); + }); + } } } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java index 48818d2..bacf06c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java @@ -1,5 +1,6 @@ package com.ruoyi.system.vo; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -48,5 +49,7 @@ @ApiModelProperty(value = "评定时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime evaluateTime; - + @ApiModelProperty(value = "评定分数 json") + @TableField("result_evaluate_json") + private String resultEvaluateJson; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java index e544f0d..64d7410 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java @@ -18,5 +18,6 @@ @ApiModelProperty(value = "总分") private Double totalScore; - + @ApiModelProperty(value = "项目组名称") + private String teamName; } 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 index 5ab1ed8..8d90194 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java @@ -28,6 +28,9 @@ @ApiModelProperty(value = "评定人员名称") private String evaluatePersonName; + @ApiModelProperty(value = "审核人员名称") + private String auditPersonName; + @ApiModelProperty(value = "报告文件") private List<TFeasibilityReportFile> feasibilityReportFiles; 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 73fdbf9..f60a35d 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 @@ -17,6 +17,9 @@ @ApiModelProperty(value = "项目组名称") private String teamName; + @ApiModelProperty(value = "评价人名称") + private String evaluatePersonName; + @ApiModelProperty(value = "检测报告列表") private List<TQaTestItemReportVO> qaTestItemReportList; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java index e55b27e..4373fd8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java @@ -37,5 +37,7 @@ private String chemistName; @ApiModelProperty(value = "实验员名称") private String testerName; + @ApiModelProperty(value = "项目课题方案") + private String projectName; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java index 554dbe0..41ddc6d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java @@ -1,11 +1,13 @@ package com.ruoyi.system.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.system.model.TTestMethodConfirmSheet; import com.ruoyi.system.model.TTestMethodConfirmSheetTerm; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.time.LocalDateTime; import java.util.List; @Data @@ -27,5 +29,21 @@ @ApiModelProperty(value = "审核人姓名") private String auditPersonName; + @ApiModelProperty(value = "通知时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime experimentDate; + + @ApiModelProperty(value = "实验开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime experimentStartTime; + + @ApiModelProperty(value = "实验结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime experimentEndTime; + + @ApiModelProperty(value = "参与人员名称拼接") + private String participantsName; + @ApiModelProperty(value = "状态") + private Integer status; } diff --git a/ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml index b0b5564..1615c19 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml @@ -50,7 +50,7 @@ and tpp.project_name like concat('%', #{query.projectName}, '%') </if> <if test="query.experimentCode != null and query.experimentCode != ''"> - and tes.experiment_code like concat('%', #{query.experimentCode}, '%') + and ted.experiment_code like concat('%', #{query.experimentCode}, '%') </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND tes.create_time BETWEEN #{query.startTime} AND #{query.endTime} @@ -85,7 +85,7 @@ and tpp.project_name like concat('%', #{query.projectName}, '%') </if> <if test="query.experimentCode != null and query.experimentCode != ''"> - and tes.experiment_code like concat('%', #{query.experimentCode}, '%') + and ted.experiment_code like concat('%', #{query.experimentCode}, '%') </if> <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND tes.create_time BETWEEN #{query.startTime} AND #{query.endTime} diff --git a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml index ba88585..054e636 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml @@ -70,5 +70,14 @@ </where> ORDER BY tqtir.create_time DESC </select> + <select id="getListByItemId" resultType="com.ruoyi.system.vo.TQaTestItemReportVO"> + select + <include refid="Base_Column_List" /> + from t_qa_test_item_report + where item_id = #{itemId} + and status in (1,2,3) + and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} + order by create_time desc + </select> </mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml index 6b12e4b..a7fbcb6 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml @@ -69,6 +69,9 @@ <if test="query.teamName != null and query.teamName != ''"> and tpp.team_name like concat('%',#{query.teamName},'%') </if> + <if test="query.projectName != null and query.projectName != ''"> + and tpp.project_name like concat('%',#{query.projectName},'%') + </if> <if test="query.experimentCode != null and query.experimentCode != ''"> and ted.experiment_code like concat('%',#{query.experimentCode},'%') </if> @@ -81,7 +84,7 @@ <if test="query.status != null"> AND trwe.status = #{query.status} </if> - <if test="query.teamIds != null and query.teamIds > 0"> + <if test="query.teamIds != null and query.teamIds.size() > 0"> AND trwe.team_id in <foreach collection="query.teamIds" item="id" open="(" separator="," close=")"> #{id} @@ -117,7 +120,7 @@ <if test="query.status != null"> AND trwe.status = #{query.status} </if> - <if test="query.teamIds != null and query.teamIds > 0"> + <if test="query.teamIds != null and query.teamIds.size() > 0"> AND trwe.team_id in <foreach collection="query.teamIds" item="id" open="(" separator="," close=")"> #{id} @@ -132,12 +135,12 @@ select trwe.evaluate_time,CASE WHEN trwe.id IS NOT NULL THEN 1 ELSE 0 END AS isEvaluate,trwe.id, tedp.id AS participantsId,tpp.project_name AS projectName,tpp.project_stage AS projectStage, ted.experiment_code AS experimentCode,ted.experiment_name AS experimentName,su.nick_name AS laboratoryChemistName, - tedp.dispatch_id AS dispatchId + tedp.dispatch_id AS dispatchId,tedp.result_evaluate_json AS resultEvaluateJson from t_experiment_dispatch_participants tedp left join t_experiment_dispatch ted on ted.id = tedp.dispatch_id - left join t_result_work_evaluate trwe on tedp.id = trwe.dispatch_id and trwe.evaluate_type = 2 + left join t_result_work_evaluate trwe on ted.id = trwe.dispatch_id and trwe.evaluate_type = 2 left join t_project_proposal tpp on ted.proposal_id = tpp.id - left join sys_user su on tedp.user_id = su.id + left join sys_user su on tedp.user_id = su.user_id <where> <if test="query.experimentCode != null and query.experimentCode != ''"> and ted.experiment_code like concat('%',#{query.experimentCode},'%') @@ -168,9 +171,9 @@ tedp.dispatch_id AS dispatchId from t_experiment_dispatch_participants tedp left join t_experiment_dispatch ted on ted.id = tedp.dispatch_id - left join t_result_work_evaluate trwe on tedp.id = trwe.dispatch_id and trwe.evaluate_type = 3 + left join t_result_work_evaluate trwe on ted.id = trwe.dispatch_id and trwe.evaluate_type = 3 left join t_project_proposal tpp on ted.proposal_id = tpp.id - left join sys_user su on tedp.user_id = su.id + left join sys_user su on tedp.user_id = su.user_id <where> <if test="query.experimentCode != null and query.experimentCode != ''"> and ted.experiment_code like concat('%',#{query.experimentCode},'%') -- Gitblit v1.7.1