入伍保留学籍、外宿申请-审批人修改成电子签名

This commit is contained in:
2025-12-19 15:31:45 +08:00
parent ab366ef0da
commit 27efd6a39d
12 changed files with 223 additions and 110 deletions

View File

@@ -1,6 +1,7 @@
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.*;
@@ -10,7 +11,6 @@ import lombok.*;
import com.srs.common.core.domain.BaseEntity;
/**
* 保留学籍审批记录对象 rt_enlistment_reserve_approval
*
@@ -22,10 +22,10 @@ import com.srs.common.core.domain.BaseEntity;
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "RtEnlistmentReserveApproval对象" , description = "保留学籍审批记录")
@ApiModel(value = "RtEnlistmentReserveApproval对象", description = "保留学籍审批记录")
@TableName("rt_enlistment_reserve_approval")
public class EnlistmentReserveApproval extends BaseEntity{
private static final long serialVersionUID=1L;
public class EnlistmentReserveApproval extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
@@ -63,7 +63,7 @@ public class EnlistmentReserveApproval extends BaseEntity{
*/
@ApiModelProperty("审批节点(辅导员/学务等)")
@TableField("node_name")
@Excel(name = "审批节点" , readConverterExp = "辅=导员/学务等")
@Excel(name = "审批节点", readConverterExp = "辅=导员/学务等")
private String nodeName;
/**
@@ -71,7 +71,7 @@ public class EnlistmentReserveApproval extends BaseEntity{
*/
@ApiModelProperty("审批人ID关联sys_user")
@TableField("approver_id")
@Excel(name = "审批人ID" , readConverterExp = "关=联sys_user")
@Excel(name = "审批人ID", readConverterExp = "关=联sys_user")
private Long approverId;
/**
@@ -95,7 +95,7 @@ public class EnlistmentReserveApproval extends BaseEntity{
*/
@ApiModelProperty("审批结果1-通过")
@TableField("approval_result")
@Excel(name = "审批结果" , readConverterExp = "审批结果1-通过")
@Excel(name = "审批结果", readConverterExp = "审批结果1-通过")
private Long approvalResult;
/**
@@ -104,7 +104,7 @@ public class EnlistmentReserveApproval extends BaseEntity{
@ApiModelProperty("审批时间")
@TableField("approval_time")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "审批时间" , width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date approvalTime;
/**
@@ -123,5 +123,12 @@ public class EnlistmentReserveApproval extends BaseEntity{
@Excel(name = "学号")
private String studentNo;
/**
* 签名
*/
@ApiModelProperty("签名")
@TableField("signature")
@Excel(name = "签名")
private String signature;
}

View File

@@ -14,7 +14,6 @@ import lombok.*;
import java.util.Date;
/**
* 外宿申请审批记录对象 dms_outside_accommodation_approval
*
@@ -26,10 +25,10 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "DmsOutsideAccommodationApproval对象" , description = "外宿申请审批记录表")
@ApiModel(value = "DmsOutsideAccommodationApproval对象", description = "外宿申请审批记录表")
@TableName("dms_outside_accommodation_approval")
public class OutsideAccommodationApproval extends BaseEntity{
private static final long serialVersionUID=1L;
public class OutsideAccommodationApproval extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键ID
@@ -43,7 +42,7 @@ private static final long serialVersionUID=1L;
*/
@ApiModelProperty("外宿申请ID关联申请表")
@TableField("apply_id")
@Excel(name = "外宿申请ID" , readConverterExp = "关=联申请表")
@Excel(name = "外宿申请ID", readConverterExp = "关=联申请表")
private Long applyId;
/**
@@ -99,7 +98,7 @@ private static final long serialVersionUID=1L;
*/
@ApiModelProperty("审批结果1=同意0=驳回)")
@TableField("approval_result")
@Excel(name = "审批结果" , readConverterExp = "1==同意0=驳回")
@Excel(name = "审批结果", readConverterExp = "1==同意0=驳回")
private Long approvalResult;
/**
@@ -108,7 +107,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("审批时间")
@TableField("approval_time")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "审批时间" , width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date approvalTime;
/**
@@ -136,4 +135,12 @@ private static final long serialVersionUID=1L;
private String studentNo;
/**
* 签名
*/
@ApiModelProperty("签名")
@TableField("signature")
@Excel(name = "签名")
private String signature;
}

View File

