Browse Source

1、审批完成添加离职信息

dongpo 7 months ago
parent
commit
3cd3f7b27a

+ 20 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/turnover/OaTurnoverServiceImpl.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.bpm.service.oa.turnover;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.enums.InfoSourceEnum;
 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
@@ -18,6 +19,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskApproveR
 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskReturnReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.turnover.OaTurnoverDO;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.turnover.OaTurnoverDO;
 import cn.iocoder.yudao.module.bpm.dal.mysql.oa.turnover.OaTurnOverMapper;
 import cn.iocoder.yudao.module.bpm.enums.DictDataConstants;
 import cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants;
@@ -27,6 +29,8 @@ import cn.iocoder.yudao.module.employee.api.EmployeeApi;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
 import cn.iocoder.yudao.module.infra.api.file.FileApi;
 import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
+import cn.iocoder.yudao.module.relations.api.turnover.RelationsTurnoverApi;
+import cn.iocoder.yudao.module.relations.api.turnover.dto.RelationsTurnoverCreateReqDTO;
 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -85,6 +89,9 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
     @Resource
     private DeptApi deptApi;
 
+    @Resource
+    private RelationsTurnoverApi relationsTurnoverApi;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Long stagingOaTurnover(OaTurnoverSaveReqVO stagingReqVO) {
@@ -295,11 +302,22 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
                     .setCurrentAuditEmployeeName(null)
                     .setFinalAuditDate(LocalDateTime.now())
                     .setId(oaTurnover.getId());
+        }
+        oaTurnoverMapper.updateById(oaTurnoverDO);
+        // 复制业务单据信息到业务模块单据表
+        if(Objects.isNull(nextTask)) {
+            // 查询申请单
+            OaTurnoverDO turnover = oaTurnoverMapper.selectById(oaTurnoverDO.getId());
 
-            // TODO DP复制业务单据信息到业务模块单据表
+            // 转换为DTO
+            RelationsTurnoverCreateReqDTO turnoverCreateReqDTO = BeanUtils.toBean(turnover, RelationsTurnoverCreateReqDTO.class);
+            turnoverCreateReqDTO.setStatus(0);
+            turnoverCreateReqDTO.setInfoSource(InfoSourceEnum.FLOW.getSource());
 
+            // 保存单据信息
+            relationsTurnoverApi.createTurnoverInfoAfterAudit(turnoverCreateReqDTO);
         }
-        oaTurnoverMapper.updateById(oaTurnoverDO);
+
         // 发送通知
 
         // 返回

+ 14 - 0
yudao-module-personnel/yudao-module-relations-api/src/main/java/cn/iocoder/yudao/module/relations/api/turnover/RelationsTurnoverApi.java

@@ -0,0 +1,14 @@
+package cn.iocoder.yudao.module.relations.api.turnover;
+
+import cn.iocoder.yudao.module.relations.api.turnover.dto.RelationsTurnoverCreateReqDTO;
+
+public interface RelationsTurnoverApi {
+
+    /**
+     * 审批完成添加离职信息
+     *
+     * @param turnoverCreateReqDTO 创建信息
+     * @return 编号
+     */
+    Long createTurnoverInfoAfterAudit(RelationsTurnoverCreateReqDTO turnoverCreateReqDTO);
+}

+ 88 - 0
yudao-module-personnel/yudao-module-relations-api/src/main/java/cn/iocoder/yudao/module/relations/api/turnover/dto/RelationsTurnoverCreateReqDTO.java

@@ -0,0 +1,88 @@
+package cn.iocoder.yudao.module.relations.api.turnover.dto;
+
+import lombok.Data;
+
+@Data
+public class RelationsTurnoverCreateReqDTO {
+
+    /**
+     * uuid
+     */
+    private String turnoverId;
+    /**
+     * 离职人id
+     */
+    private Long employeeId;
+    /**
+     * 离职人uuid
+     */
+    private String employeeUuid;
+    /**
+     * 离职员工姓名
+     */
+    private String employeeName;
+    /**
+     * 续签员工手机号
+     */
+    private String employeePhone;
+    /**
+     * 用户账号id
+     */
+    private Long userId;
+    /**
+     * 用户账号uuid
+     */
+    private String userUuid;
+    /**
+     * 部门id
+     */
+    private Long deptId;
+    /**
+     * 部门uuid
+     */
+    private String deptUuid;
+    /**
+     * 职位id
+     */
+    private Long postId;
+    /**
+     * 职位
+     */
+    private String position;
+    /**
+     * 入职日期
+     */
+    private String entryDate;
+    /**
+     * 离职日期
+     */
+    private String turnoverDate;
+    /**
+     * 离职原因
+     */
+    private String turnoverReason;
+    /**
+     * 备注
+     */
+    private String remarks;
+    /**
+     * 状态
+     */
+    private Integer status;
+    /**
+     * 数据来源,0流程添加、1手动添加
+     */
+    private String infoSource;
+    /**
+     * 创建人员工id
+     */
+    private Long creatorEmployeeId;
+    /**
+     * 创建人员工姓名
+     */
+    private String creatorEmployeeName;
+    /**
+     * 创建人
+     */
+    private String creator;
+}

