luoyb
2021-01-31 68021996334e1b0a4364268266fc4bed4f304160
feat(人力资源微服务): 体检信息基本增、删、改功能实现
11个文件已添加
1个文件已修改
998 ■■■■■ 已修改文件
febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpWorkExperienceController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpWorkExperience.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpWorkExperienceMapper.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl
@@ -92,7 +92,6 @@
@Override
@Transactional(rollbackFor = Exception.class)
public void logicDel${className}(String ids) {
List<String> list = new ArrayList<>();
    String[] str = ids.split(",");
    List<String> list = new ArrayList<>(Arrays.asList(str));
    ${className?uncap_first}Mapper.logicDeleteByIds(list, operatorId);
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
New file
@@ -0,0 +1,110 @@
package cc.mrbird.febs.server.hr.controller;
import cc.mrbird.febs.common.core.entity.system.Dept;
import cc.mrbird.febs.common.core.entity.system.SystemUser;
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
import cc.mrbird.febs.server.hr.feign.IRemoteDeptService;
import cc.mrbird.febs.server.hr.feign.IRemoteUserService;
import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService;
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 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;
/**
 * name:EmpBaseInfo
 * package:cc.mrbird.febs.server.hr.controller
 * description:控制器
 *
 * @author luoyibo
 * @date 2021-01-30 08:04:50
 * @since JDK1.8
 */
@Slf4j
@Validated
@RestController
@RequestMapping("empBaseInfo")
@RequiredArgsConstructor
public class EmpBaseInfoController {
    private final IEmpBaseInfoService empBaseInfoService;
    private final IRemoteUserService remoteUserService;
    private final IRemoteDeptService remoteDeptService;
    @GetMapping
    @PreAuthorize("hasAuthority('empBaseinfo:list')")
    public FebsResponse getAllEmpBaseInfos(EmpBaseInfo empBaseinfo) {
        return new FebsResponse().data(empBaseInfoService.findEmpBaseInfos(empBaseinfo));
    }
    @GetMapping("list")
    @PreAuthorize("hasAuthority('empBaseinfo:list')")
    public FebsResponse empBaseInfoList(QueryRequest request, EmpBaseInfo empBaseinfo) {
        Map<String, Object> dataTable = FebsUtil.getDataTable(this.empBaseInfoService.findEmpBaseInfos(request, empBaseinfo));
        return new FebsResponse().data(dataTable);
    }
    @PostMapping
    @PreAuthorize("hasAuthority('empBaseinfo:add')")
    public void addEmpBaseInfo(@Valid EmpBaseInfo empBaseinfo) throws FebsException {
        try {
            this.empBaseInfoService.createEmpBaseInfo(empBaseinfo);
        } catch (Exception e) {
            String message = "新增员工基本信息失败";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
    @DeleteMapping
    @PreAuthorize("hasAuthority('empBaseinfo:delete')")
    public void deleteEmpBaseInfo(EmpBaseInfo empBaseinfo) throws FebsException {
        try {
            this.empBaseInfoService.deleteEmpBaseInfo(empBaseinfo);
        } catch (Exception e) {
            String message = "删除员工基本信息失败";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
    @DeleteMapping("{ids}")
    @PreAuthorize("hasAuthority('empBaseinfo:delete')")
    public void logicDeleteEmpBaseInfo(@PathVariable("ids") String ids) throws FebsException {
        try {
            this.empBaseInfoService.logicDelEmpBaseInfo(ids);
        } catch (Exception e) {
            String message = "逻辑员工基本信息删除失败";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
    @PutMapping
    @PreAuthorize("hasAuthority('empBaseinfo:update')")
    public void updateEmpBaseInfo(EmpBaseInfo empBaseinfo) throws FebsException {
        try {
            this.empBaseInfoService.updateEmpBaseInfo(empBaseinfo);
        } catch (Exception e) {
            String message = "修改失败";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
    @GetMapping("user/list")
    public FebsResponse getRemoteUserList(QueryRequest request, SystemUser user) {
        return remoteUserService.userList(request, user);
    }
    @GetMapping("dept/list")
    public FebsResponse getRemoteDeptList(QueryRequest request, Dept dept) {
        return remoteDeptService.deptList(request, dept);
    }
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpWorkExperienceController.java
New file
@@ -0,0 +1,96 @@
package cc.mrbird.febs.server.hr.controller;
import cc.mrbird.febs.server.hr.entity.EmpWorkExperience;
import cc.mrbird.febs.server.hr.service.IEmpWorkExperienceService;
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 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;
/**
 * name:EmpWorkexperience
 * package:cc.mrbird.febs.server.hr.controller
 * description:员工工作经历控制器
 *
 * @author luoyibo
 * @date 2021-01-28 12:33:31
 * @since JDK1.8
 */
@Slf4j
@Validated
@RestController
@RequestMapping("empWorkExperience")
@RequiredArgsConstructor
public class EmpWorkExperienceController {
    private final IEmpWorkExperienceService empWorkExperienceService;
    @GetMapping
    @PreAuthorize("hasAuthority('empWorkexperience:list')")
    public FebsResponse getAllEmpWorkExperiences(EmpWorkExperience empWorkexperience) {
        return new FebsResponse().data(empWorkExperienceService.findEmpWorkExperiences(empWorkexperience));
    }
    @GetMapping("list")
    @PreAuthorize("hasAuthority('empWorkexperience:list')")
    public FebsResponse empWorkExperienceList(QueryRequest request, EmpWorkExperience empWorkexperience) {
        Map<String, Object> dataTable = FebsUtil.getDataTable(this.empWorkExperienceService.findEmpWorkExperiences(request, empWorkexperience));
        return new FebsResponse().data(dataTable);
    }
    @PostMapping
    @PreAuthorize("hasAuthority('empWorkexperience:add')")
    public void addEmpWorkExperience(@Valid EmpWorkExperience empWorkexperience) throws FebsException {
        try {
            this.empWorkExperienceService.createEmpWorkExperience(empWorkexperience);
        } catch (Exception e) {
            String message = "新增员工工作经历失败";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
    @DeleteMapping
    @PreAuthorize("hasAuthority('empWorkexperience:delete')")
    public void deleteEmpWorkExperience(EmpWorkExperience empWorkexperience) throws FebsException {
        try {
            this.empWorkExperienceService.deleteEmpWorkExperience(empWorkexperience);
        } catch (Exception e) {
            String message = "删除员工工作经历失败";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
    @DeleteMapping("{ids}")
    @PreAuthorize("hasAuthority('empWorkexperience:delete')")
    public void logicDeleteEmpWorkExperience(@PathVariable("ids") String ids) throws FebsException {
        try {
            this.empWorkExperienceService.logicDelEmpWorkExperience(ids);
        } catch (Exception e) {
            String message = "逻辑删除员工工作经历失败";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
    @PutMapping
    @PreAuthorize("hasAuthority('empWorkexperience:update')")
    public void updateEmpWorkExperience(EmpWorkExperience empWorkexperience) throws FebsException {
        try {
            this.empWorkExperienceService.updateEmpWorkExperience(empWorkexperience);
        } catch (Exception e) {
            String message = "修改员工工作经历失败";
            log.error(message, e);
            throw new FebsException(message);
        }
    }
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
New file
@@ -0,0 +1,233 @@
package cc.mrbird.febs.server.hr.entity;
import java.io.Serializable;
import java.util.Date;
import cc.mrbird.febs.common.core.annotation.FieldInfo;
import cc.mrbird.febs.common.core.utils.DateDeSerializer;
import cc.mrbird.febs.common.core.utils.DateSerializer;
import cc.mrbird.febs.common.core.utils.DateTimeDeserializer;
import cc.mrbird.febs.common.core.utils.DateTimeSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * name:EmpBaseinfo
 * package:cc.mrbird.febs.server.hr.controller
 * description:数据表映射实体
 *
 * @author luoyibo
 * @date 2021-01-30 08:04:50
 * @since JDK1.8
 */
@Data
@TableName("t_emp_baseInfo")
public class EmpBaseInfo implements Serializable {
    @FieldInfo(name = "empId", type = "bigint", explain = "员工Id")
    @TableId(value = "empId")
    private Long empId = 0L;
    @FieldInfo(name = "customerId", type = "bigint", explain = "租户Id")
    @TableField("customerId")
    private Long customerId = 0L;
    @FieldInfo(name = "archivesNumb", type = "varchar", explain = "档案号")
    @TableField("archivesNumb")
    private String archivesNumb = "";
    @FieldInfo(name = "deptId", type = "bigint", explain = "部门Id")
    @TableField("deptId")
    private Long deptId = 0L;
    @FieldInfo(name = "deptName", type = "varchar", explain = "部门名称")
    @TableField("deptName")
    private String deptName = "";
    @FieldInfo(name = "empNumb", type = "varchar", explain = "员工编号")
    @TableField("empNumb")
    private String empNumb = "";
    @FieldInfo(name = "empName", type = "varchar", explain = "员工姓名")
    @TableField("empName")
    private String empName = "";
    @FieldInfo(name = "sex", type = "varchar", explain = "性别码,使用国标性别性别码")
    @TableField("sex")
    private String sex = "";
    @FieldInfo(name = "jobId", type = "bigint", explain = "岗位Id")
    @TableField("jobId")
    private Long jobId = 0L;
    @FieldInfo(name = "jobName", type = "varchar", explain = "岗位名称")
    @TableField("jobName")
    private String jobName = "";
    @FieldInfo(name = "empType", type = "varchar", explain = "员工类别,员工类另字典表")
    @TableField("empType")
    private String empType = "";
    @FieldInfo(name = "certificateType", type = "varchar", explain = "证件类型,人员证件类型,国标代码")
    @TableField("certificateType")
    private String certificateType = "";
    @FieldInfo(name = "certificateNumb", type = "varchar", explain = "证件号码")
    @TableField("certificateNumb")
    private String certificateNumb = "";
    @FieldInfo(name = "nation", type = "varchar", explain = "民族")
    @TableField("nation")
    private String nation = "";
    @FieldInfo(name = "certificateValidity", type = "date", explain = "证件有效期")
    @TableField("certificateValidity")
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date certificateValidity;
    @FieldInfo(name = "marriage", type = "varchar", explain = "婚姻状况")
    @TableField("marriage")
    private String marriage = "";
    @FieldInfo(name = "age", type = "tinyint", explain = "年龄")
    @TableField("age")
    private Integer age = 0;
    @FieldInfo(name = "stature", type = "smallint", explain = "身高")
    @TableField("stature")
    private Integer stature = 0;
    @FieldInfo(name = "birthdate", type = "date", explain = "出生日期")
    @TableField("birthdate")
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthdate;
    @FieldInfo(name = "politics", type = "varchar", explain = "政治面貌")
    @TableField("politics")
    private String politics = "";
    @FieldInfo(name = "entryDate", type = "date", explain = "入职日期")
    @TableField("entryDate")
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date entryDate;
    @FieldInfo(name = "education", type = "varchar", explain = "最高学历")
    @TableField("education")
    private String education = "";
    @FieldInfo(name = "seniority", type = "tinyint", explain = "入司工龄")
    @TableField("seniority")
    private Integer seniority = 0;
    @FieldInfo(name = "nativePlace", type = "varchar", explain = "籍贯")
    @TableField("nativePlace")
    private String nativePlace = "";
    @FieldInfo(name = "censusAddress", type = "varchar", explain = "户籍地址")
    @TableField("censusAddress")
    private String censusAddress = "";
    @FieldInfo(name = "currentAddress", type = "varchar", explain = "现住址")
    @TableField("currentAddress")
    private String currentAddress = "";
    @FieldInfo(name = "guardNumb", type = "varchar", explain = "保安员证号")
    @TableField("guardNumb")
    private String guardNumb = "";
    @FieldInfo(name = "telePhone", type = "varchar", explain = "电话号码")
    @TableField("telePhone")
    private String telePhone = "";
    @FieldInfo(name = "returnReceipt", type = "varchar", explain = "保安员回执")
    @TableField("returnReceipt")
    private String returnReceipt = "";
    @FieldInfo(name = "introducer", type = "varchar", explain = "招聘介绍人")
    @TableField("introducer")
    private String introducer = "";
    @FieldInfo(name = "archivesStatus", type = "varchar", explain = "档案情况")
    @TableField("archivesStatus")
    private String archivesStatus = "";
    @FieldInfo(name = "bankName", type = "varchar", explain = "银行名称")
    @TableField("bankName")
    private String bankName = "";
    @FieldInfo(name = "bankNumb", type = "varchar", explain = "银行账号")
    @TableField("bankNumb")
    private String bankNumb = "";
    @FieldInfo(name = "InsuranceType", type = "varchar", explain = "保险类型")
    @TableField("InsuranceType")
    private String insuranceType = "";
    @FieldInfo(name = "socialNumb", type = "varchar", explain = "社保电脑号")
    @TableField("socialNumb")
    private String socialNumb = "";
    @FieldInfo(name = "family", type = "varchar", explain = "家庭成员及关系")
    @TableField("family")
    private String family = "";
    @FieldInfo(name = "handbookStatus", type = "varchar", explain = "员工手册")
    @TableField("handbookStatus")
    private String handbookStatus = "";
    @FieldInfo(name = "urgencyPhone", type = "varchar", explain = "紧急联系电话")
    @TableField("urgencyPhone")
    private String urgencyPhone = "";
    @FieldInfo(name = "empCardStatus", type = "varchar", explain = "工作证")
    @TableField("empCardStatus")
    private String empCardStatus = "";
    @FieldInfo(name = "certificateList", type = "varchar", explain = "相关证件")
    @TableField("certificateList")
    private String certificateList = "";
    @FieldInfo(name = "createTime", type = "datetime", explain = "记录创建时间")
    @TableField("createTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @FieldInfo(name = "creator", type = "varchar", explain = "记录创建人")
    @TableField("creator")
    private String creator = "";
    @FieldInfo(name = "modifyTime", type = "datetime", explain = "记录最后更新时间")
    @TableField("modifyTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;
    @FieldInfo(name = "modifier", type = "varchar", explain = "记录最后更新人")
    @TableField("modifier")
    private String modifier = "";
    @FieldInfo(name = "delFlag", type = "bit", explain = "记录删除标志。0-未删除 1-已删除,默认0")
    @TableField("delFlag")
    private Integer delFlag = 0;
    @FieldInfo(name = "version", type = "int", explain = "记录版本号,用来进行乐观锁控制")
    @TableField("version")
    @Version
    private Integer version = 0;
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpWorkExperience.java
New file
@@ -0,0 +1,126 @@
package cc.mrbird.febs.server.hr.entity;
import java.io.Serializable;
import java.util.Date;
import cc.mrbird.febs.common.core.annotation.FieldInfo;
import cc.mrbird.febs.common.core.utils.DateDeSerializer;
import cc.mrbird.febs.common.core.utils.DateSerializer;
import cc.mrbird.febs.common.core.utils.DateTimeDeserializer;
import cc.mrbird.febs.common.core.utils.DateTimeSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * name:EmpWorkexperience
 * package:cc.mrbird.febs.server.hr.controller
 * description:员工工作经历数据表映射实体
 *
 * @author luoyibo
 * @date 2021-01-28 12:33:31
 * @since JDK1.8
 */
@Data
@TableName("t_emp_workExperience")
public class EmpWorkExperience implements Serializable {
    @FieldInfo(name = "workExperienceId", type = "bigint", explain = "工作经历Id")
    @TableId(value = "workExperienceId")
    private Long workExperienceId;
    @FieldInfo(name = "empId", type = "bigint", explain = "员工Id")
    @TableField("empId")
    private Long empId;
    @FieldInfo(name = "empNumb", type = "varchar", explain = "员工编号")
    @TableField("empNumb")
    private String empNumb;
    @FieldInfo(name = "empName", type = "varchar", explain = "员工姓名")
    @TableField("empName")
    private String empName;
    @FieldInfo(name = "certificateNumb", type = "varchar", explain = "证件号码")
    @TableField("certificateNumb")
    private String certificateNumb;
    @FieldInfo(name = "sex", type = "varchar", explain = "性别码,使用国标性别性别码")
    @TableField("sex")
    private String sex;
    @FieldInfo(name = "deptId", type = "bigint", explain = "部门Id")
    @TableField("deptId")
    private Long deptId = 0L;
    @FieldInfo(name = "deptName", type = "varchar", explain = "部门名称")
    @TableField("deptName")
    private String deptName = "";
    @FieldInfo(name = "jobId", type = "bigint", explain = "岗位Id")
    @TableField("jobId")
    private Long jobId = 0L;
    @FieldInfo(name = "jobName", type = "varchar", explain = "岗位名称")
    @TableField("jobName")
    private String jobName = "";
    @FieldInfo(name = "workUnit", type = "varchar", explain = "工作单位")
    @TableField("workUnit")
    private String workUnit;
    @FieldInfo(name = "beginDate", type = "date", explain = "开始日期")
    @TableField("beginDate")
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date beginDate;
    @FieldInfo(name = "endDate", type = "date", explain = "结束日期")
    @TableField("endDate")
    @JsonSerialize(using = DateSerializer.class)
    @JsonDeserialize(using = DateDeSerializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date endDate;
    @FieldInfo(name = "jobContent", type = "varchar", explain = "主要工作内容")
    @TableField("jobContent")
    private String jobContent;
    @FieldInfo(name = "createTime", type = "datetime", explain = "记录创建时间")
    @TableField("createTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @FieldInfo(name = "creator", type = "varchar", explain = "记录创建人")
    @TableField("creator")
    private String creator;
    @FieldInfo(name = "modifyTime", type = "datetime", explain = "记录最后更新时间")
    @TableField("modifyTime")
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonDeserialize(using = DateTimeDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;
    @FieldInfo(name = "modifier", type = "varchar", explain = "记录最后更新人")
    @TableField("modifier")
    private String modifier;
    @FieldInfo(name = "delFlag", type = "bit", explain = "记录删除标志。0-未删除 1-已删除,默认0")
    @TableField("delFlag")
    private Integer delFlag;
    @FieldInfo(name = "version", type = "int", explain = "记录版本号,用来进行乐观锁控制")
    @TableField("version")
    @Version
    private Integer version;
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java
New file
@@ -0,0 +1,42 @@
package cc.mrbird.febs.server.hr.mapper;
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
*
* name:EmpBaseinfo
* package:cc.mrbird.febs.server.hr.controller
* description:实体Mapper
*
* @author luoyibo
* @date 2021-01-30 08:04:50
* @since JDK1.8
*/
public interface EmpBaseInfoMapper extends BaseMapper<EmpBaseInfo> {
/**
*
* 根据Id批量逻辑删除记录
*
* date luoyibo
* @author: 2021-01-30 08:04:50
* @param list 待删除Id
* @param operatorId 操作员Id
* @return void
*/
@Update("<script> " +
    " UPDATE t_emp_baseinfo SET delFlag = 1,\n" +
    " modifyTime = NOW(),\n" +
    " modifier = #{operatorId}, \n" +
    " version = version+1 \n" +
    " WHERE badId IN \n" +
    "        <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" +
    "          #{delId}  \n" +
    "        </foreach>\n" +
    "</script>")
void logicDeleteByIds(@Param("list") List<String> list, @Param("operatorId") String operatorId);
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.xml
New file
@@ -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.hr.mapper.EmpBaseInfoMapper">
</mapper>
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpWorkExperienceMapper.java
New file
@@ -0,0 +1,41 @@
package cc.mrbird.febs.server.hr.mapper;
import cc.mrbird.febs.server.hr.entity.EmpWorkExperience;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
 * name:EmpWorkexperience
 * package:cc.mrbird.febs.server.hr.controller
 * description:员工工作经历实体Mapper
 *
 * @author luoyibo
 * @date 2021-01-28 12:33:31
 * @since JDK1.8
 */
public interface EmpWorkExperienceMapper extends BaseMapper<EmpWorkExperience> {
    /**
     * 根据Id批量逻辑删除记录
     * <p>
     * date luoyibo
     *
     * @param list       待删除Id
     * @param operatorId 操作员Id
     * @return void
     * @author: 2021-01-28 12:33:31
     */
    @Update("<script> " +
            " UPDATE t_emp_workExperience SET delFlag = 1,\n" +
            " modifyTime = NOW(),\n" +
            " modifier = #{operatorId}, \n" +
            " version = version+1 \n" +
            " WHERE workExperienceId IN \n" +
            "        <foreach item=\"delId\" collection=\"list\" open=\"(\" close=\")\" separator=\",\">\n" +
            "            #{delId}\n" +
            "        </foreach>\n" +
            "</script>")
    void logicDeleteByIds(@Param("list") List<String> list, @Param("operatorId") String operatorId);
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
New file
@@ -0,0 +1,70 @@
package cc.mrbird.febs.server.hr.service;
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
*
* name:EmpBaseinfo
* package:cc.mrbird.febs.server.hr.controller
* description:服务接口
*
* @author luoyibo
* @date 2021-01-30 08:04:50
* @since JDK1.8
*/
public interface IEmpBaseInfoService extends IService<EmpBaseInfo> {
/**
* 查询(分页)
*
* @param request QueryRequest
* @param empBaseInfo empBaseinfo
* @return IPage<EmpBaseinfo>
*/
IPage<EmpBaseInfo> findEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo);
/**
* 查询(所有)
*
* @param empBaseInfo empBaseInfo
* @return List<EmpBaseinfo>
*/
List<EmpBaseInfo> findEmpBaseInfos(EmpBaseInfo empBaseInfo);
/**
* 新增
*
* @param empBaseInfo empBaseInfo
*/
void createEmpBaseInfo(EmpBaseInfo empBaseInfo);
/**
* 修改
*
* @param empBaseInfo empBaseInfo
*/
void updateEmpBaseInfo(EmpBaseInfo empBaseInfo);
/**
* 删除
*
* @param empBaseInfo empBaseInfo
*/
void deleteEmpBaseInfo(EmpBaseInfo empBaseInfo);
/**
*
* 根据Id批量逻辑删除记录
*
* date 2021-01-28 10:48
* @author: luoyibo
* @param ids 待删除Id
* @return void
*/
void logicDelEmpBaseInfo(String ids);
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java
New file
@@ -0,0 +1,69 @@
package cc.mrbird.febs.server.hr.service;
import cc.mrbird.febs.server.hr.entity.EmpWorkExperience;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * name:EmpWorkexperience
 * package:cc.mrbird.febs.server.hr.controller
 * description:员工工作经历服务接口
 *
 * @author luoyibo
 * @date 2021-01-28 12:33:31
 * @since JDK1.8
 */
public interface IEmpWorkExperienceService extends IService<EmpWorkExperience> {
    /**
     * 查询(分页)
     *
     * @param request           QueryRequest
     * @param empWorkexperience empWorkexperience
     * @return IPage<EmpWorkexperience>
     */
    IPage<EmpWorkExperience> findEmpWorkExperiences(QueryRequest request, EmpWorkExperience empWorkexperience);
    /**
     * 查询(所有)
     *
     * @param empWorkexperience empWorkexperience
     * @return List<EmpWorkexperience>
     */
    List<EmpWorkExperience> findEmpWorkExperiences(EmpWorkExperience empWorkexperience);
    /**
     * 新增
     *
     * @param empWorkexperience empWorkexperience
     */
    void createEmpWorkExperience(EmpWorkExperience empWorkexperience);
    /**
     * 修改
     *
     * @param empWorkexperience empWorkexperience
     */
    void updateEmpWorkExperience(EmpWorkExperience empWorkexperience);
    /**
     * 删除
     *
     * @param empWorkexperience empWorkexperience
     */
    void deleteEmpWorkExperience(EmpWorkExperience empWorkexperience);
    /**
     * 根据Id批量逻辑删除记录
     * <p>
     * date 2021-01-28 10:48
     *
     * @param ids 待删除Id
     * @return void
     * @author: luoyibo
     */
    void logicDelEmpWorkExperience(String ids);
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
New file
@@ -0,0 +1,102 @@
package cc.mrbird.febs.server.hr.service.impl;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
import cc.mrbird.febs.server.hr.mapper.EmpBaseInfoMapper;
import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService;
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 cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import java.util.*;
/**
 * name:EmpBaseinfo
 * package:cc.mrbird.febs.server.hr.controller
 * description:员工基本信息服务接口实现
 *
 * @author luoyibo
 * @date 2021-01-30 08:04:50
 * @since JDK1.8
 */
@Service
@RequiredArgsConstructor
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
class EmpBaseInfoServiceImpl extends ServiceImpl<EmpBaseInfoMapper, EmpBaseInfo> implements IEmpBaseInfoService {
    private final EmpBaseInfoMapper empBaseInfoMapper;
    private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
            .map(u -> u.getUserId().toString())
            .orElse("1");
    @Override
    public IPage<EmpBaseInfo> findEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) {
        LambdaQueryWrapper<EmpBaseInfo> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpBaseInfo::getDelFlag, 0);
        Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.page(page, queryWrapper);
    }
    @Override
    public List<EmpBaseInfo> findEmpBaseInfos(EmpBaseInfo empBaseInfo) {
        LambdaQueryWrapper<EmpBaseInfo> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpBaseInfo::getDelFlag, 0);
        return this.baseMapper.selectList(queryWrapper);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void createEmpBaseInfo(EmpBaseInfo empBaseInfo) {
        empBaseInfo.setEmpId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
        empBaseInfo.setDeptId(1L);
        empBaseInfo.setJobId(1L);
        empBaseInfo.setCreator(operatorId);
        empBaseInfo.setModifier(operatorId);
        this.save(empBaseInfo);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updateEmpBaseInfo(EmpBaseInfo empBaseInfo) {
        EmpBaseInfo dbData = this.getById(empBaseInfo.getEmpId());
        empBaseInfo.setCreateTime(dbData.getCreateTime());
        empBaseInfo.setCreator(dbData.getCreator());
        empBaseInfo.setDelFlag(dbData.getDelFlag());
        empBaseInfo.setModifyTime(new Date());
        empBaseInfo.setModifier(operatorId);
        this.saveOrUpdate(empBaseInfo);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void deleteEmpBaseInfo(EmpBaseInfo empBaseInfo) {
        LambdaQueryWrapper<EmpBaseInfo> wrapper = new LambdaQueryWrapper<>();
        // TODO 设置删除条件
        this.remove(wrapper);
    }
    /**
     * 根据Id批量逻辑删除记录
     * <p>
     * date 2021-01-28 10:48
     *
     * @param ids 待删除Id
     * @return void
     * @author: luoyibo
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void logicDelEmpBaseInfo(String ids) {
        String[] str = ids.split(",");
        List<String> list = new ArrayList<>(Arrays.asList(str));
        empBaseInfoMapper.logicDeleteByIds(list, operatorId);
    }
}
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java
New file
@@ -0,0 +1,103 @@
package cc.mrbird.febs.server.hr.service.impl;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import cc.mrbird.febs.server.hr.entity.EmpWorkExperience;
import cc.mrbird.febs.server.hr.mapper.EmpWorkExperienceMapper;
import cc.mrbird.febs.server.hr.service.IEmpWorkExperienceService;
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.*;
/**
 * name:EmpWorkexperience
 * package:cc.mrbird.febs.server.hr.controller
 * description:员工工作经历服务接口实现
 *
 * @author luoyibo
 * @date 2021-01-28 12:33:31
 * @since JDK1.8
 */
@Service
@RequiredArgsConstructor
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
class EmpWorkExperienceServiceImpl extends ServiceImpl<EmpWorkExperienceMapper, EmpWorkExperience> implements IEmpWorkExperienceService {
    private final EmpWorkExperienceMapper empWorkexperienceMapper;
    private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
            .map(u -> u.getUserId().toString())
            .orElse("1");
    @Override
    public IPage<EmpWorkExperience> findEmpWorkExperiences(QueryRequest request, EmpWorkExperience empWorkexperience) {
        LambdaQueryWrapper<EmpWorkExperience> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpWorkExperience::getDelFlag, 0);
        Page<EmpWorkExperience> page = new Page<>(request.getPageNum(), request.getPageSize());
        return this.page(page, queryWrapper);
    }
    @Override
    public List<EmpWorkExperience> findEmpWorkExperiences(EmpWorkExperience empWorkexperience) {
        LambdaQueryWrapper<EmpWorkExperience> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EmpWorkExperience::getDelFlag, 0);
        return this.baseMapper.selectList(queryWrapper);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void createEmpWorkExperience(EmpWorkExperience empWorkexperience) {
        empWorkexperience.setWorkExperienceId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
        empWorkexperience.setDeptId(1L);
        empWorkexperience.setJobId(1L);
        empWorkexperience.setCreator(operatorId);
        empWorkexperience.setModifier(operatorId);
        this.save(empWorkexperience);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updateEmpWorkExperience(EmpWorkExperience empWorkexperience) {
        EmpWorkExperience dbData = this.getById(empWorkexperience.getWorkExperienceId());
        empWorkexperience.setCreateTime(dbData.getCreateTime());
        empWorkexperience.setCreator(dbData.getCreator());
        empWorkexperience.setDelFlag(dbData.getDelFlag());
        empWorkexperience.setModifyTime(new Date());
        empWorkexperience.setModifier(operatorId);
        this.saveOrUpdate(empWorkexperience);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void deleteEmpWorkExperience(EmpWorkExperience empWorkexperience) {
        LambdaQueryWrapper<EmpWorkExperience> wapper = new LambdaQueryWrapper<>();
        // TODO 设置删除条件
        this.remove(wapper);
    }
    /**
     * 根据Id批量逻辑删除记录
     * <p>
     * date 2021-01-28 10:48
     *
     * @param ids 待删除Id
     * @return void
     * @author: luoyibo
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void logicDelEmpWorkExperience(String ids) {
        List<String> list = new ArrayList<>();
        String[] str = ids.split(",");
        list.addAll(Arrays.asList(str));
        empWorkexperienceMapper.logicDeleteByIds(list, operatorId);
    }
}