退伍复学修改

This commit is contained in:
2025-11-13 17:26:11 +08:00
parent 5c1dcbf343
commit ce41e10c4a
12 changed files with 1698 additions and 0 deletions

View File

@@ -0,0 +1,379 @@
package com.srs.routine.domain;
import com.srs.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.srs.common.core.domain.BaseEntity;
import java.util.List;
/**
* 退伍复学申请对象 sys_dis_basic
*
* @author srs
* @date 2025-11-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "SysDisBasic对象" , description = "退伍复学申请")
@TableName("sys_dis_basic")
public class SysDisBasic extends BaseEntity{
private static final long serialVersionUID=1L;
/**
*
*/
@ApiModelProperty("")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 复学流程ID
*/
@ApiModelProperty("复学流程ID")
@TableField("fx_id")
@Excel(name = "复学流程ID")
private String fxId;
/**
* 流程申请时间
*/
@ApiModelProperty("流程申请时间")
@TableField("fx_time")
@Excel(name = "流程申请时间")
private String fxTime;
/**
* 学号
*/
@ApiModelProperty("学号")
@TableField("st_id")
@Excel(name = "学号")
private String stId;
/**
* 姓名
*/
@ApiModelProperty("姓名")
@TableField("st_name")
@Excel(name = "姓名")
private String stName;
/**
* 辅导员名字
*/
@ApiModelProperty("辅导员名字")
@TableField("fd_name")
@Excel(name = "辅导员名字")
private String fdName;
/**
* 性别
*/
@ApiModelProperty("性别")
@TableField("sex")
@Excel(name = "性别")
private String sex;
/**
* 民族
*/
@ApiModelProperty("民族")
@TableField("nations")
@Excel(name = "民族")
private String nations;
/**
* $column.columnComment
*/
@ApiModelProperty("${column.columnComment}")
@TableField("fd_qm")
@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
private String fdQm;
/**
* $column.columnComment
*/
@ApiModelProperty("${column.columnComment}")
@TableField("xw_qm")
@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
private String xwQm;
/**
* $column.columnComment
*/
@ApiModelProperty("${column.columnComment}")
@TableField("er_qm")
@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
private String erQm;
/**
* $column.columnComment
*/
@ApiModelProperty("${column.columnComment}")
@TableField("xj_qm")
@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
private String xjQm;
/**
* $column.columnComment
*/
@ApiModelProperty("${column.columnComment}")
@TableField("jw_qm")
@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
private String jwQm;
/**
* 班级
*/
@ApiModelProperty("班级")
@TableField("st_class")
@Excel(name = "班级")
private String stClass;
/**
* 专业
*/
@ApiModelProperty("专业")
@TableField("majors")
@Excel(name = "专业")
private String majors;
/**
* 年级
*/
@ApiModelProperty("年级")
@TableField("grade")
@Excel(name = "年级")
private String grade;
/**
* 学院
*/
@ApiModelProperty("学院")
@TableField("college")
@Excel(name = "学院")
private String college;
/**
* 原因
*/
@ApiModelProperty("原因")
@TableField("reasons")
@Excel(name = "原因")
private String reasons;
/**
* 辅导员意见
*/
@ApiModelProperty("辅导员意见")
@TableField("fd_idea")
@Excel(name = "辅导员意见")
private String fdIdea;
/**
* 二级学院意见
*/
@ApiModelProperty("二级学院意见")
@TableField("two_idea")
@Excel(name = "二级学院意见")
private String twoIdea;
/**
* 学务意见
*/
@ApiModelProperty("学务意见")
@TableField("xw_idea")
@Excel(name = "学务意见")
private String xwIdea;
/**
* 学籍管理意见
*/
@ApiModelProperty("学籍管理意见")
@TableField("xj_idea")
@Excel(name = "学籍管理意见")
private String xjIdea;
/**
* 教务处意见
*/
@ApiModelProperty("教务处意见")
@TableField("jw_idea")
@Excel(name = "教务处意见")
private String jwIdea;
/**
* 招生意见
*/
@ApiModelProperty("招生意见")
@TableField("zs_idea")
@Excel(name = "招生意见")
private String zsIdea;
/**
* 招生就业
*/
@ApiModelProperty("招生就业")
@TableField("zs_status")
@Excel(name = "招生就业")
private String zsStatus;
/**
* 时间
*/
@ApiModelProperty("时间")
@TableField("times")
@Excel(name = "时间")
private String times;
/**
* 辅导员审核状态
*/
@ApiModelProperty("辅导员审核状态")
@TableField("fd_status")
@Excel(name = "辅导员审核状态")
private String fdStatus;
/**
*
*/
@ApiModelProperty("")
@TableField("xw_status")
@Excel(name = "")
private String xwStatus;
/**
* 二级学院审核状态
*/
@ApiModelProperty("二级学院审核状态")
@TableField("two_status")
@Excel(name = "二级学院审核状态")
private String twoStatus;
/**
* 学籍管理审核状态
*/
@ApiModelProperty("学籍管理审核状态")
@TableField("xjgl_status")
@Excel(name = "学籍管理审核状态")
private String xjglStatus;
/**
* 教务审核状态
*/
@ApiModelProperty("教务审核状态")
@TableField("jw_status")
@Excel(name = "教务审核状态")
private String jwStatus;
/**
* 退伍审核时间
*/
@ApiModelProperty("退伍审核时间")
@TableField("rw_time")
@Excel(name = "退伍审核时间")
private String rwTime;
/**
* 招生审核时间
*/
@ApiModelProperty("招生审核时间")
@TableField("zs_time")
@Excel(name = "招生审核时间")
private String zsTime;
/**
* 辅导员
*/
@ApiModelProperty("辅导员")
@TableField("fd_time")
@Excel(name = "辅导员")
private String fdTime;
/**
* 学务审核
*/
@ApiModelProperty("学务审核")
@TableField("xw_time")
@Excel(name = "学务审核")
private String xwTime;
/**
* 二时间
*/
@ApiModelProperty("二时间")
@TableField("two_time")
@Excel(name = "二时间")
private String twoTime;
/**
* 学籍时间
*/
@ApiModelProperty("学籍时间")
@TableField("xj_time")
@Excel(name = "学籍时间")
private String xjTime;
/**
* 教务审核时间
*/
@ApiModelProperty("教务审核时间")
@TableField("jw_time")
@Excel(name = "教务审核时间")
private String jwTime;
/**
* 空余字段
*/
@ApiModelProperty("空余字段")
@TableField("datab")
@Excel(name = "空余字段")
private String datab;
/**
*
*/
@ApiModelProperty("")
@TableField("dataa")
@Excel(name = "")
private String dataa;
/**
* 专业转换
*/
@ApiModelProperty("专业转换")
@TableField("conversion")
@Excel(name = "专业转换")
private String conversion;
/**
* 流程实例ID
*/
@ApiModelProperty("流程实例ID")
@TableField("process_id")
@Excel(name = "流程实例ID")
private String processId;
/**
* 流程部署编号
*/
@ApiModelProperty("流程部署编号")
@TableField("deploy_id")
@Excel(name = "流程部署编号")
private String deployId;
/**
* 退伍复学-填报材料
*/
@ApiModelProperty(value = "退伍复学-填报材料", hidden = true)
@Excel(name = "退伍复学-填报材料")
private List<SysDisMate> MaList;
}

