Commit 5729450f by wangjian

Merge remote-tracking branch 'origin/master'

parents 426bd5c4 8dedabff
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);
}
}
<?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>
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