puzhibing
6 天以前 082bddee7df8a05ca95f473ec2643701d41a5213
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TStrainReportController.java
@@ -16,20 +16,14 @@
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.TStrainReportProjectQuery;
import com.ruoyi.system.query.TStrainReportQuery;
import com.ruoyi.system.query.TTrainLibraryDetailQuery;
import com.ruoyi.system.query.TTrainLibraryQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.*;
import com.tencentcloudapi.tcaplusdb.v20190823.models.IdlFileInfo;
import io.swagger.annotations.ApiOperation;
import jdk.nashorn.internal.parser.Token;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.sql.Array;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -202,7 +196,8 @@
        LoginUser loginUser = tokenService.getLoginUser();
        SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId());
        List<TStrainReport> tStrainReports = strainReportService.list(new LambdaQueryWrapper<TStrainReport>()
                .eq(TStrainReport::getStatus,3).eq(TStrainReport::getProjectId,id));
                .eq(TStrainReport::getStatus,3).eq(TStrainReport::getProjectId,id)
                .orderByDesc(TStrainReport::getEvaluateTime));
        List<String> strainReportIds = tStrainReports.stream().map(TStrainReport::getId).collect(Collectors.toList());
        if (strainReportIds.isEmpty())strainReportIds.add("0");
        List<TStrainReportDetail> tStrainReportDetails = strainReportDetailService
@@ -258,12 +253,15 @@
        }
        tStrainReportDetailVO.setStartTime(project.getCreateTime());
        TProjectTeamStaff projectTeamStaff = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, project.getId())
                .eq(TProjectTeamStaff::getRoleType, 2).one();
                .eq(TProjectTeamStaff::getRoleType, 2).last("limit 1").one();
        List<TStrainReportDetailExperimentVO> tStrainReportDetailExperimentVOS = new ArrayList<>();
        if (sysUser.getRoleType().equals("4")){
            TStrainReportDetailExperimentVO tStrainReportDetailExperimentVO = new TStrainReportDetailExperimentVO();
            tStrainReportDetailExperimentVO.setUserName(sysUser.getNickName());
            tStrainReportDetailExperimentVO.setHandleCount((int) tStrainReportDetails.stream().filter(e -> e.getExperimentId()!=null&&e.getExperimentId().equals(sysUser.getUserId() + "")).count());
            tStrainReportDetailExperimentVO.setHandleCount((int) tStrainReportDetails.stream()
                    .filter(e -> e.getEvaluateHumanType().equals(1) && e.getReportType() == 1
                            && e.getExperimentId()!=null && e.getExperimentId().equals(sysUser.getUserId() + ""))
                    .count());
            BigDecimal handleIntegral = tStrainReportDetails.stream()
                    .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"")
                            &&e.getReportType()==1)
@@ -272,9 +270,12 @@
                    .orElse(BigDecimal.ZERO);
            tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral);
            List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId() + "")).collect(Collectors.toList());
            List<TStrainReportDetail> strainReportDetails = tStrainReportDetails.stream()
                    .filter(e -> e.getEvaluateHumanType().equals(1) && e.getReportType() == 1
                            && e.getExperimentId().equals(sysUser.getUserId() + ""))
                    .collect(Collectors.toList());
            if (!strainReportDetails.isEmpty()){
                tStrainReportDetailExperimentVO.setHandleEndTime(strainReportDetails.get(strainReportDetails.size()-1).getCreateTime());
                tStrainReportDetailExperimentVO.setHandleEndTime(strainReportDetails.get(0).getCreateTime());
            }
            tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime());
            tStrainReportDetailExperimentVOS.add(tStrainReportDetailExperimentVO);
@@ -305,14 +306,18 @@
                    tStrainReportDetailExperimentVO.setUserName(sysUserService.selectUserById(Long.valueOf(tStrainReportDetail.getExperimentId())).getNickName());
                    tStrainReportDetailExperimentVO.setHandleCount((int) collect.stream().filter(e -> e.getExperimentId().equals(tStrainReportDetail.getExperimentId())).count());
                    BigDecimal handleIntegral = collect.stream()
                            .filter(e -> e.getEvaluateHumanType().equals(1)&&e.getExperimentId().equals(sysUser.getUserId()+"") &&e.getReportType()==1)
                            .filter(e -> e.getEvaluateHumanType().equals(1)
                                    && e.getExperimentId().equals(tStrainReportDetail.getExperimentId())
                                    && e.getReportType()==1)
                            .map(TStrainReportDetail::getEvaluateTotal)
                            .reduce(BigDecimal::add)
                            .orElse(BigDecimal.ZERO);
                    tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral);
                    List<TStrainReportDetail> reportDetails = collect.stream().filter(e -> e.getExperimentId().equals(sysUser.getUserId()+"")).collect(Collectors.toList());
                    List<TStrainReportDetail> reportDetails = collect.stream()
                            .filter(e -> e.getExperimentId().equals(tStrainReportDetail.getExperimentId()))
                            .collect(Collectors.toList());
                    if (!reportDetails.isEmpty()){
                        tStrainReportDetailExperimentVO.setHandleEndTime(reportDetails.get(reportDetails.size()-1).getCreateTime());
                        tStrainReportDetailExperimentVO.setHandleEndTime(reportDetails.get(0).getCreateTime());
                    }
                    tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime());
                    tStrainReportDetailExperimentVOS1.add(tStrainReportDetailExperimentVO);