View File

@@ -0,0 +1,140 @@
package com.srs.routine.domain;
import com.srs.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.srs.common.core.domain.BaseEntity;
/**
* 退伍复学材料对象 sys_dis_mate
*
* @author srs
* @date 2025-11-12
*/
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "SysDisMate对象" , description = "退伍复学材料")
@TableName("sys_dis_mate")
public class SysDisMate extends BaseEntity{
private static final long serialVersionUID=1L;
/**
*
*/
@ApiModelProperty("")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 学号
*/
@ApiModelProperty("学号")
@TableField("st_id")
@Excel(name = "学号")
private String stId;
/**
* 姓名
*/
@ApiModelProperty("姓名")
@TableField("st_name")
@Excel(name = "姓名")
private String stName;
/**
* 时间
*/
@ApiModelProperty("时间")
@TableField("times")
@Excel(name = "时间")
private String times;
/**
* 学院
*/
@ApiModelProperty("学院")
@TableField("college")
@Excel(name = "学院")
private String college;
/**
* 原年级
*/
@ApiModelProperty("原年级")
@TableField("oldgrade")
@Excel(name = "原年级")
private String oldgrade;
/**
* 原专业
*/
@ApiModelProperty("原专业")
@TableField("oldmajor")
@Excel(name = "原专业")
private String oldmajor;
/**
* 新年级
*/
@ApiModelProperty("新年级")
@TableField("newgrade")
@Excel(name = "新年级")
private String newgrade;
/**
* 新专业
*/
@ApiModelProperty("新专业")
@TableField("newmajor")
@Excel(name = "新专业")
private String newmajor;
/**
* 退役证明
*/
@ApiModelProperty("退役证明")
@TableField("proof")
@Excel(name = "退役证明")
private String proof;
/**
* 身份证
*/
@ApiModelProperty("身份证")
@TableField("idcard")
@Excel(name = "身份证")
private String idcard;
/**
* 材料
*/
@ApiModelProperty("材料")
@TableField("material")
@Excel(name = "材料")
private String material;
/**
* 保留字段1
*/
@ApiModelProperty("保留字段1")
@TableField("data1")
@Excel(name = "保留字段1")
private String data1;
/**
* 保留字段2
*/
@ApiModelProperty("保留字段2")
@TableField("data2")
@Excel(name = "保留字段2")
private String data2;
}

