From bca18576bfc85a7f0ab591b7eaea69266d2f88fc Mon Sep 17 00:00:00 2001 From: GUO <1923636941@qq.com> Date: Fri, 7 Jun 2024 23:15:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/ProjectEnterpriseMapper.java | 20 ++++++----- .../mapper/xml/ProjectEnterpriseMapper.xml | 5 +++ .../impl/ProjectEnterpriseServiceImpl.java | 36 ++++++++++++------- 3 files changed, 39 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/project/mapper/ProjectEnterpriseMapper.java b/src/main/java/com/zhgd/xmgl/modules/project/mapper/ProjectEnterpriseMapper.java index dcf3e1fac..8e31c83d4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/mapper/ProjectEnterpriseMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/mapper/ProjectEnterpriseMapper.java @@ -1,17 +1,18 @@ package com.zhgd.xmgl.modules.project.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.modules.project.entity.ProjectEnterprise; +import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; +import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + import java.util.List; import java.util.Map; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.zhgd.jeecg.common.mybatis.EntityMap; -import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import com.zhgd.xmgl.modules.project.entity.ProjectEnterprise; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.springframework.stereotype.Repository; - /** * @Description: 项目劳务公司关联 * @author: pds @@ -36,4 +37,5 @@ public interface ProjectEnterpriseMapper extends BaseMapper { void updateAncestors(@Param("oldAncestor") String oldAncestor, @Param("newAncestor") String newAncestor, @Param("projectSn") String projectSn, @Param("id") Long id); + List getChildren(Long id); } diff --git a/src/main/java/com/zhgd/xmgl/modules/project/mapper/xml/ProjectEnterpriseMapper.xml b/src/main/java/com/zhgd/xmgl/modules/project/mapper/xml/ProjectEnterpriseMapper.xml index a050a8a40..fd298333e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/mapper/xml/ProjectEnterpriseMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/project/mapper/xml/ProjectEnterpriseMapper.xml @@ -223,4 +223,9 @@ SET ancestors=REPLACE(ancestors, #{oldAncestor}, #{newAncestor}) WHERE ancestors LIKE N'${oldAncestor},${id}%' and project_sn = #{projectSn} + + diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectEnterpriseServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectEnterpriseServiceImpl.java index 5cbaef345..13a1a88eb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectEnterpriseServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectEnterpriseServiceImpl.java @@ -16,6 +16,7 @@ import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; import com.zhgd.xmgl.modules.worker.entity.UserEnterprise; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; import com.zhgd.xmgl.modules.worker.mapper.UserEnterpriseMapper; +import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg; import com.zhgd.xmgl.security.entity.UserInfo; import com.zhgd.xmgl.security.util.SecurityUtils; import com.zhgd.xmgl.util.MessageUtil; @@ -96,30 +97,39 @@ public class ProjectEnterpriseServiceImpl extends ServiceImpl children = baseMapper.getChildren(pe.getId()); + for (XzProjectOrg child : children) { + if (child.getId().equals(pe.getParentProjectEnterpriseId())) { + throw new OpenAlertException("不能将其移动到其自身下级"); + } + } + ProjectEnterprise pOrg = projectEnterpriseMapper.selectById(pe.getParentProjectEnterpriseId()); // 修改子部门 - boolean top = projectEnterprise.getParentProjectEnterpriseId() == null || projectEnterprise.getParentProjectEnterpriseId() == 0; + boolean top = pe.getParentProjectEnterpriseId() == null || pe.getParentProjectEnterpriseId() == 0; if (top) { - projectEnterprise.setParentProjectEnterpriseId(0L); - projectEnterprise.setAncestors("0"); + pe.setParentProjectEnterpriseId(0L); + pe.setAncestors("0"); } else { if (pOrg == null) { throw new OpenAlertException("上级部门不存在"); } - projectEnterprise.setAncestors(pOrg.getAncestors() + "," + pOrg.getId()); + pe.setAncestors(pOrg.getAncestors() + "," + pOrg.getId()); } - baseMapper.updateAncestors(oldPo.getAncestors(), projectEnterprise.getAncestors(), projectEnterprise.getProjectSn(), projectEnterprise.getId()); - baseMapper.updateById(projectEnterprise); + baseMapper.updateAncestors(old.getAncestors(), pe.getAncestors(), pe.getProjectSn(), pe.getId()); + baseMapper.updateById(pe); } else { - projectEnterprise.setAncestors(null); - baseMapper.updateById(projectEnterprise); + pe.setAncestors(null); + baseMapper.updateById(pe); } }