+ 24 - 0
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/api/turnover/RelationsTurnoverApiImpl.java

@@ -0,0 +1,24 @@
+package cn.iocoder.yudao.module.relations.api.turnover;
+
+import cn.iocoder.yudao.module.relations.api.turnover.dto.RelationsTurnoverCreateReqDTO;
+import cn.iocoder.yudao.module.relations.service.turnover.RelationsTurnoverService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Objects;
+
+@Service
+public class RelationsTurnoverApiImpl implements RelationsTurnoverApi{
+
+    @Resource
+    private RelationsTurnoverService relationsTurnoverService;
+
+
+    @Override
+    public Long createTurnoverInfoAfterAudit(RelationsTurnoverCreateReqDTO turnoverCreateReqDTO) {
+        if (Objects.isNull(turnoverCreateReqDTO)) {
+            return -1L;
+        }
+        return relationsTurnoverService.createTurnoverInfoAfterAudit(turnoverCreateReqDTO);
+    }
+}

+ 8 - 5
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/dal/dataobject/turnover/RelationsTurnoverDO.java

@@ -1,11 +1,10 @@
 package cn.iocoder.yudao.module.relations.dal.dataobject.turnover;
 
-import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
-import com.baomidou.mybatisplus.annotation.*;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
 
 /**
  * 离职信息 DO
@@ -63,6 +62,10 @@ public class RelationsTurnoverDO extends BaseDO {
      * 部门uuid
      */
     private String deptUuid;
+    /**
+     * 职位id
+     */
+    private Long postId;
     /**
      * 职位
      */

+ 9 - 0
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/service/turnover/RelationsTurnoverService.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.relations.service.turnover;
 
+import cn.iocoder.yudao.module.relations.api.turnover.dto.RelationsTurnoverCreateReqDTO;
 import cn.iocoder.yudao.module.relations.controller.admin.turnover.vo.*;
 import cn.iocoder.yudao.module.relations.dal.dataobject.turnover.RelationsTurnoverDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
@@ -21,6 +22,14 @@ public interface RelationsTurnoverService {
      */
     Long createTurnover(@Valid RelationsTurnoverSaveReqVO createReqVO);
 
+    /**
+     * 审批完成添加离职信息
+     *
+     * @param turnoverCreateReqDTO 创建信息
+     * @return 编号
+     */
+    Long createTurnoverInfoAfterAudit(RelationsTurnoverCreateReqDTO turnoverCreateReqDTO);
+
     /**
      * 更新离职信息
      *

+ 16 - 11
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/service/turnover/RelationsTurnoverServiceImpl.java

@@ -1,8 +1,8 @@
 package cn.iocoder.yudao.module.relations.service.turnover;
 
-import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.security.core.LoginUser;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
@@ -10,25 +10,23 @@ import cn.iocoder.yudao.module.employee.api.EmployeeApi;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
 import cn.iocoder.yudao.module.infra.api.file.FileApi;
 import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
+import cn.iocoder.yudao.module.relations.api.turnover.dto.RelationsTurnoverCreateReqDTO;
+import cn.iocoder.yudao.module.relations.controller.admin.turnover.vo.RelationsTurnoverPageReqVO;
+import cn.iocoder.yudao.module.relations.controller.admin.turnover.vo.RelationsTurnoverRespVO;
+import cn.iocoder.yudao.module.relations.controller.admin.turnover.vo.RelationsTurnoverSaveReqVO;
+import cn.iocoder.yudao.module.relations.dal.dataobject.turnover.RelationsTurnoverDO;
+import cn.iocoder.yudao.module.relations.dal.mysql.turnover.RelationsTurnoverMapper;
 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
-import cn.iocoder.yudao.module.relations.controller.admin.turnover.vo.*;
-import cn.iocoder.yudao.module.relations.dal.dataobject.turnover.RelationsTurnoverDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-
-import cn.iocoder.yudao.module.relations.dal.mysql.turnover.RelationsTurnoverMapper;
-
 import javax.annotation.Resource;
-
 import java.util.List;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.relations.enums.ErrorCodeConstants.*;
+import static cn.iocoder.yudao.module.relations.enums.ErrorCodeConstants.RELATIONS_TURNOVER_NOT_EXISTS;
 
 /**
  * 离职信息 Service 实现类
@@ -80,6 +78,13 @@ public class RelationsTurnoverServiceImpl implements RelationsTurnoverService {
         return turnover.getId();
     }
 
+    @Override
+    public Long createTurnoverInfoAfterAudit(RelationsTurnoverCreateReqDTO turnoverCreateReqDTO) {
+        RelationsTurnoverDO relationsTurnoverDO = BeanUtils.toBean(turnoverCreateReqDTO, RelationsTurnoverDO.class);
+        turnoverMapper.insert(relationsTurnoverDO);
+        return relationsTurnoverDO.getId();
+    }
+
     @Override
     @TenantIgnore
     public void updateTurnover(RelationsTurnoverSaveReqVO updateReqVO) {