智慧保安后台管理-外网
1. 电子围栏基本接口新增
2. 保安员证核查申请记录基本接口新增,审批,批量审批接口编写
3. 保安员证档案库新增字段 source 来源,保安员证生成修改
9 files modified
14 files added
940 ■■■■■ changed files
src/main/java/org/springblade/modules/electronrail/controller/ElectronRailController.java 100 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/electronrail/entity/ElectronRail.java 68 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.xml 20 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/electronrail/service/ElectronRailService.java 27 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/electronrail/service/impl/ElectronRailServiceImpl.java 31 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/electronrail/vo/ElectronRailVO.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securityapply/controller/SecurityApplyController.java 158 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securityapply/entity/SecurityApply.java 81 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.xml 41 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securityapply/service/SecurityApplyService.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securityapply/service/impl/SecurityApplyServiceImpl.java 133 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securityapply/vo/SecurityApplyVO.java 55 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securitypaper/entity/SecurityPaper.java 7 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securitypaper/vo/SecurityPaperVo.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/UserController.java 80 ●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/electronrail/controller/ElectronRailController.java
New file
@@ -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)));
    }
}
src/main/java/org/springblade/modules/electronrail/entity/ElectronRail.java
New file
@@ -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;
}
src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.java
New file
@@ -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);
}
src/main/java/org/springblade/modules/electronrail/mapper/ElectronRailMapper.xml
New file
@@ -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>
src/main/java/org/springblade/modules/electronrail/service/ElectronRailService.java
New file
@@ -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);
}
src/main/java/org/springblade/modules/electronrail/service/impl/ElectronRailServiceImpl.java
New file
@@ -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));
    }
}
src/main/java/org/springblade/modules/electronrail/vo/ElectronRailVO.java
New file
@@ -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;
}
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);
                    //修改为持证保安
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);
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() + "'" +
src/main/java/org/springblade/modules/securityapply/controller/SecurityApplyController.java
New file
@@ -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));
    }
}
src/main/java/org/springblade/modules/securityapply/entity/SecurityApply.java
New file
@@ -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;
}
src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.java
New file
@@ -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);
}
src/main/java/org/springblade/modules/securityapply/mapper/SecurityApplyMapper.xml
New file
@@ -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')&gt;=#{securityApply.startTime}
        </if>
        <if test="securityApply.endTime!=null and securityApply.endTime!=''">
            and date_format(ssa.create_time,'%Y-%m-%d')&lt;=#{securityApply.endTime}
        </if>
        order by ssa.id desc
    </select>
</mapper>
src/main/java/org/springblade/modules/securityapply/service/SecurityApplyService.java
New file
@@ -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);
}
src/main/java/org/springblade/modules/securityapply/service/impl/SecurityApplyServiceImpl.java
New file
@@ -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;
    }
}
src/main/java/org/springblade/modules/securityapply/vo/SecurityApplyVO.java
New file
@@ -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;
}
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;
}
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);
        });
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 {
}
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());
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("")) {
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: