From 68021996334e1b0a4364268266fc4bed4f304160 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期日, 31 一月 2021 10:16:00 +0800
Subject: [PATCH] feat(人力资源微服务): 体检信息基本增、删、改功能实现
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java | 42 ++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java | 70 ++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpWorkExperienceController.java | 96 +++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java | 103 ++++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java | 110 ++++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java | 233 +++++++++++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java | 69 ++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpWorkExperience.java | 126 +++++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpWorkExperienceMapper.java | 41 ++
febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl | 1
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.xml | 5
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java | 102 ++++++
12 files changed, 997 insertions(+), 1 deletions(-)
diff --git a/febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl b/febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl
index f41d18d..cdbc78c 100644
--- a/febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl
+++ b/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);
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
new file mode 100644
index 0000000..c5c8daa
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
@@ -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);
+ }
+}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpWorkExperienceController.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpWorkExperienceController.java
new file mode 100644
index 0000000..e7fb7a2
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpWorkExperienceController.java
@@ -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);
+ }
+ }
+}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
new file mode 100644
index 0000000..1bca92c
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpBaseInfo.java
@@ -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;
+
+}
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpWorkExperience.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpWorkExperience.java
new file mode 100644
index 0000000..8e7f883
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpWorkExperience.java
@@ -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;
+
+}
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java
new file mode 100644
index 0000000..f854b29
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.java
@@ -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);
+}
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.xml b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.xml
new file mode 100644
index 0000000..e48d91b
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpBaseInfoMapper.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.hr.mapper.EmpBaseInfoMapper">
+
+</mapper>
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpWorkExperienceMapper.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpWorkExperienceMapper.java
new file mode 100644
index 0000000..76b7933
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpWorkExperienceMapper.java
@@ -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);
+}
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
new file mode 100644
index 0000000..e23f7ac
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java
@@ -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);
+}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java
new file mode 100644
index 0000000..35d74c0
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java
@@ -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);
+}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
new file mode 100644
index 0000000..9196dae
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -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);
+ }
+}
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java
new file mode 100644
index 0000000..ec37857
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java
@@ -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);
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0