Commit 731b52ae by wangjian

2024-04-03 招聘 V0.2

parent f36505ca
...@@ -13,7 +13,8 @@ ruoyi: ...@@ -13,7 +13,8 @@ ruoyi:
# profile: /home/ruoyi/uploadPath # profile: /home/ruoyi/uploadPath
#指定上传文件到哪个服务器,读取文件(本地选localhost,测试选47.105.176.202,试运行选10.20.100.201) #指定上传文件到哪个服务器,读取文件(本地选localhost,测试选47.105.176.202,试运行选10.20.100.201)
# serverAddress: http://47.105.176.202:5112 # serverAddress: http://47.105.176.202:5112
serverAddress: http://47.105.176.202:5131 # serverAddress: http://47.105.176.202:5131
serverAddress: http://192.168.31.166:5131
# serverAddress: http://10.20.100.201:57321 # serverAddress: http://10.20.100.201:57321
# 获取ip地址开关 # 获取ip地址开关
addressEnabled: false addressEnabled: false
...@@ -26,8 +27,8 @@ server: ...@@ -26,8 +27,8 @@ server:
# port: 8137 # port: 8137
#二中 #二中
# port: 11325 # port: 11325
port: 8848 # port: 8848
# port: 5131 port: 5131
#学校内网PC端口 #学校内网PC端口
# port: 57321 # port: 57321
#学校内网公众号端口 #学校内网公众号端口
...@@ -112,6 +113,7 @@ spring: ...@@ -112,6 +113,7 @@ spring:
port: 7789 port: 7789
# port: 16379 # port: 16379
# port: 9121 # port: 9121
# port: 34597
# 数据库索引 # 数据库索引
database: 3 database: 3
# 密码 # 密码
...@@ -213,25 +215,25 @@ wx: ...@@ -213,25 +215,25 @@ wx:
# redirect-uri: y32025c600.goho.co:10087 # redirect-uri: y32025c600.goho.co:10087
dd: dd:
# 本地配置 # # 本地配置
appKey: dingclpf8qoxvinhksyh # appKey: dingclpf8qoxvinhksyh
appSecret: CrlRmzkaFMH00cbipSf3g0nc_xpFGCitTAPA_cphUXg1e-DSX1hFcyVpqgos29r9 # appSecret: CrlRmzkaFMH00cbipSf3g0nc_xpFGCitTAPA_cphUXg1e-DSX1hFcyVpqgos29r9
# 钉钉接口 获取钉钉access_token 的uri
access-token-uri: https://oapi.dingtalk.com/gettoken?appkey=${dd.appKey}&appsecret=${dd.appSecret}
#企业id
corpId: dingaa3937ff8b7dd267f2c783f7214b6d69
#应用id
agentId: 2730043705
# # 测试服务器配置
# appKey: ding5cbf7qhd55zun5jg
# appSecret: -er7LnIslFEJ2n8cJY9MdTCKiRDjoCZwQuA2XvU2Hr7fHw-cp_B2ZAhynVifqlL8
# # 钉钉接口 获取钉钉access_token 的uri # # 钉钉接口 获取钉钉access_token 的uri
# access-token-uri: https://oapi.dingtalk.com/gettoken?appkey=${dd.appKey}&appsecret=${dd.appSecret} # access-token-uri: https://oapi.dingtalk.com/gettoken?appkey=${dd.appKey}&appsecret=${dd.appSecret}
# #企业id # #企业id
# corpId: dingaa3937ff8b7dd267f2c783f7214b6d69 # corpId: dingaa3937ff8b7dd267f2c783f7214b6d69
# #应用id # #应用id
# agentId: 2760774127 # agentId: 2730043705
# 测试服务器配置
appKey: ding5cbf7qhd55zun5jg
appSecret: -er7LnIslFEJ2n8cJY9MdTCKiRDjoCZwQuA2XvU2Hr7fHw-cp_B2ZAhynVifqlL8
# 钉钉接口 获取钉钉access_token 的uri
access-token-uri: https://oapi.dingtalk.com/gettoken?appkey=${dd.appKey}&appsecret=${dd.appSecret}
#企业id
corpId: dingaa3937ff8b7dd267f2c783f7214b6d69
#应用id
agentId: 2760774127
# 正式配置 # 正式配置
# appKey: dingggqchzyvxm9e6e7v # appKey: dingggqchzyvxm9e6e7v
...@@ -246,7 +248,7 @@ dd: ...@@ -246,7 +248,7 @@ dd:
#重定向地址 #重定向地址
redirect-uri: www.dyzmxx.com redirect-uri: www.dyzmxx.com
#应用首页地址 #应用首页地址
message-uri: http://47.105.176.202:5113/dd message-uri: http://47.105.176.202:5130/dd
#PC端首页地址 #PC端首页地址
pc-message-uri: http://47.105.176.202:5129/dd pc-message-uri: http://47.105.176.202:5129/dd
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<configuration> <configuration>
<!-- 日志存放路径 --> <!-- 日志存放路径 -->
<property name="log.path" value="/Users/muyecun/Desktop/schxh" /> <!--<property name="log.path" value="/Users/muyecun/Desktop/schxh" />-->
<property name="log.path" value="../home/ruoyi/logs" />
<!-- 日志输出格式 --> <!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
......
package yangtz.cs.liu.campus.constant;
public class RecruitExamConstant {
//艺考状态
//未发布
public static final String NOPUB = "0";
//报名阶段(信息审核)
public static final String INFOCHECK = "1";
//考场分配
public static final String ADDRESS = "2";
//成绩发布
public static final String SCORE = "3";
//结束
public static final String END = "4";
//学生与考试关联
//审核状态-驳回 || 匹配状态-不匹配
public static final String REJECT = "0";
//审核状态-通过 || 匹配状态-匹配
public static final String PASS = "1";
//审核状态-退回修改 || 匹配状态-无教育局信息
public static final String EDIT = "2";
//审核状态-待审核 || 匹配状态-未报名
public static final String CHECK = "3";
public static final String APPLY = "4";//报名
public static final String SH = "5";//审核
public static final String PRINT = "6";//打印准考证
public static final String QUERY = "7";//成绩查询
//考生报名提交状态
public static final String NOSUBMIT = "0";//未提交
public static final String SUBMIT = "1";//已提交
//网页点击进入后的各节点node
//考前须知
public static final String PREEXAM = "0";
//报名
public static final String SIGN = "1";
//审核
public static final String AUDIT = "2";
//打印准考证
public static final String TICKET = "3";
//成绩查询
public static final String SEARCH = "4";
//网页考试状态
public static final String WEBBM = "0";//报名
public static final String WEBDSH = "1";//带审核
public static final String WEBTG = "2";//通过
public static final String WEBBH = "3";//驳回
public static final String WEBXXXG = "4";//信息修改
public static final String WEBZKZDY = "5";//准考证打印
public static final String WEBCJCX = "6";//成绩查询
public static final String WEBSH = "7";//审核
}
package yangtz.cs.liu.campus.domain.recruit;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
/**
* @author xuten
*/
@Data
public class EduRecruitStudent extends OurBaseEntity {
private static final long serialVersionUID = 1L;
/** 艺考主表id */
@Excel(name = "艺考主表id")
private Long examId;
/** 身份证号 */
@Excel(name = "身份证号")
private String eduIdCard;
/** 姓名 */
@Excel(name = "姓名")
private String eduStudentName;
/** 学籍号 */
@Excel(name = "学籍号")
private String eduStudentNumber;
/** 初中学校id */
@Excel(name = "初中学校id")
private Long eduJuniorId;
/** 初中学校 */
@Excel(name = "初中学校")
private String eduSchoolName;
/** 测试项目id */
@Excel(name = "测试项目id")
private Long eduTestId;
/** 测试项目 */
@Excel(name = "测试项目")
private String eduProject;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0=男,1=女")
private String eduSex;
}
package yangtz.cs.liu.campus.domain.recruit;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author xuten
*/
@Data
public class SchoolRecruitExam extends OurBaseEntity {
private static final long serialVersionUID = 1L;
/**
* 考试名称
* */
private String examName;
/**
* 年度
* */
private Integer examYear;
/**
* 报名截止时间(具体到分钟)
* */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date deadline;
/**
* 考试开始时间
* */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/**
* 考试结束时间
* */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
/**
* 测试项目id(可多选,id之间用逗号隔开)
* */
private String projectIds;
/**
* 考试安排
* */
private String examArrange;
/**
* 考试注意事项
* */
private String notice;
/**
* 状态(0=未发布,1=报名阶段(信息审核),2=考场分配,3=成绩发布,4=结束)
* */
private String status;
}
package yangtz.cs.liu.campus.domain.recruit;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
/**
* 测试项目对象 school_test_project
*
* @author wengxiulin
* @date 2023-04-11
*/
@Data
public class SchoolRecruitProject extends OurBaseEntity
{
private static final long serialVersionUID = 1L;
/** 专业类别(0=体育,1=音乐,2=美术,3=书法) */
@Excel(name = "专业类别", readConverterExp = "0==体育,1=音乐,2=美术,3=书法")
private String type;
/** 测试项目 */
@Excel(name = "测试项目")
private String project;
/** 排序 */
@Excel(name = "排序")
private Long schoolOrder;
}
package yangtz.cs.liu.campus.domain.recruit;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class SchoolRecruitRelation extends OurBaseEntity {
/** 考试id */
@Excel(name = "考试id")
private Long examId;
/** 学生id */
@Excel(name = "学生id")
private Long studentId;
/** 审核状态(只存在教育局信息时该字段没有值,0=驳回,1=通过,2 =退回修改,3=待审核) */
@Excel(name = "审核状态", readConverterExp = "只=存在教育局信息时该字段没有值,0=驳回,1=通过,2,==退回修改,3=待审核")
private String auditStatus;
/** 匹配状态(0=不匹配,1= 匹配,2=无教育局信息,3=未报名) */
@Excel(name = "匹配状态", readConverterExp = "0==不匹配,1=,匹=配,2=无教育局信息,3=未报名")
private String matchStatus;
/** 身份证号码 */
@Excel(name = "身份证号码")
private String infoIdCard;
/** 初中学校id */
@Excel(name = "初中学校id")
private Long juniorId;
/** 测试项目id */
@Excel(name = "测试项目id")
private Long testId;
/** 提交状态(0=未提交,1=已提交) */
@Excel(name = "提交状态(0=未提交,1=已提交)")
private String submit;
/** 准考证号 */
@Excel(name = "准考证号")
private String examNumber;
/** 分组 */
@Excel(name = "分组")
private String inGroup;
/** 考试日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "考试日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date examDate;
/** 考试时间 */
@Excel(name = "考试时间")
private String examTime;
/** 考试地点 */
@Excel(name = "考试地点")
private String examAddress;
/** 成绩 */
@Excel(name = "成绩")
private String score;
/** 结果 */
@Excel(name = "结果")
private String result;
/** 资格线 */
@Excel(name = "资格线")
private String passScore;
}
package yangtz.cs.liu.campus.domain.recruit;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.List;
/**
* @author xuten
*/
@Data
public class SchoolRecruitStudent extends OurBaseEntity {
private static final long serialVersionUID = 1L;
/** 姓名 */
@Excel(name = "姓名")
private String studentName;
/** 身份证号 */
@Excel(name = "身份证号")
private String idCard;
/** 学籍号 */
@Excel(name = "学籍号")
private String studentNumber;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0==男,1=女")
private String sex;
/** 身高(单位厘米) */
@Excel(name = "身高", readConverterExp = "单=位厘米")
private double height;
/** 体重(单位千克) */
@Excel(name = "体重", readConverterExp = "单=位千克")
private double weight;
/** 联系方式1 */
@Excel(name = "联系方式1")
private String telephone1;
/** 联系方式2 */
@Excel(name = "联系方式2")
private String telephone2;
/** 照片 */
@Excel(name = "照片")
private String photo;
/** 手机号 */
@Excel(name = "手机号")
private String phoneNumber;
/** 密码 */
@Excel(name = "密码")
private String password;
/** 民族 */
@Excel(name = "民族")
private String mz;
/** 政治面貌 */
@Excel(name = "政治面貌")
private String zzmm;
/** 出生日期 */
@Excel(name = "出生日期")
private String csrq;
/** 婚姻状况 */
@Excel(name = "婚姻状况")
private String hyzk;
/** 户籍所在地 */
@Excel(name = "户籍所在地")
private String hjszd;
/** 生源地 */
@Excel(name = "生源地")
private String syd;
/** 考生身份 */
@Excel(name = "考生身份")
private String kssf;
/** 参加工作时间 */
@Excel(name = "参加工作时间")
private String cjgzsj;
/** 现工作单位职务 */
@Excel(name = "现工作单位职务")
private String xgzdwzw;
/** 报考学历是否全日制 */
@Excel(name = "报考学历是否全日制")
private String bkxlsfqrz;
/** 学历 */
@Excel(name = "学历")
private String xl;
/** 学位 */
@Excel(name = "学位")
private String xw;
/** 毕业学校 */
@Excel(name = "毕业学校")
private String byxx;
/** 所学专业 */
@Excel(name = "所学专业")
private String sxzz;
/** 最后毕业时间 */
@Excel(name = "最后毕业时间")
private String zhbysj;
// /** 教师招聘 教师账号 信息从简历信息 */
// private List<SchoolRecruitStudentJl> schoolRecruitStudentJlList;
}
package yangtz.cs.liu.campus.domain.recruit;
import com.core.domain.OurBaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 教师招聘 教师账号 信息从简历对象 school_recruit_student_jl
*
* @author ruoyi
* @date 2024-04-02
*/
@Data
public class SchoolRecruitStudentJl extends OurBaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 学生id */
@Excel(name = "学生id")
private Long studentId;
/** 起止年月 */
@Excel(name = "起止年月")
private String ksny;
/** 起止年月 */
@Excel(name = "起止年月")
private String jsny;
/** 所在单位或学校 */
@Excel(name = "所在单位或学校")
private String szdwxx;
/** 职务专业 */
@Excel(name = "职务专业")
private String zwzy;
}
package yangtz.cs.liu.campus.mapper.recruit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import yangtz.cs.liu.campus.domain.recruit.EduRecruitStudent;
@Mapper
public interface EduRecruitStudentMapper extends BaseMapper<EduRecruitStudent> {
EduRecruitStudent getStudent(@Param("examId") Long examId,
@Param("eduIdCard") String eduIdCard);
}
package yangtz.cs.liu.campus.mapper.recruit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitExam;
/**
* @author xuten
*/
@Mapper
public interface SchoolRecruitExamMapper extends BaseMapper<SchoolRecruitExam> {
}
package yangtz.cs.liu.campus.mapper.recruit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitProject;
import java.util.List;
/**
* 测试项目Mapper接口
*
* @author wengxiulin
* @date 2023-04-11
*/
public interface SchoolRecruitProjectMapper extends BaseMapper<SchoolRecruitProject>
{
/**
* 查询examination列表
*
* @param schoolRecruitProject examination
* @return examination集合
*/
public List<SchoolRecruitProject> selectSchoolRecruitProjectList(SchoolRecruitProject schoolRecruitProject);
}
package yangtz.cs.liu.campus.mapper.recruit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitRelation;
import yangtz.cs.liu.campus.vo.recruit.RecruitEduStudentVo;
import yangtz.cs.liu.campus.vo.recruit.RecruitExamAddressVo;
import yangtz.cs.liu.campus.vo.recruit.RecruitExamScoreVo;
import java.util.List;
@Mapper
public interface SchoolRecruitRelationMapper extends BaseMapper<SchoolRecruitRelation> {
//通过考试id和考生id获取关系
SchoolRecruitRelation getRelationByIds(@Param("examId") Long examId,
@Param("studentId") Long studentId);
/** 教务管理-考试管理-信息审核列表 */
List<RecruitEduStudentVo> getInfoCheck(RecruitEduStudentVo vo);
/**
* 考试管理-考场分配-列表
* */
List<RecruitExamAddressVo> getAddressList(RecruitExamAddressVo vo);
RecruitExamScoreVo getAddressInfo(Long id);
/**
* 考试管理-成绩管理-列表
* */
List<RecruitExamScoreVo> getScoreList(RecruitExamScoreVo vo);
}
package yangtz.cs.liu.campus.mapper.recruit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitStudent;
import yangtz.cs.liu.campus.vo.recruit.SchoolRecruitStudentVo;
import yangtz.cs.liu.webpage.vo.WebSchoolRecruitStudentVo;
import java.util.List;
/**
* @author xuten
*/
@Mapper
public interface SchoolRecruitStudentMapper extends BaseMapper<SchoolRecruitStudent> {
/**
* 校验手机号码是否唯一
*/
public SchoolRecruitStudent checkPhoneUnique(String phoneNumber);
/**
* 校验身份证号码是否唯一
*/
public SchoolRecruitStudent checkIdCardUnique(String idCard);
/**
* 根据手机号查找艺考生信息
* */
public SchoolRecruitStudent getStudentByPhoneNumber(@Param("phoneNumber") String phoneNumber,
@Param("idCard") String idCard);
/**获取考生信息详情*/
WebSchoolRecruitStudentVo getInfo(Long id);
/**
* 获取考试考生详情
* */
WebSchoolRecruitStudentVo getStuInfo(@Param("id") Long id,
@Param("examId") Long examId);
/** 教务管理-考试管理-信息审核-导出报名信息 */
List<SchoolRecruitStudentVo> editExport(@Param("idList") List<Long> idList,
@Param("examId") Long examId);
}
package yangtz.cs.liu.campus.service.impl.recruit;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.core.utils.StringUtil;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import yangtz.cs.liu.campus.domain.examination.JuniorHighSchool;
import yangtz.cs.liu.campus.domain.recruit.EduRecruitStudent;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitProject;
import yangtz.cs.liu.campus.mapper.examination.JuniorHighSchoolMapper;
import yangtz.cs.liu.campus.mapper.recruit.EduRecruitStudentMapper;
import yangtz.cs.liu.campus.mapper.recruit.SchoolRecruitProjectMapper;
import yangtz.cs.liu.campus.service.recruit.IEduRecruitStudentService;
import yangtz.cs.liu.campus.vo.recruit.RecruitEduExportVo;
import java.util.List;
@Service
public class EduRecruitStudentServiceImpl extends ServiceImpl<EduRecruitStudentMapper, EduRecruitStudent> implements IEduRecruitStudentService {
@Autowired
private EduRecruitStudentMapper eduRecruitStudentMapper;
@Autowired
private SchoolRecruitProjectMapper projectMapper;
@Autowired
private JuniorHighSchoolMapper schoolMapper;
@Override
public void checkImport(List<RecruitEduExportVo> list) {
//检验是否为空
if(StringUtils.isNull(list) || list.size() == 0){
throw new ServiceException("导入数据不能为空");
}
// 准备记录日志数据
int failureNum = 0;
StringBuilder failureMsg = new StringBuilder();
for(RecruitEduExportVo vo : list){
if (StringUtils.isEmpty(vo.getEduIdCard())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、身份证号为空,请您重新输入! ");
}
if (StringUtils.isEmpty(vo.getEduStudentName())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、姓名为空,请您重新输入! ");
}
if (StringUtils.isEmpty(vo.getEduStudentNumber())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、学籍号为空,请您重新输入! ");
}
if (StringUtils.isEmpty(vo.getEduSchoolName())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、初中学校为空,请您重新输入! ");
}
if (StringUtils.isEmpty(vo.getEduProject())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、测试项目为空,请您重新输入! ");
}
if (StringUtils.isEmpty(vo.getEduSex())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、性别为空,请您重新输入! ");
}
}
if (failureNum > 0) {
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
}
}
//数据导入
@Override
@Transactional(rollbackFor = Exception.class)
public String importData(List<RecruitEduExportVo> list, Long examId) {
// 准备记录日志数据
int successNum = 0;
StringBuilder successMsg = new StringBuilder();
int failureNum = 0;
StringBuilder failureMsg = new StringBuilder();
for(RecruitEduExportVo vo : list){
LambdaQueryWrapper<EduRecruitStudent> lqw = new LambdaQueryWrapper<>();
lqw.eq(EduRecruitStudent::getEduIdCard,vo.getEduIdCard()).eq(EduRecruitStudent::getExamId,examId);
List<EduRecruitStudent> students = eduRecruitStudentMapper.selectList(lqw);
if(StringUtils.isNotNull(students) && students.size() > 0){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、身份证号" + vo.getEduIdCard() + "重复,请检查!");
}else{
EduRecruitStudent student = new EduRecruitStudent();
student.setExamId(examId);
//去除空格
student.setEduIdCard(StringUtil.clearSpace(vo.getEduIdCard()));
student.setEduStudentName(StringUtil.clearSpace(vo.getEduStudentName()));
student.setEduStudentNumber(StringUtil.clearSpace(vo.getEduStudentNumber()));
student.setEduSchoolName(StringUtil.clearSpace(vo.getEduSchoolName()));
student.setEduProject(StringUtil.clearSpace(vo.getEduProject()));
student.setEduSex(vo.getEduSex());
//设置测试项目id
LambdaQueryWrapper<SchoolRecruitProject> projectLqw = new LambdaQueryWrapper<>();
projectLqw.eq(SchoolRecruitProject::getProject,StringUtil.clearSpace(vo.getEduProject()));
List<SchoolRecruitProject> projects = projectMapper.selectList(projectLqw);
if(StringUtils.isNotNull(projects) && projects.size() > 0){
student.setEduTestId(projects.get(0).getId());
}
//设置初中学校id
LambdaQueryWrapper<JuniorHighSchool> schoolLqw = new LambdaQueryWrapper<>();
schoolLqw.eq(JuniorHighSchool::getSchoolName,StringUtil.clearSpace(vo.getEduSchoolName()));
List<JuniorHighSchool> schools = schoolMapper.selectList(schoolLqw);
if(StringUtils.isNotNull(schools) && schools.size() > 0){
student.setEduJuniorId(schools.get(0).getId());
}
student.insert();
eduRecruitStudentMapper.insert(student);
successNum++;
}
}
if (failureNum > 0) {
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
} else {
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条");
}
return successMsg.toString();
}
}
package yangtz.cs.liu.campus.service.impl.recruit;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitExam;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitProject;
import yangtz.cs.liu.campus.mapper.recruit.SchoolRecruitExamMapper;
import yangtz.cs.liu.campus.mapper.recruit.SchoolRecruitProjectMapper;
import yangtz.cs.liu.campus.service.recruit.ISchoolRecruitProjectService;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isNotNull;
/**
* 测试项目Service业务层处理
*
* @author wengxiulin
* @date 2023-04-11
*/
@Service
public class SchoolRecruitProjectServiceImpl extends ServiceImpl<SchoolRecruitProjectMapper,SchoolRecruitProject> implements ISchoolRecruitProjectService
{
@Autowired
private SchoolRecruitProjectMapper schoolRecruitProjectMapper;
@Autowired
private SchoolRecruitExamMapper examMapper;
/**
* 查询测试项目列表
*
* @param schoolRecruitProject recruit
* @return recruit
*/
@Override
public List<SchoolRecruitProject> selectSchoolRecruitProjectList(SchoolRecruitProject schoolRecruitProject)
{
return schoolRecruitProjectMapper.selectSchoolRecruitProjectList(schoolRecruitProject);
}
//获取本次考试所能选择的测试项目
@Override
public List<SchoolRecruitProject> getProjectList(Long examId,SchoolRecruitProject schoolRecruitProject) {
SchoolRecruitExam exam = examMapper.selectById(examId);
String ids = exam.getProjectIds();
List<String> result = Arrays.asList(ids.split(","));
List<Long> idList = new ArrayList<>();
for(String s : result){
Long l = Long.parseLong(s);
idList.add(l);
}
LambdaQueryWrapper<SchoolRecruitProject> lqw = new LambdaQueryWrapper<>();
lqw
.in(SchoolRecruitProject::getId,idList)
.like(isNotNull(schoolRecruitProject.getProject()),SchoolRecruitProject::getProject,schoolRecruitProject.getProject())
.orderByAsc(SchoolRecruitProject::getSchoolOrder)
.orderByDesc(SchoolRecruitProject::getCreateTime);
return schoolRecruitProjectMapper.selectList(lqw);
}
}
package yangtz.cs.liu.campus.service.recruit;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.recruit.EduRecruitStudent;
import yangtz.cs.liu.campus.vo.recruit.RecruitEduExportVo;
import java.util.List;
public interface IEduRecruitStudentService extends IService<EduRecruitStudent> {
//校验导入的数据
void checkImport(List<RecruitEduExportVo> list);
//数据导入
String importData(List<RecruitEduExportVo> list, Long examId);
}
package yangtz.cs.liu.campus.service.recruit;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitExam;
import yangtz.cs.liu.webpage.vo.WebRecruitExamForStudentVo;
import java.util.List;
/**
* @author xuten
*/
public interface ISchoolRecruitExamService extends IService<SchoolRecruitExam> {
/**
* 考务管理-考试管理-列表
*/
public List<SchoolRecruitExam> queryList(SchoolRecruitExam exam);
/**
* 网页版-考试报名页面处理list
* */
public List<WebRecruitExamForStudentVo> getRecruitExam(Long studentId);
}
package yangtz.cs.liu.campus.service.recruit;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitProject;
import java.util.List;
/**
* 测试项目Service接口
*
* @author wengxiulin
* @date 2023-04-11
*/
public interface ISchoolRecruitProjectService extends IService<SchoolRecruitProject>
{
/**
* 查询测试项目列表
*
* @param schoolRecruitProject examination
* @return examination集合
*/
public List<SchoolRecruitProject> selectSchoolRecruitProjectList(SchoolRecruitProject schoolRecruitProject);
List<SchoolRecruitProject> getProjectList(Long examId, SchoolRecruitProject schoolRecruitProject);
}
package yangtz.cs.liu.campus.service.recruit;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitRelation;
import yangtz.cs.liu.campus.vo.recruit.RecruitExamAddressVo;
import yangtz.cs.liu.campus.vo.recruit.RecruitExamScoreVo;
import java.util.List;
public interface ISchoolRecruitRelationService extends IService<SchoolRecruitRelation> {
//通过考试id和考生id获取关系
SchoolRecruitRelation getRelationByIds(Long examId, Long studentId);
/**
* 考试管理-考场分配-列表
* */
List<RecruitExamAddressVo> getAddressList(RecruitExamAddressVo vo);
RecruitExamScoreVo getAddressInfo(Long id);
/**
* 考试管理-考试管理-列表
* */
List<RecruitExamScoreVo> getScoreList(RecruitExamScoreVo vo);
/**
* 校验导入的考场数据
* */
void checkImportAddress(List<RecruitExamAddressVo> list);
/**
* 导入考场数据
* */
String importDataAddress(List<RecruitExamAddressVo> list, Long examId);
/**
* 考试管理-考场分配-结束
*/
int addressEnd(Long examId);
/**
* 校验导入的成绩数据
* */
void checkImportScore(List<RecruitExamScoreVo> list);
/**
* 导入成绩数据
* */
String importDataScore(List<RecruitExamScoreVo> list, Long examId);
/**
* 考试管理-成绩发布-结束
*/
int scoreEnd(Long examId);
}
package yangtz.cs.liu.campus.service.recruit;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.model.WebLoginBody;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitStudent;
import yangtz.cs.liu.campus.vo.recruit.RecruitAndEduStudentVo;
import yangtz.cs.liu.campus.vo.recruit.RecruitEduStudentVo;
import yangtz.cs.liu.campus.vo.recruit.SchoolRecruitStudentVo;
import yangtz.cs.liu.webpage.domain.WebRegisterBody;
import yangtz.cs.liu.webpage.vo.RecruitAdmissionTicketVo;
import yangtz.cs.liu.webpage.vo.QueryScoreVo;
import yangtz.cs.liu.webpage.vo.WebSchoolRecruitStudentVo;
import java.util.List;
/**
* @author xuten
*/
public interface ISchoolRecruitStudentService extends IService<SchoolRecruitStudent> {
/**
* 艺考生网页注册
* */
public String register(WebRegisterBody registerBody);
/**
* 艺考生网页登录
* */
public WebLoginBody login(WebRegisterBody webRegisterBody);
/**
* 判断能不能点进去进入按钮
* 1能 0不能
* 当前状态(0=报名,1=待审核,2=通过,3=驳回,4=信息修改,5=准考证打印,6=成绩查询,7=审核)
* */
public int enterBtn(Long studentId, Long testId);
/**获取考生信息详情*/
WebSchoolRecruitStudentVo getInfo(Long id);
/**
* 获取考试考生详情
* */
WebSchoolRecruitStudentVo getStuInfo(Long id, Long examId);
//根据考试id和考生id获取准考证信息(前提是当前学生已通过审核,且考试状态位于成绩发布)
RecruitAdmissionTicketVo getTicket(Long studentId, Long examId);
//根据考试id和考生id获取考试成绩信息(前提是当前学生已通过审核,且考试状态位于成绩发布)
QueryScoreVo getScore(Long studentId, Long examId);
//考生报名界面-暂存
public int webSave(Long examId, WebSchoolRecruitStudentVo student);
//考生报名界面-提交
public int webSubmit(Long examId, WebSchoolRecruitStudentVo student);
/** 教务管理-考试管理-信息审核列表 */
List<RecruitEduStudentVo> getInfoCheck(RecruitEduStudentVo vo);
/** 教务管理-考试管理-信息审核-修改 */
int editRecruitAndEdu(Long examId, RecruitAndEduStudentVo student);
int edit(Long examId, WebSchoolRecruitStudentVo student);
/** 教务管理-考试管理-信息审核-导出报名信息 */
List<SchoolRecruitStudentVo> editExport(List<Long> idList, Long examId);
/** 教务管理-考试管理-通过 */
String pass(Long examId, List<Long> studentIds);
/** 教务管理-考试管理-单个通过 */
int passOne(Long examId, Long studentId);
/** 教务管理-考试管理-退回修改 */
String back(Long examId, List<Long> studentIds);
/** 教务管理-考试管理-单个退回修改 */
int backOne(Long examId, Long studentId);
/** 教务管理-考试管理-驳回 */
String reject(Long examId, List<Long> studentIds);
/** 教务管理-考试管理-单个驳回 */
int rejectOne(Long examId, Long studentId);
/**
* 考务管理-考生账号管理-列表
* */
List<SchoolRecruitStudent> queryList(SchoolRecruitStudent student);
}
package yangtz.cs.liu.campus.vo.recruit;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
@Data
public class RecruitAndEduStudentVo extends OurBaseEntity {
private static final long serialVersionUID = 1L;
/** 姓名 */
@Excel(name = "姓名")
private String studentName;
/** 身份证号 */
@Excel(name = "身份证号")
private String idCard;
/** 学籍号 */
@Excel(name = "学籍号")
private String studentNumber;
/** 初中学校id */
@Excel(name = "初中学校id")
private Long juniorId;
private String schoolName;
/** 测试项目id */
@Excel(name = "测试项目id")
private Long testId;
private String project;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0==男,1=女")
private String sex;
/** 身高(单位厘米) */
@Excel(name = "身高", readConverterExp = "单=位厘米")
private double height;
/** 体重(单位千克) */
@Excel(name = "体重", readConverterExp = "单=位千克")
private double weight;
/** 联系方式1 */
@Excel(name = "联系方式1")
private String telephone1;
/** 联系方式2 */
@Excel(name = "联系方式2")
private String telephone2;
/** 照片 */
@Excel(name = "照片")
private String photo;
/***************教育局信息***************/
/** 身份证号 */
@Excel(name = "身份证号")
private String eduIdCard;
/** 姓名 */
@Excel(name = "姓名")
private String eduStudentName;
/** 学籍号 */
@Excel(name = "学籍号")
private String eduStudentNumber;
/** 初中学校id */
@Excel(name = "初中学校id")
private Long eduJuniorId;
/** 初中学校 */
@Excel(name = "初中学校")
private String eduSchoolName;
/** 测试项目id */
@Excel(name = "测试项目id")
private Long eduTestId;
/** 测试项目 */
@Excel(name = "测试项目")
private String eduProject;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0=男,1=女")
private String eduSex;
}
package yangtz.cs.liu.campus.vo.recruit;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
/**
* @author xuten
*/
@Data
public class RecruitEduExportVo {
/**
* 序号
* */
@Excel(name = "序号")
private int xh;
/** 身份证号 */
@Excel(name = "身份证号", width = 25)
private String eduIdCard;
/** 姓名 */
@Excel(name = "姓名")
private String eduStudentName;
/** 学籍号 */
@Excel(name = "学籍号")
private String eduStudentNumber;
/** 初中学校 */
@Excel(name = "初中学校")
private String eduSchoolName;
/** 测试项目 */
@Excel(name = "测试项目")
private String eduProject;
/** 性别(0=男,1=女) */
@Excel(name = "性别",combo = {"男","女"}, readConverterExp = "0=男,1=女")
private String eduSex;
}
package yangtz.cs.liu.campus.vo.recruit;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
@Data
public class RecruitEduStudentVo extends OurBaseEntity {
/**
* 考试id
*/
@Excel(name = "考试id")
private Long examId;
/**
* 学生id
*/
@Excel(name = "学生id")
private Long studentId;
/**
* 审核状态(只存在教育局信息时该字段没有值,0=驳回,1=通过,2 =退回修改,3=待审核)
*/
@Excel(name = "审核状态", readConverterExp = "只=存在教育局信息时该字段没有值,0=驳回,1=通过,2,==退回修改,3=待审核")
private String auditStatus;
/**
* 匹配状态(0=不匹配,1= 匹配,2=无教育局信息,3=未报名)
*/
@Excel(name = "匹配状态", readConverterExp = "0=不匹配,1=匹配,2=无教育局信息,3=未报名")
private String matchStatus;
/**
* 身份证号码
*/
@Excel(name = "身份证号码")
private String infoIdCard;
/***********学生自己的报名信息***********/
/** 姓名 */
@Excel(name = "姓名")
private String studentName;
/** 身份证号 */
@Excel(name = "身份证号")
private String idCard;
/** 学籍号 */
@Excel(name = "学籍号")
private String studentNumber;
/** 初中学校id */
@Excel(name = "初中学校id")
private Long juniorId;
private String schoolName;
/** 测试项目id */
@Excel(name = "测试项目id")
private Long testId;
private String project;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0==男,1=女")
private String sex;
/** 照片 */
@Excel(name = "照片")
private String photo;
/***************教育局信息***************/
/** 身份证号 */
@Excel(name = "身份证号")
private String eduIdCard;
/** 姓名 */
@Excel(name = "姓名")
private String eduStudentName;
/** 学籍号 */
@Excel(name = "学籍号")
private String eduStudentNumber;
/** 初中学校id */
@Excel(name = "初中学校id")
private Long eduJuniorId;
/** 初中学校 */
@Excel(name = "初中学校")
private String eduSchoolName;
/** 测试项目id */
@Excel(name = "测试项目id")
private Long eduTestId;
/** 测试项目 */
@Excel(name = "测试项目")
private String eduProject;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0=男,1=女")
private String eduSex;
}
package yangtz.cs.liu.campus.vo.recruit;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class RecruitExamAddressVo extends OurBaseEntity {
private Long examId;
private String auditStatus;
@Excel(name = "序号")
private int xh;
private String photo;
/** 身份证号 */
@Excel(name = "身份证号", width = 25)
private String idCard;
/** 姓名 */
@Excel(name = "姓名")
private String studentName;
/** 学籍号 */
@Excel(name = "学籍号", width = 25)
private String studentNumber;
/** 初中学校id */
private Long juniorId;
@Excel(name = "初中学校", width = 25)
private String schoolName;
/** 测试项目id */
private Long testId;
@Excel(name = "测试项目")
private String project;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0=男,1=女",combo = {"男","女"})
private String sex;
/** 准考证号 */
@Excel(name = "准考证号",width = 25)
private String examNumber;
/** 分组 */
@Excel(name = "分组")
private String inGroup;
/** 考试日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "考试日期", width = 25, dateFormat = "yyyy-MM-dd")
private Date examDate;
/** 考试时间 */
@Excel(name = "考试时间", dateFormat = "HH:mm")
private String examTime;
/** 考试地点 */
@Excel(name = "考试地点")
private String examAddress;
}
package yangtz.cs.liu.campus.vo.recruit;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class RecruitExamScoreVo extends OurBaseEntity {
private Long examId;
private String auditStatus;
@Excel(name = "序号")
private int xh;
private String photo;
/** 身份证号 */
@Excel(name = "身份证号")
private String idCard;
/** 姓名 */
@Excel(name = "姓名")
private String studentName;
/** 学籍号 */
@Excel(name = "学籍号")
private String studentNumber;
/** 初中学校id */
private Long juniorId;
@Excel(name = "初中学校")
private String schoolName;
/** 测试项目id */
private Long testId;
@Excel(name = "测试项目")
private String project;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0=男,1=女")
private String sex;
/** 身高(单位厘米) */
private double height;
/** 体重(单位千克) */
private double weight;
/** 联系方式1 */
private String telephone1;
/** 联系方式2 */
private String telephone2;
/** 准考证号 */
@Excel(name = "准考证号")
private String examNumber;
/** 分组 */
@Excel(name = "分组")
private String inGroup;
/** 考试日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "考试日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date examDate;
/** 考试时间 */
@Excel(name = "考试时间", dateFormat = "HH:mm")
private String examTime;
/** 考试地点 */
@Excel(name = "考试地点")
private String examAddress;
/** 成绩 */
@Excel(name = "成绩")
private String score;
/** 结果 */
@Excel(name = "结果")
private String result;
/** 资格线 */
@Excel(name = "资格线")
private String passScore;
}
package yangtz.cs.liu.campus.vo.recruit;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class SchoolRecruitExamVo extends OurBaseEntity {
private static final long serialVersionUID = 1L;
/**
* 考试名称
* */
private String examName;
/**
* 年度
* */
private Integer examYear;
/**
* 报名截止时间(具体到分钟)
* */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date deadline;
/**
* 考试开始时间
* */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/**
* 考试结束时间
* */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
/**
* 测试项目id(可多选,id之间用逗号隔开)(存库里)
* */
private String projectIds;
//返回给前端数组
private List<Long> projectIdList;
//展示的选自动的测试项目名称
private String projectName;
/**
* 考试安排
* */
private String examArrange;
/**
* 考试注意事项
* */
private String notice;
/**
* 状态(0=未发布,1=报名阶段(信息审核),2=考场分配,3=成绩发布,4=结束)
* */
private String status;
}
package yangtz.cs.liu.campus.vo.recruit;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
/**
* @author xuten
*/
@Data
public class SchoolRecruitStudentVo extends OurBaseEntity {
/**序号*/
@Excel(name = "序号")
private int xh;
/** 身份证号 */
@Excel(name = "身份证号",width = 30)
private String idCard;
/** 姓名 */
@Excel(name = "姓名")
private String studentName;
/** 学籍号 */
@Excel(name = "学籍号",width = 30)
private String studentNumber;
/** 初中学校id */
private Long juniorId;
@Excel(name = "初中学校",width = 30)
private String schoolName;
/** 测试项目id */
private Long testId;
@Excel(name = "测试项目")
private String project;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0=男,1=女")
private String sex;
/** 身高(单位厘米) */
@Excel(name = "身高")
private double height;
/** 体重(单位千克) */
@Excel(name = "体重")
private double weight;
/** 联系方式1 */
@Excel(name = "联系方式1")
private String telephone1;
/** 联系方式2 */
@Excel(name = "联系方式2")
private String telephone2;
}
package yangtz.cs.liu.webpage.vo;
import lombok.Data;
@Data
public class RecruitAdmissionTicketVo {
/**
* 考试名称
* */
private String examName;
/**
* 考试注意事项
* */
private String notice;
/**
* 姓名
* */
private String studentName;
/** 准考证号 */
private String examNumber;
/**
* 测试项目
* */
private String project;
/** 分组(座号) */
private String inGroup;
/** 手机号 */
private String phoneNumber;
/** 学校名称 */
private String schoolName;
/** 照片 */
private String photo;
//存放网页图片的base64 数据
private String photoData;
/**
* 考试年份
* */
private Integer examYear;
/**
* 考试月份
* */
private String examDate;
/**
* 考试时间
* */
private String examTime;
/** 考试地点 */
private String examAddress;
}
package yangtz.cs.liu.webpage.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class WebRecruitExamForStudentVo {
//主表考试id
Long id;
/**
* 考试名称
* */
private String examName;
/**
* 报名截止时间(具体到分钟)
* */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date deadline;
/**
* 当前状态(0=报名,1=待审核,2=通过,3=驳回,4=信息修改,5=准考证打印,6=成绩查询,7=审核)
* */
private String currentState;
}
package yangtz.cs.liu.webpage.vo;
import com.core.domain.OurBaseEntity;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
/**
* @author xuten
*/
@Data
public class WebSchoolRecruitStudentVo extends OurBaseEntity {
private static final long serialVersionUID = 1L;
/** 姓名 */
@Excel(name = "姓名")
private String studentName;
/** 身份证号 */
@Excel(name = "身份证号")
private String idCard;
/** 学籍号 */
@Excel(name = "学籍号")
private String studentNumber;
/** 初中学校id */
@Excel(name = "初中学校id")
private Long juniorId;
private String schoolName;
/** 测试项目id */
@Excel(name = "测试项目id")
private Long testId;
private String project;
/** 性别(0=男,1=女) */
@Excel(name = "性别", readConverterExp = "0==男,1=女")
private String sex;
/** 身高(单位厘米) */
@Excel(name = "身高", readConverterExp = "单=位厘米")
private double height;
/** 体重(单位千克) */
@Excel(name = "体重", readConverterExp = "单=位千克")
private double weight;
/** 联系方式1 */
@Excel(name = "联系方式1")
private String telephone1;
/** 联系方式2 */
@Excel(name = "联系方式2")
private String telephone2;
/** 照片 */
@Excel(name = "照片")
private String photo;
//存放网页图片的base64 数据
private String photoData;
/** 手机号 */
@Excel(name = "手机号")
private String phoneNumber;
/** 密码 */
@Excel(name = "密码")
private String password;
private String auditStatus;
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="yangtz.cs.liu.campus.mapper.recruit.EduRecruitStudentMapper">
<!--namespace根据自己需要创建的的mapper的路径和名称填写-->
<resultMap type="EduRecruitStudent" id="EduRecruitStudentResult">
<result property="id" column="id" />
<result property="examId" column="exam_id" />
<result property="eduIdCard" column="edu_id_card" />
<result property="eduStudentName" column="edu_student_name" />
<result property="eduStudentNumber" column="edu_student_number" />
<result property="eduJuniorId" column="edu_junior_id" />
<result property="eduSchoolName" column="edu_school_name" />
<result property="eduTestId" column="edu_test_id" />
<result property="eduProject" column="edu_project" />
<result property="eduSex" column="edu_sex" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectEduRecruitStudentVo">
select id, exam_id, edu_id_card, edu_student_name, edu_student_number, edu_junior_id, edu_school_name, edu_test_id, edu_project, edu_sex, create_time, create_by, update_time, update_by, del_flag from edu_recruit_student
</sql>
<select id="getStudent" resultType="yangtz.cs.liu.campus.domain.recruit.EduRecruitStudent">
<include refid="selectEduRecruitStudentVo"/>
where del_flag = '0' and exam_id = #{examId} and edu_id_card = #{eduIdCard}
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.recruit.SchoolRecruitProjectMapper">
<resultMap type="SchoolRecruitProject" id="SchoolRecruitProjectResult">
<result property="id" column="id" />
<result property="type" column="type" />
<result property="project" column="project" />
<result property="schoolOrder" column="school_order" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectSchoolRecruitProjectVo">
select id, type, project, school_order, create_time, create_by, update_time, update_by, del_flag from school_recruit_project
</sql>
<select id="selectSchoolRecruitProjectList" parameterType="SchoolRecruitProject" resultMap="SchoolRecruitProjectResult">
select id, type, project, school_order, create_time from school_recruit_project
<where>
del_flag = '0'
<if test="type != null and type != ''"> and type = #{type}</if>
<if test="project != null and project != ''"> and project like concat('%', #{project}, '%')</if>
<if test="schoolOrder != null and schoolOrder != ''"> and school_order = #{schoolOrder}</if>
</where>
order by school_order asc, create_time desc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="yangtz.cs.liu.campus.mapper.recruit.SchoolRecruitRelationMapper">
<!--namespace根据自己需要创建的的mapper的路径和名称填写-->
<resultMap type="SchoolRecruitRelation" id="SchoolRecruitRelationResult">
<result property="id" column="id" />
<result property="examId" column="exam_id" />
<result property="studentId" column="student_id" />
<result property="juniorId" column="junior_id" />
<result property="testId" column="test_id" />
<result property="auditStatus" column="audit_status" />
<result property="matchStatus" column="match_status" />
<result property="infoIdCard" column="info_id_card" />
<result property="submit" column="submit" />
<result property="examNumber" column="exam_number" />
<result property="inGroup" column="in_group" />
<result property="examDate" column="exam_date" />
<result property="examTime" column="exam_time" />
<result property="examAddress" column="exam_address" />
<result property="score" column="score" />
<result property="result" column="result" />
<result property="passScore" column="pass_score" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectSchoolRecruitRelationVo">
select id, exam_id, student_id, audit_status, match_status , junior_id, test_id, info_id_card, submit, exam_number, in_group, exam_date, exam_time, exam_address, score, result, pass_score, create_time, create_by, update_time, update_by, del_flag from school_recruit_relation
</sql>
<select id="getRelationByIds" resultType="yangtz.cs.liu.campus.domain.recruit.SchoolRecruitRelation">
<include refid="selectSchoolRecruitRelationVo" />
where del_flag = '0' and exam_id = #{examId} and student_id = #{studentId}
</select>
<select id="getInfoCheck" resultType="yangtz.cs.liu.campus.vo.recruit.RecruitEduStudentVo">
select sar.id, sar.exam_id, sar.student_id, sar.audit_status, sar.info_id_card,
sas.student_name, sas.id_card, sas.student_number,sar.junior_id, jhs.school_name,
sar.test_id, stp.project,sas.sex, sas.photo
from school_recruit_relation sar
left join school_recruit_student sas on sas.id = sar.student_id
left join school_recruit_project stp on stp.id = sar.test_id
left join junior_high_school jhs on jhs.id = sar.junior_id
where sar.del_flag = '0' and sas.del_flag = '0' and sar.exam_id = #{examId}
order by sar.create_time desc
</select>
<select id="getAddressList" resultType="yangtz.cs.liu.campus.vo.recruit.RecruitExamAddressVo">
select sar.id, sar.exam_id, sar.student_id, sar.exam_number, sar.in_group, sar.exam_date, sar.exam_time, sar.exam_address,
sas.student_name, sas.id_card, sas.student_number,sar.junior_id, jhs.school_name,
sar.test_id, stp.project,sas.sex, sas.photo
from school_recruit_relation sar
left join school_recruit_student sas on sas.id = sar.student_id
left join school_recruit_project stp on stp.id = sar.test_id
left join junior_high_school jhs on jhs.id = sar.junior_id
where sar.del_flag = '0' and sas.del_flag = '0' and sar.exam_id = #{examId} and sar.audit_status = #{auditStatus}
<if test="studentName != null and studentName != ''"> and sas.student_name like concat('%', #{studentName}, '%')</if>
<if test="idCard != null and idCard != ''"> and sas.id_card like concat('%', #{idCard}, '%')</if>
<if test="project != null and project != ''"> and stp.project like concat('%', #{project}, '%')</if>
order by sar.create_time desc
</select>
<select id="getAddressInfo" resultType="yangtz.cs.liu.campus.vo.recruit.RecruitExamScoreVo">
select sar.id, sar.exam_id, sar.student_id, sar.exam_number, sar.in_group, sar.exam_date, sar.exam_time, sar.exam_address,
sar.score, sar.result, sar.pass_score,
sas.student_name, sas.id_card, sas.student_number,sar.junior_id, jhs.school_name,
sar.test_id, stp.project,sas.sex, sas.photo, sas.height, sas.weight, sas.telephone1, sas.telephone2
from school_recruit_relation sar
left join school_recruit_student sas on sas.id = sar.student_id
left join school_recruit_project stp on stp.id = sar.test_id
left join junior_high_school jhs on jhs.id = sar.junior_id
where sar.del_flag = '0' and sas.del_flag = '0' and sar.id = #{id}
</select>
<select id="getScoreList" resultType="yangtz.cs.liu.campus.vo.recruit.RecruitExamScoreVo">
select sar.id, sar.exam_id, sar.student_id, sar.exam_number, sar.in_group, sar.exam_date, sar.exam_time, sar.exam_address,
sar.score, sar.result, sar.pass_score,
sas.student_name, sas.id_card, sas.student_number,sar.junior_id, jhs.school_name,
sar.test_id, stp.project,sas.sex, sas.photo
from school_recruit_relation sar
left join school_recruit_student sas on sas.id = sar.student_id
left join school_recruit_project stp on stp.id = sar.test_id
left join junior_high_school jhs on jhs.id = sar.junior_id
where sar.del_flag = '0' and sas.del_flag = '0' and sar.exam_id = #{examId} and sar.audit_status = #{auditStatus}
<if test="studentName != null and studentName != ''"> and sas.student_name like concat('%', #{studentName}, '%')</if>
<if test="idCard != null and idCard != ''"> and sas.id_card like concat('%', #{idCard}, '%')</if>
<if test="project != null and project != ''"> and stp.project like concat('%', #{project}, '%')</if>
order by sar.create_time desc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="yangtz.cs.liu.campus.mapper.recruit.SchoolRecruitStudentMapper">
<!--namespace根据自己需要创建的的mapper的路径和名称填写-->
<resultMap type="SchoolRecruitStudent" id="SchoolRecruitStudentResult">
<result property="id" column="id" />
<result property="studentName" column="student_name" />
<result property="idCard" column="id_card" />
<result property="studentNumber" column="student_number" />
<result property="sex" column="sex" />
<result property="height" column="height" />
<result property="weight" column="weight" />
<result property="telephone1" column="telephone1" />
<result property="telephone2" column="telephone2" />
<result property="photo" column="photo" />
<result property="phoneNumber" column="phone_number" />
<result property="password" column="password" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectSchoolRecruitStudentVo">
select id, student_name, id_card, student_number, sex, height, weight, telephone1, telephone2, photo, phone_number, password, create_time, create_by, update_time, update_by, del_flag from school_recruit_student
</sql>
<select id="checkPhoneUnique" resultType="yangtz.cs.liu.campus.domain.recruit.SchoolRecruitStudent">
select id, phone_number from school_recruit_student where phone_number = #{phoneNumber} and del_flag = '0' limit 1
</select>
<select id="checkIdCardUnique" resultType="yangtz.cs.liu.campus.domain.recruit.SchoolRecruitStudent">
select id, id_card from school_recruit_student where id_card = #{idcard} and del_flag = '0' limit 1
</select>
<select id="getStudentByPhoneNumber" resultType="yangtz.cs.liu.campus.domain.recruit.SchoolRecruitStudent">
<include refid="selectSchoolRecruitStudentVo"/>
<where>
del_flag = '0' and phone_number = #{phoneNumber} and id_card = #{idCard}
</where>
</select>
<select id="getInfo" resultType="yangtz.cs.liu.webpage.vo.WebSchoolRecruitStudentVo">
select sas.id, sas.student_name, sas.id_card, sas.student_number, sar.junior_id, jhs.school_name, sar.test_id, stp.project, sas.sex, sas.height, sas.weight, sas.telephone1, sas.telephone2,
sas.photo, sas.phone_number, sas.password from school_recruit_student sas
left join school_recruit_relation sar on sar.student_id = sas.id
left join junior_high_school jhs on jhs.id = sar.junior_id
left join school_recruit_project stp on stp.id = sar.test_id
where sas.del_flag = '0' and sar.del_flag = '0' and sas.id = #{id}
</select>
<select id="editExport" resultType="yangtz.cs.liu.campus.vo.recruit.SchoolRecruitStudentVo">
select sas.id, sas.student_name, sas.id_card, sas.student_number, sar.junior_id, jhs.school_name, sar.test_id, stp.project, sas.sex, sas.height, sas.weight, sas.telephone1, sas.telephone2,
sas.photo from school_recruit_student sas
left join school_recruit_relation sar on sar.student_id = sas.id
left join junior_high_school jhs on jhs.id = sar.junior_id
left join school_recruit_project stp on stp.id = sar.test_id
where sas.del_flag = '0' and sar.del_flag = '0' and sar.exam_id = #{examId}
<if test="idList != null and idList.size() > 0">
and sas.id in
<foreach collection="idList" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
</if>
order by sar.create_time desc
</select>
<select id="getStuInfo" resultType="yangtz.cs.liu.webpage.vo.WebSchoolRecruitStudentVo">
select sas.id, sas.student_name, sas.id_card, sas.student_number, sar.junior_id, jhs.school_name, sar.test_id, stp.project, sas.sex, sas.height, sas.weight, sas.telephone1, sas.telephone2,
sas.photo, sas.phone_number, sas.password, sar.audit_status from school_recruit_student sas
left join school_recruit_relation sar on sar.student_id = sas.id
left join junior_high_school jhs on jhs.id = sar.junior_id
left join school_recruit_project stp on stp.id = sar.test_id
where sas.del_flag = '0' and sar.del_flag = '0' and sas.id = #{id} and sar.exam_id = #{examId}
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment