|
@ -61,22 +61,6 @@ public class OrgTreeService extends BaseJpaService<OrgTree, OrgTreeDao> {
|
|
|
OrgTree provinceTree = new OrgTree(baseOrgDO.getProvinceCode(),"",baseOrgDO.getProvinceName(), OrgTree.Level.province.getLevelValue());
|
|
|
treeNodes.add(provinceTree);
|
|
|
}
|
|
|
/*if(orgTreeDao.existsByCode(baseOrgDO.getTownCode())){
|
|
|
OrgTree orgNode = new OrgTree(baseOrgDO.getCode(),baseOrgDO.getTownCode(),baseOrgDO.getName(), OrgTree.Level.org.getLevelValue());
|
|
|
treeNodes.add(orgNode);
|
|
|
}
|
|
|
else if(orgTreeDao.existsByCode(baseOrgDO.getCityCode())){
|
|
|
OrgTree townNode = new OrgTree(baseOrgDO.getTownCode(),baseOrgDO.getCityCode(),baseOrgDO.getTownName(), OrgTree.Level.town.getLevelValue());
|
|
|
treeNodes.add(townNode);
|
|
|
}
|
|
|
else if(orgTreeDao.existsByCode(baseOrgDO.getProvinceCode())){
|
|
|
OrgTree cityNode = new OrgTree(baseOrgDO.getCityCode(),baseOrgDO.getProvinceCode(),baseOrgDO.getCityName(), OrgTree.Level.city.getLevelValue());
|
|
|
treeNodes.add(cityNode);
|
|
|
}
|
|
|
else{
|
|
|
OrgTree provinceNode = new OrgTree(baseOrgDO.getProvinceCode(),"",baseOrgDO.getProvinceName(), OrgTree.Level.province.getLevelValue());
|
|
|
treeNodes.add(provinceNode);
|
|
|
}*/
|
|
|
this.batchInsert(treeNodes);
|
|
|
}
|
|
|
|
|
@ -89,71 +73,71 @@ public class OrgTreeService extends BaseJpaService<OrgTree, OrgTreeDao> {
|
|
|
public void updateOrgTreeNode(BaseOrgDO oldBaseOrgDO,BaseOrgDO newBaseOrgDO,int level){
|
|
|
if( level == OrgTree.Level.org.getLevelValue() ){
|
|
|
OrgTree orgTree = orgTreeDao.findByCode(oldBaseOrgDO.getCode());
|
|
|
//新修改的机构代码不存在,表示未添加过,应把相应的父类关联关系存储起来(省份,城市,区域等)
|
|
|
if(null == orgTree){
|
|
|
addOrgTreeNode(newBaseOrgDO);
|
|
|
return;
|
|
|
}
|
|
|
orgTree.setCode(newBaseOrgDO.getCode());
|
|
|
orgTree.setName(newBaseOrgDO.getName());
|
|
|
this.save(orgTree);
|
|
|
addOrgTreeNode(newBaseOrgDO);
|
|
|
}
|
|
|
else if( level == OrgTree.Level.town.getLevelValue() ){
|
|
|
OrgTree orgTree = orgTreeDao.findByCodeAndParentCode(oldBaseOrgDO.getCode(),oldBaseOrgDO.getTownCode());
|
|
|
//新修改的代区码不存在,表示未添加过,应把相应的父类关联关系存储起来(省份,城市,等)
|
|
|
if(null == orgTree){
|
|
|
addOrgTreeNode(newBaseOrgDO);
|
|
|
return;
|
|
|
}
|
|
|
orgTree.setParentCode(newBaseOrgDO.getTownCode());
|
|
|
this.save(orgTree);
|
|
|
/* List<OrgTree> treeNodes = new ArrayList<>();
|
|
|
//新修改的区代码不存在,表示未添加过,应把相应的父类关联关系存储起来(城市,省份等)
|
|
|
if(!orgTreeDao.existsByCode(newBaseOrgDO.getTownCode())){
|
|
|
OrgTree townTree = new OrgTree(newBaseOrgDO.getTownCode(),newBaseOrgDO.getCityCode(),newBaseOrgDO.getTownName(), OrgTree.Level.town.getLevelValue());
|
|
|
treeNodes.add(townTree);
|
|
|
}
|
|
|
if(!orgTreeDao.existsByCode(newBaseOrgDO.getCityCode())){
|
|
|
OrgTree cityTree = new OrgTree(newBaseOrgDO.getCityCode(),newBaseOrgDO.getProvinceCode(),newBaseOrgDO.getCityName(), OrgTree.Level.city.getLevelValue());
|
|
|
treeNodes.add(cityTree);
|
|
|
}
|
|
|
if(!orgTreeDao.existsByCode(newBaseOrgDO.getProvinceCode())){
|
|
|
OrgTree provinceTree = new OrgTree(newBaseOrgDO.getProvinceCode(),"",newBaseOrgDO.getProvinceName(), OrgTree.Level.province.getLevelValue());
|
|
|
treeNodes.add(provinceTree);
|
|
|
}
|
|
|
this.batchInsert(treeNodes);*/
|
|
|
addOrgTreeNode(newBaseOrgDO);
|
|
|
}
|
|
|
else if( level == OrgTree.Level.city.getLevelValue() ){
|
|
|
OrgTree orgTree = orgTreeDao.findByCodeAndParentCode(oldBaseOrgDO.getTownCode(),oldBaseOrgDO.getCityCode());
|
|
|
//新修改的城市代码不存在,表示未添加过,应把相应的父类关联关系存储起来(省份等)
|
|
|
if(null == orgTree){
|
|
|
addOrgTreeNode(newBaseOrgDO);
|
|
|
return;
|
|
|
}
|
|
|
orgTree.setParentCode(newBaseOrgDO.getCityCode());
|
|
|
this.save(orgTree);
|
|
|
addOrgTreeNode(newBaseOrgDO);
|
|
|
/*List<OrgTree> treeNodes = new ArrayList<>();
|
|
|
if(!orgTreeDao.existsByCode(newBaseOrgDO.getCityCode())){
|
|
|
OrgTree cityTree = new OrgTree(newBaseOrgDO.getCityCode(),newBaseOrgDO.getProvinceCode(),newBaseOrgDO.getCityName(), OrgTree.Level.city.getLevelValue());
|
|
|
treeNodes.add(cityTree);
|
|
|
}
|
|
|
if(!orgTreeDao.existsByCode(newBaseOrgDO.getProvinceCode())){
|
|
|
OrgTree provinceTree = new OrgTree(newBaseOrgDO.getProvinceCode(),"",newBaseOrgDO.getProvinceName(), OrgTree.Level.province.getLevelValue());
|
|
|
treeNodes.add(provinceTree);
|
|
|
}
|
|
|
this.batchInsert(treeNodes);*/
|
|
|
}
|
|
|
else if( level == OrgTree.Level.province.getLevelValue() ){
|
|
|
OrgTree orgTree = orgTreeDao.findByCodeAndParentCode(oldBaseOrgDO.getCityCode(),oldBaseOrgDO.getProvinceCode());
|
|
|
//新修改的省代码不存在,表示未添加过,
|
|
|
if(null == orgTree){
|
|
|
addOrgTreeNode(newBaseOrgDO);
|
|
|
return;
|
|
|
}
|
|
|
orgTree.setParentCode(newBaseOrgDO.getProvinceCode());
|
|
|
this.save(orgTree);
|
|
|
addOrgTreeNode(newBaseOrgDO);
|
|
|
/*List<OrgTree> treeNodes = new ArrayList<>();
|
|
|
if(!orgTreeDao.existsByCode(newBaseOrgDO.getProvinceCode())){
|
|
|
OrgTree provinceTree = new OrgTree(newBaseOrgDO.getProvinceCode(),"",newBaseOrgDO.getProvinceName(), OrgTree.Level.province.getLevelValue());
|
|
|
treeNodes.add(provinceTree);
|
|
|
}
|
|
|
this.batchInsert(treeNodes);*/
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 删除机构
|
|
|
* @param baseOrgDO
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void deleteByCode(BaseOrgDO baseOrgDO){
|
|
|
if(StringUtils.isEmpty(baseOrgDO.getCode())){
|
|
|
return;
|
|
|
}
|
|
|
// 删除机构code
|
|
|
orgTreeDao.deleteByCode(baseOrgDO.getCode());
|
|
|
|
|
|
// 判断该机构code所在的区下面还有没有其他机构,如果没有,该区县一并删掉
|
|
|
if(!orgTreeDao.existsByParentCode(baseOrgDO.getTownCode())){
|
|
|
orgTreeDao.deleteByCode(baseOrgDO.getTownCode());
|
|
|
}
|
|
|
// 判断该区县code所在的城市下面还有没有其他区县,如果没有,该城市一并删掉
|
|
|
if(!orgTreeDao.existsByParentCode(baseOrgDO.getCityCode())){
|
|
|
orgTreeDao.deleteByCode(baseOrgDO.getCityCode());
|
|
|
}
|
|
|
// 判断该城市code所在的省下面还有没有其他城市,如果没有,该省一并删掉
|
|
|
if(!orgTreeDao.existsByParentCode(baseOrgDO.getProvinceCode())){
|
|
|
orgTreeDao.deleteByCode(baseOrgDO.getProvinceCode());
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -171,7 +155,7 @@ public class OrgTreeService extends BaseJpaService<OrgTree, OrgTreeDao> {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据区下面的机构列表
|
|
|
* 获取区下面的机构列表
|
|
|
*
|
|
|
* @param townCode
|
|
|
* @return
|
|
@ -184,6 +168,7 @@ public class OrgTreeService extends BaseJpaService<OrgTree, OrgTreeDao> {
|
|
|
return orgTreeDao.findOrgListByParentCode(townCode);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 构建树形结构
|
|
|
* @return
|