From 8dde8867d4a8690b186b5d9ce1e4f843444ed8c4 Mon Sep 17 00:00:00 2001
From: yz_08 <yz_0812@outlook.com>
Date: 星期三, 17 二月 2021 00:53:59 +0800
Subject: [PATCH] 新增附件管理

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java         |   57 ++++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpAccessoryMapper.java            |   26 ++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpAccessoryMapper.xml             |    5 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/vo/EmpAccessoryVO.java                    |   18 ++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpAccessory.java                  |  187 ++++++++++++++++++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java    |   82 +++++++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java |  123 +++++++++++++
 7 files changed, 498 insertions(+), 0 deletions(-)

diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java
new file mode 100644
index 0000000..41e93fd
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpAccessoryController.java
@@ -0,0 +1,82 @@
+package cc.mrbird.febs.server.hr.controller;
+
+import cc.mrbird.febs.common.core.entity.FebsResponse;
+import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.exception.FebsException;
+import cc.mrbird.febs.common.core.utils.FebsUtil;
+import cc.mrbird.febs.server.hr.entity.EmpAccessory;
+import cc.mrbird.febs.server.hr.service.IEmpAccessoryService;
+import cc.mrbird.febs.server.hr.vo.EmpAccessoryVO;
+import lombok.extern.slf4j.Slf4j;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.Map;
+
+/**
+ * 附件管理 Controller
+ *
+ * @author yz
+ * @date 2021-02-15 17:07:19
+ */
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("empAccessory")
+@RequiredArgsConstructor
+public class EmpAccessoryController {
+
+    private final IEmpAccessoryService empAccessoryService;
+
+    @GetMapping
+    @PreAuthorize("hasAuthority('empAccessory:list')")
+    public FebsResponse getAllEmpAccessorys(EmpAccessory empAccessory) {
+        return new FebsResponse().data(empAccessoryService.findEmpAccessorys(empAccessory));
+    }
+
+    @GetMapping("list")
+    @PreAuthorize("hasAuthority('empAccessory:list')")
+    public FebsResponse empAccessoryList(QueryRequest request, EmpAccessoryVO vo) {
+        Map<String, Object> dataTable = FebsUtil.getDataTable(this.empAccessoryService.findEmpAccessorys(request, vo));
+        return new FebsResponse().data(dataTable);
+    }
+
+    @PostMapping
+    @PreAuthorize("hasAuthority('empAccessory:add')")
+    public void addEmpAccessory(@Valid EmpAccessory empAccessory) throws FebsException {
+        try {
+            this.empAccessoryService.createEmpAccessory(empAccessory);
+        } catch (Exception e) {
+            String message = "新增EmpAccessory失败";
+            log.error(message, e);
+            throw new FebsException(message);
+        }
+    }
+
+    @DeleteMapping
+    @PreAuthorize("hasAuthority('empAccessory:delete')")
+    public void deleteEmpAccessory(EmpAccessory empAccessory) throws FebsException {
+        try {
+            this.empAccessoryService.deleteEmpAccessory(empAccessory);
+        } catch (Exception e) {
+            String message = "删除EmpAccessory失败";
+            log.error(message, e);
+            throw new FebsException(message);
+        }
+    }
+
+    @PutMapping
+    @PreAuthorize("hasAuthority('empAccessory:update')")
+    public void updateEmpAccessory(EmpAccessory empAccessory) throws FebsException {
+        try {
+            this.empAccessoryService.updateEmpAccessory(empAccessory);
+        } catch (Exception e) {
+            String message = "修改EmpAccessory失败";
+            log.error(message, e);
+            throw new FebsException(message);
+        }
+    }
+}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpAccessory.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpAccessory.java
new file mode 100644
index 0000000..8d8792c
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpAccessory.java
@@ -0,0 +1,187 @@
+package cc.mrbird.febs.server.hr.entity;
+
+import java.util.Date;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+* 附件管理 Entity
+*
+* @author yz
+* @date 2021-02-15 17:07:19
+*/
+@Data
+@TableName("t_emp_accessory")
+public class EmpAccessory {
+
+    /**
+     * 附件Id
+     */
+    @TableId(value = "accessoryId", type = IdType.AUTO)
+    private Long accessoryid;
+
+    /**
+     * 处罚数量
+     */
+    @TableField("cf")
+    private Integer cf;
+
+    /**
+     * 记录创建时间
+     */
+    @TableField("createTime")
+    private Date createtime;
+
+    /**
+     * 记录创建人
+     */
+    @TableField("creator")
+    private String creator;
+
+    /**
+     * 辞职申请数量
+     */
+    @TableField("czsq")
+    private Integer czsq;
+
+    /**
+     * 记录删除标志。0-未删除 1-已删除,默认0
+     */
+    @TableField("delFlag")
+    private Integer delFlag = 0;
+    /**
+     * 员工Id
+     */
+    @TableField("empId")
+    private Long empid;
+
+    /**
+     * 工伤数量
+     */
+    @TableField("lz")
+    private Integer lz;
+
+    /**
+     * 劳资数量
+     */
+    @TableField("gz")
+    private Integer gz;
+
+    /**
+     * 回执数量
+     */
+    @TableField("hz")
+    private Integer hz;
+
+    /**
+     * 截图记录数量
+     */
+    @TableField("jljt")
+    private Integer jljt;
+
+    /**
+     * 劳动合同数量
+     */
+    @TableField("ldht")
+    private Integer ldht;
+
+    /**
+     * 离职手续数量
+     */
+    @TableField("lzsx")
+    private Integer lzsx;
+
+    /**
+     * 记录最后更新人
+     */
+    @TableField("modifier")
+    private String modifier;
+
+    /**
+     * 记录最后更新时间
+     */
+    @TableField("modifyTime")
+    private Date modifytime;
+
+    /**
+     * 请假数量
+     */
+    @TableField("qj")
+    private Integer qj;
+
+    /**
+     * 入职表数量
+     */
+    @TableField("rzb")
+    private Integer rzb;
+
+    /**
+     * 社保数量
+     */
+    @TableField("sb")
+    private Integer sb;
+
+    /**
+     * 身份证数量
+     */
+    @TableField("sfz")
+    private Integer sfz;
+
+    /**
+     * 失业金数量
+     */
+    @TableField("syj")
+    private Integer syj;
+
+    /**
+     * 记录版本号,用来进行乐观锁控制
+     */
+    @TableField("version")
+    private Integer version;
+
+    /**
+     * 相关合同数量
+     */
+    @TableField("xght")
+    private Integer xght;
+
+    /**
+     * 相关证件数量
+     */
+    @TableField("xgzj")
+    private Integer xgzj;
+
+    /**
+     * 银行卡数量
+     */
+    @TableField("yhk")
+    private Integer yhk;
+
+    /**
+     * 意外险数量
+     */
+    @TableField("ywx")
+    private Integer ywx;
+
+    /**
+     * 自离数量
+     */
+    @TableField("zl")
+    private Integer zl;
+
+    /**
+     * 照片数量
+     */
+    @TableField("zp")
+    private Integer zp;
+
+    /**
+     * 体检表数量
+     */
+    @TableField("tjb")
+    private Integer tjb;
+
+}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpAccessoryMapper.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpAccessoryMapper.java
new file mode 100644
index 0000000..da8d15f
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpAccessoryMapper.java
@@ -0,0 +1,26 @@
+package cc.mrbird.febs.server.hr.mapper;
+
+import cc.mrbird.febs.server.hr.entity.EmpAccessory;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+
+import java.util.Map;
+
+/**
+ * 附件管理 Mapper
+ *
+ * @author yz
+ * @date 2021-02-15 17:07:19
+ */
+public interface EmpAccessoryMapper extends BaseMapper<EmpAccessory> {
+
+
+    @Select("select * from (select a.empName,a.empId,a.empNumb,a.age,a.archivesStatus,a.sex,a.insuranceType,a.politics,a.education,a.entryDate,a.certificateNumb,(select dept_Name from t_dept as dept where dept.dept_Id= a.deptId) as deptName,a.jobName,b.jljt,b.zp,b.ldht,b.sfz,b.rzb,b.tjb,b.hz,b.yhk,b.xgzj,b.xght,b.qj,b.cf,b.czsq,b.lzsx,b.zl,b.sb,b.syj,b.ywx,b.gs,b.lz from t_emp_baseinfo a left join t_emp_accessory b on a.empId = b.empId where a.delFlag = 0)  a  ${ew.customSqlSegment}")
+    IPage<Map<String,Object>> selectPageVo(Page<?> page, @Param(Constants.WRAPPER) Wrapper wrapper);
+}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpAccessoryMapper.xml b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpAccessoryMapper.xml
new file mode 100644
index 0000000..cc3d424
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpAccessoryMapper.xml
@@ -0,0 +1,5 @@
+<?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="cc.mrbird.febs.server.generator.gen.mapper.EmpAccessoryMapper">
+
+</mapper>
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java
new file mode 100644
index 0000000..8b64848
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccessoryService.java
@@ -0,0 +1,57 @@
+package cc.mrbird.febs.server.hr.service;
+
+
+import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.server.hr.entity.EmpAccessory;
+import cc.mrbird.febs.server.hr.vo.EmpAccessoryVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 附件管理 Service接口
+ *
+ * @author yz
+ * @date 2021-02-15 17:07:19
+ */
+public interface IEmpAccessoryService extends IService<EmpAccessory> {
+    /**
+     * 查询(分页)
+     *
+     * @param request QueryRequest
+     * @param empAccessory empAccessory
+     * @return IPage<EmpAccessory>
+     */
+    IPage<Map<String,Object>> findEmpAccessorys(QueryRequest request, EmpAccessoryVO empAccessory);
+
+    /**
+     * 查询(所有)
+     *
+     * @param empAccessory empAccessory
+     * @return List<EmpAccessory>
+     */
+    List<EmpAccessory> findEmpAccessorys(EmpAccessory empAccessory);
+
+    /**
+     * 新增
+     *
+     * @param empAccessory empAccessory
+     */
+    void createEmpAccessory(EmpAccessory empAccessory);
+
+    /**
+     * 修改
+     *
+     * @param empAccessory empAccessory
+     */
+    void updateEmpAccessory(EmpAccessory empAccessory);
+
+    /**
+     * 删除
+     *
+     * @param empAccessory empAccessory
+     */
+    void deleteEmpAccessory(EmpAccessory empAccessory);
+}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
new file mode 100644
index 0000000..c79dcd0
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccessoryServiceImpl.java
@@ -0,0 +1,123 @@
+package cc.mrbird.febs.server.hr.service.impl;
+
+import cc.mrbird.febs.server.hr.entity.EmpAccessory;
+import cc.mrbird.febs.server.hr.mapper.EmpAccessoryMapper;
+import cc.mrbird.febs.server.hr.service.IEmpAccessoryService;
+import cc.mrbird.febs.server.hr.vo.EmpAccessoryVO;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.annotation.Propagation;
+import lombok.RequiredArgsConstructor;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import cc.mrbird.febs.common.core.entity.QueryRequest;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 附件管理 Service实现
+ *
+ * @author yz
+ * @date 2021-02-15 17:07:19
+ */
+@Service
+@RequiredArgsConstructor
+@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
+public class EmpAccessoryServiceImpl extends ServiceImpl<EmpAccessoryMapper, EmpAccessory> implements IEmpAccessoryService {
+
+    private final EmpAccessoryMapper empAccessoryMapper;
+
+    @Override
+    public IPage<Map<String,Object>> findEmpAccessorys(QueryRequest request, EmpAccessoryVO vo) {
+        QueryWrapper<EmpAccessoryVO> queryWrapper = new QueryWrapper<>();
+        if (StrUtil.isNotBlank(vo.getEmpName())){
+            queryWrapper.like("a.empName",vo.getEmpName());
+        }
+        if (StrUtil.isNotBlank(vo.getEmpNumb())){
+            queryWrapper.like("a.empNumb",vo.getEmpNumb());
+        }
+        if (StrUtil.isNotBlank(vo.getCertificateNumb())){
+            queryWrapper.like("a.certificateNumb",vo.getCertificateNumb());
+        }
+        if (StrUtil.isNotBlank(vo.getDeptName())){
+            queryWrapper.like("a.deptName",vo.getDeptName());
+        }
+        if (StrUtil.isNotBlank(vo.getEntryDate())){
+            queryWrapper.between("a.entryDate",vo.getEntryDate().split(",")[0],vo.getEntryDate().split(",")[1]);
+        }
+        if(StrUtil.isNotBlank(vo.getAge())){
+            if(StrUtil.equals(vo.getAge(),"1")){
+                queryWrapper.between("a.age",18,29);
+            }else if(StrUtil.equals(vo.getAge(),"2")){
+                queryWrapper.between("a.age",30,39);
+            }else if(StrUtil.equals(vo.getAge(),"3")){
+                queryWrapper.between("a.age",40,49);
+            }else if(StrUtil.equals(vo.getAge(),"4")){
+                queryWrapper.between("a.age",50,59);
+            }else if(StrUtil.equals(vo.getAge(),"5")){
+                queryWrapper.between("a.age",60,69);
+            }else if(StrUtil.equals(vo.getAge(),"6")){
+                queryWrapper.ge("a.age",69);
+            }
+        }
+        if(StrUtil.isNotBlank(vo.getArchivesStatus())){
+            if(!StrUtil.equals(vo.getArchivesStatus(),"-1")) {
+                queryWrapper.eq("a.archivesStatus", vo.getArchivesStatus());
+            }
+        }
+        if(StrUtil.isNotBlank(vo.getEducation())){
+            if(!StrUtil.equals(vo.getEducation(),"-1")) {
+                queryWrapper.eq("a.education", vo.getEducation());
+            }
+        }
+        if(StrUtil.isNotBlank(vo.getSex())){
+            if(!StrUtil.equals(vo.getSex(),"-1")) {
+                queryWrapper.eq("a.sex", vo.getSex());
+            }
+        }
+        if(StrUtil.isNotBlank(vo.getInsuranceType())){
+            if(!StrUtil.equals(vo.getInsuranceType(),"-1")) {
+                queryWrapper.eq("a.insuranceType", vo.getInsuranceType());
+            }
+        }
+        if(StrUtil.isNotBlank(vo.getPolitics())){
+            if(!StrUtil.equals(vo.getPolitics(),"-1")) {
+                queryWrapper.eq("a.politics", vo.getPolitics());
+            }
+        }
+        Page<EmpAccessory> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return empAccessoryMapper.selectPageVo(page, queryWrapper);
+    }
+
+    @Override
+    public List<EmpAccessory> findEmpAccessorys(EmpAccessory empAccessory) {
+        LambdaQueryWrapper<EmpAccessory> queryWrapper = new LambdaQueryWrapper<>();
+        // TODO 设置查询条件
+        return this.baseMapper.selectList(queryWrapper);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void createEmpAccessory(EmpAccessory empAccessory) {
+        this.save(empAccessory);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateEmpAccessory(EmpAccessory empAccessory) {
+        this.saveOrUpdate(empAccessory);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteEmpAccessory(EmpAccessory empAccessory) {
+        LambdaQueryWrapper<EmpAccessory> wapper = new LambdaQueryWrapper<>();
+        // TODO 设置删除条件
+        this.remove(wapper);
+    }
+}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/vo/EmpAccessoryVO.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/vo/EmpAccessoryVO.java
new file mode 100644
index 0000000..517d502
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/vo/EmpAccessoryVO.java
@@ -0,0 +1,18 @@
+package cc.mrbird.febs.server.hr.vo;
+
+import lombok.Data;
+
+@Data
+public class EmpAccessoryVO {
+    private String empNumb;
+    private String empName;
+    private String certificateNumb;
+    private String deptName;
+    private String entryDate;
+    private String sex;
+    private String education;
+    private String politics;
+    private String age;
+    private String archivesStatus;
+    private String insuranceType;
+}

--
Gitblit v1.8.0