package com.ruoyi.web.controller.api;
|
|
|
import com.alibaba.fastjson.JSON;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.basic.PageInfo;
|
import com.ruoyi.common.core.domain.BaseModel;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
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.model.*;
|
import com.ruoyi.system.query.TQaTestItemReportQuery;
|
import com.ruoyi.system.query.TResultWorkEvaluateQuery;
|
import com.ruoyi.system.service.*;
|
import com.ruoyi.system.vo.*;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.models.auth.In;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Objects;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 实验结果工作评定 前端控制器
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2025-04-08
|
*/
|
@Api(tags = "实验结果工作评定管理")
|
@RestController
|
@RequestMapping("/t-result-work-evaluate")
|
public class TResultWorkEvaluateController {
|
@Resource
|
private TResultWorkEvaluateService tResultWorkEvaluateService;
|
@Resource
|
private TokenService tokenService;
|
@Resource
|
private TFeasibilityStudyReportService feasibilityStudyReportService;
|
@Resource
|
private TExperimentResultReportService experimentResultReportService;
|
@Resource
|
private TProjectApprovalReportService projectApprovalReportService;
|
@Resource
|
private TExperimentDispatchService experimentDispatchService;
|
@Resource
|
private TClinicalTrialPointsService clinicalTrialPointsService;
|
@Resource
|
private TTesterOtherTaskService tTesterOtherTaskService;
|
|
@Resource
|
private TProjectProposalService projectProposalService;
|
@Resource
|
private TQaProduceReportService qaProduceReportService;
|
@Resource
|
private TQaTestItemService qaTestItemService;
|
private final TProjectTeamService projectTeamService;
|
private final TProjectTeamStaffService projectTeamStaffService;
|
private final ISysUserService sysUserService;
|
|
@Autowired
|
public TResultWorkEvaluateController(TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService) {
|
this.projectTeamService = projectTeamService;
|
this.projectTeamStaffService = projectTeamStaffService;
|
this.sysUserService = sysUserService;
|
}
|
|
/**
|
* 添加QA检测项管理管理
|
*/
|
//@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:add')")
|
@Log(title = "QA检测项管理信息-新增QA检测项管理", businessType = BusinessType.INSERT)
|
@ApiOperation(value = "添加QA检测项管理", response = TQaTestItemDTO.class)
|
@PostMapping(value = "/api/t-qa-test-item/add")
|
public R<Boolean> add(@RequestBody String param) {
|
TQaTestItemDTO dto = JSON.parseObject(param, TQaTestItemDTO.class);
|
// resultWorkEvaluateService.save(dto);
|
return R.ok();
|
}
|
|
|
@ApiOperation(value = "项目组总积分分页列表", tags = "项目组总积分", response = TQaTestItemReportQuery.class)
|
@PostMapping(value = "/api/t-result-work-evaluate/pageList")
|
public R<PageInfo<TResultWorkEvaluateVO>> pageList(@RequestBody String param) {
|
LoginUser loginUser = tokenService.getLoginUser();
|
|
TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.class);
|
SysUser sysUser = sysUserService.selectUserById(loginUser.getUser().getUserId());
|
if (sysUser.getRoleType() != 1) {
|
List<String> collect = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, loginUser.getUser().getUserId()).list()
|
.stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
|
if (collect.isEmpty()) {
|
return R.ok(new PageInfo<>());
|
}
|
}
|
return R.ok(tResultWorkEvaluateService.pageList(query));
|
}
|
|
/**
|
* 查看取样记录详情
|
*/
|
//@PreAuthorize("@ss.hasPermi('system:samplingRecord:detail')")
|
@ApiOperation(value = "查看详情-顶部数据")
|
@GetMapping(value = "/open/t-result-work-evaluate/getDetailById")
|
public R<TResultWorkEvaluateDetailVO> getDetailById(@RequestParam String id) {
|
TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO();
|
|
TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id);
|
TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId());
|
tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime());
|
TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 3).last("limit 1").one();
|
List<Long> role4 = projectTeamStaffService.lambdaQuery()
|
.eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list()
|
.stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
|
List<Long> role5 = projectTeamStaffService.lambdaQuery()
|
.eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list()
|
.stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
|
List<SysUser> user4 = new ArrayList<>();
|
List<SysUser> user5 = new ArrayList<>();
|
for (Long l : role4) {
|
SysUser sysUser = sysUserService.selectUserById(l);
|
if (sysUser != null) {
|
user4.add(sysUser);
|
}
|
}
|
for (Long l : role5) {
|
SysUser sysUser = sysUserService.selectUserById(l);
|
if (sysUser != null) {
|
user5.add(sysUser);
|
}
|
}
|
List<TResultWorkEvaluate> list = tResultWorkEvaluateService.lambdaQuery().eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId())
|
.eq(TResultWorkEvaluate::getStatus, 1).orderByDesc(TResultWorkEvaluate::getEvaluateTime).list();
|
int temp1 = 0;
|
int temp2 = 0;
|
int temp3 = 0;
|
int temp4 = 0;
|
int temp5 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : list) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 2;
|
}
|
temp1 += 2;
|
break;
|
case 2:
|
temp1 += 1;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 1;
|
}
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
temp1 += 2;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 2;
|
}
|
break;
|
case 2:
|
temp1 += 1;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 1;
|
}
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
temp1 += 2;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 2;
|
}
|
break;
|
case 2:
|
temp1 += 1;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 1;
|
}
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
temp1 += 2;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 2;
|
}
|
break;
|
case 2:
|
temp1 += 1;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 1;
|
}
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
temp1 += 2;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 2;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 2;
|
}
|
break;
|
case 2:
|
temp1 += 1;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 += 1;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 += 1;
|
}
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
temp1 -= 3;
|
temp5++;
|
if (tResultWorkEvaluate.getEvaluateType() == 1) {
|
temp2 -= 3;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 2) {
|
temp3 -= 3;
|
}
|
if (tResultWorkEvaluate.getEvaluateType() == 3) {
|
temp4 -= 3;
|
}
|
break;
|
}
|
}
|
tResultWorkEvaluateDetailVO.setTeamIntegral(temp1);
|
tResultWorkEvaluateDetailVO.setEngineerIntegral(temp2);
|
tResultWorkEvaluateDetailVO.setChemistIntegral(temp3);
|
tResultWorkEvaluateDetailVO.setTesterIntegral(temp4);
|
tResultWorkEvaluateDetailVO.setTermination(temp5);
|
if (!list.isEmpty()) {
|
tResultWorkEvaluateDetailVO.setEndTime(list.get(0).getEvaluateTime());
|
}
|
|
return R.ok(tResultWorkEvaluateDetailVO);
|
}
|
|
|
@ApiOperation(value = "查看详情-左侧数据-工艺工程师工作内容评定")
|
@GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftOne")
|
public R<TResultWorkEvaluateDetailVO> getDetailByIdLeftOne(@RequestParam String id) {
|
TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO();
|
|
TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id);
|
TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId());
|
TProjectTeamStaff one = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).eq(TProjectTeamStaff::getRoleType, 3).last("limit 1")
|
.one();
|
tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime());
|
Long userId = one.getUserId();
|
|
List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery()
|
.eq(TFeasibilityStudyReport::getStatus, 3)
|
.eq(TFeasibilityStudyReport::getEvaluatePersonId, userId).list();
|
List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
|
// 工艺可研
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO = new TResultWorkEvaluateDetailEngineerVO();
|
List<TFeasibilityStudyReport> collect = total.stream().filter(e -> e.getReportType().equals(1)).collect(Collectors.toList());
|
int tempDetail = 0;
|
for (TFeasibilityStudyReport tFeasibilityStudyReport : collect) {
|
if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) {
|
for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
|
tempDetail += Integer.parseInt(s);
|
}
|
}
|
}
|
tResultWorkEvaluateDetailEngineerVO.setCount(collect.size());
|
tResultWorkEvaluateDetailEngineerVO.setIntegral(tempDetail);
|
if (!collect.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO.setEndTime(collect.get(collect.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVO.setStartTime(projectTeam.getCreateTime());
|
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO);
|
// 工艺可行
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO1 = new TResultWorkEvaluateDetailEngineerVO();
|
List<TFeasibilityStudyReport> collect1 = total.stream().filter(e -> e.getReportType().equals(2)).collect(Collectors.toList());
|
int tempDetail1 = 0;
|
for (TFeasibilityStudyReport tFeasibilityStudyReport : collect1) {
|
if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) {
|
for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
|
tempDetail1 += Integer.parseInt(s);
|
}
|
}
|
}
|
tResultWorkEvaluateDetailEngineerVO1.setCount(collect1.size());
|
tResultWorkEvaluateDetailEngineerVO1.setIntegral(tempDetail1);
|
if (!collect1.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO1.setStartTime(collect1.get(0).getEvaluateTime());
|
|
tResultWorkEvaluateDetailEngineerVO1.setEndTime(collect1.get(collect1.size() - 1).getEvaluateTime());
|
}
|
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO1);
|
|
// 开发阶段
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO();
|
List<Integer> status = new ArrayList<>();
|
status.add(-1);
|
status.add(1);
|
status.add(3);
|
status.add(4);
|
status.add(5);
|
List<TProjectProposal> list2 = projectProposalService.lambdaQuery().eq(TProjectProposal::getCommitUserId, userId)
|
.notIn(TProjectProposal::getAuditStatus, status).list();
|
List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList());
|
if (collect5.isEmpty()) {
|
collect5.add("0");
|
}
|
List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5)
|
.ne(TExperimentDispatch::getStatus, -1)
|
.ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
|
if (collect6.isEmpty()) {
|
collect6.add("0");
|
}
|
List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect6).list();
|
int tempDetail2 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : list1) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
|
tempDetail2 += 2;
|
break;
|
case 2:
|
tempDetail2 += 1;
|
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
tempDetail2 += 2;
|
break;
|
case 2:
|
tempDetail2 += 1;
|
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
tempDetail2 += 2;
|
|
break;
|
case 2:
|
tempDetail2 += 1;
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
tempDetail2 += 2;
|
|
break;
|
case 2:
|
tempDetail2 += 1;
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
tempDetail2 += 2;
|
|
break;
|
case 2:
|
tempDetail2 += 1;
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
tempDetail2 -= 3;
|
break;
|
}
|
}
|
if (!list1.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO2.setStartTime(list1.get(0).getEvaluateTime());
|
|
tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
|
}
|
|
tResultWorkEvaluateDetailEngineerVO2.setCount(list1.size());
|
tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2);
|
|
// 中试试验阶段
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO();
|
|
List<String> collect7 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList());
|
if (collect7.isEmpty()) {
|
collect7.add("0");
|
}
|
List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7)
|
.ne(TExperimentDispatch::getStatus, -1)
|
.ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
|
if (collect8.isEmpty()) {
|
collect8.add("0");
|
}
|
|
List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect8).list();
|
int tempDetail3 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
|
tempDetail3 += 2;
|
break;
|
case 2:
|
tempDetail3 += 1;
|
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
tempDetail3 += 2;
|
break;
|
case 2:
|
tempDetail3 += 1;
|
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
tempDetail3 += 2;
|
|
break;
|
case 2:
|
tempDetail3 += 1;
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
tempDetail3 += 2;
|
|
break;
|
case 2:
|
tempDetail3 += 1;
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
tempDetail3 += 2;
|
|
break;
|
case 2:
|
tempDetail3 += 1;
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
tempDetail3 -= 3;
|
break;
|
}
|
}
|
if (!list3.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size());
|
tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO3);
|
// 验证试验阶段
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO();
|
|
List<String> collect10 = list2.stream().filter(e -> e.getProjectStage().equals(2)).map(TProjectProposal::getId).collect(Collectors.toList());
|
if (collect10.isEmpty()) {
|
collect10.add("0");
|
}
|
List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10)
|
.ne(TExperimentDispatch::getStatus, -1)
|
.ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
|
if (collect11.isEmpty()) {
|
collect11.add("0");
|
}
|
List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list();
|
int tempDetail4 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : list4) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
|
tempDetail4 += 2;
|
break;
|
case 2:
|
tempDetail4 += 1;
|
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
tempDetail4 += 2;
|
break;
|
case 2:
|
tempDetail4 += 1;
|
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
tempDetail4 += 2;
|
|
break;
|
case 2:
|
tempDetail4 += 1;
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
tempDetail4 += 2;
|
|
break;
|
case 2:
|
tempDetail4 += 1;
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
tempDetail4 += 2;
|
|
break;
|
case 2:
|
tempDetail4 += 1;
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
tempDetail4 -= 3;
|
break;
|
}
|
}
|
if (!list4.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
|
tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
|
// 工艺开发工具
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
|
List<TFeasibilityStudyReport> collect12 = total.stream().filter(e -> e.getReportType().equals(3)).collect(Collectors.toList());
|
int tempDetail15 = 0;
|
for (TFeasibilityStudyReport tFeasibilityStudyReport : collect12) {
|
if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) {
|
for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
|
tempDetail15 += Integer.parseInt(s);
|
}
|
}
|
}
|
tResultWorkEvaluateDetailEngineerVO5.setCount(collect12.size());
|
tResultWorkEvaluateDetailEngineerVO5.setIntegral(tempDetail15);
|
if (!collect12.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO5.setStartTime(collect12.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect12.get(collect12.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5);
|
// 验证与发布
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO6 = new TResultWorkEvaluateDetailEngineerVO();
|
List<TFeasibilityStudyReport> collect13 = total.stream().filter(e -> e.getReportType().equals(3)).collect(Collectors.toList());
|
int tempDetail16 = 0;
|
for (TFeasibilityStudyReport tFeasibilityStudyReport : collect13) {
|
if (StringUtils.hasLength(tFeasibilityStudyReport.getEvaluateScore())) {
|
for (String s : tFeasibilityStudyReport.getEvaluateScore().split(",")) {
|
tempDetail16 += Integer.parseInt(s);
|
}
|
}
|
}
|
tResultWorkEvaluateDetailEngineerVO6.setCount(collect13.size());
|
tResultWorkEvaluateDetailEngineerVO6.setIntegral(tempDetail16);
|
if (!collect13.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO6.setStartTime(collect13.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect13.get(collect13.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO6);
|
// 立项报告
|
List<TProjectApprovalReport> list5 = projectApprovalReportService.lambdaQuery().orderByDesc(BaseModel::getCreateTime).eq(TProjectApprovalReport::getTeamId, projectTeam.getId()).eq(TProjectApprovalReport::getStatus, 2).list();
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO7 = new TResultWorkEvaluateDetailEngineerVO();
|
tResultWorkEvaluateDetailEngineerVO7.setCount(list5.size());
|
if (!list5.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO7.setStartTime(list5.get(0).getAuditTime());
|
tResultWorkEvaluateDetailEngineerVO7.setEndTime(list5.get(list5.size() - 1).getAuditTime());
|
}
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO7);
|
// 临床试验积分
|
List<TClinicalTrialPoints> list6 = clinicalTrialPointsService.lambdaQuery()
|
.eq(TClinicalTrialPoints::getProcessEngineerId, userId)
|
.eq(TClinicalTrialPoints::getTeamId, projectTeam.getId()).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());
|
}
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO8);
|
tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS);
|
return R.ok(tResultWorkEvaluateDetailVO);
|
}
|
|
@ApiOperation(value = "查看详情-左侧数据-化验师工作内容评定")
|
@GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftTwo")
|
public R<TResultWorkEvaluateDetailVO> getDetailByIdLeftTwo(@RequestParam String id) {
|
TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO();
|
List<TResultWorkEvaluateDetailUserVO> tResultWorkEvaluateDetailUserVOS = new ArrayList<>();
|
TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id);
|
TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId());
|
tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime());
|
List<Long> role5 = projectTeamStaffService.lambdaQuery()
|
.eq(TProjectTeamStaff::getRoleType, 5).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list()
|
.stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
|
List<SysUser> user5 = new ArrayList<>();
|
SysUser sysUser1 = sysUserService.selectUserById(tokenService.getLoginUser().getUserId());
|
if (sysUser1.getRoleType() == 4 || sysUser1.getRoleType() == 5) {
|
//只能查看自己的
|
user5.add(sysUser1);
|
} else {
|
for (Long l : role5) {
|
SysUser sysUser = sysUserService.selectUserById(l);
|
if (sysUser != null) {
|
user5.add(sysUser);
|
}
|
}
|
}
|
|
|
List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery()
|
.eq(TFeasibilityStudyReport::getStatus, 3)
|
.eq(TFeasibilityStudyReport::getTeamId, resultWorkEvaluate.getTeamId()).list();
|
List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
|
for (SysUser sysUser : user5) {
|
TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO();
|
tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName());
|
// 开发阶段
|
List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery()
|
.eq(TResultWorkEvaluate::getEvaluateType, 2)
|
.eq(TResultWorkEvaluate::getStatus, 1)
|
.eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
|
.eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list();
|
// 调度ids
|
List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList());
|
if (collect.isEmpty()) {
|
collect.add("0");
|
}
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO();
|
List<Integer> status = new ArrayList<>();
|
status.add(-1);
|
status.add(1);
|
status.add(3);
|
status.add(4);
|
status.add(5);
|
// 课题方案ids
|
List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect)
|
.ne(TExperimentDispatch::getStatus, -1)
|
.ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getProposalId).collect(Collectors.toList());
|
if (collect6.isEmpty()) {
|
collect6.add("0");
|
}
|
List<TProjectProposal> list2 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
|
.notIn(TProjectProposal::getAuditStatus, status).list();
|
List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList());
|
if (collect5.isEmpty()) {
|
collect5.add("0");
|
}
|
// 开发阶段调度ids
|
List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
|
if (collect1.isEmpty()) {
|
collect1.add("0");
|
}
|
List<TResultWorkEvaluate> collect2 = list1.stream().filter(e -> collect1.contains(e.getDispatchId())).collect(Collectors.toList());
|
int tempDetail2 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : collect2) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
|
tempDetail2 += 2;
|
break;
|
case 2:
|
tempDetail2 += 1;
|
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
tempDetail2 += 2;
|
break;
|
case 2:
|
tempDetail2 += 1;
|
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
tempDetail2 += 2;
|
|
break;
|
case 2:
|
tempDetail2 += 1;
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
tempDetail2 += 2;
|
|
break;
|
case 2:
|
tempDetail2 += 1;
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
tempDetail2 += 2;
|
|
break;
|
case 2:
|
tempDetail2 += 1;
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
tempDetail2 -= 3;
|
break;
|
}
|
}
|
if (!list1.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO2.setStartTime(list1.get(0).getEvaluateTime());
|
|
}
|
tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size());
|
tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2);
|
|
// 中试试验阶段
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO();
|
List<String> collect7 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
|
.eq(TProjectProposal::getProjectStage, 2)
|
.notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
|
if (collect7.isEmpty()) {
|
collect7.add("0");
|
}
|
List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7)
|
.ne(TExperimentDispatch::getStatus, -1)
|
.ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
|
if (collect8.isEmpty()) {
|
collect8.add("0");
|
}
|
List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery()
|
.eq(TResultWorkEvaluate::getStatus, 1).in(TResultWorkEvaluate::getDispatchId, collect8).list();
|
int tempDetail3 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
|
tempDetail3 += 2;
|
break;
|
case 2:
|
tempDetail3 += 1;
|
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
tempDetail3 += 2;
|
break;
|
case 2:
|
tempDetail3 += 1;
|
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
tempDetail3 += 2;
|
|
break;
|
case 2:
|
tempDetail3 += 1;
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
tempDetail3 += 2;
|
|
break;
|
case 2:
|
tempDetail3 += 1;
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
tempDetail3 += 2;
|
|
break;
|
case 2:
|
tempDetail3 += 1;
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
tempDetail3 -= 3;
|
break;
|
}
|
}
|
if (!list3.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size());
|
tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO3);
|
// 验证试验阶段
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO();
|
|
List<String> collect10 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
|
.eq(TProjectProposal::getProjectStage, 2)
|
.notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
|
if (collect10.isEmpty()) {
|
collect10.add("0");
|
}
|
List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10)
|
.ne(TExperimentDispatch::getStatus, -1)
|
.ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
|
if (collect11.isEmpty()) {
|
collect11.add("0");
|
}
|
List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list();
|
int tempDetail4 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : list4) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
|
tempDetail4 += 2;
|
break;
|
case 2:
|
tempDetail4 += 1;
|
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
tempDetail4 += 2;
|
break;
|
case 2:
|
tempDetail4 += 1;
|
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
tempDetail4 += 2;
|
|
break;
|
case 2:
|
tempDetail4 += 1;
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
tempDetail4 += 2;
|
|
break;
|
case 2:
|
tempDetail4 += 1;
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
tempDetail4 += 2;
|
|
break;
|
case 2:
|
tempDetail4 += 1;
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
tempDetail4 -= 3;
|
break;
|
}
|
}
|
if (!list4.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
|
tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
|
// 项目检测项评定
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO9 = new TResultWorkEvaluateDetailEngineerVO();
|
List<TQaTestItem> list5 = qaTestItemService.lambdaQuery()
|
.eq(TQaTestItem::getStatus,3).eq(TQaTestItem::getCommitPersonId, sysUser.getUserId()).list();
|
if (!list5.isEmpty()){
|
tResultWorkEvaluateDetailEngineerVO9.setStartTime(list5.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO9.setEndTime(list5.get(list5.size() - 1).getCreateTime());
|
}
|
int tempDetail9 = 0;
|
for (TQaTestItem tQaTestItem : list5) {
|
if (StringUtils.hasLength(tQaTestItem.getEvaluateScore())){
|
for (String s : tQaTestItem.getEvaluateScore().split(",")){
|
tempDetail9 += Integer.parseInt(s);
|
}
|
}
|
}
|
tResultWorkEvaluateDetailEngineerVO9.setCount(list5.size());
|
tResultWorkEvaluateDetailEngineerVO9.setIntegral(tempDetail9);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO9);
|
// 中试、生产验证试验检验分析报告评定
|
List<TQaProduceReport> list = qaProduceReportService.lambdaQuery()
|
.eq(TQaProduceReport::getStatus,3).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()) {
|
tResultWorkEvaluateDetailEngineerVO5.setStartTime(collect3.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO5.setEndTime(collect3.get(collect3.size() - 1).getEvaluateTime());
|
}
|
int tempDetail5 = 0;
|
for (TQaProduceReport tQaProduceReport : collect3) {
|
if (StringUtils.hasLength(tQaProduceReport.getEvaluateScore())){
|
for (String s : tQaProduceReport.getEvaluateScore().split(",")) {
|
tempDetail5+=Integer.parseInt(s);
|
}
|
}
|
}
|
tResultWorkEvaluateDetailEngineerVO5.setCount(collect3.size());
|
tResultWorkEvaluateDetailEngineerVO5.setIntegral(tempDetail5);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5);
|
// 辅料
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO6 = new TResultWorkEvaluateDetailEngineerVO();
|
List<TQaProduceReport> collect4 = list.stream().filter(e -> e.getReportType() == 2).collect(Collectors.toList());
|
if (!collect4.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO6.setStartTime(collect4.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO6.setEndTime(collect4.get(collect4.size() - 1).getEvaluateTime());
|
}
|
int tempDetail6 = 0;
|
for (TQaProduceReport tQaProduceReport : collect4) {
|
if (StringUtils.hasLength(tQaProduceReport.getEvaluateScore())){
|
for (String s : tQaProduceReport.getEvaluateScore().split(",")) {
|
tempDetail6+=Integer.parseInt(s);
|
}
|
}
|
}
|
tResultWorkEvaluateDetailEngineerVO6.setCount(collect4.size());
|
tResultWorkEvaluateDetailEngineerVO6.setIntegral(tempDetail6);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO6);
|
// 产品
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO7 = new TResultWorkEvaluateDetailEngineerVO();
|
List<TQaProduceReport> collect9 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList());
|
if (!collect9.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO7.setStartTime(collect9.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO7.setEndTime(collect9.get(collect9.size() - 1).getEvaluateTime());
|
}
|
int tempDetail7 = 0;
|
for (TQaProduceReport tQaProduceReport : collect9) {
|
if (StringUtils.hasLength(tQaProduceReport.getEvaluateScore())){
|
for (String s : tQaProduceReport.getEvaluateScore().split(",")) {
|
tempDetail7+=Integer.parseInt(s);
|
}
|
}
|
}
|
tResultWorkEvaluateDetailEngineerVO7.setCount(collect9.size());
|
tResultWorkEvaluateDetailEngineerVO7.setIntegral(tempDetail7);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO7);
|
|
tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS);
|
tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO);
|
}
|
tResultWorkEvaluateDetailVO.setChemistList(tResultWorkEvaluateDetailUserVOS);
|
return R.ok(tResultWorkEvaluateDetailVO);
|
}
|
|
@ApiOperation(value = "查看详情-左侧数据-实验员工作内容评定")
|
@GetMapping(value = "/open/t-result-work-evaluate/getDetailByIdLeftThree")
|
public R<TResultWorkEvaluateDetailVO> getDetailByIdLeftThree(@RequestParam String id) {
|
TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO();
|
List<TResultWorkEvaluateDetailUserVO> tResultWorkEvaluateDetailUserVOS = new ArrayList<>();
|
TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id);
|
TProjectTeam projectTeam = projectTeamService.getById(resultWorkEvaluate.getTeamId());
|
tResultWorkEvaluateDetailVO.setStartTime(projectTeam.getCreateTime());
|
List<Long> role5 = projectTeamStaffService.lambdaQuery()
|
.eq(TProjectTeamStaff::getRoleType, 4).eq(TProjectTeamStaff::getTeamId, resultWorkEvaluate.getTeamId()).list()
|
.stream().map(TProjectTeamStaff::getUserId).collect(Collectors.toList());
|
List<SysUser> user5 = new ArrayList<>();
|
SysUser sysUser1 = sysUserService.selectUserById(tokenService.getLoginUser().getUserId());
|
if (sysUser1.getRoleType() == 4 || sysUser1.getRoleType() == 5) {
|
//只能查看自己的
|
user5.add(sysUser1);
|
} else {
|
for (Long l : role5) {
|
SysUser sysUser = sysUserService.selectUserById(l);
|
if (sysUser != null) {
|
user5.add(sysUser);
|
}
|
}
|
}
|
|
List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
|
for (SysUser sysUser : user5) {
|
TResultWorkEvaluateDetailUserVO tResultWorkEvaluateDetailUserVO = new TResultWorkEvaluateDetailUserVO();
|
tResultWorkEvaluateDetailUserVO.setUserName(sysUser.getNickName());
|
// 开发阶段
|
List<TResultWorkEvaluate> list1 = tResultWorkEvaluateService.lambdaQuery()
|
.eq(TResultWorkEvaluate::getEvaluateType, 3)
|
.eq(TResultWorkEvaluate::getStatus, 1)
|
.eq(TResultWorkEvaluate::getUserId, sysUser.getUserId())
|
.eq(TResultWorkEvaluate::getTeamId, resultWorkEvaluate.getTeamId()).list();
|
// 调度ids
|
List<String> collect = list1.stream().map(TResultWorkEvaluate::getDispatchId).collect(Collectors.toList());
|
if (collect.isEmpty()) {
|
collect.add("0");
|
}
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO2 = new TResultWorkEvaluateDetailEngineerVO();
|
List<Integer> status = new ArrayList<>();
|
status.add(-1);
|
status.add(1);
|
status.add(3);
|
status.add(4);
|
status.add(5);
|
// 课题方案ids
|
List<String> collect6 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getId, collect)
|
.ne(TExperimentDispatch::getStatus, -1)
|
.ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getProposalId).collect(Collectors.toList());
|
if (collect6.isEmpty()) {
|
collect6.add("0");
|
}
|
List<TProjectProposal> list2 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
|
.notIn(TProjectProposal::getAuditStatus, status).list();
|
List<String> collect5 = list2.stream().filter(e -> e.getProjectStage().equals(1)).map(TProjectProposal::getId).collect(Collectors.toList());
|
if (collect5.isEmpty()) {
|
collect5.add("0");
|
}
|
// 开发阶段调度ids
|
List<String> collect1 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect5).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
|
if (collect1.isEmpty()) {
|
collect1.add("0");
|
}
|
List<TResultWorkEvaluate> collect2 = list1.stream().filter(e -> collect1.contains(e.getDispatchId())).collect(Collectors.toList());
|
int tempDetail2 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : collect2) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
|
tempDetail2 += 2;
|
break;
|
case 2:
|
tempDetail2 += 1;
|
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
tempDetail2 += 2;
|
break;
|
case 2:
|
tempDetail2 += 1;
|
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
tempDetail2 += 2;
|
|
break;
|
case 2:
|
tempDetail2 += 1;
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
tempDetail2 += 2;
|
|
break;
|
case 2:
|
tempDetail2 += 1;
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
tempDetail2 += 2;
|
|
break;
|
case 2:
|
tempDetail2 += 1;
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
|
tempDetail2 -= 3;
|
break;
|
}
|
}
|
if (!list1.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO2.setEndTime(list1.get(list1.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVO2.setStartTime(projectTeam.getCreateTime());
|
tResultWorkEvaluateDetailEngineerVO2.setCount(collect5.size());
|
tResultWorkEvaluateDetailEngineerVO2.setIntegral(tempDetail2);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO2);
|
|
// 中试试验阶段
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO3 = new TResultWorkEvaluateDetailEngineerVO();
|
List<String> collect7 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
|
.eq(TProjectProposal::getProjectStage, 2)
|
.notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
|
if (collect7.isEmpty()) {
|
collect7.add("0");
|
}
|
List<String> collect8 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect7)
|
.ne(TExperimentDispatch::getStatus, -1)
|
.ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
|
if (collect8.isEmpty()) {
|
collect8.add("0");
|
}
|
List<TResultWorkEvaluate> list3 = tResultWorkEvaluateService.lambdaQuery()
|
.eq(TResultWorkEvaluate::getStatus, 1).in(TResultWorkEvaluate::getDispatchId, collect8).list();
|
int tempDetail3 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : list3) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
|
tempDetail3 += 2;
|
break;
|
case 2:
|
tempDetail3 += 1;
|
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
tempDetail3 += 2;
|
break;
|
case 2:
|
tempDetail3 += 1;
|
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
tempDetail3 += 2;
|
|
break;
|
case 2:
|
tempDetail3 += 1;
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
tempDetail3 += 2;
|
|
break;
|
case 2:
|
tempDetail3 += 1;
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
tempDetail3 += 2;
|
|
break;
|
case 2:
|
tempDetail3 += 1;
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
tempDetail3 -= 3;
|
break;
|
}
|
}
|
if (!list3.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO3.setStartTime(list3.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO3.setEndTime(list3.get(list3.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVO3.setCount(list3.size());
|
tResultWorkEvaluateDetailEngineerVO3.setIntegral(tempDetail3);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO3);
|
// 验证试验阶段
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO4 = new TResultWorkEvaluateDetailEngineerVO();
|
|
List<String> collect10 = projectProposalService.lambdaQuery().in(TProjectProposal::getId, collect6)
|
.eq(TProjectProposal::getProjectStage, 2)
|
.notIn(TProjectProposal::getAuditStatus, status).list().stream().map(TProjectProposal::getId).collect(Collectors.toList());
|
if (collect10.isEmpty()) {
|
collect10.add("0");
|
}
|
List<String> collect11 = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, collect10)
|
.ne(TExperimentDispatch::getStatus, -1)
|
.ne(TExperimentDispatch::getStatus, 1).list().stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
|
if (collect11.isEmpty()) {
|
collect11.add("0");
|
}
|
List<TResultWorkEvaluate> list4 = tResultWorkEvaluateService.lambdaQuery().in(TResultWorkEvaluate::getDispatchId, collect11).list();
|
int tempDetail4 = 0;
|
for (TResultWorkEvaluate tResultWorkEvaluate : list4) {
|
Integer evaluateOne = tResultWorkEvaluate.getEvaluateOne();
|
switch (evaluateOne) {
|
case 1:
|
|
tempDetail4 += 2;
|
break;
|
case 2:
|
tempDetail4 += 1;
|
|
break;
|
|
}
|
Integer evaluateTwo = tResultWorkEvaluate.getEvaluateTwo();
|
switch (evaluateTwo) {
|
case 1:
|
tempDetail4 += 2;
|
break;
|
case 2:
|
tempDetail4 += 1;
|
|
break;
|
}
|
Integer evaluateThree = tResultWorkEvaluate.getEvaluateThree();
|
switch (evaluateThree) {
|
case 1:
|
tempDetail4 += 2;
|
|
break;
|
case 2:
|
tempDetail4 += 1;
|
break;
|
}
|
Integer evaluateFour = tResultWorkEvaluate.getEvaluateFour();
|
switch (evaluateFour) {
|
case 1:
|
tempDetail4 += 2;
|
|
break;
|
case 2:
|
tempDetail4 += 1;
|
break;
|
}
|
Integer evaluateFive = tResultWorkEvaluate.getEvaluateFive();
|
switch (evaluateFive) {
|
case 1:
|
tempDetail4 += 2;
|
|
break;
|
case 2:
|
tempDetail4 += 1;
|
break;
|
}
|
Integer evaluateSix = tResultWorkEvaluate.getEvaluateSix();
|
switch (evaluateSix) {
|
case 1:
|
tempDetail4 -= 3;
|
break;
|
}
|
}
|
if (!list4.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO4.setStartTime(list4.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO4.setEndTime(list4.get(list4.size() - 1).getEvaluateTime());
|
}
|
tResultWorkEvaluateDetailEngineerVO4.setCount(list4.size());
|
tResultWorkEvaluateDetailEngineerVO4.setIntegral(tempDetail4);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
|
// 其他任务
|
List<TTesterOtherTask> list = tTesterOtherTaskService.lambdaQuery().eq(TTesterOtherTask::getTesterId, sysUser.getUserId()).list();
|
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO5 = new TResultWorkEvaluateDetailEngineerVO();
|
tResultWorkEvaluateDetailEngineerVO5.setCount(list.size());
|
if (!list.isEmpty()) {
|
tResultWorkEvaluateDetailEngineerVO5.setStartTime(list.get(0).getEvaluateTime());
|
tResultWorkEvaluateDetailEngineerVO5.setEndTime(list.get(list.size() - 1).getEvaluateTime());
|
|
}
|
int temp = 0;
|
for (TTesterOtherTask tTesterOtherTask : list) {
|
temp += tTesterOtherTask.getEvaluateScore();
|
}
|
tResultWorkEvaluateDetailEngineerVO5.setIntegral(temp);
|
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
|
tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS);
|
tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO);
|
}
|
tResultWorkEvaluateDetailVO.setTesterList(tResultWorkEvaluateDetailUserVOS);
|
return R.ok(tResultWorkEvaluateDetailVO);
|
}
|
}
|