diff --git a/servers/boe-server-basic/src/main/java/com/xboe/basic/entity/OrgTree.java b/servers/boe-server-basic/src/main/java/com/xboe/basic/entity/OrgTree.java index d2bed86f..6bc9bcda 100644 --- a/servers/boe-server-basic/src/main/java/com/xboe/basic/entity/OrgTree.java +++ b/servers/boe-server-basic/src/main/java/com/xboe/basic/entity/OrgTree.java @@ -21,7 +21,7 @@ public class OrgTree extends IdEntity { /** * 机构id * */ - @Column(name = "org_id",length = 18) + @Column(name = "org_id",length = 20) private String orgId; /** @@ -29,6 +29,12 @@ public class OrgTree extends IdEntity { * */ @Column(name = "parent_id",length = 36) private String parentId; + + /** + * 原系统的上级id + */ + @Column(name = "old_parent_id",length = 36) + private String oldParentId; /** * 体系标识 diff --git a/servers/boe-server-basic/src/main/java/com/xboe/basic/entity/User.java b/servers/boe-server-basic/src/main/java/com/xboe/basic/entity/User.java index b586f9d7..348b17e8 100644 --- a/servers/boe-server-basic/src/main/java/com/xboe/basic/entity/User.java +++ b/servers/boe-server-basic/src/main/java/com/xboe/basic/entity/User.java @@ -120,7 +120,7 @@ public class User extends IdEntity { private String domainId; /** - * 扩展字段,多租户系统的标识值 + * 扩展字段,多租户系统的标识值,原系统的companyId */ @Column(name = "sass_id", length = 36) private String sassId; diff --git a/servers/boe-server-basic/src/main/java/com/xboe/basic/service/impl/BasicDataSyncServiceImpl.java b/servers/boe-server-basic/src/main/java/com/xboe/basic/service/impl/BasicDataSyncServiceImpl.java index 098e2896..7f7c332f 100644 --- a/servers/boe-server-basic/src/main/java/com/xboe/basic/service/impl/BasicDataSyncServiceImpl.java +++ b/servers/boe-server-basic/src/main/java/com/xboe/basic/service/impl/BasicDataSyncServiceImpl.java @@ -28,7 +28,9 @@ import com.xboe.core.orm.QueryBuilder; import com.xboe.dto.OrganizationDto; import com.xboe.dto.UserDto; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Service("basicService") public class BasicDataSyncServiceImpl implements IBasicDataSyncService{ @@ -58,7 +60,7 @@ public class BasicDataSyncServiceImpl implements IBasicDataSyncService{ if(org==null) {//新增加 org=new Organization(); org.setId(IDGenerator.generate()); - org.setKid(dto.getKid()); + org.setKid(dto.getKid());//老系统的id org.setCode(org.getCode()); org.setCreateFrom(dto.getCreateFrom()); @@ -71,7 +73,7 @@ public class BasicDataSyncServiceImpl implements IBasicDataSyncService{ org.setIsServiceSite(dto.getIsServiceSite()); org.setName(dto.getName()); org.setNamePath(dto.getNamePath()); - + //org.setOrganizationLevel(dto.getSysLevel()); org.setSysLevel(dto.getSysLevel()); org.setRemark(dto.getRemark()); @@ -87,6 +89,7 @@ public class BasicDataSyncServiceImpl implements IBasicDataSyncService{ treeNode.setTreeType(dto.getTreeType()); treeNode.setParentId(""); treeNode.setRemark("系统同步"); + treeNode.setOldParentId(dto.getParentId());//保原机构的父id if(StringUtils.isNotBlank(dto.getParentId())){ //检查它的上级id是哪个 String parentId=(String)orgDao.findField("id",FieldFilters.eq("kid",dto.getParentId())); @@ -94,6 +97,10 @@ public class BasicDataSyncServiceImpl implements IBasicDataSyncService{ if(StringUtils.isNotBlank(parentId)){ treeNode.setParentId(parentId); dto.setParentId(parentId);//设置dto的parentId; + }else { + //这种情况,本地无机构,应该去远程获取 + log.error("本地未找到机构【"+dto.getKid()+"】的上级parentId【"+dto.getParentId()+"】对应的机构,机构新id【"+org.getId()+"】"); + dto.setParentId("-1");//如果没有情况,设置为-1 } } orgTreeDao.save(treeNode); @@ -103,6 +110,7 @@ public class BasicDataSyncServiceImpl implements IBasicDataSyncService{ // org.setCreateFrom(dto.getCreateFrom()); // org.setCreateTime(dto.getCreateTime()); // org.setDataFrom(dto.getDataFrom()); + //已经删除的,需要还原,因为新的同步过来了 if(dto.getDeleted()!=null && dto.getDeleted()) { org.setDeleted(dto.getDeleted()); } @@ -112,7 +120,6 @@ public class BasicDataSyncServiceImpl implements IBasicDataSyncService{ org.setIsServiceSite(dto.getIsServiceSite()); org.setName(dto.getName()); org.setNamePath(dto.getNamePath()); - //org.setOrganizationLevel(dto.getSysLevel()); org.setSysLevel(dto.getSysLevel()); org.setRemark(dto.getRemark()); org.setSassId(dto.getSassId()); @@ -130,6 +137,7 @@ public class BasicDataSyncServiceImpl implements IBasicDataSyncService{ dto.setParentId(parentId); if(treeNode!=null){ treeNode.setParentId(parentId); + treeNode.setOldParentId(dto.getParentId()); orgTreeDao.update(treeNode); }else { treeNode=new OrgTree(); diff --git a/servers/boe-server-basic/src/main/java/com/xboe/primary/entity/MainOrganization.java b/servers/boe-server-basic/src/main/java/com/xboe/primary/entity/MainOrganization.java index 926c71d1..19dfb334 100644 --- a/servers/boe-server-basic/src/main/java/com/xboe/primary/entity/MainOrganization.java +++ b/servers/boe-server-basic/src/main/java/com/xboe/primary/entity/MainOrganization.java @@ -53,7 +53,7 @@ public class MainOrganization extends BaseEntity { /** * 父组织部门ID */ - @Column(name = "parent_id", length = 18) + @Column(name = "parent_id", length = 20) private String parentId; /**