应征入伍保留学籍工作流监听器

This commit is contained in:
2025-11-13 17:19:33 +08:00
parent 52de1dda74
commit 5c1dcbf343
13 changed files with 927 additions and 29 deletions

View File

@@ -0,0 +1,203 @@
package com.srs.flowable.domain;
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.srs.common.annotation.Excel;
import com.srs.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.util.Date;
/**
* 应征入伍保留学籍申请对象 rt_enlistment_reserve
*
* @author srs
* @date 2025-10-31
*/
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "RtEnlistmentReserve对象" , description = "应征入伍保留学籍申请表")
@TableName("rt_enlistment_reserve")
public class EnlistmentReserve extends BaseEntity{
private static final long serialVersionUID=1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 申请编号规则RY+年份+6位序号如RY2024000001
*/
@ApiModelProperty("申请编号规则RY+年份+6位序号如RY2024000001")
@TableField("apply_no")
@Excel(name = "申请编号" , readConverterExp = "规=则RY+年份+6位序号如RY2024000001")
private String applyNo;
/**
* 学生ID关联sys_user
*/
@ApiModelProperty("学生ID关联sys_user")
@TableField("student_id")
@Excel(name = "学生ID" , readConverterExp = "关=联sys_user")
private Long studentId;
/**
* 辅导员姓名
*/
@ApiModelProperty("辅导员姓名")
@TableField("teacher_name")
@Excel(name = "辅导员姓名")
private String teacherName;
/**
* 姓名
*/
@ApiModelProperty("姓名")
@TableField("student_name")
@Excel(name = "姓名")
private String studentName;
/**
* 性别0-男
*/
@ApiModelProperty("性别1-男 0-女)")
@TableField("gender")
@Excel(name = "性别" , readConverterExp = "性别1-男 0-女)")
private String gender;
/**
* 民族
*/
@ApiModelProperty("民族")
@TableField("nation")
@Excel(name = "民族")
private String nation;
/**
* 年级
*/
@ApiModelProperty("年级")
@TableField("grade")
@Excel(name = "年级")
private String grade;
/**
* 学号
*/
@ApiModelProperty("学号")
@TableField("student_no")
@Excel(name = "学号")
private String studentNo;
/**
* 班级
*/
@ApiModelProperty("班级")
@TableField("class_name")
@Excel(name = "班级")
private String className;
/**
* 专业名称
*/
@ApiModelProperty("专业名称")
@TableField("major")
@Excel(name = "专业名称")
private String major;
/**
* 家庭地址
*/
@ApiModelProperty("家庭地址")
@TableField("family_address")
@Excel(name = "家庭地址")
private String familyAddress;
/**
* 家长联系电话
*/
@ApiModelProperty("家长联系电话")
@TableField("parent_phone")
@Excel(name = "家长联系电话")
private String parentPhone;
/**
* 申请理由(含入伍时间、服役期限)
*/
@ApiModelProperty("申请理由(含入伍时间、服役期限)")
@TableField("apply_reason")
@Excel(name = "申请理由" , readConverterExp = "含=入伍时间、服役期限")
private String applyReason;
/**
* 申请状态0-草稿
*/
@ApiModelProperty("申请状态0-草稿 1-审批中 2-通过 3-驳回)")
@TableField("apply_status")
@Excel(name = "申请状态" , readConverterExp = "申请状态0-草稿 1-审批中 2-通过 3-驳回)")
private Long applyStatus;
/**
* Flowable流程实例ID
*/
@ApiModelProperty("Flowable流程实例ID")
@TableField("process_instance_id")
@Excel(name = "Flowable流程实例ID")
private String processInstanceId;
/**
* 保留学籍编号(审批通过后生成)
*/
@ApiModelProperty("保留学籍编号(审批通过后生成)")
@TableField("reserve_no")
@Excel(name = "保留学籍编号" , readConverterExp = "审=批通过后生成")
private String reserveNo;
/**
* 保留学籍开始日期
*/
@ApiModelProperty("保留学籍开始日期")
@TableField("reserve_start_date")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "保留学籍开始日期" , width = 30, dateFormat = "yyyy-MM-dd")
private Date reserveStartDate;
/**
* 保留学籍结束日期(入伍时间+服役期限)
*/
@ApiModelProperty("保留学籍结束日期(入伍时间+服役期限)")
@TableField("reserve_end_date")
@Excel(name = "保留学籍结束日期" , readConverterExp = "入=伍时间+服役期限")
private Date reserveEndDate;
/**
* 批文号
*/
@ApiModelProperty("批文号")
@TableField("approval_no")
@Excel(name = "批文号")
private String approvalNo;
@ApiModelProperty("申请日期")
@TableField("create_time")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;
@ApiModelProperty("更新日期")
@TableField("update_time")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
}

View File

@@ -0,0 +1,127 @@
package com.srs.flowable.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
/**
* 保留学籍审批记录对象 rt_enlistment_reserve_approval
*
* @author srs
* @date 2025-11-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "RtEnlistmentReserveApproval对象" , description = "保留学籍审批记录")
@TableName("rt_enlistment_reserve_approval")
public class EnlistmentReserveApproval extends BaseEntity{
private static final long serialVersionUID=1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 申请表ID
*/
@ApiModelProperty("申请表ID")
@TableField("apply_id")
@Excel(name = "申请表ID")
private Long applyId;
/**
* 流程实例ID
*/
@ApiModelProperty("流程实例ID")
@TableField("process_instance_id")
@Excel(name = "流程实例ID")
private String processInstanceId;
/**
* Flowable任务ID
*/
@ApiModelProperty("Flowable任务ID")
@TableField("task_id")
@Excel(name = "Flowable任务ID")
private String taskId;
/**
* 审批节点(辅导员/学务等)
*/
@ApiModelProperty("审批节点(辅导员/学务等)")
@TableField("node_name")
@Excel(name = "审批节点" , readConverterExp = "辅=导员/学务等")
private String nodeName;
/**
* 审批人ID关联sys_user
*/
@ApiModelProperty("审批人ID关联sys_user")
@TableField("approver_id")
@Excel(name = "审批人ID" , readConverterExp = "关=联sys_user")
private Long approverId;
/**
* 审批人姓名
*/
@ApiModelProperty("审批人姓名")
@TableField("approver_name")
@Excel(name = "审批人姓名")
private String approverName;
/**
* 审批意见
*/
@ApiModelProperty("审批意见")
@TableField("approval_opinion")
@Excel(name = "审批意见")
private String approvalOpinion;
/**
* 审批结果1-通过
*/
@ApiModelProperty("审批结果1-通过")
@TableField("approval_result")
@Excel(name = "审批结果" , readConverterExp = "审批结果1-通过")
private Long approvalResult;
/**
* 审批时间
*/
@ApiModelProperty("审批时间")
@TableField("approval_time")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "审批时间" , width = 30, dateFormat = "yyyy-MM-dd")
private Date approvalTime;
/**
* 姓名
*/
@ApiModelProperty("姓名")
@TableField("student_name")
@Excel(name = "姓名")
private String studentName;
/**
* 学号
*/
@ApiModelProperty("学号")
@TableField("student_no")
@Excel(name = "学号")
private String studentNo;
}