View File

@@ -0,0 +1,76 @@
package com.srs.routine.mapper;
import java.util.List;
import com.srs.common.doman.vo.TeacherVo;
import com.srs.routine.domain.SysDisBasic;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* 退伍复学申请Mapper接口
*
* @author srs
* @date 2025-11-06
*/
public interface SysDisBasicMapper extends BaseMapper<SysDisBasic> {
/**
* 查询退伍复学申请
*
* @param id 退伍复学申请主键
* @return 退伍复学申请
*/
public SysDisBasic selectSysDisBasicById(Long id);
public SysDisBasic selectSysDisBasicByStId(@Param("stId") String stId);
/**
* 查询退伍复学申请列表
*
* @param sysDisBasic 退伍复学申请
* @return 退伍复学申请集合
*/
List<SysDisBasic> selectSysDisBasicList(SysDisBasic sysDisBasic);
// 学号查询
/**
* 新增退伍复学申请
*
* @param sysDisBasic 退伍复学申请
* @return 结果
*/
int insertSysDisBasic(SysDisBasic sysDisBasic);
/**
* 修改退伍复学申请
*
* @param sysDisBasic 退伍复学申请
* @return 结果
*/
int updateSysDisBasic(SysDisBasic sysDisBasic);
/**
* 删除退伍复学申请
*
* @param id 退伍复学申请主键
* @return 结果
*/
int deleteSysDisBasicById(Long id);
/**
* 批量删除退伍复学申请
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int deleteSysDisBasicByIds(Long[] ids);
/**
* 根据学生学号获取辅导员在sys_user表信息
* @param
* @return
*/
TeacherVo getCounselorInfo(String stId);
}

View File

