diff --git a/bin/run.bat b/bin/run.bat index 99e3538..3b8ceb3 100644 --- a/bin/run.bat +++ b/bin/run.bat @@ -8,7 +8,8 @@ cd ../srs-admin/target set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -java -jar %JAVA_OPTS% srs-admin.jar +rem 正确传递 JVM 参数应放在 -jar 之前 +java %JAVA_OPTS% -jar srs-admin.jar cd bin -pause \ No newline at end of file +pause diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsAccommodations.java b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsAccommodations.java new file mode 100644 index 0000000..a04e9bc --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsAccommodations.java @@ -0,0 +1,368 @@ +package com.srs.dormitory.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; + + + +/** + * 外宿申请对象 dms_accommodations + * + * @author srs + * @date 2025-11-11 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@ApiModel(value = "DmsAccommodations对象" , description = "外宿申请表") +@TableName("dms_accommodations") +public class DmsAccommodations extends BaseEntity{ +private static final long serialVersionUID=1L; + + /** + * # + */ + @ApiModelProperty("#") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 学号 + */ + @ApiModelProperty("学号") + @TableField("stu_no") + @Excel(name = "学号") + private String stuNo; + + /** + * 姓名 + */ + @ApiModelProperty("姓名") + @TableField("stu_name") + @Excel(name = "姓名") + private String stuName; + + /** + * 出生日期 + */ + @ApiModelProperty("出生日期") + @TableField("birthday") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "出生日期" , width = 30, dateFormat = "yyyy-MM-dd") + private Date birthday; + + /** + * 性别 + */ + @ApiModelProperty("性别") + @TableField("gender") + @Excel(name = "性别") + private String gender; + + /** + * 班级 + */ + @ApiModelProperty("班级") + @TableField("class_name") + @Excel(name = "班级") + private String className; + + /** + * 联系电话 + */ + @ApiModelProperty("联系电话") + @TableField("stu_phone") + @Excel(name = "联系电话") + private String stuPhone; + + /** + * 身份证号 + */ + @ApiModelProperty("身份证号") + @TableField("sfzh") + @Excel(name = "身份证号") + private String sfzh; + + /** + * 学院 + */ + @ApiModelProperty("学院") + @TableField("dept_name") + @Excel(name = "学院") + private String deptName; + + /** + * 专业 + */ + @ApiModelProperty("专业") + @TableField("major_name") + @Excel(name = "专业") + private String majorName; + + /** + * 年级 + */ + @ApiModelProperty("年级") + @TableField("grade_name") + @Excel(name = "年级") + private String gradeName; + + /** + * 房间号 + */ + @ApiModelProperty("房间号") + @TableField("room_no") + @Excel(name = "房间号") + private String roomNo; + + /** + * 宿舍缴费情况 + */ + @ApiModelProperty("宿舍缴费情况") + @TableField("isCharge") + @Excel(name = "宿舍缴费情况") + private Long isCharge; + + /** + * 外宿原因 + */ + @ApiModelProperty("外宿原因") + @TableField("sleep_out_remark") + @Excel(name = "外宿原因") + private String sleepOutRemark; + + /** + * 外宿地址 + */ + @ApiModelProperty("外宿地址") + @TableField("address") + @Excel(name = "外宿地址") + private String address; + + /** + * 紧急联系人 + */ + @ApiModelProperty("紧急联系人") + @TableField("emergency_contact") + @Excel(name = "紧急联系人") + private String emergencyContact; + + /** + * 家长意见 + */ + @ApiModelProperty("家长意见") + @TableField("parent_comment") + @Excel(name = "家长意见") + private String parentComment; + + /** + * 家长联系电话 + */ + @ApiModelProperty("家长联系电话") + @TableField("parent_tel") + @Excel(name = "家长联系电话") + private String parentTel; + + /** + * 家长联系地址 + */ + @ApiModelProperty("家长联系地址") + @TableField("parent_address") + @Excel(name = "家长联系地址") + private String parentAddress; + + /** + * 状态(0:保存;1:待审核;2:已审核) + */ + @ApiModelProperty("状态(0:保存;1:待审核;2:已审核)") + @TableField("reviewer_status") + @Excel(name = "状态" , readConverterExp = "状态(0:保存;1:待审核;2:已审核)") + private Long reviewerStatus; + + /** + * 申请人签名 + */ + @ApiModelProperty("申请人签名") + @TableField("apply_sign") + @Excel(name = "申请人签名") + private String applySign; + + /** + * 申请日期 + */ + @ApiModelProperty("申请日期") + @TableField("apply_date") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "申请日期" , width = 30, dateFormat = "yyyy-MM-dd") + private Date applyDate; + + /** + * 申请人签名 + */ + @ApiModelProperty("申请人签名") + @TableField("apply_sign") + @Excel(name = "申请人签名") + private String applySign2; + + /** + * 申请日期 + */ + @ApiModelProperty("申请日期") + @TableField("apply_date") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "申请日期" , width = 30, dateFormat = "yyyy-MM-dd") + private Date applyDate2; + + /** + * 辅导员意见 + */ + @ApiModelProperty("辅导员意见") + @TableField("fdy_cmt") + @Excel(name = "辅导员意见") + private String fdyCmt; + + /** + * 辅导员签名 + */ + @ApiModelProperty("辅导员签名") + @TableField("fdy_sign") + @Excel(name = "辅导员签名") + private String fdySign; + + /** + * 辅导员审核日期 + */ + @ApiModelProperty("辅导员审核日期") + @TableField("fdy_date") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "辅导员审核日期" , width = 30, dateFormat = "yyyy-MM-dd") + private Date fdyDate; + + /** + * 辅导员工号 + */ + @ApiModelProperty("辅导员工号") + @TableField("fdy_no") + @Excel(name = "辅导员工号") + private String fdyNo; + + /** + * 二级学院审核意见 + */ + @ApiModelProperty("二级学院审核意见") + @TableField("dept_cmt") + @Excel(name = "二级学院审核意见") + private String deptCmt; + + /** + * 二级学院签名(公章) + */ + @ApiModelProperty("二级学院签名(公章)") + @TableField("dept_sign") + @Excel(name = "二级学院签名" , readConverterExp = "公=章") + private String deptSign; + + /** + * 二级学院审核日期 + */ + @ApiModelProperty("二级学院审核日期") + @TableField("dept_date") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "二级学院审核日期" , width = 30, dateFormat = "yyyy-MM-dd") + private Date deptDate; + + /** + * 二级学院审核工号 + */ + @ApiModelProperty("二级学院审核工号") + @TableField("dept_no") + @Excel(name = "二级学院审核工号") + private String deptNo; + + /** + * 学工意见 + */ + @ApiModelProperty("学工意见") + @TableField("xg_cmt") + @Excel(name = "学工意见") + private String xgCmt; + + /** + * 学工签名 + */ + @ApiModelProperty("学工签名") + @TableField("xg_sign") + @Excel(name = "学工签名") + private String xgSign; + + /** + * 学工审核日期 + */ + @ApiModelProperty("学工审核日期") + @TableField("xg_date") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "学工审核日期" , width = 30, dateFormat = "yyyy-MM-dd") + private Date xgDate; + + /** + * 学工审核工号 + */ + @ApiModelProperty("学工审核工号") + @TableField("xg_no") + @Excel(name = "学工审核工号") + private String xgNo; + + /** + * 校领导意见 + */ + @ApiModelProperty("校领导意见") + @TableField("leader_cmt") + @Excel(name = "校领导意见") + private String leaderCmt; + + /** + * 校领导 + */ + @ApiModelProperty("校领导") + @TableField("leader_sign") + @Excel(name = "校领导") + private String leaderSign; + + /** + * 校领导审核日期 + */ + @ApiModelProperty("校领导审核日期") + @TableField("leader_date") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "校领导审核日期" , width = 30, dateFormat = "yyyy-MM-dd") + private Date leaderDate; + + /** + * 校领导审核工号 + */ + @ApiModelProperty("校领导审核工号") + @TableField("leader_no") + @Excel(name = "校领导审核工号") + private String leaderNo; + + @ApiModelProperty("园区") + @TableField(exist = false) + private String Name; + + @ApiModelProperty("签名") + @TableField(exist = false) + private String signature; + + @ApiModelProperty("学年") + @TableField("stu_year_name") + @Excel(name = "学年") + private String stuYearName; +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApply.java b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApply.java new file mode 100644 index 0000000..2c5a4fe --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApply.java @@ -0,0 +1,361 @@ +package com.srs.dormitory.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; + + +/** + * 外宿申请对象 dms_outside_accommodation_apply + * + * @author srs + * @date 2025-12-09 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@ApiModel(value = "DmsOutsideAccommodationApply对象", description = "外宿申请表") +@TableName("dms_outside_accommodation_apply") +public class DmsOutsideAccommodationApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ApiModelProperty("主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 申请编号(唯一,如WS20240001) + */ + @ApiModelProperty("申请编号(唯一,如WS20240001)") + @TableField("apply_no") + @Excel(name = "申请编号", readConverterExp = "唯=一,如WS20240001") + private String applyNo; + + /** + * 学生ID(关联学生表) + */ + @ApiModelProperty("学生ID(关联学生表)") + @TableField("student_id") + @Excel(name = "学生ID", readConverterExp = "关=联学生表") + private Long studentId; + + /** + * 学号 + */ + @ApiModelProperty("学号") + @TableField("student_no") + @Excel(name = "学号") + private String studentNo; + + /** + * 学生姓名 + */ + @ApiModelProperty("学生姓名") + @TableField("student_name") + @Excel(name = "学生姓名") + private String studentName; + + /** + * 性别(男/女) + */ + @ApiModelProperty("性别(男/女)") + @TableField("gender") + @Excel(name = "性别", readConverterExp = "男=/女") + private String gender; + + /** + * 出生年月 + */ + @ApiModelProperty("出生年月") + @TableField("birth_date") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM-dd") + private Date birthDate; + + /** + * 学院ID + */ + @ApiModelProperty("学院ID") + @TableField("dept_id") + @Excel(name = "学院ID") + private Long deptId; + + /** + * 学院名称 + */ + @ApiModelProperty("学院名称") + @TableField("dept_name") + @Excel(name = "学院名称") + private String deptName; + + /** + * 专业ID + */ + @ApiModelProperty("专业ID") + @TableField("major_id") + @Excel(name = "专业ID") + private Long majorId; + + /** + * 专业名称 + */ + @ApiModelProperty("专业名称") + @TableField("major_name") + @Excel(name = "专业名称") + private String majorName; + + /** + * 班级ID + */ + @ApiModelProperty("班级ID") + @TableField("class_id") + @Excel(name = "班级ID") + private Long classId; + + /** + * 班级名称 + */ + @ApiModelProperty("班级名称") + @TableField("class_name") + @Excel(name = "班级名称") + private String className; + + /** + * 原宿舍号(如:1栋302) + */ + @ApiModelProperty("原宿舍号(如:1栋302)") + @TableField("original_dormitory") + @Excel(name = "原宿舍号", readConverterExp = "如=:1栋302") + private String originalDormitory; + + /** + * 住宿费缴纳 + */ + @ApiModelProperty("住宿费缴纳") + @TableField("accommodation_fee") + @Excel(name = "住宿费缴纳") + private String accommodationFee; + + /** + * 住宿费缴纳状态(1=已交,0=未交) + */ + @ApiModelProperty("住宿费缴纳状态(1=已交,0=未交)") + @TableField("accommodation_fee_status") + @Excel(name = "住宿费缴纳状态", readConverterExp = "1==已交,0=未交") + private Long accommodationFeeStatus; + + /** + * 外宿原因 + */ + @ApiModelProperty("外宿原因") + @TableField("apply_reason") + @Excel(name = "外宿原因") + private String applyReason; + + /** + * 外宿详细地址(精确至门牌号) + */ + @ApiModelProperty("外宿详细地址(精确至门牌号)") + @TableField("outside_address") + @Excel(name = "外宿详细地址", readConverterExp = "精=确至门牌号") + private String outsideAddress; + + /** + * 外宿地址-省市区/县 + */ + @ApiModelProperty("外宿地址-省市区/县") + @TableField("address") + @Excel(name = "外宿地址-省市区/县") + private String address; + + /** + * 紧急联系人电话 + */ + @ApiModelProperty("紧急联系人电话") + @TableField("emergency_phone") + @Excel(name = "紧急联系人电话") + private String emergencyPhone; + + /** + * 外宿紧急联系人 + */ + @ApiModelProperty("外宿紧急联系人") + @TableField("emergency_contact") + @Excel(name = "外宿紧急联系人") + private String emergencyContact; + + /** + * 家长意见(1=同意,0=不同意) + */ + @ApiModelProperty("家长意见(1=同意,0=不同意)") + @TableField("parent_opinion") + @Excel(name = "家长意见", readConverterExp = "1==同意,0=不同意") + private Long parentOpinion; + + /** + * 家长签字附件URL + */ + @ApiModelProperty("家长签字附件URL") + @TableField("parent_sign_attachment") + @Excel(name = "家长签字附件URL") + private String parentSignAttachment; + + /** + * 家长联系电话 + */ + @ApiModelProperty("家长联系电话") + @TableField("parent_phone") + @Excel(name = "家长联系电话") + private String parentPhone; + + /** + * 家长通讯地址-省市区/县 + */ + @ApiModelProperty("家长通讯地址-省市区/县") + @TableField("parent_address") + @Excel(name = "家长通讯地址-省市区/县") + private String parentAddress; + + /** + * 家长通讯地址-详细地址 + */ + @ApiModelProperty("家长通讯地址-详细地址") + @TableField("parent_detail_address") + @Excel(name = "家长通讯地址-详细地址") + private String parentDetailAddress; + + /** + * 学生承诺电子签URL + */ + @ApiModelProperty("学生承诺电子签URL") + @TableField("student_promise_sign") + @Excel(name = "学生承诺电子签URL") + private String studentPromiseSign; + + /** + * 承诺签署日期 + */ + @ApiModelProperty("承诺签署日期") + @TableField("promise_date") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "承诺签署日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date promiseDate; + + /** + * 外宿开始时间 + */ + @ApiModelProperty("外宿开始时间") + @TableField("start_date") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "外宿开始时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date startDate; + + /** + * 外宿结束时间(默认次年8月31日) + */ + @ApiModelProperty("外宿结束时间(默认次年8月31日)") + @TableField("end_date") + @Excel(name = "外宿结束时间", readConverterExp = "默=认次年8月31日") + private Date endDate; + + /** + * 申请状态(0=草稿,1=待辅导员审批,2=待学院书记审批,3=待学工处审批,4=待学校领导审批,5=审批通过,6=审批驳回) + */ + @ApiModelProperty("申请状态(0=草稿,1=待辅导员审批,2=待学院书记审批,3=待学工处审批,4=待学校领导审批,5=审批通过,6=审批驳回)") + @TableField("status") + @Excel(name = "申请状态", readConverterExp = "0==草稿,1=待辅导员审批,2=待学院书记审批,3=待学工处审批,4=待学校领导审批,5=审批通过,6=审批驳回") + private Long status; + + /** + * 驳回原因 + */ + @ApiModelProperty("驳回原因") + @TableField("reject_reason") + @Excel(name = "驳回原因") + private String rejectReason; + + /** + * 是否有效(1=有效,0=失效/到期) + */ + @ApiModelProperty("是否有效(1=有效,0=失效/到期)") + @TableField("is_valid") + @Excel(name = "是否有效", readConverterExp = "1==有效,0=失效/到期") + private Long isValid; + + /** + * 辅导员姓名 + */ + @ApiModelProperty("辅导员姓名") + @TableField("teacher_name") + @Excel(name = "辅导员姓名") + private String teacherName; + + /** + * 附件id + */ + @ApiModelProperty("附件id") + @TableField("affix_id") + @Excel(name = "附件id") + private String affixId; + + /** + * 流程部署编号 + */ + @ApiModelProperty("流程部署编号") + @TableField("deploy_id") + @Excel(name = "流程部署编号") + private String deployId; + + /** + * Flowable流程实例ID + */ + @ApiModelProperty("Flowable流程实例ID") + @TableField("process_instance_id") + @Excel(name = "Flowable流程实例ID") + private String processInstanceId; + + /** + * 身份证号码 + */ + @ApiModelProperty("身份证号码") + @TableField("idCard") + @Excel(name = "身份证号码") + private String idCard; + + /** + * 学生手机号码 + */ + @ApiModelProperty("学生手机号码") + @TableField("studentPhone") + @Excel(name = "学生手机号码") + private String studentPhone; + + /** + * 外宿原因学生签名URL + */ + @ApiModelProperty("外宿原因学生签名URL") + @TableField("student_signature") + @Excel(name = "外宿原因学生签名URL") + private String studentSignature; + + /** + * 承诺内容 + */ + @ApiModelProperty("承诺内容") + @TableField("promise_content") + @Excel(name = "承诺内容") + private String promiseContent; + + +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApproval.java b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApproval.java new file mode 100644 index 0000000..e6c006a --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationApproval.java @@ -0,0 +1,135 @@ +package com.srs.dormitory.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; + + + +/** + * 外宿申请审批记录对象 dms_outside_accommodation_approval + * + * @author srs + * @date 2025-12-05 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@ApiModel(value = "DmsOutsideAccommodationApproval对象" , description = "外宿申请审批记录表") +@TableName("dms_outside_accommodation_approval") +public class DmsOutsideAccommodationApproval extends BaseEntity{ +private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @ApiModelProperty("主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 外宿申请ID(关联申请表) + */ + @ApiModelProperty("外宿申请ID(关联申请表)") + @TableField("apply_id") + @Excel(name = "外宿申请ID" , readConverterExp = "关=联申请表") + private Long applyId; + + /** + * 申请编号 + */ + @ApiModelProperty("申请编号") + @TableField("apply_no") + @Excel(name = "申请编号") + private String applyNo; + + /** + * 审批节点 + */ + @ApiModelProperty("审批节点") + @TableField("approval_node") + @Excel(name = "审批节点") + private String approvalNode; + + /** + * 审批人ID + */ + @ApiModelProperty("审批人ID") + @TableField("approver_id") + @Excel(name = "审批人ID") + private Long approverId; + + /** + * 审批人姓名 + */ + @ApiModelProperty("审批人姓名") + @TableField("approver_name") + @Excel(name = "审批人姓名") + private String approverName; + + /** + * 审批人角色 + */ + @ApiModelProperty("审批人角色") + @TableField("approver_role") + @Excel(name = "审批人角色") + private String approverRole; + + /** + * 审批意见 + */ + @ApiModelProperty("审批意见") + @TableField("approval_opinion") + @Excel(name = "审批意见") + private String approvalOpinion; + + /** + * 审批结果(1=同意,0=驳回) + */ + @ApiModelProperty("审批结果(1=同意,0=驳回)") + @TableField("approval_result") + @Excel(name = "审批结果" , readConverterExp = "1==同意,0=驳回") + private Long approvalResult; + + /** + * 审批时间 + */ + @ApiModelProperty("审批时间") + @TableField("approval_time") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "审批时间" , width = 30, dateFormat = "yyyy-MM-dd") + private Date approvalTime; + + /** + * 流程实例ID + */ + @ApiModelProperty("流程实例ID") + @TableField("process_instance_id") + @Excel(name = "流程实例ID") + private String processInstanceId; + + /** + * 学生姓名 + */ + @ApiModelProperty("学生姓名") + @TableField("student_name") + @Excel(name = "学生姓名") + private String studentName; + + /** + * 学生学号 + */ + @ApiModelProperty("学生学号") + @TableField("student_no") + @Excel(name = "学生学号") + private String studentNo; + + +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationAttachment.java b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationAttachment.java new file mode 100644 index 0000000..aa395a9 --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/domain/DmsOutsideAccommodationAttachment.java @@ -0,0 +1,108 @@ +package com.srs.dormitory.domain; + +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; + + + +/** + * 外宿申请附件对象 dms_outside_accommodation_attachment + * + * @author srs + * @date 2025-12-05 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@ApiModel(value = "DmsOutsideAccommodationAttachment对象" , description = "外宿申请附件表") +@TableName("dms_outside_accommodation_attachment") +public class DmsOutsideAccommodationAttachment extends BaseEntity{ +private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @ApiModelProperty("主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 外宿申请ID(关联申请表) + */ + @ApiModelProperty("外宿申请ID(关联申请表)") + @TableField("apply_id") + @Excel(name = "外宿申请ID" , readConverterExp = "关=联申请表") + private Long applyId; + + /** + * 附件名称 + */ + @ApiModelProperty("附件名称") + @TableField("attachment_name") + @Excel(name = "附件名称") + private String attachmentName; + + /** + * 附件存储URL + */ + @ApiModelProperty("附件存储URL") + @TableField("attachment_url") + @Excel(name = "附件存储URL") + private String attachmentUrl; + + /** + * 附件类型(1=病例证明,2=住房证明,3=其他) + */ + @ApiModelProperty("附件类型(1=病例证明,2=住房证明,3=其他)") + @TableField("attachment_type") + @Excel(name = "附件类型" , readConverterExp = "1==病例证明,2=住房证明,3=其他") + private Long attachmentType; + + /** + * 附件大小(字节) + */ + @ApiModelProperty("附件大小(字节)") + @TableField("file_size") + @Excel(name = "附件大小" , readConverterExp = "字=节") + private Long fileSize; + + /** + * 附件后缀(如jpg、pdf) + */ + @ApiModelProperty("附件后缀(如jpg、pdf)") + @TableField("file_suffix") + @Excel(name = "附件后缀" , readConverterExp = "如=jpg、pdf") + private String fileSuffix; + + /** + * 流程实例ID + */ + @ApiModelProperty("流程实例ID") + @TableField("process_instance_id") + @Excel(name = "流程实例ID") + private String processInstanceId; + + /** + * 学生姓名 + */ + @ApiModelProperty("学生姓名") + @TableField("student_name") + @Excel(name = "学生姓名") + private String studentName; + + /** + * 学生学号 + */ + @ApiModelProperty("学生学号") + @TableField("student_no") + @Excel(name = "学生学号") + private String studentNo; + + +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsAccommodationsMapper.java b/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsAccommodationsMapper.java new file mode 100644 index 0000000..8c97882 --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsAccommodationsMapper.java @@ -0,0 +1,64 @@ +package com.srs.dormitory.mapper; + +import java.util.List; + +import com.srs.dormitory.domain.DmsAccommodations; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 外宿申请Mapper接口 + * + * @author srs + * @date 2025-11-11 + */ +public interface DmsAccommodationsMapper extends BaseMapper { + /** + * 查询外宿申请 + * + * @param id 外宿申请主键 + * @return 外宿申请 + */ + public DmsAccommodations selectDmsAccommodationsById(Long id); + + /** + * 查询外宿申请列表 + * + * @param dmsAccommodations 外宿申请 + * @return 外宿申请集合 + */ + List selectDmsAccommodationsList(DmsAccommodations dmsAccommodations); + + /** + * 新增外宿申请 + * + * @param dmsAccommodations 外宿申请 + * @return 结果 + */ + int insertDmsAccommodations(DmsAccommodations dmsAccommodations); + + /** + * 修改外宿申请 + * + * @param dmsAccommodations 外宿申请 + * @return 结果 + */ + int updateDmsAccommodations(DmsAccommodations dmsAccommodations); + + /** + * 删除外宿申请 + * + * @param id 外宿申请主键 + * @return 结果 + */ + int deleteDmsAccommodationsById(Long id); + + /** + * 批量删除外宿申请 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteDmsAccommodationsByIds(Long[] ids); + + DmsAccommodations getStuDormitory(String stuNo); +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsOutsideAccommodationApplyMapper.java b/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsOutsideAccommodationApplyMapper.java new file mode 100644 index 0000000..241bdf3 --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsOutsideAccommodationApplyMapper.java @@ -0,0 +1,85 @@ +package com.srs.dormitory.mapper; + +import java.util.List; + +import com.srs.common.doman.vo.TeacherVo; +import com.srs.dormitory.domain.DmsOutsideAccommodationApply; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Options; +import org.apache.ibatis.annotations.Param; + +/** + * 外宿申请Mapper接口 + * + * @author srs + * @date 2025-12-05 + */ +public interface DmsOutsideAccommodationApplyMapper extends BaseMapper { + /** + * 查询外宿申请 + * + * @param id 外宿申请主键 + * @return 外宿申请 + */ + public DmsOutsideAccommodationApply selectDmsOutsideAccommodationApplyById(Long id); + + /** + * 查询外宿申请 + * + * @param processInstanceId 外宿申请流程id + * @return 外宿申请 + */ + public DmsOutsideAccommodationApply selectDmsOutsideAccommodationApplyByProcessInstanceId(String processInstanceId); + + /** + * 查询外宿申请列表 + * + * @param dmsOutsideAccommodationApply 外宿申请 + * @return 外宿申请集合 + */ + List selectDmsOutsideAccommodationApplyList(DmsOutsideAccommodationApply dmsOutsideAccommodationApply); + + // + public TeacherVo getCounselorInfo(String stuNo); + + /** + * 查询外宿申请 + * + * @param studentName 学生姓名 + * @return 应征入伍保留学籍申请 + */ + public DmsOutsideAccommodationApply getAccommodationByStuNameAndStuNo(@Param("studentName") String studentName, @Param("studentNo") String studentNo); + + /** + * 新增外宿申请 + * + * @param dmsOutsideAccommodationApply 外宿申请 + * @return 结果 + */ + @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") + int insertDmsOutsideAccommodationApply(DmsOutsideAccommodationApply dmsOutsideAccommodationApply); + + /** + * 修改外宿申请 + * + * @param dmsOutsideAccommodationApply 外宿申请 + * @return 结果 + */ + int updateDmsOutsideAccommodationApply(DmsOutsideAccommodationApply dmsOutsideAccommodationApply); + + /** + * 删除外宿申请 + * + * @param id 外宿申请主键 + * @return 结果 + */ + int deleteDmsOutsideAccommodationApplyById(Long id); + + /** + * 批量删除外宿申请 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteDmsOutsideAccommodationApplyByIds(Long[] ids); +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsOutsideAccommodationApprovalMapper.java b/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsOutsideAccommodationApprovalMapper.java new file mode 100644 index 0000000..fc2aa53 --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsOutsideAccommodationApprovalMapper.java @@ -0,0 +1,62 @@ +package com.srs.dormitory.mapper; + +import java.util.List; + +import com.srs.dormitory.domain.DmsOutsideAccommodationApproval; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 外宿申请审批记录Mapper接口 + * + * @author srs + * @date 2025-12-05 + */ +public interface DmsOutsideAccommodationApprovalMapper extends BaseMapper { + /** + * 查询外宿申请审批记录 + * + * @param id 外宿申请审批记录主键 + * @return 外宿申请审批记录 + */ + public DmsOutsideAccommodationApproval selectDmsOutsideAccommodationApprovalById(Long id); + + /** + * 查询外宿申请审批记录列表 + * + * @param dmsOutsideAccommodationApproval 外宿申请审批记录 + * @return 外宿申请审批记录集合 + */ + List selectDmsOutsideAccommodationApprovalList(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval); + + /** + * 新增外宿申请审批记录 + * + * @param dmsOutsideAccommodationApproval 外宿申请审批记录 + * @return 结果 + */ + int insertDmsOutsideAccommodationApproval(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval); + + /** + * 修改外宿申请审批记录 + * + * @param dmsOutsideAccommodationApproval 外宿申请审批记录 + * @return 结果 + */ + int updateDmsOutsideAccommodationApproval(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval); + + /** + * 删除外宿申请审批记录 + * + * @param id 外宿申请审批记录主键 + * @return 结果 + */ + int deleteDmsOutsideAccommodationApprovalById(Long id); + + /** + * 批量删除外宿申请审批记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteDmsOutsideAccommodationApprovalByIds(Long[] ids); +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsOutsideAccommodationAttachmentMapper.java b/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsOutsideAccommodationAttachmentMapper.java new file mode 100644 index 0000000..e157e6d --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/mapper/DmsOutsideAccommodationAttachmentMapper.java @@ -0,0 +1,62 @@ +package com.srs.dormitory.mapper; + +import java.util.List; + +import com.srs.dormitory.domain.DmsOutsideAccommodationAttachment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 外宿申请附件Mapper接口 + * + * @author srs + * @date 2025-12-05 + */ +public interface DmsOutsideAccommodationAttachmentMapper extends BaseMapper { + /** + * 查询外宿申请附件 + * + * @param id 外宿申请附件主键 + * @return 外宿申请附件 + */ + public DmsOutsideAccommodationAttachment selectDmsOutsideAccommodationAttachmentById(Long id); + + /** + * 查询外宿申请附件列表 + * + * @param dmsOutsideAccommodationAttachment 外宿申请附件 + * @return 外宿申请附件集合 + */ + List selectDmsOutsideAccommodationAttachmentList(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment); + + /** + * 新增外宿申请附件 + * + * @param dmsOutsideAccommodationAttachment 外宿申请附件 + * @return 结果 + */ + int insertDmsOutsideAccommodationAttachment(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment); + + /** + * 修改外宿申请附件 + * + * @param dmsOutsideAccommodationAttachment 外宿申请附件 + * @return 结果 + */ + int updateDmsOutsideAccommodationAttachment(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment); + + /** + * 删除外宿申请附件 + * + * @param id 外宿申请附件主键 + * @return 结果 + */ + int deleteDmsOutsideAccommodationAttachmentById(Long id); + + /** + * 批量删除外宿申请附件 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteDmsOutsideAccommodationAttachmentByIds(Long[] ids); +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsAccommodationsService.java b/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsAccommodationsService.java new file mode 100644 index 0000000..3ce54a5 --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsAccommodationsService.java @@ -0,0 +1,64 @@ +package com.srs.dormitory.service; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.srs.dormitory.domain.DmsAccommodations; + +/** + * 外宿申请Service接口 + * + * @author srs + * @date 2025-11-11 + */ +public interface IDmsAccommodationsService extends IService { + /** + * 查询外宿申请 + * + * @param id 外宿申请主键 + * @return 外宿申请 + */ + public DmsAccommodations selectDmsAccommodationsById(Long id); + + /** + * 查询外宿申请列表 + * + * @param dmsAccommodations 外宿申请 + * @return 外宿申请集合 + */ + List selectDmsAccommodationsList(DmsAccommodations dmsAccommodations); + + /** + * 新增外宿申请 + * + * @param dmsAccommodations 外宿申请 + * @return 结果 + */ + int insertDmsAccommodations(DmsAccommodations dmsAccommodations); + + /** + * 修改外宿申请 + * + * @param dmsAccommodations 外宿申请 + * @return 结果 + */ + int updateDmsAccommodations(DmsAccommodations dmsAccommodations); + + /** + * 批量删除外宿申请 + * + * @param ids 需要删除的外宿申请主键集合 + * @return 结果 + */ + int deleteDmsAccommodationsByIds(Long[] ids); + + /** + * 删除外宿申请信息 + * + * @param id 外宿申请主键 + * @return 结果 + */ + int deleteDmsAccommodationsById(Long id); + + DmsAccommodations getStuDormitory(String stuNo); +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsOutsideAccommodationApplyService.java b/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsOutsideAccommodationApplyService.java new file mode 100644 index 0000000..10dfecc --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsOutsideAccommodationApplyService.java @@ -0,0 +1,70 @@ +package com.srs.dormitory.service; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.srs.dormitory.domain.DmsOutsideAccommodationApply; + +/** + * 外宿申请Service接口 + * + * @author srs + * @date 2025-12-05 + */ +public interface IDmsOutsideAccommodationApplyService extends IService { + /** + * 查询外宿申请 + * + * @param id 外宿申请主键 + * @return 外宿申请 + */ + public DmsOutsideAccommodationApply selectDmsOutsideAccommodationApplyById(Long id); + + /** + * 查询外宿申请 + * + * @param processInstanceId 外宿申请流程id + * @return 外宿申请 + */ + public DmsOutsideAccommodationApply selectDmsOutsideAccommodationApplyByProcessInstanceId(String processInstanceId); + + /** + * 查询外宿申请列表 + * + * @param dmsOutsideAccommodationApply 外宿申请 + * @return 外宿申请集合 + */ + List selectDmsOutsideAccommodationApplyList(DmsOutsideAccommodationApply dmsOutsideAccommodationApply); + + /** + * 新增外宿申请 + * + * @param dmsOutsideAccommodationApply 外宿申请 + * @return 结果 + */ + int insertDmsOutsideAccommodationApply(DmsOutsideAccommodationApply dmsOutsideAccommodationApply); + + /** + * 修改外宿申请 + * + * @param dmsOutsideAccommodationApply 外宿申请 + * @return 结果 + */ + int updateDmsOutsideAccommodationApply(DmsOutsideAccommodationApply dmsOutsideAccommodationApply); + + /** + * 批量删除外宿申请 + * + * @param ids 需要删除的外宿申请主键集合 + * @return 结果 + */ + int deleteDmsOutsideAccommodationApplyByIds(Long[] ids); + + /** + * 删除外宿申请信息 + * + * @param id 外宿申请主键 + * @return 结果 + */ + int deleteDmsOutsideAccommodationApplyById(Long id); +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsOutsideAccommodationApprovalService.java b/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsOutsideAccommodationApprovalService.java new file mode 100644 index 0000000..b83df17 --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsOutsideAccommodationApprovalService.java @@ -0,0 +1,62 @@ +package com.srs.dormitory.service; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.srs.dormitory.domain.DmsOutsideAccommodationApproval; + +/** + * 外宿申请审批记录Service接口 + * + * @author srs + * @date 2025-12-05 + */ +public interface IDmsOutsideAccommodationApprovalService extends IService { + /** + * 查询外宿申请审批记录 + * + * @param id 外宿申请审批记录主键 + * @return 外宿申请审批记录 + */ + public DmsOutsideAccommodationApproval selectDmsOutsideAccommodationApprovalById(Long id); + + /** + * 查询外宿申请审批记录列表 + * + * @param dmsOutsideAccommodationApproval 外宿申请审批记录 + * @return 外宿申请审批记录集合 + */ + List selectDmsOutsideAccommodationApprovalList(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval); + + /** + * 新增外宿申请审批记录 + * + * @param dmsOutsideAccommodationApproval 外宿申请审批记录 + * @return 结果 + */ + int insertDmsOutsideAccommodationApproval(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval); + + /** + * 修改外宿申请审批记录 + * + * @param dmsOutsideAccommodationApproval 外宿申请审批记录 + * @return 结果 + */ + int updateDmsOutsideAccommodationApproval(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval); + + /** + * 批量删除外宿申请审批记录 + * + * @param ids 需要删除的外宿申请审批记录主键集合 + * @return 结果 + */ + int deleteDmsOutsideAccommodationApprovalByIds(Long[] ids); + + /** + * 删除外宿申请审批记录信息 + * + * @param id 外宿申请审批记录主键 + * @return 结果 + */ + int deleteDmsOutsideAccommodationApprovalById(Long id); +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsOutsideAccommodationAttachmentService.java b/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsOutsideAccommodationAttachmentService.java new file mode 100644 index 0000000..abfe070 --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/service/IDmsOutsideAccommodationAttachmentService.java @@ -0,0 +1,62 @@ +package com.srs.dormitory.service; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.srs.dormitory.domain.DmsOutsideAccommodationAttachment; + +/** + * 外宿申请附件Service接口 + * + * @author srs + * @date 2025-12-05 + */ +public interface IDmsOutsideAccommodationAttachmentService extends IService { + /** + * 查询外宿申请附件 + * + * @param id 外宿申请附件主键 + * @return 外宿申请附件 + */ + public DmsOutsideAccommodationAttachment selectDmsOutsideAccommodationAttachmentById(Long id); + + /** + * 查询外宿申请附件列表 + * + * @param dmsOutsideAccommodationAttachment 外宿申请附件 + * @return 外宿申请附件集合 + */ + List selectDmsOutsideAccommodationAttachmentList(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment); + + /** + * 新增外宿申请附件 + * + * @param dmsOutsideAccommodationAttachment 外宿申请附件 + * @return 结果 + */ + int insertDmsOutsideAccommodationAttachment(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment); + + /** + * 修改外宿申请附件 + * + * @param dmsOutsideAccommodationAttachment 外宿申请附件 + * @return 结果 + */ + int updateDmsOutsideAccommodationAttachment(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment); + + /** + * 批量删除外宿申请附件 + * + * @param ids 需要删除的外宿申请附件主键集合 + * @return 结果 + */ + int deleteDmsOutsideAccommodationAttachmentByIds(Long[] ids); + + /** + * 删除外宿申请附件信息 + * + * @param id 外宿申请附件主键 + * @return 结果 + */ + int deleteDmsOutsideAccommodationAttachmentById(Long id); +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsAccommodationsServiceImpl.java b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsAccommodationsServiceImpl.java new file mode 100644 index 0000000..48038dd --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsAccommodationsServiceImpl.java @@ -0,0 +1,96 @@ +package com.srs.dormitory.service.impl; + +import java.util.List; + +import com.srs.common.utils.DateUtils; +import com.srs.dormitory.domain.DmsAccommodations; +import com.srs.dormitory.mapper.DmsAccommodationsMapper; +import com.srs.dormitory.service.IDmsAccommodationsService; +import org.springframework.beans.factory.annotation.Autowired; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 外宿申请Service业务层处理 + * + * @author srs + * @date 2025-11-11 + */ +@Service +public class DmsAccommodationsServiceImpl extends ServiceImpl implements IDmsAccommodationsService { + @Autowired + private DmsAccommodationsMapper dmsAccommodationsMapper; + + /** + * 查询外宿申请 + * + * @param id 外宿申请主键 + * @return 外宿申请 + */ + @Override + public DmsAccommodations selectDmsAccommodationsById(Long id) { + return dmsAccommodationsMapper.selectDmsAccommodationsById(id); + } + + /** + * 查询外宿申请列表 + * + * @param dmsAccommodations 外宿申请 + * @return 外宿申请 + */ + @Override + public List selectDmsAccommodationsList(DmsAccommodations dmsAccommodations) { + return dmsAccommodationsMapper.selectDmsAccommodationsList(dmsAccommodations); + } + + /** + * 新增外宿申请 + * + * @param dmsAccommodations 外宿申请 + * @return 结果 + */ + @Override + public int insertDmsAccommodations(DmsAccommodations dmsAccommodations) { + dmsAccommodations.setCreateTime(DateUtils.getNowDate()); + return dmsAccommodationsMapper.insertDmsAccommodations(dmsAccommodations); + } + + /** + * 修改外宿申请 + * + * @param dmsAccommodations 外宿申请 + * @return 结果 + */ + @Override + public int updateDmsAccommodations(DmsAccommodations dmsAccommodations) { + dmsAccommodations.setUpdateTime(DateUtils.getNowDate()); + return dmsAccommodationsMapper.updateDmsAccommodations(dmsAccommodations); + } + + /** + * 批量删除外宿申请 + * + * @param ids 需要删除的外宿申请主键 + * @return 结果 + */ + @Override + public int deleteDmsAccommodationsByIds(Long[] ids) { + return dmsAccommodationsMapper.deleteDmsAccommodationsByIds(ids); + } + + /** + * 删除外宿申请信息 + * + * @param id 外宿申请主键 + * @return 结果 + */ + @Override + public int deleteDmsAccommodationsById(Long id) { + return dmsAccommodationsMapper.deleteDmsAccommodationsById(id); + } + + @Override + public DmsAccommodations getStuDormitory(String stuNo){ + return dmsAccommodationsMapper.getStuDormitory(stuNo); + } +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsOutsideAccommodationApplyServiceImpl.java b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsOutsideAccommodationApplyServiceImpl.java new file mode 100644 index 0000000..9344489 --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsOutsideAccommodationApplyServiceImpl.java @@ -0,0 +1,98 @@ +package com.srs.dormitory.service.impl; + +import java.util.List; + +import com.srs.common.utils.DateUtils; +import com.srs.common.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import com.srs.dormitory.mapper.DmsOutsideAccommodationApplyMapper; +import com.srs.dormitory.domain.DmsOutsideAccommodationApply; +import com.srs.dormitory.service.IDmsOutsideAccommodationApplyService; + +/** + * 外宿申请Service业务层处理 + * + * @author srs + * @date 2025-12-05 + */ +@Service +public class DmsOutsideAccommodationApplyServiceImpl extends ServiceImpl implements IDmsOutsideAccommodationApplyService { + @Autowired + private DmsOutsideAccommodationApplyMapper dmsOutsideAccommodationApplyMapper; + + /** + * 查询外宿申请 + * + * @param id 外宿申请主键 + * @return 外宿申请 + */ + @Override + public DmsOutsideAccommodationApply selectDmsOutsideAccommodationApplyById(Long id) { + return dmsOutsideAccommodationApplyMapper.selectDmsOutsideAccommodationApplyById(id); + } + + @Override + public DmsOutsideAccommodationApply selectDmsOutsideAccommodationApplyByProcessInstanceId(String processInstanceId) { + return dmsOutsideAccommodationApplyMapper.selectDmsOutsideAccommodationApplyByProcessInstanceId(processInstanceId); + } + + /** + * 查询外宿申请列表 + * + * @param dmsOutsideAccommodationApply 外宿申请 + * @return 外宿申请 + */ + @Override + public List selectDmsOutsideAccommodationApplyList(DmsOutsideAccommodationApply dmsOutsideAccommodationApply) { + return dmsOutsideAccommodationApplyMapper.selectDmsOutsideAccommodationApplyList(dmsOutsideAccommodationApply); + } + + /** + * 新增外宿申请 + * + * @param dmsOutsideAccommodationApply 外宿申请 + * @return 结果 + */ + @Override + public int insertDmsOutsideAccommodationApply(DmsOutsideAccommodationApply dmsOutsideAccommodationApply) { + dmsOutsideAccommodationApply.setCreateTime(DateUtils.getNowDate()); + dmsOutsideAccommodationApply.setCreateBy(SecurityUtils.getUsername()); + return dmsOutsideAccommodationApplyMapper.insertDmsOutsideAccommodationApply(dmsOutsideAccommodationApply); + } + + /** + * 修改外宿申请 + * + * @param dmsOutsideAccommodationApply 外宿申请 + * @return 结果 + */ + @Override + public int updateDmsOutsideAccommodationApply(DmsOutsideAccommodationApply dmsOutsideAccommodationApply) { + dmsOutsideAccommodationApply.setUpdateTime(DateUtils.getNowDate()); + return dmsOutsideAccommodationApplyMapper.updateDmsOutsideAccommodationApply(dmsOutsideAccommodationApply); + } + + /** + * 批量删除外宿申请 + * + * @param ids 需要删除的外宿申请主键 + * @return 结果 + */ + @Override + public int deleteDmsOutsideAccommodationApplyByIds(Long[] ids) { + return dmsOutsideAccommodationApplyMapper.deleteDmsOutsideAccommodationApplyByIds(ids); + } + + /** + * 删除外宿申请信息 + * + * @param id 外宿申请主键 + * @return 结果 + */ + @Override + public int deleteDmsOutsideAccommodationApplyById(Long id) { + return dmsOutsideAccommodationApplyMapper.deleteDmsOutsideAccommodationApplyById(id); + } +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsOutsideAccommodationApprovalServiceImpl.java b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsOutsideAccommodationApprovalServiceImpl.java new file mode 100644 index 0000000..0da9248 --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsOutsideAccommodationApprovalServiceImpl.java @@ -0,0 +1,87 @@ +package com.srs.dormitory.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import com.srs.dormitory.mapper.DmsOutsideAccommodationApprovalMapper; +import com.srs.dormitory.domain.DmsOutsideAccommodationApproval; +import com.srs.dormitory.service.IDmsOutsideAccommodationApprovalService; + +/** + * 外宿申请审批记录Service业务层处理 + * + * @author srs + * @date 2025-12-05 + */ +@Service +public class DmsOutsideAccommodationApprovalServiceImpl extends ServiceImpl implements IDmsOutsideAccommodationApprovalService { + @Autowired + private DmsOutsideAccommodationApprovalMapper dmsOutsideAccommodationApprovalMapper; + + /** + * 查询外宿申请审批记录 + * + * @param id 外宿申请审批记录主键 + * @return 外宿申请审批记录 + */ + @Override + public DmsOutsideAccommodationApproval selectDmsOutsideAccommodationApprovalById(Long id) { + return dmsOutsideAccommodationApprovalMapper.selectDmsOutsideAccommodationApprovalById(id); + } + + /** + * 查询外宿申请审批记录列表 + * + * @param dmsOutsideAccommodationApproval 外宿申请审批记录 + * @return 外宿申请审批记录 + */ + @Override + public List selectDmsOutsideAccommodationApprovalList(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval) { + return dmsOutsideAccommodationApprovalMapper.selectDmsOutsideAccommodationApprovalList(dmsOutsideAccommodationApproval); + } + + /** + * 新增外宿申请审批记录 + * + * @param dmsOutsideAccommodationApproval 外宿申请审批记录 + * @return 结果 + */ + @Override + public int insertDmsOutsideAccommodationApproval(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval) { + return dmsOutsideAccommodationApprovalMapper.insertDmsOutsideAccommodationApproval(dmsOutsideAccommodationApproval); + } + + /** + * 修改外宿申请审批记录 + * + * @param dmsOutsideAccommodationApproval 外宿申请审批记录 + * @return 结果 + */ + @Override + public int updateDmsOutsideAccommodationApproval(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval) { + return dmsOutsideAccommodationApprovalMapper.updateDmsOutsideAccommodationApproval(dmsOutsideAccommodationApproval); + } + + /** + * 批量删除外宿申请审批记录 + * + * @param ids 需要删除的外宿申请审批记录主键 + * @return 结果 + */ + @Override + public int deleteDmsOutsideAccommodationApprovalByIds(Long[] ids) { + return dmsOutsideAccommodationApprovalMapper.deleteDmsOutsideAccommodationApprovalByIds(ids); + } + + /** + * 删除外宿申请审批记录信息 + * + * @param id 外宿申请审批记录主键 + * @return 结果 + */ + @Override + public int deleteDmsOutsideAccommodationApprovalById(Long id) { + return dmsOutsideAccommodationApprovalMapper.deleteDmsOutsideAccommodationApprovalById(id); + } +} diff --git a/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsOutsideAccommodationAttachmentServiceImpl.java b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsOutsideAccommodationAttachmentServiceImpl.java new file mode 100644 index 0000000..42f6aaa --- /dev/null +++ b/dms-dormitory/src/main/java/com/srs/dormitory/service/impl/DmsOutsideAccommodationAttachmentServiceImpl.java @@ -0,0 +1,90 @@ +package com.srs.dormitory.service.impl; + +import java.util.List; + +import com.srs.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import com.srs.dormitory.mapper.DmsOutsideAccommodationAttachmentMapper; +import com.srs.dormitory.domain.DmsOutsideAccommodationAttachment; +import com.srs.dormitory.service.IDmsOutsideAccommodationAttachmentService; + +/** + * 外宿申请附件Service业务层处理 + * + * @author srs + * @date 2025-12-05 + */ +@Service +public class DmsOutsideAccommodationAttachmentServiceImpl extends ServiceImpl implements IDmsOutsideAccommodationAttachmentService { + @Autowired + private DmsOutsideAccommodationAttachmentMapper dmsOutsideAccommodationAttachmentMapper; + + /** + * 查询外宿申请附件 + * + * @param id 外宿申请附件主键 + * @return 外宿申请附件 + */ + @Override + public DmsOutsideAccommodationAttachment selectDmsOutsideAccommodationAttachmentById(Long id) { + return dmsOutsideAccommodationAttachmentMapper.selectDmsOutsideAccommodationAttachmentById(id); + } + + /** + * 查询外宿申请附件列表 + * + * @param dmsOutsideAccommodationAttachment 外宿申请附件 + * @return 外宿申请附件 + */ + @Override + public List selectDmsOutsideAccommodationAttachmentList(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment) { + return dmsOutsideAccommodationAttachmentMapper.selectDmsOutsideAccommodationAttachmentList(dmsOutsideAccommodationAttachment); + } + + /** + * 新增外宿申请附件 + * + * @param dmsOutsideAccommodationAttachment 外宿申请附件 + * @return 结果 + */ + @Override + public int insertDmsOutsideAccommodationAttachment(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment) { + dmsOutsideAccommodationAttachment.setCreateTime(DateUtils.getNowDate()); + return dmsOutsideAccommodationAttachmentMapper.insertDmsOutsideAccommodationAttachment(dmsOutsideAccommodationAttachment); + } + + /** + * 修改外宿申请附件 + * + * @param dmsOutsideAccommodationAttachment 外宿申请附件 + * @return 结果 + */ + @Override + public int updateDmsOutsideAccommodationAttachment(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment) { + return dmsOutsideAccommodationAttachmentMapper.updateDmsOutsideAccommodationAttachment(dmsOutsideAccommodationAttachment); + } + + /** + * 批量删除外宿申请附件 + * + * @param ids 需要删除的外宿申请附件主键 + * @return 结果 + */ + @Override + public int deleteDmsOutsideAccommodationAttachmentByIds(Long[] ids) { + return dmsOutsideAccommodationAttachmentMapper.deleteDmsOutsideAccommodationAttachmentByIds(ids); + } + + /** + * 删除外宿申请附件信息 + * + * @param id 外宿申请附件主键 + * @return 结果 + */ + @Override + public int deleteDmsOutsideAccommodationAttachmentById(Long id) { + return dmsOutsideAccommodationAttachmentMapper.deleteDmsOutsideAccommodationAttachmentById(id); + } +} diff --git a/dms-dormitory/src/main/resources/mapper/dormitory/DmsAccommodationsMapper.xml b/dms-dormitory/src/main/resources/mapper/dormitory/DmsAccommodationsMapper.xml new file mode 100644 index 0000000..80d77b0 --- /dev/null +++ b/dms-dormitory/src/main/resources/mapper/dormitory/DmsAccommodationsMapper.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, stu_no, stu_name, birthday, gender, class_name, stu_phone, sfzh, dept_name, major_name, grade_name, room_no, isCharge, sleep_out_remark, address, emergency_contact, parent_comment, parent_tel, parent_address, reviewer_status, apply_sign, apply_date, apply_sign2, apply_date2,fdy_cmt, fdy_sign, fdy_date, fdy_no, dept_cmt, dept_sign, dept_date, dept_no, xg_cmt, xg_sign, xg_date, xg_no, leader_cmt, leader_sign, leader_date, leader_no, stu_year_name, create_time, create_by, update_time, update_by from dms_accommodations + + + + + + + + + insert into dms_accommodations + + stu_no, + stu_name, + birthday, + gender, + class_name, + stu_phone, + sfzh, + dept_name, + major_name, + grade_name, + room_no, + isCharge, + sleep_out_remark, + address, + emergency_contact, + parent_comment, + parent_tel, + parent_address, + reviewer_status, + apply_sign, + apply_date, + apply_sign2, + apply_date2, + fdy_cmt, + fdy_sign, + fdy_date, + fdy_no, + dept_cmt, + dept_sign, + dept_date, + dept_no, + xg_cmt, + xg_sign, + xg_date, + xg_no, + leader_cmt, + leader_sign, + leader_date, + leader_no, + stu_year_name, + create_time, + create_by, + update_time, + update_by, + + + #{stuNo}, + #{stuName}, + #{birthday}, + #{gender}, + #{className}, + #{stuPhone}, + #{sfzh}, + #{deptName}, + #{majorName}, + #{gradeName}, + #{roomNo}, + #{isCharge}, + #{sleepOutRemark}, + #{address}, + #{emergencyContact}, + #{parentComment}, + #{parentTel}, + #{parentAddress}, + #{reviewerStatus}, + #{applySign}, + #{applyDate}, + #{applySign2}, + #{applyDate2}, + #{fdyCmt}, + #{fdySign}, + #{fdyDate}, + #{fdyNo}, + #{deptCmt}, + #{deptSign}, + #{deptDate}, + #{deptNo}, + #{xgCmt}, + #{xgSign}, + #{xgDate}, + #{xgNo}, + #{leaderCmt}, + #{leaderSign}, + #{leaderDate}, + #{leaderNo}, + #{stuYearName}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{updateBy}, + + + + + update dms_accommodations + + stu_no = #{stuNo}, + stu_name = #{stuName}, + birthday = #{birthday}, + gender = #{gender}, + class_name = #{className}, + stu_phone = #{stuPhone}, + sfzh = #{sfzh}, + dept_name = #{deptName}, + major_name = #{majorName}, + grade_name = #{gradeName}, + room_no = #{roomNo}, + isCharge = #{isCharge}, + sleep_out_remark = #{sleepOutRemark}, + address = #{address}, + emergency_contact = #{emergencyContact}, + parent_comment = #{parentComment}, + parent_tel = #{parentTel}, + parent_address = #{parentAddress}, + reviewer_status = #{reviewerStatus}, + apply_sign = #{applySign}, + apply_date = #{applyDate}, + apply_sign2 = #{applySign2}, + apply_date2 = #{applyDate2}, + fdy_cmt = #{fdyCmt}, + fdy_sign = #{fdySign}, + fdy_date = #{fdyDate}, + fdy_no = #{fdyNo}, + dept_cmt = #{deptCmt}, + dept_sign = #{deptSign}, + dept_date = #{deptDate}, + dept_no = #{deptNo}, + xg_cmt = #{xgCmt}, + xg_sign = #{xgSign}, + xg_date = #{xgDate}, + xg_no = #{xgNo}, + leader_cmt = #{leaderCmt}, + leader_sign = #{leaderSign}, + leader_date = #{leaderDate}, + leader_no = #{leaderNo}, + stu_year_name = #{stuYearName}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + + where id = #{id} + + + + delete from dms_accommodations where id = #{id} + + + + delete from dms_accommodations where id in + + #{id} + + + diff --git a/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApplyMapper.xml b/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApplyMapper.xml new file mode 100644 index 0000000..f64f9ad --- /dev/null +++ b/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApplyMapper.xml @@ -0,0 +1,376 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + apply_no, + student_id, + student_no, + student_name, + gender, + birth_date, + dept_id, + dept_name, + major_id, + major_name, + class_id, + class_name, + original_dormitory, + accommodation_fee, + accommodation_fee_status, + apply_reason, + outside_address, + address, + emergency_phone, + emergency_contact, + parent_opinion, + parent_sign_attachment, + parent_phone, + parent_address, + parent_detail_address, + student_promise_sign, + promise_date, + start_date, + end_date, + status, + reject_reason, + create_time, + create_by, + update_time, + update_by, + is_valid, + teacher_name, + affix_id, + deploy_id, + process_instance_id, + idCard, + studentPhone, + student_signature, + promise_content + from dms_outside_accommodation_apply + + + + + + + + + + + + + + + + + + insert into dms_outside_accommodation_apply + + apply_no, + student_id, + student_no, + student_name, + gender, + birth_date, + dept_id, + dept_name, + major_id, + major_name, + class_id, + class_name, + original_dormitory, + accommodation_fee, + accommodation_fee_status, + apply_reason, + outside_address, + address, + emergency_phone, + emergency_contact, + parent_opinion, + parent_sign_attachment, + parent_phone, + parent_address, + parent_detail_address, + student_promise_sign, + promise_date, + start_date, + end_date, + status, + reject_reason, + create_time, + create_by, + update_time, + update_by, + is_valid, + teacher_name, + affix_id, + deploy_id, + process_instance_id, + idCard, + studentPhone, + student_signature, + promise_content, + + + #{applyNo}, + #{studentId}, + #{studentNo}, + #{studentName}, + #{gender}, + #{birthDate}, + #{deptId}, + #{deptName}, + #{majorId}, + #{majorName}, + #{classId}, + #{className}, + #{originalDormitory}, + #{accommodationFee}, + #{accommodationFeeStatus}, + #{applyReason}, + #{outsideAddress}, + #{address}, + #{emergencyPhone}, + #{emergencyContact}, + #{parentOpinion}, + #{parentSignAttachment}, + #{parentPhone}, + #{parentAddress}, + #{parentDetailAddress}, + #{studentPromiseSign}, + #{promiseDate}, + #{startDate}, + #{endDate}, + #{status}, + #{rejectReason}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{updateBy}, + #{isValid}, + #{teacherName}, + #{affixId}, + #{deployId}, + #{processInstanceId}, + #{idCard}, + #{studentPhone}, + #{studentSignature}, + #{promiseContent}, + + + + + update dms_outside_accommodation_apply + + apply_no = #{applyNo}, + student_id = #{studentId}, + student_no = #{studentNo}, + student_name = #{studentName}, + gender = #{gender}, + birth_date = #{birthDate}, + dept_id = #{deptId}, + dept_name = #{deptName}, + major_id = #{majorId}, + major_name = #{majorName}, + class_id = #{classId}, + class_name = #{className}, + original_dormitory = + #{originalDormitory}, + + accommodation_fee = #{accommodationFee}, + accommodation_fee_status = #{accommodationFeeStatus}, + apply_reason = #{applyReason}, + outside_address = #{outsideAddress}, + address = #{address}, + emergency_phone = #{emergencyPhone}, + emergency_contact = #{emergencyContact}, + parent_opinion = #{parentOpinion}, + parent_sign_attachment = + #{parentSignAttachment}, + + parent_phone = #{parentPhone}, + parent_address = #{parentAddress}, + parent_detail_address = + #{parentDetailAddress}, + + student_promise_sign = + #{studentPromiseSign}, + + promise_date = #{promiseDate}, + start_date = #{startDate}, + end_date = #{endDate}, + status = #{status}, + reject_reason = #{rejectReason}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + is_valid = #{isValid}, + teacher_name = #{teacherName}, + affix_id = #{affixId}, + deploy_id = #{deployId}, + process_instance_id = #{processInstanceId}, + idCard = #{idCard}, + studentPhone = #{studentPhone}, + student_signature = #{studentSignature}, + promise_content = #{promiseContent}, + + where id = #{id} + + + + delete + from dms_outside_accommodation_apply + where id = #{id} + + + + delete from dms_outside_accommodation_apply where id in + + #{id} + + + \ No newline at end of file diff --git a/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApprovalMapper.xml b/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApprovalMapper.xml new file mode 100644 index 0000000..d13d8b2 --- /dev/null +++ b/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationApprovalMapper.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + select id, apply_id, apply_no, approval_node, approver_id, approver_name, approver_role, approval_opinion, approval_result, approval_time, process_instance_id, student_name, student_no from dms_outside_accommodation_approval + + + + + + + + insert into dms_outside_accommodation_approval + + apply_id, + apply_no, + approval_node, + approver_id, + approver_name, + approver_role, + approval_opinion, + approval_result, + approval_time, + process_instance_id, + student_name, + student_no, + + + #{applyId}, + #{applyNo}, + #{approvalNode}, + #{approverId}, + #{approverName}, + #{approverRole}, + #{approvalOpinion}, + #{approvalResult}, + #{approvalTime}, + #{processInstanceId}, + #{studentName}, + #{studentNo}, + + + + + update dms_outside_accommodation_approval + + apply_id = #{applyId}, + apply_no = #{applyNo}, + approval_node = #{approvalNode}, + approver_id = #{approverId}, + approver_name = #{approverName}, + approver_role = #{approverRole}, + approval_opinion = #{approvalOpinion}, + approval_result = #{approvalResult}, + approval_time = #{approvalTime}, + process_instance_id = #{processInstanceId}, + student_name = #{studentName}, + student_no = #{studentNo}, + + where id = #{id} + + + + delete from dms_outside_accommodation_approval where id = #{id} + + + + delete from dms_outside_accommodation_approval where id in + + #{id} + + + \ No newline at end of file diff --git a/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationAttachmentMapper.xml b/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationAttachmentMapper.xml new file mode 100644 index 0000000..bd3dbb6 --- /dev/null +++ b/dms-dormitory/src/main/resources/mapper/dormitory/DmsOutsideAccommodationAttachmentMapper.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + select id, apply_id, attachment_name, attachment_url, attachment_type, file_size, file_suffix, create_time, process_instance_id, student_name, student_no from dms_outside_accommodation_attachment + + + + + + + + insert into dms_outside_accommodation_attachment + + apply_id, + attachment_name, + attachment_url, + attachment_type, + file_size, + file_suffix, + create_time, + process_instance_id, + student_name, + student_no, + + + #{applyId}, + #{attachmentName}, + #{attachmentUrl}, + #{attachmentType}, + #{fileSize}, + #{fileSuffix}, + #{createTime}, + #{processInstanceId}, + #{studentName}, + #{studentNo}, + + + + + update dms_outside_accommodation_attachment + + apply_id = #{applyId}, + attachment_name = #{attachmentName}, + attachment_url = #{attachmentUrl}, + attachment_type = #{attachmentType}, + file_size = #{fileSize}, + file_suffix = #{fileSuffix}, + create_time = #{createTime}, + process_instance_id = #{processInstanceId}, + student_name = #{studentName}, + student_no = #{studentNo}, + + where id = #{id} + + + + delete from dms_outside_accommodation_attachment where id = #{id} + + + + delete from dms_outside_accommodation_attachment where id in + + #{id} + + + \ No newline at end of file diff --git a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/KnzzZzqApplyController.java b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/KnzzZzqApplyController.java index 03a67fc..94a307d 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/KnzzZzqApplyController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/KnzzZzqApplyController.java @@ -202,7 +202,7 @@ public class KnzzZzqApplyController extends BaseController { /** * 获取自治区人民政府奖学金详细信息 */ - @PreAuthorize("@ss.hasPermi('comprehensive:knzzZzqApply:query')") +// @PreAuthorize("@ss.hasPermi('comprehensive:knzzZzqApply:query')") @GetMapping(value = "/{id}") @ApiOperation("获取自治区人民政府奖学金详细信息") public AjaxResult getInfo(@PathVariable("id") Long id) diff --git a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsKnrdApplyController.java b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsKnrdApplyController.java index 111c85c..40e8702 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsKnrdApplyController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsKnrdApplyController.java @@ -7,6 +7,7 @@ import java.text.SimpleDateFormat; import java.util.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + import com.srs.common.annotation.NotNull; import com.srs.common.core.domain.model.LoginUser; import com.srs.common.utils.bean.BeanTrimmer; @@ -44,8 +45,7 @@ import com.srs.common.core.page.TableDataInfo; */ @RestController @RequestMapping("/knrdApply/apply") -public class SrsKnrdApplyController extends BaseController -{ +public class SrsKnrdApplyController extends BaseController { @Autowired private ISrsKnrdApplyService srsKnrdApplyService; @@ -58,16 +58,16 @@ public class SrsKnrdApplyController extends BaseController @GetMapping("/listJwc") @ApiOperation("查询学工下的学生申请的列表") - public TableDataInfo listJwc(CphSearch param){ - boolean hasRole = RoleBool.isJwc(getUserId(),_postService); - if(hasRole){ + public TableDataInfo listJwc(CphSearch param) { + boolean hasRole = RoleBool.isJwc(getUserId(), _postService); + if (hasRole) { startPage(); - if (param.getStep()==null) { + if (param.getStep() == null) { param.setStep("4"); } List list = srsKnrdApplyService.listView(param); return getDataTable(list); - }else{ + } else { List list = new ArrayList<>(); return getDataTable(list); } @@ -75,19 +75,19 @@ public class SrsKnrdApplyController extends BaseController @GetMapping("/listXw") @ApiOperation("查询学务下的学生申请的列表") - public TableDataInfo listXw(CphSearch param){ + public TableDataInfo listXw(CphSearch param) { // boolean hasRole = RoleBool.isXw(getUserId(),_postService); boolean ejxysj = RoleBool.isEjxysj(getUserId(), _postService); - if(ejxysj){ + if (ejxysj) { param.setDeptId(getDeptId()); startPage(); - if (param.getStep()==null) { + if (param.getStep() == null) { param.setStep("3"); } param.setUserName(getUsername()); List list = srsKnrdApplyService.listView(param); return getDataTable(list); - }else{ + } else { List list = new ArrayList<>(); return getDataTable(list); } @@ -96,14 +96,14 @@ public class SrsKnrdApplyController extends BaseController @PostMapping("/countXw") @ApiOperation("查询学务下的学生申请的列表") - public AjaxResult countXw(CphSearch param){ + public AjaxResult countXw(CphSearch param) { boolean ejxysj = RoleBool.isEjxysj(getUserId(), _postService); - if(ejxysj){ + if (ejxysj) { param.setDeptId(getDeptId()); param.setUserName(getUsername()); List list = srsKnrdApplyService.countXw(param); return AjaxResult.success(list); - }else{ + } else { List list = new ArrayList<>(); return AjaxResult.success(list); } @@ -111,17 +111,17 @@ public class SrsKnrdApplyController extends BaseController @GetMapping("/listFdy") @ApiOperation("查询辅导员下的学生申请的列表") - public TableDataInfo listFdy(CphSearch param){ - boolean hasRole = RoleBool.isFdy(getUserId(),_postService); - if(hasRole){ + public TableDataInfo listFdy(CphSearch param) { + boolean hasRole = RoleBool.isFdy(getUserId(), _postService); + if (hasRole) { param.setTNo(getUsername()); startPage(); - if (param.getStep()==null) { + if (param.getStep() == null) { param.setStep("2"); } List list = srsKnrdApplyService.listView(param); return getDataTable(list); - }else{ + } else { List list = new ArrayList<>(); return getDataTable(list); } @@ -130,7 +130,7 @@ public class SrsKnrdApplyController extends BaseController @GetMapping("/listOwn") @ApiOperation("查询学生自己申请的列表") - public TableDataInfo listOwn(SrsKnrdApply srsKnrdApply){ + public TableDataInfo listOwn(SrsKnrdApply srsKnrdApply) { String stuNo = getUsername(); startPage(); srsKnrdApply.setXh(stuNo); @@ -139,7 +139,6 @@ public class SrsKnrdApplyController extends BaseController } - /** * 查询困难认定列表 */ @@ -156,8 +155,7 @@ public class SrsKnrdApplyController extends BaseController */ @Log(title = "困难认定", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, SrsKnrdApply srsKnrdApply) - { + public void export(HttpServletResponse response, SrsKnrdApply srsKnrdApply) { List list = srsKnrdApplyService.selectSrsKnrdApplyList(srsKnrdApply); ExcelUtil util = new ExcelUtil(SrsKnrdApply.class); util.exportExcel(response, list, "困难认定数据"); @@ -167,29 +165,26 @@ public class SrsKnrdApplyController extends BaseController * 获取困难认定详细信息 */ @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { + public AjaxResult getInfo(@PathVariable("id") Long id) { SrsKnrdApply srsKnrdApply = srsKnrdApplyService.selectSrsKnrdApplyById(id); boolean isStu = RoleBool.isStu(getUserId(), _roleService); - if(isStu){ + if (isStu) { String stuNo = getUsername(); - if(srsKnrdApply.getXh().equals(stuNo)){ + if (srsKnrdApply.getXh().equals(stuNo)) { return success(srsKnrdApply); - } - else{ + } else { return error("无权访问"); } - }else{ + } else { return success(srsKnrdApply); } - } + //获取当前学年 @PostMapping(value = "/findByXhAndApplyYear") - public AjaxResult findByXhAndApplyYear(@RequestBody SrsKnrdApply srsKnrdApply) - { + public AjaxResult findByXhAndApplyYear(@RequestBody SrsKnrdApply srsKnrdApply) { return success(srsKnrdApplyService.selectByXhAndYear(srsKnrdApply)); } @@ -197,60 +192,60 @@ public class SrsKnrdApplyController extends BaseController @Autowired private TokenService tokenService; - @GetMapping( "/xh") - public AjaxResult getInfoxh(HttpServletRequest request) - { + + @GetMapping("/xh") + public AjaxResult getInfoxh(HttpServletRequest request) { LoginUser loginUser = tokenService.getLoginUser(request); return success(srsKnrdApplyService.getInfoxh(loginUser.getUser().getUserName())); } - @GetMapping( "/getStuByXh") - public AjaxResult getStuByXh(String xh) - { + + @GetMapping("/getStuByXh") + public AjaxResult getStuByXh(String xh) { SrsStudent infoxh = srsKnrdApplyService.getInfoxh(xh); - if(infoxh==null){ - return error("学号错误,没有这个学生"); + if (infoxh == null) { + return error("学号错误,没有这个学生"); } return success(); } + /** * 新增困难认定 */ @Log(title = "学生新增困难认定", businessType = BusinessType.INSERT) @PostMapping("/add") - public AjaxResult add(@RequestBody SrsKnrdApply srsKnrdApply) - { + public AjaxResult add(@RequestBody SrsKnrdApply srsKnrdApply) { BeanTrimmer.trimFields(srsKnrdApply); return srsKnrdApplyService.insertSrsKnrdApply(srsKnrdApply); } + /** * 修改困难认定 */ @Log(title = "困难认定", businessType = BusinessType.UPDATE) @PostMapping("/edit") - public AjaxResult edit(@RequestBody SrsKnrdApply srsKnrdApply) - { + public AjaxResult edit(@RequestBody SrsKnrdApply srsKnrdApply) { SrsKnrdApply result = srsKnrdApplyService.selectSrsKnrdApplyById(srsKnrdApply.getId()); Long step = result.getStep(); - if(step != 1 && step !=0){ //学生只能看不能操作 - boolean isStudent = RoleBool.isStu(getUserId(),_roleService); - if(isStudent){ + if (step != 1 && step != 0) { //学生只能看不能操作 + boolean isStudent = RoleBool.isStu(getUserId(), _roleService); + if (isStudent) { return AjaxResult.error("操作失败,权限不足!"); } - if(step == 2) { + if (step == 2) { boolean isFdy = RoleBool.isFdy(getUserId(), _postService); if (!isFdy) { return AjaxResult.error("操作失败,权限不足!"); } } - if(step == 3){ + if (step == 3) { boolean ejxysj = RoleBool.isEjxysj(getUserId(), _postService); if (!ejxysj) { return AjaxResult.error("操作失败,权限不足!"); } } - if(step == 4){ - boolean isJwc = RoleBool.isJwc(getUserId(),_postService); + if (step == 4) { + boolean isJwc = RoleBool.isJwc(getUserId(), _postService); if (!isJwc) { return AjaxResult.error("操作失败,权限不足!"); } @@ -260,24 +255,25 @@ public class SrsKnrdApplyController extends BaseController BeanTrimmer.trimFields(srsKnrdApply); return toAjax(srsKnrdApplyService.updateSrsKnrdApply(srsKnrdApply)); } + /** * 批量困难认定 */ @Log(title = "困难认定", businessType = BusinessType.UPDATE) @PostMapping("/updateAllSrsKnrdApply") - public AjaxResult updateAllSrsKnrdApply(@RequestBody SrsHandAllKnrd srsKnrdApply) - { + public AjaxResult updateAllSrsKnrdApply(@RequestBody SrsHandAllKnrd srsKnrdApply) { return toAjax(srsKnrdApplyService.updateAllSrsKnrdApply(srsKnrdApply)); } + /** * 删除困难认定 */ @Log(title = "困难认定", businessType = BusinessType.DELETE) @GetMapping("/delete/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { + public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(srsKnrdApplyService.deleteSrsKnrdApplyByIds(ids)); } + @Autowired private ISrsStudentService srsStudentService; @@ -285,9 +281,10 @@ public class SrsKnrdApplyController extends BaseController private ICphStuExtraInfoService cphStuExtraInfoService; @Autowired private IRtStuDisciplinaryApplicationService rtStuDisciplinaryApplicationService; + //学生基础信息校验 @PostMapping("/infoCheck") - public AjaxResult infoCheck(){ + public AjaxResult infoCheck() { AjaxResult ajaxResult = new AjaxResult(); String stuNo = getUsername(); @@ -297,24 +294,24 @@ public class SrsKnrdApplyController extends BaseController check(res1); check(res2); - if(rtStuDisciplinaryApplicationService.selectRtStuDisciplinaryApplicationByStuNo(stuNo)){ - Map map = new HashMap(); - map.put("code",1); - ajaxResult.put("code",0 ); - ajaxResult.put("data",map); - ajaxResult.put("msg","你当前处于学校处分状态,不允许申请贫困生条件"); + if (rtStuDisciplinaryApplicationService.selectRtStuDisciplinaryApplicationByStuNo(stuNo)) { + Map map = new HashMap(); + map.put("code", 1); + ajaxResult.put("code", 0); + ajaxResult.put("data", map); + ajaxResult.put("msg", "你当前处于学校处分状态,不允许申请贫困生条件"); return ajaxResult; } - ajaxResult.put("code",200); + ajaxResult.put("code", 200); return ajaxResult; - }catch (Exception e){ - Map map = new HashMap(); - map.put("code",0); - map.put("info",e.getMessage()); - ajaxResult.put("code",0); - ajaxResult.put("data",map); - ajaxResult.put("msg","请先填写完成个人信息中的重要信息和其他信息"); + } catch (Exception e) { + Map map = new HashMap(); + map.put("code", 0); + map.put("info", e.getMessage()); + ajaxResult.put("code", 0); + ajaxResult.put("data", map); + ajaxResult.put("msg", "请先填写完成个人信息中的重要信息和其他信息"); return ajaxResult; } @@ -324,17 +321,17 @@ public class SrsKnrdApplyController extends BaseController //获取所有字段 final Class clazz = obj.getClass(); Field[] fields = clazz.getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { field.setAccessible(true); NotNull notNull = field.getAnnotation(NotNull.class); String name = field.getName();//字段名 Type type = field.getGenericType();//字段类型 - if(notNull != null){ + if (notNull != null) { Class fieldClazz = field.getType(); Object fieldObj = field.get(obj); - if(field.get(obj) == null || "".equals(field.get(obj))){ + if (field.get(obj) == null || "".equals(field.get(obj))) { throw new Exception(notNull.value()); } // //是数组 @@ -350,7 +347,7 @@ public class SrsKnrdApplyController extends BaseController } @PostMapping("/valid") - public AjaxResult valid(@RequestBody SrsKnrdApply apply){ + public AjaxResult valid(@RequestBody SrsKnrdApply apply) { AjaxResult ajaxResult = new AjaxResult(); // SrsKnrdApply srsKnrdApply = new SrsKnrdApply(); String stuNo = getUsername(); @@ -358,54 +355,54 @@ public class SrsKnrdApplyController extends BaseController // SrsStuYear srsStuYear = srsStuYearService.listEnableYear().get(0); // apply.setStuYearId(srsStuYear.getId()); SrsKnrdApply vaildResult = srsKnrdApplyService.selectByXhAndYear(apply); - if(vaildResult == null ){ - ajaxResult.put("valid",1); - }else{ - ajaxResult.put("valid",0); + if (vaildResult == null) { + ajaxResult.put("valid", 1); + } else { + ajaxResult.put("valid", 0); } return ajaxResult; } @PostMapping("/fdySave") - public AjaxResult fdySave(@RequestBody SrsKnrdApply srsKnrdApply){ + public AjaxResult fdySave(@RequestBody SrsKnrdApply srsKnrdApply) { int i = srsKnrdApplyService.fdySave(srsKnrdApply); return toAjax(i); } @PostMapping("/getCurrentYear") - public AjaxResult getCurrentYear(){ + public AjaxResult getCurrentYear() { List srsStuYears = srsStuYearService.listEnableYear(); return success(srsStuYears.get(0)); } @PostMapping("/reject") - public AjaxResult reject(@RequestBody SrsKnrdApprovalRecord record){ + public AjaxResult reject(@RequestBody SrsKnrdApprovalRecord record) { return success(srsKnrdApplyService.reject(record)); } @PostMapping("/jwcNext") @ApiOperation("查询学工下的学生申请的列表") - public AjaxResult jwcNext(CphSearch param){ + public AjaxResult jwcNext(CphSearch param) { - boolean hasRole = RoleBool.isJwc(getUserId(),_postService); - if(hasRole){ + boolean hasRole = RoleBool.isJwc(getUserId(), _postService); + if (hasRole) { startPage(); - if (param.getStep()==null) { + if (param.getStep() == null) { param.setStep("4"); } List list = srsKnrdApplyService.listView(param); - if(list.size() != 0){ + if (list.size() != 0) { SrsKnrdApply srsKnrdApply = list.get(0); //锁定 srsKnrdApplyService.lock(srsKnrdApply); return AjaxResult.success(srsKnrdApply); - }else{ + } else { return AjaxResult.success(null); } - }else{ + } else { return AjaxResult.success(null); } } @@ -413,44 +410,45 @@ public class SrsKnrdApplyController extends BaseController @PostMapping("/fdyNext") @ApiOperation("查询学工下的学生申请的列表") public AjaxResult fdyNext(CphSearch param) { - boolean hasRole = RoleBool.isFdy(getUserId(),_postService); - if(hasRole){ + boolean hasRole = RoleBool.isFdy(getUserId(), _postService); + if (hasRole) { param.setTNo(getUsername()); startPage(); - if (param.getStep()==null) { + if (param.getStep() == null) { param.setStep("2"); } List list = srsKnrdApplyService.listView(param); - if(list.size() != 0){ + if (list.size() != 0) { return AjaxResult.success(list.get(0)); - }else{ + } else { return AjaxResult.success(null); } - }else{ + } else { return AjaxResult.success(null); } } + @PostMapping("/xwNext") @ApiOperation("查询学务下的学生申请的列表") - public AjaxResult xwNext(CphSearch param){ + public AjaxResult xwNext(CphSearch param) { // boolean hasRole = RoleBool.isXw(getUserId(),_postService); boolean ejxysj = RoleBool.isEjxysj(getUserId(), _postService); - if( ejxysj){ + if (ejxysj) { param.setDeptId(getDeptId()); startPage(); - if (param.getStep()==null) { + if (param.getStep() == null) { param.setStep("3"); } param.setUserName(getUsername()); List list = srsKnrdApplyService.listView(param); - if(list.size() != 0){ + if (list.size() != 0) { return AjaxResult.success(list.get(0)); - }else{ + } else { return AjaxResult.success(null); } - }else{ + } else { List list = new ArrayList<>(); return AjaxResult.success(null); } @@ -460,10 +458,10 @@ public class SrsKnrdApplyController extends BaseController @ApiOperation("困难认定撤回") public AjaxResult revoke(@RequestBody SrsKnrdApply srsKnrdApply) { int revoke = srsKnrdApplyService.revoke(srsKnrdApply); - if(revoke > 0){ - return AjaxResult.success("操作成功!"); - }else{ - return AjaxResult.error("操作失败!"); + if (revoke > 0) { + return AjaxResult.success("操作成功!"); + } else { + return AjaxResult.error("操作失败!"); } } @@ -473,10 +471,10 @@ public class SrsKnrdApplyController extends BaseController @ApiOperation("困难认定超级撤回") public AjaxResult fdyRevoke(@RequestBody SrsKnrdApply srsKnrdApply) { int revoke = srsKnrdApplyService.fdyRevoke(srsKnrdApply); - if(revoke > 0){ - return AjaxResult.success("操作成功!"); - }else{ - return AjaxResult.error("操作失败!"); + if (revoke > 0) { + return AjaxResult.success("操作成功!"); + } else { + return AjaxResult.error("操作失败!"); } } @@ -484,10 +482,10 @@ public class SrsKnrdApplyController extends BaseController @PostMapping("/lock") public AjaxResult lock(@RequestBody SrsKnrdApply srsKnrdApply) { int lock = srsKnrdApplyService.lock(srsKnrdApply); - if(lock > 0){ - return AjaxResult.success("操作成功!"); - }else{ - return AjaxResult.error("操作失败!"); + if (lock > 0) { + return AjaxResult.success("操作成功!"); + } else { + return AjaxResult.error("操作失败!"); } } @@ -495,10 +493,10 @@ public class SrsKnrdApplyController extends BaseController @PostMapping("/unlock") public AjaxResult unlock(@RequestBody SrsKnrdApply srsKnrdApply) { int unLock = srsKnrdApplyService.unlock(srsKnrdApply); - if(unLock > 0){ - return AjaxResult.success("操作成功!"); - }else{ - return AjaxResult.error("操作失败!"); + if (unLock > 0) { + return AjaxResult.success("操作成功!"); + } else { + return AjaxResult.error("操作失败!"); } } @@ -506,24 +504,24 @@ public class SrsKnrdApplyController extends BaseController //教务处一键审核 @PostMapping("/jwcUpdateAll") @ApiOperation("查询学工下的学生申请的列表") - public AjaxResult jwcUpdateAll(@RequestBody SrsHandAllKnrd srsKnrdApply){ - boolean hasRole = RoleBool.isJwc(getUserId(),_postService); - if(hasRole){ + public AjaxResult jwcUpdateAll(@RequestBody SrsHandAllKnrd srsKnrdApply) { + boolean hasRole = RoleBool.isJwc(getUserId(), _postService); + if (hasRole) { CphSearch param = new CphSearch(); - if (param.getStep()==null) { + if (param.getStep() == null) { param.setStep("4"); } List list = srsKnrdApplyService.listView(param); int[] ids = new int[list.size()]; for (int i = 0; i < list.size(); i++) { - ids[i] = list.get(i).getId().intValue(); + ids[i] = list.get(i).getId().intValue(); } srsKnrdApply.setIds(ids); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String formatDate = format.format(new Date()); srsKnrdApply.setXsqmrq(formatDate); return toAjax(srsKnrdApplyService.updateAllSrsKnrdApply(srsKnrdApply)); - }else{ + } else { return toAjax(0); } @@ -531,11 +529,10 @@ public class SrsKnrdApplyController extends BaseController // 更新签名 @PostMapping("/updateSignature") - public AjaxResult updateSignature(@RequestBody CphSearch cphSearch){ + public AjaxResult updateSignature(@RequestBody CphSearch cphSearch) { - - return AjaxResult.success(srsKnrdApplyService.updateSignature(cphSearch)); + return AjaxResult.success(srsKnrdApplyService.updateSignature(cphSearch)); } } diff --git a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsMajorsController.java b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsMajorsController.java index 096e594..9ad4f75 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsMajorsController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsMajorsController.java @@ -28,7 +28,7 @@ import com.srs.common.core.page.TableDataInfo; /** * 【请填写功能名称】Controller - * + * * @author srs * @date 2023-06-27 */ @@ -124,4 +124,9 @@ public class SrsMajorsController extends BaseController return AjaxResult.success(srsMajorsService.dataSync()); } + @GetMapping("/getOwnMajorName") + public AjaxResult getOwnMajorName(){ + String stuNo = getUsername(); + return AjaxResult.success(srsMajorsService.getOwnMajorName(stuNo)); + } } diff --git a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsStudentController.java b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsStudentController.java index 49605b6..6841a29 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsStudentController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsStudentController.java @@ -404,6 +404,12 @@ public class SrsStudentController extends BaseController { public AjaxResult getInfo(@PathVariable("stuId") Long stuId) { return success(srsStudentService.selectSrsStudentByStuId(stuId)); } + //获取登陆学生信息 + @GetMapping("/getLoginStudent") + public AjaxResult getLoginStudent() { + String stuNo = getUsername(); + return success(srsStudentService.getSrsStudentByStuNoNew(stuNo)); + } /** * 新增学生信息 diff --git a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsZxjApplyController.java b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsZxjApplyController.java index 07855e8..beca00b 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsZxjApplyController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/SrsZxjApplyController.java @@ -299,6 +299,16 @@ public class SrsZxjApplyController extends BaseController { return toAjax(i); } + @PostMapping("/updateSqly") + @ApiOperation("修改申请理由(sqly)") + public AjaxResult updateSqly(@RequestBody SrsZxjApply apply) { + if (apply == null || apply.getId() == null || apply.getSqly() == null) { + return AjaxResult.error("参数不完整"); + } + int rows = srsZxjApplyService.updateSqly(apply.getId(), apply.getSqly()); + return toAjax(rows); + } + @PostMapping("/nopass") @ApiOperation("新增【贫困生申请】") diff --git a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/TeacherEvaluationStatusController.java b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/TeacherEvaluationStatusController.java index 243445a..14c76ef 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/comprehensive/TeacherEvaluationStatusController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/comprehensive/TeacherEvaluationStatusController.java @@ -1,4 +1,4 @@ -package com.srs.comprehensive.controller; +package com.srs.web.controller.comprehensive; import java.util.List; import javax.servlet.http.HttpServletResponse; diff --git a/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsAccommodationsController.java b/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsAccommodationsController.java new file mode 100644 index 0000000..f69a1ed --- /dev/null +++ b/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsAccommodationsController.java @@ -0,0 +1,128 @@ +package com.srs.web.controller.dormitory; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.*; +import org.springframework.security.access.prepost.PreAuthorize; + +import com.srs.dormitory.domain.DmsAccommodations; +import com.srs.dormitory.service.IDmsAccommodationsService; +import com.srs.common.core.controller.BaseController; +import com.srs.common.core.domain.AjaxResult; +import com.srs.common.utils.poi.ExcelUtil; +import com.srs.common.enums.BusinessType; +import com.srs.common.annotation.Log; +import com.srs.common.core.page.TableDataInfo; + +/** + * 外宿申请Controller + * + * @author srs + * @date 2025-11-11 + */ +@RestController +@RequestMapping("/dormitory/accommodations") +@Api(value = "外宿申请管理", tags = "外宿申请管理") +public class DmsAccommodationsController extends BaseController { + @Autowired + private IDmsAccommodationsService dmsAccommodationsService; + + /** + * 查询外宿申请列表 + */ +//@PreAuthorize("@ss.hasPermi('dormitory:accommodations:list')") +@GetMapping("/list") +@ApiOperation("查询外宿申请列表") + public TableDataInfo list(DmsAccommodations dmsAccommodations) + { + startPage(); + String userName = getUsername(); + if(dmsAccommodations==null) { + if (userName.equals("admin")) { + List list = dmsAccommodationsService.selectDmsAccommodationsList(dmsAccommodations); + return getDataTable(list); + } else{ + dmsAccommodations.setStuNo(userName); + List list = dmsAccommodationsService.selectDmsAccommodationsList(dmsAccommodations); + return getDataTable(list); + } + } + else{ + List list = dmsAccommodationsService.selectDmsAccommodationsList(dmsAccommodations); + return getDataTable(list); + } + } + + /** + * 导出外宿申请列表 + */ + @PreAuthorize("@ss.hasPermi('dormitory:accommodations:export')") + @Log(title = "外宿申请", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("导出外宿申请列表") + public void export(HttpServletResponse response, DmsAccommodations dmsAccommodations) + { + List list = dmsAccommodationsService.selectDmsAccommodationsList(dmsAccommodations); + ExcelUtil util = new ExcelUtil(DmsAccommodations.class); + util.exportExcel(response, list, "外宿申请数据"); + } + + /** + * 获取外宿申请详细信息 + */ + //@PreAuthorize("@ss.hasPermi('dormitory:accommodations:query')") + @GetMapping(value = "/{id}") + @ApiOperation("获取外宿申请详细信息") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(dmsAccommodationsService.selectDmsAccommodationsById(id)); + } + + /** + * 新增外宿申请 + */ +// @PreAuthorize("@ss.hasPermi('dormitory:accommodations:add')") + @Log(title = "外宿申请", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ApiOperation("新增外宿申请") + public AjaxResult add(@RequestBody DmsAccommodations dmsAccommodations) + { + return toAjax(dmsAccommodationsService.insertDmsAccommodations(dmsAccommodations)); + } + + /** + * 修改外宿申请 + */ + // @PreAuthorize("@ss.hasPermi('dormitory:accommodations:edit')") + @Log(title = "外宿申请", businessType = BusinessType.UPDATE) + @PostMapping("/update") + @ApiOperation("修改外宿申请") + public AjaxResult edit(@RequestBody DmsAccommodations dmsAccommodations) + { + return toAjax(dmsAccommodationsService.updateDmsAccommodations(dmsAccommodations)); + } + + /** + * 删除外宿申请 + */ + // @PreAuthorize("@ss.hasPermi('dormitory:accommodations:remove')") + @Log(title = "外宿申请", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + @ApiOperation("删除外宿申请") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(dmsAccommodationsService.deleteDmsAccommodationsByIds(ids)); + } + @GetMapping("/getStuDormitory") + public AjaxResult getStuDormitory(){ + String stuNo = getUsername(); + return success(dmsAccommodationsService.getStuDormitory(stuNo)); + } +} diff --git a/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsOutsideAccommodationApplyController.java b/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsOutsideAccommodationApplyController.java new file mode 100644 index 0000000..2aa8c7f --- /dev/null +++ b/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsOutsideAccommodationApplyController.java @@ -0,0 +1,120 @@ +package com.srs.web.controller.dormitory; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.*; +import org.springframework.security.access.prepost.PreAuthorize; + +import com.srs.dormitory.domain.DmsOutsideAccommodationApply; +import com.srs.dormitory.service.IDmsOutsideAccommodationApplyService; +import com.srs.common.core.controller.BaseController; +import com.srs.common.core.domain.AjaxResult; +import com.srs.common.utils.poi.ExcelUtil; +import com.srs.common.enums.BusinessType; +import com.srs.common.annotation.Log; +import com.srs.common.core.page.TableDataInfo; + +/** + * 外宿申请Controller + * + * @author srs + * @date 2025-12-05 + */ +@RestController +@RequestMapping("/dormitory/outsideAccommodationApply") +@Api(value = "外宿申请管理", tags = "外宿申请管理") +public class DmsOutsideAccommodationApplyController extends BaseController { + @Autowired + private IDmsOutsideAccommodationApplyService dmsOutsideAccommodationApplyService; + + /** + * 查询外宿申请列表 + */ +@PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApply:list')") +@GetMapping("/list") +@ApiOperation("查询外宿申请列表") + public TableDataInfo list(DmsOutsideAccommodationApply dmsOutsideAccommodationApply) + { + startPage(); + List list = dmsOutsideAccommodationApplyService.selectDmsOutsideAccommodationApplyList(dmsOutsideAccommodationApply); + return getDataTable(list); + } + + /** + * 导出外宿申请列表 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApply:export')") + @Log(title = "外宿申请", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("导出外宿申请列表") + public void export(HttpServletResponse response, DmsOutsideAccommodationApply dmsOutsideAccommodationApply) + { + List list = dmsOutsideAccommodationApplyService.selectDmsOutsideAccommodationApplyList(dmsOutsideAccommodationApply); + ExcelUtil util = new ExcelUtil(DmsOutsideAccommodationApply.class); + util.exportExcel(response, list, "外宿申请数据"); + } + + /** + * 获取外宿申请详细信息 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApply:query')") + @GetMapping(value = "/{id}") + @ApiOperation("获取外宿申请详细信息") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(dmsOutsideAccommodationApplyService.selectDmsOutsideAccommodationApplyById(id)); + } + + /** + * 获取外宿申请详细信息 + */ + @PreAuthorize("@ss.hasPermi('dormitory:enlistmentReserve:query')") + @GetMapping(value = "/process/{processInstanceId}") + @ApiOperation("获取应征入伍保留学籍申请详细信息") + public AjaxResult getInfoByProcessInstanceId(@PathVariable("processInstanceId") String processInstanceId) { + return success(dmsOutsideAccommodationApplyService.selectDmsOutsideAccommodationApplyByProcessInstanceId(processInstanceId)); + } + + /** + * 新增外宿申请 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApply:add')") + @Log(title = "外宿申请", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ApiOperation("新增外宿申请") + public AjaxResult add(@RequestBody DmsOutsideAccommodationApply dmsOutsideAccommodationApply) + { + return success(dmsOutsideAccommodationApplyService.insertDmsOutsideAccommodationApply(dmsOutsideAccommodationApply)); + } + + /** + * 修改外宿申请 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApply:edit')") + @Log(title = "外宿申请", businessType = BusinessType.UPDATE) + @PostMapping("/update") + @ApiOperation("修改外宿申请") + public AjaxResult edit(@RequestBody DmsOutsideAccommodationApply dmsOutsideAccommodationApply) + { + return toAjax(dmsOutsideAccommodationApplyService.updateDmsOutsideAccommodationApply(dmsOutsideAccommodationApply)); + } + + /** + * 删除外宿申请 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApply:remove')") + @Log(title = "外宿申请", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + @ApiOperation("删除外宿申请") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(dmsOutsideAccommodationApplyService.deleteDmsOutsideAccommodationApplyByIds(ids)); + } +} diff --git a/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsOutsideAccommodationApprovalController.java b/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsOutsideAccommodationApprovalController.java new file mode 100644 index 0000000..63c9d99 --- /dev/null +++ b/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsOutsideAccommodationApprovalController.java @@ -0,0 +1,110 @@ +package com.srs.web.controller.dormitory; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.*; +import org.springframework.security.access.prepost.PreAuthorize; + +import com.srs.dormitory.domain.DmsOutsideAccommodationApproval; +import com.srs.dormitory.service.IDmsOutsideAccommodationApprovalService; +import com.srs.common.core.controller.BaseController; +import com.srs.common.core.domain.AjaxResult; +import com.srs.common.utils.poi.ExcelUtil; +import com.srs.common.enums.BusinessType; +import com.srs.common.annotation.Log; +import com.srs.common.core.page.TableDataInfo; + +/** + * 外宿申请审批记录Controller + * + * @author srs + * @date 2025-12-05 + */ +@RestController +@RequestMapping("/dormitory/outsideAccommodationApproval") +@Api(value = "外宿申请审批记录管理", tags = "外宿申请审批记录管理") +public class DmsOutsideAccommodationApprovalController extends BaseController { + @Autowired + private IDmsOutsideAccommodationApprovalService dmsOutsideAccommodationApprovalService; + + /** + * 查询外宿申请审批记录列表 + */ +@PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApproval:list')") +@GetMapping("/list") +@ApiOperation("查询外宿申请审批记录列表") + public TableDataInfo list(DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval) + { + startPage(); + List list = dmsOutsideAccommodationApprovalService.selectDmsOutsideAccommodationApprovalList(dmsOutsideAccommodationApproval); + return getDataTable(list); + } + + /** + * 导出外宿申请审批记录列表 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApproval:export')") + @Log(title = "外宿申请审批记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("导出外宿申请审批记录列表") + public void export(HttpServletResponse response, DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval) + { + List list = dmsOutsideAccommodationApprovalService.selectDmsOutsideAccommodationApprovalList(dmsOutsideAccommodationApproval); + ExcelUtil util = new ExcelUtil(DmsOutsideAccommodationApproval.class); + util.exportExcel(response, list, "外宿申请审批记录数据"); + } + + /** + * 获取外宿申请审批记录详细信息 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApproval:query')") + @GetMapping(value = "/{id}") + @ApiOperation("获取外宿申请审批记录详细信息") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(dmsOutsideAccommodationApprovalService.selectDmsOutsideAccommodationApprovalById(id)); + } + + /** + * 新增外宿申请审批记录 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApproval:add')") + @Log(title = "外宿申请审批记录", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ApiOperation("新增外宿申请审批记录") + public AjaxResult add(@RequestBody DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval) + { + return toAjax(dmsOutsideAccommodationApprovalService.insertDmsOutsideAccommodationApproval(dmsOutsideAccommodationApproval)); + } + + /** + * 修改外宿申请审批记录 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApproval:edit')") + @Log(title = "外宿申请审批记录", businessType = BusinessType.UPDATE) + @PostMapping("/update") + @ApiOperation("修改外宿申请审批记录") + public AjaxResult edit(@RequestBody DmsOutsideAccommodationApproval dmsOutsideAccommodationApproval) + { + return toAjax(dmsOutsideAccommodationApprovalService.updateDmsOutsideAccommodationApproval(dmsOutsideAccommodationApproval)); + } + + /** + * 删除外宿申请审批记录 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApproval:remove')") + @Log(title = "外宿申请审批记录", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + @ApiOperation("删除外宿申请审批记录") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(dmsOutsideAccommodationApprovalService.deleteDmsOutsideAccommodationApprovalByIds(ids)); + } +} diff --git a/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsOutsideAccommodationAttachmentController.java b/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsOutsideAccommodationAttachmentController.java new file mode 100644 index 0000000..24ea031 --- /dev/null +++ b/srs-admin/src/main/java/com/srs/web/controller/dormitory/DmsOutsideAccommodationAttachmentController.java @@ -0,0 +1,110 @@ +package com.srs.web.controller.dormitory; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.*; +import org.springframework.security.access.prepost.PreAuthorize; + +import com.srs.dormitory.domain.DmsOutsideAccommodationAttachment; +import com.srs.dormitory.service.IDmsOutsideAccommodationAttachmentService; +import com.srs.common.core.controller.BaseController; +import com.srs.common.core.domain.AjaxResult; +import com.srs.common.utils.poi.ExcelUtil; +import com.srs.common.enums.BusinessType; +import com.srs.common.annotation.Log; +import com.srs.common.core.page.TableDataInfo; + +/** + * 外宿申请附件Controller + * + * @author srs + * @date 2025-12-05 + */ +@RestController +@RequestMapping("/dormitory/outsideAccommodationAttachment") +@Api(value = "外宿申请附件管理", tags = "外宿申请附件管理") +public class DmsOutsideAccommodationAttachmentController extends BaseController { + @Autowired + private IDmsOutsideAccommodationAttachmentService dmsOutsideAccommodationAttachmentService; + + /** + * 查询外宿申请附件列表 + */ +@PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationAttachment:list')") +@GetMapping("/list") +@ApiOperation("查询外宿申请附件列表") + public TableDataInfo list(DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment) + { + startPage(); + List list = dmsOutsideAccommodationAttachmentService.selectDmsOutsideAccommodationAttachmentList(dmsOutsideAccommodationAttachment); + return getDataTable(list); + } + + /** + * 导出外宿申请附件列表 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationAttachment:export')") + @Log(title = "外宿申请附件", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("导出外宿申请附件列表") + public void export(HttpServletResponse response, DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment) + { + List list = dmsOutsideAccommodationAttachmentService.selectDmsOutsideAccommodationAttachmentList(dmsOutsideAccommodationAttachment); + ExcelUtil util = new ExcelUtil(DmsOutsideAccommodationAttachment.class); + util.exportExcel(response, list, "外宿申请附件数据"); + } + + /** + * 获取外宿申请附件详细信息 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationAttachment:query')") + @GetMapping(value = "/{id}") + @ApiOperation("获取外宿申请附件详细信息") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(dmsOutsideAccommodationAttachmentService.selectDmsOutsideAccommodationAttachmentById(id)); + } + + /** + * 新增外宿申请附件 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationAttachment:add')") + @Log(title = "外宿申请附件", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ApiOperation("新增外宿申请附件") + public AjaxResult add(@RequestBody DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment) + { + return toAjax(dmsOutsideAccommodationAttachmentService.insertDmsOutsideAccommodationAttachment(dmsOutsideAccommodationAttachment)); + } + + /** + * 修改外宿申请附件 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationAttachment:edit')") + @Log(title = "外宿申请附件", businessType = BusinessType.UPDATE) + @PostMapping("/update") + @ApiOperation("修改外宿申请附件") + public AjaxResult edit(@RequestBody DmsOutsideAccommodationAttachment dmsOutsideAccommodationAttachment) + { + return toAjax(dmsOutsideAccommodationAttachmentService.updateDmsOutsideAccommodationAttachment(dmsOutsideAccommodationAttachment)); + } + + /** + * 删除外宿申请附件 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationAttachment:remove')") + @Log(title = "外宿申请附件", businessType = BusinessType.DELETE) + @PostMapping("/{ids}") + @ApiOperation("删除外宿申请附件") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(dmsOutsideAccommodationAttachmentService.deleteDmsOutsideAccommodationAttachmentByIds(ids)); + } +} diff --git a/srs-admin/src/main/java/com/srs/web/controller/dormitory/SrsDormitoryStudentController.java b/srs-admin/src/main/java/com/srs/web/controller/dormitory/SrsDormitoryStudentController.java index 6c3e207..746513a 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/dormitory/SrsDormitoryStudentController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/dormitory/SrsDormitoryStudentController.java @@ -181,6 +181,9 @@ public class SrsDormitoryStudentController extends BaseController { if (hasRole) { DomInfo dorm = _dormService.getDormHas(dto.getDormitoryId()); SrsStudent stu = _stuService.getStuInfo(dto.getStuNo()); + if (stu == null) { + return AjaxResult.error("学号不存在"); + } QueryWrapper query = new QueryWrapper<>(); query.eq("stu_no", dto.getStuNo()); SrsDormitoryStudent find = srsDormitoryStudentService.getOne(query); @@ -229,6 +232,9 @@ public class SrsDormitoryStudentController extends BaseController { public AjaxResult addCheckInInformation(@RequestBody StudentDormitoryDto dto) { DomInfo dorm = _dormService.getDormHas(dto.getDormitoryId()); SrsStudent stu = _stuService.getStuInfo(dto.getStuNo()); + if (stu == null) { + return AjaxResult.error("学号不存在"); + } QueryWrapper query = new QueryWrapper<>(); query.eq("stu_no", dto.getStuNo()); SrsDormitoryStudent find = srsDormitoryStudentService.getOne(query); @@ -331,7 +337,8 @@ public class SrsDormitoryStudentController extends BaseController { @PostMapping("/update") public AjaxResult update(@RequestBody StudentDormitoryDto studentDormitoryDto) { SrsDormitoryStudent dormitoryStudent = new SrsDormitoryStudent(); - if(studentDormitoryDto.getIsInStudentsleep().equals("否")||studentDormitoryDto.getIsInStudentsleep().equals("外宿")||studentDormitoryDto.getIsInStudentsleep().equals("外出实习")){ + String sleep = studentDormitoryDto.getIsInStudentsleep(); + if("否".equals(sleep) || "外宿".equals(sleep) || "外出实习".equals(sleep)){ dormitoryStudent.setId(studentDormitoryDto.getId()); dormitoryStudent.setDormitoryId(null); dormitoryStudent.setBedId(null); @@ -339,9 +346,13 @@ public class SrsDormitoryStudentController extends BaseController { dormitoryStudent.setIsDormitoryHead(0); dormitoryStudent.setStatus(0); dormitoryStudent.setCheckinTime(null); - dormitoryStudent.setIsInStudentsleep(studentDormitoryDto.getIsInStudentsleep()); + dormitoryStudent.setIsInStudentsleep(sleep); }else{ - dormitoryStudent.setCheckinTime(studentDormitoryDto.getCheckinTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); + if (studentDormitoryDto.getCheckinTime() != null) { + dormitoryStudent.setCheckinTime(studentDormitoryDto.getCheckinTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()); + } else { + dormitoryStudent.setCheckinTime(null); + } BeanUtils.copyProperties(studentDormitoryDto, dormitoryStudent); } //boolean b = srsDormitoryStudentService.updateById(dormitoryStudent); diff --git a/srs-admin/src/main/java/com/srs/web/controller/routine/RtEnlistmentReserveController.java b/srs-admin/src/main/java/com/srs/web/controller/routine/RtEnlistmentReserveController.java index 6808230..669acb8 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/routine/RtEnlistmentReserveController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/routine/RtEnlistmentReserveController.java @@ -3,6 +3,7 @@ package com.srs.web.controller.routine; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.srs.dormitory.domain.DmsOutsideAccommodationApply; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -112,4 +113,29 @@ public class RtEnlistmentReserveController extends BaseController { public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(rtEnlistmentReserveService.deleteRtEnlistmentReserveByIds(ids)); } + + + /** + * 新增外宿申请 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApply:add')") + @Log(title = "外宿申请", businessType = BusinessType.INSERT) + @PostMapping("/outsideAccommodationApply/add") + @ApiOperation("新增外宿申请") + public AjaxResult add(@RequestBody DmsOutsideAccommodationApply dmsOutsideAccommodationApply) + { + return success(rtEnlistmentReserveService.insertDmsOutsideAccommodationApply(dmsOutsideAccommodationApply)); + } + + /** + * 修改外宿申请 + */ + @PreAuthorize("@ss.hasPermi('dormitory:outsideAccommodationApply:edit')") + @Log(title = "外宿申请", businessType = BusinessType.UPDATE) + @PostMapping("/outsideAccommodationApply/update") + @ApiOperation("修改外宿申请") + public AjaxResult edit(@RequestBody DmsOutsideAccommodationApply dmsOutsideAccommodationApply) + { + return toAjax(rtEnlistmentReserveService.updateDmsOutsideAccommodationApply(dmsOutsideAccommodationApply)); + } } diff --git a/srs-admin/src/main/java/com/srs/web/controller/routine/SysDisBasicController.java b/srs-admin/src/main/java/com/srs/web/controller/routine/SysDisBasicController.java index 22f1ec5..24d05a7 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/routine/SysDisBasicController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/routine/SysDisBasicController.java @@ -1,8 +1,20 @@ package com.srs.web.controller.routine; +import java.io.IOException; +import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.srs.common.utils.poi.ExcelExp; +import com.srs.common.utils.poi.ExcelUtilManySheet; +import com.srs.routine.domain.SysDisMate; +import com.srs.routine.domain.dto.SysDisBasicDao; +import com.srs.routine.domain.dto.SysDisMateDao; +import com.srs.teacher.domain.SysPerformance; +import com.srs.teacher.domain.SysTeacherThesis; +import com.srs.teacher.domain.dto.SysPerformanceDao; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -34,6 +46,9 @@ public class SysDisBasicController extends BaseController { @Autowired private ISysDisBasicService sysDisBasicService; + @Value("${srs.url}") + private String baseUrl; + /** * 查询退伍复学申请列表 */ @@ -54,11 +69,61 @@ public class SysDisBasicController extends BaseController { @Log(title = "退伍复学申请", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation("导出退伍复学申请列表") - public void export(HttpServletResponse response, SysDisBasic sysDisBasic) - { + public void export(HttpServletResponse response, SysDisBasic sysDisBasic) throws IOException { List list = sysDisBasicService.selectSysDisBasicList(sysDisBasic); - ExcelUtil util = new ExcelUtil(SysDisBasic.class); - util.exportExcel(response, list, "退伍复学申请数据"); +// 基础材料 + List sysDisBasicDaos = new ArrayList<>(); +// 转专业 + List sysDisMateDaos = new ArrayList<>(); + +// 基础材料 + for (SysDisBasic item : list){ + SysDisBasicDao dao = new SysDisBasicDao(); + dao.setStId(item.getStId()); + dao.setStName(item.getStName()); + dao.setCollege(item.getCollege()); + dao.setSex(item.getSex()); + dao.setNations(item.getNations()); + dao.setStClass(item.getStClass()); + dao.setMajors(item.getMajors()); + dao.setGrade(item.getGrade()); + dao.setCollege(item.getCollege()); + dao.setReasons(item.getReasons()); + dao.setConversion(item.getConversion()); + + + sysDisBasicDaos.add(dao); + } + +// 转专业材料 + for(SysDisBasic item :list){ + SysDisMateDao dao1 = new SysDisMateDao(); + dao1.setStId(item.getStId()); + dao1.setStName(item.getStName()); + dao1.setCollege(item.getCollege()); + for (SysDisMate mate : item.getMaList()){ + dao1.setOldgrade(mate.getOldgrade()); + dao1.setOldmajor(mate.getOldmajor()); + dao1.setNewgrade(mate.getNewgrade()); + dao1.setNewmajor(mate.getNewmajor()); + dao1.setProof(baseUrl.substring(0,baseUrl.length()-1) + mate.getProof()); + dao1.setIdcard(baseUrl.substring(0,baseUrl.length()-1) + mate.getIdcard()); + dao1.setMaterial(baseUrl.substring(0,baseUrl.length()-1) + mate.getMaterial()); + } + sysDisMateDaos.add(dao1); + } + + ExcelExp e1 = new ExcelExp("基础材料", sysDisBasicDaos, SysDisBasicDao.class); + ExcelExp e2 = new ExcelExp("转专业材料", sysDisMateDaos, SysDisMateDao.class); + List mysheet = new ArrayList(); + mysheet.add(e1); + mysheet.add(e2); + ExcelUtilManySheet> util2 = new ExcelUtilManySheet>(mysheet); + util2.exportExcelManySheet(response, mysheet); + +// ExcelUtil util = new ExcelUtil(SysDisBasic.class); +// util.exportExcel(response, list, "退伍复学申请数据"); + } /** @@ -72,6 +137,23 @@ public class SysDisBasicController extends BaseController { return success(sysDisBasicService.selectSysDisBasicById(id)); } +// 根据学号查询信息 + @PreAuthorize("@ss.hasPermi('routine:basic:query')") + @GetMapping(value = "/name/{stName}") + public AjaxResult getStNameInfo(@PathVariable("stName") String stName) + { + return success(sysDisBasicService.selectSysDisBasicByStName(stName)); + } + +// 根据流程ID查询流程信息 +// selectSysDisBasicByProcessInstanceId + @PreAuthorize("@ss.hasPermi('routine:basic:query')") + @GetMapping(value = "/processId/{processId}") + public AjaxResult getProcessId(@PathVariable("processId") String processId) + { + return success(sysDisBasicService.selectSysDisBasicByProcessInstanceId(processId)); + } + /** * 新增退伍复学申请 */ diff --git a/srs-admin/src/main/resources/application.yml b/srs-admin/src/main/resources/application.yml index e874272..efab106 100644 --- a/srs-admin/src/main/resources/application.yml +++ b/srs-admin/src/main/resources/application.yml @@ -15,7 +15,7 @@ srs: addressEnabled: false # 验证码类型 math 数组计算 char 字符验证 captchaType: math - url: http://zhxg:gxsdxy.cn/srs/prod_api/ + url: https://zhxg.gxsdxy.cn/srs/prod_api/ # 开发环境配置 @@ -81,15 +81,15 @@ spring: # redis 配置 redis: # 地址 -# host: localhost #正式环境redis - host: 47.112.118.149 #测试开发地址 + host: localhost #正式环境redis +# host: 47.112.118.149 #测试开发地址 # 端口,默认为6379 port: 6379 # 数据库索引 database: 0 # 密码SSSS - password: Houpuyfb #测试开发密码 -# password: #正式环境密码 +# password: Houpuyfb #测试开发密码 + password: #正式环境密码 # 连接超时时间 timeout: 10s lettuce: @@ -180,15 +180,15 @@ app: casEnable: false server: host: - url: http://zhxgjava.gxsdxy.cn + url: https://zhxgjava.gxsdxy.cn #应用登录地址 login_url: / #应用登出地址 logout_url: /logout #前端登录地址 - web_url: http://zhxg.gxsdxy.cn/cas/#/index + web_url: https://zhxg.gxsdxy.cn/cas/#/index #移动端登录地址 - wab_url: http://zhxg.gxsdxy.cn/wab/#/pages/index/index + wab_url: https://zhxg.gxsdxy.cn/wab/ wechat: corpId: wx129e6bf0f36b8b3d secret: qoNhKNJc2vCeV0700u5d0F7wLFX2U_uUx3YC1PYuwL0 diff --git a/srs-common/src/main/java/com/srs/common/utils/WeChatUtil.java b/srs-common/src/main/java/com/srs/common/utils/WeChatUtil.java index b94a681..a6eaa5b 100644 --- a/srs-common/src/main/java/com/srs/common/utils/WeChatUtil.java +++ b/srs-common/src/main/java/com/srs/common/utils/WeChatUtil.java @@ -175,4 +175,33 @@ public class WeChatUtil { throw new RuntimeException("请求发送消息出错", e); } } + + /** + * 发送企业微信 Markdown 消息 + * @param toUser 接收用户,'|' 分隔 + * @param markdown Markdown 内容 + */ + public void sendMarkdownMessage(String toUser, String markdown) { + String accessToken = getAccessToken(); + String url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + accessToken; + + JSONObject msg = new JSONObject(); + msg.put("touser", toUser); + msg.put("msgtype", "markdown"); + msg.put("agentid", weChatConfig.getAgentId()); + + JSONObject md = new JSONObject(); + md.put("content", markdown); + msg.put("markdown", md); + + try { + String response = restTemplate.postForObject(url, msg, String.class); + JSONObject jsonResponse = JSONObject.parseObject(response); + if (jsonResponse.getIntValue("errcode") != 0) { + throw new RuntimeException("发送Markdown消息失败: " + jsonResponse.getString("errmsg")); + } + } catch (Exception e) { + throw new RuntimeException("请求发送Markdown消息出错", e); + } + } } diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/SrsStudent.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/SrsStudent.java index 0c18418..bdda339 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/SrsStudent.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/domain/SrsStudent.java @@ -80,6 +80,8 @@ public class SrsStudent extends BaseEntity }) @TableField(exist = false) private SysDept dept; + @TableField(exist = false) + private String deptName; @Excel(name = "年级") @TableField(exist = false) private String gradeName; @@ -114,7 +116,10 @@ public class SrsStudent extends BaseEntity @TableField(exist = false) // @NotNull("家庭地址") private String address; - + @TableField(exist = false) + private String stuYearName; + @TableField(exist = false) + private String needMoney; /** 状态(0正常 */ @Excel(name = "状态", diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsMajorsMapper.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsMajorsMapper.java index c57a7d2..f6e2f5f 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsMajorsMapper.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsMajorsMapper.java @@ -23,7 +23,7 @@ public interface SrsMajorsMapper extends EasyBaseMapper * @return 【请填写功能名称】 */ public SrsMajors selectSrsMajorsByMajorId(Long majorId); - + public SrsMajors getOwnMajorName(String stuNo); //根据专业名获取专业id public Long getMajorIdByName(String name); /** diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStudentMapper.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStudentMapper.java index 94c46de..4b95355 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStudentMapper.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStudentMapper.java @@ -68,11 +68,12 @@ public interface SrsStudentMapper extends EasyBaseMapper /** * 通过学号查询信息 * - * @param stuNO 学号 + * @param stuNo 学号 * @return 学生信息 */ - public SrsStudent selectSrsStudentByStuNo(String stuNO); + public SrsStudent selectSrsStudentByStuNo(String stuNo); + public SrsStudent selectSrsStudentByStuNoNew(String stuNo); /** * 连表查询 * diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsZxjApplyMapper.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsZxjApplyMapper.java index d1092cd..b766564 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsZxjApplyMapper.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsZxjApplyMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import com.srs.comprehensive.domain.SrsZxjApply; import com.srs.comprehensive.domain.Vo.CphSearch; @@ -107,4 +108,9 @@ public interface SrsZxjApplyMapper extends BaseMapper { int updateFdySignature(CphSearch cphSearch); int updateEjxySignature(CphSearch cphSearch); int updateScSignature(CphSearch cphSearch); + + /** + * 仅更新申请理由(sqly) + */ + int updateSqly(@Param("id") Long id, @Param("sqly") String sqly); } diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsMajorsService.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsMajorsService.java index 19645a9..8d157c8 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsMajorsService.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsMajorsService.java @@ -70,4 +70,7 @@ public interface ISrsMajorsService void sqlserverSynchronousMYSQL(List list); //根据专业名称获取专业id public Long getMajorIdByName(String name); + //获取学生的专业名称 + public SrsMajors getOwnMajorName(String stuNo); + } diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsStudentService.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsStudentService.java index bda1f3d..04410a4 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsStudentService.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsStudentService.java @@ -43,7 +43,9 @@ public interface ISrsStudentService extends IService List countGoodBiyeGradeStu(); List countDeptGradeStu(); + List countDeptStu(); + public AjaxResult changeStuInfo( SrsStudent param); public SrsStudent getStuInfo(String stuNo); @@ -56,9 +58,14 @@ public interface ISrsStudentService extends IService */ public SrsStudent selectSrsStudentByStuId(Long stuId); + public SrsStudent getSrsStudentByStuNo(String stuNo); + + public SrsStudent getSrsStudentByStuNoNew(String stuNo); + public List listEnableStu(); public StuClass getOwnClass(String stuNo); + public List statusList(); /** diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsZxjApplyService.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsZxjApplyService.java index 09fd3ec..2502b8e 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsZxjApplyService.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/ISrsZxjApplyService.java @@ -95,4 +95,9 @@ public interface ISrsZxjApplyService extends IService { List countXw(CphSearch param); int updateSignature(CphSearch cphSearch); + + /** + * 仅更新申请理由(sqly) + */ + int updateSqly(Long id, String sqly); } diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/KnzzTufaApplyServiceImpl.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/KnzzTufaApplyServiceImpl.java index 768646f..66984c6 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/KnzzTufaApplyServiceImpl.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/KnzzTufaApplyServiceImpl.java @@ -47,9 +47,9 @@ public class KnzzTufaApplyServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", apply.getId()) // 需要重置的审批流程相关字段 @@ -225,9 +225,9 @@ public class KnzzTufaApplyServiceImpl extends ServiceImpl res = srsStudentMapper.getOwnClass(stuNo); diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsZxjApplyServiceImpl.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsZxjApplyServiceImpl.java index 012871b..ea77bf5 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsZxjApplyServiceImpl.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/service/impl/SrsZxjApplyServiceImpl.java @@ -334,4 +334,9 @@ public class SrsZxjApplyServiceImpl extends ServiceImpl diff --git a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsKnrdApplyMapper.xml b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsKnrdApplyMapper.xml index e1618ae..0bc4f90 100644 --- a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsKnrdApplyMapper.xml +++ b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsKnrdApplyMapper.xml @@ -192,7 +192,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select * from srs_knrd_apply + select t.knrd_type as knlx, a.* + from srs_knrd_apply as a + left join srs_knrd_type as t + on t.stu_no = a.xh + and t.stu_year_id = a.stu_year_id - where id = #{id} + where a.id = #{id} + diff --git a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsStudentMapper.xml b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsStudentMapper.xml index 7a58159..6e197b9 100644 --- a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsStudentMapper.xml +++ b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsStudentMapper.xml @@ -28,6 +28,7 @@ + @@ -200,7 +201,7 @@ where stu_id = #{stuId} - where stu_no = #{stuNo} @@ -729,7 +730,7 @@ total_count, male_count, female_count - from (select left (AES_DECRYPT(UNHEX(id_card), 'zhxg'), 4) as id_card, count(1) as total_count, sum(case when gender='男' then 1 else 0 end) as male_count, sum(case when gender='女' then 1 else 0 end) as female_count + from (select left (AES_DECRYPT(UNHEX(id_card), 'zhxg'), 4) as id_card, count (1) as total_count, sum (case when gender='男' then 1 else 0 end) as male_count, sum (case when gender='女' then 1 else 0 end) as female_count from srs_student d left join srs_class e on d.class_id=e.class_id left join srs_grade f on f.grade_id=e.grade_id @@ -749,7 +750,7 @@ order by grade_code desc + diff --git a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsZxjApplyMapper.xml b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsZxjApplyMapper.xml index d9cb126..46f1054 100644 --- a/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsZxjApplyMapper.xml +++ b/srs-comprehensive/src/main/resources/mapper/comprehensive/SrsZxjApplyMapper.xml @@ -75,79 +75,90 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, step, xm, xb, mz, zzmm, xh, rxsj, csny, dh, nj, xy, zy, bj, kndj, knlx, knlx2, rkzs, yzsr, rjyr, srly, jtcy, sqly, fdyqm, fdyqmrq, ejxyldqm, ejxyldqmrq, xsqm, xsqmrq, csdj, zzdj, zzls, zp,affix_id,status1,status2,status3,dz,yb,xxyjrq,apply_year,locked,level, - EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = srs_zxj_apply.xh and (penalty_status = 0 or penalty_status = 2)) as penalty_status0, - EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = srs_zxj_apply.xh and (penalty_status = 1 )) as penalty_status1, - EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = srs_zxj_apply.xh and (penalty_status = 3 )) as penalty_status3, - sfzhm, - gyhd, - bankCard, - bankAddr, - rjnsr, - bjyj, - bjyjdj, - ejxyyj, - ejxyyjdj, - xxyj, - xxqm, - stu_year_id,fdygh,fdymc,ejxyldmc,ejxyldgh,xxmc,xxgh - - - from srs_zxj_apply - + select a.id, a.step, a.xm, a.xb, a.mz, a.zzmm, a.xh, a.rxsj, a.csny, a.dh, a.nj, a.xy, a.zy, a.bj, a.kndj, + t.knrd_type as knlx, + a.knlx2, a.rkzs, a.yzsr, a.rjyr, a.srly, a.jtcy, a.sqly, a.fdyqm, a.fdyqmrq, a.ejxyldqm, a.ejxyldqmrq, + a.xsqm, a.xsqmrq, a.csdj, a.zzdj, a.zzls, a.zp, a.affix_id, a.status1, a.status2, a.status3, a.dz, a.yb, + a.xxyjrq, a.apply_year, a.locked, a.level, + EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = a.xh and (penalty_status = 0 or penalty_status = 2)) as penalty_status0, + EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = a.xh and (penalty_status = 1 )) as penalty_status1, + EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = a.xh and (penalty_status = 3 )) as penalty_status3, + a.sfzhm, + a.gyhd, + a.bankCard, + a.bankAddr, + a.rjnsr, + a.bjyj, + a.bjyjdj, + a.ejxyyj, + a.ejxyyjdj, + a.xxyj, + a.xxqm, + a.stu_year_id, a.fdygh, a.fdymc, a.ejxyldmc, a.ejxyldgh, a.xxmc, a.xxgh + from srs_zxj_apply as a + left join srs_knrd_type as t + on t.stu_no = a.xh + and t.stu_year_id = a.stu_year_id + + + + update srs_zxj_apply + set sqly = #{sqly} + where id = #{id} + + + + and apply_no = #{applyNo} + and student_id = #{studentId} + and student_no = #{studentNo} + and student_name like concat('%', #{studentName}, + '%') + + and gender = #{gender} + and birth_date = #{birthDate} + and dept_id = #{deptId} + and dept_name like concat('%', #{deptName}, '%') + and major_id = #{majorId} + and major_name like concat('%', #{majorName}, '%') + and class_id = #{classId} + and class_name like concat('%', #{className}, '%') + and original_dormitory = + #{originalDormitory} + + and accommodation_fee = + #{accommodationFee} + + and accommodation_fee_status = #{accommodationFeeStatus} + and apply_reason = #{applyReason} + and outside_address = #{outsideAddress} + and address = #{address} + and emergency_phone = #{emergencyPhone} + and emergency_contact = + #{emergencyContact} + + and parent_opinion = #{parentOpinion} + and parent_sign_attachment = + #{parentSignAttachment} + + and parent_phone = #{parentPhone} + and parent_address = #{parentAddress} + and parent_detail_address = + #{parentDetailAddress} + + and student_promise_sign = + #{studentPromiseSign} + + and promise_date = #{promiseDate} + and start_date = #{startDate} + and end_date = #{endDate} + and status = #{status} + and reject_reason = #{rejectReason} + and is_valid = #{isValid} + and teacher_name like concat('%', #{teacherName}, + '%') + + and affix_id = #{affixId} + and deploy_id = #{deployId} + and process_instance_id = + #{processInstanceId} + + and idCard = #{idCard} + and studentPhone = #{studentPhone} + and student_signature = + #{studentSignature} + + + + + + + + + + + + + + + + + + + insert into dms_outside_accommodation_apply + + apply_no, + student_id, + student_no, + student_name, + gender, + birth_date, + dept_id, + dept_name, + major_id, + major_name, + class_id, + class_name, + original_dormitory, + accommodation_fee, + accommodation_fee_status, + apply_reason, + outside_address, + address, + emergency_phone, + emergency_contact, + parent_opinion, + parent_sign_attachment, + parent_phone, + parent_address, + parent_detail_address, + student_promise_sign, + promise_date, + start_date, + end_date, + status, + reject_reason, + create_time, + create_by, + update_time, + update_by, + is_valid, + teacher_name, + affix_id, + deploy_id, + process_instance_id, + idCard, + studentPhone, + student_signature, + + + #{applyNo}, + #{studentId}, + #{studentNo}, + #{studentName}, + #{gender}, + #{birthDate}, + #{deptId}, + #{deptName}, + #{majorId}, + #{majorName}, + #{classId}, + #{className}, + #{originalDormitory}, + #{accommodationFee}, + #{accommodationFeeStatus}, + #{applyReason}, + #{outsideAddress}, + #{address}, + #{emergencyPhone}, + #{emergencyContact}, + #{parentOpinion}, + #{parentSignAttachment}, + #{parentPhone}, + #{parentAddress}, + #{parentDetailAddress}, + #{studentPromiseSign}, + #{promiseDate}, + #{startDate}, + #{endDate}, + #{status}, + #{rejectReason}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{updateBy}, + #{isValid}, + #{teacherName}, + #{affixId}, + #{deployId}, + #{processInstanceId}, + #{idCard}, + #{studentPhone}, + #{studentSignature}, + + + + + update dms_outside_accommodation_apply + + apply_no = #{applyNo}, + student_id = #{studentId}, + student_no = #{studentNo}, + student_name = #{studentName}, + gender = #{gender}, + birth_date = #{birthDate}, + dept_id = #{deptId}, + dept_name = #{deptName}, + major_id = #{majorId}, + major_name = #{majorName}, + class_id = #{classId}, + class_name = #{className}, + original_dormitory = + #{originalDormitory}, + + accommodation_fee = #{accommodationFee}, + accommodation_fee_status = #{accommodationFeeStatus}, + apply_reason = #{applyReason}, + outside_address = #{outsideAddress}, + address = #{address}, + emergency_phone = #{emergencyPhone}, + emergency_contact = #{emergencyContact}, + parent_opinion = #{parentOpinion}, + parent_sign_attachment = + #{parentSignAttachment}, + + parent_phone = #{parentPhone}, + parent_address = #{parentAddress}, + parent_detail_address = + #{parentDetailAddress}, + + student_promise_sign = + #{studentPromiseSign}, + + promise_date = #{promiseDate}, + start_date = #{startDate}, + end_date = #{endDate}, + status = #{status}, + reject_reason = #{rejectReason}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + is_valid = #{isValid}, + teacher_name = #{teacherName}, + affix_id = #{affixId}, + deploy_id = #{deployId}, + process_instance_id = #{processInstanceId}, + idCard = #{idCard}, + studentPhone = #{studentPhone}, + student_signature = #{studentSignature}, + + where id = #{id} + + + + delete + from dms_outside_accommodation_apply + where id = #{id} + + + + delete from dms_outside_accommodation_apply where id in + + #{id} + + + \ No newline at end of file diff --git a/srs-flowable/src/main/resources/mapper/OutsideAccommodationApprovalMapper.xml b/srs-flowable/src/main/resources/mapper/OutsideAccommodationApprovalMapper.xml new file mode 100644 index 0000000..cc4d0d9 --- /dev/null +++ b/srs-flowable/src/main/resources/mapper/OutsideAccommodationApprovalMapper.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + select id, apply_id, apply_no, approval_node, approver_id, approver_name, approver_role, approval_opinion, approval_result, approval_time, process_instance_id, student_name, student_no from dms_outside_accommodation_approval + + + + + + + + + + insert into dms_outside_accommodation_approval + + apply_id, + apply_no, + approval_node, + approver_id, + approver_name, + approver_role, + approval_opinion, + approval_result, + approval_time, + process_instance_id, + student_name, + student_no, + + + #{applyId}, + #{applyNo}, + #{approvalNode}, + #{approverId}, + #{approverName}, + #{approverRole}, + #{approvalOpinion}, + #{approvalResult}, + #{approvalTime}, + #{processInstanceId}, + #{studentName}, + #{studentNo}, + + + + + update dms_outside_accommodation_approval + + apply_id = #{applyId}, + apply_no = #{applyNo}, + approval_node = #{approvalNode}, + approver_id = #{approverId}, + approver_name = #{approverName}, + approver_role = #{approverRole}, + approval_opinion = #{approvalOpinion}, + approval_result = #{approvalResult}, + approval_time = #{approvalTime}, + process_instance_id = #{processInstanceId}, + student_name = #{studentName}, + student_no = #{studentNo}, + + where id = #{id} + + + + delete from dms_outside_accommodation_approval where id = #{id} + + + + delete from dms_outside_accommodation_approval where id in + + #{id} + + + \ No newline at end of file diff --git a/srs-framework/src/main/java/com/srs/framework/config/SecurityConfig.java b/srs-framework/src/main/java/com/srs/framework/config/SecurityConfig.java index b70fccc..8cbfd3d 100644 --- a/srs-framework/src/main/java/com/srs/framework/config/SecurityConfig.java +++ b/srs-framework/src/main/java/com/srs/framework/config/SecurityConfig.java @@ -20,6 +20,8 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer; import org.springframework.security.config.http.SessionCreationPolicy; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; @@ -38,6 +40,7 @@ import com.srs.framework.security.handle.LogoutSuccessHandlerImpl; */ @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) public class SecurityConfig extends WebSecurityConfigurerAdapter { + private static final Logger log = LoggerFactory.getLogger(SecurityConfig.class); @Autowired private CasProperties casProperties; @@ -232,7 +235,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { @Bean public ServiceProperties serviceProperties() { ServiceProperties serviceProperties = new ServiceProperties(); - serviceProperties.setService(casProperties.getAppServerUrl() + casProperties.getAppLoginUrl()); + String service = casProperties.getAppServerUrl() + casProperties.getAppLoginUrl(); + serviceProperties.setService(service); + log.info("cas_service=" + service); serviceProperties.setAuthenticateAllArtifacts(true); return serviceProperties; } diff --git a/srs-framework/src/main/java/com/srs/framework/security/handle/CasAuthenticationSuccessHandler.java b/srs-framework/src/main/java/com/srs/framework/security/handle/CasAuthenticationSuccessHandler.java index 801f301..c7d23da 100644 --- a/srs-framework/src/main/java/com/srs/framework/security/handle/CasAuthenticationSuccessHandler.java +++ b/srs-framework/src/main/java/com/srs/framework/security/handle/CasAuthenticationSuccessHandler.java @@ -27,7 +27,7 @@ import java.io.PrintWriter; @Service public class CasAuthenticationSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler { - protected final Log logger = LogFactory.getLog(this.getClass()); + protected final Log logger = LogFactory.getLog(this.getClass()); private RequestCache requestCache = new HttpSessionRequestCache(); @@ -71,7 +71,7 @@ public class CasAuthenticationSuccessHandler extends SavedRequestAwareAuthentica // httpSession.setAttribute(Constants.CAS_TOKEN, token); // //登录成功后跳转到前端登录页面 // if(com.srs.common.utils.StringUtils.isNotNull(qqtype)){ -// String webindex="http://zhxg.gxsdxy.cn/hh/#/pages/index/index"; +// String webindex="https://zhxg.gxsdxy.cn/hh/#/pages/index/index"; // getRedirectStrategy().sendRedirect(request, response, casProperties.getWebUrl()+"?jwt="+token); // }else{ // getRedirectStrategy().sendRedirect(request, response, casProperties.getWebUrl()+"?jwt="+token); @@ -105,7 +105,8 @@ public class CasAuthenticationSuccessHandler extends SavedRequestAwareAuthentica // httpSession.setAttribute(Constants.CAS_TOKEN, token); // // 登录成功后跳转到前端登录页面 // if (isMobileDevice(request)) { -//// String webindex = "http://zhxg.gxsdxy.cn/wab/#/pages/index/index"; + + /// / String webindex = "https://zhxg.gxsdxy.cn/wab/#/pages/index/index"; // String waburl = casProperties.getWabUrl()+"?jwt="+ token; // getRedirectStrategy().sendRedirect(request, response, waburl); // } else { @@ -113,51 +114,54 @@ public class CasAuthenticationSuccessHandler extends SavedRequestAwareAuthentica // getRedirectStrategy().sendRedirect(request, response, weburl); // } // } - @Override -public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, - Authentication authentication) throws ServletException, IOException { - String targetUrlParameter = getTargetUrlParameter(); - if (isAlwaysUseDefaultTargetUrl() - || (targetUrlParameter != null && StringUtils.hasText(request.getParameter(targetUrlParameter)))) { - requestCache.removeRequest(request, response); - super.onAuthenticationSuccess(request, response, authentication); - return; + public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, + Authentication authentication) throws ServletException, IOException { + String targetUrlParameter = getTargetUrlParameter(); + if (isAlwaysUseDefaultTargetUrl() + || (targetUrlParameter != null && StringUtils.hasText(request.getParameter(targetUrlParameter)))) { + requestCache.removeRequest(request, response); + super.onAuthenticationSuccess(request, response, authentication); + return; + } + clearAuthenticationAttributes(request); + LoginUser userDetails = (LoginUser) authentication.getPrincipal(); + String token = tokenService.createToken(userDetails); + + // 设置后端认证成功标识 + HttpSession httpSession = request.getSession(); + httpSession.setAttribute(Constants.CAS_TOKEN, token); + + // 构造跳转 URL + String ua = request.getHeader("User-Agent"); + String referer = request.getHeader("Referer"); + String requestUrl = request.getRequestURL().toString(); + String redirectUrl; + if (isMobileDevice(request)) { + redirectUrl = casProperties.getWabUrl() + "?jwt=" + token; + } else { + redirectUrl = casProperties.getWebUrl() + "?jwt=" + token; + } + logger.info("cas_login_success ua=" + ua + " referer=" + referer + " requestUrl=" + requestUrl + " redirectUrl=" + redirectUrl); + + // 使用客户端 JS 跳转替代 sendRedirect + response.setContentType("text/html;charset=UTF-8"); + PrintWriter writer = response.getWriter(); + writer.write("\n" + + "\n" + + "\n" + + " \n" + + " Redirecting...\n" + + " \n" + + "\n" + + "\n" + + "

正在跳转,请稍候...

\n" + + "\n" + + ""); + writer.flush(); } - clearAuthenticationAttributes(request); - LoginUser userDetails = (LoginUser) authentication.getPrincipal(); - String token = tokenService.createToken(userDetails); - - // 设置后端认证成功标识 - HttpSession httpSession = request.getSession(); - httpSession.setAttribute(Constants.CAS_TOKEN, token); - - // 构造跳转 URL - String redirectUrl; - if (isMobileDevice(request)) { - redirectUrl = casProperties.getWabUrl() + "?jwt=" + token; - } else { - redirectUrl = casProperties.getWebUrl() + "?jwt=" + token; - } - - // 使用客户端 JS 跳转替代 sendRedirect - response.setContentType("text/html;charset=UTF-8"); - PrintWriter writer = response.getWriter(); - writer.write("\n" + - "\n" + - "\n" + - " \n" + - " Redirecting...\n" + - " \n" + - "\n" + - "\n" + - "

正在跳转,请稍候...

\n" + - "\n" + - ""); - writer.flush(); -} private boolean isMobileDevice(HttpServletRequest request) { @@ -165,7 +169,7 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo if (userAgent == null) { return false; } - return userAgent.matches("(?i).*\\b(mobi|android|iphone|ipad|ipod)\\b.*"); + return userAgent.matches("(?i).*\\b(mobi|android|iphone|ipad|ipod|wxwork)\\b.*"); } } diff --git a/srs-quartz/pom.xml b/srs-quartz/pom.xml index 9af7518..1ae4448 100644 --- a/srs-quartz/pom.xml +++ b/srs-quartz/pom.xml @@ -29,10 +29,17 @@ + + + org.springframework + spring-context + + com.srs srs-common + 3.8.5 @@ -60,13 +67,15 @@ com.srs srs-routine 3.8.5 - compile com.srs srs-staff + 3.8.5 + + - \ No newline at end of file + diff --git a/srs-quartz/src/main/java/com/srs/quartz/config/testForConfig.java b/srs-quartz/src/main/java/com/srs/quartz/config/testForConfig.java index c6dd9df..109bd36 100644 --- a/srs-quartz/src/main/java/com/srs/quartz/config/testForConfig.java +++ b/srs-quartz/src/main/java/com/srs/quartz/config/testForConfig.java @@ -5,19 +5,13 @@ import com.srs.common.utils.DateUtils; import com.srs.comprehensive.domain.SrsStuYear; import com.srs.comprehensive.mapper.SrsStuYearMapper; import com.srs.comprehensive.service.ICphTestForService; -import com.srs.quartz.domain.SysJob; import com.srs.quartz.mapper.SysJobMapper; -import org.mybatis.logging.Logger; -import org.mybatis.logging.LoggerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import java.text.ParseException; import java.text.SimpleDateFormat; diff --git a/srs-routine/pom.xml b/srs-routine/pom.xml index e5d6c6e..93b8f3c 100644 --- a/srs-routine/pom.xml +++ b/srs-routine/pom.xml @@ -57,24 +57,7 @@ org.projectlombok lombok - - com.baomidou - mybatis-plus-annotation - 3.5.3.1 - compile - - - com.baomidou - mybatis-plus-core - 3.5.3.1 - compile - - - com.baomidou - mybatis-plus-extension - 3.5.3.1 - compile - + com.aliyun @@ -113,4 +96,4 @@ - \ No newline at end of file + diff --git a/srs-routine/src/main/java/com/srs/routine/domain/SysDisBasic.java b/srs-routine/src/main/java/com/srs/routine/domain/SysDisBasic.java index e8eebf6..6a91a60 100644 --- a/srs-routine/src/main/java/com/srs/routine/domain/SysDisBasic.java +++ b/srs-routine/src/main/java/com/srs/routine/domain/SysDisBasic.java @@ -369,6 +369,30 @@ private static final long serialVersionUID=1L; @Excel(name = "流程部署编号") private String deployId; + /** + * 学生编号 + */ + @ApiModelProperty("学生编号") + @TableField("student_id") + @Excel(name = "学生编号") + private Long studentId; + + /** + * 保留字段1 + */ + @ApiModelProperty("保留字段1") + @TableField("test_data") + @Excel(name = "保留字段1") + private String testData; + + /** + * 保留字段2 + */ + @ApiModelProperty("保留字段2") + @TableField("test_test") + @Excel(name = "保留字段2") + private String testTest; + /** * 退伍复学-填报材料 */ diff --git a/srs-routine/src/main/java/com/srs/routine/domain/dto/SysDisBasicDao.java b/srs-routine/src/main/java/com/srs/routine/domain/dto/SysDisBasicDao.java new file mode 100644 index 0000000..e888450 --- /dev/null +++ b/srs-routine/src/main/java/com/srs/routine/domain/dto/SysDisBasicDao.java @@ -0,0 +1,361 @@ +package com.srs.routine.domain.dto; + + +import com.srs.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.*; +import com.srs.routine.domain.SysDisMate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; +import com.srs.common.core.domain.BaseEntity; + +import java.util.List; + + +/** + * 退伍复学申请对象 sys_dis_basic + * + * @author srs + * @date 2025-11-06 + */ +@Data +@ApiModel("退伍复学申请") +public class SysDisBasicDao{ + private static final long serialVersionUID=1L; + + /** + * + */ + @Excel(name = "序号",isSeq = true) + private Long seq; + +// /** +// * 复学流程ID +// */ +// @ApiModelProperty("复学流程ID") +// @Excel(name = "复学流程ID") +// private String fxId; +// +// /** +// * 流程申请时间 +// */ +// @ApiModelProperty("流程申请时间") +// @Excel(name = "流程申请时间") +// private String fxTime; + + /** + * 学号 + */ + @ApiModelProperty("学号") + @Excel(name = "学号") + private String stId; + + /** + * 姓名 + */ + @ApiModelProperty("姓名") + @Excel(name = "姓名") + private String stName; + + + @ApiModelProperty("学院") + @Excel(name = "学院") + private String college; + + /** + * 辅导员名字 + */ +// @ApiModelProperty("辅导员名字") +// @Excel(name = "辅导员名字") +// private String fdName; + + /** + * 性别 + */ + @ApiModelProperty("性别") + @Excel(name = "性别") + private String sex; + + /** + * 民族 + */ + @ApiModelProperty("民族") + @Excel(name = "民族") + private String nations; + +// /** +// * $column.columnComment +// */ +// @ApiModelProperty("${column.columnComment}") +// @Excel(name = "辅导员签名" , readConverterExp = "$column.readConverterExp()") +// private String fdQm; +// +// /** +// * $column.columnComment +// */ +// @ApiModelProperty("${column.columnComment}") +// @Excel(name = "学务签名" , readConverterExp = "$column.readConverterExp()") +// private String xwQm; +// +// /** +// * $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("班级") + @Excel(name = "班级") + private String stClass; + + /** + * 专业 + */ + @ApiModelProperty("专业") + @Excel(name = "专业") + private String majors; + + /** + * 年级 + */ + @ApiModelProperty("年级") + @Excel(name = "年级") + private String grade; + + /** + * 学院 + */ + + + /** + * 原因 + */ + @ApiModelProperty("原因") + @Excel(name = "原因") + 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; + + /** + * 专业转换 + */ + @ApiModelProperty("专业转换") + @Excel(name = "专业转换") + private String conversion; + +// /** +// * 流程实例ID +// */ +// @ApiModelProperty("流程实例ID") +// @TableField("process_id") +// @Excel(name = "流程实例ID") +// private String processId; + +// /** +// * 流程部署编号 +// */ +// @ApiModelProperty("流程部署编号") +// @TableField("deploy_id") +// @Excel(name = "流程部署编号") +// private String deployId; + +// /** +// * 退伍复学-填报材料 +// */ +// @ApiModelProperty(value = "退伍复学-填报材料", hidden = true) +// @Excel(name = "退伍复学-填报材料") +// private List MaList; + +} + diff --git a/srs-routine/src/main/java/com/srs/routine/domain/dto/SysDisMateDao.java b/srs-routine/src/main/java/com/srs/routine/domain/dto/SysDisMateDao.java new file mode 100644 index 0000000..5e95791 --- /dev/null +++ b/srs-routine/src/main/java/com/srs/routine/domain/dto/SysDisMateDao.java @@ -0,0 +1,126 @@ +package com.srs.routine.domain.dto; + + +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; + + + +/** + * 退伍复学材料对象 sys_dis_mate + * + * @author srs + * @date 2025-11-12 + */ +@Data +@ApiModel("退伍复学材料") +public class SysDisMateDao { + private static final long serialVersionUID=1L; + + /** + * + */ + @Excel(name = "序号",isSeq = true) + private Long seq; + + /** + * 学号 + */ + @ApiModelProperty("学号") + @Excel(name = "学号") + private String stId; + + /** + * 姓名 + */ + @ApiModelProperty("姓名") + @Excel(name = "姓名") + private String stName; + + @ApiModelProperty("学院") + @Excel(name = "学院") + private String college; + + /** + * 时间 + */ +// @ApiModelProperty("时间") +// @Excel(name = "时间") +// private String times; + + /** + * 学院 + */ + + /** + * 原年级 + */ + @ApiModelProperty("原年级") + @Excel(name = "原年级") + private String oldgrade; + + /** + * 原专业 + */ + @ApiModelProperty("原专业") + @Excel(name = "原专业") + private String oldmajor; + + /** + * 新年级 + */ + @ApiModelProperty("新年级") + @Excel(name = "新年级") + private String newgrade; + + /** + * 新专业 + */ + @ApiModelProperty("新专业") + @Excel(name = "新专业") + private String newmajor; + + /** + * 退役证明 + */ + @ApiModelProperty("退役证明") + @Excel(name = "退役证明") + private String proof; + + /** + * 身份证 + */ + @ApiModelProperty("身份证") + @Excel(name = "身份证") + private String idcard; + + /** + * 材料 + */ + @ApiModelProperty("材料") + @Excel(name = "材料") + private String material; +// +// /** +// * 保留字段1 +// */ +// @ApiModelProperty("保留字段1") +// @TableField("data1") +// @Excel(name = "保留字段1") +// private String data1; +// +// /** +// * 保留字段2 +// */ +// @ApiModelProperty("保留字段2") +// @TableField("data2") +// @Excel(name = "保留字段2") +// private String data2; + + +} + diff --git a/srs-routine/src/main/java/com/srs/routine/mapper/SysDisBasicMapper.java b/srs-routine/src/main/java/com/srs/routine/mapper/SysDisBasicMapper.java index 4605834..1386431 100644 --- a/srs-routine/src/main/java/com/srs/routine/mapper/SysDisBasicMapper.java +++ b/srs-routine/src/main/java/com/srs/routine/mapper/SysDisBasicMapper.java @@ -24,6 +24,10 @@ public interface SysDisBasicMapper extends BaseMapper { public SysDisBasic selectSysDisBasicById(Long id); public SysDisBasic selectSysDisBasicByStId(@Param("stId") String stId); + + public SysDisBasic selectSysDisBasicByProcessInstanceId(@Param("processId") String processId); + + public SysDisBasic selectSysDisBasicByStName(@Param("stName") String stName); /** * 查询退伍复学申请列表 * diff --git a/srs-routine/src/main/java/com/srs/routine/service/IRtEnlistmentReserveService.java b/srs-routine/src/main/java/com/srs/routine/service/IRtEnlistmentReserveService.java index 24f4908..2424e9f 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/IRtEnlistmentReserveService.java +++ b/srs-routine/src/main/java/com/srs/routine/service/IRtEnlistmentReserveService.java @@ -3,6 +3,7 @@ package com.srs.routine.service; import java.util.List; import com.baomidou.mybatisplus.extension.service.IService; +import com.srs.dormitory.domain.DmsOutsideAccommodationApply; import com.srs.routine.domain.RtEnlistmentReserve; /** @@ -67,4 +68,21 @@ public interface IRtEnlistmentReserveService extends IService { */ public SysDisBasic selectSysDisBasicById(Long id); + public SysDisBasic selectSysDisBasicByStName(String stName); + + public SysDisBasic selectSysDisBasicByProcessInstanceId(String processId); + /** * 查询退伍复学申请列表 * @@ -28,6 +32,8 @@ public interface ISysDisBasicService extends IService { */ List selectSysDisBasicList(SysDisBasic sysDisBasic); + + /** * 新增退伍复学申请 * diff --git a/srs-routine/src/main/java/com/srs/routine/service/impl/NotificationManagementServiceImpl.java b/srs-routine/src/main/java/com/srs/routine/service/impl/NotificationManagementServiceImpl.java index d684ca6..8ab4fc9 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/impl/NotificationManagementServiceImpl.java +++ b/srs-routine/src/main/java/com/srs/routine/service/impl/NotificationManagementServiceImpl.java @@ -243,9 +243,59 @@ public class NotificationManagementServiceImpl extends ServiceImpl batch = studentNos.subList(i, Math.min(i + batchSize, studentNos.size())); // 拼接成"2023001|2023002|2023003"格式 String toUser = String.join("|", batch); - // 调用企业微信发送消息方法 - weChatUtil.sendTextMessage(toUser, content); + // 如果内容包含超链接标签,转换为 Markdown + String md = convertHtmlLinkToMarkdown(content); + + try { + if (md != null) { + weChatUtil.sendMarkdownMessage(toUser, md); + } else { + // 如果没有标签但包含 http 链接,直接发送文本也可点击 + weChatUtil.sendTextMessage(toUser, content); + } + } catch (Exception e) { + // 记录错误但不抛出异常,避免影响其他批次或后续流程 + System.err.println("批量发送企业微信消息失败 (batch " + i + "): " + e.getMessage()); + e.printStackTrace(); + } + } + } + /** + * 将单个 a 标签的 HTML 转为 Markdown 格式;不匹配返回 null + */ + private String convertHtmlLinkToMarkdown(String html) { + if (html == null) return null; + String lower = html.toLowerCase(); + if (!lower.contains("= 0 && (quoteStartSingle < 0 || quoteStart < quoteStartSingle)) { + qs = quoteStart; + qe = lower.indexOf("\"", qs + 1); + } else if (quoteStartSingle >= 0) { + qs = quoteStartSingle; + qe = lower.indexOf("'", qs + 1); + } + if (qs < 0 || qe < 0) return null; + String url = html.substring(qs + 1, qe).trim(); + int textStart = lower.indexOf(">", qe) + 1; + int textEnd = lower.indexOf("", textStart); + if (textStart <= 0 || textEnd <= textStart) return null; + String text = html.substring(textStart, textEnd).trim(); + // 其余文本去掉标签 + String before = html.substring(0, aStart).replaceAll("<[^>]+>", ""); + String after = html.substring(textEnd + 4).replaceAll("<[^>]+>", ""); + String mdLink = "[" + (text.isEmpty() ? url : text) + "](" + url + ")"; + return before + mdLink + after; + } catch (Exception e) { + return null; } } diff --git a/srs-routine/src/main/java/com/srs/routine/service/impl/RtEnlistmentReserveServiceImpl.java b/srs-routine/src/main/java/com/srs/routine/service/impl/RtEnlistmentReserveServiceImpl.java index 3883a14..08caea1 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/impl/RtEnlistmentReserveServiceImpl.java +++ b/srs-routine/src/main/java/com/srs/routine/service/impl/RtEnlistmentReserveServiceImpl.java @@ -10,6 +10,8 @@ import com.srs.common.doman.vo.TeacherVo; import com.srs.common.exception.ServiceException; import com.srs.common.utils.DateUtils; import com.srs.common.utils.SecurityUtils; +import com.srs.dormitory.domain.DmsOutsideAccommodationApply; +import com.srs.dormitory.mapper.DmsOutsideAccommodationApplyMapper; import com.srs.flowable.service.IFlowDefinitionService; import lombok.extern.slf4j.Slf4j; import com.srs.routine.mapper.RtStuLeaveApplicationMapper; @@ -36,8 +38,8 @@ public class RtEnlistmentReserveServiceImpl extends ServiceImpl studentTaskList = taskService.createTaskQuery() + .processInstanceId(processInstanceId) + .taskAssignee(studentUserId) // 学生作为任务负责人 + .active() // 仅查询活跃任务 + .taskName("学生申请") + .list(); + + if (!studentTaskList.isEmpty()) { + for (Task studentTask : studentTaskList) { + // 补充完成任务的流程变量(如审批意见、结果,根据你的流程需求设置) + Map completeVariables = new HashMap<>(); + completeVariables.put("approvalResult", "AGREE"); // 学生提交(默认同意) + completeVariables.put("approvalOpinion", "学生自动提交申请,等待辅导员审批"); + completeVariables.put("operator", "student"); // 操作人类型 + // 添加任务分配的备注(便于流程追溯) + taskService.addComment( + studentTask.getId(), + processInstanceId, + "自动分配负责人", + "学生已经重新修改提交申请" + ); + // 2. 学生自动完成待办任务 + taskService.complete(studentTask.getId(), completeVariables); + System.out.println("学生[" + studentUserId + "]已自动完成待办任务,任务ID:" + studentTask.getId()); + } + + // 3. 分配下一节点(辅导员)的待办任务负责人【不再复用监听器,独立实现】 + assignCounselorTask(processInstanceId, existing.getId(), existing.getStudentNo()); + } else { + System.out.println("流程实例[" + processInstanceId + "]中未查询到学生[" + studentUserId + "]的待办任务,无需自动完成"); + } + + // 同步更新流程变量(将业务表状态同步到流程中) + runtimeService.setVariable(processInstanceId, "applyStatus", dmsOutsideAccommodationApply.getStatus()); + // 注意:若需更新流程相关变量,需调用 Flowable 的 runtimeService.setVariables(),此处仅更新业务表 + return dmsOutsideAccommodationApplyMapper.updateDmsOutsideAccommodationApply(dmsOutsideAccommodationApply); + } else { + // 流程未启动:仅当 applyStatus=1 时启动流程,否则仅更新数据 + Long applyStatus = dmsOutsideAccommodationApply.getStatus(); + if (1L == applyStatus) { + // 绑定当前学生ID,启动流程 + dmsOutsideAccommodationApply.setStudentId(SecurityUtils.getUserId()); + ProcessResultDto processResultDto = startOutsideAccommodationProcess(dmsOutsideAccommodationApply); + if (processResultDto == null || StringUtils.isBlank(processResultDto.getProcessInstanceId())) { + throw new ServiceException("流程启动失败,请重试", 500); + } + + // 关联流程实例ID,更新为“审批中”状态 + dmsOutsideAccommodationApply.setProcessInstanceId(processResultDto.getProcessInstanceId()); + dmsOutsideAccommodationApply.setDeployId(processResultDto.getDeploymentId()); + dmsOutsideAccommodationApply.setStatus(1L); // 审批中 + System.out.println("申请表[" + dmsOutsideAccommodationApply.getId() + "]启动流程成功,实例ID:" + processResultDto.getProcessInstanceId()); + } else { + // 非提交状态:仅更新基础数据(如草稿修改) + String statusDesc = applyStatus == null ? "未指定状态" : (applyStatus == 0 ? "草稿" : "其他状态"); + System.out.println("申请表[" + dmsOutsideAccommodationApply.getId() + "]状态为" + statusDesc + ",流程未启动,仅更新数据"); + } + + // 执行数据库更新(含流程实例ID绑定或基础数据更新) + return dmsOutsideAccommodationApplyMapper.updateDmsOutsideAccommodationApply(dmsOutsideAccommodationApply); + } + + } + + + /** + * 开启外宿申请工作流 + * + * @param dmsOutsideAccommodationApply + */ + private ProcessResultDto startOutsideAccommodationProcess(DmsOutsideAccommodationApply + dmsOutsideAccommodationApply) { + Map variables = new HashMap<>(); + // 1. 传递关键变量(申请编号+主键ID,用于任务匹配) + String applyNo = dmsOutsideAccommodationApply.getApplyNo(); // 申请编号(如RY2024001) + Long enlistmentId = dmsOutsideAccommodationApply.getId(); // 申请表主键ID + variables.put("applyNo", applyNo); + variables.put("accommodationId", enlistmentId); // 新增:用于任务匹配的主键变量 + variables.put("stuId", dmsOutsideAccommodationApply.getStudentId()); + + // 2. 查询辅导员信息 + TeacherVo counselorInfo = dmsOutsideAccommodationApplyMapper.getCounselorInfo(dmsOutsideAccommodationApply.getStudentNo()); + if (counselorInfo == null) { + throw new ServiceException("该学生暂无辅导员", 500); + } + variables.put("approval", counselorInfo.getUserId()); // 下一节点:辅导员 + variables.put("deptId", counselorInfo.getDeptId()); + + // 3. 启动流程 + AjaxResult ajaxResult = flowDefinitionService.startProcessInstanceById("flow_dre1txpk:11:1375008", variables); + String code = ajaxResult.get("code").toString(); + if (!"200".equals(code)) { + throw new ServiceException("流程启动失败,错误码:" + code, 500); + } + + ProcessResultDto dto = (ProcessResultDto) ajaxResult.get("data"); + System.out.println("流程启动成功,实例ID:" + dto.getProcessInstanceId()); + + // 4. 学生自动完成自己的待办任务 + identityService.setAuthenticatedUserId(SecurityUtils.getUserId().toString()); + // 精准查询当前流程中属于学生的待办任务 + List tasks = taskService.createTaskQuery() + .processInstanceId(dto.getProcessInstanceId()) + .taskAssignee(SecurityUtils.getUserId().toString()) + .active() + .list(); + + if (tasks.isEmpty()) { + throw new ServiceException("未查询到学生的待办任务,请检查流程设计", 500); + } + + // 5. 完成任务(匹配主键ID,避免错误) + variables.put("approved", true); // 学生提交确认 + for (Task task : tasks) { + // 安全获取变量:先判断是否为null,再转换类型 + Object varValue = taskService.getVariable(task.getId(), "accommodationId"); + if (varValue == null) { + continue; + } + // 转换为Long类型(与主键ID匹配) + Long taskEnlistmentId; + try { + taskEnlistmentId = Long.parseLong(varValue.toString()); + } catch (NumberFormatException e) { + continue; // 类型不匹配,跳过 + } + // 匹配当前申请表的主键ID + if (taskEnlistmentId.equals(enlistmentId)) { + taskService.complete(task.getId(), variables); + System.out.println("学生已完成待办任务,任务ID:" + task.getId()); + break; // 完成后退出循环,避免重复处理 + } + } + + // 6. 推送消息给辅导员(待办提醒) + // todo: 企业微信推送逻辑 + + return dto; + } } diff --git a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryRelieveServiceImpl.java b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryRelieveServiceImpl.java index 940b9db..95902cb 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryRelieveServiceImpl.java +++ b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryRelieveServiceImpl.java @@ -194,6 +194,7 @@ public class RtStuDisciplinaryRelieveServiceImpl extends ServiceImpl variables = new HashMap<>(); +// variables.put("basicId", sysDisBasic.getId()); +// variables.put("conversion", sysDisBasic.getConversion()); +// variables.put("stuId", sysDisBasic.getStId()); +// +// if ("N".equals(sysDisBasic.getConversion())) { // 修复字符串比较方式 +// TeacherVo counselorInfo = rtEnlistmentReserveMapper.getCounselorInfo(sysDisBasic.getStId()); +// if (counselorInfo == null) { +// log.error("未查询到辅导员信息,stuId: {}", sysDisBasic.getStId()); +// return null; // 避免空指针 +// } +// variables.put("approval", counselorInfo.getUserId()); +// variables.put("deptId", counselorInfo.getDeptId()); +// // 无需重复设置 conversion = "N",因为已经通过上面的代码设置过了 +// }else { +// List zjcData = sysDisBasicMapper.getShenDataInfo("招就处"); +// if (zjcData == null) { +// log.error("未查询到辅导员信息,stuId: {}", sysDisBasic.getStId()); +// return null; // 避免空指针 +// } +// variables.put("approval", zjcData.get(0).getUserId()); +// variables.put("deptId", zjcData.get(0).getDeptId()); +// } +//// +// +// //flow_m4npextk:28:257686 flow_m4npextk:31:755004 +// AjaxResult ajaxResult = flowDefinitionService.startProcessInstanceById("flow_nrblbjev:15:1330041", variables); +// String code = ajaxResult.get("code").toString(); +// if (code.equals("200")) { +// +// log.info("流程启动成功"); +// +// Object obj = ajaxResult.get("data"); +// ProcessResultDto dto = (ProcessResultDto) obj; +// +// // 操作工作流 +// // 设置当前用户 +// identityService.setAuthenticatedUserId(SecurityUtils.getUserId().toString()); +// // 查询待办任务列表 +// List tasks = taskService.createTaskQuery() +// .processInstanceId(dto.getProcessInstanceId()) +// .taskAssignee(SecurityUtils.getUserId().toString()) +// .active() +// .list(); +// // 保存审核结果到任务变量中 +// variables.put("approved", true); +// // 完成待办任务列表 +// for (Task task : tasks) { +// String taskId = task.getId(); +// String leaveId = taskService.getVariable(taskId, "basicId").toString(); +// if (leaveId.equals(sysDisBasic.getId().toString())) { +// taskService.complete(task.getId(), variables); +// } +// } +// +// // todo 企业微信推送消息 +// +// +// return dto; +// } else { +// return null; +// } +// } + @Autowired + private RuntimeService runtimeService; + + private ProcessResultDto startBasicProcess(SysDisBasic sysDisBasic) { + // 新增:核心唯一标识获取+空指针防护 + Long applyId = sysDisBasic.getId(); + String stId = sysDisBasic.getStId(); + if (applyId == null || stId == null) { + log.error("申请ID/学生ID为空,无法启动工作流 - applyId: {}, stId: {}", applyId, stId); + return null; + } + String basicId = applyId.toString(); + + // --------------- 新增:启动前暴力清理该学生所有流程实例(核心拦截)--------------- + List duplicateInstances = runtimeService.createProcessInstanceQuery() + .variableValueEquals("stuId", stId) // 按学生ID精准匹配 + .list(); + for (ProcessInstance instance : duplicateInstances) { + log.warn("清理学生重复流程实例 - stId: {}, 实例ID: {}", stId, instance.getId()); + runtimeService.deleteProcessInstance(instance.getId(), "同一学生重复提交清理"); + } + + // --------------- 原有变量构建(仅添加禁用回调标记)--------------- Map variables = new HashMap<>(); variables.put("basicId", sysDisBasic.getId()); variables.put("conversion", sysDisBasic.getConversion()); variables.put("stuId", sysDisBasic.getStId()); + // 新增:禁用所有自动回调(切断框架触发重复的链路) + variables.put("skipFormCallback", true); + variables.put("noAutoCallback", true); - if ("N".equals(sysDisBasic.getConversion())) { // 修复字符串比较方式 + // --------------- 原有审核人查询(优化空指针)--------------- + if ("N".equals(sysDisBasic.getConversion())) { TeacherVo counselorInfo = rtEnlistmentReserveMapper.getCounselorInfo(sysDisBasic.getStId()); if (counselorInfo == null) { log.error("未查询到辅导员信息,stuId: {}", sysDisBasic.getStId()); - return null; // 避免空指针 + return null; } variables.put("approval", counselorInfo.getUserId()); variables.put("deptId", counselorInfo.getDeptId()); - // 无需重复设置 conversion = "N",因为已经通过上面的代码设置过了 - }else { + } else { List zjcData = sysDisBasicMapper.getShenDataInfo("招就处"); - if (zjcData == null) { - log.error("未查询到辅导员信息,stuId: {}", sysDisBasic.getStId()); - return null; // 避免空指针 + // 修复:添加集合非空判断,避免IndexOutOfBoundsException + if (zjcData == null || zjcData.isEmpty()) { + log.error("未查询到招就处审核人信息,stuId: {}", sysDisBasic.getStId()); + return null; } variables.put("approval", zjcData.get(0).getUserId()); variables.put("deptId", zjcData.get(0).getDeptId()); } -// - //flow_m4npextk:28:257686 flow_m4npextk:31:755004 - AjaxResult ajaxResult = flowDefinitionService.startProcessInstanceById("flow_nrblbjev:14:1232527", variables); + // --------------- 原有流程启动逻辑(不变)--------------- + AjaxResult ajaxResult = flowDefinitionService.startProcessInstanceById("flow_nrblbjev:20:1347543", variables); String code = ajaxResult.get("code").toString(); if (code.equals("200")) { - - log.info("流程启动成功"); + log.info("流程启动成功 - stId: {}, applyId: {}", stId, basicId); Object obj = ajaxResult.get("data"); ProcessResultDto dto = (ProcessResultDto) obj; // 操作工作流 - // 设置当前用户 identityService.setAuthenticatedUserId(SecurityUtils.getUserId().toString()); - // 查询待办任务列表 List tasks = taskService.createTaskQuery() .processInstanceId(dto.getProcessInstanceId()) .taskAssignee(SecurityUtils.getUserId().toString()) .active() .list(); - // 保存审核结果到任务变量中 - variables.put("approved", true); + + // --------------- 核心修改:删除approved变量,任务完成不传递任何参数 --------------- + // 注释掉:variables.put("approved", true); // 移除该变量,避免触发回调 + // 完成待办任务列表 for (Task task : tasks) { String taskId = task.getId(); - String leaveId = taskService.getVariable(taskId, "basicId").toString(); - if (leaveId.equals(sysDisBasic.getId().toString())) { - taskService.complete(task.getId(), variables); + // 新增:变量非空校验,避免空指针 + Object taskBasicIdObj = taskService.getVariable(taskId, "basicId"); + if (taskBasicIdObj == null) { + log.warn("任务变量basicId为空,跳过任务 - 任务ID: {}", taskId); + continue; + } + String leaveId = taskBasicIdObj.toString(); + if (leaveId.equals(basicId)) { + // 核心修改:仅完成任务,不传递variables(切断回调触发重复) + taskService.complete(task.getId()); + log.info("自动完成任务 - 任务ID: {}, 实例ID: {}", taskId, dto.getProcessInstanceId()); } } // todo 企业微信推送消息 - - return dto; } else { + log.error("流程启动失败,响应码: {}", code); return null; } } + } diff --git a/srs-routine/src/main/resources/mapper/routine/SysDisBasicMapper.xml b/srs-routine/src/main/resources/mapper/routine/SysDisBasicMapper.xml index 7c68f08..84649a4 100644 --- a/srs-routine/src/main/resources/mapper/routine/SysDisBasicMapper.xml +++ b/srs-routine/src/main/resources/mapper/routine/SysDisBasicMapper.xml @@ -48,8 +48,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + @@ -81,20 +85,49 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - SELECT d.user_id userId, d.dept_id deptId, d.user_name userName, d.nick_name nickName - FROM srs_student a - LEFT JOIN srs_class b ON a.class_id = b.class_id - LEFT JOIN cph_teacher c ON b.teacher_id = c.teacher_id - LEFT JOIN sys_user d ON c.employee_id = d.user_name - WHERE a.stu_id = #{stId} + + + + + + + + + + + + + + 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 + @@ -148,28 +184,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - - - - - - - - insert into sys_dis_basic @@ -216,6 +230,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" conversion, process_id, deploy_id, + student_id, + test_data, + test_test, #{fxId}, @@ -260,6 +277,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{conversion}, #{processId}, #{deployId}, + #{studentId}, + #{testData}, + #{testTest}, @@ -308,6 +328,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" conversion = #{conversion}, process_id = #{processId}, deploy_id = #{deployId}, + student_id = #{studentId}, + test_data = #{testData}, + test_test = #{testTest}, where id = #{id} @@ -322,4 +345,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - + \ No newline at end of file diff --git a/srs-survey/src/main/java/com/srs/survey/service/impl/SurItineraryServiceImpl.java b/srs-survey/src/main/java/com/srs/survey/service/impl/SurItineraryServiceImpl.java index 02fd8cb..656cd71 100644 --- a/srs-survey/src/main/java/com/srs/survey/service/impl/SurItineraryServiceImpl.java +++ b/srs-survey/src/main/java/com/srs/survey/service/impl/SurItineraryServiceImpl.java @@ -147,7 +147,7 @@ public class SurItineraryServiceImpl extends ServiceImpl点击前往填写"; + + "去向调查,请点击前往填写"; // List test = new ArrayList<>(); // test.add("20240116"); @@ -245,7 +245,7 @@ public class SurItineraryServiceImpl extends ServiceImpl点击前往填写"; + + "去向调查,请点击前往填写"; for (int i = 0; i < notStuNos.size(); i += batchSize) { List batch = notStuNos.subList(i, Math.min(i + batchSize, stuNos.size())); diff --git a/srs-teacher/src/main/java/com/srs/teacher/domain/SysTeacherBasicmessage.java b/srs-teacher/src/main/java/com/srs/teacher/domain/SysTeacherBasicmessage.java index 395f3cb..ef7513d 100644 --- a/srs-teacher/src/main/java/com/srs/teacher/domain/SysTeacherBasicmessage.java +++ b/srs-teacher/src/main/java/com/srs/teacher/domain/SysTeacherBasicmessage.java @@ -164,6 +164,14 @@ private static final long serialVersionUID=1L; @Excel(name = "岗位性质") private String jobNature; + /** + * 职业技术职称 + */ + @ApiModelProperty("职称") + @TableField("professional_title") + @Excel(name = "职称") + private String professionalTitle; + /** * 参加工作时间 */ diff --git a/srs-teacher/src/main/resources/mapper/teacher/SysTeacherBasicmessageMapper.xml b/srs-teacher/src/main/resources/mapper/teacher/SysTeacherBasicmessageMapper.xml index 0cce4b9..0afa32b 100644 --- a/srs-teacher/src/main/resources/mapper/teacher/SysTeacherBasicmessageMapper.xml +++ b/srs-teacher/src/main/resources/mapper/teacher/SysTeacherBasicmessageMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -46,12 +47,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select teacher_id, name, gender, birthday, nation, photo, political, wechat, phone, address, identity, qqnumber, marriage, anotherDuties, level2units, serviceHours, jobNature, joinWorkHours, highestEducation, educated, study, lastestEducation, awardingInstitutions, email, college from sys_teacher_basicmessage + select teacher_id, name, gender, birthday, nation, photo, political, wechat, phone, address, identity, qqnumber, marriage, anotherDuties, level2units, serviceHours, jobNature, professional_title, joinWorkHours, highestEducation, educated, study, lastestEducation, awardingInstitutions, email, college from sys_teacher_basicmessage - + - + insert into sys_teacher_basicmessage @@ -107,6 +109,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" level2units, serviceHours, jobNature, + professional_title, joinWorkHours, highestEducation, educated, @@ -134,6 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{level2units}, #{serviceHours}, #{jobNature}, + #{professionalTitle}, #{joinWorkHours}, #{highestEducation}, #{educated}, @@ -164,6 +168,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" level2units = #{level2units}, serviceHours = #{serviceHours}, jobNature = #{jobNature}, + professional_title = #{professionalTitle}, joinWorkHours = #{joinWorkHours}, highestEducation = #{highestEducation}, educated = #{educated}, @@ -181,14 +186,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from sys_teacher_basicmessage where teacher_id in + delete from sys_teacher_basicmessage where teacher_id in #{teacherId} - + - delete from sys_teacher_takeclass where teacher_id in + delete from sys_teacher_takeclass where teacher_id in #{teacherId} @@ -204,4 +209,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ( #{item.takeclassId}, #{item.teacherId}, #{item.college}, #{item.grade}, #{item.classteam}, #{item.number}) - \ No newline at end of file + diff --git a/srs-workstudy/src/main/java/com/srs/workstudy/service/impl/QgzxStuPostServiceImpl.java b/srs-workstudy/src/main/java/com/srs/workstudy/service/impl/QgzxStuPostServiceImpl.java index acf29ad..fefa2fc 100644 --- a/srs-workstudy/src/main/java/com/srs/workstudy/service/impl/QgzxStuPostServiceImpl.java +++ b/srs-workstudy/src/main/java/com/srs/workstudy/service/impl/QgzxStuPostServiceImpl.java @@ -218,7 +218,7 @@ public class QgzxStuPostServiceImpl extends ServiceImpl= Integer.parseInt(post.postCount)) { - throw new Exception("该岗位已有别的记录被其指导老师审核通过,不能申请通过"); + throw new Exception("请检查该岗位的在岗人数是否正确"); } param.applyStatus = QgzxApplyStatus.INSTRUCTOR_APPROVED.getCode();