起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 266|回复: 8

【结帖】组织机构问题**

[复制链接]
发表于 2008-6-12 16:02:31 | 显示全部楼层 |阅读模式
1.根据机构ID获取机构对象
2.根据部门ID 获取获取TDEPT
3.根据岗位ID 获取TPOSITION
4,根据人员ID获取TPERSON
5.如何判断某岗位已分配到某部门下
回复

使用道具 举报

发表于 2008-6-12 16:21:57 | 显示全部楼层
NameSpace: Business.Model.Org
--------------------------------------------------------------------------------
TOrgSystem = class(Business.System.TObject)
public
  constructor create;
  function AddNodeToCache(ParentGUID: string; URL: string; FileName: string; DisplayName: string; Sequence: Longint): TOrgUnitNode;
  function AssignPerson(APositionMember: Business.Model.TBizURL; APerson: Business.Model.TBizURL): TOrgUnit;
  function AssignPosition(ADept: Business.Model.TBizURL; APosition: Business.Model.TBizURL): TOrgUnit;
  function CreateDept(Parent: Business.Model.TBizURL; AID: string; ADisplayName: string): TDept;
  function CreateOrgan(Parent: Business.Model.TBizURL; AID: string; ADisplayName: string): TDept;
  function CreatePerson(ADept: Business.Model.TBizURL; AID: string; ADisplayName: string): TPerson;
  function CreatePosition(Parent: Business.Model.TBizURL; AID: string; ADisplayName: string): TPosition;
  function CreateUnit(Parent: Business.Model.TBizURL; AID: string; AKind: Business.Model.TBizObjectKind; ADisplayName: string): TOrgUnit;
  function CreateWorkGroup(Parent: Business.Model.TBizURL; AID: string; ADisplayName: string): TOrgUnit;
  procedure DeleteFromRecycleBin(AOrgURLs: TOrgURLs);
  procedure DeleteUnit(AURL: Business.Model.TBizURL);
  procedure Destroy; override;
  function EnsureNodeCache(URL: string; FileName: string; DisplayName: string; Sequence: Longint): TOrgUnitNode;
  procedure EnsureUnitCache(OrgUnit: TOrgUnit);
  function FindCorrespondingOrgUnit(AMemberFileName: string): TOrgUnit;
  function FindNodeInCache(FileName: string): TOrgUnitNode;
  function FindPerson(AID: string): TPerson;
  function FindPersonByLoginID(AID: string): TPerson;
  function FindPosition(AID: string): TPosition;
  function FindUnit(AURL: Business.Model.TBizURL; AIncludeRecycled: Boolean): TOrgUnit; overload;
  function FindUnit(ADeptID: string; APositionID: string; APersonID: string; AIncludeRecycled: Boolean): TOrgUnit; overload;
  function FindUnit(AURL: Business.Model.TBizURL): TOrgUnit; overload;
  function FindUnit(ADeptID: string; APositionID: string; APersonID: string): TOrgUnit; overload;
  function FindUnitInCache(FileName: string): TOrgUnit;
  procedure GetAllFunc(AOrgUnit: TOrgUnit; AFuncKind: TOrgFuncKind; AOrgFuncs: TOrgFuncAllocItems);
  procedure GetAllFuncItems(AOrgUnit: TOrgUnit; AFuncKinds: TOrgFuncKinds; AOrgFuncs: TOrgFuncAllocItems);
  procedure GetAllSubordination(AOrgUnit: TOrgUnit; AOrgSubordination: TOrgSubordinationItems);
  procedure GetAllSubordinationItems(AOrgUnit: TOrgUnit; AOrgSubordination: TOrgSubordinationItems);
  procedure GetBizURLsByOrgExpr(AExpr: string; ABizURLs: Business.System.TStrings);
  function GetDeputized(APersonID: string; AList: Business.System.TStrings): Boolean;
  function GetDeputizeFor(APersonID: string; AList: Business.System.TStrings): Boolean;
  function GetFuncOwners(AFuncURL: string; List: Business.System.TStrings): Boolean; overload;
  function GetFuncOwners(AFuncURL: string; AOrgFuncKind: TOrgFuncKind; List: Business.System.TStrings): Boolean; overload;
  procedure GetInheritedFuncs(AOrgUnit: TOrgUnit; AFuncKind: TOrgFuncKind; AOrgFuncs: TOrgFuncAllocItems);
  procedure GetInheritedOrgUnit(AOrgUnit: TOrgUnit; List: Business.System.TList);
  procedure GetInheritedSubordination(AOrgUnit: TOrgUnit; AOrgSubordination: TOrgSubordinationItems);
  function GetMemberDisplayName(AOrgUnit: TOrgUnit): string;
  function GetMemberFileName(AOrgUnit: TOrgUnit): string;
  function GetOrgUnitsFuncs(AOrgURLs: TOrgURLs; AList: TOrgFuncItems; SelfOnly: Boolean): Boolean;
  procedure GetOrgURLsByOrgExpr(AExpr: string; AOrgURLs: TOrgURLs);
  function GetParentUnit(AURL: Business.Model.TBizURL): TOrgUnit;
  function GetPerson(AID: string): TPerson;
  function GetPersonAllFuncs(AID: string; List: TOrgFuncItems): Boolean;
  function GetPersonMembers(AID: string; List: Business.System.TList): Boolean;
  function GetPosition(AID: string): TPosition;
  function GetPositionMembers(AID: string; List: Business.System.TList): Boolean;
  function GetRecycleBinURLs(AParent: Business.Model.TBizURL; AOrgURLs: TOrgURLs): Boolean;
  function GetUnit(ADeptID: string; APositionID: string; APersonID: string): TOrgUnit; overload;
  function GetUnit(ADeptID: string; APositionID: string; APersonID: string; AIncludeRecycled: Boolean): TOrgUnit; overload;
  function GetUnit(AURL: Business.Model.TBizURL): TOrgUnit; overload;
  function GetUnit(AURL: Business.Model.TBizURL; AIncludeRecycled: Boolean): TOrgUnit; overload;
  function GetURL(ADeptID: string; APositionID: string; APersonID: string): Business.Model.TBizURL;
  procedure RecoverFromRecycleBin(AOrgURLs: TOrgURLs);
  procedure Refresh(AURL: Business.Model.TBizURL);
  procedure RefreshCache;
  procedure SaveUnit(AUnit: TOrgUnit);
  property IsFast: Boolean;
