From b47d4a7accabce974e19d2a1ffb3c5c67507d74b Mon Sep 17 00:00:00 2001 From: wangwh <2397901735@qq.com> Date: Wed, 28 Aug 2024 15:11:59 +0800 Subject: [PATCH] 1、组织架构的接口 2、事项登记接口 --- dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java | 82 +++++++++++++++++++++++++++++++---------- 1 files changed, 62 insertions(+), 20 deletions(-) diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java index f58e0f7..dcda728 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java @@ -3,10 +3,13 @@ import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; +import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.constant.BaseConsts; import cn.huge.module.ctuser.dao.mapper.CtDeptMapper; import cn.huge.module.ctuser.domain.po.CtDept; +import cn.huge.module.ctuser.domain.po.CtUser; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -41,6 +44,9 @@ @Autowired private UtilsClientImpl utilsClient; + + @Autowired + private CtUserService ctUserService; /** * 更新对象 @@ -113,26 +119,6 @@ } /** - * 新增或更新对象 - * @param ctDept 实体对象 - */ - public void saveCtDept(CtDept ctDept){ - try{ - Date nowDate = DateUtils.getNowDate(); - // 判断是否新增 - if (IdUtils.checkNewId(ctDept.getId())){ - ctDept.setId(utilsClient.getNewTimeId()); - ctDept.setCreateTime(nowDate); - } - ctDept.setUpdateTime(nowDate); - this.saveOrUpdate(ctDept); - }catch (Exception e){ - log.error("[CtDeptService.saveCtDept]调用失败,异常信息:"+e, e); - throw new ServiceException("CtDeptService.saveCtDept", e); - } - } - - /** * 创建某一级部门下树形结构 * @param ctDeptList 所有部门集合 * @param firstId 某一级组织编号 @@ -179,4 +165,60 @@ } childList.add(currentUnit); } + + /** + * 新增或更新对象部门 + * @param ctDept 实体对象 + */ + public void saveCtDept(CtDept ctDept, String userId){ + try{ + // 获取当前登录用户 + CtUser loginCtUser = ctUserService.getById(userId); + + // 保存新增更新组织 + ctDept.setCustId(loginCtUser.getCustId()); + + Date nowDate = DateUtils.getNowDate(); + // 判断是否新增 + if (IdUtils.checkNewId(ctDept.getId())){ + ctDept.setId(utilsClient.getNewTimeId()); + ctDept.setCreateTime(nowDate); + // 新增上级部门 + if (StringUtils.isNotEmpty(ctDept.getDeptId())){ + // 更新子级部门的父级编号为当前新增部门的编号 + CtDept childCtDept = mapper.selectById(ctDept.getDeptId()); + childCtDept.setParentId(ctDept.getId()); + mapper.updateById(childCtDept); + }else{ + // 新增下级部门,如果没有指定上级编号,则默认为根级 + if (StringUtils.isBlank(ctDept.getParentId())) { + ctDept.setParentId(BaseConsts.ROOT); + } + } + } + ctDept.setUpdateTime(nowDate); + ctDept.setDeleteStatus(BaseConsts.DELETE_STATUS_0); + // 部门下成员 + QueryWrapper<CtUser> ctUserQueryWrapper = new QueryWrapper<>(); + ctUserQueryWrapper.eq("dept_id", ctDept.getId()); + List<CtUser> matchUsers = ctUserService.list(ctUserQueryWrapper); + for (CtUser ctUser : matchUsers){ + ctUser.setDeptId(null); + ctUser.setDeptName(null); + ctUserService.saveOrUpdate(ctUser); + } + List<CtUser> ctUsers = ctDept.getMatchUsers(); + for (CtUser ctUser : ctUsers){ + CtUser ctUser1 = ctUserService.getById(ctUser.getId()); + ctUser1.setDeptId(ctDept.getId()); + ctUser1.setDeptName(ctDept.getName()); + ctUserService.saveOrUpdate(ctUser1); + } + this.saveOrUpdate(ctDept); + }catch (Exception e){ + log.error("service方法[CtDeptService.saveCtDept]调用异常:"+e, e); + throw new ServiceException("CtDeptService.saveCtDept", e); + } + } + } -- Gitblit v1.8.0