@@ -327,7 +332,7 @@
                tStrainReportDetailEngineerVO.setInnovateIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
                List<TStrainReportDetail> tStrainReportDetails1 = reportDetails.stream().filter(e ->e.getEvaluateType()!=null&& e.getEvaluateType().equals(1)).collect(Collectors.toList());
                if (!tStrainReportDetails1.isEmpty()){
                    tStrainReportDetailEngineerVO.setInnovateEndTime(tStrainReportDetails1.get(tStrainReportDetails1.size()-1).getCreateTime());
                    tStrainReportDetailEngineerVO.setInnovateEndTime(tStrainReportDetails1.get(0).getCreateTime());
                }
                tStrainReportDetailEngineerVO.setInnovateStartTime(project.getCreateTime());
@@ -335,7 +340,7 @@
                tStrainReportDetailEngineerVO.setRegulationIntegral(reportDetails.stream().filter(e->e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
                List<TStrainReportDetail> collect4 = reportDetails.stream().filter(e -> e.getEvaluateType()!=null&&e.getEvaluateType().equals(2)).collect(Collectors.toList());
                if (!collect4.isEmpty()){
                    tStrainReportDetailEngineerVO.setRegulationEndTime(collect4.get(collect4.size()-1).getCreateTime());
                    tStrainReportDetailEngineerVO.setRegulationEndTime(collect4.get(0).getCreateTime());
                }
                tStrainReportDetailEngineerVO.setRegulationStartTime(project.getCreateTime());
@@ -343,7 +348,7 @@
                tStrainReportDetailEngineerVO.setHandleIntegral(reportDetails.stream().filter(e->e.getReportType().equals(1)).map(TStrainReportDetail::getEvaluateTotal).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
                List<TStrainReportDetail> reportDetailList = reportDetails.stream().filter(e->e.getReportType().equals(1)).collect(Collectors.toList());
                if (!reportDetailList.isEmpty()){
                    tStrainReportDetailEngineerVO.setHandleEndTime(reportDetailList.get(reportDetailList.size()-1).getCreateTime());
                    tStrainReportDetailEngineerVO.setHandleEndTime(reportDetailList.get(0).getCreateTime());
                }
                tStrainReportDetailEngineerVO.setHandleStartTime(project.getCreateTime());
@@ -356,7 +361,9 @@
                        .map(TStrainReportDetail::getExperimentId)
                        .distinct()
                        .collect(Collectors.toList());
                List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream().filter(e -> e.getEvaluateHumanType().equals(1)).collect(Collectors.toList());
                List<TStrainReportDetail> tStrainReportDetails2 = tStrainReportDetails.stream()
                        .filter(e -> e.getEvaluateHumanType().equals(1) && e.getReportType() == 1)
                        .collect(Collectors.toList());
                for (String experimentId : experimentIds) {
                    List<TStrainReportDetail> details = tStrainReportDetails2.stream().filter(e -> e.getExperimentId().equals(experimentId)).collect(Collectors.toList());
@@ -371,8 +378,8 @@
                            .reduce(BigDecimal::add)
                            .orElse(BigDecimal.ZERO);
                    tStrainReportDetailExperimentVO.setHandleIntegral(handleIntegral);
                    if (!tStrainReportDetails2.isEmpty()){
                        tStrainReportDetailExperimentVO.setHandleEndTime(details.get(details.size()-1).getCreateTime());
                    if (!details.isEmpty()){
                        tStrainReportDetailExperimentVO.setHandleEndTime(details.get(0).getCreateTime());
                    }
                    tStrainReportDetailExperimentVO.setHandleStartTime(project.getCreateTime());
                    tStrainReportDetailExperimentVOS1.add(tStrainReportDetailExperimentVO);
@@ -590,6 +597,9 @@
    public R<TStrainReportDetailVO> detail(@RequestParam String id) {
        TStrainReportDetailVO tStrainReportDetailVO = new TStrainReportDetailVO();
        TStrainReport strainReport = strainReportService.getById(id);
        if (strainReport == null) {
            return R.fail("报告不存在或已删除");
        }
        if (strainReport.getAuditId()!=null){
            SysUser sysUser = sysUserService.selectUserById(Long.valueOf(strainReport.getAuditId()));
            if (sysUser!=null){