From b7ec3aff011f05e236e76be844540dbe776f7353 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 27 六月 2025 19:12:03 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java |  232 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 209 insertions(+), 23 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 a841048..997f33c 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,15 +11,16 @@
 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.TQaTestItemReportQuery;
+import com.ruoyi.system.query.ResultEvaluateChemistTesterQuery;
+import com.ruoyi.system.query.TProjectApprovalReportQuery;
 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;
@@ -41,7 +42,7 @@
  */
 @Api(tags = "实验结果工作评定管理")
 @RestController
-@RequestMapping("/t-result-work-evaluate")
+@RequestMapping("")
 public class TResultWorkEvaluateController {
     @Resource
     private TResultWorkEvaluateService tResultWorkEvaluateService;
@@ -66,32 +67,217 @@
     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;
+    private TProjectTeamService projectTeamService;
+    @Autowired
+    private TProjectTeamStaffService projectTeamStaffService;
+    @Autowired
+    private ISysUserService sysUserService;
+    @Autowired
+    private SysUserMapper sysUserMapper;
+    @Autowired
+    private TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
+
+    /**
+     * 获取化验师工作评定分页列表
+     */
+    //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:list')")
+    @ApiOperation(value = "获取化验师工作评定分页列表",response = TResultWorkEvaluateQuery.class)
+    @PostMapping(value = "/api/t-result-work-evaluate/chemistEvaluateList")
+    public R<PageInfo<TResultWorkEvaluateVO>> chemistEvaluateList(@RequestBody String param) {
+        TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.class);
+        Long userId = tokenService.getLoginUser().getUserId();
+        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
+        if(roleType != 1){
+            // 查询用户所在项目组
+            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                    .eq(TProjectTeamStaff::getUserId, userId));
+            if(projectTeamStaffs.size() > 0){
+                // 查询项目组id
+                List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList());
+                query.setTeamIds(teamIds);
+            }
+        }
+        return R.ok(tResultWorkEvaluateService.chemistEvaluateList(query));
     }
 
     /**
-     * 添加QA检测项管理管理
+     * 获取实验员工作评定分页列表
+     */
+    //@PreAuthorize("@ss.hasPermi('system:resultWorkEvaluate:list')")
+    @ApiOperation(value = "获取实验员工作评定分页列表",response = TProjectApprovalReportQuery.class)
+    @PostMapping(value = "/api/t-result-work-evaluate/testerEvaluateList")
+    public R<PageInfo<TResultWorkEvaluateVO>> testerEvaluateList(@RequestBody String param) {
+        TResultWorkEvaluateQuery query = JSON.parseObject(param, TResultWorkEvaluateQuery.class);
+        Long userId = tokenService.getLoginUser().getUserId();
+        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
+        if(roleType != 1){
+            // 查询用户所在项目组
+            List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class)
+                    .eq(TProjectTeamStaff::getUserId, userId));
+            if(projectTeamStaffs.size() > 0){
+                // 查询项目组id
+                List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList());
+                query.setTeamIds(teamIds);
+            }
+        }
+        return R.ok(tResultWorkEvaluateService.testerEvaluateList(query));
+    }
+
+    /**
+     * 新增化验师、实验员工作评定
      */
     //@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")
+    @Log(title = "实验结果工作评定管理-新增化验师、实验员工作评定", businessType = BusinessType.INSERT)
+    @ApiOperation(value = "新增化验师、实验员工作评定", response = TResultWorkEvaluateDTO.class)
+    @PostMapping(value = "/api/t-result-work-evaluate/add")
     public R<Boolean> add(@RequestBody String param) {
-        TQaTestItemDTO dto = JSON.parseObject(param, TQaTestItemDTO.class);
-//        resultWorkEvaluateService.save(dto);
+        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();
+    }
 
