From 8f55b92a5a936d3358bb8a9f2fe67c697ba99be0 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 06 一月 2026 15:09:46 +0800
Subject: [PATCH] bug修改
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java | 148 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 127 insertions(+), 21 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
index 4074a98..0817e33 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java
@@ -11,8 +11,8 @@
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
-import com.ruoyi.system.dto.TQaTestItemDTO;
import com.ruoyi.system.dto.TResultWorkEvaluateDTO;
+import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.ResultEvaluateChemistTesterQuery;
import com.ruoyi.system.query.TProjectApprovalReportQuery;
@@ -21,6 +21,7 @@
import com.ruoyi.system.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@@ -28,6 +29,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -51,6 +53,8 @@
@Resource
private TExperimentResultReportService experimentResultReportService;
@Resource
+ private TExperimentSchemeService experimentSchemeService;
+ @Resource
private TProjectApprovalReportService projectApprovalReportService;
@Resource
private TExperimentDispatchService experimentDispatchService;
@@ -72,6 +76,8 @@
@Autowired
private ISysUserService sysUserService;
@Autowired
+ private SysUserMapper sysUserMapper;
+ @Autowired
private TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
/**
@@ -84,6 +90,7 @@
TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.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)
@@ -92,6 +99,9 @@
// 查询项目组id
List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList());
query.setTeamIds(teamIds);
+ }
+ if(roleType == 4){
+ query.setUserId(userId);
}
}
return R.ok(tResultWorkEvaluateService.chemistEvaluateList(query));
@@ -107,6 +117,7 @@
TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.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)
@@ -115,6 +126,9 @@
// 查询项目组id
List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList());
query.setTeamIds(teamIds);
+ }
+ if(roleType == 5){
+ query.setUserId(userId);
}
}
return R.ok(tResultWorkEvaluateService.testerEvaluateList(query));
@@ -125,13 +139,85 @@
*/
//@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:add')")
@Log(title = "实验结果工作评定管理-新增化验师、实验员工作评定", businessType = BusinessType.INSERT)
- @ApiOperation(value = "新增化验师、实验员工作评定", response = TQaTestItemDTO.class)
+ @ApiOperation(value = "新增化验师、实验员工作评定", response = TResultWorkEvaluateDTO.class)
@PostMapping(value = "/api/t-result-work-evaluate/add")
public R<Boolean> add(@RequestBody String param) {
TResultWorkEvaluateDTO dto = JSON.parseObject(param, TResultWorkEvaluateDTO.class);
-
tResultWorkEvaluateService.save(dto);
return R.ok();
+ }
+
+ /**
+ * 编辑化验师、实验员工作评定
+ */
+ //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:edit')")
+ @Log(title = "实验结果工作评定管理-编辑化验师、实验员工作评定", businessType = BusinessType.UPDATE)
+ @ApiOperation(value = "编辑化验师、实验员工作评定", response = TResultWorkEvaluateDTO.class)
+ @PostMapping(value = "/api/t-result-work-evaluate/edit")
+ public R<Boolean> edit(@RequestBody String param) {
+ TResultWorkEvaluateDTO dto = JSON.parseObject(param, TResultWorkEvaluateDTO.class);
+ tResultWorkEvaluateService.updateById(dto);
+ return R.ok();
+ }
+
+ /**
+ * 删除化验师、实验员工作评定
+ */
+ //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:delete')")
+ @Log(title = "实验结果工作评定管理-删除化验师、实验员工作评定", businessType = BusinessType.DELETE)
+ @ApiOperation(value = "删除化验师、实验员工作评定")
+ @DeleteMapping(value = "/open/t-result-work-evaluate/deleteById")
+ public R<Boolean> deleteById(@RequestParam String id) {
+ tResultWorkEvaluateService.removeById(id);
+ return R.ok();
+ }
+
+ /**
+ * 查看实验结果工作评定管理详情
+ */
+ //@PreAuthorize("@ss.hasPermi('system:testMethodConfirmSheet:detail')")
+ @ApiOperation(value = "查看实验结果工作评定管理详情")
+ @GetMapping(value = "/open/t-result-work-evaluate/getEvaluateDetailById")
+ public R<TResultWorkEvaluateVO> getEvaluateDetailById(@RequestParam String id) {
+
+ // 查询实验结果工作评定
+ TResultWorkEvaluate resultWorkEvaluate = tResultWorkEvaluateService.getById(id);
+
+ TResultWorkEvaluateVO tResultWorkEvaluateVO = new TResultWorkEvaluateVO();
+ BeanUtils.copyProperties(resultWorkEvaluate, tResultWorkEvaluateVO);
+
+ // 查询实验调度
+ TExperimentDispatch experimentDispatch = experimentDispatchService.getById(resultWorkEvaluate.getDispatchId());
+
+ // 查询实验调度信息
+ if(Objects.nonNull(experimentDispatch)){
+ // 查询课题方案名称
+ TProjectProposal projectProposal = projectProposalService.getById(experimentDispatch.getProposalId());
+ if(Objects.nonNull(projectProposal)){
+ experimentDispatch.setProjectName(projectProposal.getProjectName());
+ experimentDispatch.setProjectCode(projectProposal.getProjectCode());
+ }
+ // 查询参与人员
+ List<TExperimentDispatchParticipants> tExperimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
+ .eq(TExperimentDispatchParticipants::getDispatchId, experimentDispatch.getId()));
+ List<Long> userIds1 = tExperimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).distinct().collect(Collectors.toList());
+ List<SysUser> sysUsers1 = sysUserMapper.selectUserByIds(userIds1);
+ String participantsName = sysUsers1.stream().map(SysUser::getNickName).collect(Collectors.joining(";"));
+ experimentDispatch.setParticipantsName(participantsName);
+ }
+ tResultWorkEvaluateVO.setExperimentDispatch(experimentDispatch);
+
+ // 查询被评定人
+ SysUser sysUser = sysUserService.selectUserById(tResultWorkEvaluateVO.getUserId());
+ if(tResultWorkEvaluateVO.getEvaluateType() == 2){
+ // 化验师
+ tResultWorkEvaluateVO.setChemistName(sysUser.getNickName());
+ }else {
+ // 实验员
+ tResultWorkEvaluateVO.setTesterName(sysUser.getNickName());
+ }
+
+ return R.ok(tResultWorkEvaluateVO);
}
/**
@@ -150,7 +236,8 @@
List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(nickName,userIds);
return R.ok(sysUsers);
}
- return R.ok();
+ List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(null,userIds);
+ return R.ok(sysUsers);
}
/**
* 查询可评定的实验员
@@ -168,7 +255,8 @@
List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(nickName,userIds);
return R.ok(sysUsers);
}
- return R.ok();
+ List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(null,userIds);
+ return R.ok(sysUsers);
}
/**
@@ -207,11 +295,12 @@
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()
+ List<String> teamIds = projectTeamStaffService.lambdaQuery().eq(TProjectTeamStaff::getUserId, loginUser.getUser().getUserId()).list()
.stream().map(TProjectTeamStaff::getTeamId).collect(Collectors.toList());
- if (collect.isEmpty()) {
+ if (teamIds.isEmpty()) {
return R.ok(new PageInfo<>());
}
+ query.setTeamIds(teamIds);
}
return R.ok(tResultWorkEvaluateService.pageList(query));
}
@@ -228,7 +317,6 @@
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());
@@ -397,7 +485,6 @@
switch (evaluateSix) {
case 1:
temp1 -= 3;
- temp5++;
if (tResultWorkEvaluate.getEvaluateType() == 1) {
temp2 -= 3;
}
@@ -414,9 +501,25 @@
tResultWorkEvaluateDetailVO.setEngineerIntegral(temp2);
tResultWorkEvaluateDetailVO.setChemistIntegral(temp3);
tResultWorkEvaluateDetailVO.setTesterIntegral(temp4);
- tResultWorkEvaluateDetailVO.setTermination(temp5);
if (!list.isEmpty()) {
tResultWorkEvaluateDetailVO.setEndTime(list.get(0).getEvaluateTime());
+ }
+ // 查询项目组总的失败次数
+ String teamId = resultWorkEvaluate.getTeamId();
+ List<String> projectProposalIds = projectProposalService.lambdaQuery().eq(TProjectProposal::getTeamId, teamId).list()
+ .stream().map(TProjectProposal::getId).collect(Collectors.toList());
+ if (projectProposalIds.isEmpty()){
+ tResultWorkEvaluateDetailVO.setTermination(0);
+ }else{
+ List<String> experimentDispatchIds = experimentDispatchService.lambdaQuery().in(TExperimentDispatch::getProposalId, projectProposalIds).list()
+ .stream().map(TExperimentDispatch::getId).collect(Collectors.toList());
+ if (experimentDispatchIds.isEmpty()){
+ tResultWorkEvaluateDetailVO.setTermination(0);
+ }else{
+ Long count = experimentSchemeService.lambdaQuery().in(TExperimentScheme::getDispatchId, experimentDispatchIds)
+ .eq(TExperimentScheme::getStatus, 3).count();
+ tResultWorkEvaluateDetailVO.setTermination(count.intValue());
+ }
}
return R.ok(tResultWorkEvaluateDetailVO);
@@ -430,14 +533,16 @@
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")
+ 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 = one.getUserId();
-
+ Long userId = projectTeamStaff.getUserId();
+ Long auditUserId = projectTeamStaff1.getUserId();
List<TFeasibilityStudyReport> total = feasibilityStudyReportService.lambdaQuery()
.eq(TFeasibilityStudyReport::getStatus, 3)
- .eq(TFeasibilityStudyReport::getEvaluatePersonId, userId).list();
+ .eq(TFeasibilityStudyReport::getEvaluatePersonId, auditUserId).list();
List<TResultWorkEvaluateDetailEngineerVO> tResultWorkEvaluateDetailEngineerVOS = new ArrayList<>();
// 工艺可研
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO = new TResultWorkEvaluateDetailEngineerVO();
@@ -454,8 +559,8 @@
tResultWorkEvaluateDetailEngineerVO.setIntegral(tempDetail);
if (!collect.isEmpty()) {
tResultWorkEvaluateDetailEngineerVO.setEndTime(collect.get(collect.size() - 1).getEvaluateTime());
+ tResultWorkEvaluateDetailEngineerVO.setStartTime(projectTeam.getCreateTime());
}
- tResultWorkEvaluateDetailEngineerVO.setStartTime(projectTeam.getCreateTime());
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO);
// 工艺可行
@@ -791,6 +896,7 @@
tResultWorkEvaluateDetailEngineerVO8.setStartTime(list6.get(0).getCreateTime());
tResultWorkEvaluateDetailEngineerVO8.setEndTime(list6.get(list6.size() - 1).getCreateTime());
}
+ tResultWorkEvaluateDetailEngineerVO8.setIntegral(list6.get(0).getEvaluateScore());
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO8);
tResultWorkEvaluateDetailVO.setEngineerList(tResultWorkEvaluateDetailEngineerVOS);
return R.ok(tResultWorkEvaluateDetailVO);
@@ -805,7 +911,7 @@
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()
+ .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());
@@ -1163,7 +1269,7 @@
tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO6);
// 产品
TResultWorkEvaluateDetailEngineerVO tResultWorkEvaluateDetailEngineerVO7 = new TResultWorkEvaluateDetailEngineerVO();
- List<TQaProduceReport> collect9 = list.stream().filter(e -> e.getReportType() == 1).collect(Collectors.toList());
+ List<TQaProduceReport> collect9 = list.stream().filter(e -> e.getReportType() == 3).collect(Collectors.toList());
if (!collect9.isEmpty()) {
tResultWorkEvaluateDetailEngineerVO7.setStartTime(collect9.get(0).getEvaluateTime());
tResultWorkEvaluateDetailEngineerVO7.setEndTime(collect9.get(collect9.size() - 1).getEvaluateTime());
@@ -1196,7 +1302,7 @@
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()
+ .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());
@@ -1496,8 +1602,8 @@
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());
+ tResultWorkEvaluateDetailEngineerVO5.setStartTime(list.get(0).getCreateTime());
+ tResultWorkEvaluateDetailEngineerVO5.setEndTime(list.get(list.size() - 1).getCreateTime());
}
int temp = 0;
@@ -1505,7 +1611,7 @@
temp += tTesterOtherTask.getEvaluateScore();
}
tResultWorkEvaluateDetailEngineerVO5.setIntegral(temp);
- tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4);
+ tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5);
tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS);
tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO);
}
--
Gitblit v1.7.1