puzhibing
6 天以前 2fa7f761cf80802f54f727381b282d3b264501a7
提交最新代码
1个文件已添加
17个文件已修改
19846 ■■■■■ 已修改文件
laboratory.sql 19607 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentSchemeController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-test.yml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFeasibilityStudyReportServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WorkEvaluateService.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory.sql
New file
Diff too large
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java
@@ -168,12 +168,6 @@
    @PostMapping(value = "/api/t-experiment-result-report/add")
    public R<Boolean> add(@RequestBody String param) {
        TExperimentResultReportDTO dto = JSON.parseObject(param,TExperimentResultReportDTO.class);
        // 判断是否已存在实验结果
        Long count = experimentResultReportService.count(Wrappers.lambdaQuery(TExperimentResultReport.class)
                .eq(TExperimentResultReport::getDispatchId, dto.getDispatchId()));
        if(count > 0){
            return R.fail("已存在实验结果汇报");
        }
        experimentResultReportService.save(dto);
        // 获取当前用户的项目组id
        Long userId = tokenService.getLoginUser().getUserId();
@@ -268,29 +262,48 @@
    public R<Boolean> evaluateProcess(@RequestBody String param) {
        TResultWorkEvaluate resultWorkEvaluate = JSON.parseObject(param,TResultWorkEvaluate.class);
        Long userId = tokenService.getLoginUser().getUserId();
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        if (roleType != 1 && roleType != 2) {
            return R.fail("仅管理员或审批人可以评定工艺工程师");
        }
        TExperimentResultReport experimentResultReport = experimentResultReportService.getById(resultWorkEvaluate.getResultReportId());
        if (Objects.isNull(experimentResultReport)) {
            return R.fail("实验结果汇报不存在");
        }
        if (!Objects.equals(experimentResultReport.getStatus(), 2)) {
            return R.fail("当前实验结果汇报不是待评定状态");
        }
        long evaluatedCount = resultWorkEvaluateService.count(Wrappers.lambdaQuery(TResultWorkEvaluate.class)
                .eq(TResultWorkEvaluate::getResultReportId, resultWorkEvaluate.getResultReportId())
                .eq(TResultWorkEvaluate::getEvaluateType, 1)
                .eq(TResultWorkEvaluate::getDisabled, 0));
        if (evaluatedCount > 0) {
            return R.fail("该工艺工程师工作评定已提交");
        }
        resultWorkEvaluate.setEvaluatePersonId(userId);
        resultWorkEvaluate.setEvaluateTime(LocalDateTime.now());
        resultWorkEvaluate.setStatus(1);
        resultWorkEvaluate.setEvaluateType(1);
        // 查询当前用户组
        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
                .eq(TProjectTeamStaff::getUserId, userId)
                .last("LIMIT 1"));
        if(Objects.isNull(projectTeamStaff)){
            return R.fail("当前用户未分配项目组,无法进行评定");
        TExperimentDispatch dispatch = experimentDispatchService.getById(experimentResultReport.getDispatchId());
        if (Objects.isNull(dispatch)) {
            return R.fail("实验调度不存在");
        }
        TProjectTeamStaff projectTeamStaff1 = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
                .eq(TProjectTeamStaff::getTeamId, projectTeamStaff.getTeamId())
                .eq(TProjectTeamStaff::getRoleType, 3)
                .last("LIMIT 1"));
        if(Objects.isNull(projectTeamStaff1)){
            return R.fail("当前项目组未分配工艺工程师,无法进行评定");
        TProjectProposal proposal = projectProposalService.getById(dispatch.getProposalId());
        if (Objects.isNull(proposal)) {
            return R.fail("项目课题方案不存在");
        }
        resultWorkEvaluate.setUserId(projectTeamStaff1.getUserId());
        resultWorkEvaluate.setTeamId(projectTeamStaff.getTeamId());
        TExperimentDispatchParticipants processEngineer = experimentDispatchParticipantsService.getOne(
                Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
                .eq(TExperimentDispatchParticipants::getDispatchId, dispatch.getId())
                .eq(TExperimentDispatchParticipants::getRoleType, 3)
                .last("LIMIT 1"));
        if (Objects.isNull(processEngineer)) {
            return R.fail("当前实验调度未分配工艺工程师,无法进行评定");
        }
        resultWorkEvaluate.setDispatchId(dispatch.getId());
        resultWorkEvaluate.setUserId(processEngineer.getUserId());
        resultWorkEvaluate.setTeamId(proposal.getTeamId());
        resultWorkEvaluateService.save(resultWorkEvaluate);
        // 查询实验结果汇报
        TExperimentResultReport experimentResultReport = experimentResultReportService.getById(resultWorkEvaluate.getResultReportId());
        experimentResultReport.setStatus(3);
        experimentResultReportService.updateById(experimentResultReport);
        return R.ok();
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentSchemeController.java
@@ -8,7 +8,6 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.ApplicationTerminationAuditDTO;
import com.ruoyi.system.dto.ApplicationTerminationDTO;
@@ -26,6 +25,7 @@
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -225,7 +225,7 @@
    public R<Boolean> update(@RequestBody String param) {
        TExperimentSchemeDTO dto = JSON.parseObject(param,TExperimentSchemeDTO.class);
        if (SecurityUtils.isAdmin(SecurityUtils.getUserId())){
        if (Objects.equals(tokenService.getLoginUser().getUser().getRoleType(), 1)){
            dto.setStatus(null);
        }
@@ -367,9 +367,18 @@
    @PostMapping(value = "/api/t-experiment-scheme/applicationTermination")
    public R<Boolean> applicationTermination(@RequestBody String param) {
        ApplicationTerminationDTO applicationTerminationDTO = JSON.parseObject(param, ApplicationTerminationDTO.class);
        TExperimentScheme currentScheme = experimentSchemeService.getById(applicationTerminationDTO.getId());
        if (Objects.isNull(currentScheme)) {
            return R.fail("实验方案不存在");
        }
        Integer oldStatus = currentScheme.getOldStatus();
        if (!Arrays.asList(2, 3, 4).contains(currentScheme.getStatus())) {
            oldStatus = currentScheme.getStatus();
        }
        experimentSchemeService.update(Wrappers.lambdaUpdate(TExperimentScheme.class)
                .eq(TExperimentScheme::getId, applicationTerminationDTO.getId())
                .set(TExperimentScheme::getStatus, 2)
                .set(TExperimentScheme::getOldStatus, oldStatus)
                .set(TExperimentScheme::getStopReason, applicationTerminationDTO.getStopReason())
                .set(TExperimentScheme::getStopFile, applicationTerminationDTO.getStopFile())
                .set(TExperimentScheme::getStopFileName, applicationTerminationDTO.getStopFileName())
@@ -393,6 +402,34 @@
        return R.ok();
    }
    @Log(title = "实验方案信息-删除中止申请", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除中止申请(保留实验方案)")
    @DeleteMapping(value = "/open/t-experiment-scheme/deleteTerminationApplication")
    public R<Boolean> deleteTerminationApplication(@RequestParam String id) {
        if (tokenService.getLoginUser().getUser().getRoleType() != 1) {
            return R.fail("仅管理员可以删除中止申请");
        }
        TExperimentScheme scheme = experimentSchemeService.getById(id);
        if (Objects.isNull(scheme)) {
            return R.fail("实验方案不存在");
        }
        if (!Arrays.asList(2, 3).contains(scheme.getStatus())) {
            return R.fail("仅待审核或已通过的实验中止审批可以删除");
        }
        Integer restoredStatus = scheme.getOldStatus() == null ? 6 : scheme.getOldStatus();
        return R.ok(experimentSchemeService.update(Wrappers.lambdaUpdate(TExperimentScheme.class)
                .eq(TExperimentScheme::getId, id)
                .set(TExperimentScheme::getStatus, restoredStatus)
                .set(TExperimentScheme::getStopReason, null)
                .set(TExperimentScheme::getStopFile, null)
                .set(TExperimentScheme::getStopFileName, null)
                .set(TExperimentScheme::getCommitSign, null)
                .set(TExperimentScheme::getAuditPersonId, null)
                .set(TExperimentScheme::getAuditTime, null)
                .set(TExperimentScheme::getAuditRemark, null)
                .set(TExperimentScheme::getOldStatus, null)));
    }
    /**
     * 批量删除实验方案
     */
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java
@@ -100,6 +100,7 @@
        TFeasibilityStudyReportQuery query = JSON.parseObject(param, TFeasibilityStudyReportQuery.class);
        Long userId = tokenService.getLoginUser().getUserId();
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        query.setRoleType(roleType);
        if(roleType != 1){
            // 查询用户所在项目组
            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
@@ -119,6 +120,7 @@
        TFeasibilityStudyReportQuery query = JSON.parseObject(param, TFeasibilityStudyReportQuery.class);
        Long userId = tokenService.getLoginUser().getUserId();
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        query.setRoleType(roleType);
        if(roleType != 1){
            // 查询用户所在项目组
            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
@@ -213,7 +215,7 @@
                .eq(TProjectTeamStaff::getTeamId, projectTeam.getId())
                .eq(TProjectTeamStaff::getRoleType, 2)
                .last("LIMIT 1"));
        if(Objects.nonNull(teamStaff)){
        if(Objects.nonNull(teamStaff) && !Objects.equals(dto.getStatus(), -1)){
//            TFeasibilityStudyReport feasibilityStudyReport = feasibilityStudyReportService.getById(dto.getId());
            Integer reportType = dto.getReportType();
             switch (reportType) {
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java
@@ -148,6 +148,14 @@
    @PostMapping(value = "/api/t-inspection-report/update")
    public R<Boolean> update(@RequestBody String param) {
        TInspectionReportDTO dto = JSON.parseObject(param,TInspectionReportDTO.class);
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        TInspectionReport inspectionReport = inspectionReportService.getById(dto.getId());
        if (Objects.equals(roleType, 1)
                && Objects.nonNull(inspectionReport)
                && Objects.equals(inspectionReport.getStatus(), 2)) {
            return R.fail("化验师已提交的检验报告不允许编辑");
        }
        if (SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
            dto.setStatus(null);
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java
@@ -150,7 +150,7 @@
        // 查询上个项目课题方案的序号
        long count = projectProposalService.count(Wrappers.lambdaQuery(TProjectProposal.class)
                .like(TProjectProposal::getProjectCode, projectProposalNo));
        projectProposalNo = projectProposalNo + String.format("%02d", count+1);
        projectProposalNo = projectProposalNo + String.format("%03d", count+1);
        dto.setProjectCode(projectProposalNo);
        dto.setCommitUserId(userId);
        dto.setTeamId(projectTeam.getId());
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java
@@ -107,6 +107,7 @@
        TQaProduceReportQuery query = JSON.parseObject(param, TQaProduceReportQuery.class);
        Long userId = tokenService.getLoginUser().getUserId();
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        query.setRoleType(roleType);
        if(roleType != 1){
            // 查询用户所在项目组
            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
@@ -130,6 +131,7 @@
        TQaProduceReportQuery query = JSON.parseObject(param, TQaProduceReportQuery.class);
        Long userId = tokenService.getLoginUser().getUserId();
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        query.setRoleType(roleType);
        if(roleType != 1){
            // 查询用户所在项目组
            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java
@@ -224,6 +224,9 @@
    @ApiOperation(value = "删除QA检测项管理")
    @DeleteMapping(value = "/open/t-qa-test-item/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        if (Objects.equals(tokenService.getLoginUser().getUser().getRoleType(), 1)) {
            return R.fail("超级管理员不能删除检测项,只能删除报告");
        }
        // 删除QA检测项管理成员
        qaTestItemReportService.remove(Wrappers.lambdaQuery(TQaTestItemReport.class).eq(TQaTestItemReport::getItemId, id));
        return R.ok(qaTestItemService.removeById(id));
@@ -237,6 +240,9 @@
    @ApiOperation(value = "批量删除QA检测项管理")
    @DeleteMapping(value = "/open/t-qa-test-item/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        if (Objects.equals(tokenService.getLoginUser().getUser().getRoleType(), 1)) {
            return R.fail("超级管理员不能删除检测项,只能删除报告");
        }
        // 删除QA检测项检测报告
        qaTestItemReportService.remove(Wrappers.lambdaQuery(TQaTestItemReport.class).in(TQaTestItemReport::getItemId, ids));
        return R.ok(qaTestItemService.removeByIds(ids));
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java
@@ -219,6 +219,16 @@
    @ApiOperation(value = "删除QA检测项报告管理")
    @DeleteMapping(value = "/open/t-qa-test-item-report/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        TQaTestItemReport report = qaTestItemReportService.getById(id);
        if (Objects.isNull(report)) {
            return R.fail("检测项报告不存在");
        }
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        if (Objects.equals(roleType, 1)
                && !Objects.equals(report.getStatus(), QATestItemReportStatusEnum.PENDING_APPROVAL.getCode())
                && !Objects.equals(report.getStatus(), QATestItemReportStatusEnum.PASSED.getCode())) {
            return R.fail("超级管理员只能删除待审核或已审核的报告");
        }
        // 删除QA检测项报告文件
        qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).eq(TQaReportFile::getReportId, id)
                .in(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode()));
@@ -233,6 +243,17 @@
    @ApiOperation(value = "批量删除QA检测项报告管理")
    @DeleteMapping(value = "/open/t-qa-test-item-report/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        if (Objects.equals(roleType, 1)) {
            long deletableCount = qaTestItemReportService.count(Wrappers.lambdaQuery(TQaTestItemReport.class)
                    .in(TQaTestItemReport::getId, ids)
                    .in(TQaTestItemReport::getStatus,
                            QATestItemReportStatusEnum.PENDING_APPROVAL.getCode(),
                            QATestItemReportStatusEnum.PASSED.getCode()));
            if (deletableCount != ids.size()) {
                return R.fail("超级管理员只能删除待审核或已审核的报告");
            }
        }
        // 删除QA检测项报告检测报告文件
        qaReportFileService.remove(Wrappers.lambdaQuery(TQaReportFile.class).in(TQaReportFile::getReportId, ids)
                .in(TQaReportFile::getReportType, QaReportFileEnum.TEST_REPORT.getCode()));
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
@@ -498,7 +498,7 @@
            List<TResultWorkEvaluate> tResultWorkEvaluateList = tResultWorkEvaluateService.lambdaQuery()
                    .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
                    .eq(TResultWorkEvaluate::getTeamId, projectTeam.getId())
                    .eq(TResultWorkEvaluate::getEvaluateType, 1)//工艺工程师
                    .eq(TResultWorkEvaluate::getEvaluateType, 2)//化验师
                    .eq(TResultWorkEvaluate::getDisabled, 0)//未删除
                    .orderByAsc(TResultWorkEvaluate::getEvaluateTime)
                    .list();
@@ -508,7 +508,9 @@
            // 项目检测项评定
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO9 = new TResultWorkEvaluateDetailEngineerVO();
            List<TQaTestItem> list5 = qaTestItemService.lambdaQuery()
                    .eq(TQaTestItem::getStatus,3).eq(TQaTestItem::getCommitPersonId, sysUser.getUserId()).list();
                    .eq(TQaTestItem::getStatus,3)
                    .eq(TQaTestItem::getTeamId, projectTeam.getId())
                    .eq(TQaTestItem::getCommitPersonId, sysUser.getUserId()).list();
            if (!list5.isEmpty()){
                tResultWorkEvaluateDetailEngineerVO9.setStartTime(list5.get(0).getEvaluateTime());
                tResultWorkEvaluateDetailEngineerVO9.setEndTime(list5.get(list5.size() - 1).getCreateTime());
@@ -526,7 +528,9 @@
            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO9);
            // 中试、生产验证试验检验分析报告评定
            List<TQaProduceReport> list = qaProduceReportService.lambdaQuery()
                    .eq(TQaProduceReport::getStatus,3).eq(TQaProduceReport::getCommitPersonId, sysUser.getUserId()).list();
                    .eq(TQaProduceReport::getStatus,3)
                    .eq(TQaProduceReport::getTeamId, projectTeam.getId())
                    .eq(TQaProduceReport::getCommitPersonId, sysUser.getUserId()).list();
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
            List<TQaProduceReport> collect3 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList());
            if (!collect3.isEmpty()) {
@@ -623,7 +627,7 @@
            List<TResultWorkEvaluate> tResultWorkEvaluateList = tResultWorkEvaluateService.lambdaQuery()
                    .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
                    .eq(TResultWorkEvaluate::getTeamId, projectTeam.getId())
                    .eq(TResultWorkEvaluate::getEvaluateType, 1)//工艺工程师
                    .eq(TResultWorkEvaluate::getEvaluateType, 3)//实验员
                    .eq(TResultWorkEvaluate::getDisabled, 0)//未删除
                    .orderByAsc(TResultWorkEvaluate::getEvaluateTime)
                    .list();
@@ -631,7 +635,11 @@
            workEvaluateCalculateService.getThreeScope(tResultWorkEvaluateList, tResultWorkEvaluateDetailEngineerVOS);
            // 其他任务
            List<TTesterOtherTask> list = tTesterOtherTaskService.lambdaQuery().eq(TTesterOtherTask::getTesterId, sysUser.getUserId()).list();
            List<TTesterOtherTask> list = tTesterOtherTaskService.lambdaQuery()
                    .eq(TTesterOtherTask::getTesterId, sysUser.getUserId())
                    .eq(TTesterOtherTask::getTeamId, projectTeam.getId())
                    .orderByAsc(TTesterOtherTask::getCreateTime)
                    .list();
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
            tResultWorkEvaluateDetailEngineerVO5.setCount(list.size());
            if (!list.isEmpty()) {
@@ -641,7 +649,9 @@
            }
            int temp = 0;
            for (TTesterOtherTask tTesterOtherTask : list) {
                temp += tTesterOtherTask.getEvaluateScore();
                if (tTesterOtherTask.getEvaluateScore() != null) {
                    temp += tTesterOtherTask.getEvaluateScore();
                }
            }
            tResultWorkEvaluateDetailEngineerVO5.setIntegral(temp);
            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5);
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java
@@ -351,7 +351,14 @@
    @DeleteMapping(value = "/open/t-sampling-record/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        // 删除取样操作记录
        samplingRecordOperationService.removeById(id);
        TSamplingRecord samplingRecord = samplingRecordService.getById(id);
        if (Objects.nonNull(samplingRecord)) {
            samplingRecordOperationService.remove(Wrappers.lambdaQuery(TSamplingRecordOperation.class)
                    .eq(TSamplingRecordOperation::getSamplingId, id));
            samplingRecordService.removeById(id);
        } else {
            samplingRecordOperationService.removeById(id);
        }
        return R.ok();
    }
ruoyi-admin/src/main/resources/application-test.yml
@@ -19,6 +19,10 @@
  # 服务器的HTTP端口,默认为8080
  port: 11221
  servlet:
    encoding:
      charset: UTF-8
      enabled: true
      force: true
    # 应用的访问路径
    context-path: /
  tomcat:
@@ -75,7 +79,7 @@
    # 数据库索引
    database: 0
    # 密码
    password: 123456
    password:
    # 连接超时时间
    timeout: 10s
    lettuce:
@@ -95,9 +99,9 @@
    druid:
      # 主库数据源
      master:
        url: jdbc:mysql://127.0.0.1:3306/laboratory?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai
        url: jdbc:mysql://127.0.0.1:3399/laboratory?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai
        username: root
        password: 123456
        password: qwe123
      # 从库数据源
      slave:
        # 从数据源开关/默认关闭
@@ -155,7 +159,7 @@
  # 令牌密钥
  secret: abcdefghijklmnopqrstuvwxyz
  # 令牌有效期(默认30分钟)
  expireTime: 120
  expireTime: 99999
mybatis-plus:
  # 此处在多数据源中生效
ruoyi-admin/src/main/resources/application.yml
@@ -1,4 +1,4 @@
# 项目相关配置
spring:
  profiles:
    active: prod
    active: test
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFeasibilityStudyReportServiceImpl.java
@@ -113,7 +113,7 @@
    @Override
    public Map<String, Integer> evaluateCount(TFeasibilityStudyReportQuery query) {
        if(CollectionUtils.isEmpty(query.getTeamIds())){
        if(CollectionUtils.isEmpty(query.getTeamIds()) && query.getRoleType() != 1){
            return new HashMap<>();
        }
        Map<String, Integer> map = this.baseMapper.evaluateCount(query);
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java
@@ -45,7 +45,7 @@
    @Override
    public PageInfo<TQaProduceReportVO> evaluateList(TQaProduceReportQuery query) {
        PageInfo<TQaProduceReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        if(CollectionUtils.isEmpty(query.getTeamIds())){
        if(CollectionUtils.isEmpty(query.getTeamIds()) && query.getRoleType() != 1){
            return pageInfo;
        }
        List<TQaProduceReportVO> list = this.baseMapper.evaluateList(query,pageInfo);
@@ -65,7 +65,7 @@
    @Override
    public Map<String, Integer> evaluateCount(TQaProduceReportQuery query) {
        if(CollectionUtils.isEmpty(query.getTeamIds())){
        if(CollectionUtils.isEmpty(query.getTeamIds()) && query.getRoleType() != 1){
            return new HashMap<>();
        }
        Map<String, Integer> map = this.baseMapper.evaluateCount(query);
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WorkEvaluateService.java
@@ -76,14 +76,13 @@
        TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId());
        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 3).last("limit 1")
                .one();
        TProjectTeamStaff projectTeamStaff1 = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 2).last("limit 1")
                .one();
        tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime());
        Long userId = projectTeamStaff.getUserId();
        Long auditUserId = projectTeamStaff1.getUserId();
        List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery()
                .eq(TFeasibilityStudyReport::getStatus, 3)
                .eq(TFeasibilityStudyReport::getEvaluatePersonId, auditUserId).list();
                .eq(TFeasibilityStudyReport::getTeamId, projectTeam.getId())
                .orderByAsc(TFeasibilityStudyReport::getEvaluateTime)
                .list();
        List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
        // 工艺可研
        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO = new TResultWorkEvaluateDetailEngineerVO();
@@ -184,13 +183,19 @@
        // 临床试验积分
        List<TClinicalTrialPoints> list6 = clinicalTrialPointsService.lambdaQuery()
                .eq(TClinicalTrialPoints::getProcessEngineerId, userId)
                .eq(TClinicalTrialPoints::getTeamId, projectTeam.getId()).list();
                .eq(TClinicalTrialPoints::getTeamId, projectTeam.getId())
                .orderByAsc(TClinicalTrialPoints::getCreateTime)
                .list();
        TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO8 = new TResultWorkEvaluateDetailEngineerVO();
        tResultWorkEvaluateDetailEngineerVO8.setCount(list6.size());
        if (!list6.isEmpty()) {
            tResultWorkEvaluateDetailEngineerVO8.setStartTime(list6.get(0).getCreateTime());
            tResultWorkEvaluateDetailEngineerVO8.setEndTime(list6.get(list6.size() - 1).getCreateTime());
            tResultWorkEvaluateDetailEngineerVO8.setIntegral(list6.get(0).getEvaluateScore());
            tResultWorkEvaluateDetailEngineerVO8.setIntegral(list6.stream()
                    .map(TClinicalTrialPoints::getEvaluateScore)
                    .filter(Objects::nonNull)
                    .mapToInt(Integer::intValue)
                    .sum());
        }
        tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO8);
        tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS);
@@ -237,7 +242,7 @@
            List<TResultWorkEvaluate> tResultWorkEvaluateList = tResultWorkEvaluateService.lambdaQuery()
                    .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
                    .eq(TResultWorkEvaluate::getTeamId, projectTeam.getId())
                    .eq(TResultWorkEvaluate::getEvaluateType, 1)//工艺工程师
                    .eq(TResultWorkEvaluate::getEvaluateType, 2)//化验师
                    .eq(TResultWorkEvaluate::getDisabled, 0)//未删除
                    .orderByAsc(TResultWorkEvaluate::getEvaluateTime)
                    .list();
@@ -247,7 +252,9 @@
            // 项目检测项评定
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO9 = new TResultWorkEvaluateDetailEngineerVO();
            List<TQaTestItem> list5 = qaTestItemService.lambdaQuery()
                    .eq(TQaTestItem::getStatus,3).eq(TQaTestItem::getCommitPersonId, sysUser.getUserId()).list();
                    .eq(TQaTestItem::getStatus,3)
                    .eq(TQaTestItem::getTeamId, projectTeam.getId())
                    .eq(TQaTestItem::getCommitPersonId, sysUser.getUserId()).list();
            if (!list5.isEmpty()){
                tResultWorkEvaluateDetailEngineerVO9.setStartTime(list5.get(0).getEvaluateTime());
                tResultWorkEvaluateDetailEngineerVO9.setEndTime(list5.get(list5.size() - 1).getCreateTime());
@@ -265,7 +272,9 @@
            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO9);
            // 中试、生产验证试验检验分析报告评定
            List<TQaProduceReport> list = qaProduceReportService.lambdaQuery()
                    .eq(TQaProduceReport::getStatus,3).eq(TQaProduceReport::getCommitPersonId, sysUser.getUserId()).list();
                    .eq(TQaProduceReport::getStatus,3)
                    .eq(TQaProduceReport::getTeamId, projectTeam.getId())
                    .eq(TQaProduceReport::getCommitPersonId, sysUser.getUserId()).list();
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
            List<TQaProduceReport> collect3 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList());
            if (!collect3.isEmpty()) {
@@ -364,7 +373,7 @@
            List<TResultWorkEvaluate> tResultWorkEvaluateList = tResultWorkEvaluateService.lambdaQuery()
                    .eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
                    .eq(TResultWorkEvaluate::getTeamId, projectTeam.getId())
                    .eq(TResultWorkEvaluate::getEvaluateType, 1)//工艺工程师
                    .eq(TResultWorkEvaluate::getEvaluateType, 3)//实验员
                    .eq(TResultWorkEvaluate::getDisabled, 0)//未删除
                    .orderByAsc(TResultWorkEvaluate::getEvaluateTime)
                    .list();
@@ -372,7 +381,11 @@
            getThreeScope(tResultWorkEvaluateList, tResultWorkEvaluateDetailEngineerVOS);
            // 其他任务
            List<TTesterOtherTask> list = tTesterOtherTaskService.lambdaQuery().eq(TTesterOtherTask::getTesterId, sysUser.getUserId()).list();
            List<TTesterOtherTask> list = tTesterOtherTaskService.lambdaQuery()
                    .eq(TTesterOtherTask::getTesterId, sysUser.getUserId())
                    .eq(TTesterOtherTask::getTeamId, projectTeam.getId())
                    .orderByAsc(TTesterOtherTask::getCreateTime)
                    .list();
            TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
            tResultWorkEvaluateDetailEngineerVO5.setCount(list.size());
            if (!list.isEmpty()) {
@@ -382,7 +395,9 @@
            }
            int temp = 0;
            for (TTesterOtherTask tTesterOtherTask : list) {
                temp += tTesterOtherTask.getEvaluateScore();
                if (tTesterOtherTask.getEvaluateScore() != null) {
                    temp += tTesterOtherTask.getEvaluateScore();
                }
            }
            tResultWorkEvaluateDetailEngineerVO5.setIntegral(temp);
            tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5);
@@ -580,4 +595,4 @@
        LocalDateTime firstEvaluateTime;
        LocalDateTime lastEvaluateTime;
    }
}
}
ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml
@@ -62,7 +62,9 @@
                    #{teamId}
                </foreach>
            </if>
            AND tfsr.status in (1,2,3)
            <if test="query.roleType != null and query.roleType == 2">
                AND tfsr.status in (1,2,3)
            </if>
            AND tfsr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tfsr.create_time DESC
@@ -147,6 +149,7 @@
                    #{teamId}
                </foreach>
            </if>
            and tfsr.status in (1,2,3,4)
            AND tfsr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
    </select>
ruoyi-system/src/main/resources/mapper/system/TQaProduceReportMapper.xml
@@ -129,6 +129,7 @@
                    #{teamId}
                </foreach>
            </if>
            AND tqpr.status in (1,2,3,4)
            AND tqpr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
    </select>