EAS组织构架中,有两个关联表用于关联查询各组织信息
T_ORG_UnitRelation 组织单元关系 :用于保存源组织与目标组织转换关联
T_ORG_TypeRelation 组织类型关系 :保存各业务组织转换关联,源组织与目标组织转换关联;
重点关注:
FToType 目标组织类型
无=-1,行政组织=0,财务组织=1,销售组织=2,采购组织=3,库存组织=4,成本中心=5,利润中心=6,合并范围=8,管理单元=10,HR组织=16,发运组织=24,质检组织=32
FFromType 源组织类型
无=-1,行政组织=0,财务组织=1,销售组织=2,采购组织=3,库存组织=4,成本中心=5,利润中心=6,合并范围=8,管理单元=10,HR组织=16,发运组织=24,质检组织=32
sql:
select r.FToUnitID from T_ORG_UnitRelation r left join T_ORG_TypeRelation tr on r.FTypeRelationID=tr.fid where r.ffromunitid=? and tr.FID='00000000-0000-0000-0000-0000000000160FE9F8B5' -- 00000000-0000-0000-0000-0000000000160FE9F8B5 组织转换关系,即成本中心-财务组织,
代码:
public static CompanyOrgUnitInfo getCompanyByCostCenter(Context ctx,CostCenterOrgUnitInfo costCenter) throws EASBizException, BOSException{ IOrgUnitRelation iRelation = ctx==null?OrgUnitRelationFactory.getRemoteInstance():OrgUnitRelationFactory.getLocalInstance(ctx); IObjectCollection orgCol = iRelation.getToUnit(costCenter.getId().toString(),OrgType.COSTCENTER_VALUE,OrgType.COMPANY_VALUE); if(orgCol==null || orgCol.size()<1) return null; else return (CompanyOrgUnitInfo) orgCol.getObject(0); }