From 3d8f7b941393760faa8fb67af9baa95d5c2c8457 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期四, 18 二月 2021 17:13:39 +0800
Subject: [PATCH] feat(在职员工): 关闭员工档案接口
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBaseInfoService.java | 9
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpDimissionLogService.java | 69 +++++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java | 15
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpDimissionLogController.java | 106 +++++++++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java | 100 +++++++++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpDimissionLog.java | 112 ++++++++++++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java | 33 ++
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpDimissionLogMapper.xml | 5
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpDimissionLogMapper.java | 41 ++++
9 files changed, 469 insertions(+), 21 deletions(-)
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
index 1bfa437..cf9fe77 100644
--- 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
@@ -1,6 +1,7 @@
package cc.mrbird.febs.server.hr.controller;
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
+import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
import cc.mrbird.febs.server.hr.feign.IRemoteDeptService;
import cc.mrbird.febs.server.hr.feign.IRemoteUserService;
import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService;
@@ -8,7 +9,6 @@
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 cn.hutool.core.date.DateUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -19,7 +19,6 @@
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
-import java.util.Date;
import java.util.Map;
/**
@@ -130,13 +129,13 @@
@ApiOperation(value = "关闭员工档案")
@PostMapping("dimission")
- public void dimissionEmp(@RequestParam Map<String, String> mapDimissionInfo) throws FebsException {
- String dgryIds = mapDimissionInfo.get("dgryIds");
- String dimissionType = mapDimissionInfo.get("dimissionType");
- String remark = mapDimissionInfo.get("remark");
- Date dimissionDate = DateUtil.parse(mapDimissionInfo.get("dimissionDate").toString(),"yyyy-MM-dd");
+ public void dimissionEmp(EmpDimissionLog empDimissionLog) throws FebsException {
+ // String dgryIds = mapDimissionInfo.get("dgryIds");
+ // String dimissionType = mapDimissionInfo.get("dimissionType");
+ // String remark = mapDimissionInfo.get("remark");
+ // Date dimissionDate = DateUtil.parse(mapDimissionInfo.get("dimissionDate").toString(),"yyyy-MM-dd");
try {
- this.empBaseInfoService.closeEmpArchives(dgryIds, dimissionType, dimissionDate, remark);
+ this.empBaseInfoService.closeEmpArchives(empDimissionLog);
} catch (Exception e) {
String message = "关闭员工档案失败";
log.error(message, e);
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpDimissionLogController.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpDimissionLogController.java
new file mode 100644
index 0000000..bd2e8c9
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpDimissionLogController.java
@@ -0,0 +1,106 @@
+package cc.mrbird.febs.server.hr.controller;
+
+import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
+import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
+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 io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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:EmpDimissionlog
+ * package:cc.mrbird.febs.server.hr.controller
+ * description:员工离职记录控制器
+ *
+ * @author luoyibo
+ * @date 2021-02-18 16:04:42
+ * @since JDK1.8
+ */
+@Api(tags = "员工离职记录管理接口")
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("empDimissionlog")
+@RequiredArgsConstructor
+public class EmpDimissionLogController {
+
+ private final IEmpDimissionLogService empDimissionlogService;
+
+ @ApiOperation(value = "员工离职记录无翻页列表")
+ @GetMapping
+ @PreAuthorize("hasAuthority('empDimissionlog:list')")
+ public FebsResponse getAllEmpDimissionlogs(EmpDimissionLog empDimissionlog) {
+ return new FebsResponse().data(empDimissionlogService.findEmpDimissionLogs(empDimissionlog));
+ }
+
+ @ApiOperation(value = "员工离职记录翻页列表")
+ @GetMapping("list")
+ @PreAuthorize("hasAuthority('empDimissionlog:list')")
+ public FebsResponse empDimissionlogList(QueryRequest request, EmpDimissionLog empDimissionlog) {
+ Map
+ <String, Object> dataTable = FebsUtil.getDataTable(this.empDimissionlogService.findEmpDimissionLogs(request, empDimissionlog));
+ return new FebsResponse().data(dataTable);
+ }
+
+ @ApiOperation(value = "员工离职记录增加")
+ @PostMapping
+ @PreAuthorize("hasAuthority('empDimissionlog:add')")
+ public void addEmpDimissionlog(@Valid EmpDimissionLog empDimissionlog) throws FebsException {
+ try {
+ this.empDimissionlogService.createEmpDimissionLog(empDimissionlog);
+ } catch (Exception e) {
+ String message = "新增员工离职记录失败";
+ log.error(message, e);
+ throw new FebsException(message);
+ }
+ }
+
+ @ApiOperation(value = "员工离职记录物理删除")
+ @DeleteMapping
+ @PreAuthorize("hasAuthority('empDimissionlog:delete')")
+ public void deleteEmpDimissionlog(EmpDimissionLog empDimissionlog) throws FebsException {
+ try {
+ this.empDimissionlogService.deleteEmpDimissionLog(empDimissionlog);
+ } catch (Exception e) {
+ String message = "删除员工离职记录失败";
+ log.error(message, e);
+ throw new FebsException(message);
+ }
+ }
+
+ @ApiOperation(value = "员工离职记录逻辑删除")
+ @DeleteMapping("{ids}")
+ @PreAuthorize("hasAuthority('empDimissionlog:delete')")
+ public void logicDeleteEmpDimissionlog(@PathVariable("ids") String ids) throws FebsException {
+ try {
+ this.empDimissionlogService.logicDelEmpDimissionLog(ids);
+ } catch (Exception e) {
+ String message = "逻辑删除员工离职记录失败";
+ log.error(message, e);
+ throw new FebsException(message);
+ }
+ }
+
+ @ApiOperation(value = "员工离职记录修改")
+ @PutMapping
+ @PreAuthorize("hasAuthority('empDimissionlog:update')")
+ public void updateEmpDimissionlog(EmpDimissionLog empDimissionlog) throws FebsException {
+ try {
+ this.empDimissionlogService.updateEmpDimissionLog(empDimissionlog);
+ } 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/EmpDimissionLog.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpDimissionLog.java
new file mode 100644
index 0000000..e9244da
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpDimissionLog.java
@@ -0,0 +1,112 @@
+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 java.math.BigDecimal;
+
+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:EmpDimissionlog
+ * package:cc.mrbird.febs.server.hr.controller
+ * description:员工离职记录数据表映射实体
+ *
+ * @author luoyibo
+ * @date 2021-02-18 16:04:42
+ * @since JDK1.8
+ */
+@Data
+@TableName("t_emp_dimissionlog")
+public class EmpDimissionLog implements Serializable {
+
+ @FieldInfo(name = "closeId", type = "bigint", explain = "档案关闭Id")
+ @TableId(value = "closeId")
+ private Long closeId = 0L;
+
+ @FieldInfo(name = "empId", type = "bigint", explain = "员工Id")
+ @TableField("empId")
+ private Long empId = 0L;
+
+ @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 = "dimissionDate", type = "date", explain = "离职日期")
+ @TableField("dimissionDate")
+ @JsonSerialize(using = DateSerializer.class)
+ @JsonDeserialize(using = DateDeSerializer.class)
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private Date dimissionDate;
+
+ @FieldInfo(name = "dimissionType", type = "varchar", explain = "离职类型")
+ @TableField("dimissionType")
+ private String dimissionType = "1";
+
+ @FieldInfo(name = "selfLeaveDay", type = "decimal", explain = "自离天数")
+ @TableField("selfLeaveDay")
+ private BigDecimal selfLeaveDay = BigDecimal.ZERO;
+
+ @FieldInfo(name = "reporter", type = "varchar", explain = "报备人")
+ @TableField("reporter")
+ private String reporter = "";
+
+ @FieldInfo(name = "remark", type = "varchar", explain = "备注")
+ @TableField("remark")
+ private String remark = "";
+
+ @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-已删除 2-暂存,默认0")
+ @TableField("delFlag")
+ private Integer delFlag = 0;
+
+ @FieldInfo(name = "version", type = "int", explain = "记录版本号,用来进行乐观锁控制")
+ @TableField("version")
+ @Version
+ private Integer version = 0;
+
+ @FieldInfo(name = "empIds", explain = "关闭档案人员Id")
+ @TableField(exist = false)
+ private String empIds;
+
+ @FieldInfo(name = "entryDates", explain = "关闭档案人员入职日期")
+ @TableField(exist = false)
+ private String entryDates;
+}
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpDimissionLogMapper.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpDimissionLogMapper.java
new file mode 100644
index 0000000..694fe7c
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpDimissionLogMapper.java
@@ -0,0 +1,41 @@
+package cc.mrbird.febs.server.hr.mapper;
+
+import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
+
+/**
+ * name:EmpDimissionlog
+ * package:cc.mrbird.febs.server.hr.controller
+ * description:员工离职记录实体Mapper
+ *
+ * @author luoyibo
+ * @date 2021-02-18 16:04:42
+ * @since JDK1.8
+ */
+public interface EmpDimissionLogMapper extends BaseMapper<EmpDimissionLog> {
+ /**
+ * 根据Id批量逻辑删除记录
+ * <p>
+ * date luoyibo
+ *
+ * @param list 待删除Id
+ * @param operatorId 操作员Id
+ * @return void
+ * @author: 2021-02-18 16:04:42
+ */
+ @Update("<script> " +
+ " UPDATE t_emp_dimissionLog 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/EmpDimissionLogMapper.xml b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpDimissionLogMapper.xml
new file mode 100644
index 0000000..f311303
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/mapper/EmpDimissionLogMapper.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.EmpDimissionLogMapper">
+
+</mapper>
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
index 3b6ba42..1eb00ba 100644
--- 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
@@ -3,10 +3,10 @@
import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
-import java.util.Date;
import java.util.List;
/**
@@ -107,11 +107,8 @@
*
* date 2021-02-18 12:54
* @author: luoyibo
- * @param ids 待关闭档案员工 Id
- * @param dimissionType 离职类型
- * @param dimissionDate 离职日期
- * @param remark 备注
+ * @param empDimissionLog
* @return boolean
*/
- boolean closeEmpArchives(String ids, String dimissionType, Date dimissionDate, String remark);
+ boolean closeEmpArchives(EmpDimissionLog empDimissionLog);
}
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpDimissionLogService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpDimissionLogService.java
new file mode 100644
index 0000000..7ea7138
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpDimissionLogService.java
@@ -0,0 +1,69 @@
+package cc.mrbird.febs.server.hr.service;
+
+import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
+
+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:EmpDimissionlog
+ * package:cc.mrbird.febs.server.hr.controller
+ * description:员工离职记录服务接口
+ *
+ * @author luoyibo
+ * @date 2021-02-18 16:04:42
+ * @since JDK1.8
+ */
+public interface IEmpDimissionLogService extends IService<EmpDimissionLog> {
+ /**
+ * 查询(分页)
+ *
+ * @param request QueryRequest
+ * @param empDimissionlog empDimissionlog
+ * @return IPage<EmpDimissionlog>
+ */
+ IPage<EmpDimissionLog> findEmpDimissionLogs(QueryRequest request, EmpDimissionLog empDimissionlog);
+
+ /**
+ * 查询(所有)
+ *
+ * @param empDimissionlog empDimissionlog
+ * @return List<EmpDimissionlog>
+ */
+ List<EmpDimissionLog> findEmpDimissionLogs(EmpDimissionLog empDimissionlog);
+
+ /**
+ * 新增
+ *
+ * @param empDimissionlog empDimissionlog
+ */
+ void createEmpDimissionLog(EmpDimissionLog empDimissionlog);
+
+ /**
+ * 修改
+ *
+ * @param empDimissionlog empDimissionlog
+ */
+ void updateEmpDimissionLog(EmpDimissionLog empDimissionlog);
+
+ /**
+ * 删除
+ *
+ * @param empDimissionlog empDimissionlog
+ */
+ void deleteEmpDimissionLog(EmpDimissionLog empDimissionlog);
+
+ /**
+ * 根据Id批量逻辑删除记录
+ * <p>
+ * date 2021-01-28 10:48
+ *
+ * @param ids 待删除Id
+ * @return void
+ * @author: luoyibo
+ */
+ void logicDelEmpDimissionLog(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
index 77e4ad1..ab73df2 100644
--- 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
@@ -6,6 +6,10 @@
import java.util.List;
import java.util.Optional;
+import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
+import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@@ -48,6 +52,7 @@
private final RedisService redisService;
private final IRemoteDeptService remoteDeptService;
private final EmpBaseInfoMapper empBaseInfoMapper;
+ private final IEmpDimissionLogService dimissionLogService;
private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
.map(u -> u.getUserId().toString())
.orElse("1");
@@ -259,16 +264,30 @@
*
* date 2021-02-18 12:54
* @author: luoyibo
- * @param ids 待关闭档案员工 Id
- * @param dimissionType 离职类型
- * @param dimissionDate 离职日期
- * @param remark 备注
+ * @param empDimissionLog
* @return boolean
*/
@Override
- public boolean closeEmpArchives(String ids, String dimissionType, Date dimissionDate, String remark) {
- String[] str = ids.split(",");
+ public boolean closeEmpArchives(EmpDimissionLog empDimissionLog) {
+ String[] str = empDimissionLog.getEmpIds().split(",");
List<String> list = new ArrayList<>(Arrays.asList(str));
- return empBaseInfoMapper.closeEmpArchives(list, dimissionType, dimissionDate, remark, operatorId)>0;
+ String[] strDate = empDimissionLog.getEntryDates().split(",");
+ EmpDimissionLog dimissionLog = null;
+ for (int i = 0,k=str.length; i < k; i++) {
+ dimissionLog = new EmpDimissionLog();
+ dimissionLog.setCloseId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+ dimissionLog.setEmpId(Long.parseLong(str[i]));
+ dimissionLog.setEntryDate(DateUtil.parse(strDate[i],"yyyy-MM-dd"));
+ dimissionLog.setDimissionDate(empDimissionLog.getDimissionDate());
+ dimissionLog.setDimissionType(empDimissionLog.getDimissionType());
+ dimissionLog.setRemark(empDimissionLog.getRemark());
+ dimissionLog.setSelfLeaveDay(empDimissionLog.getSelfLeaveDay());
+ dimissionLog.setReporter(empDimissionLog.getReporter());
+ dimissionLog.setCreator(operatorId);
+ dimissionLog.setModifier(operatorId);
+
+ dimissionLogService.save(dimissionLog);
+ }
+ return empBaseInfoMapper.closeEmpArchives(list, empDimissionLog.getDimissionType(), empDimissionLog.getDimissionDate(), empDimissionLog.getRemark(), operatorId)>0;
}
}
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java
new file mode 100644
index 0000000..c8760fe
--- /dev/null
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionLogServiceImpl.java
@@ -0,0 +1,100 @@
+package cc.mrbird.febs.server.hr.service.impl;
+
+import cc.mrbird.febs.common.core.constant.ModuleCode;
+import cc.mrbird.febs.server.hr.entity.EmpDimissionLog;
+import cc.mrbird.febs.server.hr.mapper.EmpDimissionLogMapper;
+import cc.mrbird.febs.server.hr.service.IEmpDimissionLogService;
+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:EmpDimissionlog
+ * package:cc.mrbird.febs.server.hr.controller
+ * description:员工离职记录服务接口实现
+ *
+ * @author luoyibo
+ * @date 2021-02-18 16:04:42
+ * @since JDK1.8
+ */
+@Service
+@RequiredArgsConstructor
+@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
+class EmpDimissionLogServiceImpl extends ServiceImpl<EmpDimissionLogMapper, EmpDimissionLog> implements IEmpDimissionLogService {
+
+ private final EmpDimissionLogMapper empDimissionlogMapper;
+ private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
+ .map(u -> u.getUserId().toString())
+ .orElse("1");
+
+ @Override
+ public IPage<EmpDimissionLog> findEmpDimissionLogs(QueryRequest request, EmpDimissionLog empDimissionlog) {
+ LambdaQueryWrapper<EmpDimissionLog> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(EmpDimissionLog::getDelFlag, 0);
+ Page<EmpDimissionLog> page = new Page<>(request.getPageNum(), request.getPageSize());
+ return this.page(page, queryWrapper);
+ }
+
+ @Override
+ public List<EmpDimissionLog> findEmpDimissionLogs(EmpDimissionLog empDimissionlog) {
+ LambdaQueryWrapper<EmpDimissionLog> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(EmpDimissionLog::getDelFlag, 0);
+ return this.baseMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void createEmpDimissionLog(EmpDimissionLog empDimissionlog) {
+ empDimissionlog.setCloseId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+ empDimissionlog.setCreator(operatorId);
+ empDimissionlog.setModifier(operatorId);
+ this.save(empDimissionlog);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateEmpDimissionLog(EmpDimissionLog empDimissionlog) {
+ EmpDimissionLog dbData = this.getById(empDimissionlog.getCloseId());
+ empDimissionlog.setCreateTime(dbData.getCreateTime());
+ empDimissionlog.setCreator(dbData.getCreator());
+ empDimissionlog.setDelFlag(dbData.getDelFlag());
+ empDimissionlog.setModifyTime(new Date());
+ empDimissionlog.setModifier(operatorId);
+ this.saveOrUpdate(empDimissionlog);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void deleteEmpDimissionLog(EmpDimissionLog empDimissionlog) {
+ LambdaQueryWrapper<EmpDimissionLog> 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 logicDelEmpDimissionLog(String ids) {
+ String[] str = ids.split(",");
+ List<String> list = new ArrayList<>(Arrays.asList(str));
+ empDimissionlogMapper.logicDeleteByIds(list, operatorId);
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0