xuhy
2025-06-02 a069a12647ab551281091efb0f066163d1c8c156
首页待办事项
6个文件已添加
18个文件已修改
512 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentDispatchController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentResultReportController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TExperimentSchemeController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFeasibilityStudyReportController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInspectionReportController.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectApprovalReportController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TProjectProposalController.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQaProduceReportController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSamplingRecordController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTestMethodConfirmSheetController.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectProposal.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TProjectTeamStaff.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TTestMethodConfirmSheet.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TProjectProposalQuery.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TProjectProposalMapper.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TTestMethodConfirmSheetMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
    }
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();
    }
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();
    }
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();
    }
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();
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TNoticeController.java
New file
@@ -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();
    }
}
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();
    }
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();
    }
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();
    }
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();
    }
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();
    }
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()
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TNoticeMapper.java
New file
@@ -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> {
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TNotice.java
New file
@@ -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;
}
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;
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;
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;
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;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TNoticeService.java
New file
@@ -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);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TNoticeServiceImpl.java
New file
@@ -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);
    }
}
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -309,13 +309,13 @@
             <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="email != null and email != ''">#{email},</if>
             <if test="avatar != null and avatar != ''">#{avatar},</if>
@@ -327,7 +327,7 @@
             <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>
ruoyi-system/src/main/resources/mapper/system/TNoticeMapper.xml
New file
@@ -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>
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>
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