View File

@@ -3,7 +3,13 @@ package com.srs.flowable.listener.enlistmentReserve;
import com.srs.common.core.domain.entity.SysUser; import com.srs.common.core.domain.entity.SysUser;
import com.srs.common.doman.vo.TeacherVo;
import com.srs.common.utils.SecurityUtils; import com.srs.common.utils.SecurityUtils;
import com.srs.common.utils.spring.SpringUtils;
import com.srs.flowable.domain.EnlistmentReserve;
import com.srs.flowable.domain.EnlistmentReserveApproval;
import com.srs.flowable.mapper.EnlistmentReserveApprovalMapper;
import com.srs.flowable.mapper.EnlistmentReserveMapper;
import com.srs.system.service.ISysUserService; import com.srs.system.service.ISysUserService;
import org.flowable.bpmn.model.BpmnModel; import org.flowable.bpmn.model.BpmnModel;
import org.flowable.bpmn.model.FlowNode; import org.flowable.bpmn.model.FlowNode;
@@ -15,6 +21,7 @@ import org.flowable.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List; import java.util.List;
@@ -53,8 +60,14 @@ public class ApprovalAssigneeListener implements ExecutionListener {
// 3. 获取流程实例ID // 3. 获取流程实例ID
String processInstanceId = execution.getProcessInstanceId(); String processInstanceId = execution.getProcessInstanceId();
// 获取申请表id
Long enlistmentId = Long.valueOf(execution.getVariable("enlistmentId").toString());
// 获取审核意见
String approvalOpinion = (String) execution.getVariable("comment");
// 4. 后续逻辑不变:查询下一个节点负责人并更新变量 // 4. 后续逻辑不变:查询下一个节点负责人并更新变量
Long nextAssigneeId = getNextAssignee(currentNodeName, processInstanceId); Long nextAssigneeId = getNextAssignee(currentNodeName, processInstanceId, enlistmentId, currentActivityId, approvalOpinion);
if (nextAssigneeId != null) { if (nextAssigneeId != null) {
execution.setVariable("approval", nextAssigneeId); execution.setVariable("approval", nextAssigneeId);
execution.setVariable("currentNode", currentNodeName); execution.setVariable("currentNode", currentNodeName);
@@ -79,11 +92,16 @@ public class ApprovalAssigneeListener implements ExecutionListener {
/** /**
* 根据当前节点查询下一个节点的负责人 * 根据当前节点查询下一个节点的负责人
*/ */
private Long getNextAssignee(String currentNodeName, String processInstanceId) { private Long getNextAssignee(String currentNodeName, String processInstanceId, Long enlistmentId, String currentActivityId, String approvalOpinion) {
// 获取当前登录用户的部门id EnlistmentReserveMapper rtEnlistmentReserveMapper = (EnlistmentReserveMapper) SpringUtils.getBean(EnlistmentReserveMapper.class);
Long currentDeptId = SecurityUtils.getDeptId(); // 根据Id查询入伍申请记录
EnlistmentReserve enlistmentReserve = rtEnlistmentReserveMapper.selectRtEnlistmentReserveById(enlistmentId);
// 根据学生学号来获取对应辅导员的信息
TeacherVo counselorInfo = rtEnlistmentReserveMapper.getCounselorInfo(enlistmentReserve.getStudentNo());
// 获取辅导员的部门id
Long currentDeptId = counselorInfo.getDeptId();
if (currentDeptId == null) { if (currentDeptId == null) {
throw new RuntimeException("当前登录用户未分配部门,无法匹配学务负责人"); throw new RuntimeException("未分配部门,无法匹配负责人");
} }
// 注意节点名称需与BPMN模型中完全一致区分大小写 // 注意节点名称需与BPMN模型中完全一致区分大小写
switch (currentNodeName) { switch (currentNodeName) {
@@ -97,13 +115,16 @@ public class ApprovalAssigneeListener implements ExecutionListener {
throw new RuntimeException("未查询到角色ID=105学务的用户"); throw new RuntimeException("未查询到角色ID=105学务的用户");
} }
// 3. 从学务用户中筛选出部门ID与当前辅导员部门一致的用户 // 从学务用户中筛选出部门ID与当前辅导员部门一致的用户
SysUser targetAcademic = academicAffairsUsers.stream() SysUser targetAcademic = academicAffairsUsers.stream()
.filter(user -> currentDeptId.equals(user.getDeptId())) // 部门ID匹配 .filter(user -> currentDeptId.equals(user.getDeptId())) // 部门ID匹配
.findFirst() // 取第一个匹配的学务(若有多个,可根据排序或优先级调整) .findFirst() // 取第一个匹配的学务(若有多个,可根据排序或优先级调整)
.orElseThrow(() -> new RuntimeException("未找到部门ID=" + currentDeptId + "的学务负责人")); .orElseThrow(() -> new RuntimeException("未找到部门ID=" + currentDeptId + "的学务负责人"));
// 4. 返回匹配的学务用户ID作为下一个节点负责人 // 添加审批记录
saveApprovalRecord(enlistmentReserve.getId(), enlistmentReserve.getProcessInstanceId(),currentActivityId,currentNodeName, enlistmentReserve.getStudentName(), enlistmentReserve.getStudentNo(), approvalOpinion);
// 返回匹配的学务用户ID作为下一个节点负责人
return targetAcademic.getUserId(); return targetAcademic.getUserId();
case "学务审批": case "学务审批":
@@ -128,23 +149,79 @@ public class ApprovalAssigneeListener implements ExecutionListener {
.findFirst() .findFirst()
.orElseThrow(() -> new RuntimeException("未找到学院ID=" + currentDeptId + "的二级学院负责人角色ID=106")); .orElseThrow(() -> new RuntimeException("未找到学院ID=" + currentDeptId + "的二级学院负责人角色ID=106"));
// 添加审批记录
saveApprovalRecord(enlistmentReserve.getId(), enlistmentReserve.getProcessInstanceId(),currentActivityId,currentNodeName, enlistmentReserve.getStudentName(), enlistmentReserve.getStudentNo(), approvalOpinion);
// 4. 返回匹配的二级学院负责人ID // 4. 返回匹配的二级学院负责人ID
return targetCollegeLeader.getUserId(); return targetCollegeLeader.getUserId();
case "二级学院审批": case "二级学院审批":
// 二级学院通过后 → 下一个节点学籍管理科假设部门ID=30 // 二级学院通过后 → 下一个节点学籍管理科假设部门ID=30
// 添加审批记录
saveApprovalRecord(enlistmentReserve.getId(), enlistmentReserve.getProcessInstanceId(),currentActivityId,currentNodeName, enlistmentReserve.getStudentName(), enlistmentReserve.getStudentNo(), approvalOpinion);
return 30L; return 30L;
case "学籍管理科审批": case "学籍管理科审批":
// 学籍管理科通过后 → 下一个节点教务处假设部门ID=40 // 学籍管理科通过后 → 下一个节点教务处假设部门ID=40
// 添加审批记录
saveApprovalRecord(enlistmentReserve.getId(), enlistmentReserve.getProcessInstanceId(),currentActivityId,currentNodeName, enlistmentReserve.getStudentName(), enlistmentReserve.getStudentNo(), approvalOpinion);
return 40L; return 40L;
case "教务处主管领导审批": case "教务处主管领导审批":
// 最后一个节点通过后 → 流程结束(无需设置负责人) // 最后一个节点通过后 → 流程结束(无需设置负责人)
// 添加审批记录
saveApprovalRecord(enlistmentReserve.getId(), enlistmentReserve.getProcessInstanceId(),currentActivityId,currentNodeName, enlistmentReserve.getStudentName(), enlistmentReserve.getStudentNo(), approvalOpinion);
// 改变申请表中的审核状态(审核通过)
enlistmentReserve.setApplyStatus(2L);
rtEnlistmentReserveMapper.updateRtEnlistmentReserve(enlistmentReserve);
return null; return null;
default: default:
throw new RuntimeException("未配置节点[" + currentNodeName + "]的下一个负责人规则"); throw new RuntimeException("未配置节点[" + currentNodeName + "]的下一个负责人规则");
} }
} }
/**
* 通用审批记录保存方法
*/
private void saveApprovalRecord(Long ApplyId,String processInstanceId, String taskId, String nodeName, String studentName, String studentNo, String approvalOpinion) {
EnlistmentReserveApproval enlistmentReserveApproval = new EnlistmentReserveApproval();
// 赋值
enlistmentReserveApproval.setApplyId(ApplyId);
enlistmentReserveApproval.setProcessInstanceId(processInstanceId);
enlistmentReserveApproval.setTaskId(taskId);
enlistmentReserveApproval.setNodeName(nodeName);
enlistmentReserveApproval.setApproverId(SecurityUtils.getLoginUser().getUser().getUserId());
// SecurityUtils.getUserName()是工号
enlistmentReserveApproval.setApproverName(SecurityUtils.getLoginUser().getUser().getNickName());
// 若变量未传递,直接用默认值“同意”(前端点击同意按钮的默认意见)
enlistmentReserveApproval.setApprovalOpinion(approvalOpinion != null ? approvalOpinion : "同意");
if (approvalOpinion != null) {
enlistmentReserveApproval.setApprovalResult(!approvalOpinion.equals("同意") ? 0L : 1L); // 1-通过,若有驳回场景需根据变量调整
}
// 审批时间:当前系统时间
enlistmentReserveApproval.setApprovalTime(new Date());
enlistmentReserveApproval.setStudentName(studentName);
enlistmentReserveApproval.setStudentNo(studentNo);
System.out.println(SecurityUtils.getLoginUser().getUser());
EnlistmentReserveApprovalMapper rtEnlistmentReserveApprovalMapper = (EnlistmentReserveApprovalMapper) SpringUtils.getBean(EnlistmentReserveApprovalMapper.class);
// 查询审批记录是否存在
EnlistmentReserveApproval enlistmentReserveApproval1 = rtEnlistmentReserveApprovalMapper.selectRtEnlistmentReserveApprovalByStuName(studentName, studentNo, SecurityUtils.getLoginUser().getUser().getUserId());
if (enlistmentReserveApproval1 == null) {
rtEnlistmentReserveApprovalMapper.insertRtEnlistmentReserveApproval(enlistmentReserveApproval);
} else {
enlistmentReserveApproval.setId(enlistmentReserveApproval1.getId());
rtEnlistmentReserveApprovalMapper.updateRtEnlistmentReserveApproval(enlistmentReserveApproval);
}
}
} }

View File

@@ -0,0 +1,72 @@
package com.srs.flowable.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.srs.flowable.domain.EnlistmentReserveApproval;
import org.apache.ibatis.annotations.Param;
/**
* 保留学籍审批记录Mapper接口
*
* @author srs
* @date 2025-11-13
*/
public interface EnlistmentReserveApprovalMapper extends BaseMapper<EnlistmentReserveApproval> {
/**
* 查询保留学籍审批记录
*
* @param id 保留学籍审批记录主键
* @return 保留学籍审批记录
*/
public EnlistmentReserveApproval selectRtEnlistmentReserveApprovalById(Long id);
/**
* 根据学生姓名学号和审批人id查询保留学籍审批记录
*
* @param
* @return 结果
*/
EnlistmentReserveApproval selectRtEnlistmentReserveApprovalByStuName(@Param("studentName") String studentName, @Param("studentNo") String studentNo, @Param("approverId") Long approverId);
/**
* 查询保留学籍审批记录列表
*
* @param enlistmentReserveApproval 保留学籍审批记录
* @return 保留学籍审批记录集合
*/
List<EnlistmentReserveApproval> selectRtEnlistmentReserveApprovalList(EnlistmentReserveApproval enlistmentReserveApproval);
/**
* 新增保留学籍审批记录
*
* @param enlistmentReserveApproval 保留学籍审批记录
* @return 结果
*/
int insertRtEnlistmentReserveApproval(EnlistmentReserveApproval enlistmentReserveApproval);
/**
* 修改保留学籍审批记录
*
* @param enlistmentReserveApproval 保留学籍审批记录
* @return 结果
*/
int updateRtEnlistmentReserveApproval(EnlistmentReserveApproval enlistmentReserveApproval);
/**
* 删除保留学籍审批记录
*
* @param id 保留学籍审批记录主键
* @return 结果
*/
int deleteRtEnlistmentReserveApprovalById(Long id);
/**
* 批量删除保留学籍审批记录
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int deleteRtEnlistmentReserveApprovalByIds(Long[] ids);
}

View File

@@ -0,0 +1,77 @@
package com.srs.flowable.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.srs.common.doman.vo.TeacherVo;
import com.srs.flowable.domain.EnlistmentReserve;
import org.apache.ibatis.annotations.Options;
import java.util.List;
/**
* 应征入伍保留学籍申请Mapper接口
*
* @author srs
* @date 2025-10-31
*/
public interface EnlistmentReserveMapper extends BaseMapper<EnlistmentReserve> {
/**
* 查询应征入伍保留学籍申请
*
* @param id 应征入伍保留学籍申请主键
* @return 应征入伍保留学籍申请
*/
public EnlistmentReserve selectRtEnlistmentReserveById(Long id);
/**
* 查询应征入伍保留学籍申请
*
* @param processInstanceId Flowable流程实例ID
* @return 应征入伍保留学籍申请
*/
public EnlistmentReserve selectRtEnlistmentReserveByProcessInstanceId(String processInstanceId);
// <!-- 根据学号查询辅导员信息 -->
public TeacherVo getCounselorInfo(String stuNo);
/**
* 查询应征入伍保留学籍申请列表
*
* @param rtEnlistmentReserve 应征入伍保留学籍申请
* @return 应征入伍保留学籍申请集合
*/
List<EnlistmentReserve> selectRtEnlistmentReserveList(EnlistmentReserve rtEnlistmentReserve);
/**
* 新增应征入伍保留学籍申请
*
* @param enlistmentReserve 应征入伍保留学籍申请
* @return 结果
*/
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
int insertRtEnlistmentReserve(EnlistmentReserve enlistmentReserve);
/**
* 修改应征入伍保留学籍申请
*
* @param enlistmentReserve 应征入伍保留学籍申请
* @return 结果
*/
int updateRtEnlistmentReserve(EnlistmentReserve enlistmentReserve);
/**
* 删除应征入伍保留学籍申请
*
* @param id 应征入伍保留学籍申请主键
* @return 结果
*/
int deleteRtEnlistmentReserveById(Long id);
/**
* 批量删除应征入伍保留学籍申请
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int deleteRtEnlistmentReserveByIds(Long[] ids);
}

View File

@@ -0,0 +1,122 @@
<?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.srs.flowable.mapper.EnlistmentReserveApprovalMapper">
<resultMap type="EnlistmentReserveApproval" id="RtEnlistmentReserveApprovalResult">
<result property="id" column="id" />
<result property="applyId" column="apply_id" />
<result property="processInstanceId" column="process_instance_id" />
<result property="taskId" column="task_id" />
<result property="nodeName" column="node_name" />
<result property="approverId" column="approver_id" />
<result property="approverName" column="approver_name" />
<result property="approvalOpinion" column="approval_opinion" />
<result property="approvalResult" column="approval_result" />
<result property="approvalTime" column="approval_time" />
<result property="studentName" column="student_name" />
<result property="studentNo" column="student_no" />
</resultMap>
<sql id="selectRtEnlistmentReserveApprovalVo">
select id, apply_id, process_instance_id, task_id, node_name, approver_id, approver_name, approval_opinion, approval_result, approval_time, student_name, student_no from rt_enlistment_reserve_approval
</sql>
<select id="selectRtEnlistmentReserveApprovalList" parameterType="EnlistmentReserveApproval" resultMap="RtEnlistmentReserveApprovalResult">
<include refid="selectRtEnlistmentReserveApprovalVo"/>
<where>
<if test="applyId != null "> and apply_id = #{applyId}</if>
<if test="processInstanceId != null and processInstanceId != ''"> and process_instance_id = #{processInstanceId}</if>
<if test="taskId != null and taskId != ''"> and task_id = #{taskId}</if>
<if test="nodeName != null and nodeName != ''"> and node_name like concat('%', #{nodeName}, '%')</if>
<if test="approverId != null "> and approver_id = #{approverId}</if>
<if test="approverName != null and approverName != ''"> and approver_name like concat('%', #{approverName}, '%')</if>
<if test="approvalOpinion != null and approvalOpinion != ''"> and approval_opinion = #{approvalOpinion}</if>
<if test="approvalResult != null "> and approval_result = #{approvalResult}</if>
<if test="approvalTime != null "> and approval_time = #{approvalTime}</if>
<if test="studentName != null and studentName != ''"> and student_name like concat('%', #{studentName}, '%')</if>
<if test="studentNo != null and studentNo != ''"> and student_no = #{studentNo}</if>
</where>
</select>
<select id="selectRtEnlistmentReserveApprovalById" parameterType="Long" resultMap="RtEnlistmentReserveApprovalResult">
<include refid="selectRtEnlistmentReserveApprovalVo"/>
where id = #{id}
</select>
<select id="selectRtEnlistmentReserveApprovalByStuName" resultMap="RtEnlistmentReserveApprovalResult">
select *
from rt_enlistment_reserve_approval
<where>
<if test="studentName != null and studentName != ''">
and student_name = #{studentName}
</if>
<if test="studentNo != null and studentNo != ''">
and student_no = #{studentNo}
</if>
<if test="approverId != null and approverId != ''">
and approver_id = #{approverId}
</if>
</where>
</select>
<insert id="insertRtEnlistmentReserveApproval" parameterType="RtEnlistmentReserveApproval" useGeneratedKeys="true" keyProperty="id">
insert into rt_enlistment_reserve_approval
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="applyId != null">apply_id,</if>
<if test="processInstanceId != null and processInstanceId != ''">process_instance_id,</if>
<if test="taskId != null and taskId != ''">task_id,</if>
<if test="nodeName != null and nodeName != ''">node_name,</if>
<if test="approverId != null">approver_id,</if>
<if test="approverName != null and approverName != ''">approver_name,</if>
<if test="approvalOpinion != null">approval_opinion,</if>
<if test="approvalResult != null">approval_result,</if>
<if test="approvalTime != null">approval_time,</if>
<if test="studentName != null and studentName != ''">student_name,</if>
<if test="studentNo != null and studentNo != ''">student_no,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="applyId != null">#{applyId},</if>
<if test="processInstanceId != null and processInstanceId != ''">#{processInstanceId},</if>
<if test="taskId != null and taskId != ''">#{taskId},</if>
<if test="nodeName != null and nodeName != ''">#{nodeName},</if>
<if test="approverId != null">#{approverId},</if>
<if test="approverName != null and approverName != ''">#{approverName},</if>
<if test="approvalOpinion != null">#{approvalOpinion},</if>
<if test="approvalResult != null">#{approvalResult},</if>
<if test="approvalTime != null">#{approvalTime},</if>
<if test="studentName != null and studentName != ''">#{studentName},</if>
<if test="studentNo != null and studentNo != ''">#{studentNo},</if>
</trim>
</insert>
<update id="updateRtEnlistmentReserveApproval" parameterType="RtEnlistmentReserveApproval">
update rt_enlistment_reserve_approval
<trim prefix="SET" suffixOverrides=",">
<if test="applyId != null">apply_id = #{applyId},</if>
<if test="processInstanceId != null and processInstanceId != ''">process_instance_id = #{processInstanceId},</if>
<if test="taskId != null and taskId != ''">task_id = #{taskId},</if>
<if test="nodeName != null and nodeName != ''">node_name = #{nodeName},</if>
<if test="approverId != null">approver_id = #{approverId},</if>
<if test="approverName != null and approverName != ''">approver_name = #{approverName},</if>
<if test="approvalOpinion != null">approval_opinion = #{approvalOpinion},</if>
<if test="approvalResult != null">approval_result = #{approvalResult},</if>
<if test="approvalTime != null">approval_time = #{approvalTime},</if>
<if test="studentName != null and studentName != ''">student_name = #{studentName},</if>
<if test="studentNo != null and studentNo != ''">student_no = #{studentNo},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteRtEnlistmentReserveApprovalById" parameterType="Long">
delete from rt_enlistment_reserve_approval where id = #{id}
</delete>
<delete id="deleteRtEnlistmentReserveApprovalByIds" parameterType="String">
delete from rt_enlistment_reserve_approval where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,169 @@
<?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.srs.flowable.mapper.EnlistmentReserveMapper">
<resultMap type="EnlistmentReserve" id="RtEnlistmentReserveResult">
<result property="id" column="id" />
<result property="applyNo" column="apply_no" />
<result property="studentId" column="student_id" />
<result property="teacherName" column="teacher_name" />
<result property="studentName" column="student_name" />
<result property="gender" column="gender" />
<result property="nation" column="nation" />
<result property="grade" column="grade" />
<result property="studentNo" column="student_no" />
<result property="className" column="class_name" />
<result property="major" column="major" />
<result property="familyAddress" column="family_address" />
<result property="parentPhone" column="parent_phone" />
<result property="applyReason" column="apply_reason" />
<result property="applyStatus" column="apply_status" />
<result property="processInstanceId" column="process_instance_id" />
<result property="reserveNo" column="reserve_no" />
<result property="reserveStartDate" column="reserve_start_date" />
<result property="reserveEndDate" column="reserve_end_date" />
<result property="approvalNo" column="approval_no" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectRtEnlistmentReserveVo">
select id, apply_no, student_id, teacher_name, student_name, gender, nation, grade, student_no, class_name, major, family_address, parent_phone, apply_reason, apply_status, process_instance_id, reserve_no, reserve_start_date, reserve_end_date, approval_no, create_time, update_time from rt_enlistment_reserve
</sql>
<select id="selectRtEnlistmentReserveList" parameterType="EnlistmentReserve" resultMap="RtEnlistmentReserveResult">
<include refid="selectRtEnlistmentReserveVo"/>
<where>
<if test="applyNo != null and applyNo != ''"> and apply_no = #{applyNo}</if>
<if test="studentId != null "> and student_id = #{studentId}</if>
<if test="teacherName != null and teacherName != ''"> and teacher_name like concat('%', #{teacherName}, '%')</if>
<if test="studentName != null and studentName != ''"> and student_name like concat('%', #{studentName}, '%')</if>
<if test="gender != null and gender != ''"> and gender = #{gender}</if>
<if test="nation != null and nation != ''"> and nation = #{nation}</if>
<if test="grade != null and grade != ''"> and grade = #{grade}</if>
<if test="studentNo != null and studentNo != ''"> and student_no = #{studentNo}</if>
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
<if test="major != null and major != ''"> and major = #{major}</if>
<if test="familyAddress != null and familyAddress != ''"> and family_address = #{familyAddress}</if>
<if test="parentPhone != null and parentPhone != ''"> and parent_phone = #{parentPhone}</if>
<if test="applyReason != null and applyReason != ''"> and apply_reason = #{applyReason}</if>
<if test="applyStatus != null "> and apply_status = #{applyStatus}</if>
<if test="processInstanceId != null and processInstanceId != ''"> and process_instance_id = #{processInstanceId}</if>
<if test="reserveNo != null and reserveNo != ''"> and reserve_no = #{reserveNo}</if>
<if test="reserveStartDate != null "> and reserve_start_date = #{reserveStartDate}</if>
<if test="reserveEndDate != null "> and reserve_end_date = #{reserveEndDate}</if>
<if test="approvalNo != null and approvalNo != ''"> and approval_no = #{approvalNo}</if>
</where>
</select>
<select id="selectRtEnlistmentReserveById" parameterType="Long" resultMap="RtEnlistmentReserveResult">
<include refid="selectRtEnlistmentReserveVo"/>
where id = #{id}
</select>
<select id="selectRtEnlistmentReserveByProcessInstanceId" parameterType="String" resultMap="RtEnlistmentReserveResult">
<include refid="selectRtEnlistmentReserveVo"/>
where process_instance_id = #{processInstanceId}
</select>
<!-- 根据学号查询辅导员信息 -->
<select id="getCounselorInfo" resultType="com.srs.common.doman.vo.TeacherVo">
SELECT d.user_id userId, d.dept_id deptId, d.user_name userName, d.nick_name nickName
FROM srs_student a
LEFT JOIN srs_class b ON a.class_id = b.class_id
LEFT JOIN cph_teacher c ON b.teacher_id = c.teacher_id
LEFT JOIN sys_user d ON c.employee_id = d.user_name
WHERE a.stu_no = #{stuNo}
</select>
<insert id="insertRtEnlistmentReserve" parameterType="RtEnlistmentReserve" useGeneratedKeys="true" keyProperty="id">
insert into rt_enlistment_reserve
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="applyNo != null and applyNo != ''">apply_no,</if>
<if test="studentId != null">student_id,</if>
<if test="teacherName != null and teacherName != ''">teacher_name,</if>
<if test="studentName != null and studentName != ''">student_name,</if>
<if test="gender != null and gender != ''">gender,</if>
<if test="nation != null and nation != ''">nation,</if>
<if test="grade != null and grade != ''">grade,</if>
<if test="studentNo != null and studentNo != ''">student_no,</if>
<if test="className != null and className != ''">class_name,</if>
<if test="major != null and major != ''">major,</if>
<if test="familyAddress != null and familyAddress != ''">family_address,</if>
<if test="parentPhone != null and parentPhone != ''">parent_phone,</if>
<if test="applyReason != null and applyReason != ''">apply_reason,</if>
<if test="applyStatus != null">apply_status,</if>
<if test="processInstanceId != null">process_instance_id,</if>
<if test="reserveNo != null">reserve_no,</if>
<if test="reserveStartDate != null">reserve_start_date,</if>
<if test="reserveEndDate != null">reserve_end_date,</if>
<if test="approvalNo != null">approval_no,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="applyNo != null and applyNo != ''">#{applyNo},</if>
<if test="studentId != null">#{studentId},</if>
<if test="teacherName != null and teacherName != ''">#{teacherName},</if>
<if test="studentName != null and studentName != ''">#{studentName},</if>
<if test="gender != null and gender != ''">#{gender},</if>
<if test="nation != null and nation != ''">#{nation},</if>
<if test="grade != null and grade != ''">#{grade},</if>
<if test="studentNo != null and studentNo != ''">#{studentNo},</if>
<if test="className != null and className != ''">#{className},</if>
<if test="major != null and major != ''">#{major},</if>
<if test="familyAddress != null and familyAddress != ''">#{familyAddress},</if>
<if test="parentPhone != null and parentPhone != ''">#{parentPhone},</if>
<if test="applyReason != null and applyReason != ''">#{applyReason},</if>
<if test="applyStatus != null">#{applyStatus},</if>
<if test="processInstanceId != null">#{processInstanceId},</if>
<if test="reserveNo != null">#{reserveNo},</if>
<if test="reserveStartDate != null">#{reserveStartDate},</if>
<if test="reserveEndDate != null">#{reserveEndDate},</if>
<if test="approvalNo != null">#{approvalNo},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateRtEnlistmentReserve" parameterType="RtEnlistmentReserve">
update rt_enlistment_reserve
<trim prefix="SET" suffixOverrides=",">
<if test="applyNo != null and applyNo != ''">apply_no = #{applyNo},</if>
<if test="studentId != null">student_id = #{studentId},</if>
<if test="teacherName != null and teacherName != ''">teacher_name = #{teacherName},</if>
<if test="studentName != null and studentName != ''">student_name = #{studentName},</if>
<if test="gender != null and gender != ''">gender = #{gender},</if>
<if test="nation != null and nation != ''">nation = #{nation},</if>
<if test="grade != null and grade != ''">grade = #{grade},</if>
<if test="studentNo != null and studentNo != ''">student_no = #{studentNo},</if>
<if test="className != null and className != ''">class_name = #{className},</if>
<if test="major != null and major != ''">major = #{major},</if>
<if test="familyAddress != null and familyAddress != ''">family_address = #{familyAddress},</if>
<if test="parentPhone != null and parentPhone != ''">parent_phone = #{parentPhone},</if>
<if test="applyReason != null and applyReason != ''">apply_reason = #{applyReason},</if>
<if test="applyStatus != null">apply_status = #{applyStatus},</if>
<if test="processInstanceId != null">process_instance_id = #{processInstanceId},</if>
<if test="reserveNo != null">reserve_no = #{reserveNo},</if>
<if test="reserveStartDate != null">reserve_start_date = #{reserveStartDate},</if>
<if test="reserveEndDate != null">reserve_end_date = #{reserveEndDate},</if>
<if test="approvalNo != null">approval_no = #{approvalNo},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteRtEnlistmentReserveById" parameterType="Long">
delete from rt_enlistment_reserve where id = #{id}
</delete>
<delete id="deleteRtEnlistmentReserveByIds" parameterType="String">
delete from rt_enlistment_reserve where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@@ -70,9 +70,9 @@ private static final long serialVersionUID=1L;
/** /**
* 性别0-男 * 性别0-男
*/ */
@ApiModelProperty("性别(0-男") @ApiModelProperty("性别(1-男 0-女)")
@TableField("gender") @TableField("gender")
@Excel(name = "性别" , readConverterExp = "性别(0-男") @Excel(name = "性别" , readConverterExp = "性别(1-男 0-女)")
private String gender; private String gender;
/** /**

View File

@@ -15,7 +15,7 @@ import com.srs.common.core.domain.BaseEntity;
* 保留学籍审批记录对象 rt_enlistment_reserve_approval * 保留学籍审批记录对象 rt_enlistment_reserve_approval
* *
* @author srs * @author srs
* @date 2025-10-31 * @date 2025-11-13
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -25,7 +25,7 @@ import com.srs.common.core.domain.BaseEntity;
@ApiModel(value = "RtEnlistmentReserveApproval对象" , description = "保留学籍审批记录") @ApiModel(value = "RtEnlistmentReserveApproval对象" , description = "保留学籍审批记录")
@TableName("rt_enlistment_reserve_approval") @TableName("rt_enlistment_reserve_approval")
public class RtEnlistmentReserveApproval extends BaseEntity{ public class RtEnlistmentReserveApproval extends BaseEntity{
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
/** /**
* 主键 * 主键
@@ -107,5 +107,21 @@ private static final long serialVersionUID=1L;
@Excel(name = "审批时间" , width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "审批时间" , width = 30, dateFormat = "yyyy-MM-dd")
private Date approvalTime; private Date approvalTime;
/**
* 姓名
*/
@ApiModelProperty("姓名")
@TableField("student_name")
@Excel(name = "姓名")
private String studentName;
/**
* 学号
*/
@ApiModelProperty("学号")
@TableField("student_no")
@Excel(name = "学号")
private String studentNo;
} }

View File

@@ -4,12 +4,13 @@ import java.util.List;
import com.srs.routine.domain.RtEnlistmentReserveApproval; import com.srs.routine.domain.RtEnlistmentReserveApproval;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/** /**
* 保留学籍审批记录Mapper接口 * 保留学籍审批记录Mapper接口
* *
* @author srs * @author srs
* @date 2025-10-31 * @date 2025-11-13
*/ */
public interface RtEnlistmentReserveApprovalMapper extends BaseMapper<RtEnlistmentReserveApproval> { public interface RtEnlistmentReserveApprovalMapper extends BaseMapper<RtEnlistmentReserveApproval> {
/** /**
@@ -52,6 +53,14 @@ public interface RtEnlistmentReserveApprovalMapper extends BaseMapper<RtEnlistme
*/ */
int deleteRtEnlistmentReserveApprovalById(Long id); int deleteRtEnlistmentReserveApprovalById(Long id);
/**
* 根据学生姓名学号和审批人id查询保留学籍审批记录
*
* @param
* @return 结果
*/
RtEnlistmentReserveApproval selectRtEnlistmentReserveApprovalByStuName(@Param("studentName") String studentName, @Param("studentNo") String studentNo, @Param("approverId") Long approverId);
/** /**
* 批量删除保留学籍审批记录 * 批量删除保留学籍审批记录
* *

View File

@@ -196,7 +196,7 @@ public class RtEnlistmentReserveServiceImpl extends ServiceImpl<RtEnlistmentRese
variables.put("deptId", counselorInfo.getDeptId()); variables.put("deptId", counselorInfo.getDeptId());
// 3. 启动流程 // 3. 启动流程
AjaxResult ajaxResult = flowDefinitionService.startProcessInstanceById("flow_r064jfpz:7:1055004", variables); AjaxResult ajaxResult = flowDefinitionService.startProcessInstanceById("flow_r064jfpz:8:1080009", variables);
String code = ajaxResult.get("code").toString(); String code = ajaxResult.get("code").toString();
if (!"200".equals(code)) { if (!"200".equals(code)) {
throw new ServiceException("流程启动失败,错误码:" + code, 500); throw new ServiceException("流程启动失败,错误码:" + code, 500);

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.srs.routine.mapper.RtEnlistmentReserveApprovalMapper"> <mapper namespace="com.srs.routine.mapper.RtEnlistmentReserveApprovalMapper">
<resultMap type="RtEnlistmentReserveApproval" id="RtEnlistmentReserveApprovalResult"> <resultMap type="EnlistmentReserveApproval" id="RtEnlistmentReserveApprovalResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="applyId" column="apply_id" /> <result property="applyId" column="apply_id" />
<result property="processInstanceId" column="process_instance_id" /> <result property="processInstanceId" column="process_instance_id" />
@@ -15,15 +15,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="approvalOpinion" column="approval_opinion" /> <result property="approvalOpinion" column="approval_opinion" />
<result property="approvalResult" column="approval_result" /> <result property="approvalResult" column="approval_result" />
<result property="approvalTime" column="approval_time" /> <result property="approvalTime" column="approval_time" />
<result property="studentName" column="student_name" />
<result property="studentNo" column="student_no" />
</resultMap> </resultMap>
<sql id="selectRtEnlistmentReserveApprovalVo"> <sql id="selectRtEnlistmentReserveApprovalVo">
select id, apply_id, process_instance_id, task_id, node_name, approver_id, approver_name, approval_opinion, approval_result, approval_time from rt_enlistment_reserve_approval select id, apply_id, process_instance_id, task_id, node_name, approver_id, approver_name, approval_opinion, approval_result, approval_time, student_name, student_no from rt_enlistment_reserve_approval
</sql> </sql>
<select id="selectRtEnlistmentReserveApprovalList" parameterType="RtEnlistmentReserveApproval" resultMap="RtEnlistmentReserveApprovalResult"> <select id="selectRtEnlistmentReserveApprovalList" parameterType="EnlistmentReserveApproval" resultMap="RtEnlistmentReserveApprovalResult">
<include refid="selectRtEnlistmentReserveApprovalVo"/> <include refid="selectRtEnlistmentReserveApprovalVo"/>
<where> <where>
<if test="applyId != null "> and apply_id = #{applyId}</if> <if test="applyId != null "> and apply_id = #{applyId}</if>
<if test="processInstanceId != null and processInstanceId != ''"> and process_instance_id = #{processInstanceId}</if> <if test="processInstanceId != null and processInstanceId != ''"> and process_instance_id = #{processInstanceId}</if>
<if test="taskId != null and taskId != ''"> and task_id = #{taskId}</if> <if test="taskId != null and taskId != ''"> and task_id = #{taskId}</if>
@@ -33,15 +35,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="approvalOpinion != null and approvalOpinion != ''"> and approval_opinion = #{approvalOpinion}</if> <if test="approvalOpinion != null and approvalOpinion != ''"> and approval_opinion = #{approvalOpinion}</if>
<if test="approvalResult != null "> and approval_result = #{approvalResult}</if> <if test="approvalResult != null "> and approval_result = #{approvalResult}</if>
<if test="approvalTime != null "> and approval_time = #{approvalTime}</if> <if test="approvalTime != null "> and approval_time = #{approvalTime}</if>
<if test="studentName != null and studentName != ''"> and student_name like concat('%', #{studentName}, '%')</if>
<if test="studentNo != null and studentNo != ''"> and student_no = #{studentNo}</if>
</where> </where>
</select> </select>
<select id="selectRtEnlistmentReserveApprovalById" parameterType="Long" resultMap="RtEnlistmentReserveApprovalResult"> <select id="selectRtEnlistmentReserveApprovalById" parameterType="Long" resultMap="RtEnlistmentReserveApprovalResult">
<include refid="selectRtEnlistmentReserveApprovalVo"/> <include refid="selectRtEnlistmentReserveApprovalVo"/>
where id = #{id} where id = #{id}
</select> </select>
<insert id="insertRtEnlistmentReserveApproval" parameterType="RtEnlistmentReserveApproval" useGeneratedKeys="true" keyProperty="id"> <select id="selectRtEnlistmentReserveApprovalByStuName" resultMap="RtEnlistmentReserveApprovalResult">
select *
from rt_enlistment_reserve_approval
<where>
<if test="studentName != null and studentName != ''">
and student_name = #{studentName}
</if>
<if test="studentNo != null and studentNo != ''">
and student_no = #{studentNo}
</if>
<if test="approverId != null and approverId != ''">
and approver_id = #{approverId}
</if>
</where>
</select>
<insert id="insertRtEnlistmentReserveApproval" parameterType="EnlistmentReserveApproval" useGeneratedKeys="true" keyProperty="id">
insert into rt_enlistment_reserve_approval insert into rt_enlistment_reserve_approval
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="applyId != null">apply_id,</if> <if test="applyId != null">apply_id,</if>
@@ -53,7 +73,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="approvalOpinion != null">approval_opinion,</if> <if test="approvalOpinion != null">approval_opinion,</if>
<if test="approvalResult != null">approval_result,</if> <if test="approvalResult != null">approval_result,</if>
<if test="approvalTime != null">approval_time,</if> <if test="approvalTime != null">approval_time,</if>
</trim> <if test="studentName != null and studentName != ''">student_name,</if>
<if test="studentNo != null and studentNo != ''">student_no,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="applyId != null">#{applyId},</if> <if test="applyId != null">#{applyId},</if>
<if test="processInstanceId != null and processInstanceId != ''">#{processInstanceId},</if> <if test="processInstanceId != null and processInstanceId != ''">#{processInstanceId},</if>
@@ -64,10 +86,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="approvalOpinion != null">#{approvalOpinion},</if> <if test="approvalOpinion != null">#{approvalOpinion},</if>
<if test="approvalResult != null">#{approvalResult},</if> <if test="approvalResult != null">#{approvalResult},</if>
<if test="approvalTime != null">#{approvalTime},</if> <if test="approvalTime != null">#{approvalTime},</if>
</trim> <if test="studentName != null and studentName != ''">#{studentName},</if>
<if test="studentNo != null and studentNo != ''">#{studentNo},</if>
</trim>
</insert> </insert>
<update id="updateRtEnlistmentReserveApproval" parameterType="RtEnlistmentReserveApproval"> <update id="updateRtEnlistmentReserveApproval" parameterType="EnlistmentReserveApproval">
update rt_enlistment_reserve_approval update rt_enlistment_reserve_approval
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="applyId != null">apply_id = #{applyId},</if> <if test="applyId != null">apply_id = #{applyId},</if>
@@ -79,6 +103,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="approvalOpinion != null">approval_opinion = #{approvalOpinion},</if> <if test="approvalOpinion != null">approval_opinion = #{approvalOpinion},</if>
<if test="approvalResult != null">approval_result = #{approvalResult},</if> <if test="approvalResult != null">approval_result = #{approvalResult},</if>
<if test="approvalTime != null">approval_time = #{approvalTime},</if> <if test="approvalTime != null">approval_time = #{approvalTime},</if>
<if test="studentName != null and studentName != ''">student_name = #{studentName},</if>
<if test="studentNo != null and studentNo != ''">student_no = #{studentNo},</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>
@@ -88,7 +114,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete> </delete>
<delete id="deleteRtEnlistmentReserveApprovalByIds" parameterType="String"> <delete id="deleteRtEnlistmentReserveApprovalByIds" parameterType="String">
delete from rt_enlistment_reserve_approval where id in delete from rt_enlistment_reserve_approval where id in
<foreach item="id" collection="array" open="(" separator="," close=")"> <foreach item="id" collection="array" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>

View File

@@ -78,7 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE a.stu_no = #{stuNo} WHERE a.stu_no = #{stuNo}
</select> </select>
<insert id="insertRtEnlistmentReserve" parameterType="RtEnlistmentReserve" useGeneratedKeys="true" keyProperty="id"> <insert id="insertRtEnlistmentReserve" parameterType="EnlistmentReserve" useGeneratedKeys="true" keyProperty="id">
insert into rt_enlistment_reserve insert into rt_enlistment_reserve
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="applyNo != null and applyNo != ''">apply_no,</if> <if test="applyNo != null and applyNo != ''">apply_no,</if>
@@ -128,7 +128,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim> </trim>
</insert> </insert>
<update id="updateRtEnlistmentReserve" parameterType="RtEnlistmentReserve"> <update id="updateRtEnlistmentReserve" parameterType="EnlistmentReserve">
update rt_enlistment_reserve update rt_enlistment_reserve
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="applyNo != null and applyNo != ''">apply_no = #{applyNo},</if> <if test="applyNo != null and applyNo != ''">apply_no = #{applyNo},</if>