From 8bb82c8ace9b0accda62a120253cb7a8eaacce8a Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 23 Jul 2021 16:55:53 +0800
Subject: [PATCH] 培训报名申请接口新增

---
 src/main/java/org/springblade/modules/training/mapper/TrainExamMapper.java            |   40 +++++
 src/main/java/org/springblade/modules/training/controller/TrainExamController.java    |  106 +++++++++++++++
 src/main/java/org/springblade/modules/training/entity/TrainExam.java                  |  101 ++++++++++++++
 src/main/java/org/springblade/modules/training/service/impl/TrainExamServiceImpl.java |   44 ++++++
 src/main/java/org/springblade/modules/training/mapper/TrainExamMapper.xml             |   61 ++++++++
 src/main/java/org/springblade/modules/training/service/TrainExamService.java          |   36 +++++
 src/main/java/org/springblade/modules/training/vo/TrainExamVo.java                    |   19 ++
 src/main/resources/application.yml                                                    |    1 
 8 files changed, 408 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/training/controller/TrainExamController.java b/src/main/java/org/springblade/modules/training/controller/TrainExamController.java
new file mode 100644
index 0000000..de13373
--- /dev/null
+++ b/src/main/java/org/springblade/modules/training/controller/TrainExamController.java
@@ -0,0 +1,106 @@
+package org.springblade.modules.training.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+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.exam.entity.ExamPaper;
+import org.springblade.modules.training.entity.TrainExam;
+import org.springblade.modules.training.service.TrainExamService;
+import org.springblade.modules.training.vo.TrainExamVo;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author zhongrj
+ * @time 2021-07-23
+ * @desc 报名培训申请管理控制层
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/trainExam")
+public class TrainExamController {
+
+	private final TrainExamService trainExamService;
+
+	/**
+	 * 自定义分页
+	 * @param query page,size
+	 * @param trainExam 报名培训申请信息对象
+	 */
+	@GetMapping("/page")
+	public R<IPage<TrainExamVo>> page(TrainExamVo trainExam, Query query) {
+		IPage<TrainExamVo> pages = trainExamService.selectTrainExamPage(Condition.getPage(query), trainExam);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增
+	 * @param trainExam 报名培训申请信息对象
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入trainExam")
+	public R save(@RequestBody TrainExam trainExam) {
+		return R.status(trainExamService.save(trainExam));
+	}
+
+	/**
+	 * 修改
+	 * @param trainExam 报名培训申请信息对象
+	 */
+	@PostMapping("/update")
+	public R update(@RequestBody TrainExam trainExam) {
+		return R.status(trainExamService.updateById(trainExam));
+	}
+
+	/**
+	 * 新增或修改
+	 * @param trainExam 报名培训申请信息对象
+	 */
+	@PostMapping("/submit")
+	public R submit(@RequestBody TrainExam trainExam) {
+		if (null==trainExam.getId()){
+			trainExam.setCreateTime(new Date());
+			trainExam.setAuditStatus(3);
+		}
+		return R.status(trainExamService.saveOrUpdate(trainExam));
+	}
+
+	/**
+	 * 删除
+	 * @param ids 报名培训申请信息ids 数组
+	 */
+	@PostMapping("/remove")
+	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+		return R.status(trainExamService.removeByIds(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 详情
+	 * @param trainExam 报名培训申请信息对象
+	 */
+	@GetMapping("/detail")
+	@ApiOperation(value = "详情", notes = "传入trainExam")
+	public R<TrainExamVo> detail(TrainExam trainExam) {
+		TrainExamVo detail = trainExamService.selectTrainExamInfo(trainExam);
+		return R.data(detail);
+	}
+
+	/**
+	 * 自定义树
+	 * @param trainExam 报名培训申请信息对象
+	 * @return
+	 */
+	@GetMapping("/page-tree")
+	public R pageTree(TrainExam trainExam) {
+		List<TrainExam> pages = trainExamService.selectTrainExamPageTree(trainExam);
+		return R.data(pages);
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/training/entity/TrainExam.java b/src/main/java/org/springblade/modules/training/entity/TrainExam.java
new file mode 100644
index 0000000..95ac087
--- /dev/null
+++ b/src/main/java/org/springblade/modules/training/entity/TrainExam.java
@@ -0,0 +1,101 @@
+package org.springblade.modules.training.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 报名培训申请实体类
+ * @author zhongrj
+ * @time 2021-07-23
+ */
+@Data
+@TableName("sys_train_exam")
+public class TrainExam implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 报名培训申请主键id
+	 */
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
+
+
+
+	/**
+	 * 培训考试名称
+	 */
+	@TableField("train_exam_name")
+	private String trainExamName;
+
+
+
+
+	/**
+	 * 开始时间
+	 */
+	@TableField("start_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date startTime;
+
+	/**
+	 * 结束时间
+	 */
+	@TableField("end_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date endTime;
+
+
+
+
+	/**
+	 * 总分
+	 */
+	@TableField("total_score")
+	private Integer totalScore;
+
+
+	/**
+	 * 组织机构id
+	 */
+	@TableField("dept_id")
+	private Long deptId;
+
+
+
+
+
+	/**
+	 * 审核状态   1:通过   2:不通过  3:待审核
+	 */
+	@TableField("audit_status")
+	private Integer auditStatus;
+
+
+
+	/**
+	 * 创建时间
+	 */
+	@TableField("create_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+
+
+
+	/**
+	 * 审核明细
+	 */
+	@TableField("audit_detail")
+	private String auditDetail;
+
+}
diff --git a/src/main/java/org/springblade/modules/training/mapper/TrainExamMapper.java b/src/main/java/org/springblade/modules/training/mapper/TrainExamMapper.java
new file mode 100644
index 0000000..caf9e0f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/training/mapper/TrainExamMapper.java
@@ -0,0 +1,40 @@
+package org.springblade.modules.training.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.training.entity.TrainExam;
+import org.springblade.modules.training.vo.TrainExamVo;
+
+import java.util.List;
+
+/**
+ * 报名培训申请Mapper 接口
+ * @author zhongrj
+ */
+public interface TrainExamMapper extends BaseMapper<TrainExam> {
+
+
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page   分页
+	 * @param trainExam 实体
+	 * @return
+	 */
+	List<TrainExamVo> selectTrainExamPage(IPage page, @Param("trainExam") TrainExamVo trainExam);
+
+	/**
+	 * 详情
+	 * @param trainExam 报名培训申请信息对象
+	 */
+	TrainExamVo selectTrainExamInfo(@Param("trainExam") TrainExam trainExam);
+
+	/**
+	 * 自定义树
+	 * @param trainExam 报名培训申请信息对象
+	 * @return
+	 */
+	List<TrainExam> selectTrainExamPageTree(@Param("trainExam") TrainExam trainExam);
+}
diff --git a/src/main/java/org/springblade/modules/training/mapper/TrainExamMapper.xml b/src/main/java/org/springblade/modules/training/mapper/TrainExamMapper.xml
new file mode 100644
index 0000000..90c2363
--- /dev/null
+++ b/src/main/java/org/springblade/modules/training/mapper/TrainExamMapper.xml
@@ -0,0 +1,61 @@
+<?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.training.mapper.TrainExamMapper">
+
+    <!--报名培训分页信息-->
+    <select id="selectTrainExamPage" resultType="org.springblade.modules.training.vo.TrainExamVo">
+        SELECT
+            sr.*,bt.dept_name AS deptName
+        FROM
+            sys_train_exam sr
+        LEFT JOIN
+            blade_dept bt
+        ON
+            sr.dept_id = bt.id
+        WHERE
+            1=1
+        <if test="trainExam.deptName!=null and  trainExam.deptName!=''">
+            and bt.dept_name like concat('%', #{trainExam.deptName},'%')
+        </if>
+        <if test="trainExam.trainExamName!=null and  trainExam.trainExamName!=''">
+            and sr.train_exam_name like concat('%', #{trainExam.trainExamName},'%')
+        </if>
+        <if test="trainExam.auditStatus!=null">
+            and sr.audit_status = #{trainExam.auditStatus}
+        </if>
+        <if test="trainExam.deptId!=null and trainExam.deptId!=''">
+            and sr.dept_id = #{trainExam.deptId}
+        </if>
+    </select>
+
+    <!--报名培训详情信息-->
+    <select id="selectTrainExamInfo" resultType="org.springblade.modules.training.vo.TrainExamVo">
+        SELECT
+            sr.*,bt.dept_name AS deptName
+        FROM
+            sys_train_exam sr
+        LEFT JOIN
+            blade_dept bt
+        ON
+            sr.dept_id = bt.id
+        WHERE
+            1=1
+        <if test="trainExam.id!=null">
+            and sr.id = #{trainExam.id}
+        </if>
+    </select>
+
+
+    <!--自定义树-->
+    <select id="selectTrainExamPageTree" resultType="org.springblade.modules.training.entity.TrainExam">
+        select
+            id,train_exam_name trainExamName
+        from
+            sys_train_exam
+        where
+            1=1
+        <if test="trainExam.trainExamName!=null and  trainExam.trainExamName!=''">
+            and sr.train_exam_name like concat('%', #{trainExam.trainExamName},'%')
+        </if>
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/training/service/TrainExamService.java b/src/main/java/org/springblade/modules/training/service/TrainExamService.java
new file mode 100644
index 0000000..ade1a6a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/training/service/TrainExamService.java
@@ -0,0 +1,36 @@
+package org.springblade.modules.training.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.training.entity.TrainExam;
+import org.springblade.modules.training.vo.TrainExamVo;
+
+import java.util.List;
+
+/**
+ * 报名培训申请服务类
+ * @author zhongrj
+ */
+public interface TrainExamService extends IService<TrainExam> {
+
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @param trainExam
+	 * @return
+	 */
+	IPage<TrainExamVo> selectTrainExamPage(IPage<TrainExamVo> page, TrainExamVo recruitment);
+
+	/**
+	 * 详情
+	 * @param trainExam 报名培训申请信息对象
+	 */
+	TrainExamVo selectTrainExamInfo(TrainExam trainExam);
+
+	/**
+	 * 自定义树
+	 * @param trainExam 报名培训申请信息对象
+	 * @return
+	 */
+	List<TrainExam> selectTrainExamPageTree(TrainExam trainExam);
+}
diff --git a/src/main/java/org/springblade/modules/training/service/impl/TrainExamServiceImpl.java b/src/main/java/org/springblade/modules/training/service/impl/TrainExamServiceImpl.java
new file mode 100644
index 0000000..039430e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/training/service/impl/TrainExamServiceImpl.java
@@ -0,0 +1,44 @@
+
+package org.springblade.modules.training.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.training.entity.TrainExam;
+import org.springblade.modules.training.mapper.TrainExamMapper;
+import org.springblade.modules.training.service.TrainExamService;
+import org.springblade.modules.training.vo.TrainExamVo;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 报名培训申请服务实现类
+ * @author zhongrj
+ */
+@Service
+public class TrainExamServiceImpl extends ServiceImpl<TrainExamMapper, TrainExam> implements TrainExamService {
+
+	@Override
+	public IPage<TrainExamVo> selectTrainExamPage(IPage<TrainExamVo> page, TrainExamVo trainExam) {
+		return page.setRecords(baseMapper.selectTrainExamPage(page, trainExam));
+	}
+
+	/**
+	 * 详情
+	 * @param trainExam 报名培训申请信息对象
+	 */
+	@Override
+	public TrainExamVo selectTrainExamInfo(TrainExam trainExam) {
+		return baseMapper.selectTrainExamInfo(trainExam);
+	}
+
+	/**
+	 * 自定义树
+	 * @param trainExam 报名培训申请信息对象
+	 * @return
+	 */
+	@Override
+	public List<TrainExam> selectTrainExamPageTree(TrainExam trainExam) {
+		return baseMapper.selectTrainExamPageTree(trainExam);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/training/vo/TrainExamVo.java b/src/main/java/org/springblade/modules/training/vo/TrainExamVo.java
new file mode 100644
index 0000000..7cf0fbe
--- /dev/null
+++ b/src/main/java/org/springblade/modules/training/vo/TrainExamVo.java
@@ -0,0 +1,19 @@
+package org.springblade.modules.training.vo;
+
+import lombok.Data;
+import org.springblade.modules.training.entity.TrainExam;
+import org.springblade.modules.training.entity.TrainingRegistration;
+
+import java.io.Serializable;
+
+/**
+ * @author zhongrj
+ */
+@Data
+public class TrainExamVo extends TrainExam implements Serializable {
+
+	/**
+	 * 组织机构名称
+	 */
+	private String deptName;
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1e43e3e..d9c303e 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -206,6 +206,7 @@
       - /examScore/**
       - /exampaper/**
       - /apply/**
+      - /trainExam/**
     #授权认证配置
     auth:
       - method: ALL

--
Gitblit v1.9.3