From 8586161442cbe058fae93bfd35a468485b9b505e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 30 六月 2025 21:15:46 +0800 Subject: [PATCH] bug修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java | 17 + ruoyi-admin/src/main/resources/application-test.yml | 2 ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml | 1 ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml | 1 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TResultWorkEvaluateController.java | 25 +- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java | 59 +++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetOriginalController.java | 62 +++- ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java | 16 + ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 4 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java | 31 ++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTestMethodConfirmSheetOriginalServiceImpl.java | 1 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java | 48 ++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java | 9 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 36 +- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentSchemeController.java | 30 ++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectApprovalReportController.java | 22 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java | 53 +++- ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml | 1 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java | 77 ++++++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java | 18 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java | 17 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java | 24 + ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 45 ++- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java | 3 26 files changed, 481 insertions(+), 125 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java index 97b6b14..9e99535 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java @@ -207,6 +207,15 @@ experimentDispatchTask.setDispatchId(dto.getId()); }); experimentDispatchTaskService.saveBatch(experimentDispatchTasks); + // MESSAGE 添加消息 + if(!dto.getStatus().equals(-1)){ + experimentDispatchParticipants.stream().filter(e->e.getRoleType().equals(4)).forEach(teamStaff -> { + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【实验调度】等待确认", tokenService.getLoginUser().getUser().getNickName(),11); + }); + experimentDispatchParticipants.stream().filter(e->e.getRoleType().equals(5)).forEach(teamStaff -> { + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【实验调度】等待确认", tokenService.getLoginUser().getUser().getNickName(),14); + }); + } return R.ok(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java index ccfb8e4..c1ce7f7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java @@ -192,6 +192,22 @@ // 修改实验结果工作评价 List<TResultWorkEvaluate> resultWorkEvaluates = dto.getResultWorkEvaluates(); resultWorkEvaluateService.saveOrUpdateBatch(resultWorkEvaluates); + // 获取当前用户的项目组id + Long userId = tokenService.getLoginUser().getUserId(); + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); + if(dto.getStatus() != -1){ + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 2) + .last("LIMIT 1")); + if(Objects.nonNull(teamStaff)){ + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【实验结果汇报】等待评定", tokenService.getLoginUser().getUser().getNickName(),3); + } + } return R.ok(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentSchemeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentSchemeController.java index 5fed8d8..2733629 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentSchemeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentSchemeController.java @@ -126,12 +126,30 @@ query.setRoleType(roleType); if (roleType != 1){ query.setUserId(userId); - // 查询实验参与人员 - 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 ==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(experimentSchemeService.auditPageList(query)); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java index e60b152..bb7e026 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java @@ -15,10 +15,7 @@ import com.ruoyi.system.dto.AuditStatusDTO; import com.ruoyi.system.dto.TFeasibilityStudyReportDTO; import com.ruoyi.system.mapper.SysUserMapper; -import com.ruoyi.system.model.TFeasibilityReportFile; -import com.ruoyi.system.model.TFeasibilityStudyReport; -import com.ruoyi.system.model.TProjectTeam; -import com.ruoyi.system.model.TProjectTeamStaff; +import com.ruoyi.system.model.*; import com.ruoyi.system.query.TFeasibilityStudyReportQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.TFeasibilityStudyReportVO; @@ -215,7 +212,24 @@ .eq(TProjectTeamStaff::getRoleType, 2) .last("LIMIT 1")); if(Objects.nonNull(teamStaff)){ - noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【可研报告】/【可行报告】/【工艺开发工具】/【验证与发布】/【立项报告库】等待审核", tokenService.getLoginUser().getUser().getNickName(),4); +// TFeasibilityStudyReport feasibilityStudyReport = feasibilityStudyReportService.getById(dto.getId()); + Integer reportType = dto.getReportType(); + switch (reportType) { + case 1: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【可研报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),4); + break; + case 2: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【可行报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),4); + break; + case 3: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【工艺开发工具】等待评定", tokenService.getLoginUser().getUser().getNickName(),4); + break; + case 4: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【验证与发布】等待评定", tokenService.getLoginUser().getUser().getNickName(),4); + break; + default: + break; + } } return R.ok(); @@ -258,6 +272,40 @@ } } feasibilityReportFileService.saveBatch(feasibilityReportFiles); + // 通过当前用户查询项目组 + Long userId = tokenService.getLoginUser().getUserId(); + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId) + .last("LIMIT 1")); + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); + if(dto.getStatus() != -1){ + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 2) + .last("LIMIT 1")); + if(Objects.nonNull(teamStaff)){ + TFeasibilityStudyReport feasibilityStudyReport = feasibilityStudyReportService.getById(dto.getId()); + Integer reportType = feasibilityStudyReport.getReportType(); + switch (reportType) { + case 1: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【可研报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),4); + break; + case 2: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【可行报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),4); + break; + case 3: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【工艺开发工具】等待评定", tokenService.getLoginUser().getUser().getNickName(),4); + break; + case 4: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【验证与发布】等待评定", tokenService.getLoginUser().getUser().getNickName(),4); + break; + default: + break; + } + } + } return R.ok(); } @@ -352,8 +400,23 @@ feasibilityStudyReport.setAuditTime(LocalDateTime.now()); feasibilityStudyReportService.updateById(feasibilityStudyReport); // MESSAGE 添加消息 - noticeService.saveNotice(userId, "您有【1】条【可研报告】/【可行报告】/【工艺开发工具】/【验证与发布】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); - + Integer reportType = feasibilityStudyReport.getReportType(); + switch (reportType) { + case 1: + noticeService.saveNotice(userId, "您有【1】条【可研报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + break; + case 2: + noticeService.saveNotice(userId, "您有【1】条【可行报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + break; + case 3: + noticeService.saveNotice(userId, "您有【1】条【工艺开发工具】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + break; + case 4: + noticeService.saveNotice(userId, "您有【1】条【验证与发布】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + break; + default: + break; + } return R.ok(); } 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 051bbab..f6b4b2d 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 @@ -144,6 +144,23 @@ public R<Boolean> update(@RequestBody String param) { TInspectionReportDTO dto = JSON.parseObject(param,TInspectionReportDTO.class); inspectionReportService.updateById(dto); + if(dto.getStatus() != -1){ + // 通过当前用户查询项目组 + Long userId = tokenService.getLoginUser().getUserId(); + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId) + .last("LIMIT 1")); + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + if(Objects.nonNull(teamStaff)){ + noticeService.saveNotice(teamStaff.getUserId(), "化验师已提交检验报告,请查收!", tokenService.getLoginUser().getUser().getNickName(),7); + } + } return R.ok(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java index bb7a2f7..0595c37 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java @@ -48,7 +48,8 @@ Long userId = tokenService.getLoginUser().getUserId(); List<TNotice> list = noticeService.list(Wrappers.lambdaQuery(TNotice.class) .eq(TNotice::getUserId, userId) - .eq(TNotice::getIsRead, 0)); + .eq(TNotice::getIsRead, 0) + .orderByDesc(TNotice::getCommitTime)); return R.ok(list); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectApprovalReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectApprovalReportController.java index 5e504d0..cd6d460 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectApprovalReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectApprovalReportController.java @@ -137,7 +137,7 @@ .eq(TProjectTeamStaff::getRoleType, 2) .last("LIMIT 1")); if(Objects.nonNull(teamStaff)){ - noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【可研报告】/【可行报告】/【工艺开发工具】/【验证与发布】/【立项报告库】等待审核", tokenService.getLoginUser().getUser().getNickName(),4); + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【立项报告库】等待审核", tokenService.getLoginUser().getUser().getNickName(),4); } return R.ok(); @@ -163,6 +163,22 @@ feasibilityReportFile.setReportType(FeasibilityReportFileEnum.PROJECT_PROPOSAL.getCode()); } feasibilityReportFileService.saveBatch(feasibilityReportFiles); + } + if(dto.getStatus() != -1){ + Long userId = tokenService.getLoginUser().getUserId(); + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId) + .last("LIMIT 1")); + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 2) + .last("LIMIT 1")); + if(Objects.nonNull(teamStaff)){ + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【立项报告库】等待审核", tokenService.getLoginUser().getUser().getNickName(),4); + } } return R.ok(); } @@ -249,6 +265,10 @@ projectApprovalReport.setAuditPersonId(userId); projectApprovalReport.setAuditTime(LocalDateTime.now()); projectApprovalReportService.updateById(projectApprovalReport); + + // MESSAGE 添加消息 + noticeService.saveNotice(userId, "您有【1】条【立项报告库】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + return R.ok(); } 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 294fb19..4953a2f 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 @@ -179,6 +179,23 @@ public R<Boolean> update(@RequestBody String param) { TProjectProposalDTO dto = JSON.parseObject(param,TProjectProposalDTO.class); projectProposalService.updateById(dto); + if(dto.getAuditStatus() != -1){ + // 通过当前用户查询项目组 + Long userId = tokenService.getLoginUser().getUserId(); + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId) + .last("LIMIT 1")); + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 2) + .last("LIMIT 1")); + if(Objects.nonNull(teamStaff)){ + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【项目课题方案】等待审批", tokenService.getLoginUser().getUser().getNickName(),1); + } + } return R.ok(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java index ffe8072..cb78b55 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java @@ -216,7 +216,20 @@ .eq(TProjectTeamStaff::getRoleType, 3) .last("LIMIT 1")); if(Objects.nonNull(teamStaff)){ - noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【项目检测项、检验包列表】/【中试、生产验证试验检验分析报告】/【原辅料、包材、竞品检验分析报告】/【产品报批及项目工作总结报告】等待审核", tokenService.getLoginUser().getUser().getNickName(),9); + Integer reportType = dto.getReportType(); + switch (reportType) { + case 1: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【中试、生产验证分析报告】等待审核", tokenService.getLoginUser().getUser().getNickName(),9); + break; + case 2: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【辅料报告】等待审核", tokenService.getLoginUser().getUser().getNickName(),9); + break; + case 3: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【产品报告】等待审核", tokenService.getLoginUser().getUser().getNickName(),9); + break; + default: + break; + } } return R.ok(); @@ -254,6 +267,35 @@ } } qaReportFileService.saveBatch(qaReportFiles); + + + if(dto.getStatus() != -1){ + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(dto.getTeamId()); + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + if(Objects.nonNull(teamStaff)){ + TQaProduceReport qaProduceReport = qaProduceReportService.getById(dto.getId()); + Integer reportType = qaProduceReport.getReportType(); + switch (reportType) { + case 1: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【中试、生产验证分析报告】等待审核", tokenService.getLoginUser().getUser().getNickName(),9); + break; + case 2: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【辅料报告】等待审核", tokenService.getLoginUser().getUser().getNickName(),9); + break; + case 3: + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【产品报告】等待审核", tokenService.getLoginUser().getUser().getNickName(),9); + break; + default: + break; + } + } + } + return R.ok(); } @@ -364,7 +406,20 @@ qaProduceReportService.updateById(qaProduceReport); // MESSAGE 添加消息 - noticeService.saveNotice(userId, "您有【1】条【项目检测项、检验包列表】/【中试、生产验证试验检验分析报告】/【原辅料、包材、竞品检验分析报告】/【产品报批及项目工作总结报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),10); + Integer reportType = qaProduceReport.getReportType(); + switch (reportType) { + case 1: + noticeService.saveNotice(userId, "您有【1】条【中试、生产验证分析报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + break; + case 2: + noticeService.saveNotice(userId, "您有【1】条【辅料报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + break; + case 3: + noticeService.saveNotice(userId, "您有【1】条【产品报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + break; + default: + break; + } return R.ok(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java index f7e0446..ceed43d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemController.java @@ -18,10 +18,7 @@ import com.ruoyi.system.model.TQaTestItem; import com.ruoyi.system.model.TQaTestItemReport; import com.ruoyi.system.query.TQaTestItemQuery; -import com.ruoyi.system.service.TProjectTeamService; -import com.ruoyi.system.service.TProjectTeamStaffService; -import com.ruoyi.system.service.TQaTestItemReportService; -import com.ruoyi.system.service.TQaTestItemService; +import com.ruoyi.system.service.*; import com.ruoyi.system.vo.TProjectTeamVO; import com.ruoyi.system.vo.TQaTestItemReportVO; import com.ruoyi.system.vo.TQaTestItemVO; @@ -56,14 +53,16 @@ private final TProjectTeamService projectTeamService; private final TProjectTeamStaffService projectTeamStaffService; private final SysUserMapper sysUserMapper; + private final TNoticeService noticeService; @Autowired - public TQaTestItemController(TQaTestItemService qaTestItemService, TQaTestItemReportService qaTestItemReportService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, SysUserMapper sysUserMapper) { + public TQaTestItemController(TQaTestItemService qaTestItemService, TQaTestItemReportService qaTestItemReportService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, SysUserMapper sysUserMapper, TNoticeService noticeService) { this.qaTestItemService = qaTestItemService; this.qaTestItemReportService = qaTestItemReportService; this.tokenService = tokenService; this.projectTeamService = projectTeamService; this.projectTeamStaffService = projectTeamStaffService; this.sysUserMapper = sysUserMapper; + this.noticeService = noticeService; } /** @@ -122,6 +121,16 @@ public R<Boolean> add(@RequestBody String param) { TQaTestItemDTO dto = JSON.parseObject(param,TQaTestItemDTO.class); qaTestItemService.save(dto); + + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(dto.getTeamId()); + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【项目检测项、检验包列表】等待审核", tokenService.getLoginUser().getUser().getNickName(),9); + return R.ok(); } @@ -135,6 +144,18 @@ public R<Boolean> update(@RequestBody String param) { TQaTestItemDTO dto = JSON.parseObject(param,TQaTestItemDTO.class); qaTestItemService.updateById(dto); + + if (dto.getStatus() != -1) { + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(dto.getTeamId()); + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【项目检测项、检验包列表】等待审核", tokenService.getLoginUser().getUser().getNickName(),9); + } + return R.ok(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java index a7f08cc..6d6797e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaTestItemReportController.java @@ -14,10 +14,7 @@ import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.AuditStatusDTO; import com.ruoyi.system.dto.TQaTestItemReportDTO; -import com.ruoyi.system.model.TProjectTeam; -import com.ruoyi.system.model.TProjectTeamStaff; -import com.ruoyi.system.model.TQaReportFile; -import com.ruoyi.system.model.TQaTestItemReport; +import com.ruoyi.system.model.*; import com.ruoyi.system.query.TQaTestItemReportQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.TQaTestItemReportVO; @@ -52,14 +49,18 @@ private final TProjectTeamService projectTeamService; private final TProjectTeamStaffService projectTeamStaffService; private final ISysUserService sysUserService; + private final TQaTestItemService qaTestItemService; + private final TNoticeService noticeService; @Autowired - public TQaTestItemReportController(TQaTestItemReportService qaTestItemReportService, TQaReportFileService qaReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService) { + public TQaTestItemReportController(TQaTestItemReportService qaTestItemReportService, TQaReportFileService qaReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService, TQaTestItemService qaTestItemService, TNoticeService noticeService) { this.qaTestItemReportService = qaTestItemReportService; this.qaReportFileService = qaReportFileService; this.tokenService = tokenService; this.projectTeamService = projectTeamService; this.projectTeamStaffService = projectTeamStaffService; this.sysUserService = sysUserService; + this.qaTestItemService = qaTestItemService; + this.noticeService = noticeService; } /** @@ -248,6 +249,19 @@ testItemReport.setAuditPersonId(userId); testItemReport.setAuditTime(LocalDateTime.now()); qaTestItemReportService.updateById(testItemReport); + + // 查询检测项 + TQaTestItem testItem = qaTestItemService.getById(testItemReport.getItemId()); + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(testItem.getTeamId()); + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【项目检测项、检验包列表】等待评定", tokenService.getLoginUser().getUser().getNickName(),5); + + return R.ok(); } 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 997f33c..5e45069 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 @@ -508,14 +508,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(); @@ -532,8 +534,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); // 工艺可行 @@ -869,6 +871,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); @@ -883,7 +886,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()); @@ -1241,7 +1244,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()); @@ -1274,7 +1277,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()); @@ -1574,8 +1577,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; @@ -1583,7 +1586,7 @@ temp += tTesterOtherTask.getEvaluateScore(); } tResultWorkEvaluateDetailEngineerVO5.setIntegral(temp); - tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO4); + tResultWorkEvaluateDetailEngineerVOS.add(tResultWorkEvaluateDetailEngineerVO5); tResultWorkEvaluateDetailUserVO.setList(tResultWorkEvaluateDetailEngineerVOS); tResultWorkEvaluateDetailUserVOS.add(tResultWorkEvaluateDetailUserVO); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java index 3db12d7..5b49d0e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java @@ -111,25 +111,42 @@ } } 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(); + // 查询当前用户所在的项目组 + List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); + if (!CollectionUtils.isEmpty(projectTeamStaffs)) { + List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); + List<TProjectProposal> projectProposals = projectProposalService.list(Wrappers.lambdaQuery(TProjectProposal.class) + .in(TProjectProposal::getTeamId, teamIds)); + if (!CollectionUtils.isEmpty(projectProposals)) { + List<String> projectIds = projectProposals.stream().map(TProjectProposal::getId).collect(Collectors.toList()); + List<TExperimentDispatch> experimentDispatches = experimentDispatchService.list(Wrappers.lambdaQuery(TExperimentDispatch.class) + .in(TExperimentDispatch::getProposalId, projectIds)); + if (!CollectionUtils.isEmpty(experimentDispatches)) { + List<String> dispatchIds2 = experimentDispatches.stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); + // 查询检验报告 + List<TInspectionReport> inspectionReports = inspectionReportService.list(Wrappers.lambdaQuery(TInspectionReport.class) + .eq(TInspectionReport::getStatus, 2) + .in(TInspectionReport::getDispatchId, dispatchIds2)); + 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); + // } + } } - } - if(CollectionUtils.isEmpty(dispatchIds1)){ - List<String> id = new ArrayList<>(); - id.add("-1"); - query.setDispatchIds(id); - }else { - query.setDispatchIds(dispatchIds1); } } } 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 b1c7cbc..66ca7de 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 @@ -205,6 +205,14 @@ public R<Boolean> update(@RequestBody String param) { TTestMethodConfirmSheetDTO dto = JSON.parseObject(param,TTestMethodConfirmSheetDTO.class); testMethodConfirmSheetService.updateById(dto); + List<TTestMethodConfirmSheetTerm> list = testMethodConfirmSheetTermService.list(Wrappers.lambdaQuery(TTestMethodConfirmSheetTerm.class) + .eq(TTestMethodConfirmSheetTerm::getTestId, dto.getId())); + if(!CollectionUtils.isEmpty(list)){ + List<String> termIds = list.stream().map(TTestMethodConfirmSheetTerm::getId).collect(Collectors.toList()); + // 删除原始检验记录 + testMethodConfirmSheetOriginalService.remove(Wrappers.lambdaQuery(TTestMethodConfirmSheetOriginal.class) + .in(TTestMethodConfirmSheetOriginal::getTermId, termIds)); + } testMethodConfirmSheetTermService.remove(Wrappers.lambdaQuery(TTestMethodConfirmSheetTerm.class).eq(TTestMethodConfirmSheetTerm::getTestId,dto.getId())); List<TTestMethodConfirmSheetTerm> testMethodConfirmSheetTerms = dto.getTestMethodConfirmSheetTerms(); testMethodConfirmSheetTerms.forEach(testMethodConfirmSheetTerm -> { @@ -212,6 +220,44 @@ testMethodConfirmSheetTerm.setStatus(1); }); testMethodConfirmSheetTermService.saveBatch(testMethodConfirmSheetTerms); + // 查询调度的参与人员 + TExperimentDispatchParticipants experimentDispatchParticipant = experimentDispatchParticipantsService.getOne(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class) + .eq(TExperimentDispatchParticipants::getDispatchId, dto.getDispatchId()) + .eq(TExperimentDispatchParticipants::getRoleType,3) + .last("LIMIT 1")); + // 查询工艺工程师所在的项目组 + TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, experimentDispatchParticipant.getUserId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + // 查询项目组 + TProjectTeam projectTeam = projectTeamService.getById(projectTeamStaff.getTeamId()); + // 生成原始记录编号 + String format = new SimpleDateFormat("yyyyMMdd").format(new Date()); + String originalCode = projectTeam.getTeamName() + format.substring(2) + "-JL"; + for (TTestMethodConfirmSheetTerm testMethodConfirmSheetTerm : testMethodConfirmSheetTerms) { + // 添加原始记录 + TTestMethodConfirmSheetOriginal testMethodConfirmSheetOriginal = new TTestMethodConfirmSheetOriginal(); + testMethodConfirmSheetOriginal.setTermId(testMethodConfirmSheetTerm.getId()); + // 查询上个项目课题方案的序号 + long count = testMethodConfirmSheetOriginalService.count(Wrappers.lambdaQuery(TTestMethodConfirmSheetOriginal.class) + .like(TTestMethodConfirmSheetOriginal::getOriginalCode, originalCode)); + originalCode = originalCode + String.format("%02d", count+1); + testMethodConfirmSheetOriginal.setOriginalCode(originalCode); + testMethodConfirmSheetOriginal.setStatus(1); + testMethodConfirmSheetOriginalService.save(testMethodConfirmSheetOriginal); + } + + if (dto.getAuditStatus() != -1){ + // MESSAGE 添加消息 + TProjectTeamStaff teamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getTeamId, projectTeam.getId()) + .eq(TProjectTeamStaff::getRoleType, 3) + .last("LIMIT 1")); + if(Objects.nonNull(teamStaff)){ + noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【检验方法确认单】等待审批", tokenService.getLoginUser().getUser().getNickName(),6); + } + } return R.ok(); } @@ -322,7 +368,7 @@ @PutMapping(value = "/open/t-test-method-confirm-sheet/revokedSheet") public R<Boolean> revokedSheet(@RequestParam String id) { TTestMethodConfirmSheet testMethodConfirmSheet = testMethodConfirmSheetService.getById(id); - testMethodConfirmSheet.setAuditStatus(QATestItemReportStatusEnum.REVOKED.getCode()); + testMethodConfirmSheet.setAuditStatus(QATestItemReportStatusEnum.DRAFTS.getCode()); testMethodConfirmSheetService.updateById(testMethodConfirmSheet); return R.ok(); } 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 7a77c60..99b35b9 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 @@ -21,7 +21,6 @@ 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; @@ -46,10 +45,13 @@ private final TTestMethodConfirmSheetOriginalDataService testMethodConfirmSheetOriginalDataService; private final TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService; private final TProjectTeamStaffService projectTeamStaffService; + private final TProjectTeamService projectTeamService; private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService; private final TInspectionReportService inspectionReportService; + private final TExperimentDispatchService experimentDispatchService; + private final TProjectProposalService projectProposalService; @Autowired - public TTestMethodConfirmSheetOriginalController(TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService, TTestMethodConfirmSheetOriginalDataService testMethodConfirmSheetOriginalDataService, TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService, TProjectTeamStaffService projectTeamStaffService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TInspectionReportService inspectionReportService) { + public TTestMethodConfirmSheetOriginalController(TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService, TTestMethodConfirmSheetOriginalDataService testMethodConfirmSheetOriginalDataService, TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService, TProjectTeamStaffService projectTeamStaffService, TProjectTeamService projectTeamService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TInspectionReportService inspectionReportService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService) { this.tokenService = tokenService; this.sysUserService = sysUserService; this.sysUserMapper = sysUserMapper; @@ -57,8 +59,11 @@ this.testMethodConfirmSheetOriginalDataService = testMethodConfirmSheetOriginalDataService; this.testMethodConfirmSheetTermService = testMethodConfirmSheetTermService; this.projectTeamStaffService = projectTeamStaffService; + this.projectTeamService = projectTeamService; this.experimentDispatchParticipantsService = experimentDispatchParticipantsService; this.inspectionReportService = inspectionReportService; + this.experimentDispatchService = experimentDispatchService; + this.projectProposalService = projectProposalService; } /** @@ -100,25 +105,42 @@ } } 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(); + // 查询当前用户所在的项目组 + List<TProjectTeamStaff> projectTeamStaffs = projectTeamStaffService.list(Wrappers.lambdaQuery(TProjectTeamStaff.class) + .eq(TProjectTeamStaff::getUserId, userId)); + if (!CollectionUtils.isEmpty(projectTeamStaffs)) { + List<String> teamIds = projectTeamStaffs.stream().map(TProjectTeamStaff::getTeamId).distinct().collect(Collectors.toList()); + List<TProjectProposal> projectProposals = projectProposalService.list(Wrappers.lambdaQuery(TProjectProposal.class) + .in(TProjectProposal::getTeamId, teamIds)); + if (!CollectionUtils.isEmpty(projectProposals)) { + List<String> projectIds = projectProposals.stream().map(TProjectProposal::getId).collect(Collectors.toList()); + List<TExperimentDispatch> experimentDispatches = experimentDispatchService.list(Wrappers.lambdaQuery(TExperimentDispatch.class) + .in(TExperimentDispatch::getProposalId, projectIds)); + if (!CollectionUtils.isEmpty(experimentDispatches)) { + List<String> dispatchIds2 = experimentDispatches.stream().map(TExperimentDispatch::getId).collect(Collectors.toList()); + // 查询检验报告 + List<TInspectionReport> inspectionReports = inspectionReportService.list(Wrappers.lambdaQuery(TInspectionReport.class) + .eq(TInspectionReport::getStatus, 2) + .in(TInspectionReport::getDispatchId, dispatchIds2)); + 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); + // } + } } - } - if(CollectionUtils.isEmpty(dispatchIds1)){ - List<String> id = new ArrayList<>(); - id.add("-1"); - query.setDispatchIds(id); - }else { - query.setDispatchIds(dispatchIds1); } } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index a9f2046..de52f90 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -1,16 +1,19 @@ package com.ruoyi.web.controller.system; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.TimeUnit; - -import com.ruoyi.common.core.domain.R; +import com.alibaba.fastjson.JSON; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysMenu; import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginBody; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.web.service.SysLoginService; +import com.ruoyi.framework.web.service.SysPermissionService; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.service.ISysMenuService; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.web.controller.tool.MsgUtils; import io.swagger.annotations.Api; @@ -19,15 +22,10 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysMenu; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginBody; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.framework.web.service.SysLoginService; -import com.ruoyi.framework.web.service.SysPermissionService; -import com.ruoyi.system.service.ISysMenuService; + +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; /** * 登录验证 @@ -58,13 +56,13 @@ /** * 账号密码登录 * - * @param loginBody 登录信息 * @return 结果 */ @ApiOperation(value = "账号密码登录",notes = "账号密码登录") - @PostMapping("/login") - public AjaxResult login(@RequestBody LoginBody loginBody) + @PostMapping("/api/login") + public AjaxResult login(@RequestBody String param) { + LoginBody loginBody = JSON.parseObject(param, LoginBody.class); AjaxResult ajax = AjaxResult.success(); // 生成令牌 LoginUser loginUser = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), diff --git a/ruoyi-admin/src/main/resources/application-test.yml b/ruoyi-admin/src/main/resources/application-test.yml index 6a7428b..19f275a 100644 --- a/ruoyi-admin/src/main/resources/application-test.yml +++ b/ruoyi-admin/src/main/resources/application-test.yml @@ -17,7 +17,7 @@ # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 8081 + port: 11221 servlet: # 应用的访问路径 context-path: / diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index eda9119..e3367b9 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -101,10 +101,6 @@ public AjaxResult loginCode(@RequestBody LoginBody loginBody) { AjaxResult ajax = AjaxResult.success(); - // 生成令牌 - LoginUserApplet loginUser = loginService.loginCodeApplet(loginBody.getUsername(), loginBody.getCode()); - ajax.put(Constants.TOKEN, tokenService.createTokenApplet(loginUser)); - ajax.put("userInfo",loginUser); return ajax; } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 4d14887..eccbdb4 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -113,7 +113,7 @@ // 对于登录login 注册register 验证码captchaImage 允许匿名访问 .antMatchers("/getPrivacyAgreement/{agreementType}", "/applet/queryProtocolConfigByType","/applet/login", - "/login","/applet/queryProtocolConfigByType", + "/api/login","/applet/queryProtocolConfigByType", "/register","/applet/getCode","/applet/loginCode", "/applet/changepwd", "/captchaImage","/getCode","/loginCode", "/operations/getBySingleNum/**", diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java index 4599d50..58eb82a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TClinicalTrialPoints.java @@ -51,7 +51,7 @@ @ApiModelProperty(value = "评定积分") @TableField("evaluate_score") - private Double evaluateScore; + private Integer evaluateScore; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index a310cf7..b4855e9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -1,17 +1,8 @@ package com.ruoyi.system.service.impl; -import java.util.*; -import java.util.stream.Collectors; - import com.ruoyi.common.basic.PageInfo; -import com.ruoyi.common.core.domain.entity.SysMenu; -import com.ruoyi.system.dto.SysRoleDTO; -import com.ruoyi.system.mapper.*; -import com.ruoyi.system.query.SysRoleQuery; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysMenu; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.exception.ServiceException; @@ -21,8 +12,16 @@ import com.ruoyi.system.domain.SysRoleDept; import com.ruoyi.system.domain.SysRoleMenu; import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.dto.SysRoleDTO; +import com.ruoyi.system.mapper.*; +import com.ruoyi.system.query.SysRoleQuery; import com.ruoyi.system.service.ISysRoleService; -import org.springframework.util.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; /** * 角色 业务层处理 @@ -517,19 +516,23 @@ public List<SysMenu> getMenuLevelList(List<Long> menusId) { //获取当前的权限菜单 List<SysMenu> all = menuMapper.getAllInIds(menusId); - // 第三级 - List<SysMenu> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList()); - // 第二级 - List<SysMenu> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList()); + List<SysMenu> collect4 = all.stream().filter(e -> e.getParentId() != null).collect(Collectors.toList()); // 第一级 List<SysMenu> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList()); - - for (SysMenu menu : s2) { - List<SysMenu> collect = s3.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList()); - menu.setChildren(collect); - } for (SysMenu menu : s1) { - List<SysMenu> collect = s2.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList()); + List<SysMenu> collect = collect4.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList()); + for (SysMenu sysMenu : collect) { + List<SysMenu> collect1 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu.getMenuId())).collect(Collectors.toList()); + for (SysMenu sysMenu1 : collect1) { + List<SysMenu> collect2 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu1.getMenuId())).collect(Collectors.toList()); + for (SysMenu sysMenu2 : collect2) { + List<SysMenu> collect3 = collect4.stream().filter(e -> e.getParentId().equals(sysMenu2.getMenuId())).collect(Collectors.toList()); + sysMenu2.setChildren(collect3); + } + sysMenu1.setChildren(collect2); + } + sysMenu.setChildren(collect1); + } menu.setChildren(collect); } return s1; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java index 0cc823d..a133a79 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQaProduceReportServiceImpl.java @@ -2,15 +2,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.TQaProduceReportMapper; import com.ruoyi.system.model.TQaProduceReport; import com.ruoyi.system.query.TQaProduceReportQuery; import com.ruoyi.system.service.TQaProduceReportService; import com.ruoyi.system.vo.TQaProduceReportVO; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -23,6 +28,9 @@ @Service public class TQaProduceReportServiceImpl extends ServiceImpl<TQaProduceReportMapper, TQaProduceReport> implements TQaProduceReportService { + @Autowired + private SysUserMapper sysUserMapper; + @Override public PageInfo<TQaProduceReportVO> pageList(TQaProduceReportQuery query) { PageInfo<TQaProduceReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); @@ -34,6 +42,16 @@ public PageInfo<TQaProduceReportVO> evaluateList(TQaProduceReportQuery query) { PageInfo<TQaProduceReportVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TQaProduceReportVO> list = this.baseMapper.evaluateList(query,pageInfo); + if (CollectionUtils.isEmpty(list)){ + return pageInfo; + } + List<Long> evaluatePersonIds = list.stream().map(TQaProduceReportVO::getEvaluatePersonId).collect(Collectors.toList()); + List<SysUser> sysUsers = sysUserMapper.selectUserByIds(evaluatePersonIds); + for (TQaProduceReportVO tQaProduceReportVO : list) { + sysUsers.stream().filter(sysUser -> sysUser.getUserId().equals(tQaProduceReportVO.getEvaluatePersonId())).forEach(sysUser -> { + tQaProduceReportVO.setEvaluatePersonName(sysUser.getNickName()); + }); + } pageInfo.setRecords(list); return pageInfo; } 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 5fcd56e..052b6cd 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 @@ -26,7 +26,6 @@ @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/TFeasibilityStudyReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml index 2fa9181..d9fc4ce 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TFeasibilityStudyReportMapper.xml @@ -62,6 +62,7 @@ #{teamId} </foreach> </if> + AND tfsr.status in (1,2,3) AND tfsr.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY tfsr.create_time DESC diff --git a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml index 054e636..a311bb6 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TQaTestItemReportMapper.xml @@ -31,6 +31,7 @@ <include refid="Base_Column_List" /> from t_qa_test_item_report where item_id = #{itemId} + AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} order by create_time desc </select> <select id="pageList" resultType="com.ruoyi.system.vo.TQaTestItemReportVO"> diff --git a/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml index 5712da7..a574ae6 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetOriginalMapper.xml @@ -59,6 +59,7 @@ <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> AND ttmcso.create_time BETWEEN #{query.startTime} AND #{query.endTime} </if> + AND ttmcso.status != -1 AND ttmcso.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY ttmcso.create_time DESC -- Gitblit v1.7.1