任务表单增加阶段选择框 增加审核意见功能 右侧展示优化

This commit is contained in:
jhd
2026-07-02 10:36:57 +08:00
parent bf7ee08b08
commit 5544056833
13 changed files with 690 additions and 50 deletions

View File

@@ -0,0 +1,35 @@
package com.ruoyi.rm.controller;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.rm.domain.bo.RmFileReviewBo;
import com.ruoyi.rm.domain.vo.RmFileReviewVo;
import com.ruoyi.rm.service.IRmFileReviewService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/rm/fileReview")
public class RmFileReviewController extends BaseController {
private final IRmFileReviewService fileReviewService;
@GetMapping("/list")
public R<List<RmFileReviewVo>> list(String fileModule, Long fileId) {
return R.ok(fileReviewService.queryByFile(fileModule, fileId));
}
@PostMapping
public R<RmFileReviewVo> add(@RequestBody RmFileReviewBo bo) {
return R.ok(fileReviewService.addReview(bo));
}
}

View File

@@ -0,0 +1,16 @@
package com.ruoyi.rm.domain.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
public class RmFileReviewBo extends BaseEntity {
private Long id;
private Long fileId;
private String fileModule;
private Long reviewerId;
private String content;
private String reviewAction;
}

View File

@@ -0,0 +1,27 @@
package com.ruoyi.rm.domain.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("fad_rm_file_review")
public class RmFileReview extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableId
private Long id;
private Long fileId;
private String fileModule;
private Long reviewerId;
private String content;
private String reviewAction;
@TableLogic
private Integer delFlag;
}

View File

@@ -0,0 +1,23 @@
package com.ruoyi.rm.domain.vo;
import com.ruoyi.common.core.domain.entity.SysUser;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class RmFileReviewVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private Long fileId;
private String fileModule;
private Long reviewerId;
private String content;
private String reviewAction;
private Date createTime;
/** 审核人姓名(从 sys_user 关联) */
private String reviewerName;
}

View File

@@ -0,0 +1,8 @@
package com.ruoyi.rm.mapper;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.rm.domain.entity.RmFileReview;
import com.ruoyi.rm.domain.vo.RmFileReviewVo;
public interface RmFileReviewMapper extends BaseMapperPlus<RmFileReviewMapper, RmFileReview, RmFileReviewVo> {
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.rm.service;
import com.ruoyi.rm.domain.bo.RmFileReviewBo;
import com.ruoyi.rm.domain.vo.RmFileReviewVo;
import java.util.List;
public interface IRmFileReviewService {
List<RmFileReviewVo> queryByFile(String fileModule, Long fileId);
RmFileReviewVo addReview(RmFileReviewBo bo);
}

View File

@@ -0,0 +1,58 @@
package com.ruoyi.rm.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.rm.domain.bo.RmFileReviewBo;
import com.ruoyi.rm.domain.entity.RmFileReview;
import com.ruoyi.rm.domain.vo.RmFileReviewVo;
import com.ruoyi.rm.mapper.RmFileReviewMapper;
import com.ruoyi.rm.service.IRmFileReviewService;
import com.ruoyi.system.mapper.SysUserMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@RequiredArgsConstructor
@Service
public class RmFileReviewServiceImpl implements IRmFileReviewService {
private final RmFileReviewMapper baseMapper;
private final SysUserMapper sysUserMapper;
@Override
public List<RmFileReviewVo> queryByFile(String fileModule, Long fileId) {
List<RmFileReviewVo> list = baseMapper.selectVoList(
Wrappers.<RmFileReview>lambdaQuery()
.eq(RmFileReview::getFileModule, fileModule)
.eq(RmFileReview::getFileId, fileId)
.orderByAsc(RmFileReview::getCreateTime));
for (RmFileReviewVo vo : list) {
if (vo.getReviewerId() != null) {
SysUser user = sysUserMapper.selectUserById(vo.getReviewerId());
if (user != null) {
vo.setReviewerName(user.getNickName());
}
}
}
return list;
}
@Override
public RmFileReviewVo addReview(RmFileReviewBo bo) {
Long userId = LoginHelper.getUserId();
if (userId == null) {
throw new RuntimeException("未登录");
}
RmFileReview entity = BeanUtil.toBean(bo, RmFileReview.class);
entity.setReviewerId(userId);
baseMapper.insert(entity);
RmFileReviewVo vo = BeanUtil.toBean(entity, RmFileReviewVo.class);
SysUser user = sysUserMapper.selectUserById(userId);
vo.setReviewerName(user != null ? user.getNickName() : null);
return vo;
}
}