From 138cac5008689fadaa96ecac116a2297bb69bc1c Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 04 Mar 2022 10:45:40 +0800
Subject: [PATCH] 1. 电子围栏基本接口新增 2. 保安员证核查申请记录基本接口新增,审批,批量审批接口编写 3. 保安员证档案库新增字段 source 来源,保安员证生成修改
---
src/main/java/org/springblade/modules/electronrail/entity/ElectronRail.java | 68 ++++
src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.xml | 41 ++
src/main/java/org/springblade/modules/electronrail/vo/ElectronRailVO.java | 15
src/main/java/org/springblade/modules/securityapply/controller/SecurityApplyController.java | 158 +++++++++
src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.java | 28 +
src/main/java/org/springblade/modules/electronrail/service/impl/ElectronRailServiceImpl.java | 31 +
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java | 1
src/main/java/org/springblade/modules/electronrail/controller/ElectronRailController.java | 100 ++++++
src/main/java/org/springblade/modules/electronrail/service/ElectronRailService.java | 27 +
src/main/java/org/springblade/modules/securityapply/service/impl/SecurityApplyServiceImpl.java | 133 ++++++++
src/main/resources/application-test.yml | 3
src/main/java/org/springblade/modules/securityapply/service/SecurityApplyService.java | 40 ++
src/main/java/org/springblade/modules/securitypaper/entity/SecurityPaper.java | 7
src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.xml | 20 +
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java | 4
src/main/java/org/springblade/modules/securityapply/entity/SecurityApply.java | 81 +++++
src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.java | 28 +
src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java | 1
src/main/java/org/springblade/modules/securityapply/vo/SecurityApplyVO.java | 55 +++
src/main/java/org/springblade/modules/securitypaper/vo/SecurityPaperVo.java | 3
src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java | 14
src/main/java/org/springblade/modules/system/controller/UserController.java | 80 ++--
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java | 2
23 files changed, 895 insertions(+), 45 deletions(-)
diff --git a/src/main/java/org/springblade/modules/electronrail/controller/ElectronRailController.java b/src/main/java/org/springblade/modules/electronrail/controller/ElectronRailController.java
new file mode 100644
index 0000000..b9ad3e0
--- /dev/null
+++ b/src/main/java/org/springblade/modules/electronrail/controller/ElectronRailController.java
@@ -0,0 +1,100 @@
+
+package org.springblade.modules.electronrail.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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.electronrail.entity.ElectronRail;
+import org.springblade.modules.electronrail.service.ElectronRailService;
+import org.springblade.modules.electronrail.vo.ElectronRailVO;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+
+/**
+ * 电子围栏控制器
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/electronRail")
+public class ElectronRailController extends BladeController {
+
+ private final ElectronRailService electronRailService;
+
+ /**
+ * 详情
+ */
+ @GetMapping("/detail")
+ public R<ElectronRail> detail(ElectronRail electronRail) {
+ ElectronRail detail = electronRailService.getOne(Condition.getQueryWrapper(electronRail));
+ return R.data(detail);
+ }
+
+ /**
+ * 分页
+ */
+ @GetMapping("/list")
+ public R<IPage<ElectronRail>> list(ElectronRail electronRail, Query query) {
+ IPage<ElectronRail> pages = electronRailService.page(Condition.getPage(query), Condition.getQueryWrapper(electronRail));
+ return R.data(pages);
+ }
+
+ /**
+ * 自定义分页
+ */
+ @GetMapping("/page")
+ public R<IPage<ElectronRailVO>> page(ElectronRailVO electronRail, Query query) {
+ IPage<ElectronRailVO> pages = electronRailService.selectElectronRailPage(Condition.getPage(query), electronRail);
+ return R.data(pages);
+ }
+
+ /**
+ * 新增
+ */
+ @PostMapping("/save")
+ public R save(@RequestBody ElectronRail electronRail) {
+ //设置时间
+ electronRail.setCreateTime(new Date());
+ electronRail.setUpdateTime(new Date());
+ //返回
+ return R.data(electronRailService.save(electronRail));
+ }
+
+
+ /**
+ * 修改
+ */
+ @PostMapping("/update")
+ public R update(@RequestBody ElectronRail electronRail) {
+ //设置更新时间
+ electronRail.setUpdateTime(new Date());
+ //修改并返回
+ return R.data(electronRailService.updateById(electronRail));
+ }
+
+ /**
+ * 新增或修改
+ */
+ @PostMapping("/submit")
+ public R submit(@RequestBody ElectronRail electronRail) {
+ return R.status(electronRailService.saveOrUpdate(electronRail));
+ }
+
+
+ /**
+ * 删除
+ */
+ @PostMapping("/remove")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(electronRailService.removeByIds(Func.toLongList(ids)));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/electronrail/entity/ElectronRail.java b/src/main/java/org/springblade/modules/electronrail/entity/ElectronRail.java
new file mode 100644
index 0000000..f2ad0de
--- /dev/null
+++ b/src/main/java/org/springblade/modules/electronrail/entity/ElectronRail.java
@@ -0,0 +1,68 @@
+package org.springblade.modules.electronrail.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 电子围栏实体类
+ *
+ * @author zhongrj
+ * @since 2020-03-03
+ */
+@Data
+@TableName("sys_electron_rail")
+public class ElectronRail implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键id
+ */
+ @TableId(value = "id",type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 围栏名称
+ */
+ private String name;
+
+
+ /**
+ * 类型 1:公司围栏 2:派遣单位围栏
+ */
+ private Integer type;
+
+
+ /**
+ * 公司id/派遣单位id
+ */
+ private Long companyId;
+
+ /**
+ * 围栏区域空间坐标
+ */
+ private String coordinate;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ /**
+ * 更新时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+
+}
diff --git a/src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.java b/src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.java
new file mode 100644
index 0000000..3a0bf8d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.java
@@ -0,0 +1,28 @@
+
+package org.springblade.modules.electronrail.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.electronrail.entity.ElectronRail;
+import org.springblade.modules.electronrail.vo.ElectronRailVO;
+
+import java.util.List;
+
+/**
+ * 电子围栏Mapper 接口
+ *
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+public interface ElectronRailMapper extends BaseMapper<ElectronRail> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param electronRail
+ * @return
+ */
+ List<ElectronRailVO> selectElectronRailPage(IPage<ElectronRailVO> page, @Param("electronRail") ElectronRailVO electronRail);
+}
diff --git a/src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.xml b/src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.xml
new file mode 100644
index 0000000..292d64f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.xml
@@ -0,0 +1,20 @@
+<?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.electronrail.mapper.ElectronRailMapper">
+
+ <!--自定义查询合同分页数据-->
+ <select id="selectElectronRailPage" resultType="org.springblade.modules.electronrail.vo.ElectronRailVO">
+ select * from sys_electron_rail
+ where 1=1
+ <if test="electronRail.name!=null and electronRail.name!=''">
+ and name like concat('%',#{electronRail.name},'%')
+ </if>
+ <if test="electronRail.type!=null">
+ and type = #{electronRail.type}
+ </if>
+ <if test="electronRail.companyId!=null">
+ and company_id = #{electronRail.companyId}
+ </if>
+ </select>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/electronrail/service/ElectronRailService.java b/src/main/java/org/springblade/modules/electronrail/service/ElectronRailService.java
new file mode 100644
index 0000000..7cbcfd5
--- /dev/null
+++ b/src/main/java/org/springblade/modules/electronrail/service/ElectronRailService.java
@@ -0,0 +1,27 @@
+
+package org.springblade.modules.electronrail.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.electronrail.entity.ElectronRail;
+import org.springblade.modules.electronrail.vo.ElectronRailVO;
+
+/**
+ * 电子围栏服务类
+ *
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+public interface ElectronRailService extends IService<ElectronRail> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param electronRailVO
+ * @return
+ */
+ IPage<ElectronRailVO> selectElectronRailPage(IPage<ElectronRailVO> page, @Param("electronRailVO") ElectronRailVO electronRailVO);
+
+}
diff --git a/src/main/java/org/springblade/modules/electronrail/service/impl/ElectronRailServiceImpl.java b/src/main/java/org/springblade/modules/electronrail/service/impl/ElectronRailServiceImpl.java
new file mode 100644
index 0000000..1be63f8
--- /dev/null
+++ b/src/main/java/org/springblade/modules/electronrail/service/impl/ElectronRailServiceImpl.java
@@ -0,0 +1,31 @@
+
+package org.springblade.modules.electronrail.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.electronrail.entity.ElectronRail;
+import org.springblade.modules.electronrail.mapper.ElectronRailMapper;
+import org.springblade.modules.electronrail.service.ElectronRailService;
+import org.springblade.modules.electronrail.vo.ElectronRailVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * 电子围栏服务实现类
+ *
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+@Service
+public class ElectronRailServiceImpl extends ServiceImpl<ElectronRailMapper, ElectronRail> implements ElectronRailService {
+
+ /**
+ * 自定义分页查询电子围栏数据
+ * @param page
+ * @param electronRail
+ * @return
+ */
+ @Override
+ public IPage<ElectronRailVO> selectElectronRailPage(IPage<ElectronRailVO> page, ElectronRailVO electronRail) {
+ return page.setRecords(baseMapper.selectElectronRailPage(page, electronRail));
+ }
+}
diff --git a/src/main/java/org/springblade/modules/electronrail/vo/ElectronRailVO.java b/src/main/java/org/springblade/modules/electronrail/vo/ElectronRailVO.java
new file mode 100644
index 0000000..31df1e7
--- /dev/null
+++ b/src/main/java/org/springblade/modules/electronrail/vo/ElectronRailVO.java
@@ -0,0 +1,15 @@
+
+package org.springblade.modules.electronrail.vo;
+
+import lombok.Data;
+import org.springblade.modules.electronrail.entity.ElectronRail;
+
+/**
+ * 电子围栏视图实体类
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+@Data
+public class ElectronRailVO extends ElectronRail {
+ private static final long serialVersionUID = 1L;
+}
diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
index a45d34b..e35da21 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -60,6 +60,7 @@
private final ExamPaperService examPaperService;
private final SecurityPaperService securityPaperService;
+
private final MyAsyncService myAsyncService;
/**
@@ -208,6 +209,7 @@
securityPaper.setPeopleName(user1.getRealName());
securityPaper.setExamId(Long.parseLong(examScore1.getExamId()));
securityPaper.setApplyId(examScore1.getApplyId());
+ securityPaper.setSource(1);
//新增保安员证信息
securityPaperService.save(securityPaper);
//修改为持证保安
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
index bab329d..74173bb 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -329,6 +329,7 @@
securityPaper.setPeopleName(user.getRealName());
securityPaper.setExamId(Long.parseLong(examScore.getExamId()));
securityPaper.setApplyId(examScore.getApplyId());
+ securityPaper.setSource(1);
//新增保安员证信息
securityPaperService.save(securityPaper);
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
index 588f6f5..1184f99 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
@@ -188,6 +188,7 @@
securityPaper.setPeopleName(user.getRealName());
securityPaper.setExamId(Long.parseLong(examScore.getExamId()));
securityPaper.setApplyId(examScore.getApplyId());
+ securityPaper.setSource(1);
//新增保安员证信息
securityPaperService.save(securityPaper);
@@ -350,6 +351,19 @@
//更新保安数据
userService.updateById(user);
+ //生成保安证的同时向保安证管理表中插入一条数据
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setUserId(user.getId());
+ securityPaper.setNumber(result);
+ securityPaper.setCreateTime(new Date());
+ securityPaper.setIdCardNo(user.getCardid());
+ securityPaper.setPeopleName(user.getRealName());
+ securityPaper.setExamId(Long.parseLong(examScore.getExamId()));
+ securityPaper.setApplyId(examScore.getApplyId());
+ securityPaper.setSource(1);
+ //新增保安员证信息
+ securityPaperService.save(securityPaper);
+
// String s1 =
// "update blade_user set hold = " + "'" + user.getHold() + "'" +
// ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
diff --git a/src/main/java/org/springblade/modules/securityapply/controller/SecurityApplyController.java b/src/main/java/org/springblade/modules/securityapply/controller/SecurityApplyController.java
new file mode 100644
index 0000000..286cf96
--- /dev/null
+++ b/src/main/java/org/springblade/modules/securityapply/controller/SecurityApplyController.java
@@ -0,0 +1,158 @@
+
+package org.springblade.modules.securityapply.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.log.exception.ServiceException;
+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.securityapply.entity.SecurityApply;
+import org.springblade.modules.securityapply.service.SecurityApplyService;
+import org.springblade.modules.securityapply.vo.SecurityApplyVO;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 保安员证申诉控制器
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/securityApply")
+public class SecurityApplyController extends BladeController {
+
+ private final SecurityApplyService securityApplyService;
+
+ /**
+ * 详情
+ * @param securityApply
+ * @return
+ */
+ @GetMapping("/detail")
+ public R<SecurityApply> detail(SecurityApply securityApply) {
+ SecurityApply detail = securityApplyService.getOne(Condition.getQueryWrapper(securityApply));
+ return R.data(detail);
+ }
+
+ /**
+ * 分页
+ * @param query
+ * @param securityApply
+ * @return
+ */
+ @GetMapping("/list")
+ public R<IPage<SecurityApply>> list(SecurityApply securityApply, Query query) {
+ IPage<SecurityApply> pages = securityApplyService.page(Condition.getPage(query), Condition.getQueryWrapper(securityApply));
+ return R.data(pages);
+ }
+
+ /**
+ * 自定义分页
+ * @param securityApply
+ * @param query
+ * @return
+ */
+ @GetMapping("/page")
+ public R<IPage<SecurityApplyVO>> page(SecurityApplyVO securityApply, Query query) {
+ IPage<SecurityApplyVO> pages = securityApplyService.selectSecurityApplyPage(Condition.getPage(query), securityApply);
+ return R.data(pages);
+ }
+
+ /**
+ * 新增
+ * @param securityApply
+ * @return
+ */
+ @PostMapping("/save")
+ public R save(@RequestBody SecurityApply securityApply) {
+ //判断是否已经申请过(审核通过,待审核)
+ SecurityApply securityApply1 = new SecurityApply();
+ securityApply1.setAuditStatus(1);
+ securityApply1.setNumber(securityApply.getNumber());
+ securityApply1.setUserId(securityApply.getUserId());
+ List<SecurityApply> list1 = securityApplyService.list(Condition.getQueryWrapper(securityApply1));
+ if (list1.size()>0){
+ throw new ServiceException("当前人员已经提交申请,审核已通过,请勿重复申请!");
+ }
+
+ SecurityApply securityApply2 = new SecurityApply();
+ securityApply2.setAuditStatus(3);
+ securityApply2.setNumber(securityApply.getNumber());
+ securityApply2.setUserId(securityApply.getUserId());
+ List<SecurityApply> list2 = securityApplyService.list(Condition.getQueryWrapper(securityApply2));
+
+ if (list2.size()>0){
+ throw new ServiceException("当前人员已经提交申请,待审核中,请勿重复申请!");
+ }
+ //设置时间
+ securityApply.setCreateTime(new Date());
+ //待审核
+ securityApply.setAuditStatus(3);
+ //返回
+ return R.data(securityApplyService.save(securityApply));
+ }
+
+
+ /**
+ * 修改
+ * @param securityApply
+ * @return
+ */
+ @PostMapping("/update")
+ public R update(@RequestBody SecurityApply securityApply) {
+ //修改并返回
+ return R.data(securityApplyService.updateById(securityApply));
+ }
+
+ /**
+ * 新增或修改
+ * @param securityApply
+ * @return
+ */
+ @PostMapping("/submit")
+ public R submit(@RequestBody SecurityApply securityApply) {
+ return R.status(securityApplyService.saveOrUpdate(securityApply));
+ }
+
+
+ /**
+ * 删除
+ */
+ @PostMapping("/remove")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(securityApplyService.removeByIds(Func.toLongList(ids)));
+ }
+
+ /**
+ * 审核
+ * @param securityApply
+ * @return
+ */
+ @PostMapping("/audit")
+ public R audit(@RequestBody SecurityApply securityApply) {
+ securityApply.setAuditTime(new Date());
+ //修改并返回
+ return R.data(securityApplyService.audit(securityApply));
+ }
+
+
+ /**
+ * 批量审核
+ * @param securityApply
+ * @return
+ */
+ @PostMapping("/batchAudit")
+ public R batchAudit(@RequestBody SecurityApplyVO securityApply) {
+ securityApply.setAuditTime(new Date());
+ //修改并返回
+ return R.data(securityApplyService.batchAudit(securityApply));
+ }
+
+}
diff --git a/src/main/java/org/springblade/modules/securityapply/entity/SecurityApply.java b/src/main/java/org/springblade/modules/securityapply/entity/SecurityApply.java
new file mode 100644
index 0000000..0d16fb7
--- /dev/null
+++ b/src/main/java/org/springblade/modules/securityapply/entity/SecurityApply.java
@@ -0,0 +1,81 @@
+package org.springblade.modules.securityapply.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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
+ * @since 2020-03-03
+ */
+@Data
+@TableName("sys_security_apply")
+public class SecurityApply implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键id
+ */
+ @TableId(value = "id",type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 用户id
+ */
+ private Long userId;
+
+ /**
+ * 保安证编号
+ */
+ private String number;
+
+ /**
+ * 保安证图片 url
+ */
+ private String url;
+
+ /**
+ * 申请理由
+ */
+ private String applyReason;
+
+
+ /**
+ * 申请人id
+ */
+ private Long createUser;
+
+ /**
+ * 创建时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ /**
+ * 审核状态 1:通过 2:不通过 3:待审核
+ */
+ private Integer auditStatus;
+
+ /**
+ * 审核明细
+ */
+ private String auditDetail;
+
+ /**
+ * 审核时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date auditTime;
+
+}
diff --git a/src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.java b/src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.java
new file mode 100644
index 0000000..b7d8e61
--- /dev/null
+++ b/src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.java
@@ -0,0 +1,28 @@
+
+package org.springblade.modules.securityapply.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.securityapply.entity.SecurityApply;
+import org.springblade.modules.securityapply.vo.SecurityApplyVO;
+
+import java.util.List;
+
+/**
+ * 保安员证申诉Mapper 接口
+ *
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+public interface SecurityApplyMapper extends BaseMapper<SecurityApply> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param securityApply
+ * @return
+ */
+ List<SecurityApplyVO> selectSecurityApplyPage(IPage<SecurityApplyVO> page, @Param("securityApply") SecurityApplyVO securityApply);
+}
diff --git a/src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.xml b/src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.xml
new file mode 100644
index 0000000..56866f4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.xml
@@ -0,0 +1,41 @@
+<?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.securityapply.mapper.SecurityApplyMapper">
+
+ <!--自定义查询保安员证申诉分页数据-->
+ <select id="selectSecurityApplyPage" resultType="org.springblade.modules.securityapply.vo.SecurityApplyVO">
+ select
+ ssa.*,
+ bu.real_name realName,IF(mod(SUBSTR(bu.cardid,17,1),2),1,2) sex,bu.cardid,
+ bd.dept_name deptName,
+ bu1.real_name applyName
+ from sys_security_apply ssa
+ left join blade_user bu on bu.id = ssa.user_id
+ left join blade_dept bd on bd.id = bu.dept_id
+ left join blade_user bu1 on bu1.id = ssa.create_user
+ where 1=1
+ <if test="securityApply.realName!=null and securityApply.realName!=''">
+ and bu.real_name like concat('%',#{securityApply.realName},'%')
+ </if>
+ <if test="securityApply.cardid!=null and securityApply.cardid!=''">
+ and bu.cardid like concat('%',#{securityApply.cardid},'%')
+ </if>
+ <if test="securityApply.number!=null and securityApply.number!=''">
+ and ssa.number like concat('%',#{securityApply.number},'%')
+ </if>
+ <if test="securityApply.deptName!=null and securityApply.deptName!=''">
+ and bd.dept_name like concat('%',#{securityApply.deptName},'%')
+ </if>
+ <if test="securityApply.auditStatus!=null">
+ and ssa.audit_status = #{securityApply.auditStatus}
+ </if>
+ <if test="securityApply.startTime!=null and securityApply.startTime!=''">
+ and date_format(ssa.create_time,'%Y-%m-%d')>=#{securityApply.startTime}
+ </if>
+ <if test="securityApply.endTime!=null and securityApply.endTime!=''">
+ and date_format(ssa.create_time,'%Y-%m-%d')<=#{securityApply.endTime}
+ </if>
+ order by ssa.id desc
+ </select>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/securityapply/service/SecurityApplyService.java b/src/main/java/org/springblade/modules/securityapply/service/SecurityApplyService.java
new file mode 100644
index 0000000..1cbe53a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/securityapply/service/SecurityApplyService.java
@@ -0,0 +1,40 @@
+
+package org.springblade.modules.securityapply.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.securityapply.entity.SecurityApply;
+import org.springblade.modules.securityapply.vo.SecurityApplyVO;
+
+/**
+ * 保安员证申诉服务类
+ *
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+public interface SecurityApplyService extends IService<SecurityApply> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param securityApplyVO
+ * @return
+ */
+ IPage<SecurityApplyVO> selectSecurityApplyPage(IPage<SecurityApplyVO> page, @Param("securityApplyVO") SecurityApplyVO securityApplyVO);
+
+ /**
+ * 审核
+ * @param securityApply
+ * @return
+ */
+ Object audit(SecurityApply securityApply);
+
+ /**
+ * 批量审核
+ * @param securityApply
+ * @return
+ */
+ Object batchAudit(SecurityApplyVO securityApply);
+}
diff --git a/src/main/java/org/springblade/modules/securityapply/service/impl/SecurityApplyServiceImpl.java b/src/main/java/org/springblade/modules/securityapply/service/impl/SecurityApplyServiceImpl.java
new file mode 100644
index 0000000..7696d2a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/securityapply/service/impl/SecurityApplyServiceImpl.java
@@ -0,0 +1,133 @@
+
+package org.springblade.modules.securityapply.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.modules.securityapply.entity.SecurityApply;
+import org.springblade.modules.securityapply.mapper.SecurityApplyMapper;
+import org.springblade.modules.securityapply.service.SecurityApplyService;
+import org.springblade.modules.securityapply.vo.SecurityApplyVO;
+import org.springblade.modules.securitypaper.entity.SecurityPaper;
+import org.springblade.modules.securitypaper.service.SecurityPaperService;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.service.MyAsyncService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 保安员证申诉服务实现类
+ *
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+@Service
+public class SecurityApplyServiceImpl extends ServiceImpl<SecurityApplyMapper, SecurityApply> implements SecurityApplyService {
+
+ @Autowired
+ private MyAsyncService myAsyncService;
+
+ @Autowired
+ private IUserService userService;
+
+ @Autowired
+ private SecurityPaperService securityPaperService;
+
+ /**
+ * 自定义分页查询保安员证申诉数据
+ * @param page
+ * @param securityApply
+ * @return
+ */
+ @Override
+ public IPage<SecurityApplyVO> selectSecurityApplyPage(IPage<SecurityApplyVO> page, SecurityApplyVO securityApply) {
+ return page.setRecords(baseMapper.selectSecurityApplyPage(page, securityApply));
+ }
+
+ /**
+ * 审核
+ * @param securityApply
+ * @return
+ */
+ @Override
+ public Object audit(SecurityApply securityApply) {
+ //查询用户信息
+ SecurityApply apply = this.getById(securityApply.getId());
+ User user = userService.getById(apply.getUserId());
+ //判断审核状态
+ if (securityApply.getAuditStatus().equals(1)){
+ //审核通过,判断是否为重复审核通过,即查询保安证编号库是否已存在该编号,如果已存在,则不新增,否则则新增,同时修改改保安员的保安证编号
+ //1.1 查询该编号是否已在存储库存在
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setNumber(apply.getNumber());
+ List<SecurityPaper> list = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
+ if (list.size()>0){
+ //判断该编号对应的人员是否为同一人
+ for (SecurityPaper paper : list) {
+ if (!paper.getIdCardNo().equals(user.getCardid())){
+ //其他人员已占用该编号
+ throw new ServiceException("保安证编号:["+ apply.getNumber() +"] 已存在");
+ }
+ }
+ }else {
+ //新增
+ SecurityPaper securityPaper1 = new SecurityPaper();
+ securityPaper1.setNumber(apply.getNumber());
+ securityPaper1.setCreateTime(new Date());
+ securityPaper1.setIdCardNo(user.getCardid());
+ securityPaper1.setUserId(user.getId());
+ securityPaper1.setExamId(apply.getId());
+ securityPaper1.setPeopleName(user.getRealName());
+ securityPaper1.setSource(2);
+ //插入保安证存储库
+ securityPaperService.save(securityPaper1);
+ //用户保安证编号更新
+ user.setHold("1");
+ user.setSecuritynumber(apply.getNumber());
+ user.setUpdateTime(new Date());
+ boolean status = userService.updateById(user);
+
+ if (status) {
+ //内网数据同步
+ String s1 =
+ "update blade_user set hold = " + user.getHold() +
+ ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
+ ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:dd").format(user.getUpdateTime()) + "'" +
+ " " + "where id = " + "'" + user.getId() + "'";
+ myAsyncService.FTP(s1);
+ }
+ }
+ }
+ //证件核实申请更新并返回
+ return this.updateById(securityApply);
+ }
+
+ /**
+ * 批量审核
+ * @param securityApply
+ * @return
+ */
+ @Override
+ public Object batchAudit(SecurityApplyVO securityApply) {
+ //取出id
+ List<String> list = Arrays.asList(securityApply.getIds().split(","));
+ //遍历
+ for (String s : list) {
+ SecurityApply securityApply1 = new SecurityApply();
+ securityApply1.setAuditTime(securityApply.getAuditTime());
+ securityApply1.setAuditStatus(securityApply.getAuditStatus());
+ securityApply1.setId(Long.parseLong(s));
+ //审核
+ audit(securityApply1);
+ }
+ //返回
+ return null;
+ }
+}
diff --git a/src/main/java/org/springblade/modules/securityapply/vo/SecurityApplyVO.java b/src/main/java/org/springblade/modules/securityapply/vo/SecurityApplyVO.java
new file mode 100644
index 0000000..4be090b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/securityapply/vo/SecurityApplyVO.java
@@ -0,0 +1,55 @@
+
+package org.springblade.modules.securityapply.vo;
+
+import lombok.Data;
+import org.springblade.modules.securityapply.entity.SecurityApply;
+
+/**
+ * 保安员证申诉视图实体类
+ * @author zhongrj
+ * @since 2022-03-03
+ */
+@Data
+public class SecurityApplyVO extends SecurityApply {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 保安员姓名
+ */
+ private String realName;
+
+ /**
+ * 申请人姓名
+ */
+ private String applyName;
+
+ /**
+ * 身份证号
+ */
+ private String cardid;
+
+ /**
+ * 性别
+ */
+ private String sex;
+
+ /**
+ * 企业名称
+ */
+ private String deptName;
+
+ /**
+ * 开始时间
+ */
+ private String startTime;
+
+ /**
+ * 截止时间
+ */
+ private String endTime;
+
+ /**
+ * ids
+ */
+ private String ids;
+}
diff --git a/src/main/java/org/springblade/modules/securitypaper/entity/SecurityPaper.java b/src/main/java/org/springblade/modules/securitypaper/entity/SecurityPaper.java
index 47007b4..c98e574 100644
--- a/src/main/java/org/springblade/modules/securitypaper/entity/SecurityPaper.java
+++ b/src/main/java/org/springblade/modules/securitypaper/entity/SecurityPaper.java
@@ -69,8 +69,13 @@
private Long applyId;
/**
- * 考试id
+ * 考试id / 核查申请 id
*/
@TableField("exam_id")
private Long examId;
+
+ /**
+ * 来源 1:考试通过生成 2:核查申请通过插入 3:其他
+ */
+ private Integer source;
}
diff --git a/src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java b/src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java
index 80b009e..296bb3b 100644
--- a/src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java
+++ b/src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java
@@ -34,6 +34,7 @@
securityPaper.setPeopleName(securityPaperExcel.getRealName());
securityPaper.setNumber(securityPaperExcel.getSecuritynumber());
securityPaper.setCreateTime(new Date());
+ securityPaper.setSource(3);
//新增
this.save(securityPaper);
});
diff --git a/src/main/java/org/springblade/modules/securitypaper/vo/SecurityPaperVo.java b/src/main/java/org/springblade/modules/securitypaper/vo/SecurityPaperVo.java
index 190f22c..841d1d2 100644
--- a/src/main/java/org/springblade/modules/securitypaper/vo/SecurityPaperVo.java
+++ b/src/main/java/org/springblade/modules/securitypaper/vo/SecurityPaperVo.java
@@ -8,9 +8,10 @@
/**
* 保安员证管理vo
* @author zhongrj
- * @since 2021-12-25
+ * @since 2021-12-15
*/
@Data
public class SecurityPaperVo extends SecurityPaper implements Serializable {
+
}
diff --git a/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java b/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
index 5d4848b..55d4293 100644
--- a/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
+++ b/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
@@ -105,13 +105,13 @@
List<ExamSubjectChoicesVO> radioRandomSubjectList = examPaperService.queryRandomSubjectList(radio,25);
List<ExamSubjectChoicesVO> checkboxRandomSubjectList = examPaperService.queryRandomSubjectList(checkbox,10);
List<ExamSubjectChoicesVO> judgeRandomSubjectList = examPaperService.queryRandomSubjectList(judge,20);
-// List<ExamSubjectChoicesVO> sortRandomSubjectList = examPaperService.queryRandomSubjectList(sort,5);
+ List<ExamSubjectChoicesVO> sortRandomSubjectList = examPaperService.queryRandomSubjectList(sort,5);
//合并集合数据
choicesVOList.addAll(radioRandomSubjectList);
choicesVOList.addAll(checkboxRandomSubjectList);
choicesVOList.addAll(judgeRandomSubjectList);
-// choicesVOList.addAll(sortRandomSubjectList);
+ choicesVOList.addAll(sortRandomSubjectList);
//取出考试id
List<Long> longList = choicesVOList.stream().map(ExamSubjectChoicesVO::getId).collect(Collectors.toList());
diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java
index cacc138..432472f 100644
--- a/src/main/java/org/springblade/modules/system/controller/UserController.java
+++ b/src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -324,26 +324,26 @@
}
//判断是否持证
-// if (user.getHold().equals("1") && null!=user.getSecuritynumber() && !user.getSecuritynumber().equals("")){
-// //持证,校验保安证编号是否合法
-// SecurityPaper securityPaper = new SecurityPaper();
-// securityPaper.setIdCardNo(user.getCardid());
-// List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
-// if (securityPaperList.size()>0){
-// boolean status = false;
-// //遍历
-// for (SecurityPaper paper : securityPaperList) {
-// if (paper.getNumber().equals(user.getSecuritynumber())){
-// status = true;
-// }
-// }
-// if (!status){
-// throw new ServiceException("保安证编号不匹配,请核实!");
-// }
-// }else {
-// throw new ServiceException("保安证编号不匹配,请核实!");
-// }
-// }
+ if (user.getHold().equals("1") && null!=user.getSecuritynumber() && !user.getSecuritynumber().equals("")){
+ //持证,校验保安证编号是否合法
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setIdCardNo(user.getCardid());
+ List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
+ if (securityPaperList.size()>0){
+ boolean status = false;
+ //遍历
+ for (SecurityPaper paper : securityPaperList) {
+ if (paper.getNumber().equals(user.getSecuritynumber())){
+ status = true;
+ }
+ }
+ if (!status){
+ throw new ServiceException("保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
+ }
+ }else {
+ throw new ServiceException("保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
+ }
+ }
//如果是离职
if (null != user.getStatus()) {
@@ -1208,26 +1208,26 @@
}
//判断是否持证
-// if (user.getHold().equals("1")){
-// //持证,校验保安证编号是否合法
-// SecurityPaper securityPaper = new SecurityPaper();
-// securityPaper.setIdCardNo(user.getCardid());
-// List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
-// if (securityPaperList.size()>0){
-// boolean status = false;
-// //遍历
-// for (SecurityPaper paper : securityPaperList) {
-// if (paper.getNumber().equals(user.getSecuritynumber())){
-// status = true;
-// }
-// }
-// if (!status){
-// throw new ServiceException("保安证编号不匹配,请核实!");
-// }
-// }else {
-// throw new ServiceException("保安证编号不匹配,请核实!");
-// }
-// }
+ if (user.getHold().equals("1")){
+ //持证,校验保安证编号是否合法
+ SecurityPaper securityPaper = new SecurityPaper();
+ securityPaper.setIdCardNo(user.getCardid());
+ List<SecurityPaper> securityPaperList = securityPaperService.list(Condition.getQueryWrapper(securityPaper));
+ if (securityPaperList.size()>0){
+ boolean status = false;
+ //遍历
+ for (SecurityPaper paper : securityPaperList) {
+ if (paper.getNumber().equals(user.getSecuritynumber())){
+ status = true;
+ }
+ }
+ if (!status){
+ throw new ServiceException("保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
+ }
+ }else {
+ throw new ServiceException("保安证编号不匹配,请核实!也可通过提供保安证件信息提交核实申请!");
+ }
+ }
String url = "";
if (null != user.getFingerprint() && !user.getFingerprint().equals("")) {
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index b8151f9..89ac7a4 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -50,7 +50,8 @@
jsonUrl: E:\\anbao\\
username: root
password: ZHba@0112
- qfqkBaseApiUrl : http://192.168.0.198:83
+# qfqkBaseApiUrl : http://192.168.0.198:83
+ qfqkBaseApiUrl : http://223.82.109.183:2082/api
#第三方登陆
social:
--
Gitblit v1.9.3