From 1936cef71ca4ef95d52c951b4af5948c7885b893 Mon Sep 17 00:00:00 2001
From: zf <1603559716@qq.com>
Date: 星期一, 19 二月 2024 15:17:26 +0800
Subject: [PATCH] 考试申报
---
exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/TrainingInstitution.java | 9
exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ExamApplyQuery.java | 29 +
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 45 ++
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/SysDistrictVo.java | 54 +++
exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java | 2
exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java | 12
exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java | 2
exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamApplyAddForm.java | 86 ++++
exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml | 35 +
exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java | 2
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserInstitution.java | 10
exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/ExamApplyModForm.java | 90 +++++
exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamApplyService.java | 21 +
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java | 52 ++
exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ExamApply.java | 81 ++++
exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/ExamApplyVO.java | 64 +++
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/TrainingInstitutionVo.java | 33 +
exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java | 7
exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamApplyController.java | 100 +++++
exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/TrainingInstitutionMapper.java | 4
exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ExamApplyMapper.java | 25 +
exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java | 31 +
ruoyi-system/src/main/resources/mapper/system/SysUserInstitutionMapper.xml | 35 +
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 50 ++
exam-system/src/main/resources/mapper/noncoalmine/ExamApplyMapper.xml | 32 +
exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamApplyServiceImpl.java | 53 ++
exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java | 11
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserInstitutionMapper.java | 45 ++
exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/TrainingInstitutionService.java | 5
ruoyi-admin/src/main/resources/application-dev.yml | 6
30 files changed, 997 insertions(+), 34 deletions(-)
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamApplyController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamApplyController.java
new file mode 100644
index 0000000..adb8200
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamApplyController.java
@@ -0,0 +1,100 @@
+package com.gkhy.exam.noncoalmine.controller;
+
+import com.gkhy.exam.noncoalmine.entity.ExamApply;
+import com.gkhy.exam.noncoalmine.model.addForm.ExamApplyAddForm;
+import com.gkhy.exam.noncoalmine.model.modForm.ExamApplyModForm;
+import com.gkhy.exam.noncoalmine.model.modForm.ExamSiteModForm;
+import com.gkhy.exam.noncoalmine.model.query.ExamApplyQuery;
+import com.gkhy.exam.noncoalmine.service.ExamApplyService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+@Api(tags = "考试申报接口")
+@RequestMapping("exam/apply")
+@RestController
+public class ExamApplyController extends BaseController {
+ /**
+ * 服务对象
+ */
+ @Autowired
+ private ExamApplyService examApplyService;
+
+ /**
+ * 分页查询所有数据
+ *
+ * @param query 查询实体
+ * @return 所有数据
+ */
+ @ApiOperation(value = "分页查询列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "pageNum", dataTypeClass = String.class,value = "页码",required = true),
+ @ApiImplicitParam(name = "pageSize", dataTypeClass = String.class,value = "页数",required = true),
+ /*@ApiImplicitParam(name = "isCm", dataTypeClass = Byte.class,value = "是否是煤矿 1是,0非"),
+ @ApiImplicitParam(name = "districtId", dataTypeClass = Long.class,value = "区域id"),
+ @ApiImplicitParam(name = "examStartTime", dataTypeClass = Date.class,value = "考试开始时间 yyyy-MM-dd"),
+ @ApiImplicitParam(name = "examEndTime", dataTypeClass = Date.class,value = "考试开始时间 yyyy-MM-dd"),*/
+ })
+ @GetMapping("page/list")
+ public TableDataInfo listByPage(ExamApplyQuery query) {
+ startPage();
+ return getDataTable(this.examApplyService.listByPage(query));
+ }
+
+ /**
+ * 通过主键查询单条数据
+ *
+ * @param applyId 主键
+ * @return 单条数据
+ */
+ @ApiOperation(value = "通过主键查询单条数据")
+ @GetMapping("get/{applyId}")
+ public AjaxResult selectOne(@PathVariable Long applyId) {
+ return success(this.examApplyService.getById(applyId));
+ }
+
+ /**
+ * 新增数据
+ *
+ * @param addForm 实体对象
+ * @return 新增结果
+ */
+ @ApiOperation(value = "新增数据")
+ @PostMapping("/add")
+ public AjaxResult add(@Validated @RequestBody ExamApplyAddForm addForm) {
+ return toAjax(this.examApplyService.add(addForm));
+ }
+
+ /**
+ * 修改数据
+ *
+ * @param modForm 实体对象
+ * @return 修改结果
+ */
+ @ApiOperation(value = "修改数据")
+ @PostMapping("/mod")
+ public AjaxResult mod(@Validated @RequestBody ExamApplyModForm modForm) {
+ return toAjax(this.examApplyService.mod(modForm));
+ }
+
+ /**
+ * 删除数据
+ *
+ * @param applyIds 主键结合
+ * @return 删除结果
+ */
+ @ApiOperation(value = "删除数据")
+ @DeleteMapping("/del/batch/{applyIds}")
+ public AjaxResult delBatch(@PathVariable("applyIds") List<Long> applyIds) {
+ this.examApplyService.delBatch(applyIds);
+ return success();
+ }
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java
index 011bdaf..2373d20 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java
@@ -97,5 +97,16 @@
this.examSiteService.delBatch(siteIds);
return success();
}
+
+ /**
+ * 根据机构查询下拉
+ */
+ @ApiOperation(value = "根据机构查询下拉考点")
+ @GetMapping("select/{institutionId}")
+ public AjaxResult getSiteByInstitutionId(@PathVariable Long institutionId) {
+ return success(this.examSiteService.getSiteByInstitutionId(institutionId));
+ }
+
+
}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java
index 67409a9..f7e241d 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java
@@ -6,6 +6,7 @@
import com.gkhy.exam.noncoalmine.service.TrainingInstitutionService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -103,7 +104,16 @@
@ApiOperation(value = "选择列表")
@GetMapping("select")
public AjaxResult selectList(TrainingInstitutionQuery query){
- return success(this.trainingInstitutionService.listByPage(query));
+ return success(this.trainingInstitutionService.select(query));
+ }
+
+ /**
+ * 选择列表-根据角色身份
+ */
+ @ApiOperation(value = "选择列表-根据角色身份")
+ @GetMapping("selectByPermission")
+ public AjaxResult selectByPermissionList(TrainingInstitutionQuery query){
+ return success(this.trainingInstitutionService.selectByPermissionList(query));
}
}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ExamApply.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ExamApply.java
new file mode 100644
index 0000000..7644c5c
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ExamApply.java
@@ -0,0 +1,81 @@
+package com.gkhy.exam.noncoalmine.entity;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * (ExamApply)表实体类
+ *
+ * @author makejava
+ * @since 2024-02-04 13:36:51
+ */
+@Data
+public class ExamApply{
+
+
+ @TableId(type = IdType.AUTO)
+ private Long applyId;
+ //考试计划批次全称
+ private String examName;
+ //机构
+ private Long institutionId;
+
+ //考点
+ private Long siteId;
+ //考试人数
+ private Integer examNum;
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+ //考试开始时间
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date examStartTime;
+ //考试结束时间
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date examEndTime;
+ //补考开始时间
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date resitStartTime;
+ //补考结束时间
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date resitEndTime;
+ //实操开始时间
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date operationStartTime;
+ //实操结束时间
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date operationEndTime;
+ //考点联系人
+ private String siteContacts;
+ //考点联系人电话
+ private String siteContactsPhone;
+ //机构联系人
+ private String institutionContacts;
+ //机构联系人电话
+ private String institutionContactsPhone;
+
+ private Integer delFlag;
+
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/TrainingInstitution.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/TrainingInstitution.java
index 7e1d178..35fd1c0 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/TrainingInstitution.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/TrainingInstitution.java
@@ -13,16 +13,11 @@
import java.io.Serializable;
-/**
- * (TrainingInstitution)表实体类
- *
- * @author makejava
- * @since 2023-09-13 16:12:31
- */
+
@Data
public class TrainingInstitution {
@TableId(type = IdType.AUTO)
- private String institutionId;
+ private Long institutionId;
//机构名称
private String institutionName;
//地区id
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ExamApplyMapper.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ExamApplyMapper.java
new file mode 100644
index 0000000..89f2677
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ExamApplyMapper.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.noncoalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.noncoalmine.entity.ExamApply;
+import com.gkhy.exam.noncoalmine.model.query.ExamApplyQuery;
+import com.gkhy.exam.noncoalmine.model.vo.ExamApplyVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * (ExamApply)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-02-04 13:36:49
+ */
+@Repository
+@Mapper
+public interface ExamApplyMapper extends BaseMapper<ExamApply> {
+
+ List<ExamApplyVO> listByPage(@Param("query") ExamApplyQuery query);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/TrainingInstitutionMapper.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/TrainingInstitutionMapper.java
index b862cbd..ddcd9e9 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/TrainingInstitutionMapper.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/TrainingInstitutionMapper.java
@@ -21,5 +21,9 @@
public interface TrainingInstitutionMapper extends BaseMapper<TrainingInstitution> {
List<TrainingInstitutionVO> listByPage(@Param("query") TrainingInstitutionQuery query);
+
+ List<TrainingInstitutionVO> selectAll(@Param("query") TrainingInstitutionQuery query);
+
+ List<TrainingInstitutionVO> getUserInstitutions(@Param("query") TrainingInstitutionQuery query);
}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamApplyAddForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamApplyAddForm.java
new file mode 100644
index 0000000..d587507
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ExamApplyAddForm.java
@@ -0,0 +1,86 @@
+package com.gkhy.exam.noncoalmine.model.addForm;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2024/2/4
+ * @time: 14:39
+ */
+@ApiModel
+@Data
+public class ExamApplyAddForm {
+ @ApiModelProperty(value = "考试批次全称",required = true)
+ @NotEmpty(message = "请填写考试批次全称")
+ private String examName;
+
+ @ApiModelProperty(value = "机构id",required = true)
+ @NotNull(message = "请选择机构")
+ private Long institutionId;
+
+ @ApiModelProperty(value = "考试点id",required = true)
+ @NotNull(message = "请选择考试点")
+ private Long siteId;
+
+ @ApiModelProperty(value = "考试人数",required = true)
+ @NotNull(message = "请填写考试人数")
+ private Integer examNum;
+
+ //是否为煤矿:0为非,1是
+ @ApiModelProperty(value = "是否为煤矿",required = true,notes = "0为非,1是")
+ @NotNull(message = "请选择是否为煤矿")
+ private Byte isCm;
+
+ @ApiModelProperty(value = "考试开始时间")
+ @NotNull(message = "请选择考试开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date examStartTime;
+
+ @ApiModelProperty(value = "考试结束时间")
+ @NotNull(message = "请选择考试结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date examEndTime;
+
+ @ApiModelProperty(value = "补考开始时间")
+ @NotNull(message = "请选择补考开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date resitStartTime;
+
+ @ApiModelProperty(value = "补考结束时间")
+ @NotNull(message = "请选择补考结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date resitEndTime;
+
+ @ApiModelProperty(value = "实操开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date operationStartTime;
+
+ @ApiModelProperty(value = "实操结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date operationEndTime;
+
+ @ApiModelProperty(value = "考点联系人")
+ @NotEmpty(message = "请输入考点联系人")
+ private String siteContacts;
+
+ @ApiModelProperty(value = "考点联系人电话")
+ @NotEmpty(message = "请输入考点联系人电话")
+ private String siteContactsPhone;
+
+ @ApiModelProperty(value = "机构联系人")
+ @NotEmpty(message = "请输入机构联系人")
+ private String institutionContacts;
+
+ @ApiModelProperty(value = "机构联系人电话")
+ @NotEmpty(message = "请输入机构联系人电话")
+ private String institutionContactsPhone;
+
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/ExamApplyModForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/ExamApplyModForm.java
new file mode 100644
index 0000000..4a90113
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/ExamApplyModForm.java
@@ -0,0 +1,90 @@
+package com.gkhy.exam.noncoalmine.model.modForm;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2024/2/4
+ * @time: 14:57
+ */
+@ApiModel
+@Data
+public class ExamApplyModForm {
+
+ @NotNull(message = "请选择考试申报id")
+ private Long applyId;
+
+ @ApiModelProperty(value = "考试批次全称",required = true)
+ @NotEmpty(message = "请填写考试批次全称")
+ private String examName;
+
+ @ApiModelProperty(value = "机构id",required = true)
+ @NotNull(message = "请选择机构")
+ private Long institutionId;
+
+ @ApiModelProperty(value = "考试点id",required = true)
+ @NotNull(message = "请选择考试点")
+ private Long siteId;
+
+ @ApiModelProperty(value = "考试人数",required = true)
+ @NotNull(message = "请填写考试人数")
+ private Integer examNum;
+
+ //是否为煤矿:0为非,1是
+ @ApiModelProperty(value = "是否为煤矿",required = true,notes = "0为非,1是")
+ @NotNull(message = "请选择是否为煤矿")
+ private Byte isCm;
+
+ @ApiModelProperty(value = "考试开始时间")
+ @NotNull(message = "请选择考试开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date examStartTime;
+
+ @ApiModelProperty(value = "考试结束时间")
+ @NotNull(message = "请选择考试结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date examEndTime;
+
+ @ApiModelProperty(value = "补考开始时间")
+ @NotNull(message = "请选择补考开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date resitStartTime;
+
+ @ApiModelProperty(value = "补考结束时间")
+ @NotNull(message = "请选择补考结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date resitEndTime;
+
+ @ApiModelProperty(value = "实操开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date operationStartTime;
+
+ @ApiModelProperty(value = "实操结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date operationEndTime;
+
+ @ApiModelProperty(value = "考点联系人")
+ @NotEmpty(message = "请输入考点联系人")
+ private String siteContacts;
+
+ @ApiModelProperty(value = "考点联系人电话")
+ @NotEmpty(message = "请输入考点联系人电话")
+ private String siteContactsPhone;
+
+ @ApiModelProperty(value = "机构联系人")
+ @NotEmpty(message = "请输入机构联系人")
+ private String institutionContacts;
+
+ @ApiModelProperty(value = "机构联系人电话")
+ @NotEmpty(message = "请输入机构联系人电话")
+ private String institutionContactsPhone;
+
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java
index f8e23ec..766d6e4 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java
@@ -16,7 +16,7 @@
public class TrainingInstitutionModForm {
@ApiModelProperty(value = "机构主键",required = true)
@NotNull(message = "机构主键不可为空")
- private String institutionId;
+ private Long institutionId;
//机构名称
@ApiModelProperty(value = "机构名称",required = true)
@NotEmpty(message = "请输入机构名称")
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ExamApplyQuery.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ExamApplyQuery.java
new file mode 100644
index 0000000..95db45e
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ExamApplyQuery.java
@@ -0,0 +1,29 @@
+package com.gkhy.exam.noncoalmine.model.query;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2024/2/4
+ * @time: 13:43
+ */
+@ApiModel
+@Data
+public class ExamApplyQuery {
+ @ApiModelProperty(value = "区域id")
+ private Long districtId;
+ @ApiModelProperty(value = "是否是煤矿 1是,0非")
+ private Byte isCm;
+ @ApiModelProperty(value = "开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date examStartTime;
+ @ApiModelProperty(value = "结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date examEndTime;
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java
index bf0ba97..2b8144d 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java
@@ -23,4 +23,6 @@
//区划编码
@ApiModelProperty(value = "区划编码")
private String districtCode;
+
+ private Long userId;
}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/ExamApplyVO.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/ExamApplyVO.java
new file mode 100644
index 0000000..165a018
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/ExamApplyVO.java
@@ -0,0 +1,64 @@
+package com.gkhy.exam.noncoalmine.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2024/2/4
+ * @time: 13:47
+ */
+@Data
+public class ExamApplyVO {
+ private Long applyId;
+
+ private String examName;
+
+ private Long institutionId;
+
+ private String institutionName;
+
+ private Long siteId;
+
+ private String siteName;
+
+ private String districtName;
+
+ private Integer examNum;
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date examStartTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date examEndTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date resitStartTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date resitEndTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date operationStartTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date operationEndTime;
+
+ private String siteContacts;
+
+ private String siteContactsPhone;
+
+ private String institutionContacts;
+
+ private String institutionContactsPhone;
+
+ private Integer delFlag;
+
+ private Date createTime;
+
+ private Date updateTime;
+
+ private String createBy;
+
+ private String updateBy;
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamApplyService.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamApplyService.java
new file mode 100644
index 0000000..43fa026
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamApplyService.java
@@ -0,0 +1,21 @@
+package com.gkhy.exam.noncoalmine.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.noncoalmine.entity.ExamApply;
+import com.gkhy.exam.noncoalmine.model.addForm.ExamApplyAddForm;
+import com.gkhy.exam.noncoalmine.model.modForm.ExamApplyModForm;
+import com.gkhy.exam.noncoalmine.model.query.ExamApplyQuery;
+import com.gkhy.exam.noncoalmine.model.vo.ExamApplyVO;
+
+import java.util.List;
+
+public interface ExamApplyService extends IService<ExamApply> {
+
+ List<ExamApplyVO> listByPage(ExamApplyQuery query);
+
+ void delBatch(List<Long> applyIds);
+
+ int add(ExamApplyAddForm addForm);
+
+ int mod(ExamApplyModForm modForm);
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java
index b00fc77..1a64953 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java
@@ -24,5 +24,7 @@
int mod(ExamSiteModForm modForm);
void delBatch(List<Long> siteIds);
+
+ List<ExamSite> getSiteByInstitutionId(Long institutionId);
}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/TrainingInstitutionService.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/TrainingInstitutionService.java
index a38eebe..efeeebf 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/TrainingInstitutionService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/TrainingInstitutionService.java
@@ -6,6 +6,7 @@
import com.gkhy.exam.noncoalmine.model.modForm.TrainingInstitutionModForm;
import com.gkhy.exam.noncoalmine.model.query.TrainingInstitutionQuery;
import com.gkhy.exam.noncoalmine.model.vo.TrainingInstitutionVO;
+import com.ruoyi.common.core.domain.model.LoginUser;
import java.util.List;
@@ -24,5 +25,9 @@
int add(TrainingInstitutionAddForm addForm);
void delBatch(List<Long> institutionIds);
+
+ List<TrainingInstitutionVO> selectByPermissionList(TrainingInstitutionQuery query);
+
+ List<TrainingInstitutionVO> select(TrainingInstitutionQuery query);
}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamApplyServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamApplyServiceImpl.java
new file mode 100644
index 0000000..95922c3
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamApplyServiceImpl.java
@@ -0,0 +1,53 @@
+package com.gkhy.exam.noncoalmine.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.noncoalmine.entity.ExamApply;
+import com.gkhy.exam.noncoalmine.entity.ExamSite;
+import com.gkhy.exam.noncoalmine.mapper.ExamApplyMapper;
+import com.gkhy.exam.noncoalmine.model.addForm.ExamApplyAddForm;
+import com.gkhy.exam.noncoalmine.model.modForm.ExamApplyModForm;
+import com.gkhy.exam.noncoalmine.model.query.ExamApplyQuery;
+import com.gkhy.exam.noncoalmine.model.vo.ExamApplyVO;
+import com.gkhy.exam.noncoalmine.service.ExamApplyService;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2024/2/4
+ * @time: 13:40
+ */
+@Service("examApplyService")
+public class ExamApplyServiceImpl extends ServiceImpl<ExamApplyMapper, ExamApply> implements ExamApplyService {
+
+ @Override
+ public List<ExamApplyVO> listByPage(ExamApplyQuery query) {
+ return baseMapper.listByPage(query);
+ }
+
+ @Override
+ public void delBatch(List<Long> applyIds) {
+ UpdateWrapper<ExamApply> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.in("apply_id",applyIds)
+ .set("del_flag",(byte)2);
+ this.update(updateWrapper);
+ }
+
+ @Override
+ public int add(ExamApplyAddForm addForm) {
+ ExamApply examApply = new ExamApply();
+ BeanUtils.copyProperties(addForm,examApply);
+ examApply.setDelFlag(0);
+ return baseMapper.insert(examApply);
+ }
+ @Override
+ public int mod(ExamApplyModForm modForm) {
+ ExamApply examApply = new ExamApply();
+ BeanUtils.copyProperties(modForm,examApply);
+ return baseMapper.updateById(examApply);
+ }
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java
index 1844e07..36c8bdc 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java
@@ -1,5 +1,6 @@
package com.gkhy.exam.noncoalmine.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.noncoalmine.entity.ExamSite;
@@ -94,5 +95,11 @@
.set("del_flag",(byte)2);
this.update(updateWrapper);
}
+
+ @Override
+ public List<ExamSite> getSiteByInstitutionId(Long institutionId) {
+ List<ExamSite> examSites = baseMapper.selectList(new LambdaQueryWrapper<ExamSite>().eq(ExamSite::getDelFlag, (byte) 0).eq(ExamSite::getInstitutionId, institutionId));
+ return examSites;
+ }
}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java
index 33526c0..c67861a 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java
@@ -1,5 +1,6 @@
package com.gkhy.exam.noncoalmine.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.noncoalmine.entity.TrainingInstitution;
@@ -11,6 +12,7 @@
import com.gkhy.exam.noncoalmine.model.vo.TrainingInstitutionVO;
import com.gkhy.exam.noncoalmine.service.TrainingInstitutionService;
import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysDistrict;
@@ -19,15 +21,11 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
-/**
- * (TrainingInstitution)表服务实现类
- *
- * @author makejava
- * @since 2023-09-13 16:12:31
- */
@Service("trainingInstitutionService")
public class TrainingInstitutionServiceImpl extends ServiceImpl<TrainingInstitutionMapper, TrainingInstitution> implements TrainingInstitutionService {
@Autowired
@@ -80,5 +78,26 @@
this.update(updateWrapper);
}
+ @Override
+ public List<TrainingInstitutionVO> selectByPermissionList(TrainingInstitutionQuery query) {
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ List<TrainingInstitutionVO> institutionVOList = new ArrayList<>();
+ Set<String> permissions = loginUser.getPermissions();
+ if(permissions.contains("admin") || permissions.contains("common")){
+ //管理员
+ institutionVOList = trainingInstitutionMapper.selectAll(query);
+ }else {
+ query.setUserId(loginUser.getUserId());
+ institutionVOList = trainingInstitutionMapper.getUserInstitutions(query);
+ }
+
+ return institutionVOList;
+ }
+
+ @Override
+ public List<TrainingInstitutionVO> select(TrainingInstitutionQuery query) {
+ return trainingInstitutionMapper.selectAll(query);
+ }
+
}
diff --git a/exam-system/src/main/resources/mapper/noncoalmine/ExamApplyMapper.xml b/exam-system/src/main/resources/mapper/noncoalmine/ExamApplyMapper.xml
new file mode 100644
index 0000000..3d0078d
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/noncoalmine/ExamApplyMapper.xml
@@ -0,0 +1,32 @@
+<?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="com.gkhy.exam.noncoalmine.mapper.ExamApplyMapper">
+ <select id="listByPage" resultType="com.gkhy.exam.noncoalmine.model.vo.ExamApplyVO">
+ SELECT
+ ea.*,
+ t.institution_name,
+ es.site_name,
+ d.NAME AS districtName
+ FROM
+ exam_apply ea
+ LEFT JOIN training_institution t ON t.institution_id = ea.institution_id
+ LEFT JOIN sys_district d ON d.id = t.district_id
+ LEFT JOIN exam_site es ON es.site_id = ea.site_id
+ WHERE
+ ea.del_flag = 0
+ <if test="query.districtId != null">
+ and d.district_id = #{query.districtId}
+ </if>
+ <if test="query.examStartTime != null"><!-- 开始时间检索 -->
+ and date_format(ea.exam_start_time,'%y-%m-%d') >= date_format(#{query.examStartTime},'%y-%m-%d')
+ </if>
+ <if test="query.examEndTime != null"><!-- 结束时间检索 -->
+ and date_format(ea.exam_end_time,'%y-%m-%d') <= date_format(#{query.examEndTime},'%y-%m-%d')
+ </if>
+ order by ea.create_time desc
+
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml b/exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml
index 30d04f5..7dd1bee 100644
--- a/exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml
+++ b/exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml
@@ -24,4 +24,39 @@
order by t.create_time desc
</select>
+ <select id="selectAll" resultType="com.gkhy.exam.noncoalmine.model.vo.TrainingInstitutionVO">
+ SELECT
+ t.*,
+ d.name as districtName
+ FROM
+ training_institution t
+ LEFT JOIN sys_district d ON d.id = t.district_id
+ WHERE
+ t.del_flag = 0
+ <if test="query.institutionName != null and query.institutionName != ''">
+ and t.institution_name like concat('%', #{query.institutionName}, '%')
+ </if>
+ <if test="query.isCm != null">
+ AND t.is_cm = #{query.isCm}
+ </if>
+ order by t.is_cm asc
+
+ </select>
+ <select id="getUserInstitutions" resultType="com.gkhy.exam.noncoalmine.model.vo.TrainingInstitutionVO">
+ SELECT
+ t.*,
+ d.NAME AS districtName
+ FROM
+ sys_user_institution ui
+ LEFT JOIN training_institution t ON ui.institution_id = t.institution_id
+ LEFT JOIN sys_district d ON d.id = t.district_id
+ WHERE
+ ui.user_id = #{query.userId}
+ <if test="query.institutionName != null and query.institutionName != ''">
+ and t.institution_name like concat('%', #{query.institutionName}, '%')
+ </if>
+ order by t.create_time desc
+
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml
index bddbfcd..aa77ac9 100644
--- a/ruoyi-admin/src/main/resources/application-dev.yml
+++ b/ruoyi-admin/src/main/resources/application-dev.yml
@@ -24,9 +24,9 @@
druid:
# 主库数据源
master:
- url: jdbc:mysql://121.239.169.30:33306/swspkmas?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- username: gkhynew
- password: 123456
+ url: jdbc:mysql://localhost:3306/swspkmas?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ username: root
+ password: root
# 从库数据源
slave:
# 从数据源开关/默认关闭
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
index db31b62..32e5ee7 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -3,6 +3,9 @@
import java.util.Date;
import java.util.List;
import javax.validation.constraints.*;
+
+import com.ruoyi.common.core.domain.model.SysDistrictVo;
+import com.ruoyi.common.core.domain.model.TrainingInstitutionVo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
@@ -28,7 +31,9 @@
/** 部门ID */
@Excel(name = "部门编号", type = Type.IMPORT)
private Long deptId;
-
+ /**
+ * 区域
+ */
private Long districtId;
private String unit;
@@ -92,6 +97,19 @@
/** 角色ID */
private Long roleId;
+
+ /**
+ * 身份证
+ */
+ private String idCard;
+ /***
+ * 机构ids
+ */
+ private Long[] institutionIds;
+
+ private SysDistrictVo district;
+
+ private List<TrainingInstitutionVo> institutions;
public SysUser()
{
@@ -317,6 +335,38 @@
this.unit = unit;
}
+ public String getIdCard() {
+ return idCard;
+ }
+
+ public void setIdCard(String idCard) {
+ this.idCard = idCard;
+ }
+
+ public SysDistrictVo getDistrict() {
+ return district;
+ }
+
+ public void setDistrict(SysDistrictVo district) {
+ this.district = district;
+ }
+
+ public Long[] getInstitutionIds() {
+ return institutionIds;
+ }
+
+ public void setInstitutionIds(Long[] institutionIds) {
+ this.institutionIds = institutionIds;
+ }
+
+ public List<TrainingInstitutionVo> getInstitutions() {
+ return institutions;
+ }
+
+ public void setInstitutions(List<TrainingInstitutionVo> institutions) {
+ this.institutions = institutions;
+ }
+
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/SysDistrictVo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/SysDistrictVo.java
new file mode 100644
index 0000000..f29de82
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/SysDistrictVo.java
@@ -0,0 +1,54 @@
+package com.ruoyi.common.core.domain.model;
+
+
+public class SysDistrictVo {
+ private Long districtId;
+
+ private String districtCode;
+
+ private String districtName;
+
+ private String parentcode;
+
+ private Byte districtType;
+
+ public Long getDistrictId() {
+ return districtId;
+ }
+
+ public void setDistrictId(Long districtId) {
+ this.districtId = districtId;
+ }
+
+ public String getDistrictCode() {
+ return districtCode;
+ }
+
+ public void setDistrictCode(String districtCode) {
+ this.districtCode = districtCode;
+ }
+
+ public String getDistrictName() {
+ return districtName;
+ }
+
+ public void setDistrictName(String districtName) {
+ this.districtName = districtName;
+ }
+
+ public String getParentcode() {
+ return parentcode;
+ }
+
+ public void setParentcode(String parentcode) {
+ this.parentcode = parentcode;
+ }
+
+ public Byte getDistrictType() {
+ return districtType;
+ }
+
+ public void setDistrictType(Byte districtType) {
+ this.districtType = districtType;
+ }
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/TrainingInstitutionVo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/TrainingInstitutionVo.java
new file mode 100644
index 0000000..5c86302
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/TrainingInstitutionVo.java
@@ -0,0 +1,33 @@
+package com.ruoyi.common.core.domain.model;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class TrainingInstitutionVo {
+
+ private Long institutionId;
+ //机构名称
+ private String institutionName;
+ //地区id
+ private Long districtId;
+ //地址
+ private String address;
+ //负责人
+ private String header;
+ //负责人电话
+ private String hphone;
+ //联系人
+ private String contact;
+ //联系人电话
+ private String cphone;
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+ //备注
+ private String remark;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserInstitution.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserInstitution.java
new file mode 100644
index 0000000..6a380d2
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserInstitution.java
@@ -0,0 +1,10 @@
+package com.ruoyi.system.domain;
+
+import lombok.Data;
+
+@Data
+public class SysUserInstitution {
+ private Long userId;
+ private Long institutionId;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserInstitutionMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserInstitutionMapper.java
new file mode 100644
index 0000000..acd5199
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserInstitutionMapper.java
@@ -0,0 +1,45 @@
+package com.ruoyi.system.mapper;
+
+
+import com.ruoyi.system.domain.SysUserInstitution;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface SysUserInstitutionMapper {
+
+ /**
+ * 通过用户ID删除用户和机构关联
+ *
+ * @param userId 用户ID
+ * @return 结果
+ */
+ public int deleteUserInstitutionByUserId(Long userId);
+
+ /**
+ * 批量删除用户和机构关联
+ *
+ * @param userIds 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteUserInstitution(Long[] userIds);
+
+
+
+ /**
+ * 批量新增用户机构信息
+ *
+ * @param userInstitutionList 用户机构列表
+ * @return 结果
+ */
+ public int batchUserInstitution(List<SysUserInstitution> userInstitutionList);
+
+ /**
+ * 删除用户和机构关联信息
+ *
+ * @param userInstitution 用户和机构关联信息
+ * @return 结果
+ */
+ public int deleteUserInstitution(SysUserInstitution userInstitution);
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index b371060..7351376 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -4,6 +4,9 @@
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
+
+import com.ruoyi.system.domain.SysUserInstitution;
+import com.ruoyi.system.mapper.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,11 +25,6 @@
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
-import com.ruoyi.system.mapper.SysPostMapper;
-import com.ruoyi.system.mapper.SysRoleMapper;
-import com.ruoyi.system.mapper.SysUserMapper;
-import com.ruoyi.system.mapper.SysUserPostMapper;
-import com.ruoyi.system.mapper.SysUserRoleMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserService;
@@ -60,6 +58,9 @@
@Autowired
protected Validator validator;
+
+ @Autowired
+ private SysUserInstitutionMapper institutionMapper;
/**
* 根据条件分页查询用户列表
@@ -259,11 +260,14 @@
// 新增用户信息
int rows = userMapper.insertUser(user);
// 新增用户岗位关联
- insertUserPost(user);
+ //insertUserPost(user);
// 新增用户与角色管理
insertUserRole(user);
+ //用户关联机构
+ insertUserInstitution(user.getUserId(), user.getInstitutionIds());
return rows;
}
+
/**
* 注册用户信息
@@ -293,9 +297,12 @@
// 新增用户与角色管理
insertUserRole(user);
// 删除用户与岗位关联
- userPostMapper.deleteUserPostByUserId(userId);
+ /* userPostMapper.deleteUserPostByUserId(userId);
// 新增用户与岗位管理
- insertUserPost(user);
+ insertUserPost(user);*/
+ //删除机构
+ institutionMapper.deleteUserInstitutionByUserId(userId);
+ insertUserInstitution(user.getUserId(), user.getInstitutionIds());
return userMapper.updateUser(user);
}
@@ -432,6 +439,29 @@
}
/**
+ * 新增用户机构信息
+ *
+ * @param userId 用户ID
+ * @param institutionIds 机构组
+ */
+ public void insertUserInstitution(Long userId, Long[] institutionIds)
+ {
+ if (StringUtils.isNotEmpty(institutionIds))
+ {
+ // 新增用户与角色管理
+ List<SysUserInstitution> list = new ArrayList<SysUserInstitution>(institutionIds.length);
+ for (Long institutionId : institutionIds)
+ {
+ SysUserInstitution ui = new SysUserInstitution();
+ ui.setUserId(userId);
+ ui.setInstitutionId(institutionId);
+ list.add(ui);
+ }
+ institutionMapper.batchUserInstitution(list);
+ }
+ }
+
+ /**
* 通过用户ID删除用户
*
* @param userId 用户ID
@@ -466,7 +496,9 @@
// 删除用户与角色关联
userRoleMapper.deleteUserRole(userIds);
// 删除用户与岗位关联
- userPostMapper.deleteUserPost(userIds);
+ //userPostMapper.deleteUserPost(userIds);
+ //删除机构
+ institutionMapper.deleteUserInstitution(userIds);
return userMapper.deleteUserByIds(userIds);
}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserInstitutionMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserInstitutionMapper.xml
new file mode 100644
index 0000000..f63b685
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserInstitutionMapper.xml
@@ -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="com.ruoyi.system.mapper.SysUserInstitutionMapper">
+
+ <resultMap type="SysUserInstitution" id="SysUserInstitutionResult">
+ <result property="userId" column="user_id" />
+ <result property="institutionId" column="institution_id" />
+ </resultMap>
+
+ <delete id="deleteUserInstitutionByUserId" parameterType="Long">
+ delete from sys_user_institution where user_id=#{userId}
+ </delete>
+
+ <delete id="deleteUserInstitution" parameterType="Long">
+ delete from sys_user_institution where user_id in
+ <foreach collection="array" item="userId" open="(" separator="," close=")">
+ #{userId}
+ </foreach>
+ </delete>
+
+ <insert id="batchUserInstitution">
+ insert into sys_user_institution(user_id, institution_id) values
+ <foreach item="item" index="index" collection="list" separator=",">
+ (#{item.userId},#{item.institutionId})
+ </foreach>
+ </insert>
+
+ <delete id="deleteUserInstitution" parameterType="SysUserInstitution">
+ delete from sys_user_institution where user_id=#{userId} and institution_id=#{institutionId}
+ </delete>
+
+
+</mapper>
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index b580763..9fde387 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -25,8 +25,11 @@
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
+ <result property="idCard" column="id_card" />
<association property="dept" javaType="SysDept" resultMap="deptResult" />
+ <association property="district" javaType="SysDistrictVo" resultMap="DistrictResult"/>
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
+ <collection property="institutions" javaType="java.util.List" resultMap="InstitutionResult" />
</resultMap>
<resultMap id="deptResult" type="SysDept">
@@ -47,20 +50,41 @@
<result property="dataScope" column="data_scope" />
<result property="status" column="role_status" />
</resultMap>
+
+ <resultMap id="DistrictResult" type="SysDistrictVo">
+ <id property="districtId" column="district_id" />
+ <result property="districtCode" column="district_code" />
+ <result property="districtName" column="district_name" />
+ <result property="parentcode" column="parentcode" />
+ <result property="districtType" column="district_type" />
+ </resultMap>
+
+ <resultMap id="InstitutionResult" type="TrainingInstitutionVo">
+ <id property="institutionId" column="institution_id" />
+ <result property="institutionName" column="institution_name" />
+ </resultMap>
<sql id="selectUserVo">
- select u.user_id, u.dept_id, u.district_id,u.unit,u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
+ select u.user_id, u.dept_id, u.district_id,u.unit,u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.id_card,
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
- r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
+ r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,
+ di.name as district_name,
+ ti.institution_id, ti.institution_name
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
+ left join sys_district di on di.id = u.district_id
+ left join sys_user_institution ui on u.user_id = ui.user_id
+ left join training_institution ti on ui.institution_id = ti.institution_id
</sql>
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
- select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
+ select u.user_id, u.dept_id, u.district_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader, u.id_card, ti.institution_id, ti.institution_name, di.name as district_name from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
+ left join sys_district di on di.id = u.district_id
+ left join sys_user_institution ui on u.user_id = ui.user_id
+ left join training_institution ti on ui.institution_id = ti.institution_id
where u.del_flag = '0'
<if test="userId != null and userId != 0">
AND u.user_id = #{userId}
@@ -88,11 +112,13 @@
</select>
<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
- select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
+ select distinct u.user_id, u.dept_id, u.district_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time, u.id_card, di.name as district_name
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
+ left join sys_district di on di.id = u.district_id
+
where u.del_flag = '0' and r.role_id = #{roleId}
<if test="userName != null and userName != ''">
AND u.user_name like concat('%', #{userName}, '%')
@@ -105,12 +131,13 @@
</select>
<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
- select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
+ select distinct u.user_id, u.dept_id, u.district_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time, u.id_card, di.name as district_name
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
- where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
+ left join sys_district di on di.id = u.district_id
+ where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId})
<if test="userName != null and userName != ''">
AND u.user_name like concat('%', #{userName}, '%')
@@ -158,6 +185,8 @@
<if test="status != null and status != ''">status,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="remark != null and remark != ''">remark,</if>
+ <if test="idCard != null and idCard != ''">id_card,</if>
+ <if test="districtId != null and districtId != 0">district_id,</if>
create_time
)values(
<if test="userId != null and userId != ''">#{userId},</if>
@@ -172,6 +201,8 @@
<if test="status != null and status != ''">#{status},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="remark != null and remark != ''">#{remark},</if>
+ <if test="idCard != null and idCard != ''">#{idCard},</if>
+ <if test="districtId != null and districtId != 0">#{districtId},</if>
sysdate()
)
</insert>
@@ -192,6 +223,8 @@
<if test="loginDate != null">login_date = #{loginDate},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="remark != null">remark = #{remark},</if>
+ <if test="idCard != null and idCard != ''">id_card = #{idCard},</if>
+ <if test="districtId != null and districtId != 0">district_id = #{districtId},</if>
update_time = sysdate()
</set>
where user_id = #{userId}
--
Gitblit v1.9.2