@@ -61,6 +61,9 @@ public class ApprovalAssigneeListener implements ExecutionListener {
// 获取审核意见
String approvalOpinion = (String) execution.getVariable("approvalOpinion");
// 获取签名
String signature = (String) execution.getVariable("signature");
// 获取审核状态兼容Integer/Long类型
Object approvalResultObj = execution.getVariable("approvalResult");
Long approvalResult = null;
@@ -74,7 +77,7 @@ public class ApprovalAssigneeListener implements ExecutionListener {
// 根据Id查询入伍申请记录
EnlistmentReserve enlistmentReserve = rtEnlistmentReserveMapper.selectRtEnlistmentReserveById(enlistmentId);
// 添加审批记录
saveApprovalRecord(enlistmentReserve.getId(), enlistmentReserve.getProcessInstanceId(),currentActivityId,currentNodeName, enlistmentReserve.getStudentName(), enlistmentReserve.getStudentNo(), approvalOpinion, approvalResult);
saveApprovalRecord(enlistmentReserve.getId(), enlistmentReserve.getProcessInstanceId(),currentActivityId,currentNodeName, enlistmentReserve.getStudentName(), enlistmentReserve.getStudentNo(), approvalOpinion, approvalResult, signature);
Long status = 1L;
if (currentNodeName.equals("辅导员审批")) {
@@ -120,7 +123,7 @@ public class ApprovalAssigneeListener implements ExecutionListener {
/**
* 通用审批记录保存方法
*/
private void saveApprovalRecord(Long ApplyId,String processInstanceId, String taskId, String nodeName, String studentName, String studentNo, String approvalOpinion, Long approvalResult) {
private void saveApprovalRecord(Long ApplyId,String processInstanceId, String taskId, String nodeName, String studentName, String studentNo, String approvalOpinion, Long approvalResult, String signature) {
EnlistmentReserveApproval enlistmentReserveApproval = new EnlistmentReserveApproval();
// 赋值
enlistmentReserveApproval.setApplyId(ApplyId);
@@ -141,7 +144,9 @@ public class ApprovalAssigneeListener implements ExecutionListener {
enlistmentReserveApproval.setApprovalTime(new Date());
enlistmentReserveApproval.setStudentName(studentName);
enlistmentReserveApproval.setStudentNo(studentNo);
System.out.println(SecurityUtils.getLoginUser().getUser());
// System.out.println(SecurityUtils.getLoginUser().getUser());
// 设置签名
enlistmentReserveApproval.setSignature(signature);
EnlistmentReserveApprovalMapper rtEnlistmentReserveApprovalMapper = (EnlistmentReserveApprovalMapper) SpringUtils.getBean(EnlistmentReserveApprovalMapper.class);
// 查询审批记录是否存在
EnlistmentReserveApproval enlistmentReserveApproval1 = rtEnlistmentReserveApprovalMapper.selectRtEnlistmentReserveApprovalByStuName(studentName, studentNo, SecurityUtils.getLoginUser().getUser().getUserId());

View File

@@ -48,6 +48,9 @@ public class OutsideAccommodationEndListener implements ExecutionListener {
// 获取审核意见
String approvalOpinion = (String) execution.getVariable("approvalOpinion");
// 获取签名
String signature = (String) execution.getVariable("signature");
// 获取审核状态兼容Integer/Long类型
Object approvalResultObj = execution.getVariable("approvalResult");
Long approvalResult = null;
@@ -62,7 +65,7 @@ public class OutsideAccommodationEndListener implements ExecutionListener {
// 根据Id查询外宿申请记录
OutsideAccommodationApply outsideAccommodationApply = outsideAccommodationApplyMapper.selectDmsOutsideAccommodationApplyById(accommodationId);
// 添加审批记录
saveApprovalRecord(outsideAccommodationApply.getId(), outsideAccommodationApply.getProcessInstanceId(),outsideAccommodationApply.getApplyNo(),currentNodeName, outsideAccommodationApply.getStudentName(), outsideAccommodationApply.getStudentNo(), approvalOpinion, approvalResult);
saveApprovalRecord(outsideAccommodationApply.getId(), outsideAccommodationApply.getProcessInstanceId(),outsideAccommodationApply.getApplyNo(),currentNodeName, outsideAccommodationApply.getStudentName(), outsideAccommodationApply.getStudentNo(), approvalOpinion, approvalResult, signature);
Long status = 1L;
if (currentNodeName.equals("辅导员审批")) {
status = 2L;
@@ -105,7 +108,7 @@ public class OutsideAccommodationEndListener implements ExecutionListener {
/**
* 通用审批记录保存方法
*/
private void saveApprovalRecord(Long ApplyId,String processInstanceId, String applyNo, String nodeName, String studentName, String studentNo, String approvalOpinion, Long approvalResult) {
private void saveApprovalRecord(Long ApplyId,String processInstanceId, String applyNo, String nodeName, String studentName, String studentNo, String approvalOpinion, Long approvalResult, String signature) {
OutsideAccommodationApproval outsideAccommodationApproval = new OutsideAccommodationApproval();
// 赋值
outsideAccommodationApproval.setApplyId(ApplyId);
@@ -126,6 +129,8 @@ public class OutsideAccommodationEndListener implements ExecutionListener {
outsideAccommodationApproval.setApprovalTime(new Date());
outsideAccommodationApproval.setStudentName(studentName);
outsideAccommodationApproval.setStudentNo(studentNo);
// 设置签名
outsideAccommodationApproval.setSignature(signature);
OutsideAccommodationApprovalMapper outsideAccommodationApprovalMapper = (OutsideAccommodationApprovalMapper) SpringUtils.getBean(OutsideAccommodationApprovalMapper.class);
// 查询审批记录是否存在
OutsideAccommodationApproval approval = outsideAccommodationApprovalMapper.selectOutsideAccommodationApprovalByStuName(studentName, studentNo, SecurityUtils.getLoginUser().getUser().getUserId());

View File

@@ -5,42 +5,64 @@
<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" />
<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"/>
<result property="signature" column="signature"/>
</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
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,
signature
from rt_enlistment_reserve_approval
</sql>
<select id="selectRtEnlistmentReserveApprovalList" parameterType="EnlistmentReserveApproval" resultMap="RtEnlistmentReserveApprovalResult">
<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>
<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">
<select id="selectRtEnlistmentReserveApprovalById" parameterType="Long"
resultMap="RtEnlistmentReserveApprovalResult">
<include refid="selectRtEnlistmentReserveApprovalVo"/>
where id = #{id}
</select>
@@ -61,7 +83,8 @@
</where>
</select>
<insert id="insertRtEnlistmentReserveApproval" parameterType="RtEnlistmentReserveApproval" useGeneratedKeys="true" keyProperty="id">
<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>
@@ -75,6 +98,7 @@
<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>
<if test="signature != null">signature,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="applyId != null">#{applyId},</if>
@@ -88,6 +112,7 @@
<if test="approvalTime != null">#{approvalTime},</if>
<if test="studentName != null and studentName != ''">#{studentName},</if>
<if test="studentNo != null and studentNo != ''">#{studentNo},</if>
<if test="signature != null">#{signature},</if>
</trim>
</insert>
@@ -95,7 +120,9 @@
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="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>
@@ -105,12 +132,15 @@
<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>
<if test="signature != null">signature = #{signature},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteRtEnlistmentReserveApprovalById" parameterType="Long">
delete from rt_enlistment_reserve_approval where id = #{id}
delete
from rt_enlistment_reserve_approval
where id = #{id}
</delete>
<delete id="deleteRtEnlistmentReserveApprovalByIds" parameterType="String">

View File

@@ -1,48 +1,72 @@
<?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">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.srs.flowable.mapper.OutsideAccommodationApprovalMapper">
<resultMap type="OutsideAccommodationApproval" id="DmsOutsideAccommodationApprovalResult">
<result property="id" column="id" />
<result property="applyId" column="apply_id" />
<result property="applyNo" column="apply_no" />
<result property="approvalNode" column="approval_node" />
<result property="approverId" column="approver_id" />
<result property="approverName" column="approver_name" />
<result property="approverRole" column="approver_role" />
<result property="approvalOpinion" column="approval_opinion" />
<result property="approvalResult" column="approval_result" />
<result property="approvalTime" column="approval_time" />
<result property="processInstanceId" column="process_instance_id" />
<result property="studentName" column="student_name" />
<result property="studentNo" column="student_no" />
<result property="id" column="id"/>
<result property="applyId" column="apply_id"/>
<result property="applyNo" column="apply_no"/>
<result property="approvalNode" column="approval_node"/>
<result property="approverId" column="approver_id"/>
<result property="approverName" column="approver_name"/>
<result property="approverRole" column="approver_role"/>
<result property="approvalOpinion" column="approval_opinion"/>
<result property="approvalResult" column="approval_result"/>
<result property="approvalTime" column="approval_time"/>
<result property="processInstanceId" column="process_instance_id"/>
<result property="studentName" column="student_name"/>
<result property="studentNo" column="student_no"/>
<result property="signature" column="signature"/>
</resultMap>
<sql id="selectDmsOutsideAccommodationApprovalVo">
select id, apply_id, apply_no, approval_node, approver_id, approver_name, approver_role, approval_opinion, approval_result, approval_time, process_instance_id, student_name, student_no from dms_outside_accommodation_approval
select id,
apply_id,
apply_no,
approval_node,
approver_id,
approver_name,
approver_role,
approval_opinion,
approval_result,
approval_time,
process_instance_id,
student_name,
student_no,
signature
from dms_outside_accommodation_approval
</sql>
<select id="selectDmsOutsideAccommodationApprovalList" parameterType="DmsOutsideAccommodationApproval" resultMap="DmsOutsideAccommodationApprovalResult">
<select id="selectDmsOutsideAccommodationApprovalList" parameterType="DmsOutsideAccommodationApproval"
resultMap="DmsOutsideAccommodationApprovalResult">
<include refid="selectDmsOutsideAccommodationApprovalVo"/>
<where>
<if test="applyId != null "> and apply_id = #{applyId}</if>
<if test="applyNo != null and applyNo != ''"> and apply_no = #{applyNo}</if>
<if test="approvalNode != null "> and approval_node = #{approvalNode}</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="approverRole != null and approverRole != ''"> and approver_role = #{approverRole}</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="processInstanceId != null and processInstanceId != ''"> and process_instance_id = #{processInstanceId}</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>
<if test="applyId != null ">and apply_id = #{applyId}</if>
<if test="applyNo != null and applyNo != ''">and apply_no = #{applyNo}</if>
<if test="approvalNode != null ">and approval_node = #{approvalNode}</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="approverRole != null and approverRole != ''">and approver_role = #{approverRole}</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="processInstanceId != null and processInstanceId != ''">and process_instance_id =
#{processInstanceId}
</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>
<if test="signature != null and signature != ''">and signature = #{signature}</if>
</where>
</select>
<select id="selectDmsOutsideAccommodationApprovalById" parameterType="Long" resultMap="DmsOutsideAccommodationApprovalResult">
<select id="selectDmsOutsideAccommodationApprovalById" parameterType="Long"
resultMap="DmsOutsideAccommodationApprovalResult">
<include refid="selectDmsOutsideAccommodationApprovalVo"/>
where id = #{id}
</select>
@@ -62,8 +86,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if>
</where>
</select>
<insert id="insertDmsOutsideAccommodationApproval" parameterType="DmsOutsideAccommodationApproval" useGeneratedKeys="true" keyProperty="id">
<insert id="insertDmsOutsideAccommodationApproval" parameterType="DmsOutsideAccommodationApproval"
useGeneratedKeys="true" keyProperty="id">
insert into dms_outside_accommodation_approval
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="applyId != null">apply_id,</if>
@@ -78,7 +103,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="processInstanceId != null">process_instance_id,</if>
<if test="studentName != null and studentName != ''">student_name,</if>
<if test="studentNo != null and studentNo != ''">student_no,</if>
</trim>
<if test="signature != null">signature,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="applyId != null">#{applyId},</if>
<if test="applyNo != null and applyNo != ''">#{applyNo},</if>
@@ -92,7 +118,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="processInstanceId != null">#{processInstanceId},</if>
<if test="studentName != null and studentName != ''">#{studentName},</if>
<if test="studentNo != null and studentNo != ''">#{studentNo},</if>
</trim>
<if test="signature != null">#{signature},</if>
</trim>
</insert>
<update id="updateDmsOutsideAccommodationApproval" parameterType="DmsOutsideAccommodationApproval">
@@ -110,16 +137,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="processInstanceId != null">process_instance_id = #{processInstanceId},</if>
<if test="studentName != null and studentName != ''">student_name = #{studentName},</if>
<if test="studentNo != null and studentNo != ''">student_no = #{studentNo},</if>
<if test="signature != null">signature = #{signature},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteDmsOutsideAccommodationApprovalById" parameterType="Long">
delete from dms_outside_accommodation_approval where id = #{id}
delete
from dms_outside_accommodation_approval
where id = #{id}
</delete>
<delete id="deleteDmsOutsideAccommodationApprovalByIds" parameterType="String">
delete from dms_outside_accommodation_approval where id in
delete from dms_outside_accommodation_approval where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>