@@ -0,0 +1,62 @@
package com.srs.routine.mapper;
import java.util.List;
import com.srs.routine.domain.SysDisMate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 退伍复学材料Mapper接口
*
* @author srs
* @date 2025-10-28
*/
public interface SysDisMateMapper extends BaseMapper<SysDisMate> {
/**
* 查询退伍复学材料
*
* @param id 退伍复学材料主键
* @return 退伍复学材料
*/
public SysDisMate selectSysDisMateById(Long id);
/**
* 查询退伍复学材料列表
*
* @param sysDisMate 退伍复学材料
* @return 退伍复学材料集合
*/
List<SysDisMate> selectSysDisMateList(SysDisMate sysDisMate);
/**
* 新增退伍复学材料
*
* @param sysDisMate 退伍复学材料
* @return 结果
*/
int insertSysDisMate(SysDisMate sysDisMate);
/**
* 修改退伍复学材料
*
* @param sysDisMate 退伍复学材料
* @return 结果
*/
int updateSysDisMate(SysDisMate sysDisMate);
/**
* 删除退伍复学材料
*
* @param id 退伍复学材料主键
* @return 结果
*/
int deleteSysDisMateById(Long id);
/**
* 批量删除退伍复学材料
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int deleteSysDisMateByIds(Long[] ids);
}

View File

@@ -0,0 +1,62 @@
package com.srs.routine.service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.srs.routine.domain.SysDisBasic;
/**
* 退伍复学申请Service接口
*
* @author srs
* @date 2025-11-06
*/
public interface ISysDisBasicService extends IService<SysDisBasic> {
/**
* 查询退伍复学申请
*
* @param id 退伍复学申请主键
* @return 退伍复学申请
*/
public SysDisBasic selectSysDisBasicById(Long id);
/**
* 查询退伍复学申请列表
*
* @param sysDisBasic 退伍复学申请
* @return 退伍复学申请集合
*/
List<SysDisBasic> selectSysDisBasicList(SysDisBasic sysDisBasic);
/**
* 新增退伍复学申请
*
* @param sysDisBasic 退伍复学申请
* @return 结果
*/
int insertSysDisBasic(SysDisBasic sysDisBasic);
/**
* 修改退伍复学申请
*
* @param sysDisBasic 退伍复学申请
* @return 结果
*/
int updateSysDisBasic(SysDisBasic sysDisBasic);
/**
* 批量删除退伍复学申请
*
* @param ids 需要删除的退伍复学申请主键集合
* @return 结果
*/
int deleteSysDisBasicByIds(Long[] ids);
/**
* 删除退伍复学申请信息
*
* @param id 退伍复学申请主键
* @return 结果
*/
int deleteSysDisBasicById(Long id);
}

View File

@@ -0,0 +1,62 @@
package com.srs.routine.service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.srs.routine.domain.SysDisMate;
/**
* 退伍复学材料Service接口
*
* @author srs
* @date 2025-10-28
*/
public interface ISysDisMateService extends IService<SysDisMate> {
/**
* 查询退伍复学材料
*
* @param id 退伍复学材料主键
* @return 退伍复学材料
*/
public SysDisMate selectSysDisMateById(Long id);
/**
* 查询退伍复学材料列表
*
* @param sysDisMate 退伍复学材料
* @return 退伍复学材料集合
*/
List<SysDisMate> selectSysDisMateList(SysDisMate sysDisMate);
/**
* 新增退伍复学材料
*
* @param sysDisMate 退伍复学材料
* @return 结果
*/
int insertSysDisMate(SysDisMate sysDisMate);
/**
* 修改退伍复学材料
*
* @param sysDisMate 退伍复学材料
* @return 结果
*/
int updateSysDisMate(SysDisMate sysDisMate);
/**
* 批量删除退伍复学材料
*
* @param ids 需要删除的退伍复学材料主键集合
* @return 结果
*/
int deleteSysDisMateByIds(Long[] ids);
/**
* 删除退伍复学材料信息
*
* @param id 退伍复学材料主键
* @return 结果
*/
int deleteSysDisMateById(Long id);
}

View File

@@ -0,0 +1,179 @@
package com.srs.routine.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.srs.common.core.domain.AjaxResult;
import com.srs.common.doman.dto.ProcessResultDto;
import com.srs.common.doman.vo.TeacherVo;
import com.srs.common.exception.ServiceException;
import com.srs.common.utils.SecurityUtils;
import com.srs.flowable.service.IFlowDefinitionService;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.IdentityService;
import org.flowable.engine.TaskService;
import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import com.srs.routine.mapper.SysDisBasicMapper;
import com.srs.routine.domain.SysDisBasic;
import com.srs.routine.service.ISysDisBasicService;
/**
* 退伍复学申请Service业务层处理
*
* @author srs
* @date 2025-11-06
*/
@Service
@Slf4j
public class SysDisBasicServiceImpl extends ServiceImpl<SysDisBasicMapper,SysDisBasic> implements ISysDisBasicService {
@Autowired
private SysDisBasicMapper sysDisBasicMapper;
/**
* 查询退伍复学申请
*
* @param id 退伍复学申请主键
* @return 退伍复学申请
*/
@Override
public SysDisBasic selectSysDisBasicById(Long id) {
return sysDisBasicMapper.selectSysDisBasicById(id);
}
/**
* 查询退伍复学申请列表
*
* @param sysDisBasic 退伍复学申请
* @return 退伍复学申请
*/
@Override
public List<SysDisBasic> selectSysDisBasicList(SysDisBasic sysDisBasic) {
return sysDisBasicMapper.selectSysDisBasicList(sysDisBasic);
}
/**
* 新增退伍复学申请
*
* @param sysDisBasic 退伍复学申请
* @return 结果
*/
@Override
public int insertSysDisBasic(SysDisBasic sysDisBasic) {
SysDisBasic inserData = sysDisBasicMapper.selectSysDisBasicByStId(sysDisBasic.getStId());
if (inserData != null){
throw new ServiceException("申请已提交,请勿重复提交", 500);
}
// sysDisBasic.setStId(String.valueOf(SecurityUtils.getUserId()));
// ProcessResultDto processResultDto = startBasicProcess(sysDisBasic);
// if (processResultDto != null){
// sysDisBasic.setProcessId(processResultDto.getProcessInstanceId());
// sysDisBasic.setDeployId(processResultDto.getDeploymentId());
// }
return sysDisBasicMapper.insertSysDisBasic(sysDisBasic);
}
/**
* 修改退伍复学申请
*
* @param sysDisBasic 退伍复学申请
* @return 结果
*/
@Override
public int updateSysDisBasic(SysDisBasic sysDisBasic) {
// ProcessResultDto processResultDto = startBasicProcess(sysDisBasic);
// if (processResultDto != null){
// sysDisBasic.setProcessId(processResultDto.getProcessInstanceId());
// sysDisBasic.setDeployId(processResultDto.getDeploymentId());
// }
return sysDisBasicMapper.updateSysDisBasic(sysDisBasic);
}
/**
* 批量删除退伍复学申请
*
* @param ids 需要删除的退伍复学申请主键
* @return 结果
*/
@Override
public int deleteSysDisBasicByIds(Long[] ids) {
return sysDisBasicMapper.deleteSysDisBasicByIds(ids);
}
/**
* 删除退伍复学申请信息
*
* @param id 退伍复学申请主键
* @return 结果
*/
@Override
public int deleteSysDisBasicById(Long id) {
return sysDisBasicMapper.deleteSysDisBasicById(id);
}
@Autowired
IFlowDefinitionService flowDefinitionService;
@Autowired
TaskService taskService;
@Autowired
IdentityService identityService;
/**
* 开启请假工作流
*
* @param
*/
private ProcessResultDto startBasicProcess(SysDisBasic sysDisBasic) {
Map<String, Object> variables = new HashMap<>();
variables.put("fxId", sysDisBasic.getFxId());
variables.put("fxTime", sysDisBasic.getFxTime());
variables.put("stId", sysDisBasic.getStId());
TeacherVo counselorInfo = sysDisBasicMapper.getCounselorInfo(sysDisBasic.getStId());
// 把辅导员的userId放到approval中
variables.put("approval", counselorInfo.getUserId());
variables.put("deptId", counselorInfo.getDeptId());
//flow_nrblbjev:6:1020016
AjaxResult ajaxResult = flowDefinitionService.startProcessInstanceById("flow_nrblbjev:6:1020016", variables);
String code = ajaxResult.get("code").toString();
if (code.equals("200")) {
log.info("流程启动成功");
Object obj = ajaxResult.get("data");
ProcessResultDto dto = (ProcessResultDto) obj;
// 操作工作流
// 设置当前用户
identityService.setAuthenticatedUserId(SecurityUtils.getUserId().toString());
// 查询待办任务列表
List<Task> tasks = taskService.createTaskQuery()
.processInstanceId(dto.getProcessInstanceId())
.taskAssignee(SecurityUtils.getUserId().toString())
.active()
.list();
// 保存审核结果到任务变量中
variables.put("approved", true);
// 完成待办任务列表
for (Task task : tasks) {
String taskId = task.getId();
String leaveId = taskService.getVariable(taskId, "fxId").toString();
if (leaveId.equals(sysDisBasic.getFxId())) {
taskService.complete(task.getId(), variables);
}
}
// todo 企业微信推送消息
return dto;
} else {
return null;
}
}
}

View File

@@ -0,0 +1,87 @@
package com.srs.routine.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import com.srs.routine.mapper.SysDisMateMapper;
import com.srs.routine.domain.SysDisMate;
import com.srs.routine.service.ISysDisMateService;
/**
* 退伍复学材料Service业务层处理
*
* @author srs
* @date 2025-10-28
*/
@Service
public class SysDisMateServiceImpl extends ServiceImpl<SysDisMateMapper,SysDisMate> implements ISysDisMateService {
@Autowired
private SysDisMateMapper sysDisMateMapper;
/**
* 查询退伍复学材料
*
* @param id 退伍复学材料主键
* @return 退伍复学材料
*/
@Override
public SysDisMate selectSysDisMateById(Long id) {
return sysDisMateMapper.selectSysDisMateById(id);
}
/**
* 查询退伍复学材料列表
*
* @param sysDisMate 退伍复学材料
* @return 退伍复学材料
*/
@Override
public List<SysDisMate> selectSysDisMateList(SysDisMate sysDisMate) {
return sysDisMateMapper.selectSysDisMateList(sysDisMate);
}
/**
* 新增退伍复学材料
*
* @param sysDisMate 退伍复学材料
* @return 结果
*/
@Override
public int insertSysDisMate(SysDisMate sysDisMate) {
return sysDisMateMapper.insertSysDisMate(sysDisMate);
}
/**
* 修改退伍复学材料
*
* @param sysDisMate 退伍复学材料
* @return 结果
*/
@Override
public int updateSysDisMate(SysDisMate sysDisMate) {
return sysDisMateMapper.updateSysDisMate(sysDisMate);
}
/**
* 批量删除退伍复学材料
*
* @param ids 需要删除的退伍复学材料主键
* @return 结果
*/
@Override
public int deleteSysDisMateByIds(Long[] ids) {
return sysDisMateMapper.deleteSysDisMateByIds(ids);
}
/**
* 删除退伍复学材料信息
*
* @param id 退伍复学材料主键
* @return 结果
*/
@Override
public int deleteSysDisMateById(Long id) {
return sysDisMateMapper.deleteSysDisMateById(id);
}
}