学生奖惩内容
This commit is contained in:
		
							
								
								
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
{
 | 
			
		||||
    "java.compile.nullAnalysis.mode": "automatic"
 | 
			
		||||
}
 | 
			
		||||
@@ -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);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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("修改优秀毕业生")
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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("修改静湖之星申请")
 | 
			
		||||
 
 | 
			
		||||
@@ -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("修改先进班集体")
 | 
			
		||||
 
 | 
			
		||||
@@ -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));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,7 @@ spring:
 | 
			
		||||
    # 地址
 | 
			
		||||
    host: localhost     #正式环境redis
 | 
			
		||||
#    host: 47.112.118.149 #测试开发地址
 | 
			
		||||
    # 端口,默认为6379
 | 
			
		||||
#     端口,默认为6379
 | 
			
		||||
    port: 6379
 | 
			
		||||
    # 数据库索引
 | 
			
		||||
    database: 0
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -89,6 +89,12 @@ public class SrsClass extends BaseEntity {
 | 
			
		||||
    })
 | 
			
		||||
    private CphTeacher teacher;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 辅导员名称
 | 
			
		||||
     */
 | 
			
		||||
    @TableField(exist = false)
 | 
			
		||||
    private String teacherName;
 | 
			
		||||
 | 
			
		||||
//    /**
 | 
			
		||||
//     * 辅导员
 | 
			
		||||
//     */
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
@@ -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=",">
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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); // 发送消息的方法
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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 "结果接收";
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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) {
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user