bug修复
This commit is contained in:
parent
9f2ea46f03
commit
a57a1d58c9
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.xz.mapper;
|
|||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
|
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 星纵-项目组织机构
|
* @Description: 星纵-项目组织机构
|
||||||
@ -14,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
public interface XzProjectOrgMapper extends BaseMapper<XzProjectOrg> {
|
public interface XzProjectOrgMapper extends BaseMapper<XzProjectOrg> {
|
||||||
|
|
||||||
void deleteChildren(String id);
|
void deleteChildren(String id);
|
||||||
|
|
||||||
|
void updateAncestors(@Param("oldAncestor") String oldAncestor, @Param("newAncestor") String newAncestor, @Param("projectSn") String projectSn);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,4 +6,10 @@
|
|||||||
from xz_project_org
|
from xz_project_org
|
||||||
where find_in_set(#{id}, ancestors)
|
where find_in_set(#{id}, ancestors)
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<update id="updateAncestors">
|
||||||
|
UPDATE xz_project_org
|
||||||
|
SET ancestors=REPLACE(ancestors, #{oldAncestor}, #{newAncestor})
|
||||||
|
WHERE ancestors LIKE N'${oldAncestor}%' and project_sn = #{projectSn}
|
||||||
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||||
import com.zhgd.xmgl.modules.stuff.entity.StuffType;
|
|
||||||
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
|
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
|
||||||
import com.zhgd.xmgl.modules.xz.mapper.XzProjectOrgMapper;
|
import com.zhgd.xmgl.modules.xz.mapper.XzProjectOrgMapper;
|
||||||
import com.zhgd.xmgl.modules.xz.service.IXzProjectOrgService;
|
import com.zhgd.xmgl.modules.xz.service.IXzProjectOrgService;
|
||||||
@ -20,7 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.sql.Struct;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -86,15 +84,44 @@ public class XzProjectOrgServiceImpl extends ServiceImpl<XzProjectOrgMapper, XzP
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void edit(XzProjectOrg xzProjectOrg) {
|
public void edit(XzProjectOrg xzProjectOrg) {
|
||||||
|
XzProjectOrg oldPo = baseMapper.selectById(xzProjectOrg.getId());
|
||||||
|
if (oldPo == null) {
|
||||||
|
throw new OpenAlertException("部门不存在");
|
||||||
|
}
|
||||||
List<XzProjectOrg> cOrgs = xzProjectOrgMapper.selectList(new LambdaQueryWrapper<XzProjectOrg>()
|
List<XzProjectOrg> cOrgs = xzProjectOrgMapper.selectList(new LambdaQueryWrapper<XzProjectOrg>()
|
||||||
.eq(XzProjectOrg::getParentId, xzProjectOrg.getId())
|
.eq(XzProjectOrg::getParentId, xzProjectOrg.getId())
|
||||||
|
.eq(XzProjectOrg::getProjectSn, xzProjectOrg.getProjectSn())
|
||||||
.eq(XzProjectOrg::getStatus, 0)
|
.eq(XzProjectOrg::getStatus, 0)
|
||||||
);
|
);
|
||||||
if (CollUtil.isNotEmpty(cOrgs)) {
|
if (CollUtil.isNotEmpty(cOrgs)) {
|
||||||
throw new OpenAlertException("该部门有下级部门未停用,不能停用");
|
throw new OpenAlertException("该部门有下级部门未停用,不能停用");
|
||||||
}
|
}
|
||||||
xzProjectOrg.setAncestors(null);
|
if (!Objects.equals(oldPo.getParentId(), xzProjectOrg.getParentId())) {
|
||||||
baseMapper.updateById(xzProjectOrg);
|
XzProjectOrg pOrg = xzProjectOrgMapper.selectById(xzProjectOrg.getParentId());
|
||||||
|
if (Objects.equals(xzProjectOrg.getStatus(), 0)) {
|
||||||
|
if (pOrg != null) {
|
||||||
|
if (Objects.equals(pOrg.getStatus(), 1)) {
|
||||||
|
throw new OpenAlertException("该上级部门状态为停用,无法修改");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改子部门
|
||||||
|
boolean top = xzProjectOrg.getParentId() == null || xzProjectOrg.getParentId() == 0;
|
||||||
|
if (top) {
|
||||||
|
xzProjectOrg.setParentId(0L);
|
||||||
|
xzProjectOrg.setAncestors("0");
|
||||||
|
} else {
|
||||||
|
if (pOrg != null) {
|
||||||
|
xzProjectOrg.setAncestors(pOrg.getAncestors() + "," + pOrg.getId());
|
||||||
|
} else {
|
||||||
|
xzProjectOrg.setAncestors("0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
baseMapper.updateById(xzProjectOrg);
|
||||||
|
baseMapper.updateAncestors(oldPo.getAncestors(), xzProjectOrg.getAncestors(), xzProjectOrg.getProjectSn());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user