学生奖惩内容

This commit is contained in:
2025-09-29 15:06:02 +08:00
parent 79ba38fc3f
commit 6f69057678
44 changed files with 512 additions and 430 deletions

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"java.compile.nullAnalysis.mode": "automatic"
}

View File

@@ -111,7 +111,7 @@ public class DmsNeedCardStuServiceImpl extends ServiceImpl<DmsNeedCardStuMapper,
// 拼接成"2023001|2023002|2023003"格式
String toUser = String.join("|", batch);
// 调用你的发送消息方法
weChatUtil.sendTextMessage(toUser, msg);
//weChatUtil.sendTextMessage(toUser, msg);
}
}
@@ -163,7 +163,8 @@ public class DmsNeedCardStuServiceImpl extends ServiceImpl<DmsNeedCardStuMapper,
// 拼接成"2023001|2023002|2023003"格式
String toUser = String.join("|", batch);
// 调用你的发送消息方法
weChatUtil.sendTextMessage(toUser, msg);
// todo 先暂停
//weChatUtil.sendTextMessage(toUser, msg);
}

View File

@@ -397,7 +397,7 @@ public class CphBiyeApplyController extends BaseController {
/**
* 修改优秀毕业生
*/
@PreAuthorize("@ss.hasPermi('comprehensive:biyeapply:edit')")
// @PreAuthorize("@ss.hasPermi('comprehensive:biyeapply:edit')")
@Log(title = "优秀毕业生", businessType = BusinessType.UPDATE)
@PostMapping("/update")
@ApiOperation("修改优秀毕业生")

View File

@@ -53,12 +53,7 @@ public class CphGoodAuditController extends BaseController {
@PostMapping("/changeApply")
@ApiOperation("修改评优申请记录")
public AjaxResult changeApply(@RequestBody CphGoodAudit param){
boolean hasRole = RoleBool.isJwc(getUserId(),_postService);
if(hasRole){
return cphGoodAuditService.changeApply(param);
}else{
return AjaxResult.error(401,"你无权做这些");
}
return cphGoodAuditService.changeApply(param);
}

View File

@@ -385,7 +385,7 @@ public class CphLakeApplyController extends BaseController {
/**
* 修改静湖之星申请
*/
@PreAuthorize("@ss.hasPermi('comprehensive:lakeapply:edit')")
// @PreAuthorize("@ss.hasPermi('comprehensive:lakeapply:edit')")
@Log(title = "静湖之星申请", businessType = BusinessType.UPDATE)
@PostMapping("/update")
@ApiOperation("修改静湖之星申请")

View File

@@ -2,33 +2,34 @@ package com.srs.web.controller.comprehensive;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.srs.comprehensive.domain.CphBiyeApply;
import com.srs.comprehensive.domain.Dto.CphCancel;
import com.srs.comprehensive.domain.Vo.ExcelGoodClass;
import com.srs.system.domain.SysDeptMap;
import com.srs.system.service.ISysDeptMapService;
import com.srs.system.service.ISysPostService;
import com.srs.web.controller.common.RoleBool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PathVariable;
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 io.swagger.annotations.*;
import org.springframework.security.access.prepost.PreAuthorize;
import com.srs.comprehensive.domain.CphNewGoodClassApply;
import com.srs.comprehensive.service.ICphNewGoodClassApplyService;
import com.srs.common.core.controller.BaseController;
import com.srs.common.core.domain.AjaxResult;
import com.srs.common.utils.poi.ExcelUtil;
import com.srs.common.enums.BusinessType;
import com.srs.common.annotation.Log;
import com.srs.common.core.page.TableDataInfo;
import com.srs.common.enums.BusinessType;
import com.srs.comprehensive.domain.CphNewGoodClassApply;
import com.srs.comprehensive.domain.Dto.CphCancel;
import com.srs.comprehensive.domain.Vo.ExcelGoodClass;
import com.srs.comprehensive.service.ICphNewGoodClassApplyService;
import com.srs.system.domain.SysDeptMap;
import com.srs.system.service.ISysDeptMapService;
import com.srs.system.service.ISysPostService;
import com.srs.common.utils.poi.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.srs.common.annotation.Log;
/**
* 先进班集体Controller
@@ -376,7 +377,7 @@ public class CphNewGoodClassApplyController extends BaseController {
/**
* 修改先进班集体
*/
@PreAuthorize("@ss.hasPermi('comprehensive:newClassGoodApply:edit')")
// @PreAuthorize("@ss.hasPermi('comprehensive:newClassGoodApply:edit')")
@Log(title = "先进班集体", businessType = BusinessType.UPDATE)
@PostMapping("/update")
@ApiOperation("修改先进班集体")

View File

@@ -2,6 +2,7 @@ package com.srs.web.controller.routine;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -37,11 +38,10 @@ public class RtStuAtSchoolController extends BaseController {
/**
* 查询测试列表
*/
@PreAuthorize("@ss.hasPermi('routine:school:list')")
@GetMapping("/list")
@ApiOperation("查询测试列表")
public TableDataInfo list(RtStuAtSchool rtStuAtSchool)
{
@PreAuthorize("@ss.hasPermi('routine:school:list')")
@GetMapping("/list")
@ApiOperation("查询测试列表")
public TableDataInfo list(RtStuAtSchool rtStuAtSchool) {
startPage();
List<RtStuAtSchool> list = rtStuAtSchoolService.selectRtStuAtSchoolList(rtStuAtSchool);
return getDataTable(list);
@@ -54,8 +54,7 @@ public class RtStuAtSchoolController extends BaseController {
@Log(title = "测试", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ApiOperation("导出测试列表")
public void export(HttpServletResponse response, RtStuAtSchool rtStuAtSchool)
{
public void export(HttpServletResponse response, RtStuAtSchool rtStuAtSchool) {
List<RtStuAtSchool> list = rtStuAtSchoolService.selectRtStuAtSchoolList(rtStuAtSchool);
ExcelUtil<RtStuAtSchool> util = new ExcelUtil<RtStuAtSchool>(RtStuAtSchool.class);
util.exportExcel(response, list, "测试数据");
@@ -67,8 +66,7 @@ public class RtStuAtSchoolController extends BaseController {
@PreAuthorize("@ss.hasPermi('routine:school:query')")
@GetMapping(value = "/{id}")
@ApiOperation("获取测试详细信息")
public AjaxResult getInfo(@PathVariable("id") Integer id)
{
public AjaxResult getInfo(@PathVariable("id") Integer id) {
return success(rtStuAtSchoolService.selectRtStuAtSchoolById(id));
}
@@ -79,8 +77,7 @@ public class RtStuAtSchoolController extends BaseController {
@Log(title = "测试", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ApiOperation("新增测试")
public AjaxResult add(@RequestBody RtStuAtSchool rtStuAtSchool)
{
public AjaxResult add(@RequestBody RtStuAtSchool rtStuAtSchool) {
return toAjax(rtStuAtSchoolService.insertRtStuAtSchool(rtStuAtSchool));
}
@@ -91,8 +88,7 @@ public class RtStuAtSchoolController extends BaseController {
@Log(title = "测试", businessType = BusinessType.UPDATE)
@PostMapping("/update")
@ApiOperation("修改测试")
public AjaxResult edit(@RequestBody RtStuAtSchool rtStuAtSchool)
{
public AjaxResult edit(@RequestBody RtStuAtSchool rtStuAtSchool) {
return toAjax(rtStuAtSchoolService.updateRtStuAtSchool(rtStuAtSchool));
}
@@ -103,8 +99,7 @@ public class RtStuAtSchoolController extends BaseController {
@Log(title = "测试", businessType = BusinessType.DELETE)
@PostMapping("/{ids}")
@ApiOperation("删除测试")
public AjaxResult remove(@PathVariable Integer[] ids)
{
public AjaxResult remove(@PathVariable Integer[] ids) {
return toAjax(rtStuAtSchoolService.deleteRtStuAtSchoolByIds(ids));
}
}

View File

@@ -202,6 +202,13 @@ public class SurItineraryController extends BaseController {
return surItineraryService.manyLeaveAudit(ids);
}
@PreAuthorize("@ss.hasPermi('survey:itinerary:leaveAudit')")
@PostMapping("/manyLeaveReject")
@ApiOperation("辅导员批量离校审核驳回")
public AjaxResult manyLeaveReject(@RequestBody Long[] ids){
return surItineraryService.manyLeaveReject(ids);
}
@PreAuthorize("@ss.hasPermi('survey:itinerary:leaveAudit')")
@PostMapping("/leaveAudit")
@ApiOperation("辅导员离校审核")
@@ -355,13 +362,12 @@ public class SurItineraryController extends BaseController {
/**
* 修改学生假期返校
*/
@PreAuthorize("@ss.hasPermi('survey:itinerary:edit')")
@Log(title = "学生假期返校", businessType = BusinessType.UPDATE)
@PostMapping("/update")
@ApiOperation("修改学生假期返校")
public AjaxResult edit(@RequestBody SurItinerary surItinerary)
{
return toAjax(surItineraryService.updateSurItinerary(surItinerary));
return toAjax(surItineraryService.updateById(surItinerary));
}
/**

View File

@@ -83,7 +83,7 @@ spring:
# 地址
host: localhost #正式环境redis
# host: 47.112.118.149 #测试开发地址
# 端口默认为6379
# 端口默认为6379
port: 6379
# 数据库索引
database: 0

View File

@@ -1,6 +1,7 @@
package com.srs.comprehensive.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.*;
import com.srs.common.annotation.Excel;
@@ -23,10 +24,10 @@ import lombok.Builder;
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "CphGoodAudit对象" , description = "评优审核")
@ApiModel(value = "CphGoodAudit对象", description = "评优审核")
@TableName("cph_good_audit")
public class CphGoodAudit extends BaseEntity {
private static final long serialVersionUID=1L;
private static final long serialVersionUID = 1L;
/**
* 评优审核表id
@@ -73,7 +74,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("辅导员审核时间")
@TableField("fdy_time")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "辅导员审核时间" , width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "辅导员审核时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date fdyTime;
/**
@@ -106,7 +107,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("学院审核时间")
@TableField("dept_time")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "学院审核时间" , width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "学院审核时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date deptTime;
/**
@@ -139,7 +140,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("学工审核时间")
@TableField("final_time")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "学工审核时间" , width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "学工审核时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date finalTime;
/**
@@ -158,4 +159,4 @@ private static final long serialVersionUID=1L;
private String delFlag;
}
}

View File

@@ -89,6 +89,12 @@ public class SrsClass extends BaseEntity {
})
private CphTeacher teacher;
/**
* 辅导员名称
*/
@TableField(exist = false)
private String teacherName;
// /**
// * 辅导员
// */

View File

@@ -1,13 +1,14 @@
package com.srs.comprehensive.domain.Vo;
import com.srs.common.annotation.Excel;
import com.srs.common.core.domain.BaseEntity;
/**
* @author zhy
* @date 2024-05-21 15:05
* @description
*/
public class ExcelGoodClass {
public class ExcelGoodClass extends BaseEntity {
@Excel(name = "学院")
public String deptName;

View File

@@ -68,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
<if test="deptId != null "> and d.dept_id = #{deptId}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="teacherName != null and teacherName != ''"> and t.name like concat('%', #{teacherName}, '%')</if>
</where>
order by class_code desc

View File

@@ -33,35 +33,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectSrsKnrdApprovalRecordVo"/>
where id = #{id}
</select>
<select id="listView" parameterType="CphSearch" resultType="SrsKnrdApply">
select a.*,d.major_type_name
from srs_knrd_apply as a
left join srs_student as b on a.xh = b.stu_no
left join srs_class as c on b.class_id = c.class_id
left join srs_majors as d on c.major_id = d.major_id
left join cph_teacher as e on c.teacher_id = e.teacher_id
-- left join srs_knrd_approval_record r on r.apply_id=a.id
left join sys_dept_map as f on d.college_id = f.old_dept_id
<select id="listView" parameterType="CphSearch" resultType="SrsKnrdApply">
select a.*, d.major_type_name, g.step as latest_step, g.status as latest_status
from srs_knrd_apply as a
left join srs_student as b on a.xh = b.stu_no
left join srs_class as c on b.class_id = c.class_id
left join srs_majors as d on c.major_id = d.major_id
left join cph_teacher as e on c.teacher_id = e.teacher_id
left join sys_dept_map as f on d.college_id = f.old_dept_id
left join (
SELECT r1.*
FROM srs_knrd_approval_record r1
INNER JOIN (
SELECT apply_id, MAX(id) as max_id
FROM srs_knrd_approval_record
GROUP BY apply_id
) r2 ON r1.apply_id = r2.apply_id AND r1.id = r2.max_id
) as g on g.apply_id = a.id
where a.step != 0 and a.step != 1
<if test="collegeId != null"> and d.college_id = #{collegeId}</if>
<if test="tNo != null"> and e.employee_id = #{tNo}</if>
<if test="deptId != null"> and f.new_dept_id = #{deptId}</if>
<if test="stuNo != null"> and a.xh = #{stuNo}</if>
<if test="sfzhm != null"> and a.sfzhm = #{sfzhm}</if>
<if test="xm != null"> and a.xm like concat('%',#{xm},'%')</if>
<if test="xh != null"> and a.xh like concat('%',#{xh},'%')</if>
<if test="yj != null"> and (a.bjpyyj = #{yj} or a.ejxyldqmyj = #{yj} or a.xsqmyj = #{yj})</if>
<if test="applyYear != null"> and a.apply_year like CONCAT('%',#{applyYear},'%')</if>
order by a.id desc
</select>
left join (
SELECT * FROM srs_knrd_approval_record as record where id in(
select MAX(id) FROM srs_knrd_approval_record GROUP BY apply_id
)
) as g on g.apply_id = a.id
where a.step !=0 and a.step !=1
<if test="collegeId !=null"> and d.college_id = #{collegeId}</if>
<!-- <if test="step != null "> and r.step = #{step}</if>-->
<if test="tNo != null "> and e.employee_id = #{tNo}</if>
<if test="deptId != null "> and f.new_dept_id = #{deptId}</if>
<if test="stuNo != null "> and a.xh = #{stuNo}</if>
<if test="sfzhm != null "> and a.sfzhm = #{sfzhm}</if>
<if test="xm != null "> and a.xm like concat('%',#{xm},'%')</if>
<if test="xh != null "> and a.xh like concat('%',#{xh},'%')</if>
<if test="yj != null "> and (a.bjpyyj = #{yj} or a.ejxyldqmyj = #{yj} or xsqmyj = #{yj})</if>
<if test="applyYear != null "> and a.apply_year like CONCAT('%',#{applyYear},'%')</if>
order by a.id desc
</select>
<select id="selectSrsKnrdApprovalRecordByIds" resultType="SrsKnrdApprovalRecord">
select * from srs_knrd_approval_record where apply_id=#{id}
</select>

View File

@@ -229,87 +229,97 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="listRecordView" parameterType="CphSearch" resultType="SrsZxjApply">
select a.id as id,
a.step as step,
a.apply_year as apply_year,
a.xm as xm,
a.xb as xb,
a.mz as mz,
a.zzmm as zzmm,
a.xh as xh,
a.rxsj as rxsj,
a.csny as csny,
a.dh as dh,
a.nj as nj,
a.xy as xy,
a.zy as zy,
a.bj as bj,
a.kndj as kndj,
a.knlx as knlx,
a.knlx2 as knlx2,
a.rkzs as rkzs,
a.yzsr as yzsr,
a.rjyr as rjyr,
a.srly as srly,
a.jtcy as jtcy,
a.sqly as sqly,
a.fdyqm as fdyqm,
a.fdyqmrq as fdyqmrq,
a.ejxyldqm as ejxyldqm,
a.ejxyldqmrq as ejxyldqmrq,
a.xsqm as xsqm,
a.xsqmrq as xsqmrq,
a.csdj as csdj,
a.zzdj as zzdj,
a.zzls as zzls,
a.zp as zp,
a.create_id as create_id,
a.affix_id as affix_id,
a.status1 as status1,
a.status2 as status2,
a.status3 as status3,
a.dz as dz,
a.yb as yb,
a.bjyj as bjyj,
a.bjyjdj as bjyjdj,
a.ejxyyj as ejxyyj,
a.ejxyyjdj as ejxyyjdj,
a.xxyj as xxyj,
a.xxyjrq as xxyjrq,
a.gyhd as gyhd,
a.rjnsr as rjnsr,
a.bankCard as bankCard,
a.bankAddr as bankAddr,
a.xxqm as xxqm,
-- f.step as step,
-- f.status as status,
EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = a.xh and (penalty_status = 0 or penalty_status = 2)) as penalty_status0,
EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = a.xh and (penalty_status = 1 )) as penalty_status1,
EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = a.xh and (penalty_status = 3 )) as penalty_status3,
a.sfzhm as sfzhm,d.major_type_name
a.step as step,
a.apply_year as apply_year,
a.xm as xm,
a.xb as xb,
a.mz as mz,
a.zzmm as zzmm,
a.xh as xh,
a.rxsj as rxsj,
a.csny as csny,
a.dh as dh,
a.nj as nj,
a.xy as xy,
a.zy as zy,
a.bj as bj,
a.kndj as kndj,
a.knlx as knlx,
a.knlx2 as knlx2,
a.rkzs as rkzs,
a.yzsr as yzsr,
a.rjyr as rjyr,
a.srly as srly,
a.jtcy as jtcy,
a.sqly as sqly,
a.fdyqm as fdyqm,
a.fdyqmrq as fdyqmrq,
a.ejxyldqm as ejxyldqm,
a.ejxyldqmrq as ejxyldqmrq,
a.xsqm as xsqm,
a.xsqmrq as xsqmrq,
a.csdj as csdj,
a.zzdj as zzdj,
a.zzls as zzls,
a.zp as zp,
a.create_id as create_id,
a.affix_id as affix_id,
a.status1 as status1,
a.status2 as status2,
a.status3 as status3,
a.dz as dz,
a.yb as yb,
a.bjyj as bjyj,
a.bjyjdj as bjyjdj,
a.ejxyyj as ejxyyj,
a.ejxyyjdj as ejxyyjdj,
a.xxyj as xxyj,
a.xxyjrq as xxyjrq,
a.gyhd as gyhd,
a.rjnsr as rjnsr,
a.bankCard as bankCard,
a.bankAddr as bankAddr,
a.xxqm as xxqm,
COALESCE(penalty.penalty_status0, 0) as penalty_status0,
COALESCE(penalty.penalty_status1, 0) as penalty_status1,
COALESCE(penalty.penalty_status3, 0) as penalty_status3,
a.sfzhm as sfzhm,
d.major_type_name
from srs_zxj_apply as a
left join srs_student as b on a.xh = b.stu_no
left join srs_class as c on b.class_id = c.class_id
left join srs_majors as d on c.major_id = d.major_id
left join cph_teacher as e on c.teacher_id = e.teacher_id
left join (
SELECT * FROM srs_zxj_approval_record as record where id in(
select MAX(id) FROM srs_zxj_approval_record GROUP BY apply_id
)
SELECT * FROM (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY apply_id ORDER BY id DESC) as rn
FROM srs_zxj_approval_record
) record where rn = 1
) as f on f.apply_id = a.id
left join sys_dept_map as g on d.college_id = g.old_dept_id
left join (
SELECT stu_no,
MAX(CASE WHEN penalty_status IN (0, 2) THEN 1 ELSE 0 END) as penalty_status0,
MAX(CASE WHEN penalty_status = 1 THEN 1 ELSE 0 END) as penalty_status1,
MAX(CASE WHEN penalty_status = 3 THEN 1 ELSE 0 END) as penalty_status3
FROM rt_stu_disciplinary_application
GROUP BY stu_no
) penalty on penalty.stu_no = a.xh
<where>
<!-- <if test="step != null "> and exists (select apply_id from srs_zxj_approval_record r where r.step = ${step} and r.apply_id = a.id )</if>-->
<if test="tNo != null "> and e.employee_id = #{tNo}</if>
<if test="deptId != null "> and g.new_dept_id = #{deptId}</if>
<if test="stuNo != null "> and a.xh = #{stuNo}</if>
<if test="xm != null "> and a.xm like concat('%',#{xm},'%')</if>
<if test="xh != null "> and a.xh like concat('%',#{xh},'%')</if>
<if test="status != null "> and (a.status1 = #{status} or a.status2 = #{status} or a.status3 = #{status})</if>
<if test="applyYear != null"> and a.apply_year like CONCAT('%',#{applyYear},'%')</if>
<if test="tNo != null ">and e.employee_id = #{tNo}</if>
<if test="deptId != null ">and g.new_dept_id = #{deptId}</if>
<if test="stuNo != null ">and a.xh = #{stuNo}</if>
<if test="xm != null ">and a.xm like concat('%',#{xm},'%')</if>
<if test="xh != null ">and a.xh like concat('%',#{xh},'%')</if>
<if test="status != null ">and (a.status1 = #{status} or a.status2 = #{status} or a.status3 = #{status})
</if>
<if test="applyYear != null">and a.apply_year like CONCAT('%',#{applyYear},'%')</if>
</where>
order by a.id desc
</select>
<insert id="insertSrsZxjApply" parameterType="SrsZxjApply" useGeneratedKeys="true" keyProperty="id">
insert into srs_zxj_apply
<trim prefix="(" suffix=")" suffixOverrides=",">

View File

@@ -80,7 +80,7 @@ public class BoStartListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
//weChatUtil.sendTextMessage(userName, content);
@@ -122,7 +122,7 @@ public class BoStartListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -90,7 +90,7 @@ public class CounselorListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -149,7 +149,7 @@ public class LeadAuditListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -106,7 +106,7 @@ public class LeadEentListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -82,7 +82,7 @@ public class LeadStartListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -105,7 +105,7 @@ public class LeaveApproveListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content); // 发送消息的方法

View File

@@ -81,7 +81,7 @@ public class LeaveStartApproveListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -85,7 +85,7 @@ public class SecondaryLeaderListener implements ExecutionListener {
// WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
//
// // 构造包含超链接的消息内容
// String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
// String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
//
// // 步骤 4: 使用 userName 作为接收人发送消息
// //weChatUtil.sendTextMessage(userName, content);
@@ -117,7 +117,7 @@ public class SecondaryLeaderListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -60,7 +60,7 @@ public class ArchivingNotifyListener implements ExecutionListener {
List<String> userNameList = disciplinaryMapper.getUserNamesByUserIdList(userIdList);
if (userNameList != null && !userNameList.isEmpty()) {
String toUser = String.join("|", userNameList);
String weChatMessage = "您有一条新的学生违纪归档任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String weChatMessage = "您有一条新的学生违纪归档任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
weChatUtil.sendTextMessage(toUser, weChatMessage);
log.info("已成功向归档角色 ({}) 发送企业微信通知。", ARCHIVING_ROLE_KEY);
} else {
@@ -73,7 +73,7 @@ public class ArchivingNotifyListener implements ExecutionListener {
String activityId = (nextElement != null) ? nextElement.getId() : "Activity_1agoizv"; // 节点的ID作为备用
String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。";
String link = "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String link = "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
execution.getProcessInstanceId(), activityId);
String internalMessageContent = messageText + link + hiddenIdentifier;
@@ -103,4 +103,4 @@ public class ArchivingNotifyListener implements ExecutionListener {
}
return null;
}
}
}

View File

@@ -39,7 +39,7 @@ public class EJXYSJListener implements ExecutionListener {
// 构造包含超链接的消息内容
String content = "您有一条新的学生违纪审批任务待处理," +
"<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
"<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -50,12 +50,12 @@ public class InitiatorNotificationListener implements ExecutionListener {
// --- 2. 准备通知内容 (解决taskName为空的问题) ---
String nextTaskName = getNextTaskName(execution);
String weChatMessage = "您提交的学生违纪处分申请已有最终处理结果,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String weChatMessage = "您提交的学生违纪处分申请已有最终处理结果,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
String internalMessageText = "您有一条新的【" + nextTaskName + "】待办任务需要处理。";
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
execution.getProcessInstanceId(),
((SequenceFlow) execution.getCurrentFlowElement()).getTargetRef());
String internalMessageContent = internalMessageText + "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。" + hiddenIdentifier;
String internalMessageContent = internalMessageText + "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。" + hiddenIdentifier;
// --- 3. 发送企业微信通知 ---
sendWeChatNotification(initiatorUserId, weChatMessage);
@@ -118,4 +118,4 @@ public class InitiatorNotificationListener implements ExecutionListener {
}
return "结果接收";
}
}
}

View File

@@ -46,7 +46,7 @@ public class InitiatorResultListener implements ExecutionListener {
if (initiatorUserName != null && !initiatorUserName.isEmpty()) {
// 4. 发送通知
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
String content = "您提交的学生违纪处分申请已有最终处理结果,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。\"";
String content = "您提交的学生违纪处分申请已有最终处理结果,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。\"";
weChatUtil.sendTextMessage(initiatorUserName, content);
log.info("已成功向流程发起人 ({}) 发送结果通知。", initiatorUserName);
@@ -58,4 +58,4 @@ public class InitiatorResultListener implements ExecutionListener {
log.error("向流程发起人发送结果通知时出现异常。流程将继续。错误详情: {}", e.getMessage(), e);
}
}
}
}

View File

@@ -47,7 +47,7 @@ public class MultiInstanceMessageListener implements ExecutionListener {
// --- 步骤 3: 准备消息内容 ---
String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。";
String link = "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String link = "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
execution.getProcessInstanceId(),
activityId);
@@ -92,4 +92,4 @@ public class MultiInstanceMessageListener implements ExecutionListener {
return 1L;
}
}
}
}

View File

@@ -60,7 +60,7 @@ public class SchoolLeaderApprovalListener implements ExecutionListener {
List<String> userNameList = disciplinaryMapper.getUserNamesByUserIdList(userIdList);
if (userNameList != null && !userNameList.isEmpty()) {
String toUser = String.join("|", userNameList);
String weChatMessage = "校领导您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String weChatMessage = "校领导您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
weChatUtil.sendTextMessage(toUser, weChatMessage);
log.info("已成功向校领导 (角色: {}) 发送企业微信通知。", LEADER_ROLE_KEY);
}
@@ -71,7 +71,7 @@ public class SchoolLeaderApprovalListener implements ExecutionListener {
String activityId = (nextElement != null) ? nextElement.getId() : "Activity_0ftj9eo";
String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。";
String link = "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String link = "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
execution.getProcessInstanceId(), activityId);
String internalMessageContent = messageText + link + hiddenIdentifier;
@@ -101,4 +101,4 @@ public class SchoolLeaderApprovalListener implements ExecutionListener {
}
return null;
}
}
}

View File

@@ -106,7 +106,7 @@ public class StuInfoListener implements ExecutionListener {
String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。";
String link = "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String link = "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
execution.getProcessInstanceId(), activityId);
String internalMessageContent = messageText + link + hiddenIdentifier;
@@ -134,4 +134,4 @@ public class StuInfoListener implements ExecutionListener {
}
return null;
}
}
}

View File

@@ -43,7 +43,7 @@ public class WSSListener implements ExecutionListener {
String toUser = String.join("|", userNameList);
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
weChatUtil.sendTextMessage(toUser, content);
log.info("已成功向角色 '{}' 的成员发送通知。接收人: {}", TARGET_ROLE_KEY, toUser);

View File

@@ -54,7 +54,7 @@ public class XGLDSHListener implements ExecutionListener {
String toUser = String.join("|", userNameList);
String content = "您有一条新的学生违纪审批任务待处理," +
"<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
"<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
weChatUtil.sendTextMessage(toUser, content);
log.info("流程实例 [{}]: 已成功向角色 '{}' 成员发送企微通知,接收人: {}", processInstanceId, roleKey, toUser);

View File

@@ -43,7 +43,7 @@ public class XLZXListener implements ExecutionListener {
String toUser = String.join("|", userNameList);
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
weChatUtil.sendTextMessage(toUser, content);
log.info("已成功向角色 '{}' 的成员发送通知。接收人: {}", TARGET_ROLE_KEY, toUser);

View File

@@ -58,7 +58,7 @@ public class XSJYGLKListener implements ExecutionListener {
String toUser = String.join("|", userNameList);
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
weChatUtil.sendTextMessage(toUser, content);
log.info("已成功向角色 '{}' 的成员发送企业微信通知。接收人: {}", roleKey, toUser);
@@ -69,4 +69,4 @@ public class XSJYGLKListener implements ExecutionListener {
log.error("向角色 '{}' 发送企业微信通知时出现异常。流程将继续。错误详情: {}", roleKey, e.getMessage(), e);
}
}
}
}

View File

@@ -45,7 +45,7 @@ public class XWGSListener implements ExecutionListener {
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
// 构造包含超链接的消息内容
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
// 步骤 4: 使用 userName 作为接收人发送消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -62,7 +62,7 @@ public class XYWJCLWYHListener implements ExecutionListener {
return;
}
String toUser = String.join("|", userNameList);
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
weChatUtil.sendTextMessage(toUser, content);
log.info("流程实例 [{}]: 已成功向'委员会'发送企微通知。", processInstanceId);
} catch (Exception e) {

View File

@@ -50,7 +50,7 @@ public class StuCounselorListener implements ExecutionListener {
// 构造包含超链接的消息内容
String content = "您有一条新的学生违纪审批任务待处理," +
"<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>点此查看</a>";
"<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>点此查看</a>";
// 发送企业微信消息
weChatUtil.sendTextMessage(userName, content);

View File

@@ -37,7 +37,7 @@ public class StuReceiveListener implements ExecutionListener {
String content = "您的违纪处理流程有新的进展:" +
approveResult + "" +
"<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>点此查看详情</a>";
"<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>点此查看详情</a>";
// 发送企业微信消息
weChatUtil.sendTextMessage(stuUserName, content);

View File

@@ -26,22 +26,13 @@ public class RegTask {
{
List<SrsStuCheck> list= srsStuCheckService.getSrsStucheckList();
for (SrsStuCheck m:list) {
QueryWrapper<SrsStuCheck> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ksh",m.getKsh());
queryWrapper.last("limit 1");
SrsStuCheck srsStuCheck=checkService.getOne(queryWrapper);
if(srsStuCheck!=null){
continue;
}else{
SrsStuCheck addSrsStuCheck=new SrsStuCheck();
addSrsStuCheck.setIsCheck(m.getIsCheck());
addSrsStuCheck.setKsh(m.getKsh());
addSrsStuCheck.setCheckTime(m.getCheckTime());
addSrsStuCheck.setCreateTime(getNowDate());
addSrsStuCheck.setCreateBy("RegTask");
checkService.save(addSrsStuCheck);
}
SrsStuCheck srsStuCheck=new SrsStuCheck();
srsStuCheck.setIsCheck(m.getIsCheck());
srsStuCheck.setKsh(m.getKsh());
srsStuCheck.setCheckTime(m.getCheckTime());
UpdateWrapper<SrsStuCheck> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("ksh",m.getKsh());
checkService.update(srsStuCheck,updateWrapper);
}
}

View File

@@ -1,6 +1,7 @@
package com.srs.routine.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_stu_at_school
*
@@ -22,10 +22,10 @@ import com.srs.common.core.domain.BaseEntity;
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "RtStuAtSchool对象" , description = "在校证明")
@ApiModel(value = "RtStuAtSchool对象", description = "在校证明")
@TableName("rt_stu_at_school")
public class RtStuAtSchool extends BaseEntity{
private static final long serialVersionUID=1L;
public class RtStuAtSchool extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 学生id
@@ -88,7 +88,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("申请时间")
@TableField("stu_created")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "申请时间" , width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date stuCreated;
/**
@@ -101,7 +101,6 @@ private static final long serialVersionUID=1L;
/**
* 原因
*/
@ApiModelProperty("原因")
@TableField("because")
@@ -146,7 +145,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("入学时间")
@TableField("Intake")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "入学时间" , width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "入学时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date Intake;
/**
@@ -243,7 +242,7 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("辅导员审批时间")
@TableField("fdtime")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "辅导员审批时间" , width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "辅导员审批时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date fdtime;
/**
@@ -252,8 +251,8 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("学工处审批时间")
@TableField("xgtime")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "学工处审批时间" , width = 30, dateFormat = "yyyy-MM-dd")
@Excel(name = "学工处审批时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date xgtime;
}
}

View File

@@ -1,10 +1,16 @@
package com.srs.routine.service.impl;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.srs.common.annotation.Excel;
import com.srs.common.core.domain.entity.SysUser;
import com.srs.common.exception.ServiceException;
import com.srs.common.utils.SecurityUtils;
import com.srs.system.service.ISysUserService;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@@ -61,18 +67,14 @@ public class RtStuAtSchoolServiceImpl extends ServiceImpl<RtStuAtSchoolMapper,Rt
*/
@Override
public int insertRtStuAtSchool(RtStuAtSchool rtStuAtSchool) {
RtStuAtSchool rtStuAtSchool1 = rtStuAtSchoolMapper.selectRtStuAtSchoolByStudentId(rtStuAtSchool.getStudentId());
if (rtStuAtSchool1 != null){
throw new ServiceException("申请已提交,请勿重复提交", 500);
}
SysUser sysUser = sysUserService.selectUserByUserName(rtStuAtSchool.getStudentId());
if (sysUser == null) {
throw new ServiceException("该学生不存在", 500);
}
return rtStuAtSchoolMapper.insertRtStuAtSchool(rtStuAtSchool);
}
@@ -84,6 +86,12 @@ public class RtStuAtSchoolServiceImpl extends ServiceImpl<RtStuAtSchoolMapper,Rt
*/
@Override
public int updateRtStuAtSchool(RtStuAtSchool rtStuAtSchool) {
// 如果学工意见和学工审核状态不为空,去到当前登陆人的姓名赋值给学工姓名,并给学工处审核 时间赋值,取出当前时间
if (rtStuAtSchool.getXgopinion() != null && rtStuAtSchool.getXgstatus() != null) {
rtStuAtSchool.setXgname(SecurityUtils.getLoginUser().getUser().getNickName());
rtStuAtSchool.setXgtime(new Date());
}
return rtStuAtSchoolMapper.updateRtStuAtSchool(rtStuAtSchool);
}

View File

@@ -115,7 +115,6 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("联系电话")
@TableField("phone")
@Excel(name = "联系电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
public String phone;
/**
@@ -132,7 +131,6 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("紧急联系人电话")
@TableField("emergency_contact_phone")
@Excel(name = "紧急联系人电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
public String emergencyContactPhone;
/**
@@ -190,7 +188,6 @@ private static final long serialVersionUID=1L;
@ApiModelProperty("家长电话")
@TableField("parent_phone")
@Excel(name = "家长电话")
@Sensitive(desensitizedType = DesensitizedType.PHONE)
public String parentPhone;
/**
@@ -331,4 +328,11 @@ private static final long serialVersionUID=1L;
@TableField(exist = false)
public Long pageSize;
/**
* 是否填写筛选条件null-全部1-已填写0-未填写
*/
@ApiModelProperty("是否填写筛选条件")
@TableField(exist = false)
public Integer isFilled;
}

View File

@@ -60,6 +60,8 @@ public interface ISurItineraryService extends IService<SurItinerary> {
public AjaxResult manyLeaveAudit(Long[] ids);
public AjaxResult manyLeaveReject(Long[] ids);
public AjaxResult leaveAudit(SurItinerary param);
public List<SurItinerary> listView(SurItinerary param);