Compare commits
20 Commits
b4b2dd078a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 68bddd68a8 | |||
| 7fa9a37063 | |||
| a2d1f746cc | |||
| 4db1272d0a | |||
| 6e4c089625 | |||
| e78c34c94f | |||
| 074f82e34a | |||
| d0f2b71585 | |||
| 33e630ddef | |||
| fb7d17f6d6 | |||
| 7d51f1ddd4 | |||
| d24c3cf269 | |||
| ce18d4ca1f | |||
| 2b4f56753f | |||
| ac3e002ce1 | |||
| cda670bcd8 | |||
| 44e2938f71 | |||
| 1b9ffef757 | |||
| 2c591aa557 | |||
| f99b4621d2 |
11
pom.xml
11
pom.xml
@@ -15,7 +15,7 @@
|
|||||||
<srs.version>3.8.5</srs.version>
|
<srs.version>3.8.5</srs.version>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
<java.version>1.8</java.version>
|
<java.version>17</java.version>
|
||||||
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
|
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
|
||||||
<druid.version>1.2.16</druid.version>
|
<druid.version>1.2.16</druid.version>
|
||||||
<bitwalker.version>1.21</bitwalker.version>
|
<bitwalker.version>1.21</bitwalker.version>
|
||||||
@@ -234,11 +234,18 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.1</version>
|
<version>3.11.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>${java.version}</source>
|
<source>${java.version}</source>
|
||||||
<target>${java.version}</target>
|
<target>${java.version}</target>
|
||||||
<encoding>${project.build.sourceEncoding}</encoding>
|
<encoding>${project.build.sourceEncoding}</encoding>
|
||||||
|
<annotationProcessorPaths>
|
||||||
|
<path>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.32</version>
|
||||||
|
</path>
|
||||||
|
</annotationProcessorPaths>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
|
|||||||
@@ -195,7 +195,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
<version>2.1.1.RELEASE</version>
|
<version>2.5.14</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
|
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
|
||||||
</configuration>
|
</configuration>
|
||||||
@@ -215,7 +215,15 @@
|
|||||||
<failOnMissingWebXml>false</failOnMissingWebXml>
|
<failOnMissingWebXml>false</failOnMissingWebXml>
|
||||||
<warName>${project.artifactId}</warName>
|
<warName>${project.artifactId}</warName>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>14</source><target>14</target></configuration></plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>17</source>
|
||||||
|
<target>17</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
<finalName>${project.artifactId}</finalName>
|
<finalName>${project.artifactId}</finalName>
|
||||||
</build>
|
</build>
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
package com.srs.web.controller.common;
|
||||||
|
|
||||||
|
import com.srs.common.config.SrsConfig;
|
||||||
|
import com.srs.common.core.controller.BaseController;
|
||||||
|
import com.srs.common.core.domain.AjaxResult;
|
||||||
|
import com.srs.common.utils.sign.ImageSignUtils;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Base64;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 受保护图片接口
|
||||||
|
* 提供签名URL的图片访问
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/common/stamp")
|
||||||
|
@Api(value = "受保护图片管理", tags = "受保护图片管理")
|
||||||
|
public class StampController extends BaseController {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取印章图片的Base64编码(需要登录验证)
|
||||||
|
*/
|
||||||
|
@GetMapping("/base64")
|
||||||
|
@ApiOperation("获取印章图片Base64编码")
|
||||||
|
public AjaxResult getStampBase64() {
|
||||||
|
String stampPath = SrsConfig.getProfile() + "/stamp/stamp.jpg";
|
||||||
|
File file = new File(stampPath);
|
||||||
|
|
||||||
|
if (!file.exists()) {
|
||||||
|
return error("印章图片不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
try (FileInputStream fis = new FileInputStream(file)) {
|
||||||
|
byte[] bytes = new byte[(int) file.length()];
|
||||||
|
fis.read(bytes);
|
||||||
|
String base64 = Base64.getEncoder().encodeToString(bytes);
|
||||||
|
String dataUrl = "data:image/jpeg;base64," + base64;
|
||||||
|
return success(dataUrl);
|
||||||
|
} catch (IOException e) {
|
||||||
|
return error("读取印章图片失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取印章图片的Base64编码(指定文件名)
|
||||||
|
*/
|
||||||
|
@GetMapping("/base64/{fileName}")
|
||||||
|
@ApiOperation("获取印章图片Base64编码")
|
||||||
|
public AjaxResult getStampBase64ByName(@PathVariable String fileName) {
|
||||||
|
String stampPath = SrsConfig.getProfile() + "/stamp/" + fileName;
|
||||||
|
File file = new File(stampPath);
|
||||||
|
|
||||||
|
if (!file.exists()) {
|
||||||
|
return error("印章图片不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
try (FileInputStream fis = new FileInputStream(file)) {
|
||||||
|
byte[] bytes = new byte[(int) file.length()];
|
||||||
|
fis.read(bytes);
|
||||||
|
String base64 = Base64.getEncoder().encodeToString(bytes);
|
||||||
|
String mimeType = fileName.toLowerCase().endsWith(".png") ? "image/png" : "image/jpeg";
|
||||||
|
String dataUrl = "data:" + mimeType + ";base64," + base64;
|
||||||
|
return success(dataUrl);
|
||||||
|
} catch (IOException e) {
|
||||||
|
return error("读取印章图片失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
package com.srs.web.controller.comprehensive;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
|
||||||
|
import com.srs.comprehensive.domain.SrsStudentInfoCheck;
|
||||||
|
import com.srs.comprehensive.service.ISrsStudentInfoCheckService;
|
||||||
|
import com.srs.common.core.controller.BaseController;
|
||||||
|
import com.srs.common.core.domain.AjaxResult;
|
||||||
|
import com.srs.common.enums.BusinessType;
|
||||||
|
import com.srs.common.annotation.Log;
|
||||||
|
import com.srs.common.core.page.TableDataInfo;
|
||||||
|
import com.srs.common.utils.poi.ExcelUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学生信息核对 Controller
|
||||||
|
*
|
||||||
|
* @author srs
|
||||||
|
* @date 2024-03-27
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/comprehensive/studentInfo")
|
||||||
|
@Api(value = "学生信息核对管理", tags = "学生信息核对")
|
||||||
|
public class SrsStudentInfoCheckController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISrsStudentInfoCheckService srsStudentInfoCheckService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询学生自己的信息
|
||||||
|
*/
|
||||||
|
@GetMapping("/getOwnInfo")
|
||||||
|
@ApiOperation("查询学生自己的信息")
|
||||||
|
public AjaxResult getOwnInfo() {
|
||||||
|
SrsStudentInfoCheck info = srsStudentInfoCheckService.getStuInfo(getUsername());
|
||||||
|
return AjaxResult.success(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据学号查询学生信息(辅导员专用)
|
||||||
|
*/
|
||||||
|
@GetMapping("/getStuInfoByStuNo")
|
||||||
|
@ApiOperation("根据学号查询学生信息")
|
||||||
|
public AjaxResult getStuInfoByStuNo(@RequestParam String stuNo) {
|
||||||
|
SrsStudentInfoCheck info = srsStudentInfoCheckService.getStuInfo(stuNo);
|
||||||
|
return AjaxResult.success(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改学生自己的信息
|
||||||
|
*/
|
||||||
|
@PostMapping("/editOwnInfo")
|
||||||
|
@ApiOperation("修改学生自己的信息")
|
||||||
|
public AjaxResult editOwnInfo(@RequestBody SrsStudentInfoCheck param) {
|
||||||
|
if (param.getStuNo() == null || "".equals(param.getStuNo())) {
|
||||||
|
param.setStuNo(getUsername());
|
||||||
|
}
|
||||||
|
return srsStudentInfoCheckService.editStuInfo(param);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询学生信息列表(管理端使用)
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('comprehensive:studentInfo:list')")
|
||||||
|
@GetMapping("/list")
|
||||||
|
@ApiOperation("查询学生信息列表")
|
||||||
|
public TableDataInfo list(SrsStudentInfoCheck srsStudentInfoCheck) {
|
||||||
|
startPage();
|
||||||
|
List<SrsStudentInfoCheck> list = srsStudentInfoCheckService.selectSrsStudentInfoCheckList(srsStudentInfoCheck);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出学生信息列表(管理端使用)
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('comprehensive:studentInfo:export')")
|
||||||
|
@Log(title = "学生信息", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
@ApiOperation("导出学生信息列表")
|
||||||
|
public void export(HttpServletResponse response, SrsStudentInfoCheck srsStudentInfoCheck) {
|
||||||
|
List<SrsStudentInfoCheck> list = srsStudentInfoCheckService.selectSrsStudentInfoCheckList(srsStudentInfoCheck);
|
||||||
|
ExcelUtil<SrsStudentInfoCheck> util = new ExcelUtil<SrsStudentInfoCheck>(SrsStudentInfoCheck.class);
|
||||||
|
util.exportExcel(response, list, "学生信息数据");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -58,6 +58,12 @@ public class FlowTaskController {
|
|||||||
return flowTaskService.todoList(queryVo);
|
return flowTaskService.todoList(queryVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "获取待办数量统计", response = Integer.class)
|
||||||
|
@GetMapping(value = "/todoCount")
|
||||||
|
public AjaxResult todoCount(FlowQueryVo queryVo) {
|
||||||
|
return flowTaskService.todoCount(queryVo);
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "获取已办任务", response = FlowTaskDto.class)
|
@ApiOperation(value = "获取已办任务", response = FlowTaskDto.class)
|
||||||
@GetMapping(value = "/finishedList")
|
@GetMapping(value = "/finishedList")
|
||||||
public AjaxResult finishedList(FlowQueryVo queryVo) throws Exception {
|
public AjaxResult finishedList(FlowQueryVo queryVo) throws Exception {
|
||||||
|
|||||||
@@ -156,6 +156,34 @@ public class RtEnlistmentReserveController extends BaseController {
|
|||||||
return success(rtEnlistmentReserveService.insertRtEnlistmentReserve(rtEnlistmentReserve));
|
return success(rtEnlistmentReserveService.insertRtEnlistmentReserve(rtEnlistmentReserve));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入应征入伍预约信息
|
||||||
|
* @param list 预约信息列表
|
||||||
|
* @return 插入结果
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('routine:enlistmentReserve:add')")
|
||||||
|
@Log(title = "应征入伍保留学籍申请", businessType = BusinessType.INSERT)
|
||||||
|
@PostMapping("/batchInsert")
|
||||||
|
@ApiOperation("新增应征入伍保留学籍申请")
|
||||||
|
public AjaxResult batchInsert(@RequestBody List<RtEnlistmentReserve> list) {
|
||||||
|
try {
|
||||||
|
// 调用批量插入方法
|
||||||
|
int insertCount = rtEnlistmentReserveService.batchInsertRtEnlistmentReserve(list);
|
||||||
|
// 若依框架成功返回(带数据)
|
||||||
|
return AjaxResult.success("批量插入成功,共插入" + insertCount + "条数据", insertCount);
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
// 入参无效异常(如姓名/学号为空)
|
||||||
|
return AjaxResult.error(e.getMessage());
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
// 重复数据异常
|
||||||
|
return AjaxResult.error(e.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
// 其他未知异常(若依框架建议记录日志)
|
||||||
|
logger.error("批量插入应征入伍预约信息失败", e); // 继承BaseController自带logger
|
||||||
|
return AjaxResult.error("批量插入失败:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改应征入伍保留学籍申请
|
* 修改应征入伍保留学籍申请
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ public class RtStuDisciplinaryRelieveController extends BaseController {
|
|||||||
|
|
||||||
@GetMapping("/getPenaltyNumber/{penaltyNumber}")
|
@GetMapping("/getPenaltyNumber/{penaltyNumber}")
|
||||||
@ApiOperation("根据处分文号获取处分相关信息")
|
@ApiOperation("根据处分文号获取处分相关信息")
|
||||||
public AjaxResult getPenaltyNumber(@PathVariable Long penaltyNumber) {
|
public AjaxResult getPenaltyNumber(@PathVariable String penaltyNumber) {
|
||||||
return success(rtStuDisciplinaryApplicationService.getStuDisciplinaryApplicationByPenaltyNumber(penaltyNumber));
|
return success(rtStuDisciplinaryApplicationService.getStuDisciplinaryApplicationByPenaltyNumber(penaltyNumber));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,13 +81,18 @@ public class SysDisBasicController extends BaseController {
|
|||||||
SysDisBasicDao dao = new SysDisBasicDao();
|
SysDisBasicDao dao = new SysDisBasicDao();
|
||||||
dao.setStId(item.getStId());
|
dao.setStId(item.getStId());
|
||||||
dao.setStName(item.getStName());
|
dao.setStName(item.getStName());
|
||||||
dao.setCollege(item.getCollege());
|
dao.setCollegeInfo(item.getCollegeInfo());
|
||||||
|
dao.setGradeInfo(item.getGradeInfo());
|
||||||
|
dao.setMajorInfo(item.getMajorInfo());
|
||||||
|
// dao.setMajors(item.getMajors());
|
||||||
|
dao.setClassInfo(item.getClassInfo());
|
||||||
|
// dao.setCollege(item.getCollege());
|
||||||
dao.setSex(item.getSex());
|
dao.setSex(item.getSex());
|
||||||
dao.setNations(item.getNations());
|
dao.setNations(item.getNations());
|
||||||
dao.setStClass(item.getStClass());
|
// dao.setStClass(item.getStClass());
|
||||||
dao.setMajors(item.getMajors());
|
// dao.setMajors(item.getMajors());
|
||||||
dao.setGrade(item.getGrade());
|
// dao.setGrade(item.getGrade());
|
||||||
dao.setCollege(item.getCollege());
|
// dao.setCollege(item.getCollege());
|
||||||
dao.setReasons(item.getReasons());
|
dao.setReasons(item.getReasons());
|
||||||
dao.setConversion(item.getConversion());
|
dao.setConversion(item.getConversion());
|
||||||
|
|
||||||
@@ -104,8 +109,6 @@ public class SysDisBasicController extends BaseController {
|
|||||||
for (SysDisMate mate : item.getMaList()){
|
for (SysDisMate mate : item.getMaList()){
|
||||||
dao1.setOldgrade(mate.getOldgrade());
|
dao1.setOldgrade(mate.getOldgrade());
|
||||||
dao1.setOldmajor(mate.getOldmajor());
|
dao1.setOldmajor(mate.getOldmajor());
|
||||||
// dao1.setNewgrade(mate.getNewgrade());
|
|
||||||
// dao1.setNewmajor(mate.getNewmajor());
|
|
||||||
dao1.setProof(baseUrl.substring(0,baseUrl.length()-1) + mate.getProof());
|
dao1.setProof(baseUrl.substring(0,baseUrl.length()-1) + mate.getProof());
|
||||||
dao1.setIdcard(baseUrl.substring(0,baseUrl.length()-1) + mate.getIdcard());
|
dao1.setIdcard(baseUrl.substring(0,baseUrl.length()-1) + mate.getIdcard());
|
||||||
dao1.setMaterial(baseUrl.substring(0,baseUrl.length()-1) + mate.getMaterial());
|
dao1.setMaterial(baseUrl.substring(0,baseUrl.length()-1) + mate.getMaterial());
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
package com.srs.web.controller.teacher;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.srs.common.annotation.Log;
|
||||||
|
import com.srs.common.annotation.RepeatSubmit;
|
||||||
|
import com.srs.common.core.controller.BaseController;
|
||||||
|
import com.srs.common.core.domain.AjaxResult;
|
||||||
|
import com.srs.common.core.page.TableDataInfo;
|
||||||
|
import com.srs.common.enums.BusinessType;
|
||||||
|
import com.srs.common.utils.poi.ExcelUtil;
|
||||||
|
import com.srs.teacher.domain.SysTeacherKpiFillingBonusPointsMaterials;
|
||||||
|
import com.srs.teacher.service.ISysTeacherKpiFillingBonusPointsMaterialsService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业绩考核-个人填报-加分项佐证材料Controller
|
||||||
|
*
|
||||||
|
* @author Codex
|
||||||
|
* @date 2026-03-26
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/teacher/kpiFillingBonusPointsMaterials")
|
||||||
|
@Api(value = "业绩考核-个人填报-加分项佐证材料管理", tags = "业绩考核-个人填报-加分项佐证材料管理")
|
||||||
|
public class SysTeacherKpiFillingBonusPointsMaterialsController extends BaseController {
|
||||||
|
@Autowired
|
||||||
|
private ISysTeacherKpiFillingBonusPointsMaterialsService materialsService;
|
||||||
|
|
||||||
|
@GetMapping("/list")
|
||||||
|
@ApiOperation("查询业绩考核-个人填报-加分项佐证材料列表")
|
||||||
|
public TableDataInfo list(SysTeacherKpiFillingBonusPointsMaterials materials) {
|
||||||
|
startPage();
|
||||||
|
List<SysTeacherKpiFillingBonusPointsMaterials> list = materialsService.selectSysTeacherKpiFillingBonusPointsMaterialsList(materials);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/getByFdyNameAndYearAndMonth")
|
||||||
|
@ApiOperation("根据辅导员姓名、年月查询加分项佐证材料列表")
|
||||||
|
public TableDataInfo getByFdyNameAndYearAndMonth(@RequestParam String fdyName,
|
||||||
|
@RequestParam String fillingYear,
|
||||||
|
@RequestParam String fillingMonth,
|
||||||
|
@RequestParam(required = false) String classType,
|
||||||
|
@RequestParam(required = false) String bonusType) {
|
||||||
|
startPage();
|
||||||
|
List<SysTeacherKpiFillingBonusPointsMaterials> list = materialsService.selectSysTeacherKpiFillingBonusPointsMaterialsByFdyName(fdyName, fillingYear, fillingMonth, classType, bonusType);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/export")
|
||||||
|
@Log(title = "业绩考核-个人填报-加分项佐证材料", businessType = BusinessType.EXPORT)
|
||||||
|
@ApiOperation("导出业绩考核-个人填报-加分项佐证材料列表")
|
||||||
|
public void export(HttpServletResponse response, SysTeacherKpiFillingBonusPointsMaterials materials) {
|
||||||
|
List<SysTeacherKpiFillingBonusPointsMaterials> list = materialsService.selectSysTeacherKpiFillingBonusPointsMaterialsList(materials);
|
||||||
|
ExcelUtil<SysTeacherKpiFillingBonusPointsMaterials> util = new ExcelUtil<>(SysTeacherKpiFillingBonusPointsMaterials.class);
|
||||||
|
util.exportExcel(response, list, "业绩考核-个人填报-加分项佐证材料数据");
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/{id}")
|
||||||
|
@ApiOperation("获取业绩考核-个人填报-加分项佐证材料详情")
|
||||||
|
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
||||||
|
return success(materialsService.selectSysTeacherKpiFillingBonusPointsMaterialsById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/add")
|
||||||
|
@Log(title = "业绩考核-个人填报-加分项佐证材料", businessType = BusinessType.INSERT)
|
||||||
|
@ApiOperation("新增业绩考核-个人填报-加分项佐证材料")
|
||||||
|
@RepeatSubmit(interval = 1000, message = "请求过于频繁")
|
||||||
|
public AjaxResult add(@RequestBody SysTeacherKpiFillingBonusPointsMaterials materials) {
|
||||||
|
return toAjax(materialsService.insertSysTeacherKpiFillingBonusPointsMaterials(materials));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/update")
|
||||||
|
@Log(title = "业绩考核-个人填报-加分项佐证材料", businessType = BusinessType.UPDATE)
|
||||||
|
@ApiOperation("修改业绩考核-个人填报-加分项佐证材料")
|
||||||
|
@RepeatSubmit(interval = 1000, message = "请求过于频繁")
|
||||||
|
public AjaxResult edit(@RequestBody SysTeacherKpiFillingBonusPointsMaterials materials) {
|
||||||
|
return toAjax(materialsService.updateSysTeacherKpiFillingBonusPointsMaterials(materials));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/{ids}")
|
||||||
|
@Log(title = "业绩考核-个人填报-加分项佐证材料", businessType = BusinessType.DELETE)
|
||||||
|
@ApiOperation("删除业绩考核-个人填报-加分项佐证材料")
|
||||||
|
public AjaxResult remove(@PathVariable Long[] ids) {
|
||||||
|
return toAjax(materialsService.deleteSysTeacherKpiFillingBonusPointsMaterialsByIds(ids));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,7 +9,8 @@ srs:
|
|||||||
# 实例演示开关
|
# 实例演示开关
|
||||||
demoEnabled: true
|
demoEnabled: true
|
||||||
# 文件路径 示例( Windows配置D:/srs/uploadPath,Linux配置 /home/srs/uploadPath)#D:/srs/uploadPath
|
# 文件路径 示例( Windows配置D:/srs/uploadPath,Linux配置 /home/srs/uploadPath)#D:/srs/uploadPath
|
||||||
profile: /usr/local/java/srs/uploadPath #/usr/local/java/srs/uploadPath
|
# 后续发布代码,这里路径不能变
|
||||||
|
profile: /usr/local/java/srs/uploadPath
|
||||||
#profile: D:/srs/uploadPath #/srs/uploadPath
|
#profile: D:/srs/uploadPath #/srs/uploadPath
|
||||||
# 获取ip地址开关
|
# 获取ip地址开关
|
||||||
addressEnabled: false
|
addressEnabled: false
|
||||||
|
|||||||
@@ -0,0 +1,100 @@
|
|||||||
|
package com.srs.common.utils.sign;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
import java.util.Base64;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片签名工具类
|
||||||
|
* 用于生成和验证图片访问签名URL
|
||||||
|
*/
|
||||||
|
public class ImageSignUtils {
|
||||||
|
|
||||||
|
private static final String SECRET_KEY = "srs-stamp-secret-key-2024";
|
||||||
|
private static final long DEFAULT_EXPIRE_TIME = 3 * 60_000; // 3分钟
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成签名
|
||||||
|
*/
|
||||||
|
public static String generateSign(String fileName, long expireTime) {
|
||||||
|
String raw = fileName + "-" + expireTime + "-" + SECRET_KEY;
|
||||||
|
return md5(raw);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成带签名的URL
|
||||||
|
*/
|
||||||
|
public static String generateSignedUrl(String fileName) {
|
||||||
|
long expireTime = System.currentTimeMillis() + DEFAULT_EXPIRE_TIME;
|
||||||
|
String sign = generateSign(fileName, expireTime);
|
||||||
|
return String.format("/common/stamp/%s?expire=%d&sign=%s",
|
||||||
|
encodeFileName(fileName), expireTime, sign);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证签名是否有效
|
||||||
|
*/
|
||||||
|
public static boolean validateSign(String fileName, long expireTime, String sign) {
|
||||||
|
if (System.currentTimeMillis() > expireTime) {
|
||||||
|
return false; // 已过期
|
||||||
|
}
|
||||||
|
String expectedSign = generateSign(fileName, expireTime);
|
||||||
|
return expectedSign.equals(sign);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 从请求中提取文件名
|
||||||
|
*/
|
||||||
|
public static String extractFileName(HttpServletRequest request) {
|
||||||
|
String uri = request.getRequestURI();
|
||||||
|
String fileName = uri.substring(uri.lastIndexOf("/common/stamp/") + 14);
|
||||||
|
int paramIndex = fileName.indexOf("?");
|
||||||
|
if (paramIndex > 0) {
|
||||||
|
fileName = fileName.substring(0, paramIndex);
|
||||||
|
}
|
||||||
|
return decodeFileName(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证请求签名
|
||||||
|
*/
|
||||||
|
public static boolean validateRequest(HttpServletRequest request) {
|
||||||
|
String fileName = extractFileName(request);
|
||||||
|
String expireStr = request.getParameter("expire");
|
||||||
|
String sign = request.getParameter("sign");
|
||||||
|
|
||||||
|
if (fileName == null || expireStr == null || sign == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
long expireTime = Long.parseLong(expireStr);
|
||||||
|
return validateSign(fileName, expireTime, sign);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String encodeFileName(String fileName) {
|
||||||
|
return Base64.getUrlEncoder().encodeToString(fileName.getBytes(StandardCharsets.UTF_8));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String decodeFileName(String encoded) {
|
||||||
|
return new String(Base64.getUrlDecoder().decode(encoded), StandardCharsets.UTF_8);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String md5(String input) {
|
||||||
|
try {
|
||||||
|
MessageDigest md = MessageDigest.getInstance("MD5");
|
||||||
|
byte[] digest = md.digest(input.getBytes(StandardCharsets.UTF_8));
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (byte b : digest) {
|
||||||
|
sb.append(String.format("%02x", b));
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException("MD5 calculation failed", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,13 +12,19 @@ import io.swagger.annotations.ApiModelProperty;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@Data
|
@Data
|
||||||
public class SrsStudentInfoCheck { @TableField(exist = false)
|
public class SrsStudentInfoCheck {
|
||||||
|
@TableField(exist = false)
|
||||||
public String tNo;
|
public String tNo;
|
||||||
@NotNull("银行卡")
|
@NotNull("银行卡")
|
||||||
public String xhk;
|
public String xhk;
|
||||||
|
|
||||||
|
/** 主键 ID */
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 学号 */
|
||||||
|
@TableField("stu_no")
|
||||||
|
private String stuNo;
|
||||||
|
|
||||||
/** 生日 */
|
/** 生日 */
|
||||||
@NotNull("生日")
|
@NotNull("生日")
|
||||||
@@ -74,68 +80,56 @@ public class SrsStudentInfoCheck { @TableField(exist = false)
|
|||||||
/**
|
/**
|
||||||
* 户口所在地区县以下详细地址
|
* 户口所在地区县以下详细地址
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String hkxxdz;
|
private String hkxxdz;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 学生居住地址
|
* 学生居住地址
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String xsjzdz;
|
private String xsjzdz;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 所属派出所
|
* 所属派出所
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String sspcs;
|
private String sspcs;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 所属街道
|
* 所属街道
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String ssjd;
|
private String ssjd;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 乘火车区间
|
* 乘火车区间
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String chcqj;
|
private String chcqj;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 详细联系地址
|
* 详细联系地址
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String xxlxdz;
|
private String xxlxdz;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 邮政编码
|
* 邮政编码
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String yzbm;
|
private String yzbm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 现家庭地址
|
* 现家庭地址
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String xjtdz;
|
private String xjtdz;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 家庭邮政编码
|
* 家庭邮政编码
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String jtyzbm;
|
private String jtyzbm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 家庭电话
|
* 家庭电话
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private String jtdh;
|
private String jtdh;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 照片
|
* 照片
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
private String dailyPhoto;
|
private String dailyPhoto;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -153,4 +147,34 @@ public class SrsStudentInfoCheck { @TableField(exist = false)
|
|||||||
*/
|
*/
|
||||||
private String bluePhoto;
|
private String bluePhoto;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建者
|
||||||
|
*/
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新者
|
||||||
|
*/
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除标志(0 代表存在 1 代表删除)
|
||||||
|
*/
|
||||||
|
@TableField("del_flag")
|
||||||
|
private String delFlag;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.srs.comprehensive.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.srs.comprehensive.domain.SrsStudentInfoCheck;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学生信息核对 Mapper 接口
|
||||||
|
*
|
||||||
|
* @author srs
|
||||||
|
* @date 2024-03-27
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface SrsStudentInfoCheckMapper extends BaseMapper<SrsStudentInfoCheck> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.srs.comprehensive.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.srs.comprehensive.domain.SrsStudentInfoCheck;
|
||||||
|
import com.srs.common.core.domain.AjaxResult;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学生信息核对 Service 接口
|
||||||
|
*
|
||||||
|
* @author srs
|
||||||
|
* @date 2024-03-27
|
||||||
|
*/
|
||||||
|
public interface ISrsStudentInfoCheckService extends IService<SrsStudentInfoCheck> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询学生信息
|
||||||
|
* @param stuNo 学号
|
||||||
|
* @return 学生信息
|
||||||
|
*/
|
||||||
|
SrsStudentInfoCheck getStuInfo(String stuNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改学生信息
|
||||||
|
* @param srsStudentInfoCheck 学生信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
AjaxResult editStuInfo(SrsStudentInfoCheck srsStudentInfoCheck);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询学生信息列表
|
||||||
|
* @param srsStudentInfoCheck 学生信息
|
||||||
|
* @return 学生信息集合
|
||||||
|
*/
|
||||||
|
List<SrsStudentInfoCheck> selectSrsStudentInfoCheckList(SrsStudentInfoCheck srsStudentInfoCheck);
|
||||||
|
}
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
package com.srs.comprehensive.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.srs.common.core.domain.AjaxResult;
|
||||||
|
import com.srs.comprehensive.domain.SrsStudentInfoCheck;
|
||||||
|
import com.srs.comprehensive.mapper.SrsStudentInfoCheckMapper;
|
||||||
|
import com.srs.comprehensive.service.ISrsStudentInfoCheckService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学生信息核对 Service 业务层处理
|
||||||
|
*
|
||||||
|
* @author srs
|
||||||
|
* @date 2024-03-27
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SrsStudentInfoCheckServiceImpl extends ServiceImpl<SrsStudentInfoCheckMapper, SrsStudentInfoCheck>
|
||||||
|
implements ISrsStudentInfoCheckService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询学生信息
|
||||||
|
* @param stuNo 学号
|
||||||
|
* @return 学生信息
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SrsStudentInfoCheck getStuInfo(String stuNo) {
|
||||||
|
if (!StringUtils.hasText(stuNo)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<SrsStudentInfoCheck> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(SrsStudentInfoCheck::getStuNo, stuNo);
|
||||||
|
wrapper.eq(SrsStudentInfoCheck::getDelFlag, "0");
|
||||||
|
|
||||||
|
return this.getOne(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改学生信息
|
||||||
|
* @param srsStudentInfoCheck 学生信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AjaxResult editStuInfo(SrsStudentInfoCheck srsStudentInfoCheck) {
|
||||||
|
try {
|
||||||
|
// 先查询是否存在
|
||||||
|
SrsStudentInfoCheck existing = getStuInfo(srsStudentInfoCheck.getStuNo());
|
||||||
|
|
||||||
|
if (existing != null) {
|
||||||
|
// 存在则更新
|
||||||
|
srsStudentInfoCheck.setId(existing.getId());
|
||||||
|
this.updateById(srsStudentInfoCheck);
|
||||||
|
} else {
|
||||||
|
// 不存在则插入
|
||||||
|
this.save(srsStudentInfoCheck);
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.success("修改成功");
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return AjaxResult.error("修改失败:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询学生信息列表
|
||||||
|
* @param srsStudentInfoCheck 学生信息
|
||||||
|
* @return 学生信息集合
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SrsStudentInfoCheck> selectSrsStudentInfoCheckList(SrsStudentInfoCheck srsStudentInfoCheck) {
|
||||||
|
LambdaQueryWrapper<SrsStudentInfoCheck> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
|
||||||
|
// 动态查询条件
|
||||||
|
if (StringUtils.hasText(srsStudentInfoCheck.getStuNo())) {
|
||||||
|
wrapper.eq(SrsStudentInfoCheck::getStuNo, srsStudentInfoCheck.getStuNo());
|
||||||
|
}
|
||||||
|
if (StringUtils.hasText(srsStudentInfoCheck.getMz())) {
|
||||||
|
wrapper.eq(SrsStudentInfoCheck::getMz, srsStudentInfoCheck.getMz());
|
||||||
|
}
|
||||||
|
if (StringUtils.hasText(srsStudentInfoCheck.getZzmm())) {
|
||||||
|
wrapper.eq(SrsStudentInfoCheck::getZzmm, srsStudentInfoCheck.getZzmm());
|
||||||
|
}
|
||||||
|
|
||||||
|
wrapper.eq(SrsStudentInfoCheck::getDelFlag, "0");
|
||||||
|
|
||||||
|
return this.list(wrapper);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.srs.comprehensive.mapper.SrsStudentInfoCheckMapper">
|
||||||
|
|
||||||
|
<resultMap type="SrsStudentInfoCheck" id="SrsStudentInfoCheckResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="stuNo" column="stu_no" />
|
||||||
|
<result property="birthday" column="birthday" />
|
||||||
|
<result property="idCard" column="id_card" />
|
||||||
|
<result property="phone" column="phone" />
|
||||||
|
<result property="mz" column="mz" />
|
||||||
|
<result property="zzmm" column="zzmm" />
|
||||||
|
<result property="hksz1" column="hksz1" />
|
||||||
|
<result property="hksz2" column="hksz2" />
|
||||||
|
<result property="hksz3" column="hksz3" />
|
||||||
|
<result property="hkszd" column="hkszd" />
|
||||||
|
<result property="hkxz" column="hkxz" />
|
||||||
|
<result property="hkxxdz" column="hkxxdz" />
|
||||||
|
<result property="xsjzdz" column="xsjzdz" />
|
||||||
|
<result property="sspcs" column="sspcs" />
|
||||||
|
<result property="ssjd" column="ssjd" />
|
||||||
|
<result property="chcqj" column="chcqj" />
|
||||||
|
<result property="xxlxdz" column="xxlxdz" />
|
||||||
|
<result property="yzbm" column="yzbm" />
|
||||||
|
<result property="xjtdz" column="xjtdz" />
|
||||||
|
<result property="jtyzbm" column="jtyzbm" />
|
||||||
|
<result property="jtdh" column="jtdh" />
|
||||||
|
<result property="dailyPhoto" column="daily_photo" />
|
||||||
|
<result property="whitePhoto" column="white_photo" />
|
||||||
|
<result property="redPhoto" column="red_photo" />
|
||||||
|
<result property="bluePhoto" column="blue_photo" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
<result property="remark" column="remark" />
|
||||||
|
<result property="delFlag" column="del_flag" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -35,5 +35,7 @@ public class FlowQueryVo {
|
|||||||
@ApiModelProperty("每页条数")
|
@ApiModelProperty("每页条数")
|
||||||
private Integer pageSize;
|
private Integer pageSize;
|
||||||
|
|
||||||
|
@ApiModelProperty("流程分类(category)")
|
||||||
|
private String category;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ public class BoStartListener implements ExecutionListener {
|
|||||||
// 获取校领导信息
|
// 获取校领导信息
|
||||||
String roleKey = "xldsp"; //角色key
|
String roleKey = "xldsp"; //角色key
|
||||||
List<TeacherVo> lingDataInfo = leaveMapper.getShenDataInfo(roleKey);
|
List<TeacherVo> lingDataInfo = leaveMapper.getShenDataInfo(roleKey);
|
||||||
|
if (lingDataInfo == null || lingDataInfo.isEmpty()) {
|
||||||
|
log.warn("未找到校领导(roleKey={})信息,跳过学工领导通知。", roleKey);
|
||||||
|
}
|
||||||
|
|
||||||
// 设置流程变量
|
// 设置流程变量
|
||||||
//delegateExecution.setVariable("approval", secondaryLeaderInfo.getUserId());
|
//delegateExecution.setVariable("approval", secondaryLeaderInfo.getUserId());
|
||||||
@@ -52,8 +55,10 @@ public class BoStartListener implements ExecutionListener {
|
|||||||
// 步骤 3: 检查是否成功获取到 userName
|
// 步骤 3: 检查是否成功获取到 userName
|
||||||
//向系统发送通知
|
//向系统发送通知
|
||||||
NotificationManage notificationManage = new NotificationManage();
|
NotificationManage notificationManage = new NotificationManage();
|
||||||
|
if (lingDataInfo != null && !lingDataInfo.isEmpty()) {
|
||||||
notificationManage.setContent("您有一条【学工领导已提交请假申请审批】需待处理"); // 消息内容
|
notificationManage.setContent("您有一条【学工领导已提交请假申请审批】需待处理"); // 消息内容
|
||||||
notificationManage.setReceiver(lingDataInfo.get(0).getUserId());
|
notificationManage.setReceiver(lingDataInfo.get(0).getUserId());
|
||||||
|
}
|
||||||
NotificationManage userManage = leaveMapper.selectCphMsgListForFlowable(notificationManage);
|
NotificationManage userManage = leaveMapper.selectCphMsgListForFlowable(notificationManage);
|
||||||
if (userManage != null) {
|
if (userManage != null) {
|
||||||
//删除指定通知信息
|
//删除指定通知信息
|
||||||
@@ -62,9 +67,13 @@ public class BoStartListener implements ExecutionListener {
|
|||||||
//向学工领导添加通知信息
|
//向学工领导添加通知信息
|
||||||
// 获取二级学院书记信息
|
// 获取二级学院书记信息
|
||||||
List<TeacherVo> secondaryLeaderInfo = leaveMapper.getSecondaryLeaderInfo(deptId);
|
List<TeacherVo> secondaryLeaderInfo = leaveMapper.getSecondaryLeaderInfo(deptId);
|
||||||
|
if (secondaryLeaderInfo == null || secondaryLeaderInfo.isEmpty()) {
|
||||||
|
log.warn("未找到二级学院书记信息,deptId={},跳过通知。", deptId);
|
||||||
|
} else {
|
||||||
//由于这里查到了多个数据,由于时间原因,暂时还没有研究到工作流中多用户节点的同时进行(所以取了第一条数据用于发消息)
|
//由于这里查到了多个数据,由于时间原因,暂时还没有研究到工作流中多用户节点的同时进行(所以取了第一条数据用于发消息)
|
||||||
notificationManage.setContent("您有一条【二级学院书记已提交请假申请审批】需待处理"); // 消息内容
|
notificationManage.setContent("您有一条【二级学院书记已提交请假申请审批】需待处理"); // 消息内容
|
||||||
notificationManage.setSender(secondaryLeaderInfo.get(0).getUserId()); // 发送方
|
notificationManage.setSender(secondaryLeaderInfo.get(0).getUserId()); // 发送方
|
||||||
|
}
|
||||||
notificationManage.setReceiver(Long.parseLong(approval)); // 接收方
|
notificationManage.setReceiver(Long.parseLong(approval)); // 接收方
|
||||||
NotificationManage userManages = leaveMapper.selectCphMsgListForFlowable(notificationManage);
|
NotificationManage userManages = leaveMapper.selectCphMsgListForFlowable(notificationManage);
|
||||||
if (userManages == null) {
|
if (userManages == null) {
|
||||||
|
|||||||
@@ -42,6 +42,10 @@ public class LeadStartListener implements ExecutionListener {
|
|||||||
// 获取学工信息
|
// 获取学工信息
|
||||||
//TeacherVo updateDeptId = leaveMapper.getUpdateDeptId(approval);
|
//TeacherVo updateDeptId = leaveMapper.getUpdateDeptId(approval);
|
||||||
List<TeacherVo> updateDeptIdInfo = leaveMapper.getUpdateDeptIdInfo(1045L);
|
List<TeacherVo> updateDeptIdInfo = leaveMapper.getUpdateDeptIdInfo(1045L);
|
||||||
|
if (updateDeptIdInfo == null || updateDeptIdInfo.isEmpty()) {
|
||||||
|
log.warn("未找到学工领导信息,跳过审批人设置与通知。");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 设置流程变量
|
// 设置流程变量
|
||||||
delegateExecution.setVariable("approval", updateDeptIdInfo.get(0).getUserId());
|
delegateExecution.setVariable("approval", updateDeptIdInfo.get(0).getUserId());
|
||||||
|
|||||||
@@ -130,6 +130,14 @@ public interface IFlowTaskService {
|
|||||||
*/
|
*/
|
||||||
AjaxResult todoList(FlowQueryVo queryVo);
|
AjaxResult todoList(FlowQueryVo queryVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待办任务数量统计
|
||||||
|
*
|
||||||
|
* @param queryVo 请求参数
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
AjaxResult todoCount(FlowQueryVo queryVo);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 已办任务列表
|
* 已办任务列表
|
||||||
|
|||||||
@@ -785,6 +785,40 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
|
|||||||
return AjaxResult.success(page);
|
return AjaxResult.success(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待办任务数量统计
|
||||||
|
*
|
||||||
|
* @param queryVo 请求参数
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AjaxResult todoCount(FlowQueryVo queryVo) {
|
||||||
|
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
|
||||||
|
TaskQuery taskQuery = taskService.createTaskQuery()
|
||||||
|
.active()
|
||||||
|
.includeProcessVariables()
|
||||||
|
.taskCandidateGroupIn(sysUser.getRoles().stream().map(role -> role.getRoleId().toString()).collect(Collectors.toList()))
|
||||||
|
.taskCandidateOrAssigned(sysUser.getUserId().toString())
|
||||||
|
.orderByTaskCreateTime().desc();
|
||||||
|
|
||||||
|
List<Task> taskList = taskQuery.list();
|
||||||
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
int count = 0;
|
||||||
|
for (Task task : taskList) {
|
||||||
|
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
|
||||||
|
.processDefinitionId(task.getProcessDefinitionId())
|
||||||
|
.singleResult();
|
||||||
|
String category = pd.getCategory();
|
||||||
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(queryVo.getCategory())) {
|
||||||
|
if (!queryVo.getCategory().equals(category)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
return AjaxResult.success(count);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 已办任务列表
|
* 已办任务列表
|
||||||
|
|||||||
@@ -140,6 +140,10 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
// 静态资源,可匿名访问
|
// 静态资源,可匿名访问
|
||||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||||
.antMatchers("/swagger-ui.html", "doc.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
.antMatchers("/swagger-ui.html", "doc.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||||
|
// 签名的印章图片URL可匿名访问(签名验证)
|
||||||
|
.antMatchers(HttpMethod.GET, "/common/stamp/**").permitAll()
|
||||||
|
// Base64接口需要认证
|
||||||
|
.antMatchers(HttpMethod.GET, "/common/stamp/base64/**").authenticated()
|
||||||
// 除上面外的所有请求全部需要鉴权认证
|
// 除上面外的所有请求全部需要鉴权认证
|
||||||
.anyRequest().authenticated()
|
.anyRequest().authenticated()
|
||||||
.and()
|
.and()
|
||||||
@@ -172,6 +176,10 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
// 静态资源,可匿名访问
|
// 静态资源,可匿名访问
|
||||||
.antMatchers(HttpMethod.GET, "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
.antMatchers(HttpMethod.GET, "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||||
.antMatchers("/swagger-ui.html", "doc.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
.antMatchers("/swagger-ui.html", "doc.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||||
|
// 签名的印章图片URL可匿名访问(签名验证)
|
||||||
|
.antMatchers(HttpMethod.GET, "/common/stamp/**").permitAll()
|
||||||
|
// Base64接口需要认证
|
||||||
|
.antMatchers(HttpMethod.GET, "/common/stamp/base64/**").authenticated()
|
||||||
// 除上面外的所有请求全部需要鉴权认证
|
// 除上面外的所有请求全部需要鉴权认证
|
||||||
.anyRequest().authenticated()
|
.anyRequest().authenticated()
|
||||||
.and()
|
.and()
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.srs.routine.domain;
|
|||||||
|
|
||||||
import com.srs.common.annotation.Excel;
|
import com.srs.common.annotation.Excel;
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import com.srs.comprehensive.domain.SrsStudent;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
@@ -393,6 +394,86 @@ private static final long serialVersionUID=1L;
|
|||||||
@Excel(name = "保留字段2")
|
@Excel(name = "保留字段2")
|
||||||
private String testTest;
|
private String testTest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 招就处电子签名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("招就处电子签名")
|
||||||
|
@TableField("zs_qmd")
|
||||||
|
@Excel(name = "招就处电子签名")
|
||||||
|
private String zsQmd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 辅导员电子签名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("辅导员电子签名")
|
||||||
|
@TableField("fd_qmd")
|
||||||
|
@Excel(name = "辅导员电子签名")
|
||||||
|
private String fdQmd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学务电子签名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("学务电子签名")
|
||||||
|
@TableField("xw_qmd")
|
||||||
|
@Excel(name = "学务电子签名")
|
||||||
|
private String xwQmd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二级学院电子签名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("二级学院电子签名")
|
||||||
|
@TableField("rj_qmd")
|
||||||
|
@Excel(name = "二级学院电子签名")
|
||||||
|
private String rjQmd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学籍管理电子签名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("学籍管理电子签名")
|
||||||
|
@TableField("xj_qmd")
|
||||||
|
@Excel(name = "学籍管理电子签名")
|
||||||
|
private String xjQmd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 教务处电子签名
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("教务处电子签名")
|
||||||
|
@TableField("jwc_qmd")
|
||||||
|
@Excel(name = "教务处电子签名")
|
||||||
|
private String jwcQmd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学院信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("学院信息")
|
||||||
|
@TableField("college_info")
|
||||||
|
@Excel(name = "学院信息")
|
||||||
|
private String collegeInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 年级信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("年级信息")
|
||||||
|
@TableField("grade_info")
|
||||||
|
@Excel(name = "年级信息")
|
||||||
|
private String gradeInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专业信息")
|
||||||
|
@TableField("major_info")
|
||||||
|
@Excel(name = "专业信息")
|
||||||
|
private String majorInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班级信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("班级信息")
|
||||||
|
@TableField("class_info")
|
||||||
|
@Excel(name = "班级信息")
|
||||||
|
private String classInfo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 退伍复学-填报材料
|
* 退伍复学-填报材料
|
||||||
*/
|
*/
|
||||||
@@ -400,4 +481,11 @@ private static final long serialVersionUID=1L;
|
|||||||
@Excel(name = "退伍复学-填报材料")
|
@Excel(name = "退伍复学-填报材料")
|
||||||
private List<SysDisMate> MaList;
|
private List<SysDisMate> MaList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退伍复学-填报材料
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "退伍复学-填报材料", hidden = true)
|
||||||
|
@Excel(name = "退伍复学-填报材料")
|
||||||
|
private List<SrsStudent> StuList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import com.srs.common.core.domain.BaseEntity;
|
|||||||
* 退伍复学材料对象 sys_dis_mate
|
* 退伍复学材料对象 sys_dis_mate
|
||||||
*
|
*
|
||||||
* @author srs
|
* @author srs
|
||||||
* @date 2026-03-01
|
* @date 2026-04-01
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@@ -168,5 +168,53 @@ private static final long serialVersionUID=1L;
|
|||||||
@Excel(name = "保留字段")
|
@Excel(name = "保留字段")
|
||||||
private String finallabel;
|
private String finallabel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学院信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("学院信息")
|
||||||
|
@TableField("college_info")
|
||||||
|
@Excel(name = "学院信息")
|
||||||
|
private String collegeInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 年级信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("年级信息")
|
||||||
|
@TableField("grade_info")
|
||||||
|
@Excel(name = "年级信息")
|
||||||
|
private String gradeInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班级信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("班级信息")
|
||||||
|
@TableField("major_info")
|
||||||
|
@Excel(name = "班级信息")
|
||||||
|
private String majorInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班级信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("班级信息")
|
||||||
|
@TableField("class_info")
|
||||||
|
@Excel(name = "班级信息")
|
||||||
|
private String classInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* $column.columnComment
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("${column.columnComment}")
|
||||||
|
@TableField("test_data")
|
||||||
|
@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
|
||||||
|
private String testData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* $column.columnComment
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("${column.columnComment}")
|
||||||
|
@TableField("test_save")
|
||||||
|
@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
|
||||||
|
private String testSave;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,20 +29,6 @@ public class SysDisBasicDao{
|
|||||||
@Excel(name = "序号",isSeq = true)
|
@Excel(name = "序号",isSeq = true)
|
||||||
private Long seq;
|
private Long seq;
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 复学流程ID
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("复学流程ID")
|
|
||||||
// @Excel(name = "复学流程ID")
|
|
||||||
// private String fxId;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 流程申请时间
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("流程申请时间")
|
|
||||||
// @Excel(name = "流程申请时间")
|
|
||||||
// private String fxTime;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 学号
|
* 学号
|
||||||
*/
|
*/
|
||||||
@@ -57,17 +43,10 @@ public class SysDisBasicDao{
|
|||||||
@Excel(name = "姓名")
|
@Excel(name = "姓名")
|
||||||
private String stName;
|
private String stName;
|
||||||
|
|
||||||
|
//
|
||||||
@ApiModelProperty("学院")
|
// @ApiModelProperty("学院")
|
||||||
@Excel(name = "学院")
|
// @Excel(name = "学院")
|
||||||
private String college;
|
// private String college;
|
||||||
|
|
||||||
/**
|
|
||||||
* 辅导员名字
|
|
||||||
*/
|
|
||||||
// @ApiModelProperty("辅导员名字")
|
|
||||||
// @Excel(name = "辅导员名字")
|
|
||||||
// private String fdName;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 性别
|
* 性别
|
||||||
@@ -84,60 +63,25 @@ public class SysDisBasicDao{
|
|||||||
private String nations;
|
private String nations;
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
// * $column.columnComment
|
// * 班级
|
||||||
// */
|
// */
|
||||||
// @ApiModelProperty("${column.columnComment}")
|
// @ApiModelProperty("班级")
|
||||||
// @Excel(name = "辅导员签名" , readConverterExp = "$column.readConverterExp()")
|
// @Excel(name = "班级")
|
||||||
// private String fdQm;
|
// private String stClass;
|
||||||
//
|
|
||||||
// /**
|
// /**
|
||||||
// * $column.columnComment
|
// * 专业
|
||||||
// */
|
// */
|
||||||
// @ApiModelProperty("${column.columnComment}")
|
// @ApiModelProperty("专业")
|
||||||
// @Excel(name = "学务签名" , readConverterExp = "$column.readConverterExp()")
|
// @Excel(name = "专业")
|
||||||
// private String xwQm;
|
// private String majors;
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * $column.columnComment
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("${column.columnComment}")
|
|
||||||
// @Excel(name = "二级学院签名" , readConverterExp = "$column.readConverterExp()")
|
|
||||||
// private String erQm;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * $column.columnComment
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("${column.columnComment}")
|
|
||||||
// @Excel(name = "学籍管理签名" , readConverterExp = "$column.readConverterExp()")
|
|
||||||
// private String xjQm;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * $column.columnComment
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("${column.columnComment}")
|
|
||||||
// @Excel(name = "教务签名" , readConverterExp = "$column.readConverterExp()")
|
|
||||||
// private String jwQm;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 班级
|
// * 年级
|
||||||
*/
|
// */
|
||||||
@ApiModelProperty("班级")
|
// @ApiModelProperty("年级")
|
||||||
@Excel(name = "班级")
|
// @Excel(name = "年级")
|
||||||
private String stClass;
|
// private String grade;
|
||||||
|
|
||||||
/**
|
|
||||||
* 专业
|
|
||||||
*/
|
|
||||||
@ApiModelProperty("专业")
|
|
||||||
@Excel(name = "专业")
|
|
||||||
private String majors;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 年级
|
|
||||||
*/
|
|
||||||
@ApiModelProperty("年级")
|
|
||||||
@Excel(name = "年级")
|
|
||||||
private String grade;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 学院
|
* 学院
|
||||||
@@ -151,181 +95,6 @@ public class SysDisBasicDao{
|
|||||||
@Excel(name = "原因")
|
@Excel(name = "原因")
|
||||||
private String reasons;
|
private String reasons;
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 辅导员意见
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("辅导员意见")
|
|
||||||
// @TableField("fd_idea")
|
|
||||||
// @Excel(name = "辅导员意见")
|
|
||||||
// private String fdIdea;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 二级学院意见
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("二级学院意见")
|
|
||||||
// @TableField("two_idea")
|
|
||||||
// @Excel(name = "二级学院意见")
|
|
||||||
// private String twoIdea;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 学务意见
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("学务意见")
|
|
||||||
// @TableField("xw_idea")
|
|
||||||
// @Excel(name = "学务意见")
|
|
||||||
// private String xwIdea;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 学籍管理意见
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("学籍管理意见")
|
|
||||||
// @TableField("xj_idea")
|
|
||||||
// @Excel(name = "学籍管理意见")
|
|
||||||
// private String xjIdea;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 教务处意见
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("教务处意见")
|
|
||||||
// @TableField("jw_idea")
|
|
||||||
// @Excel(name = "教务处意见")
|
|
||||||
// private String jwIdea;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 招生意见
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("招生意见")
|
|
||||||
// @TableField("zs_idea")
|
|
||||||
// @Excel(name = "招生意见")
|
|
||||||
// private String zsIdea;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 招生就业
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("招生就业")
|
|
||||||
// @TableField("zs_status")
|
|
||||||
// @Excel(name = "招生就业")
|
|
||||||
// private String zsStatus;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 时间
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("时间")
|
|
||||||
// @TableField("times")
|
|
||||||
// @Excel(name = "时间")
|
|
||||||
// private String times;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 辅导员审核状态
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("辅导员审核状态")
|
|
||||||
// @TableField("fd_status")
|
|
||||||
// @Excel(name = "辅导员审核状态")
|
|
||||||
// private String fdStatus;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// *
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("")
|
|
||||||
// @TableField("xw_status")
|
|
||||||
// @Excel(name = "学务审核状态")
|
|
||||||
// private String xwStatus;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 二级学院审核状态
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("二级学院审核状态")
|
|
||||||
// @TableField("two_status")
|
|
||||||
// @Excel(name = "二级学院审核状态")
|
|
||||||
// private String twoStatus;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 学籍管理审核状态
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("学籍管理审核状态")
|
|
||||||
// @TableField("xjgl_status")
|
|
||||||
// @Excel(name = "学籍管理审核状态")
|
|
||||||
// private String xjglStatus;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 教务审核状态
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("教务审核状态")
|
|
||||||
// @TableField("jw_status")
|
|
||||||
// @Excel(name = "教务审核状态")
|
|
||||||
// private String jwStatus;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 退伍审核时间
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("退伍审核时间")
|
|
||||||
// @TableField("rw_time")
|
|
||||||
// @Excel(name = "退伍审核时间")
|
|
||||||
// private String rwTime;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 招生审核时间
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("招生审核时间")
|
|
||||||
// @TableField("zs_time")
|
|
||||||
// @Excel(name = "招生审核时间")
|
|
||||||
// private String zsTime;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 辅导员
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("辅导员")
|
|
||||||
// @TableField("fd_time")
|
|
||||||
// @Excel(name = "辅导员")
|
|
||||||
// private String fdTime;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 学务审核
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("学务审核")
|
|
||||||
// @TableField("xw_time")
|
|
||||||
// @Excel(name = "学务审核")
|
|
||||||
// private String xwTime;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 二时间
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("二时间")
|
|
||||||
// @TableField("two_time")
|
|
||||||
// @Excel(name = "二时间")
|
|
||||||
// private String twoTime;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 学籍时间
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("学籍时间")
|
|
||||||
// @TableField("xj_time")
|
|
||||||
// @Excel(name = "学籍时间")
|
|
||||||
// private String xjTime;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 教务审核时间
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("教务审核时间")
|
|
||||||
// @TableField("jw_time")
|
|
||||||
// @Excel(name = "教务审核时间")
|
|
||||||
// private String jwTime;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// * 空余字段
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("空余字段")
|
|
||||||
// @TableField("datab")
|
|
||||||
// @Excel(name = "空余字段")
|
|
||||||
// private String datab;
|
|
||||||
//
|
|
||||||
// /**
|
|
||||||
// *
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty("")
|
|
||||||
// @TableField("dataa")
|
|
||||||
// @Excel(name = "")
|
|
||||||
// private String dataa;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 专业转换
|
* 专业转换
|
||||||
@@ -334,28 +103,35 @@ public class SysDisBasicDao{
|
|||||||
@Excel(name = "专业转换")
|
@Excel(name = "专业转换")
|
||||||
private String conversion;
|
private String conversion;
|
||||||
|
|
||||||
// /**
|
@ApiModelProperty("学院信息")
|
||||||
// * 流程实例ID
|
@TableField("college_info")
|
||||||
// */
|
@Excel(name = "新学院信息")
|
||||||
// @ApiModelProperty("流程实例ID")
|
private String collegeInfo;
|
||||||
// @TableField("process_id")
|
|
||||||
// @Excel(name = "流程实例ID")
|
|
||||||
// private String processId;
|
|
||||||
|
|
||||||
// /**
|
/**
|
||||||
// * 流程部署编号
|
* 年级信息
|
||||||
// */
|
*/
|
||||||
// @ApiModelProperty("流程部署编号")
|
@ApiModelProperty("年级信息")
|
||||||
// @TableField("deploy_id")
|
@TableField("grade_info")
|
||||||
// @Excel(name = "流程部署编号")
|
@Excel(name = "新年级信息")
|
||||||
// private String deployId;
|
private String gradeInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("专业信息")
|
||||||
|
@TableField("major_info")
|
||||||
|
@Excel(name = "新专业信息")
|
||||||
|
private String majorInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班级信息
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("班级信息")
|
||||||
|
@TableField("class_info")
|
||||||
|
@Excel(name = "新班级信息")
|
||||||
|
private String classInfo;
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 退伍复学-填报材料
|
|
||||||
// */
|
|
||||||
// @ApiModelProperty(value = "退伍复学-填报材料", hidden = true)
|
|
||||||
// @Excel(name = "退伍复学-填报材料")
|
|
||||||
// private List<SysDisMate> MaList;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,13 +24,15 @@ public class SysDisMateDao {
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Excel(name = "序号",isSeq = true)
|
@ApiModelProperty("")
|
||||||
private Long seq;
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 学号
|
* 学号
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("学号")
|
@ApiModelProperty("学号")
|
||||||
|
@TableField("st_id")
|
||||||
@Excel(name = "学号")
|
@Excel(name = "学号")
|
||||||
private String stId;
|
private String stId;
|
||||||
|
|
||||||
@@ -38,28 +40,23 @@ public class SysDisMateDao {
|
|||||||
* 姓名
|
* 姓名
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("姓名")
|
@ApiModelProperty("姓名")
|
||||||
|
@TableField("st_name")
|
||||||
@Excel(name = "姓名")
|
@Excel(name = "姓名")
|
||||||
private String stName;
|
private String stName;
|
||||||
|
|
||||||
@ApiModelProperty("学院")
|
|
||||||
@Excel(name = "学院")
|
|
||||||
private String college;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 时间
|
|
||||||
*/
|
|
||||||
// @ApiModelProperty("时间")
|
|
||||||
// @Excel(name = "时间")
|
|
||||||
// private String times;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 学院
|
* 学院
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty("原学院")
|
||||||
|
@TableField("college")
|
||||||
|
@Excel(name = "原学院")
|
||||||
|
private String college;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 原年级
|
* 原年级
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("原年级")
|
@ApiModelProperty("原年级")
|
||||||
|
@TableField("oldgrade")
|
||||||
@Excel(name = "原年级")
|
@Excel(name = "原年级")
|
||||||
private String oldgrade;
|
private String oldgrade;
|
||||||
|
|
||||||
@@ -67,13 +64,31 @@ public class SysDisMateDao {
|
|||||||
* 原专业
|
* 原专业
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("原专业")
|
@ApiModelProperty("原专业")
|
||||||
|
@TableField("oldmajor")
|
||||||
@Excel(name = "原专业")
|
@Excel(name = "原专业")
|
||||||
private String oldmajor;
|
private String oldmajor;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 新年级
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("新年级")
|
||||||
|
// @TableField("newgrade")
|
||||||
|
// @Excel(name = "新年级")
|
||||||
|
// private String newgrade;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 新班级
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("新班级")
|
||||||
|
// @TableField("newmajor")
|
||||||
|
// @Excel(name = "新班级")
|
||||||
|
// private String newmajor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 退役证明
|
* 退役证明
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("退役证明")
|
@ApiModelProperty("退役证明")
|
||||||
|
@TableField("proof")
|
||||||
@Excel(name = "退役证明")
|
@Excel(name = "退役证明")
|
||||||
private String proof;
|
private String proof;
|
||||||
|
|
||||||
@@ -81,6 +96,7 @@ public class SysDisMateDao {
|
|||||||
* 身份证
|
* 身份证
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("身份证")
|
@ApiModelProperty("身份证")
|
||||||
|
@TableField("idcard")
|
||||||
@Excel(name = "身份证")
|
@Excel(name = "身份证")
|
||||||
private String idcard;
|
private String idcard;
|
||||||
|
|
||||||
@@ -88,9 +104,90 @@ public class SysDisMateDao {
|
|||||||
* 材料
|
* 材料
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("材料")
|
@ApiModelProperty("材料")
|
||||||
|
@TableField("material")
|
||||||
@Excel(name = "材料")
|
@Excel(name = "材料")
|
||||||
private String material;
|
private String material;
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 最终专业1
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("最终专业1")
|
||||||
|
// @TableField("finaldata1")
|
||||||
|
// @Excel(name = "最终专业1")
|
||||||
|
// private String finaldata1;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 最终专业1
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("最终专业1")
|
||||||
|
// @TableField("finaldata2")
|
||||||
|
// @Excel(name = "最终专业1")
|
||||||
|
// private String finaldata2;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 最终年级
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("最终年级")
|
||||||
|
// @TableField("finalmajor")
|
||||||
|
// @Excel(name = "最终年级")
|
||||||
|
// private String finalmajor;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 保留字段
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("保留字段")
|
||||||
|
// @TableField("finallabel")
|
||||||
|
// @Excel(name = "保留字段")
|
||||||
|
// private String finallabel;
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * 学院信息
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("学院信息")
|
||||||
|
// @TableField("college_info")
|
||||||
|
// @Excel(name = "学院信息")
|
||||||
|
// private String collegeInfo;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 年级信息
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("年级信息")
|
||||||
|
// @TableField("grade_info")
|
||||||
|
// @Excel(name = "年级信息")
|
||||||
|
// private String gradeInfo;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 班级信息
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("班级信息")
|
||||||
|
// @TableField("major_info")
|
||||||
|
// @Excel(name = "班级信息")
|
||||||
|
// private String majorInfo;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 班级信息
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("班级信息")
|
||||||
|
// @TableField("class_info")
|
||||||
|
// @Excel(name = "班级信息")
|
||||||
|
// private String classInfo;
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * $column.columnComment
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("${column.columnComment}")
|
||||||
|
// @TableField("test_data")
|
||||||
|
// @Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
|
||||||
|
// private String testData;
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * $column.columnComment
|
||||||
|
// */
|
||||||
|
// @ApiModelProperty("${column.columnComment}")
|
||||||
|
// @TableField("test_save")
|
||||||
|
// @Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
|
||||||
|
// private String testSave;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -37,14 +37,12 @@ public class StuLeaveApplicationDetailsVo implements Serializable {
|
|||||||
private String className;
|
private String className;
|
||||||
|
|
||||||
@ApiModelProperty("联系电话")
|
@ApiModelProperty("联系电话")
|
||||||
@Sensitive(desensitizedType = DesensitizedType.PHONE)
|
|
||||||
private String phoneNumber;
|
private String phoneNumber;
|
||||||
|
|
||||||
@ApiModelProperty("父亲姓名")
|
@ApiModelProperty("父亲姓名")
|
||||||
private String fatherName;
|
private String fatherName;
|
||||||
|
|
||||||
@ApiModelProperty("父亲联系电话")
|
@ApiModelProperty("父亲联系电话")
|
||||||
@Sensitive(desensitizedType = DesensitizedType.PHONE)
|
|
||||||
private String fatherRelation;
|
private String fatherRelation;
|
||||||
|
|
||||||
@ApiModelProperty("请假事由")
|
@ApiModelProperty("请假事由")
|
||||||
|
|||||||
@@ -63,6 +63,20 @@ public interface RtEnlistmentReserveMapper extends BaseMapper<RtEnlistmentReserv
|
|||||||
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
|
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
|
||||||
int insertRtEnlistmentReserve(RtEnlistmentReserve rtEnlistmentReserve);
|
int insertRtEnlistmentReserve(RtEnlistmentReserve rtEnlistmentReserve);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入应征入伍预约信息
|
||||||
|
* @param list 应征入伍预约信息列表
|
||||||
|
* @return 插入成功的记录数
|
||||||
|
*/
|
||||||
|
int batchInsertRtEnlistmentReserve(List<RtEnlistmentReserve> list);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询数据库中已存在的学生(姓名+学号拼接)
|
||||||
|
* @param list 待插入的学生列表
|
||||||
|
* @return 已存在的学生标识(格式:姓名_学号)
|
||||||
|
*/
|
||||||
|
List<String> selectExistStudents(List<RtEnlistmentReserve> list);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper接口方法:统计指定年份的保留学籍记录数
|
* Mapper接口方法:统计指定年份的保留学籍记录数
|
||||||
* @param year 年份(如2026)
|
* @param year 年份(如2026)
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ public interface RtStuDisciplinaryApplicationMapper extends BaseMapper<RtStuDisc
|
|||||||
* @param penaltyNumber
|
* @param penaltyNumber
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
StuDisciplinaryPenaltyNumber selectStuDisciplinaryApplicationByPenaltyNumber(Long penaltyNumber);
|
StuDisciplinaryPenaltyNumber selectStuDisciplinaryApplicationByPenaltyNumber(String penaltyNumber);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 学务查询数据
|
* 学务查询数据
|
||||||
|
|||||||
@@ -45,6 +45,13 @@ public interface IRtEnlistmentReserveService extends IService<RtEnlistmentReserv
|
|||||||
*/
|
*/
|
||||||
RtEnlistmentReserve insertRtEnlistmentReserve(RtEnlistmentReserve rtEnlistmentReserve);
|
RtEnlistmentReserve insertRtEnlistmentReserve(RtEnlistmentReserve rtEnlistmentReserve);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入应征入伍预约信息
|
||||||
|
* @param list 应征入伍预约信息列表
|
||||||
|
* @return 插入成功的记录数
|
||||||
|
*/
|
||||||
|
int batchInsertRtEnlistmentReserve(List<RtEnlistmentReserve> list);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改应征入伍保留学籍申请
|
* 修改应征入伍保留学籍申请
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ public interface IRtStuDisciplinaryApplicationService extends IService<RtStuDisc
|
|||||||
* @param penaltyNumber
|
* @param penaltyNumber
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
StuDisciplinaryPenaltyNumber getStuDisciplinaryApplicationByPenaltyNumber(Long penaltyNumber);
|
StuDisciplinaryPenaltyNumber getStuDisciplinaryApplicationByPenaltyNumber(String penaltyNumber);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据学号获取自己的处分信息
|
* 根据学号获取自己的处分信息
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
package com.srs.routine.service.impl;
|
package com.srs.routine.service.impl;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
import java.util.stream.Collectors;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.srs.common.core.domain.AjaxResult;
|
import com.srs.common.core.domain.AjaxResult;
|
||||||
import com.srs.common.core.domain.entity.SysUser;
|
import com.srs.common.core.domain.entity.SysUser;
|
||||||
import com.srs.common.doman.dto.ProcessResultDto;
|
import com.srs.common.doman.dto.ProcessResultDto;
|
||||||
@@ -177,6 +176,101 @@ public class RtEnlistmentReserveServiceImpl extends ServiceImpl<RtEnlistmentRese
|
|||||||
return rtEnlistmentReserve;
|
return rtEnlistmentReserve;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int batchInsertRtEnlistmentReserve(List<RtEnlistmentReserve> list) {
|
||||||
|
// 1. 校验入参是否为空
|
||||||
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 过滤掉姓名或学号为空的数据(避免拼接异常)
|
||||||
|
List<RtEnlistmentReserve> validList = list.stream()
|
||||||
|
.filter(item -> item.getStudentName() != null && !item.getStudentName().isEmpty()
|
||||||
|
&& item.getStudentNo() != null && !item.getStudentNo().isEmpty())
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (CollectionUtils.isEmpty(validList)) {
|
||||||
|
throw new IllegalArgumentException("待插入数据中无有效学生信息(姓名/学号为空)");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 查询数据库中已存在的学生(姓名_学号)
|
||||||
|
List<String> existStudentKeys = rtEnlistmentReserveMapper.selectExistStudents(validList);
|
||||||
|
Set<String> existStudentKeySet = new HashSet<>(existStudentKeys);
|
||||||
|
|
||||||
|
// 4. 拆分重复数据和待插入数据
|
||||||
|
List<RtEnlistmentReserve> duplicateList = validList.stream()
|
||||||
|
.filter(item -> existStudentKeySet.contains(item.getStudentName() + "_" + item.getStudentNo()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<RtEnlistmentReserve> insertList = validList.stream()
|
||||||
|
.filter(item -> !existStudentKeySet.contains(item.getStudentName() + "_" + item.getStudentNo()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 5. 存在重复数据则抛出异常提示
|
||||||
|
if (!CollectionUtils.isEmpty(duplicateList)) {
|
||||||
|
String duplicateMsg = duplicateList.stream()
|
||||||
|
.map(item -> "学生姓名:" + item.getStudentName() + ",学号:" + item.getStudentNo())
|
||||||
|
.collect(Collectors.joining(";"));
|
||||||
|
throw new RuntimeException("提交申请失败,以下学生已提交申请:" + duplicateMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 6. 无重复数据时,为每条待插入数据生成唯一的reserveNo(核心新增逻辑)
|
||||||
|
if (!CollectionUtils.isEmpty(insertList)) {
|
||||||
|
// ========== 生成保留学籍编号(适配批量场景) ==========
|
||||||
|
// 6.1 获取当前系统年份(用于编号和序号重置判断)
|
||||||
|
SimpleDateFormat yearSdf = new SimpleDateFormat("yyyy");
|
||||||
|
String currentYear = yearSdf.format(new Date()); // 如2026
|
||||||
|
|
||||||
|
// 6.2 查询「当前年份」的记录总数(按年份分组统计,实现每年序号重置)
|
||||||
|
// 统计rt_enlistment_reserve表中,reserve_no以"BLXJ("+currentYear+")"开头的记录数
|
||||||
|
int yearTotal = rtEnlistmentReserveMapper.countByYear(currentYear);
|
||||||
|
|
||||||
|
// ========== 保留学籍开始和结束日期生成核心逻辑 ==========
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
int currentMonth = calendar.get(Calendar.MONTH) + 1; // 月份从0开始,+1转为实际月份(1-12)
|
||||||
|
|
||||||
|
// 6.3 为批量数据逐个生成递增的reserveNo
|
||||||
|
for (int i = 0; i < insertList.size(); i++) {
|
||||||
|
RtEnlistmentReserve item = insertList.get(i);
|
||||||
|
// 计算当前条目的序号(年份总数 + 1 + 循环索引,保证批量递增)
|
||||||
|
int seq = yearTotal + 1 + i;
|
||||||
|
// 补零为4位(0001、0002...9999)
|
||||||
|
String seqStr = String.format("%04d", seq);
|
||||||
|
// 拼接最终编号:BLXJ(年份)序号
|
||||||
|
String reserveNo = "BLXJ(" + currentYear + ")" + seqStr;
|
||||||
|
// 设置到当前实体对象中
|
||||||
|
item.setReserveNo(reserveNo);
|
||||||
|
|
||||||
|
// ========== 保留学籍开始和结束日期生成核心逻辑 ==========
|
||||||
|
// --- 生成reserveStartDate(按学期判断) ---
|
||||||
|
// 重置Calendar为当前年份的起始
|
||||||
|
calendar.clear();
|
||||||
|
calendar.set(Calendar.YEAR, Integer.parseInt(currentYear));
|
||||||
|
// 判断学期:春季(1-6月)→3月1日,秋季(7-12月)→9月1日
|
||||||
|
if (currentMonth >= 1 && currentMonth <= 6) {
|
||||||
|
calendar.set(Calendar.MONTH, Calendar.MARCH); // 3月(Calendar中3月是2,这里直接用常量更清晰)
|
||||||
|
} else {
|
||||||
|
calendar.set(Calendar.MONTH, Calendar.SEPTEMBER); // 9月
|
||||||
|
}
|
||||||
|
calendar.set(Calendar.DAY_OF_MONTH, 1); // 1日
|
||||||
|
Date reserveStartDate = calendar.getTime();
|
||||||
|
item.setReserveStartDate(reserveStartDate);
|
||||||
|
|
||||||
|
// --- 生成reserveEndDate(startDate加2年) ---
|
||||||
|
Calendar endCalendar = (Calendar) calendar.clone(); // 克隆避免影响原日期
|
||||||
|
endCalendar.add(Calendar.YEAR, 2); // 加2年
|
||||||
|
Date reserveEndDate = endCalendar.getTime();
|
||||||
|
item.setReserveEndDate(reserveEndDate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 7. 执行批量插入
|
||||||
|
if (CollectionUtils.isEmpty(insertList)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return rtEnlistmentReserveMapper.batchInsertRtEnlistmentReserve(insertList);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改应征入伍保留学籍申请
|
* 修改应征入伍保留学籍申请
|
||||||
*
|
*
|
||||||
@@ -250,7 +344,7 @@ public class RtEnlistmentReserveServiceImpl extends ServiceImpl<RtEnlistmentRese
|
|||||||
Long applyStatus = rtEnlistmentReserve.getApplyStatus();
|
Long applyStatus = rtEnlistmentReserve.getApplyStatus();
|
||||||
if (1L == applyStatus) {
|
if (1L == applyStatus) {
|
||||||
// 绑定当前学生ID,启动流程
|
// 绑定当前学生ID,启动流程
|
||||||
rtEnlistmentReserve.setStudentId(SecurityUtils.getUserId());
|
// rtEnlistmentReserve.setStudentId(SecurityUtils.getUserId());
|
||||||
ProcessResultDto processResultDto = startEnlistmentReserveProcess(rtEnlistmentReserve);
|
ProcessResultDto processResultDto = startEnlistmentReserveProcess(rtEnlistmentReserve);
|
||||||
if (processResultDto == null || StringUtils.isBlank(processResultDto.getProcessInstanceId())) {
|
if (processResultDto == null || StringUtils.isBlank(processResultDto.getProcessInstanceId())) {
|
||||||
throw new ServiceException("流程启动失败,请重试", 500);
|
throw new ServiceException("流程启动失败,请重试", 500);
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ public class RtStuDisciplinaryApplicationServiceImpl extends ServiceImpl<RtStuDi
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StuDisciplinaryPenaltyNumber getStuDisciplinaryApplicationByPenaltyNumber(Long penaltyNumber) {
|
public StuDisciplinaryPenaltyNumber getStuDisciplinaryApplicationByPenaltyNumber(String penaltyNumber) {
|
||||||
StuDisciplinaryPenaltyNumber stuDisciplinaryPenaltyNumber = rtStuDisciplinaryApplicationMapper.selectStuDisciplinaryApplicationByPenaltyNumber(penaltyNumber);
|
StuDisciplinaryPenaltyNumber stuDisciplinaryPenaltyNumber = rtStuDisciplinaryApplicationMapper.selectStuDisciplinaryApplicationByPenaltyNumber(penaltyNumber);
|
||||||
if (stuDisciplinaryPenaltyNumber != null) {
|
if (stuDisciplinaryPenaltyNumber != null) {
|
||||||
return stuDisciplinaryPenaltyNumber;
|
return stuDisciplinaryPenaltyNumber;
|
||||||
|
|||||||
@@ -162,7 +162,14 @@ public class SysDisBasicServiceImpl extends ServiceImpl<SysDisBasicMapper,SysDis
|
|||||||
.set(mate.getFinaldata1() != null, SysDisMate::getFinaldata1, mate.getFinaldata1())
|
.set(mate.getFinaldata1() != null, SysDisMate::getFinaldata1, mate.getFinaldata1())
|
||||||
.set(mate.getFinaldata2() != null, SysDisMate::getFinaldata2, mate.getFinaldata2())
|
.set(mate.getFinaldata2() != null, SysDisMate::getFinaldata2, mate.getFinaldata2())
|
||||||
.set(mate.getFinalmajor() != null, SysDisMate::getFinalmajor, mate.getFinalmajor())
|
.set(mate.getFinalmajor() != null, SysDisMate::getFinalmajor, mate.getFinalmajor())
|
||||||
.set(mate.getFinallabel() != null, SysDisMate::getFinallabel, mate.getFinallabel());
|
.set(mate.getFinallabel() != null, SysDisMate::getFinallabel, mate.getFinallabel())
|
||||||
|
// 新增表字段位置
|
||||||
|
.set(mate.getCollegeInfo() != null, SysDisMate::getCollegeInfo, mate.getCollegeInfo())
|
||||||
|
.set(mate.getGradeInfo() != null, SysDisMate::getGradeInfo, mate.getGradeInfo())
|
||||||
|
.set(mate.getMajorInfo() != null, SysDisMate::getMajorInfo, mate.getMajorInfo())
|
||||||
|
.set(mate.getClassInfo() != null, SysDisMate::getClassInfo, mate.getClassInfo())
|
||||||
|
.set(mate.getTestData() != null, SysDisMate::getTestData, mate.getTestData())
|
||||||
|
.set(mate.getTestSave() != null, SysDisMate::getTestSave, mate.getTestSave());
|
||||||
|
|
||||||
updateResult = sysDisMateMapper.update(null, updateWrapper);
|
updateResult = sysDisMateMapper.update(null, updateWrapper);
|
||||||
logger.info("通过子表ID自定义更新,影响行数: {}", updateResult);
|
logger.info("通过子表ID自定义更新,影响行数: {}", updateResult);
|
||||||
@@ -180,7 +187,14 @@ public class SysDisBasicServiceImpl extends ServiceImpl<SysDisBasicMapper,SysDis
|
|||||||
.set(mate.getFinaldata1() != null, SysDisMate::getFinaldata1, mate.getFinaldata1())
|
.set(mate.getFinaldata1() != null, SysDisMate::getFinaldata1, mate.getFinaldata1())
|
||||||
.set(mate.getFinaldata2() != null, SysDisMate::getFinaldata2, mate.getFinaldata2())
|
.set(mate.getFinaldata2() != null, SysDisMate::getFinaldata2, mate.getFinaldata2())
|
||||||
.set(mate.getFinalmajor() != null, SysDisMate::getFinalmajor, mate.getFinalmajor())
|
.set(mate.getFinalmajor() != null, SysDisMate::getFinalmajor, mate.getFinalmajor())
|
||||||
.set(mate.getFinallabel() != null, SysDisMate::getFinallabel, mate.getFinallabel());
|
.set(mate.getFinallabel() != null, SysDisMate::getFinallabel, mate.getFinallabel())
|
||||||
|
// 新增子表字段
|
||||||
|
.set(mate.getCollegeInfo() != null, SysDisMate::getCollegeInfo, mate.getCollegeInfo())
|
||||||
|
.set(mate.getGradeInfo() != null, SysDisMate::getGradeInfo, mate.getGradeInfo())
|
||||||
|
.set(mate.getMajorInfo() != null, SysDisMate::getMajorInfo, mate.getMajorInfo())
|
||||||
|
.set(mate.getClassInfo() != null, SysDisMate::getClassInfo, mate.getClassInfo())
|
||||||
|
.set(mate.getTestData() != null, SysDisMate::getTestData, mate.getTestData())
|
||||||
|
.set(mate.getTestSave() != null, SysDisMate::getTestSave, mate.getTestSave());
|
||||||
|
|
||||||
updateResult = sysDisMateMapper.update(null, updateWrapper);
|
updateResult = sysDisMateMapper.update(null, updateWrapper);
|
||||||
logger.info("通过st_id自定义更新,影响行数: {}", updateResult);
|
logger.info("通过st_id自定义更新,影响行数: {}", updateResult);
|
||||||
|
|||||||
@@ -216,6 +216,16 @@
|
|||||||
WHERE a.stu_no = #{stuNo}
|
WHERE a.stu_no = #{stuNo}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 查询数据库中已存在的学生(按姓名+学号) -->
|
||||||
|
<select id="selectExistStudents" parameterType="java.util.List" resultType="java.lang.String">
|
||||||
|
SELECT CONCAT(student_name, '_', student_no)
|
||||||
|
FROM rt_enlistment_reserve
|
||||||
|
WHERE CONCAT(student_name, '_', student_no) IN
|
||||||
|
<foreach collection="list" item="item" open="(" separator="," close=")">
|
||||||
|
CONCAT(#{item.studentName}, '_', #{item.studentNo})
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="insertRtEnlistmentReserve" parameterType="RtEnlistmentReserve" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertRtEnlistmentReserve" parameterType="RtEnlistmentReserve" useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into rt_enlistment_reserve
|
insert into rt_enlistment_reserve
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
@@ -272,6 +282,68 @@
|
|||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<!-- 批量插入 -->
|
||||||
|
<insert id="batchInsertRtEnlistmentReserve" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
|
||||||
|
insert into rt_enlistment_reserve
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="list != null and list.size() > 0">
|
||||||
|
<if test="list[0].applyNo != null and list[0].applyNo != ''">apply_no,</if>
|
||||||
|
<if test="list[0].studentId != null">student_id,</if>
|
||||||
|
<if test="list[0].teacherName != null and list[0].teacherName != ''">teacher_name,</if>
|
||||||
|
<if test="list[0].studentName != null and list[0].studentName != ''">student_name,</if>
|
||||||
|
<if test="list[0].gender != null and list[0].gender != ''">gender,</if>
|
||||||
|
<if test="list[0].nation != null and list[0].nation != ''">nation,</if>
|
||||||
|
<if test="list[0].grade != null and list[0].grade != ''">grade,</if>
|
||||||
|
<if test="list[0].studentNo != null and list[0].studentNo != ''">student_no,</if>
|
||||||
|
<if test="list[0].className != null and list[0].className != ''">class_name,</if>
|
||||||
|
<if test="list[0].major != null and list[0].major != ''">major,</if>
|
||||||
|
<if test="list[0].familyAddress != null and list[0].familyAddress != ''">family_address,</if>
|
||||||
|
<if test="list[0].parentPhone != null and list[0].parentPhone != ''">parent_phone,</if>
|
||||||
|
<if test="list[0].applyReason != null and list[0].applyReason != ''">apply_reason,</if>
|
||||||
|
<if test="list[0].applyStatus != null">apply_status,</if>
|
||||||
|
<if test="list[0].processInstanceId != null">process_instance_id,</if>
|
||||||
|
<if test="list[0].reserveNo != null">reserve_no,</if>
|
||||||
|
<if test="list[0].reserveStartDate != null">reserve_start_date,</if>
|
||||||
|
<if test="list[0].reserveEndDate != null">reserve_end_date,</if>
|
||||||
|
<if test="list[0].approvalNo != null">approval_no,</if>
|
||||||
|
<if test="list[0].createTime != null">create_time,</if>
|
||||||
|
<if test="list[0].updateTime != null">update_time,</if>
|
||||||
|
<if test="list[0].affixId != null">affix_id,</if>
|
||||||
|
<if test="list[0].deployId != null">deploy_id,</if>
|
||||||
|
<if test="list[0].deptName != null">dept_name,</if>
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
values
|
||||||
|
<foreach collection="list" item="item" separator=",">
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="item.applyNo != null and item.applyNo != ''">#{item.applyNo},</if>
|
||||||
|
<if test="item.studentId != null">#{item.studentId},</if>
|
||||||
|
<if test="item.teacherName != null and item.teacherName != ''">#{item.teacherName},</if>
|
||||||
|
<if test="item.studentName != null and item.studentName != ''">#{item.studentName},</if>
|
||||||
|
<if test="item.gender != null and item.gender != ''">#{item.gender},</if>
|
||||||
|
<if test="item.nation != null and item.nation != ''">#{item.nation},</if>
|
||||||
|
<if test="item.grade != null and item.grade != ''">#{item.grade},</if>
|
||||||
|
<if test="item.studentNo != null and item.studentNo != ''">#{item.studentNo},</if>
|
||||||
|
<if test="item.className != null and item.className != ''">#{item.className},</if>
|
||||||
|
<if test="item.major != null and item.major != ''">#{item.major},</if>
|
||||||
|
<if test="item.familyAddress != null and item.familyAddress != ''">#{item.familyAddress},</if>
|
||||||
|
<if test="item.parentPhone != null and item.parentPhone != ''">#{item.parentPhone},</if>
|
||||||
|
<if test="item.applyReason != null and item.applyReason != ''">#{item.applyReason},</if>
|
||||||
|
<if test="item.applyStatus != null">#{item.applyStatus},</if>
|
||||||
|
<if test="item.processInstanceId != null">#{item.processInstanceId},</if>
|
||||||
|
<if test="item.reserveNo != null">#{item.reserveNo},</if>
|
||||||
|
<if test="item.reserveStartDate != null">#{item.reserveStartDate},</if>
|
||||||
|
<if test="item.reserveEndDate != null">#{item.reserveEndDate},</if>
|
||||||
|
<if test="item.approvalNo != null">#{item.approvalNo},</if>
|
||||||
|
<if test="item.createTime != null">#{item.createTime},</if>
|
||||||
|
<if test="item.updateTime != null">#{item.updateTime},</if>
|
||||||
|
<if test="item.affixId != null">#{item.affixId},</if>
|
||||||
|
<if test="item.deployId != null">#{item.deployId},</if>
|
||||||
|
<if test="item.deptName != null">#{item.deptName},</if>
|
||||||
|
</trim>
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
<update id="updateRtEnlistmentReserve" parameterType="RtEnlistmentReserve">
|
<update id="updateRtEnlistmentReserve" parameterType="RtEnlistmentReserve">
|
||||||
update rt_enlistment_reserve
|
update rt_enlistment_reserve
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
|||||||
@@ -51,11 +51,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="studentId" column="student_id" />
|
<result property="studentId" column="student_id" />
|
||||||
<result property="testData" column="test_data" />
|
<result property="testData" column="test_data" />
|
||||||
<result property="testTest" column="test_test" />
|
<result property="testTest" column="test_test" />
|
||||||
|
<result property="zsQmd" column="zs_qmd" />
|
||||||
|
<result property="fdQmd" column="fd_qmd" />
|
||||||
|
<result property="xwQmd" column="xw_qmd" />
|
||||||
|
<result property="rjQmd" column="rj_qmd" />
|
||||||
|
<result property="xjQmd" column="xj_qmd" />
|
||||||
|
<result property="jwcQmd" column="jwc_qmd" />
|
||||||
|
<result property="collegeInfo" column="college_info" />
|
||||||
|
<result property="gradeInfo" column="grade_info" />
|
||||||
|
<result property="majorInfo" column="major_info" />
|
||||||
|
<result property="classInfo" column="class_info" />
|
||||||
<!--填报退伍材料-->
|
<!--填报退伍材料-->
|
||||||
<collection property="MaList" column="{stId = st_id}" javaType="java.util.ArrayList" select="selectMateById"/>
|
<collection property="MaList" column="{stId = st_id}" javaType="java.util.ArrayList" select="selectMateById"/>
|
||||||
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
<!-- 联表 材料上传-->
|
<!-- 联表 材料上传-->
|
||||||
<resultMap type="SysDisMate" id="SysDisMateResult">
|
<resultMap type="SysDisMate" id="SysDisMateResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
@@ -128,9 +138,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<sql id="selectSysDisBasicVo">
|
<sql id="selectSysDisBasicVo">
|
||||||
select id, fx_id, fx_time, st_id, st_name, fd_name, sex, nations, fd_qm, xw_qm, er_qm, xj_qm, jw_qm, st_class, majors, grade, college, reasons, fd_idea, two_idea, xw_idea, xj_idea, jw_idea, zs_idea, zs_status, times, fd_status, xw_status, two_status, xjgl_status, jw_status, rw_time, zs_time, fd_time, xw_time, two_time, xj_time, jw_time, datab, dataa, conversion, process_id, deploy_id, student_id, test_data, test_test from sys_dis_basic
|
select id, fx_id, fx_time, st_id, st_name, fd_name, sex, nations, fd_qm, xw_qm, er_qm, xj_qm, jw_qm, st_class, majors, grade, college, reasons, fd_idea, two_idea, xw_idea, xj_idea, jw_idea, zs_idea, zs_status, times, fd_status, xw_status, two_status, xjgl_status, jw_status, rw_time, zs_time, fd_time, xw_time, two_time, xj_time, jw_time, datab, dataa, conversion, process_id, deploy_id, student_id, test_data, test_test, zs_qmd, fd_qmd, xw_qmd, rj_qmd, xj_qmd, jwc_qmd, college_info, grade_info, major_info, class_info from sys_dis_basic
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectSysDisBasicList" parameterType="SysDisBasic" resultMap="SysDisBasicResult">
|
<select id="selectSysDisBasicList" parameterType="SysDisBasic" resultMap="SysDisBasicResult">
|
||||||
@@ -181,6 +190,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="studentId != null "> and student_id = #{studentId}</if>
|
<if test="studentId != null "> and student_id = #{studentId}</if>
|
||||||
<if test="testData != null and testData != ''"> and test_data = #{testData}</if>
|
<if test="testData != null and testData != ''"> and test_data = #{testData}</if>
|
||||||
<if test="testTest != null and testTest != ''"> and test_test = #{testTest}</if>
|
<if test="testTest != null and testTest != ''"> and test_test = #{testTest}</if>
|
||||||
|
<if test="zsQmd != null and zsQmd != ''"> and zs_qmd = #{zsQmd}</if>
|
||||||
|
<if test="fdQmd != null and fdQmd != ''"> and fd_qmd = #{fdQmd}</if>
|
||||||
|
<if test="xwQmd != null and xwQmd != ''"> and xw_qmd = #{xwQmd}</if>
|
||||||
|
<if test="rjQmd != null and rjQmd != ''"> and rj_qmd = #{rjQmd}</if>
|
||||||
|
<if test="xjQmd != null and xjQmd != ''"> and xj_qmd = #{xjQmd}</if>
|
||||||
|
<if test="jwcQmd != null and jwcQmd != ''"> and jwc_qmd = #{jwcQmd}</if>
|
||||||
|
<if test="collegeInfo != null and collegeInfo != ''"> and college_info = #{collegeInfo}</if>
|
||||||
|
<if test="gradeInfo != null and gradeInfo != ''"> and grade_info = #{gradeInfo}</if>
|
||||||
|
<if test="majorInfo != null and majorInfo != ''"> and major_info = #{majorInfo}</if>
|
||||||
|
<if test="classInfo != null and classInfo != ''"> and class_info = #{classInfo}</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -237,6 +256,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="studentId != null">student_id,</if>
|
<if test="studentId != null">student_id,</if>
|
||||||
<if test="testData != null">test_data,</if>
|
<if test="testData != null">test_data,</if>
|
||||||
<if test="testTest != null">test_test,</if>
|
<if test="testTest != null">test_test,</if>
|
||||||
|
<if test="zsQmd != null">zs_qmd,</if>
|
||||||
|
<if test="fdQmd != null">fd_qmd,</if>
|
||||||
|
<if test="xwQmd != null">xw_qmd,</if>
|
||||||
|
<if test="rjQmd != null">rj_qmd,</if>
|
||||||
|
<if test="xjQmd != null">xj_qmd,</if>
|
||||||
|
<if test="jwcQmd != null">jwc_qmd,</if>
|
||||||
|
<if test="collegeInfo != null">college_info,</if>
|
||||||
|
<if test="gradeInfo != null">grade_info,</if>
|
||||||
|
<if test="majorInfo != null">major_info,</if>
|
||||||
|
<if test="classInfo != null">class_info,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="fxId != null">#{fxId},</if>
|
<if test="fxId != null">#{fxId},</if>
|
||||||
@@ -284,6 +313,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="studentId != null">#{studentId},</if>
|
<if test="studentId != null">#{studentId},</if>
|
||||||
<if test="testData != null">#{testData},</if>
|
<if test="testData != null">#{testData},</if>
|
||||||
<if test="testTest != null">#{testTest},</if>
|
<if test="testTest != null">#{testTest},</if>
|
||||||
|
<if test="zsQmd != null">#{zsQmd},</if>
|
||||||
|
<if test="fdQmd != null">#{fdQmd},</if>
|
||||||
|
<if test="xwQmd != null">#{xwQmd},</if>
|
||||||
|
<if test="rjQmd != null">#{rjQmd},</if>
|
||||||
|
<if test="xjQmd != null">#{xjQmd},</if>
|
||||||
|
<if test="jwcQmd != null">#{jwcQmd},</if>
|
||||||
|
<if test="collegeInfo != null">#{collegeInfo},</if>
|
||||||
|
<if test="gradeInfo != null">#{gradeInfo},</if>
|
||||||
|
<if test="majorInfo != null">#{majorInfo},</if>
|
||||||
|
<if test="classInfo != null">#{classInfo},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@@ -335,6 +374,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="studentId != null">student_id = #{studentId},</if>
|
<if test="studentId != null">student_id = #{studentId},</if>
|
||||||
<if test="testData != null">test_data = #{testData},</if>
|
<if test="testData != null">test_data = #{testData},</if>
|
||||||
<if test="testTest != null">test_test = #{testTest},</if>
|
<if test="testTest != null">test_test = #{testTest},</if>
|
||||||
|
<if test="zsQmd != null">zs_qmd = #{zsQmd},</if>
|
||||||
|
<if test="fdQmd != null">fd_qmd = #{fdQmd},</if>
|
||||||
|
<if test="xwQmd != null">xw_qmd = #{xwQmd},</if>
|
||||||
|
<if test="rjQmd != null">rj_qmd = #{rjQmd},</if>
|
||||||
|
<if test="xjQmd != null">xj_qmd = #{xjQmd},</if>
|
||||||
|
<if test="jwcQmd != null">jwc_qmd = #{jwcQmd},</if>
|
||||||
|
<if test="collegeInfo != null">college_info = #{collegeInfo},</if>
|
||||||
|
<if test="gradeInfo != null">grade_info = #{gradeInfo},</if>
|
||||||
|
<if test="majorInfo != null">major_info = #{majorInfo},</if>
|
||||||
|
<if test="classInfo != null">class_info = #{classInfo},</if>
|
||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE mapper
|
<!DOCTYPE mapper
|
||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.srs.routine.mapper.SysDisMateMapper">
|
<mapper namespace="com.srs.routine.mapper.SysDisMateMapper">
|
||||||
|
|
||||||
<resultMap type="SysDisMate" id="SysDisMateResult">
|
<resultMap type="SysDisMate" id="SysDisMateResult">
|
||||||
@@ -23,10 +23,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="finaldata2" column="finaldata2" />
|
<result property="finaldata2" column="finaldata2" />
|
||||||
<result property="finalmajor" column="finalmajor" />
|
<result property="finalmajor" column="finalmajor" />
|
||||||
<result property="finallabel" column="finallabel" />
|
<result property="finallabel" column="finallabel" />
|
||||||
|
<result property="collegeInfo" column="college_info" />
|
||||||
|
<result property="gradeInfo" column="grade_info" />
|
||||||
|
<result property="majorInfo" column="major_info" />
|
||||||
|
<result property="classInfo" column="class_info" />
|
||||||
|
<result property="testData" column="test_data" />
|
||||||
|
<result property="testSave" column="test_save" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectSysDisMateVo">
|
<sql id="selectSysDisMateVo">
|
||||||
select id, st_id, st_name, times, college, oldgrade, oldmajor, newgrade, newmajor, proof, idcard, material, data1, data2, finaldata1, finaldata2, finalmajor, finallabel from sys_dis_mate
|
select id, st_id, st_name, times, college, oldgrade, oldmajor, newgrade, newmajor, proof, idcard, material, data1, data2, finaldata1, finaldata2, finalmajor, finallabel, college_info, grade_info, major_info, class_info, test_data, test_save from sys_dis_mate
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectSysDisMateList" parameterType="SysDisMate" resultMap="SysDisMateResult">
|
<select id="selectSysDisMateList" parameterType="SysDisMate" resultMap="SysDisMateResult">
|
||||||
@@ -49,6 +55,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="finaldata2 != null and finaldata2 != ''"> and finaldata2 = #{finaldata2}</if>
|
<if test="finaldata2 != null and finaldata2 != ''"> and finaldata2 = #{finaldata2}</if>
|
||||||
<if test="finalmajor != null and finalmajor != ''"> and finalmajor = #{finalmajor}</if>
|
<if test="finalmajor != null and finalmajor != ''"> and finalmajor = #{finalmajor}</if>
|
||||||
<if test="finallabel != null and finallabel != ''"> and finallabel = #{finallabel}</if>
|
<if test="finallabel != null and finallabel != ''"> and finallabel = #{finallabel}</if>
|
||||||
|
<if test="collegeInfo != null and collegeInfo != ''"> and college_info = #{collegeInfo}</if>
|
||||||
|
<if test="gradeInfo != null and gradeInfo != ''"> and grade_info = #{gradeInfo}</if>
|
||||||
|
<if test="majorInfo != null and majorInfo != ''"> and major_info = #{majorInfo}</if>
|
||||||
|
<if test="classInfo != null and classInfo != ''"> and class_info = #{classInfo}</if>
|
||||||
|
<if test="testData != null and testData != ''"> and test_data = #{testData}</if>
|
||||||
|
<if test="testSave != null and testSave != ''"> and test_save = #{testSave}</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -77,6 +89,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="finaldata2 != null">finaldata2,</if>
|
<if test="finaldata2 != null">finaldata2,</if>
|
||||||
<if test="finalmajor != null">finalmajor,</if>
|
<if test="finalmajor != null">finalmajor,</if>
|
||||||
<if test="finallabel != null">finallabel,</if>
|
<if test="finallabel != null">finallabel,</if>
|
||||||
|
<if test="collegeInfo != null">college_info,</if>
|
||||||
|
<if test="gradeInfo != null">grade_info,</if>
|
||||||
|
<if test="majorInfo != null">major_info,</if>
|
||||||
|
<if test="classInfo != null">class_info,</if>
|
||||||
|
<if test="testData != null">test_data,</if>
|
||||||
|
<if test="testSave != null">test_save,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="stId != null">#{stId},</if>
|
<if test="stId != null">#{stId},</if>
|
||||||
@@ -96,6 +114,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="finaldata2 != null">#{finaldata2},</if>
|
<if test="finaldata2 != null">#{finaldata2},</if>
|
||||||
<if test="finalmajor != null">#{finalmajor},</if>
|
<if test="finalmajor != null">#{finalmajor},</if>
|
||||||
<if test="finallabel != null">#{finallabel},</if>
|
<if test="finallabel != null">#{finallabel},</if>
|
||||||
|
<if test="collegeInfo != null">#{collegeInfo},</if>
|
||||||
|
<if test="gradeInfo != null">#{gradeInfo},</if>
|
||||||
|
<if test="majorInfo != null">#{majorInfo},</if>
|
||||||
|
<if test="classInfo != null">#{classInfo},</if>
|
||||||
|
<if test="testData != null">#{testData},</if>
|
||||||
|
<if test="testSave != null">#{testSave},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
@@ -119,6 +143,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="finaldata2 != null">finaldata2 = #{finaldata2},</if>
|
<if test="finaldata2 != null">finaldata2 = #{finaldata2},</if>
|
||||||
<if test="finalmajor != null">finalmajor = #{finalmajor},</if>
|
<if test="finalmajor != null">finalmajor = #{finalmajor},</if>
|
||||||
<if test="finallabel != null">finallabel = #{finallabel},</if>
|
<if test="finallabel != null">finallabel = #{finallabel},</if>
|
||||||
|
<if test="collegeInfo != null">college_info = #{collegeInfo},</if>
|
||||||
|
<if test="gradeInfo != null">grade_info = #{gradeInfo},</if>
|
||||||
|
<if test="majorInfo != null">major_info = #{majorInfo},</if>
|
||||||
|
<if test="classInfo != null">class_info = #{classInfo},</if>
|
||||||
|
<if test="testData != null">test_data = #{testData},</if>
|
||||||
|
<if test="testSave != null">test_save = #{testSave},</if>
|
||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
@@ -144,10 +174,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="finaldata2 != null">finaldata2 = #{finaldata2},</if>
|
<if test="finaldata2 != null">finaldata2 = #{finaldata2},</if>
|
||||||
<if test="finalmajor != null">finalmajor = #{finalmajor},</if>
|
<if test="finalmajor != null">finalmajor = #{finalmajor},</if>
|
||||||
<if test="finallabel != null">finallabel = #{finallabel},</if>
|
<if test="finallabel != null">finallabel = #{finallabel},</if>
|
||||||
|
<if test="collegeInfo != null">college_info = #{collegeInfo},</if>
|
||||||
|
<if test="gradeInfo != null">grade_info = #{gradeInfo},</if>
|
||||||
|
<if test="majorInfo != null">major_info = #{majorInfo},</if>
|
||||||
|
<if test="classInfo != null">class_info = #{classInfo},</if>
|
||||||
|
<if test="testData != null">test_data = #{testData},</if>
|
||||||
|
<if test="testSave != null">test_save = #{testSave},</if>
|
||||||
</trim>
|
</trim>
|
||||||
where st_id = #{stId}
|
where st_id = #{stId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
<delete id="deleteSysDisMateById" parameterType="Long">
|
<delete id="deleteSysDisMateById" parameterType="Long">
|
||||||
delete from sys_dis_mate where id = #{id}
|
delete from sys_dis_mate where id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
|||||||
@@ -39,15 +39,10 @@
|
|||||||
<version>3.5.3.1</version>
|
<version>3.5.3.1</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.baomidou</groupId>
|
|
||||||
<artifactId>mybatis-plus-core</artifactId>
|
|
||||||
<version>3.5.3.1</version>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.projectlombok</groupId>
|
<groupId>org.projectlombok</groupId>
|
||||||
<artifactId>lombok</artifactId>
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.32</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.baomidou</groupId>
|
<groupId>com.baomidou</groupId>
|
||||||
@@ -55,12 +50,6 @@
|
|||||||
<version>3.5.3.1</version>
|
<version>3.5.3.1</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.baomidou</groupId>
|
|
||||||
<artifactId>mybatis-plus-extension</artifactId>
|
|
||||||
<version>3.3.0</version>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|||||||
@@ -226,6 +226,13 @@ public class SysTeacherKpiFilling extends BaseEntity {
|
|||||||
@Excel(name = "个人填报-加分项")
|
@Excel(name = "个人填报-加分项")
|
||||||
private List<SysTeacherKpiFillingBonusPoints> kpiFillingBonusPointsList;
|
private List<SysTeacherKpiFillingBonusPoints> kpiFillingBonusPointsList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 个人填报-加分项佐证材料
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "个人填报-加分项佐证材料", hidden = true)
|
||||||
|
@Excel(name = "个人填报-加分项佐证材料")
|
||||||
|
private List<SysTeacherKpiFillingBonusPointsMaterials> kpiFillingBonusPointsMaterialsList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 个人填报-就业指导工作
|
* 个人填报-就业指导工作
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,81 @@
|
|||||||
|
package com.srs.teacher.domain;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.srs.common.annotation.Excel;
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.*;
|
||||||
|
import com.srs.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业绩考核-个人填报-加分项佐证材料对象 sys_teacher_kpi_filling_bonus_points_materials
|
||||||
|
*
|
||||||
|
* @author Codex
|
||||||
|
* @date 2026-03-26
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@ApiModel(value = "SysTeacherKpiFillingBonusPointsMaterials对象", description = "业绩考核-个人填报-加分项佐证材料")
|
||||||
|
@TableName("sys_teacher_kpi_filling_bonus_points_materials")
|
||||||
|
public class SysTeacherKpiFillingBonusPointsMaterials extends BaseEntity {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty("id")
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("加分项类型")
|
||||||
|
@TableField("bonus_type")
|
||||||
|
@Excel(name = "加分项类型")
|
||||||
|
private String bonusType;
|
||||||
|
|
||||||
|
@ApiModelProperty("加分分值")
|
||||||
|
@TableField("bonus_scoring")
|
||||||
|
@Excel(name = "加分分值")
|
||||||
|
private Integer bonusScoring;
|
||||||
|
|
||||||
|
@ApiModelProperty("佐证说明")
|
||||||
|
@TableField("main_content")
|
||||||
|
@Excel(name = "佐证说明")
|
||||||
|
private String mainContent;
|
||||||
|
|
||||||
|
@ApiModelProperty("发生时间")
|
||||||
|
@TableField("development_time")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "发生时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date developmentTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("佐证图片")
|
||||||
|
@TableField("photo")
|
||||||
|
@Excel(name = "佐证图片")
|
||||||
|
private String photo;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "辅导员姓名", required = true)
|
||||||
|
@TableField("fdy_name")
|
||||||
|
@Excel(name = "辅导员姓名")
|
||||||
|
private String fdyName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "填报年份", required = true)
|
||||||
|
@TableField("filling_year")
|
||||||
|
@Excel(name = "填报年份")
|
||||||
|
private String fillingYear;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "填报月份", required = true)
|
||||||
|
@TableField("filling_month")
|
||||||
|
@Excel(name = "填报月份")
|
||||||
|
@NotNull(message = "填报月份不能为空")
|
||||||
|
private String fillingMonth;
|
||||||
|
|
||||||
|
@ApiModelProperty("班级类型 graduate-毕业班 ungraduate-非毕业班")
|
||||||
|
@TableField("class_type")
|
||||||
|
@Excel(name = "班级类型")
|
||||||
|
private String classType;
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.srs.teacher.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.srs.teacher.domain.SysTeacherKpiFillingBonusPointsMaterials;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业绩考核-个人填报-加分项佐证材料Mapper接口
|
||||||
|
*
|
||||||
|
* @author Codex
|
||||||
|
* @date 2026-03-26
|
||||||
|
*/
|
||||||
|
public interface SysTeacherKpiFillingBonusPointsMaterialsMapper extends BaseMapper<SysTeacherKpiFillingBonusPointsMaterials> {
|
||||||
|
SysTeacherKpiFillingBonusPointsMaterials selectSysTeacherKpiFillingBonusPointsMaterialsById(Long id);
|
||||||
|
|
||||||
|
List<SysTeacherKpiFillingBonusPointsMaterials> selectSysTeacherKpiFillingBonusPointsMaterialsList(SysTeacherKpiFillingBonusPointsMaterials materials);
|
||||||
|
|
||||||
|
List<SysTeacherKpiFillingBonusPointsMaterials> selectSysTeacherKpiFillingBonusPointsMaterialsByFdyName(
|
||||||
|
@Param("fdyName") String fdyName,
|
||||||
|
@Param("fillingYear") String fillingYear,
|
||||||
|
@Param("fillingMonth") String fillingMonth,
|
||||||
|
@Param("classType") String classType,
|
||||||
|
@Param("bonusType") String bonusType);
|
||||||
|
|
||||||
|
int insertSysTeacherKpiFillingBonusPointsMaterials(SysTeacherKpiFillingBonusPointsMaterials materials);
|
||||||
|
|
||||||
|
int updateSysTeacherKpiFillingBonusPointsMaterials(SysTeacherKpiFillingBonusPointsMaterials materials);
|
||||||
|
|
||||||
|
int deleteSysTeacherKpiFillingBonusPointsMaterialsById(Long id);
|
||||||
|
|
||||||
|
int deleteSysTeacherKpiFillingBonusPointsMaterialsByIds(Long[] ids);
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.srs.teacher.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.srs.teacher.domain.SysTeacherKpiFillingBonusPointsMaterials;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业绩考核-个人填报-加分项佐证材料Service接口
|
||||||
|
*
|
||||||
|
* @author Codex
|
||||||
|
* @date 2026-03-26
|
||||||
|
*/
|
||||||
|
public interface ISysTeacherKpiFillingBonusPointsMaterialsService extends IService<SysTeacherKpiFillingBonusPointsMaterials> {
|
||||||
|
SysTeacherKpiFillingBonusPointsMaterials selectSysTeacherKpiFillingBonusPointsMaterialsById(Long id);
|
||||||
|
|
||||||
|
List<SysTeacherKpiFillingBonusPointsMaterials> selectSysTeacherKpiFillingBonusPointsMaterialsList(SysTeacherKpiFillingBonusPointsMaterials materials);
|
||||||
|
|
||||||
|
List<SysTeacherKpiFillingBonusPointsMaterials> selectSysTeacherKpiFillingBonusPointsMaterialsByFdyName(
|
||||||
|
@Param("fdyName") String fdyName,
|
||||||
|
@Param("fillingYear") String fillingYear,
|
||||||
|
@Param("fillingMonth") String fillingMonth,
|
||||||
|
@Param("classType") String classType,
|
||||||
|
@Param("bonusType") String bonusType);
|
||||||
|
|
||||||
|
int insertSysTeacherKpiFillingBonusPointsMaterials(SysTeacherKpiFillingBonusPointsMaterials materials);
|
||||||
|
|
||||||
|
int updateSysTeacherKpiFillingBonusPointsMaterials(SysTeacherKpiFillingBonusPointsMaterials materials);
|
||||||
|
|
||||||
|
int deleteSysTeacherKpiFillingBonusPointsMaterialsByIds(Long[] ids);
|
||||||
|
|
||||||
|
int deleteSysTeacherKpiFillingBonusPointsMaterialsById(Long id);
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package com.srs.teacher.service.impl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.srs.common.utils.SecurityUtils;
|
||||||
|
import com.srs.teacher.domain.SysTeacherKpiFillingBonusPointsMaterials;
|
||||||
|
import com.srs.teacher.mapper.SysTeacherKpiFillingBonusPointsMaterialsMapper;
|
||||||
|
import com.srs.teacher.service.ISysTeacherKpiFillingBonusPointsMaterialsService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业绩考核-个人填报-加分项佐证材料Service业务层处理
|
||||||
|
*
|
||||||
|
* @author Codex
|
||||||
|
* @date 2026-03-26
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SysTeacherKpiFillingBonusPointsMaterialsServiceImpl extends ServiceImpl<SysTeacherKpiFillingBonusPointsMaterialsMapper, SysTeacherKpiFillingBonusPointsMaterials> implements ISysTeacherKpiFillingBonusPointsMaterialsService {
|
||||||
|
@Autowired
|
||||||
|
private SysTeacherKpiFillingBonusPointsMaterialsMapper materialsMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SysTeacherKpiFillingBonusPointsMaterials selectSysTeacherKpiFillingBonusPointsMaterialsById(Long id) {
|
||||||
|
return materialsMapper.selectSysTeacherKpiFillingBonusPointsMaterialsById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysTeacherKpiFillingBonusPointsMaterials> selectSysTeacherKpiFillingBonusPointsMaterialsList(SysTeacherKpiFillingBonusPointsMaterials materials) {
|
||||||
|
materials.setFdyName(SecurityUtils.getLoginUser().getUser().getNickName());
|
||||||
|
return materialsMapper.selectSysTeacherKpiFillingBonusPointsMaterialsList(materials);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysTeacherKpiFillingBonusPointsMaterials> selectSysTeacherKpiFillingBonusPointsMaterialsByFdyName(String fdyName, String fillingYear, String fillingMonth, String classType, String bonusType) {
|
||||||
|
return materialsMapper.selectSysTeacherKpiFillingBonusPointsMaterialsByFdyName(fdyName, fillingYear, fillingMonth, classType, bonusType);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int insertSysTeacherKpiFillingBonusPointsMaterials(SysTeacherKpiFillingBonusPointsMaterials materials) {
|
||||||
|
materials.setFdyName(SecurityUtils.getLoginUser().getUser().getNickName());
|
||||||
|
return materialsMapper.insertSysTeacherKpiFillingBonusPointsMaterials(materials);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int updateSysTeacherKpiFillingBonusPointsMaterials(SysTeacherKpiFillingBonusPointsMaterials materials) {
|
||||||
|
materials.setFdyName(SecurityUtils.getLoginUser().getUser().getNickName());
|
||||||
|
return materialsMapper.updateSysTeacherKpiFillingBonusPointsMaterials(materials);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int deleteSysTeacherKpiFillingBonusPointsMaterialsByIds(Long[] ids) {
|
||||||
|
return materialsMapper.deleteSysTeacherKpiFillingBonusPointsMaterialsByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int deleteSysTeacherKpiFillingBonusPointsMaterialsById(Long id) {
|
||||||
|
return materialsMapper.deleteSysTeacherKpiFillingBonusPointsMaterialsById(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -77,10 +77,10 @@ public class SysTeacherKpiFillingNegativeListServiceImpl extends ServiceImpl<Sys
|
|||||||
@Override
|
@Override
|
||||||
public int updateSysTeacherKpiFillingNegativeList(SysTeacherKpiFillingNegativeList sysTeacherKpiFillingNegativeList) {
|
public int updateSysTeacherKpiFillingNegativeList(SysTeacherKpiFillingNegativeList sysTeacherKpiFillingNegativeList) {
|
||||||
// 判断填报记录是否填报
|
// 判断填报记录是否填报
|
||||||
List<SysTeacherKpiFillingNegativeList> sysTeacherKpiFillingNegativeLists = sysTeacherKpiFillingNegativeListMapper.selectSysTeacherKpiFillingNegativeListByFdyName(sysTeacherKpiFillingNegativeList.getFdyName(), sysTeacherKpiFillingNegativeList.getFillingYear(), sysTeacherKpiFillingNegativeList.getFillingMonth(), sysTeacherKpiFillingNegativeList.getClassType());
|
/*List<SysTeacherKpiFillingNegativeList> sysTeacherKpiFillingNegativeLists = sysTeacherKpiFillingNegativeListMapper.selectSysTeacherKpiFillingNegativeListByFdyName(sysTeacherKpiFillingNegativeList.getFdyName(), sysTeacherKpiFillingNegativeList.getFillingYear(), sysTeacherKpiFillingNegativeList.getFillingMonth(), sysTeacherKpiFillingNegativeList.getClassType());
|
||||||
if (sysTeacherKpiFillingNegativeLists != null && !sysTeacherKpiFillingNegativeLists.isEmpty()) {
|
if (sysTeacherKpiFillingNegativeLists != null && !sysTeacherKpiFillingNegativeLists.isEmpty()) {
|
||||||
throw new ServiceException("已提交,请勿重复提交", 500);
|
throw new ServiceException("已提交,请勿重复提交", 500);
|
||||||
}
|
}*/
|
||||||
return sysTeacherKpiFillingNegativeListMapper.updateSysTeacherKpiFillingNegativeList(sysTeacherKpiFillingNegativeList);
|
return sysTeacherKpiFillingNegativeListMapper.updateSysTeacherKpiFillingNegativeList(sysTeacherKpiFillingNegativeList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,125 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.srs.teacher.mapper.SysTeacherKpiFillingBonusPointsMaterialsMapper">
|
||||||
|
|
||||||
|
<resultMap type="SysTeacherKpiFillingBonusPointsMaterials" id="SysTeacherKpiFillingBonusPointsMaterialsResult">
|
||||||
|
<result property="id" column="id"/>
|
||||||
|
<result property="bonusType" column="bonus_type"/>
|
||||||
|
<result property="bonusScoring" column="bonus_scoring"/>
|
||||||
|
<result property="mainContent" column="main_content"/>
|
||||||
|
<result property="developmentTime" column="development_time"/>
|
||||||
|
<result property="photo" column="photo"/>
|
||||||
|
<result property="fdyName" column="fdy_name"/>
|
||||||
|
<result property="fillingYear" column="filling_year"/>
|
||||||
|
<result property="fillingMonth" column="filling_month"/>
|
||||||
|
<result property="classType" column="class_type"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectSysTeacherKpiFillingBonusPointsMaterialsVo">
|
||||||
|
select id, bonus_type, bonus_scoring, main_content, development_time, photo, fdy_name, filling_year, filling_month, class_type
|
||||||
|
from sys_teacher_kpi_filling_bonus_points_materials
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectSysTeacherKpiFillingBonusPointsMaterialsList" parameterType="SysTeacherKpiFillingBonusPointsMaterials"
|
||||||
|
resultMap="SysTeacherKpiFillingBonusPointsMaterialsResult">
|
||||||
|
<include refid="selectSysTeacherKpiFillingBonusPointsMaterialsVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="bonusType != null and bonusType != ''">and bonus_type = #{bonusType}</if>
|
||||||
|
<if test="bonusScoring != null">and bonus_scoring = #{bonusScoring}</if>
|
||||||
|
<if test="mainContent != null and mainContent != ''">and main_content like concat('%', #{mainContent}, '%')</if>
|
||||||
|
<if test="developmentTime != null">and development_time = #{developmentTime}</if>
|
||||||
|
<if test="fdyName != null and fdyName != ''">and fdy_name like concat('%', #{fdyName}, '%')</if>
|
||||||
|
<if test="fillingYear != null and fillingYear != ''">and filling_year = #{fillingYear}</if>
|
||||||
|
<if test="fillingMonth != null and fillingMonth != ''">and filling_month = #{fillingMonth}</if>
|
||||||
|
<if test="classType != null and classType != ''">and class_type = #{classType}</if>
|
||||||
|
</where>
|
||||||
|
order by id desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectSysTeacherKpiFillingBonusPointsMaterialsByFdyName" parameterType="String"
|
||||||
|
resultMap="SysTeacherKpiFillingBonusPointsMaterialsResult">
|
||||||
|
<include refid="selectSysTeacherKpiFillingBonusPointsMaterialsVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="fdyName != null and fdyName != ''">
|
||||||
|
and fdy_name = #{fdyName}
|
||||||
|
</if>
|
||||||
|
<if test="fillingYear != null and fillingYear != ''">
|
||||||
|
and filling_year = #{fillingYear}
|
||||||
|
</if>
|
||||||
|
<if test="fillingMonth != null and fillingMonth != ''">
|
||||||
|
and filling_month = #{fillingMonth}
|
||||||
|
</if>
|
||||||
|
<if test="classType != null and classType != ''">
|
||||||
|
and class_type = #{classType}
|
||||||
|
</if>
|
||||||
|
<if test="bonusType != null and bonusType != ''">
|
||||||
|
and bonus_type = #{bonusType}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by id desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectSysTeacherKpiFillingBonusPointsMaterialsById" parameterType="Long"
|
||||||
|
resultMap="SysTeacherKpiFillingBonusPointsMaterialsResult">
|
||||||
|
<include refid="selectSysTeacherKpiFillingBonusPointsMaterialsVo"/>
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertSysTeacherKpiFillingBonusPointsMaterials" parameterType="SysTeacherKpiFillingBonusPointsMaterials"
|
||||||
|
useGeneratedKeys="true" keyProperty="id">
|
||||||
|
insert into sys_teacher_kpi_filling_bonus_points_materials
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="bonusType != null and bonusType != ''">bonus_type,</if>
|
||||||
|
<if test="bonusScoring != null">bonus_scoring,</if>
|
||||||
|
<if test="mainContent != null and mainContent != ''">main_content,</if>
|
||||||
|
<if test="developmentTime != null">development_time,</if>
|
||||||
|
<if test="photo != null and photo != ''">photo,</if>
|
||||||
|
<if test="fdyName != null and fdyName != ''">fdy_name,</if>
|
||||||
|
<if test="fillingYear != null and fillingYear != ''">filling_year,</if>
|
||||||
|
<if test="fillingMonth != null and fillingMonth != ''">filling_month,</if>
|
||||||
|
<if test="classType != null and classType != ''">class_type,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="bonusType != null and bonusType != ''">#{bonusType},</if>
|
||||||
|
<if test="bonusScoring != null">#{bonusScoring},</if>
|
||||||
|
<if test="mainContent != null and mainContent != ''">#{mainContent},</if>
|
||||||
|
<if test="developmentTime != null">#{developmentTime},</if>
|
||||||
|
<if test="photo != null and photo != ''">#{photo},</if>
|
||||||
|
<if test="fdyName != null and fdyName != ''">#{fdyName},</if>
|
||||||
|
<if test="fillingYear != null and fillingYear != ''">#{fillingYear},</if>
|
||||||
|
<if test="fillingMonth != null and fillingMonth != ''">#{fillingMonth},</if>
|
||||||
|
<if test="classType != null and classType != ''">#{classType},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateSysTeacherKpiFillingBonusPointsMaterials" parameterType="SysTeacherKpiFillingBonusPointsMaterials">
|
||||||
|
update sys_teacher_kpi_filling_bonus_points_materials
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="bonusType != null and bonusType != ''">bonus_type = #{bonusType},</if>
|
||||||
|
<if test="bonusScoring != null">bonus_scoring = #{bonusScoring},</if>
|
||||||
|
<if test="mainContent != null and mainContent != ''">main_content = #{mainContent},</if>
|
||||||
|
<if test="developmentTime != null">development_time = #{developmentTime},</if>
|
||||||
|
<if test="photo != null">photo = #{photo},</if>
|
||||||
|
<if test="fdyName != null and fdyName != ''">fdy_name = #{fdyName},</if>
|
||||||
|
<if test="fillingYear != null and fillingYear != ''">filling_year = #{fillingYear},</if>
|
||||||
|
<if test="fillingMonth != null and fillingMonth != ''">filling_month = #{fillingMonth},</if>
|
||||||
|
<if test="classType != null and classType != ''">class_type = #{classType},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteSysTeacherKpiFillingBonusPointsMaterialsById" parameterType="Long">
|
||||||
|
delete
|
||||||
|
from sys_teacher_kpi_filling_bonus_points_materials
|
||||||
|
where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteSysTeacherKpiFillingBonusPointsMaterialsByIds" parameterType="String">
|
||||||
|
delete from sys_teacher_kpi_filling_bonus_points_materials where id in
|
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
</mapper>
|
||||||
@@ -51,6 +51,10 @@
|
|||||||
<collection property="kpiFillingBonusPointsList"
|
<collection property="kpiFillingBonusPointsList"
|
||||||
column="{fdyName = fdy_name, fillingYear = filling_year, fillingMonth = filling_month, classType = class_type}"
|
column="{fdyName = fdy_name, fillingYear = filling_year, fillingMonth = filling_month, classType = class_type}"
|
||||||
javaType="java.util.ArrayList" select="selectKpiFillingBonusPointsById"/>
|
javaType="java.util.ArrayList" select="selectKpiFillingBonusPointsById"/>
|
||||||
|
<!--个人填报-加分项佐证材料子表的集合 -->
|
||||||
|
<collection property="kpiFillingBonusPointsMaterialsList"
|
||||||
|
column="{fdyName = fdy_name, fillingYear = filling_year, fillingMonth = filling_month, classType = class_type}"
|
||||||
|
javaType="java.util.ArrayList" select="selectKpiFillingBonusPointsMaterialsById"/>
|
||||||
<!--个人填报-就业指导工作子表的集合 -->
|
<!--个人填报-就业指导工作子表的集合 -->
|
||||||
<collection property="kpiFillingGraduationGuidanceList"
|
<collection property="kpiFillingGraduationGuidanceList"
|
||||||
column="{fdyName = fdy_name, fillingYear = filling_year, fillingMonth = filling_month, classType = class_type}"
|
column="{fdyName = fdy_name, fillingYear = filling_year, fillingMonth = filling_month, classType = class_type}"
|
||||||
@@ -174,6 +178,20 @@
|
|||||||
<result property="fillingMonth" column="filling_month"/>
|
<result property="fillingMonth" column="filling_month"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<!--个人填报-加分项佐证材料子表的映射 -->
|
||||||
|
<resultMap type="SysTeacherKpiFillingBonusPointsMaterials" id="SysTeacherKpiFillingBonusPointsMaterialsResult">
|
||||||
|
<result property="id" column="id"/>
|
||||||
|
<result property="bonusType" column="bonus_type"/>
|
||||||
|
<result property="bonusScoring" column="bonus_scoring"/>
|
||||||
|
<result property="mainContent" column="main_content"/>
|
||||||
|
<result property="developmentTime" column="development_time"/>
|
||||||
|
<result property="photo" column="photo"/>
|
||||||
|
<result property="fdyName" column="fdy_name"/>
|
||||||
|
<result property="fillingYear" column="filling_year"/>
|
||||||
|
<result property="fillingMonth" column="filling_month"/>
|
||||||
|
<result property="classType" column="class_type"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
<!--个人填报-就业指导工作子表的映射 -->
|
<!--个人填报-就业指导工作子表的映射 -->
|
||||||
<resultMap type="SysTeacherKpiFillingGraduationGuidance" id="SysTeacherKpiFillingGraduationGuidanceResult">
|
<resultMap type="SysTeacherKpiFillingGraduationGuidance" id="SysTeacherKpiFillingGraduationGuidanceResult">
|
||||||
<result property="id" column="id"/>
|
<result property="id" column="id"/>
|
||||||
@@ -325,6 +343,26 @@
|
|||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!--个人填报-加分项佐证材料子表的数据-->
|
||||||
|
<select id="selectKpiFillingBonusPointsMaterialsById" resultMap="SysTeacherKpiFillingBonusPointsMaterialsResult">
|
||||||
|
select *
|
||||||
|
from sys_teacher_kpi_filling_bonus_points_materials
|
||||||
|
<where>
|
||||||
|
<if test="fdyName != null and fdyName != ''">
|
||||||
|
and fdy_name = #{fdyName}
|
||||||
|
</if>
|
||||||
|
<if test="fillingYear != null and fillingYear != ''">
|
||||||
|
and filling_year = #{fillingYear}
|
||||||
|
</if>
|
||||||
|
<if test="fillingMonth != null and fillingMonth != ''">
|
||||||
|
and filling_month = #{fillingMonth}
|
||||||
|
</if>
|
||||||
|
<if test="classType != null and classType != ''">
|
||||||
|
and class_type = #{classType}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
<!--个人填报-就业指导工作子表的数据-->
|
<!--个人填报-就业指导工作子表的数据-->
|
||||||
<select id="selectKpiFillingGraduationGuidanceById" resultMap="SysTeacherKpiFillingGraduationGuidanceResult">
|
<select id="selectKpiFillingGraduationGuidanceById" resultMap="SysTeacherKpiFillingGraduationGuidanceResult">
|
||||||
select *
|
select *
|
||||||
|
|||||||
Reference in New Issue
Block a user