Commit 9dc500a5 by wangqi

招聘

parent 5729450f
......@@ -135,6 +135,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
//网页注册登录接口放行
.antMatchers( "/web/artStudent/register","/web/artStudent/login").permitAll()
.antMatchers( "/web/recruitStudent/register","/web/recruitStudent/login").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
......
package yangtz.cs.liu.campus.controller.examination;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import yangtz.cs.liu.campus.domain.recruit.SchoolRecruitStudent;
import yangtz.cs.liu.campus.service.recruit.ISchoolRecruitStudentService;
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 javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author xuten
*/
@RestController
@RequestMapping("/recruitStudent")
public class SchoolRecruitStudentController extends BaseController {
@Autowired
private ISchoolRecruitStudentService recruitStudentService;
/**教务管理-考生账号-修改页面
* 考生信息查看
* 获取学生
* */
@GetMapping("/getInfo/{id}")
public AjaxResult getInfo(@PathVariable Long id)
{
//return AjaxResult.success(recruitStudentService.getInfo(id));
return AjaxResult.success(recruitStudentService.getById(id));
}
/**教务管理-信息审核-修改页面
* 考生信息查看
* 获取学生
* */
@GetMapping("/getStuInfo/{id}/{examId}")
public AjaxResult getStuInfo(@PathVariable Long id, @PathVariable Long examId)
{
return AjaxResult.success(recruitStudentService.getStuInfo(id,examId));
}
/**教务管理-信息审核-修改页面
* 点击保存按钮,实现对已提交报名的学生信息进行修改
* 需修改考生与考试关系的身份证号字段
* */
@PutMapping("/edit/{examId}")
public AjaxResult edit(@PathVariable Long examId,@RequestBody RecruitAndEduStudentVo student)
{
if(StringUtils.isNull(student.getId())){
throw new ServiceException("id为空,请检查");
}
return toAjax(recruitStudentService.editRecruitAndEdu(examId, student));
}
/**
* 教务管理-信息审核-导出报名信息
* 导出全部报名信息或按条件模糊查询的信息
* */
@PostMapping("/export/{examId}")
public void export(HttpServletResponse response, RecruitEduStudentVo vo, @PathVariable Long examId) {
List<SchoolRecruitStudentVo> list = new ArrayList<>();
ExcelUtil<SchoolRecruitStudentVo> util = new ExcelUtil<>(SchoolRecruitStudentVo.class);
vo.setExamId(examId);
List<RecruitEduStudentVo> voList = recruitStudentService.getInfoCheck(vo);
//获取所有studentId
if(StringUtils.isNotNull(voList) && voList.size() > 0){
List<Long> idList = voList.stream().map(RecruitEduStudentVo::getStudentId).distinct().collect(Collectors.toList());
if(StringUtils.isNotNull(idList) && idList.size() > 0){
list = recruitStudentService.editExport(idList,examId);
util.exportExcel(response, list, "学生报名信息表");
}else {
util.exportExcel(response, list, "学生报名信息表");
}
}
util.exportExcel(response, list, "学生报名信息表");
}
/**
* 考务管理-考生账号管理-列表
* */
@GetMapping("/list")
public TableDataInfo list(SchoolRecruitStudent student) {
startPage();
return getDataTable(recruitStudentService.queryList(student));
}
/**考务管理-考生账号管理-重置密码*/
@PutMapping("/resetPwd")
public AjaxResult resetPwd(@RequestBody SchoolRecruitStudent student)
{
if(StringUtils.isNull(student.getId())){
throw new ServiceException("id为空");
}
student.setPassword(SecurityUtils.encryptPassword(student.getPassword()));
student.update();
return toAjax(recruitStudentService.updateById(student));
}
}
package yangtz.cs.liu.campus.controller.examination;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import yangtz.cs.liu.campus.domain.examination.SchoolrecruitProject;
import yangtz.cs.liu.campus.service.examination.ISchoolrecruitProjectService;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 测试项目Controller
*
* @author wengxiulin
* @date 2023-04-11
*/
@RestController
@RequestMapping("/schoolrecruitProject")
public class SchoolrecruitProjectController extends BaseController
{
@Autowired
private ISchoolrecruitProjectService schoolrecruitProjectService;
/**
* 查询测试项目列表
*/
@GetMapping("/list")
public TableDataInfo list(SchoolrecruitProject schoolrecruitProject)
{
// startPage();
List<SchoolrecruitProject> list = schoolrecruitProjectService.selectSchoolrecruitProjectList(schoolrecruitProject);
return getDataTable(list);
}
/**
* 导出测试项目列表
*/
@Log(title = "examination", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SchoolrecruitProject schoolrecruitProject)
{
List<SchoolrecruitProject> list = schoolrecruitProjectService.selectSchoolrecruitProjectList(schoolrecruitProject);
ExcelUtil<SchoolrecruitProject> util = new ExcelUtil<SchoolrecruitProject>(SchoolrecruitProject.class);
util.exportExcel(response, list, "examination数据");
}
/**
* 获取测试项目详细信息
*/
@GetMapping(value = "/getInfo/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolrecruitProjectService.getById(id));
}
/**
* 新增测试项目
*/
@Log(title = "examination", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolrecruitProject schoolrecruiProject)
{
schoolrecruiProject.insert();
return toAjax(schoolrecruitProjectService.save(schoolrecruiProject));
}
/**
* 修改测试项目
*/
@Log(title = "examination", businessType = BusinessType.UPDATE)
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolrecruitProject schoolrecruiProject)
{
if (StringUtils.isNull(schoolrecruiProject.getId())){
throw new ServiceException("id为空,修改失败");
}
schoolrecruiProject.update();
return toAjax(schoolrecruitProjectService.updateById(schoolrecruiProject));
}
/**
* 删除测试项目
*/
@Log(title = "examination", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable List<Long> ids)
{
return toAjax(schoolrecruitProjectService.removeByIds(ids));
}
/**
* 本次考试下所能选择的测试项目
* */
@GetMapping("/getProjectList/{examId}")
public TableDataInfo getProjectList(@PathVariable Long examId,SchoolrecruitProject schoolrecruiProject)
{
return getDataTable(schoolrecruitProjectService.getProjectList(examId,schoolrecruiProject));
}
}
package yangtz.cs.liu.campus.domain.examination;
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.mapper.examination;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.examination.SchoolTestProject;
import yangtz.cs.liu.campus.domain.examination.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.service.examination;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.examination.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.impl.examination;
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.examination.SchoolArtExam;
import yangtz.cs.liu.campus.domain.examination.SchoolrecruitProject;
import yangtz.cs.liu.campus.domain.examination.SchoolrecruitProject;
import yangtz.cs.liu.campus.mapper.examination.SchoolArtExamMapper;
import yangtz.cs.liu.campus.mapper.examination.SchoolrecruitProjectMapper;
import yangtz.cs.liu.campus.mapper.examination.SchoolrecruitProjectMapper;
import yangtz.cs.liu.campus.service.examination.ISchoolrecruitProjectService;
import yangtz.cs.liu.campus.service.examination.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 SchoolArtExamMapper examMapper;
/**
* 查询测试项目列表
*
* @param schoolrecruitProject examination
* @return examination
*/
@Override
public List<SchoolrecruitProject> selectSchoolrecruitProjectList(SchoolrecruitProject schoolrecruitProject)
{
return schoolrecruitProjectMapper.selectSchoolrecruitProjectList(schoolrecruitProject);
}
//获取本次考试所能选择的测试项目
@Override
public List<SchoolrecruitProject> getProjectList(Long examId,SchoolrecruitProject schoolrecruitProject) {
SchoolArtExam 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);
}
}
......@@ -197,7 +197,21 @@ public class SchoolRecruitStudentServiceImpl extends ServiceImpl<SchoolRecruitSt
@Override
public WebSchoolRecruitStudentVo getStuInfo(Long id, Long examId) {
return recruitStudentMapper.getStuInfo(id, examId);
WebSchoolRecruitStudentVo s = recruitStudentMapper.getStuInfo(id, examId);
LambdaQueryWrapper<SchoolRecruitStudentJl> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolRecruitStudentJl::getStudentId, s.getId());
lqw.eq(SchoolRecruitStudentJl::getDelFlag, "0");
List<SchoolRecruitStudentJl> resumeData = recruitStudentJlMapper.selectList(lqw);
s.setResumeData(resumeData);
LambdaQueryWrapper<SchoolRecruitStudentFamily> lqw2 = new LambdaQueryWrapper<>();
lqw2.eq(SchoolRecruitStudentFamily::getStudentId, s.getId());
lqw2.eq(SchoolRecruitStudentFamily::getDelFlag, "0");
List<SchoolRecruitStudentFamily> familyList = recruitStudentFamilyMapper.selectList(lqw2);
s.setRemeberData(familyList);
return s;
}
//根据考试id和考生id获取准考证信息(前提是当前学生已通过审核,且考试状态位于成绩发布)
......@@ -321,19 +335,47 @@ public class SchoolRecruitStudentServiceImpl extends ServiceImpl<SchoolRecruitSt
s.setTelephone2(student.getTelephone2());
s.setPhoto(student.getPhoto());
s.setUpdateTime(DateUtils.getNowDate());
s.setMz(student.getMz());
s.setZzmm(student.getZzmm());
s.setCsrq(student.getCsrq());
s.setHyzk(student.getHyzk());
s.setHjszd(student.getHjszd());
s.setSyd(student.getSyd());
s.setKssf(student.getKssf());
s.setCjgzsj(student.getCjgzsj());
s.setXgzdwzw(student.getXgzdwzw());
s.setBkxlsfqrz(student.getBkxlsfqrz());
s.setXl(student.getXl());
s.setXw(student.getXw());
s.setByxx(student.getByxx());
s.setSxzz(student.getSxzz());
s.setZhbysj(student.getZhbysj());
recruitStudentMapper.updateById(s);
//从表信息的保存
//简历
LambdaQueryWrapper<SchoolRecruitStudentJl> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolRecruitStudentJl::getStudentId, s.getId());
recruitStudentJlMapper.delete(lqw);
List<SchoolRecruitStudentJl> resumeData = student.getResumeData();
for(SchoolRecruitStudentJl j:resumeData){
j.setId(null);
j.setStudentId(student.getId());
recruitStudentJlMapper.insert(j);
}
//家庭
LambdaQueryWrapper<SchoolRecruitStudentFamily> lqw2 = new LambdaQueryWrapper<>();
lqw2.eq(SchoolRecruitStudentFamily::getStudentId, s.getId());
recruitStudentFamilyMapper.delete(lqw2);
List<SchoolRecruitStudentFamily> remeberData = student.getRemeberData();
for(SchoolRecruitStudentFamily j:remeberData){
j.setId(null);
j.setStudentId(student.getId());
recruitStudentFamilyMapper.insert(j);
}
//附件
......@@ -390,6 +432,35 @@ public class SchoolRecruitStudentServiceImpl extends ServiceImpl<SchoolRecruitSt
s.setPhoto(student.getPhoto());
s.setUpdateTime(DateUtils.getNowDate());
recruitStudentMapper.updateById(s);
//从表信息的保存
//简历
LambdaQueryWrapper<SchoolRecruitStudentJl> lqw = new LambdaQueryWrapper<>();
lqw.eq(SchoolRecruitStudentJl::getStudentId, s.getId());
recruitStudentJlMapper.delete(lqw);
List<SchoolRecruitStudentJl> resumeData = student.getResumeData();
for(SchoolRecruitStudentJl j:resumeData){
j.setStudentId(student.getId());
recruitStudentJlMapper.insert(j);
}
//家庭
LambdaQueryWrapper<SchoolRecruitStudentFamily> lqw2 = new LambdaQueryWrapper<>();
lqw2.eq(SchoolRecruitStudentFamily::getStudentId, s.getId());
recruitStudentFamilyMapper.delete(lqw2);
List<SchoolRecruitStudentFamily> remeberData = student.getRemeberData();
for(SchoolRecruitStudentFamily j:remeberData){
j.setStudentId(student.getId());
recruitStudentFamilyMapper.insert(j);
}
//附件
List<SchoolRecruitStudentFjb> fileList = student.getFileList();
//获取考试考生关系
SchoolRecruitRelation relation = recruitRelationMapper.getRelationByIds(examId, student.getId());
//暂无关系,则新增一份关系
......
......@@ -77,4 +77,22 @@ public class WebSchoolRecruitStudentVo extends OurBaseEntity {
private List<SchoolRecruitStudentJl> resumeData;
private List<SchoolRecruitStudentFamily> remeberData;
private List<SchoolRecruitStudentFjb> fileList;
private String mz;
private String zzmm;
private String csrq;
private String hyzk;
private String hjszd;
private String syd;
private String kssf;
private String cjgzsj;
private String xgzdwzw;
private String bkxlsfqrz;
private String xl;
private String xw;
private String byxx;
private String sxzz;
private String zhbysj;
}
<?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.examination.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>
......@@ -20,6 +20,22 @@
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="delFlag" column="del_flag" />
<result property="mz" column="mz" />
<result property="zzmm" column="zzmm" />
<result property="csrq" column="csrq" />
<result property="hyzk" column="hyzk" />
<result property="hjszd" column="hjszd" />
<result property="syd" column="syd" />
<result property="kssf" column="kssf" />
<result property="cjgzsj" column="cjgzsj" />
<result property="xgzdwzw" column="xgzdwzw" />
<result property="bkxlsfqrz" column="bkxlsfqrz" />
<result property="xl" column="xl" />
<result property="xw" column="xw" />
<result property="byxx" column="byxx" />
<result property="sxzz" column="sxzz" />
<result property="zhbysj" column="zhbysj" />
</resultMap>
<sql id="selectSchoolRecruitStudentVo">
......@@ -66,8 +82,10 @@
</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
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 ,
sas.mz, sas.zzmm,sas.csrq, sas.hyzk, sas.hjszd, sas.syd, sas.kssf, sas.cjgzsj, sas.xgzdwzw, sas.bkxlsfqrz, sas.xl, sas.xw, sas.byxx, sas.sxzz, sas.zhbysj
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
......
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