end;
回复 支持 反对

使用道具 举报

发表于 2008-6-12 16:35:56 | 显示全部楼层
使用FindUnit函数可以满足楼主的需求。
NameSpace: Business.Model.Org
--------------------------------------------------------------------------------
TOrgSystem = class(Business.System.TObject)
public
……
function FindUnit(ADeptID: string; APositionID: string; APersonID: string): TOrgUnit; overload;
用3个ID的方式来查找组织单元,如果没有,返回nil
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-12 16:38:35 | 显示全部楼层
.如何判断某岗位已分配到某部门下
这个我还是不知道怎么处理
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-12 16:40:08 | 显示全部楼层
FindUnit可以满足判断某岗位已分配到某部门下的需求吗,我先试试
回复 支持 反对

使用道具 举报

发表于 2008-6-12 16:42:36 | 显示全部楼层
find('部门ID', '岗位ID', ''),如果已经分配,则返回对应的岗位成员,否则返回nil
回复 支持 反对

使用道具 举报

发表于 2008-6-13 08:58:06 | 显示全部楼层
楼主,问题解决了没?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-13 09:31:43 | 显示全部楼层
OK了
回复 支持 反对

使用道具 举报

发表于 2008-6-13 09:40:01 | 显示全部楼层
好,谢谢反馈,揭帖。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-17 08:08 , Processed in 0.043764 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表