xuhy
4 天以前 7e9fea768cf8ef436c6378bf29170523721bfc77
bug修改
23个文件已修改
244 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQaTestItemReportMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TQaTestItemReport.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TResultWorkEvaluateQuery.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TQaTestItemReportService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentResultReportServiceImpl.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaTestItemReportServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTesterWorkEvaluateServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/ResultEvaluateChemistTesterVO.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TClinicalTrialPointsVO.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TFeasibilityStudyReportVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TQaTestItemVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TResultWorkEvaluateVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TTestMethodConfirmSheetVO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TExperimentSchemeMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TResultWorkEvaluateMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
    }
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);
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());
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();
        if(!CollectionUtils.isEmpty(qaReportFiles)){
        for (TQaReportFile qaReportFile : qaReportFiles) {
            qaReportFile.setReportId(dto.getId());
            qaReportFile.setReportType(QaReportFileEnum.TEST_REPORT.getCode());
        }
        qaReportFileService.saveBatch(qaReportFiles);
        }
        return R.ok();
    }
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);
    }
    /**
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());
        }
        // 查询审核人姓名
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);
        }
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);
}
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;
}
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;
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);
}
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;
    }
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);
    }
}
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 -> {
                    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,12 +281,15 @@
            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 -> {
                    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());
                    });
                }
            }
        }
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
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;
}
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;
}
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;
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;
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;
}
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;
}
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}
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>
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},'%')