From 4afcd102fd49874b304ce1ef4ba506c77cc7c397 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 26 六月 2025 19:32:45 +0800 Subject: [PATCH] bug修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java | 32 ++++++++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestMethodConfirmSheetOriginalServiceImpl.java | 7 - ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java | 42 +++++++-- ruoyi-admin/src/main/resources/application-test.yml | 2 ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml | 6 + ruoyi-admin/src/main/resources/application-prod.yml | 2 ruoyi-system/src/main/java/com/ruoyi/system/query/TTestMethodConfirmSheetOriginalQuery.java | 8 ++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java | 79 +++++++++++++++++-- ruoyi-system/src/main/resources/mapper/system/TInspectionReportMapper.xml | 9 ++ ruoyi-system/src/main/java/com/ruoyi/system/query/TInspectionReportQuery.java | 10 ++ 11 files changed, 173 insertions(+), 26 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java index 28591ff..051bbab 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java @@ -71,6 +71,38 @@ @PostMapping(value = "/api/t-inspection-report/pageList") public R<PageInfo<TInspectionReportVO>> pageList(@RequestBody String param) { TInspectionReportQuery query = JSON.parseObject(param, TInspectionReportQuery.class); + // 获取当前用户 + Long userId = tokenService.getLoginUser().getUserId(); + Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); + query.setRoleType(roleType); + if (roleType != 1){ + query.setUserId(userId); + if(roleType ==2){ + // 查询项目组 + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); + // 查询项目的工艺工程师id + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeamStaff.getTeamId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + // 查询实验参与人员 + List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getUserId, teamStaff.getUserId())); + if(!CollectionUtils.isEmpty(experimentDispatchParticipants)){ + List<String> dispatchIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getDispatchId).distinct().collect(Collectors.toList()); + query.setDispatchIds(dispatchIds); + } + }else { + // 查询实验参与人员 + List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getUserId, userId)); + if (!CollectionUtils.isEmpty(experimentDispatchParticipants)) { + List<String> dispatchIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getDispatchId).distinct().collect(Collectors.toList()); + query.setDispatchIds(dispatchIds); + } + } + } return R.ok(inspectionReportService.pageList(query)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java index 993f6d0..c5df5ba 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java @@ -79,6 +79,8 @@ // 查询项目组id List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); query.setTeamIds(teamIds); + }else{ + return R.fail("当前用户未分配项目组,无法查看项目课题方案"); } } return R.ok(projectProposalService.pageList(query)); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java index a079a3d..e3a7333 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java @@ -123,18 +123,29 @@ public R<Boolean> add(@RequestBody String param) { TTestMethodConfirmSheetDTO dto = JSON.parseObject(param,TTestMethodConfirmSheetDTO.class); Long userId = tokenService.getLoginUser().getUserId(); - dto.setCommitUserId(userId); - testMethodConfirmSheetService.save(dto); - List<TTestMethodConfirmSheetTerm> testMethodConfirmSheetTerms = dto.getTestMethodConfirmSheetTerms(); - testMethodConfirmSheetTerms.forEach(testMethodConfirmSheetTerm -> { - testMethodConfirmSheetTerm.setTestId(dto.getId()); - testMethodConfirmSheetTerm.setStatus(1); - }); - testMethodConfirmSheetTermService.saveBatch(testMethodConfirmSheetTerms); - // 通过当前用户查询项目组 - TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) - .eq(TProjectTeamStaff::getUserId, userId) + + TExperimentDispatch experimentDispatch = experimentDispatchService.getOne(Wrappers.lambdaQuery(TExperimentDispatch.class) + .eq(TExperimentDispatch::getId, dto.getDispatchId())); + if(Objects.isNull(experimentDispatch)){ + return R.fail("实验调度不存在"); + } + + // 查询调度的参与人员 + TExperimentDispatchParticipants experimentDispatchParticipant = experimentDispatchParticipantsService.getOne(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getDispatchId, dto.getDispatchId()) + .eq(TExperimentDispatchParticipants::getRoleType,3) .last("LIMIT 1")); + if(Objects.isNull(experimentDispatchParticipant)){ + return R.fail("实验调度参与人员不存在"); + } + + // 查询工艺工程师所在的项目组 + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, experimentDispatchParticipant.getUserId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + + // 通过当前用户查询项目组 if(Objects.isNull(projectTeamStaff)){ return R.fail("当前用户未分配项目组,无法创建项目课题方案"); } @@ -146,6 +157,15 @@ if(projectTeam.getStatus() == 2){ return R.fail("项目组已封存,无法创建项目课题方案"); } + + dto.setCommitUserId(userId); + testMethodConfirmSheetService.save(dto); + List<TTestMethodConfirmSheetTerm> testMethodConfirmSheetTerms = dto.getTestMethodConfirmSheetTerms(); + testMethodConfirmSheetTerms.forEach(testMethodConfirmSheetTerm -> { + testMethodConfirmSheetTerm.setTestId(dto.getId()); + testMethodConfirmSheetTerm.setStatus(1); + }); + testMethodConfirmSheetTermService.saveBatch(testMethodConfirmSheetTerms); // 生成原始记录编号 String format = new SimpleDateFormat("yyyyMMdd").format(new Date()); String originalCode = projectTeam.getTeamName() + format.substring(2) + "-JL"; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java index 9a119aa..cc34412 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java @@ -10,22 +10,21 @@ import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.TTestMethodConfirmSheetOriginalDTO; import com.ruoyi.system.mapper.SysUserMapper; -import com.ruoyi.system.model.TTestMethodConfirmSheetOriginal; -import com.ruoyi.system.model.TTestMethodConfirmSheetOriginalData; -import com.ruoyi.system.model.TTestMethodConfirmSheetTerm; +import com.ruoyi.system.model.*; import com.ruoyi.system.query.TTestMethodConfirmSheetOriginalQuery; -import com.ruoyi.system.service.ISysUserService; -import com.ruoyi.system.service.TTestMethodConfirmSheetOriginalDataService; -import com.ruoyi.system.service.TTestMethodConfirmSheetOriginalService; -import com.ruoyi.system.service.TTestMethodConfirmSheetTermService; +import com.ruoyi.system.service.*; import com.ruoyi.system.vo.TTestMethodConfirmSheetOriginalVO; 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.CollectionUtils; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -46,14 +45,20 @@ private final TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService; private final TTestMethodConfirmSheetOriginalDataService testMethodConfirmSheetOriginalDataService; private final TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService; + private final TProjectTeamStaffService projectTeamStaffService; + private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService; + private final TInspectionReportService inspectionReportService; @Autowired - public TTestMethodConfirmSheetOriginalController(TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService, TTestMethodConfirmSheetOriginalDataService testMethodConfirmSheetOriginalDataService, TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService) { + public TTestMethodConfirmSheetOriginalController(TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService, TTestMethodConfirmSheetOriginalDataService testMethodConfirmSheetOriginalDataService, TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService, TProjectTeamStaffService projectTeamStaffService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TInspectionReportService inspectionReportService) { this.tokenService = tokenService; this.sysUserService = sysUserService; this.sysUserMapper = sysUserMapper; this.testMethodConfirmSheetOriginalService = testMethodConfirmSheetOriginalService; this.testMethodConfirmSheetOriginalDataService = testMethodConfirmSheetOriginalDataService; this.testMethodConfirmSheetTermService = testMethodConfirmSheetTermService; + this.projectTeamStaffService = projectTeamStaffService; + this.experimentDispatchParticipantsService = experimentDispatchParticipantsService; + this.inspectionReportService = inspectionReportService; } /** @@ -64,6 +69,64 @@ @PostMapping(value = "/api/t-test-method-confirm-sheet-original/pageList") public R<PageInfo<TTestMethodConfirmSheetOriginalVO>> pageList(@RequestBody String param) { TTestMethodConfirmSheetOriginalQuery query = JSON.parseObject(param, TTestMethodConfirmSheetOriginalQuery.class); + // 获取当前用户 + Long userId = tokenService.getLoginUser().getUserId(); + Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); + if (roleType != 1){ + query.setUserId(userId); + if(roleType ==2){ + // 查询项目组 + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); + // 查询项目的工艺工程师id + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeamStaff.getTeamId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + // 查询实验参与人员 + List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getUserId, teamStaff.getUserId())); + if(!CollectionUtils.isEmpty(experimentDispatchParticipants)){ + List<String> dispatchIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getDispatchId).distinct().collect(Collectors.toList()); + query.setDispatchIds(dispatchIds); + } + }else { + // 查询实验参与人员 + List<TExperimentDispatchParticipants> experimentDispatchParticipants = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getUserId, userId)); + if (!CollectionUtils.isEmpty(experimentDispatchParticipants)) { + List<String> dispatchIds = experimentDispatchParticipants.stream().map(TExperimentDispatchParticipants::getDispatchId).distinct().collect(Collectors.toList()); + query.setDispatchIds(dispatchIds); + } + } + if(roleType == 4){ + // 查询检验报告 + List<TInspectionReport> inspectionReports = inspectionReportService.list(Wrappers.lambdaQuery(TInspectionReport.class) + .eq(TInspectionReport::getStatus, 1)); + if (!CollectionUtils.isEmpty(inspectionReports)) { + List<String> dispatchIds = inspectionReports.stream().map(TInspectionReport::getDispatchId).distinct().collect(Collectors.toList()); + List<String> dispatchIds1 = query.getDispatchIds(); + Iterator<String> iterator = dispatchIds1.iterator(); + while (iterator.hasNext()) { + String next = iterator.next(); + if (!dispatchIds.contains(next)) { + iterator.remove(); + } + } + if(CollectionUtils.isEmpty(dispatchIds1)){ + List<String> id = new ArrayList<>(); + id.add("-1"); + query.setDispatchIds(id); + }else { + query.setDispatchIds(dispatchIds1); + } + }else { + List<String> id = new ArrayList<>(); + id.add("-1"); + query.setDispatchIds(id); + } + } + } return R.ok(testMethodConfirmSheetOriginalService.pageList(query)); } diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index b00292d..02bf461 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -197,7 +197,7 @@ location: /file/ qrLocation: /file/qrCode/ accessPath: /file/ - allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF + allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF|.xls|.xlsx|.rar|.zip|.rar url: prefix: https://xzgt.test.591taxi.cn:${server.port}${server.servlet.context-path} wx: diff --git a/ruoyi-admin/src/main/resources/application-test.yml b/ruoyi-admin/src/main/resources/application-test.yml index 29641c5..6a7428b 100644 --- a/ruoyi-admin/src/main/resources/application-test.yml +++ b/ruoyi-admin/src/main/resources/application-test.yml @@ -190,7 +190,7 @@ location: /file/ qrLocation: /file/qrCode/ accessPath: /file/ - allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF + allowExt: .jpg|.png|.gif|.jpeg|.doc|.docx|.apk|.MP4|.mp4|.pdf|.PDF|.xls|.xlsx|.rar|.zip|.rar url: # prefix: http://localhost:${server.port}${server.servlet.context-path} prefix: https://xzgt.test.591taxi.cn:${server.port}${server.servlet.context-path} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TInspectionReportQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TInspectionReportQuery.java index 41c0fc6..18d5340 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TInspectionReportQuery.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TInspectionReportQuery.java @@ -1,10 +1,11 @@ package com.ruoyi.system.query; -import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.common.core.domain.model.TimeRangeQueryBody; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + +import java.util.List; @Data @ApiModel(value = "检验报告查询参数query") @@ -23,4 +24,11 @@ private String createBy; @ApiModelProperty(value = "状态 -1=草稿箱 1=待提交 2=已提交") private Integer status; + @ApiModelProperty(value = "用户id 前端忽略") + private Long userId; + @ApiModelProperty(value = "用户类型 前端忽略") + private Integer roleType; + + @ApiModelProperty(value = "实验id 前端忽略") + private List<String> dispatchIds; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TTestMethodConfirmSheetOriginalQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TTestMethodConfirmSheetOriginalQuery.java index f1d8530..36bdf0c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TTestMethodConfirmSheetOriginalQuery.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TTestMethodConfirmSheetOriginalQuery.java @@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + @Data @ApiModel(value = "原始检测项查询对象query") public class TTestMethodConfirmSheetOriginalQuery extends TimeRangeQueryBody { @@ -22,5 +24,11 @@ @ApiModelProperty(value = "状态 -1=草稿箱 1=未填写 2=已填写") @TableField("status") private Integer status; + @ApiModelProperty(value = "用户id 前端忽略") + private Long userId; + @ApiModelProperty(value = "用户类型 前端忽略") + private Integer roleType; + @ApiModelProperty(value = "实验id 前端忽略") + private List<String> dispatchIds; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestMethodConfirmSheetOriginalServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestMethodConfirmSheetOriginalServiceImpl.java index 6c58ce5..5fcd56e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestMethodConfirmSheetOriginalServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestMethodConfirmSheetOriginalServiceImpl.java @@ -3,13 +3,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.mapper.TTestMethodConfirmSheetOriginalMapper; -import com.ruoyi.system.mapper.TTestMethodConfirmSheetTermMapper; import com.ruoyi.system.model.TTestMethodConfirmSheetOriginal; -import com.ruoyi.system.model.TTestMethodConfirmSheetTerm; import com.ruoyi.system.query.TTestMethodConfirmSheetOriginalQuery; import com.ruoyi.system.service.TTestMethodConfirmSheetOriginalService; -import com.ruoyi.system.service.TTestMethodConfirmSheetTermService; -import com.ruoyi.system.vo.TExperimentResultReportVO; import com.ruoyi.system.vo.TTestMethodConfirmSheetOriginalVO; import org.springframework.stereotype.Service; @@ -26,8 +22,11 @@ @Service public class TTestMethodConfirmSheetOriginalServiceImpl extends ServiceImpl<TTestMethodConfirmSheetOriginalMapper, TTestMethodConfirmSheetOriginal> implements TTestMethodConfirmSheetOriginalService { + + @Override public PageInfo<TTestMethodConfirmSheetOriginalVO> pageList(TTestMethodConfirmSheetOriginalQuery query) { + // PageInfo<TTestMethodConfirmSheetOriginalVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TTestMethodConfirmSheetOriginalVO> list = this.baseMapper.pageList(query,pageInfo); pageInfo.setRecords(list); diff --git a/ruoyi-system/src/main/resources/mapper/system/TInspectionReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TInspectionReportMapper.xml index b2a12d9..f0e6e0a 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TInspectionReportMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TInspectionReportMapper.xml @@ -43,6 +43,15 @@ <if test="query.status != null"> and tir.status = #{query.status} </if> + <if test="query.dispatchIds != null and query.dispatchIds.size() > 0"> + and tir.dispatch_id in + <foreach item="item" collection="query.dispatchIds" separator="," close=")" index="index" open="("> + #{item} + </foreach> + </if> + <if test="query.roleType != null and query.roleType == 4"> + and tir.status = 1 + </if> <if test="query.status == null"> and tir.status != -1 </if> diff --git a/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml index 745802d..5712da7 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml @@ -47,6 +47,12 @@ <if test="query.status != null"> and ttmcso.status = #{query.status} </if> + <if test="query.dispatchIds != null and query.dispatchIds.size() > 0"> + and ttmcs.dispatch_id in + <foreach item="item" collection="query.dispatchIds" separator="," close=")" index="index" open="("> + #{item} + </foreach> + </if> <if test="query.status == null"> and ttmcso.status != -1 </if> -- Gitblit v1.7.1