From a069a12647ab551281091efb0f066163d1c8c156 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 02 六月 2025 17:36:30 +0800
Subject: [PATCH] 首页待办事项
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java | 29 ++
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java | 32 +++
ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectProposalQuery.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java | 17 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java | 18 +
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 10
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java | 16 +
ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java | 10
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java | 16 +
ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java | 10
ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectTeamStaff.java | 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java | 23 ++
ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java | 25 ++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java | 13 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentSchemeController.java | 39 ++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectApprovalReportController.java | 19 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java | 37 +++
ruoyi-system/src/main/resources/mapper/system/TProjectProposalMapper.xml | 11 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java | 17 +
ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml | 21 ++
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java | 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java | 69 +++++++
ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java | 72 ++++++++
ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetMapper.xml | 5
24 files changed, 475 insertions(+), 43 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 76952f5..b406316 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
@@ -51,8 +51,9 @@
private final TProjectTeamService projectTeamService;
private final TProjectTeamStaffService projectTeamStaffService;
private final TProjectProposalService projectProposalService;
+ private final TNoticeService noticeService;
@Autowired
- public TExperimentDispatchController(TExperimentDispatchService experimentDispatchService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TExperimentDispatchGroupService experimentDispatchGroupService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchTaskService experimentDispatchTaskService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, TProjectProposalService projectProposalService) {
+ public TExperimentDispatchController(TExperimentDispatchService experimentDispatchService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TExperimentDispatchGroupService experimentDispatchGroupService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchTaskService experimentDispatchTaskService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, TProjectProposalService projectProposalService, TNoticeService noticeService) {
this.experimentDispatchService = experimentDispatchService;
this.tokenService = tokenService;
this.sysUserService = sysUserService;
@@ -63,6 +64,7 @@
this.projectTeamService = projectTeamService;
this.projectTeamStaffService = projectTeamStaffService;
this.projectProposalService = projectProposalService;
+ this.noticeService = noticeService;
}
/**
@@ -161,6 +163,15 @@
experimentDispatchTask.setDispatchId(dto.getId());
});
experimentDispatchTaskService.saveBatch(experimentDispatchTasks);
+
+ // MESSAGE 添加消息
+ 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 275df4d..1949409 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
@@ -54,8 +54,9 @@
private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
private final TExperimentDispatchService experimentDispatchService;
private final TProjectProposalService projectProposalService;
+ private final TNoticeService noticeService;
@Autowired
- public TExperimentResultReportController(TExperimentResultReportService experimentResultReportService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TResultWorkEvaluateService resultWorkEvaluateService, TExperimentSchemeService experimentSchemeService, TInspectionReportService inspectionReportService, TProjectTeamStaffService projectTeamStaffService, TProjectTeamService projectTeamService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService) {
+ public TExperimentResultReportController(TExperimentResultReportService experimentResultReportService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TResultWorkEvaluateService resultWorkEvaluateService, TExperimentSchemeService experimentSchemeService, TInspectionReportService inspectionReportService, TProjectTeamStaffService projectTeamStaffService, TProjectTeamService projectTeamService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TNoticeService noticeService) {
this.experimentResultReportService = experimentResultReportService;
this.tokenService = tokenService;
this.sysUserService = sysUserService;
@@ -68,6 +69,7 @@
this.experimentDispatchParticipantsService = experimentDispatchParticipantsService;
this.experimentDispatchService = experimentDispatchService;
this.projectProposalService = projectProposalService;
+ this.noticeService = noticeService;
}
/**
@@ -161,6 +163,18 @@
resultWorkEvaluate.setTeamId(projectTeamStaff.getTeamId());
}
resultWorkEvaluateService.saveOrUpdateBatch(resultWorkEvaluates);
+
+ // 查询项目组
+ 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(),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 fef862b..9fac33e 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
@@ -52,8 +52,10 @@
private final TProjectProposalService projectProposalService;
private final TExperimentDispatchGroupService experimentDispatchGroupService;
private final TProjectTeamStaffService projectTeamStaffService;
+ private final TProjectTeamService projectTeamService;
+ private final TNoticeService noticeService;
@Autowired
- public TExperimentSchemeController(TExperimentSchemeService experimentSchemeService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TExperimentSchemePersonService experimentSchemePersonService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TExperimentDispatchGroupService experimentDispatchGroupService, TProjectTeamStaffService projectTeamStaffService) {
+ public TExperimentSchemeController(TExperimentSchemeService experimentSchemeService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TExperimentSchemePersonService experimentSchemePersonService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TExperimentDispatchGroupService experimentDispatchGroupService, TProjectTeamStaffService projectTeamStaffService, TProjectTeamService projectTeamService, TNoticeService noticeService) {
this.experimentSchemeService = experimentSchemeService;
this.tokenService = tokenService;
this.sysUserService = sysUserService;
@@ -64,6 +66,8 @@
this.projectProposalService = projectProposalService;
this.experimentDispatchGroupService = experimentDispatchGroupService;
this.projectTeamStaffService = projectTeamStaffService;
+ this.projectTeamService = projectTeamService;
+ this.noticeService = noticeService;
}
/**
@@ -214,6 +218,23 @@
TExperimentSchemeDTO dto = JSON.parseObject(param,TExperimentSchemeDTO.class);
dto.setStatus(6);
experimentSchemeService.updateById(dto);
+
+ // 通过当前用户查询项目组
+ 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(),8);
+ }
+
return R.ok();
}
@@ -309,6 +330,22 @@
.set(TExperimentScheme::getStopFile, applicationTerminationDTO.getStopFile())
.set(TExperimentScheme::getStopFileName, applicationTerminationDTO.getStopFileName())
.set(TExperimentScheme::getCommitSign, applicationTerminationDTO.getCommitSign()));
+ // 通过当前用户查询项目组
+ 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(),2);
+ }
+
return R.ok();
}
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 29490ee..a755792 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
@@ -55,8 +55,9 @@
private final TProjectTeamStaffService projectTeamStaffService;
private final ISysUserService sysUserService;
private final SysUserMapper sysUserMapper;
+ private final TNoticeService noticeService;
@Autowired
- public TFeasibilityStudyReportController(TFeasibilityStudyReportService feasibilityStudyReportService, TFeasibilityReportFileService feasibilityReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService, SysUserMapper sysUserMapper) {
+ public TFeasibilityStudyReportController(TFeasibilityStudyReportService feasibilityStudyReportService, TFeasibilityReportFileService feasibilityReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TNoticeService noticeService) {
this.feasibilityStudyReportService = feasibilityStudyReportService;
this.feasibilityReportFileService = feasibilityReportFileService;
this.tokenService = tokenService;
@@ -64,6 +65,7 @@
this.projectTeamStaffService = projectTeamStaffService;
this.sysUserService = sysUserService;
this.sysUserMapper = sysUserMapper;
+ this.noticeService = noticeService;
}
/**
@@ -206,6 +208,16 @@
}
}
feasibilityReportFileService.saveBatch(feasibilityReportFiles);
+
+ // 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();
}
@@ -331,6 +343,9 @@
feasibilityStudyReport.setAuditPersonId(userId);
feasibilityStudyReport.setAuditTime(LocalDateTime.now());
feasibilityStudyReportService.updateById(feasibilityStudyReport);
+ // 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/TInspectionReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java
index eaecd3c..28591ff 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
@@ -11,10 +11,7 @@
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.TInspectionReportDTO;
import com.ruoyi.system.mapper.SysUserMapper;
-import com.ruoyi.system.model.TExperimentDispatch;
-import com.ruoyi.system.model.TExperimentDispatchParticipants;
-import com.ruoyi.system.model.TInspectionReport;
-import com.ruoyi.system.model.TProjectProposal;
+import com.ruoyi.system.model.*;
import com.ruoyi.system.query.TInspectionReportQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.TInspectionReportVO;
@@ -26,6 +23,7 @@
import org.springframework.web.bind.annotation.*;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -48,8 +46,11 @@
private final TokenService tokenService;
private final ISysUserService sysUserService;
private final SysUserMapper sysUserMapper;
+ private final TNoticeService noticeService;
+ private final TProjectTeamService projectTeamService;
+ private final TProjectTeamStaffService projectTeamStaffService;
@Autowired
- public TInspectionReportController(TInspectionReportService inspectionReportService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper) {
+ public TInspectionReportController(TInspectionReportService inspectionReportService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TNoticeService noticeService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService) {
this.inspectionReportService = inspectionReportService;
this.experimentDispatchService = experimentDispatchService;
this.projectProposalService = projectProposalService;
@@ -57,6 +58,9 @@
this.tokenService = tokenService;
this.sysUserService = sysUserService;
this.sysUserMapper = sysUserMapper;
+ this.noticeService = noticeService;
+ this.projectTeamService = projectTeamService;
+ this.projectTeamStaffService = projectTeamStaffService;
}
/**
@@ -80,6 +84,21 @@
public R<Boolean> add(@RequestBody String param) {
TInspectionReportDTO dto = JSON.parseObject(param,TInspectionReportDTO.class);
inspectionReportService.save(dto);
+ // 通过当前用户查询项目组
+ 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
new file mode 100644
index 0000000..bb7a2f7
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java
@@ -0,0 +1,69 @@
+package com.ruoyi.web.controller.api;
+
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.system.model.TNotice;
+import com.ruoyi.system.service.TNoticeService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 待办事项 前端控制器
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-04-08
+ */
+@Api(tags = "待办事项")
+@RestController
+@RequestMapping("")
+public class TNoticeController {
+
+ private final TNoticeService noticeService;
+ private final TokenService tokenService;
+ @Autowired
+ public TNoticeController(TNoticeService noticeService, TokenService tokenService) {
+ this.noticeService = noticeService;
+ this.tokenService = tokenService;
+ }
+
+ /**
+ * 获取待办事项
+ */
+ //@PreAuthorize("@ss.hasPermi('system:notice:list')")
+ @ApiOperation(value = "获取待办事项")
+ @GetMapping(value = "/open/t-notice/list")
+ public R<List<TNotice>> list() {
+ // 获取当前用户
+ Long userId = tokenService.getLoginUser().getUserId();
+ List<TNotice> list = noticeService.list(Wrappers.lambdaQuery(TNotice.class)
+ .eq(TNotice::getUserId, userId)
+ .eq(TNotice::getIsRead, 0));
+ return R.ok(list);
+ }
+
+ /**
+ * 操作已读
+ */
+ //@PreAuthorize("@ss.hasPermi('system:notice:read')")
+ @ApiOperation(value = "操作已读")
+ @GetMapping(value = "/open/t-notice/read")
+ public R<String> read(@RequestParam String id) {
+ TNotice notice = noticeService.getById(id);
+ notice.setIsRead(1);
+ noticeService.updateById(notice);
+ return R.ok();
+ }
+
+}
+
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 c506e97..5e504d0 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
@@ -19,10 +19,7 @@
import com.ruoyi.system.model.TProjectTeam;
import com.ruoyi.system.model.TProjectTeamStaff;
import com.ruoyi.system.query.TProjectApprovalReportQuery;
-import com.ruoyi.system.service.TFeasibilityReportFileService;
-import com.ruoyi.system.service.TProjectApprovalReportService;
-import com.ruoyi.system.service.TProjectTeamService;
-import com.ruoyi.system.service.TProjectTeamStaffService;
+import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.TProjectApprovalReportVO;
import io.jsonwebtoken.lang.Collections;
import io.swagger.annotations.Api;
@@ -55,14 +52,16 @@
private final TProjectTeamService projectTeamService;
private final TProjectTeamStaffService projectTeamStaffService;
private final SysUserMapper sysUserMapper;
+ private final TNoticeService noticeService;
@Autowired
- public TProjectApprovalReportController(TProjectApprovalReportService projectApprovalReportService, TFeasibilityReportFileService feasibilityReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, SysUserMapper sysUserMapper) {
+ public TProjectApprovalReportController(TProjectApprovalReportService projectApprovalReportService, TFeasibilityReportFileService feasibilityReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, SysUserMapper sysUserMapper, TNoticeService noticeService) {
this.projectApprovalReportService = projectApprovalReportService;
this.feasibilityReportFileService = feasibilityReportFileService;
this.tokenService = tokenService;
this.projectTeamService = projectTeamService;
this.projectTeamStaffService = projectTeamStaffService;
this.sysUserMapper = sysUserMapper;
+ this.noticeService = noticeService;
}
/**
@@ -131,6 +130,16 @@
}
feasibilityReportFileService.saveBatch(feasibilityReportFiles);
}
+
+ // 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();
}
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 681f46a..6415a47 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
@@ -9,7 +9,6 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.ProjectStageEnum;
-import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.AuditStatusDTO;
import com.ruoyi.system.dto.TProjectProposalDTO;
@@ -18,22 +17,19 @@
import com.ruoyi.system.model.TProjectTeam;
import com.ruoyi.system.model.TProjectTeamStaff;
import com.ruoyi.system.query.TProjectProposalQuery;
-import com.ruoyi.system.service.ISysUserService;
-import com.ruoyi.system.service.TProjectProposalService;
-import com.ruoyi.system.service.TProjectTeamService;
-import com.ruoyi.system.service.TProjectTeamStaffService;
+import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.TProjectProposalVO;
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.security.access.prepost.PreAuthorize;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* <p>
@@ -53,13 +49,15 @@
private final ISysUserService sysUserService;
private final TProjectTeamService projectTeamService;
private final TProjectTeamStaffService projectTeamStaffService;
+ private final TNoticeService noticeService;
@Autowired
- public TProjectProposalController(TProjectProposalService projectProposalService, TokenService tokenService, ISysUserService sysUserService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService) {
+ public TProjectProposalController(TProjectProposalService projectProposalService, TokenService tokenService, ISysUserService sysUserService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, TNoticeService noticeService) {
this.projectProposalService = projectProposalService;
this.tokenService = tokenService;
this.sysUserService = sysUserService;
this.projectTeamService = projectTeamService;
this.projectTeamStaffService = projectTeamStaffService;
+ this.noticeService = noticeService;
}
/**
@@ -70,7 +68,19 @@
@PostMapping(value = "/api/t-project-proposal/pageList")
public R<PageInfo<TProjectProposalVO>> pageList(@RequestBody String param) {
TProjectProposalQuery query = JSON.parseObject(param, TProjectProposalQuery.class);
- // TODO 获取当前登录人
+ // 获取当前登录人
+ 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(projectProposalService.pageList(query));
}
@@ -140,7 +150,18 @@
projectProposalNo = projectProposalNo + String.format("%02d", count+1);
dto.setProjectCode(projectProposalNo);
dto.setCommitUserId(userId);
+ dto.setTeamId(projectTeam.getId());
projectProposalService.save(dto);
+
+ // 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 e87027d..3b261e1 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
@@ -53,8 +53,9 @@
private final TProjectTeamStaffService projectTeamStaffService;
private final ISysUserService sysUserService;
private final SysUserMapper sysUserMapper;
+ private final TNoticeService noticeService;
@Autowired
- public TQaProduceReportController(TQaProduceReportService qaProduceReportService, TQaReportFileService qaReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService, SysUserMapper sysUserMapper) {
+ public TQaProduceReportController(TQaProduceReportService qaProduceReportService, TQaReportFileService qaReportFileService, TokenService tokenService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TNoticeService noticeService) {
this.qaProduceReportService = qaProduceReportService;
this.qaReportFileService = qaReportFileService;
this.tokenService = tokenService;
@@ -62,6 +63,7 @@
this.projectTeamStaffService = projectTeamStaffService;
this.sysUserService = sysUserService;
this.sysUserMapper = sysUserMapper;
+ this.noticeService = noticeService;
}
/**
@@ -177,6 +179,16 @@
}
}
qaReportFileService.saveBatch(qaReportFiles);
+
+ // 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(),9);
+ }
+
return R.ok();
}
@@ -320,6 +332,10 @@
qaProduceReport.setAuditPersonId(userId);
qaProduceReport.setAuditTime(LocalDateTime.now());
qaProduceReportService.updateById(qaProduceReport);
+
+ // MESSAGE 添加消息
+ noticeService.saveNotice(userId, "您有【1】条【项目检测项、检验包列表】/【中试、生产验证试验检验分析报告】/【原辅料、包材、竞品检验分析报告】/【产品报批及项目工作总结报告】等待评定", tokenService.getLoginUser().getUser().getNickName(),10);
+
return R.ok();
}
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 5fb30dd..ab10daa 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
@@ -55,8 +55,9 @@
private final TProjectTeamService projectTeamService;
private final TProjectTeamStaffService projectTeamStaffService;
private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
+ private final TNoticeService noticeService;
@Autowired
- public TSamplingRecordController(TSamplingRecordService samplingRecordService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TSamplingRecordOperationService samplingRecordOperationService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService) {
+ public TSamplingRecordController(TSamplingRecordService samplingRecordService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TSamplingRecordOperationService samplingRecordOperationService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TNoticeService noticeService) {
this.samplingRecordService = samplingRecordService;
this.tokenService = tokenService;
this.sysUserService = sysUserService;
@@ -67,6 +68,7 @@
this.projectTeamService = projectTeamService;
this.projectTeamStaffService = projectTeamStaffService;
this.experimentDispatchParticipantsService = experimentDispatchParticipantsService;
+ this.noticeService = noticeService;
}
/**
@@ -317,6 +319,19 @@
samplingRecordOperation.setSendTime(LocalDateTime.now());
}
samplingRecordOperationService.updateBatchById(samplingRecordOperations);
+
+ // 查询取样记录信息
+ TSamplingRecord samplingRecord = samplingRecordService.getById(samplingRecordOperations.get(0).getSamplingId());
+ // 查询实验调度
+ TExperimentDispatch experimentDispatch = experimentDispatchService.getById(samplingRecord.getDispatchId());
+ // 查询实验调度参与人员
+ List<TExperimentDispatchParticipants> teamStaffs = experimentDispatchParticipantsService.list(Wrappers.lambdaQuery(TExperimentDispatchParticipants.class)
+ .eq(TExperimentDispatchParticipants::getDispatchId, experimentDispatch.getId())
+ .eq(TExperimentDispatchParticipants::getRoleType, 4));
+ // MESSAGE 添加消息
+ teamStaffs.forEach(teamStaff -> {
+ noticeService.saveNotice(teamStaff.getUserId(), "您有【1】条【送样单】等待确认接收样品", tokenService.getLoginUser().getUser().getNickName(),13);
+ });
return R.ok();
}
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 8157d3b..5a18d8e 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
@@ -54,8 +54,9 @@
private final TExperimentDispatchService experimentDispatchService;
private final TProjectProposalService projectProposalService;
private final TExperimentDispatchParticipantsService experimentDispatchParticipantsService;
+ private final TNoticeService noticeService;
@Autowired
- public TTestMethodConfirmSheetController(TTestMethodConfirmSheetService testMethodConfirmSheetService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService, TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService) {
+ public TTestMethodConfirmSheetController(TTestMethodConfirmSheetService testMethodConfirmSheetService, TokenService tokenService, ISysUserService sysUserService, SysUserMapper sysUserMapper, TTestMethodConfirmSheetTermService testMethodConfirmSheetTermService, TTestMethodConfirmSheetOriginalService testMethodConfirmSheetOriginalService, TProjectTeamService projectTeamService, TProjectTeamStaffService projectTeamStaffService, TExperimentDispatchService experimentDispatchService, TProjectProposalService projectProposalService, TExperimentDispatchParticipantsService experimentDispatchParticipantsService, TNoticeService noticeService) {
this.testMethodConfirmSheetService = testMethodConfirmSheetService;
this.tokenService = tokenService;
this.sysUserService = sysUserService;
@@ -67,6 +68,7 @@
this.experimentDispatchService = experimentDispatchService;
this.projectProposalService = projectProposalService;
this.experimentDispatchParticipantsService = experimentDispatchParticipantsService;
+ this.noticeService = noticeService;
}
/**
@@ -120,6 +122,8 @@
@PostMapping(value = "/api/t-test-method-confirm-sheet/add")
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 -> {
@@ -127,9 +131,7 @@
testMethodConfirmSheetTerm.setStatus(1);
});
testMethodConfirmSheetTermService.saveBatch(testMethodConfirmSheetTerms);
-
// 通过当前用户查询项目组
- Long userId = tokenService.getLoginUser().getUserId();
TProjectTeamStaff projectTeamStaff = projectTeamStaffService.getOne(Wrappers.lambdaQuery(TProjectTeamStaff.class)
.eq(TProjectTeamStaff::getUserId, userId)
.last("LIMIT 1"));
@@ -159,6 +161,16 @@
testMethodConfirmSheetOriginal.setStatus(1);
testMethodConfirmSheetOriginalService.save(testMethodConfirmSheetOriginal);
}
+
+ // 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();
}
@@ -261,6 +273,11 @@
.set(TTestMethodConfirmSheet::getAuditTime, LocalDateTime.now())
.set(TTestMethodConfirmSheet::getAuditPersonId, userId)
.set(TTestMethodConfirmSheet::getAuditSign, testMethodConfirmSheetSign.getConfirmSign()));
+
+ // MESSAGE 添加消息
+ TTestMethodConfirmSheet testMethodConfirmSheet = testMethodConfirmSheetService.getById(testMethodConfirmSheetSign.getTestMethodConfirmSheetId());
+ noticeService.saveNotice(testMethodConfirmSheet.getCommitUserId(), "您的【检验方案确认单】已被确认", tokenService.getLoginUser().getUser().getNickName(),12);
+
return R.ok();
}
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 b4118dc..4d14887 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
@@ -118,8 +118,7 @@
"/applet/changepwd", "/captchaImage","/getCode","/loginCode",
"/operations/getBySingleNum/**",
"/user/getUserInfoByNumber/**",
- "/wxLogin/**",
- "/open/**","/cos/get/**"
+ "/wxLogin/**","/cos/get/**"
).permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java
new file mode 100644
index 0000000..59ef49b
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.system.model.TNotice;
+
+/**
+ * <p>
+ * 首页待办事项 Mapper 接口
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-04-08
+ */
+public interface TNoticeMapper extends BaseMapper<TNotice> {
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java
new file mode 100644
index 0000000..e065ddf
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java
@@ -0,0 +1,72 @@
+package com.ruoyi.system.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 首页待办事项
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-04-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("t_notice")
+@ApiModel(value="TNotice对象", description="首页待办事项")
+public class TNotice implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private String id;
+
+ @ApiModelProperty(value = "用户id")
+ @TableField("user_id")
+ private Long userId;
+
+ @ApiModelProperty(value = "内容")
+ @TableField("content")
+ private String content;
+
+ @ApiModelProperty(value = "提交人姓名")
+ @TableField("commit_name")
+ private String commitName;
+
+ @ApiModelProperty(value = "提交时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("commit_time")
+ private LocalDateTime commitTime;
+
+ @ApiModelProperty(value = "消息类型 1=项目课题方案审批通知 " +
+ "2=实验方案中止申请 " +
+ "3=实验结果汇报 " +
+ "4=【可研报告】/【可行报告】/【工艺开发工具】/【验证与发布】/【立项报告库】审核 " +
+ "5=【可研报告】/【可行报告】/【工艺开发工具】/【验证与发布】评定" +
+ "6=检验方法确认单审批" +
+ "7=化验师已提交检验报告" +
+ "8=实验员已提交实验方案" +
+ "9=【项目检测项、检验包列表】/【中试、生产验证试验检验分析报告】/【原辅料、包材、竞品检验分析报告】/【产品报批及项目工作总结报告】审核" +
+ "10=【项目检测项、检验包列表】/【中试、生产验证试验检验分析报告】/【原辅料、包材、竞品检验分析报告】/【产品报批及项目工作总结报告】评定" +
+ "11=实验调度 化验师" +
+ "12=检验方案确认单 已被确认" +
+ "13=送样单 等待确认接收样品" +
+ "14=实验调度 实验员")
+ @TableField("notice_type")
+ private Integer noticeType;
+
+ @ApiModelProperty(value = "是否已读 1=是 0=否")
+ @TableField("is_read")
+ private Integer isRead;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java
index dc43583..d01eff8 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java
@@ -1,6 +1,9 @@
package com.ruoyi.system.model;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
@@ -8,7 +11,6 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
-import java.io.Serializable;
import java.time.LocalDateTime;
/**
@@ -30,6 +32,10 @@
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
+ @ApiModelProperty(value = "项目组id")
+ @TableField("team_id")
+ private String teamId;
+
@ApiModelProperty(value = "提交人id")
@TableField("commit_user_id")
private Long commitUserId;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectTeamStaff.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectTeamStaff.java
index 3824475..94972cb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectTeamStaff.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectTeamStaff.java
@@ -38,7 +38,7 @@
@TableField("user_id")
private Long userId;
- @ApiModelProperty(value = "角色类型 2=审批人 3=工艺工程师 4=实验员 5=化验师")
+ @ApiModelProperty(value = "角色类型 2=审批人 3=工艺工程师 4=化验师 5=实验员")
@TableField("role_type")
private Integer roleType;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java
index 42bce1b..47a3c31 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java
@@ -1,6 +1,9 @@
package com.ruoyi.system.model;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
@@ -8,7 +11,6 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
-import java.io.Serializable;
import java.time.LocalDateTime;
/**
@@ -34,6 +36,10 @@
@TableField("dispatch_id")
private String dispatchId;
+ @ApiModelProperty(value = "提交人id")
+ @TableField("commit_user_id")
+ private Long commitUserId;
+
@ApiModelProperty(value = "签字")
@TableField("confirm_sign")
private String confirmSign;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectProposalQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectProposalQuery.java
index 05dd4ef..8ccdf2f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectProposalQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectProposalQuery.java
@@ -5,6 +5,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel(value = "项目课题方案query")
public class TProjectProposalQuery extends TimeRangeQueryBody {
@@ -19,4 +21,6 @@
private String createBy;
@ApiModelProperty(value = "审批状态 -1=草稿箱 1=审批中 2=已通过 3=已驳回 4=已撤销 5=已封存")
private Integer auditStatus;
+ @ApiModelProperty(value = "项目组id集合 前端忽略")
+ private List<String> teamIds;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java
new file mode 100644
index 0000000..6ceffa2
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java
@@ -0,0 +1,25 @@
+package com.ruoyi.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.system.model.TNotice;
+
+/**
+ * <p>
+ * 首页待办事项 服务类
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-04-08
+ */
+public interface TNoticeService extends IService<TNotice> {
+
+ /**
+ * 存储待办事项
+ * @param userId
+ * @param content
+ * @param commitName
+ * @param noticeType
+ */
+ void saveNotice(Long userId, String content, String commitName,Integer noticeType);
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java
new file mode 100644
index 0000000..47f9f69
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.mapper.TNoticeMapper;
+import com.ruoyi.system.model.TNotice;
+import com.ruoyi.system.service.TNoticeService;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 首页待办事项 服务实现类
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2025-04-08
+ */
+@Service
+public class TNoticeServiceImpl extends ServiceImpl<TNoticeMapper, TNotice> implements TNoticeService {
+
+ @Override
+ public void saveNotice(Long userId, String content, String commitName,Integer noticeType) {
+ TNotice notice = new TNotice();
+ notice.setUserId(userId);
+ notice.setContent(content);
+ notice.setCommitName(commitName);
+ notice.setCommitTime(LocalDateTime.now());
+ notice.setNoticeType(noticeType);
+ this.save(notice);
+ }
+}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index ea9006a..f5f1826 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -309,25 +309,25 @@
<if test="remark != null and remark != ''">remark,</if>
<if test="ifBlack != null">ifBlack,</if>
<if test="districtId != null">districtId,</if>
+ <if test="roleType != null">role_type,</if>
create_time
)values(
<if test="userId != null and userId != ''">#{userId},</if>
<if test="deptId != null and deptId != ''">#{deptId},</if>
<if test="userName != null and userName != ''">#{userName},</if>
- <if test="deptName != null and deptName != ''">#{deptName},</if>
-
- <if test="nickName != null and nickName != ''">#{nickName},</if>
+ <if test="deptName != null and deptName != ''">#{deptName},</if>
+ <if test="nickName != null and nickName != ''">#{nickName},</if>
<if test="email != null and email != ''">#{email},</if>
<if test="avatar != null and avatar != ''">#{avatar},</if>
<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
- <if test="sex != null and sex != ''">#{sex},</if>
+ <if test="sex != null and sex != ''">#{sex},</if>
<if test="password != null and password != ''">#{password},</if>
<if test="status != null and status != ''">#{status},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="ifBlack != null">#{ifBlack},</if>
<if test="districtId != null">#{districtId},</if>
- <if test="businessDeptId != null">#{businessDeptId},</if>
+ <if test="roleType != null">#{roleType},</if>
sysdate()
)
</insert>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml
new file mode 100644
index 0000000..f97d1b0
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.TNoticeMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TNotice">
+ <id column="id" property="id" />
+ <result column="user_id" property="userId" />
+ <result column="content" property="content" />
+ <result column="commit_name" property="commitName" />
+ <result column="commit_time" property="commitTime" />
+ <result column="notice_type" property="noticeType" />
+ <result column="is_read" property="isRead" />
+ </resultMap>
+
+ <!-- 通用查询结果列 -->
+ <sql id="Base_Column_List">
+ id, user_id,content, commit_name, commit_time,notice_type,is_read
+ </sql>
+
+</mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TProjectProposalMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TProjectProposalMapper.xml
index 035afe0..2b3f64a 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TProjectProposalMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TProjectProposalMapper.xml
@@ -5,6 +5,7 @@
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ruoyi.system.model.TProjectProposal">
<id column="id" property="id" />
+ <result column="team_id" property="teamId" />
<result column="commit_user_id" property="commitUserId" />
<result column="project_name" property="projectName" />
<result column="project_stage" property="projectStage" />
@@ -30,10 +31,10 @@
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
- id,commit_user_id, project_name, project_stage, project_code, experiment_objective, experiment_material, experiment_device, experiment_test_method, experiment_procedure, data_acquisition, result_evaluation, precautions, audit_status, audit_person_id, audit_time, audit_remark, create_time, update_time, create_by, update_by, disabled
+ id,team_id,commit_user_id, project_name, project_stage, project_code, experiment_objective, experiment_material, experiment_device, experiment_test_method, experiment_procedure, data_acquisition, result_evaluation, precautions, audit_status, audit_person_id, audit_time, audit_remark, create_time, update_time, create_by, update_by, disabled
</sql>
<select id="pageList" resultType="com.ruoyi.system.vo.TProjectProposalVO">
- select tpp.id,tpp.commit_user_id, tpp.project_name, tpp.project_stage, tpp.project_code, tpp.experiment_objective, tpp.experiment_material, tpp.experiment_device,
+ select tpp.id,tpp.team_id,tpp.commit_user_id, tpp.project_name, tpp.project_stage, tpp.project_code, tpp.experiment_objective, tpp.experiment_material, tpp.experiment_device,
tpp.experiment_test_method, tpp.experiment_procedure, tpp.data_acquisition, tpp.result_evaluation, tpp.precautions, tpp.audit_status,
tpp.audit_person_id, tpp.audit_time, tpp.audit_remark, tpp.create_time, tpp.update_time, tpp.create_by, tpp.update_by, tpp.disabled,
su.nick_name as auditPersonName
@@ -58,6 +59,12 @@
<if test="query.auditStatus != null">
AND tpp.audit_status = #{query.auditStatus}
</if>
+ <if test="query.teamIds != null and query.teamIds.size() > 0">
+ AND tpp.team_id IN
+ <foreach item="teamId" collection="query.teamIds" separator="," open="(" close=")" index="">
+ #{teamId}
+ </foreach>
+ </if>
<if test="query.auditStatus == null">
AND tpp.audit_status != -1
</if>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetMapper.xml
index 735c3b0..56466c7 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetMapper.xml
@@ -6,6 +6,7 @@
<resultMap id="BaseResultMap" type="com.ruoyi.system.model.TTestMethodConfirmSheet">
<id column="id" property="id" />
<result column="dispatch_id" property="dispatchId" />
+ <result column="commit_user_id" property="commitUserId" />
<result column="confirm_sign" property="confirmSign" />
<result column="sign_time" property="signTime" />
<result column="audit_status" property="auditStatus" />
@@ -21,10 +22,10 @@
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
- id, dispatch_id, confirm_sign, sign_time, audit_status, audit_person_id, audit_sign, audit_time, create_time, update_time, create_by, update_by, disabled
+ id, dispatch_id,commit_user_id, confirm_sign, sign_time, audit_status, audit_person_id, audit_sign, audit_time, create_time, update_time, create_by, update_by, disabled
</sql>
<select id="pageList" resultType="com.ruoyi.system.vo.TTestMethodConfirmSheetVO">
- select tmcs.id, tmcs.dispatch_id, tmcs.confirm_sign, tmcs.sign_time, tmcs.audit_status, tmcs.audit_person_id,
+ select tmcs.id, tmcs.dispatch_id,tmcs.commit_user_id, tmcs.confirm_sign, tmcs.sign_time, tmcs.audit_status, tmcs.audit_person_id,
tmcs.audit_sign, tmcs.audit_time, tmcs.create_time, tmcs.update_time, tmcs.create_by, tmcs.update_by, tmcs.disabled,
tpp.project_name AS projectName, ted.experiment_name AS experimentName, ted.experiment_code AS experimentCode
from t_test_method_confirm_sheet tmcs
--
Gitblit v1.7.1