From 141f6cfed8ceb23d458fd696e32d6053b337c562 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Wed, 3 Dec 2025 16:31:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=BB=E8=81=8C=E5=85=A5=E8=81=8C=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/info/command/UserUpdateExe.java | 24 +++++++++++++++---- .../info/domain/model/UserChangeRecordE.java | 4 ++-- .../info/gatewayimpl/UserGatewayImpl.java | 3 +++ .../repository/UserCorpRepository.java | 2 +- .../impl/UserCorpRepositoryImpl.java | 6 +---- .../repository/impl/UserRepositoryImpl.java | 3 +-- .../src/main/resources/mapper/UserMapper.xml | 4 ++-- 7 files changed, 29 insertions(+), 17 deletions(-) diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java index 0e10b91a..799a017c 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java @@ -139,18 +139,25 @@ public class UserUpdateExe { // UserE userE=null; Long corpinfoId = userResignationCmd.getCorpinfoId()==null?AuthContext.getTenantId():userResignationCmd.getCorpinfoId(); - + Integer employmentFlagBefore; if(UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())){ - userE=userCorpRepository.executeResignation(userDO.getId(), corpinfoId,UserEmploymentFlagEnum.RESIGNATION.getCode()); + UserCorpDO userCorpDO = userCorpRepository.getInfoByUserId(userDO.getId(), corpinfoId); + if (userCorpDO == null) { + return; + } + employmentFlagBefore = userCorpDO.getEmploymentFlag(); + userE=userCorpRepository.executeResignation(userCorpDO, corpinfoId,UserEmploymentFlagEnum.RESIGNATION.getCode()); }else{ userE = new UserE(); BeanUtils.copyProperties(userDO, userE); + employmentFlagBefore = userDO.getEmploymentFlag(); userE.setEmploymentFlag(UserEmploymentFlagEnum.RESIGNATION.getCode()); userGateway.update(userE); } if(userE==null){ return; } + //修改企业入职记录 UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserId(userDO.getId(), corpinfoId,UserEmploymentFlagEnum.ON.getCode()); @@ -166,7 +173,7 @@ public class UserUpdateExe { // 增加用户变更记录 UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); - userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode()); + userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode(),employmentFlagBefore); userChangeRecordGateway.add(userChangeRecordE); //TODO 处理未完成工作 @@ -278,17 +285,24 @@ public class UserUpdateExe { } UserE userE = null; Long corpinfoId = appUserResignationCmd.getCorpinfoId()==null?AuthContext.getTenantId():appUserResignationCmd.getCorpinfoId(); + Integer employmentFlagBefore = null; if(UserFlowFlagEnum.FLOW.getCode().equals(userDO.getFlowFlag())){ - userE=userCorpRepository.executeResignation(userDO.getId(), corpinfoId,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode()); + UserCorpDO userCorpDO = userCorpRepository.getInfoByUserId(userDO.getId(), corpinfoId); + if (userCorpDO == null) { + return; + } + employmentFlagBefore = userCorpDO.getEmploymentFlag(); + userE=userCorpRepository.executeResignation(userCorpDO, corpinfoId,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode()); }else{ userE = new UserE(); BeanUtils.copyProperties(userDO, userE); + employmentFlagBefore = userDO.getEmploymentFlag(); userE.setEmploymentFlag(UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode()); userGateway.update(userE); } //插入变更记录 UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); - userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode(),UserChangeRecordStatusEnum.PENDING.getCode()); + userChangeRecordE.executeResignation(userE,UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode(),UserChangeRecordStatusEnum.PENDING.getCode(),employmentFlagBefore); userChangeRecordGateway.add(userChangeRecordE); //TODO 处理未完成工作 diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserChangeRecordE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserChangeRecordE.java index 58cf4dae..f897b32d 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserChangeRecordE.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserChangeRecordE.java @@ -94,7 +94,7 @@ public class UserChangeRecordE extends BaseE { * @param userE * @param code */ - public void executeResignation(UserE userE, Integer code, Integer status) { + public void executeResignation(UserE userE, Integer code, Integer status, Integer employmentFlagBefore) { this.setUserId(userE.getId()); this.setChangeTime(new Date()); this.setCorpinfoIdBefore(userE.getCorpinfoId()); @@ -103,7 +103,7 @@ public class UserChangeRecordE extends BaseE { this.setDepartmentNameBefore(userE.getDepartmentName()); this.setPostIdBefore(userE.getPostId()); this.setPostNameBefore(userE.getPostName()); - this.setUserStatusBefore(userE.getEmploymentFlag()); + this.setUserStatusBefore(employmentFlagBefore); this.setCorpinfoIdAfter(null); this.setCorpinfoNameAfter(null); this.setDepartmentIdAfter(null); diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java index 90c30939..9d1636ba 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java @@ -2,6 +2,7 @@ package com.zcloud.basic.info.gatewayimpl; import com.alibaba.cola.dto.Response; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum; import com.zcloud.basic.info.domain.gateway.UserGateway; import com.zcloud.basic.info.domain.model.UserE; import com.zcloud.basic.info.persistence.dataobject.UserDO; @@ -46,6 +47,8 @@ public class UserGatewayImpl implements UserGateway { @Override public boolean addXgf(UserE userE) { UserDO d = new UserDO(); + // 新增用户默认在职 + userE.setEmploymentFlag(UserEmploymentFlagEnum.ON.getCode()); BeanUtils.copyProperties(userE, d); userE.resetPassword(); userRepository.saveUserXgf(d); diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserCorpRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserCorpRepository.java index fbf2fac3..b73a10c3 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserCorpRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserCorpRepository.java @@ -18,7 +18,7 @@ public interface UserCorpRepository extends BaseRepository { UserCorpDO getInfoByUserId(Long userId, Long tenantId); - UserE executeResignation(Long id, Long corpinfoId, Integer employmentFlag); + UserE executeResignation(UserCorpDO userCorpDO, Long corpinfoId, Integer employmentFlag); UserE executeReviewStatus(Long id, Long corpinfoId, Integer reviewStatus); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserCorpRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserCorpRepositoryImpl.java index 981ef00b..90a286c7 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserCorpRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserCorpRepositoryImpl.java @@ -45,11 +45,7 @@ public class UserCorpRepositoryImpl extends BaseRepositoryImpl i if(userDO.getSort() == null){ userDO.setSort(9999); } - // 新增用户默认在职 - userDO.setEmploymentFlag(1); + save(userDO); } diff --git a/web-infrastructure/src/main/resources/mapper/UserMapper.xml b/web-infrastructure/src/main/resources/mapper/UserMapper.xml index 62a68fc2..4365ab3d 100644 --- a/web-infrastructure/src/main/resources/mapper/UserMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/UserMapper.xml @@ -277,7 +277,7 @@ u.name AS name, u.main_corp_flag AS mainCorpFlag, u.user_type AS userType, - u.department_id AS departmentId, + u.post_id AS postId, u.role_id AS roleId, u.email AS email, @@ -312,7 +312,7 @@ CASE WHEN u.flow_flag = 0 THEN u.department_id WHEN u.flow_flag = 1 THEN cpd.id - END AS queryDepartmentId, + END AS departmentId, CASE WHEN u.flow_flag = 0 THEN u.corpinfo_id WHEN u.flow_flag = 1 THEN cp.corpinfo_id