-    @ApiOperation(value = "项目组总积分分页列表", tags = "项目组总积分", response = TQaTestItemReportQuery.class)
+    /**
+     * 删除化验师、实验员工作评定
+     */
+    //@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);
+    }
+
+    /**
+     * 查询可评定的化验师
+     */
+    @ApiOperation(value = "查询可评定的化验师")
+    @GetMapping(value = "/open/t-result-work-evaluate/getEvaluateChemist")
+    public R<List<SysUser>> getEvaluateChemist(@RequestParam(value = "nickName",required = false) String nickName,
+                                         @RequestParam(value = "dispatchId") String dispatchId) {
+        // 查询参与的化验师
+        List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
+                .eq(TExperimentDispatchParticipants::getDispatchId, dispatchId)
+                .eq(TExperimentDispatchParticipants::getRoleType, 4));
+        List<Long> userIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).distinct().collect(Collectors.toList());
+        if(StringUtils.hasLength(nickName)){
+            List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(nickName,userIds);
+            return R.ok(sysUsers);
+        }
+        List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(null,userIds);
+        return R.ok(sysUsers);
+    }
+    /**
+     * 查询可评定的实验员
+     */
+    @ApiOperation(value = "查询可评定的实验员")
+    @GetMapping(value = "/open/t-result-work-evaluate/getEvaluateTester")
+    public R<List<SysUser>> getEvaluateTester(@RequestParam(value = "nickName",required = false) String nickName,
+                                               @RequestParam(value = "dispatchId") String dispatchId) {
+        // 查询参与的化验师
+        List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
+                .eq(TExperimentDispatchParticipants::getDispatchId, dispatchId)
+                .eq(TExperimentDispatchParticipants::getRoleType, 5));
+        List<Long> userIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getUserId).distinct().collect(Collectors.toList());
+        if(StringUtils.hasLength(nickName)){
+            List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(nickName,userIds);
+            return R.ok(sysUsers);
+        }
+        List<SysUser> sysUsers = sysUserService.selectListByNameAndUserIds(null,userIds);
+        return R.ok(sysUsers);
+    }
+
+    /**
+     * 查询化验师评定列表
+     */
+    @ApiOperation(value = "查询化验师评定列表-化验师使用")
+    @PostMapping(value = "/api/t-result-work-evaluate/getEvaluateChemistPageList")
+    public R<PageInfo<ResultEvaluateChemistTesterVO>> getEvaluateChemistPageList(@RequestBody String param) {
+        ResultEvaluateChemistTesterQuery query = JSON.parseObject(param, ResultEvaluateChemistTesterQuery.class);
+        // 获取当前用户id
+        Long userId = tokenService.getLoginUser().getUserId();
+        query.setUserId(userId);
+        PageInfo<ResultEvaluateChemistTesterVO> pageInfo = tResultWorkEvaluateService.getEvaluateChemistPageList(query);
+        return R.ok(pageInfo);
+    }
+    /**
+     * 查询实验员评定列表
+     */
+    @ApiOperation(value = "查询实验员评定列表-实验员使用")
+    @PostMapping(value = "/api/t-result-work-evaluate/getEvaluateTesterPageList")
+    public R<PageInfo<ResultEvaluateChemistTesterVO>> getEvaluateTesterPageList(@RequestBody String param) {
+        ResultEvaluateChemistTesterQuery query = JSON.parseObject(param, ResultEvaluateChemistTesterQuery.class);
+        // 获取当前用户id
+        Long userId = tokenService.getLoginUser().getUserId();
+        query.setUserId(userId);
+        PageInfo<ResultEvaluateChemistTesterVO> pageInfo = tResultWorkEvaluateService.getEvaluateTesterPageList(query);
+        return R.ok(pageInfo);
+    }
+
+
+    @ApiOperation(value = "项目组总积分分页列表", tags = "项目组总积分", response = TResultWorkEvaluateQuery.class)
     @PostMapping(value = "/api/t-result-work-evaluate/pageList")
     public R<PageInfo<TResultWorkEvaluateVO>> pageList(@RequestBody String param) {
         LoginUser loginUser = tokenService.getLoginUser();
@@ -99,11 +285,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));
     }
@@ -112,7 +299,7 @@
      * 查看取样记录详情
      */
     //@PreAuthorize("@ss.hasPermi('system:samplingRecord:detail')")
-    @ApiOperation(value = "查看详情-顶部数据")
+    @ApiOperation(value = "查看详情-顶部数据",response = TResultWorkEvaluateVO.class)
     @GetMapping(value = "/open/t-result-work-evaluate/getDetailById")
     public R<TResultWorkEvaluateDetailVO> getDetailById(@RequestParam String id) {
         TResultWorkEvaluateDetailVO tResultWorkEvaluateDetailVO = new TResultWorkEvaluateDetailVO();
@@ -120,7 +307,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());

--
Gitblit v1.7.1