src/main/java/org/springblade/common/config/BladeConfiguration.java
@@ -88,6 +88,7 @@ //考试大屏接口 secureRegistry.excludePathPatterns("/exampaper/getList"); secureRegistry.excludePathPatterns("/exampaper/getLatest"); secureRegistry.excludePathPatterns("/exam/examinationNote/getDpDetail"); secureRegistry.excludePathPatterns("/signInRecords/signSituation/pie"); secureRegistry.excludePathPatterns("/signInRecords/signSituation/bar"); src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
@@ -139,6 +139,18 @@ return R.data(list); } /** * 查询列表 * * @param examPaperVO 查询参数 * @return */ @GetMapping("/getLatest") public R getLatest(ExamPaperVO examPaperVO) { ExamPaperVO latest= examPaperService.getLatest(examPaperVO); return R.data(latest); } /** * 新增 src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
@@ -175,4 +175,6 @@ List<ExamSubjectChoicesVO> simulateQueryRandomSubjectList(); List<ExamPaperVO> getList(@Param("vo") ExamPaperVO examPaperVO); ExamPaperVO getLatest(@Param("vo") ExamPaperVO examPaperVO); } src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -602,6 +602,16 @@ <if test="vo.examTime != null and vo.examTime != ''"> AND DATE_FORMAT(start_time,'%Y-%m-%d') = DATE_FORMAT(#{vo.examTime},'%Y-%m-%d') </if> ORDER BY start_time DESC </select> <select id="getLatest" resultType="org.springblade.modules.exam.vo.ExamPaperVO"> SELECT * FROM ksxt_exam where 1=1 <if test="vo.examTime != null and vo.examTime != ''"> AND DATE_FORMAT(start_time,'%Y-%m-%d') = DATE_FORMAT(#{vo.examTime},'%Y-%m-%d') </if> ORDER BY start_time DESC LIMIT 1 </select> src/main/java/org/springblade/modules/exam/service/ExamPaperService.java
@@ -158,4 +158,6 @@ * @return */ List<ExamPaperVO> getList(ExamPaperVO examPaperVO); ExamPaperVO getLatest(ExamPaperVO examPaperVO); } src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -423,4 +423,9 @@ public List<ExamPaperVO> getList(ExamPaperVO examPaperVO) { return baseMapper.getList(examPaperVO); } @Override public ExamPaperVO getLatest(ExamPaperVO examPaperVO) { return baseMapper.getLatest(examPaperVO); } } src/main/java/org/springblade/modules/leave/controller/LeavesController.java
New file @@ -0,0 +1,112 @@ package org.springblade.modules.leave.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.leave.entity.Leave; import org.springblade.modules.leave.service.ILeaveService; import org.springblade.modules.leave.vo.LeaveVO; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @RestController @AllArgsConstructor @RequestMapping("/leave") @Api(value = "", tags = "接口") public class LeavesController extends BladeController { private final ILeaveService leaveService; /** * 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入leave") public R detail(Leave leave) { Leave detail = leaveService.getOne(Condition.getQueryWrapper(leave)); return R.data(detail); } /** * 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入leave") public R<IPage<Leave>> list(Leave leave, Query query) { IPage<Leave> pages = leaveService.page(Condition.getPage(query), Condition.getQueryWrapper(leave)); return R.data(pages); } /** * 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入leave") public R<IPage<LeaveVO>> page(LeaveVO leaveVO, Query query) { return R.data(leaveService.getPage(Condition.getPage(query), leaveVO)); } /** * 新增 */ @PostMapping("/save") public R save(@Valid @RequestBody Leave leave) { return R.status(leaveService.save(leave)); } /** * 修改 */ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入leave") public R update(@Valid @RequestBody Leave leave) { return R.status(leaveService.updateById(leave)); } /** * 新增或修改 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入leave") public R submit(@Valid @RequestBody Leave leave) { return R.status(leaveService.saveOrUpdate(leave)); } /** * 新增或修改 */ @PostMapping("/audit") public R audit(@RequestBody Leave leave) { return R.status(leaveService.audit(leave)); } /** * 删除 */ @PostMapping("/remove") @ApiOperationSupport(order = 8) @ApiOperation(value = "删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(leaveService.removeByIds(Func.toLongList(ids))); } } src/main/java/org/springblade/modules/leave/entity/Leave.java
New file @@ -0,0 +1,53 @@ package org.springblade.modules.leave.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springblade.core.mp.base.BaseEntity; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @Data @TableName("sys_leave") public class Leave extends BaseEntity { //请假原因 private String reason; @DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) @JsonFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) private Date startTime; @DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) @JsonFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) private Date endTime; @DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) @JsonFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) private Date auditTime; private String urls; //审核状态(1、通过;2不通过;10待审核) private String auditStatus; //审核明细 private String auditDetail; //审核人 private String auditUser; } src/main/java/org/springblade/modules/leave/mapper/LeavesMapper.java
New file @@ -0,0 +1,13 @@ package org.springblade.modules.leave.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.modules.leave.entity.Leave; import org.springblade.modules.leave.vo.LeaveVO; import java.util.List; public interface LeavesMapper extends BaseMapper<Leave> { List<LeaveVO> getPage(IPage<LeaveVO> page, @Param("vo") LeaveVO leaveVO); } src/main/java/org/springblade/modules/leave/mapper/LeavesMapper.xml
New file @@ -0,0 +1,35 @@ <?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="org.springblade.modules.leave.mapper.LeavesMapper"> <select id="getPage" resultType="org.springblade.modules.leave.vo.LeaveVO"> SELECT l.*, bu.real_name as applyName, bu1.real_name as auditName FROM sys_leave l LEFT JOIN blade_user bu ON bu.id = l.create_user LEFT JOIN blade_user bu1 ON bu1.id = l.audit_user where l.is_deleted = 0 <if test="vo.applyName != null and vo.applyName !='' "> AND bu.real_name LIKE CONCAT('%', #{vo.applyName} , '%') </if> <if test="vo.auditName != null and vo.auditName !='' "> AND bu1.real_name LIKE CONCAT('%', #{vo.auditName} , '%') </if> <if test="vo.applyStartTime!=null and vo.applyStartTime!=''"> and date_format(l.create_time,'%Y-%m-%d')>=#{vo.applyStartTime} </if> <if test="vo.applyEndTime!=null and vo.applyEndTime!=''"> and date_format(l.create_time,'%Y-%m-%d')<=#{vo.applyEndTime} </if> <if test="vo.leaveDay != null "> and datediff(l.start_time,l.end_time) <=#{vo.leaveDay} </if> <if test="vo.auditStatus != null and vo.auditStatus !=''"> and l.audit_status = #{vo.auditStatus} </if> ORDER BY l.create_time DESC </select> </mapper> src/main/java/org/springblade/modules/leave/service/ILeaveService.java
New file @@ -0,0 +1,13 @@ package org.springblade.modules.leave.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.sun.org.apache.xpath.internal.operations.Bool; import org.springblade.core.mp.base.BaseService; import org.springblade.modules.leave.entity.Leave; import org.springblade.modules.leave.vo.LeaveVO; public interface ILeaveService extends BaseService<Leave> { IPage<LeaveVO> getPage(IPage<LeaveVO> page, LeaveVO leaveVO); Boolean audit(Leave leave); } src/main/java/org/springblade/modules/leave/service/impl/LeavesServiceImpl.java
New file @@ -0,0 +1,26 @@ package org.springblade.modules.leave.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.modules.leave.entity.Leave; import org.springblade.modules.leave.mapper.LeavesMapper; import org.springblade.modules.leave.service.ILeaveService; import org.springblade.modules.leave.vo.LeaveVO; import org.springframework.stereotype.Service; import java.util.Date; @Service public class LeavesServiceImpl extends BaseServiceImpl<LeavesMapper, Leave> implements ILeaveService { @Override public IPage<LeaveVO> getPage(IPage<LeaveVO> page, LeaveVO leaveVO) { return page.setRecords(baseMapper.getPage(page,leaveVO)); } @Override public Boolean audit(Leave leave) { leave.setAuditTime(new Date()); return updateById(leave); } } src/main/java/org/springblade/modules/leave/vo/LeaveVO.java
New file @@ -0,0 +1,21 @@ package org.springblade.modules.leave.vo; import lombok.Data; import org.springblade.modules.leave.entity.Leave; @Data public class LeaveVO extends Leave { //申请人 private String applyName; //审核人 private String auditName; private String applyStartTime; private String applyEndTime; //请假天数范围 private Integer leaveDay; }