unit COLLABORATIONCONSTS;
interface
uses
Business.System, Business.Model;
type
TCOLLABORATIONCONSTS = class(TBizLibrary)
end;
TStringArray = array of string;
TDesktopPanelDesc = record
Caption: string;
DocURL: string;
MoreFuncURL: string;
MoreFuncParam: string;
end;
TDesktopPanelDescArray = array of TDesktopPanelDesc;
TRectArray = array of TRect;
TDeleteConjunctionArray = array of array of string; //表关联删除用
{ 关联业务系统常量 }
TRTLConsts = class
public
{ 数据库URL }
static function SystemDatabaseURL: string;
static function CollaborationDatabaseURL: string;
static function CollaborationDatabaseConnectionString: string;
static function OperationDatabaseURL: string;
{ 业务库表和字段 }
static function CRMTableName: string;
static function CRMKeyFieldName: string;
static function CRMDisplayFieldName: string;
{ 功能相关 }
static function TaskCenterURL: string;
static function PlanCenterURL: string;
static function CustomerCenterURL: string;
static function MailURL: string;
static function DocCenterURL: string;
static function DecisionCenterURL: string;
static function NewsCenterURL: string;
// 默认功能
static function DefaultFuncs: TStringArray;
// 默认快捷键
static function DefaultShortcuts: TStringArray;
// 以人的身份运行的功能
static function PersonFuncs: TStringArray;
// 主界面默认运行的功能
static function RunFuncs: string;
{ 工作台相关常量 }
static function DesktopColumnCount: Integer;
static function DefaultDesktopPanelDesc: TDesktopPanelDescArray;
static function DesktopUnionRect: TRectArray;
{ 元素URL }
static function PartyURL: string;
{ 通用编码表类别 }
static function AutoIncreaseScope: string;
{ 任务和计划相关常量 }
static function DefaultTaskType: string;
static function DefaultPlanType: string;
static function NeedProcessTaskTypeStr: string;
static function PostTaskTypeStr: string;
{ 文档相关常量 }
static function CacheIndicesValue: Boolean;
static function AllowContentType: string;
{设置文档系统的表现方式,1 - 信息树表现, 0 - 文档中心方式表现,暂时以常量表示,可做配置}
static function DocViewType: Integer;
{为了兼容航天做出来的选项}
static function DocDirectly: Boolean;
static function DecisionRoot: string;
static function DocRoot: string;
{ OA相关常量 }
static function NewsDocURL: string;
{ 系统类别 }
static function CRMID: string;
static function CRMDisplayName: string;
static function CRMURL: string;
static function HasCRMSystem: Boolean;
static function DecisionID: string;
static function DecisionDisplayName: string;
static function DecisionURL: string;
static function HasDecisionSystem: Boolean;
static function DocID: string;
static function DocDisplayName: string;
static function DocURL: string;
static function HasDocSystem: Boolean;
static function OAID: string;
static function OADisplayName: string;
static function OAURL: string;
static function HasOASystem: Boolean;
static function HRMID: string;
static function HRMDisplayName: string;
static function HRMURL: string;
static function HasHRMSystem: Boolean;
static function BizDesignID: string;
static function BizDesignDisplayName: string;
static function BizDesignURL: string;
static function HasBizDesignSystem: Boolean;
static function SCMID: string;
static function SCMDisplayName: string;
static function SCMURL: string;
static function HasSCMSystem: Boolean;
end;
implementation
{ TODO: 本单元信息可以扩展了通过表动态配置 }
static function TRTLConsts.SystemDatabaseURL: string;
begin
Result := 'Biz:\SYSTEM\System.DataBase';
end;
static function TRTLConsts.CollaborationDatabaseURL: string;
begin
Result := 'Biz:\COLLABORATION\Collaboration.Database';
end;
static function TRTLConsts.CollaborationDatabaseConnectionString: string;
begin
Result := 'DATABASEURL=Biz:\COLLABORATION\Collaboration.Database';
end;
static function TRTLConsts.OperationDatabaseURL: string;
begin
Result := 'Biz:\JUSTEPINNERSYSTEM\INNERDB.Database';
end;
static function TRTLConsts.CRMTableName: string;
begin
Result := 'JSCUSTOMER';
end;
static function TRTLConsts.CRMKeyFieldName: string;
begin
Result := 'CustomerID';
end;
static function TRTLConsts.CRMDisplayFieldName: string;
begin
Result := 'Name';
end;
static function TRTLConsts.TaskCenterURL: string;
begin
Result := 'Biz:\COLLABORATION\TaskCenterFunc.Func';
end;
static function TRTLConsts.PlanCenterURL: string;
begin
Result := 'Biz:\COLLABORATION\PlanCenterFunc.Func';
end;
static function TRTLConsts.DecisionCenterURL: string;
begin
Result := 'Biz:\OPERATION\DECISIONSPACE\DecisionCenterFunc.Func';
end;
static function TRTLConsts.NewsCenterURL: string;
begin
Result := 'Biz:\OPERATION\OASPACE\TASKCENTERNEWSFUNC.Func';
end;
static function TRTLConsts.CustomerCenterURL: string;
begin
Result := 'Biz:\OPERATION\CRMSPACE\CustomerMngFunc.Func';
end;
static function TRTLConsts.MailURL: string;
begin
Result := 'Biz:\COLLABORATION\JustepMail.Func';
end;
static function TRTLConsts.DocCenterURL: string;
begin
Result := 'Biz:\OPERATION\DOCSPACE\DOCCENTERFUNC.FUNC';
end;
static function TRTLConsts.DefaultShortcuts: TStringArray;
begin
// 废弃
Result := [TRTLConsts.TaskCenterURL,
TRTLConsts.PlanCenterURL,
TRTLConsts.CustomerCenterURL,
TRTLConsts.MailURL,
TRTLConsts.DocCenterURL,
TRTLConsts.DecisionCenterURL
];
end;
static function TRTLConsts.PersonFuncs: TStringArray;
begin
Result := ['Biz:\COLLABORATION\DesktopFunc.Func',
'Biz:\COLLABORATION\SchedulerFunc.Func',
'Biz:\COLLABORATION\TaskCenterFunc.Func',
'Biz:\COLLABORATION\MyTaskFunc.Func',
'Biz:\COLLABORATION\TaskRelationViewFunc.Func',
'Biz:\COLLABORATION\PlanCenterFunc.Func',
'Biz:\COLLABORATION\PlanBrowseFunc.Func',
DocCenterURL,
DecisionCenterURL,
NewsCenterURL,
'Biz:\SYSTEM\DeptFuncManage.Func',
'Biz:\SYSTEM\DeptManageAuthority.Func',
'Biz:\SYSTEM\DeptOrganDesignForm.Func',
'Biz:\SYSTEM\DeptPersonDesignForm.Func',
'Biz:\SYSTEM\DEPTORGSETTING.FUNC',
'Biz:\JUSTEP\JUSTEPMAIL.Func'
];
end;
static function TRTLConsts.DefaultFuncs: TStringArray;
begin
Result := ['Biz:\COLLABORATION\DesktopFunc.Func',
'Biz:\COLLABORATION\SchedulerFunc.Func',
'Biz:\COLLABORATION\TaskCenterFunc.Func',
'Biz:\COLLABORATION\PlanCenterFunc.Func',
'Biz:\COLLABORATION\JustepMail.Func',
'Biz:\COLLABORATION\MyTaskFunc.Func',
'Biz:\COLLABORATION\TaskRelationViewFunc.Func',
'Biz:\COLLABORATION\PlanBrowseFunc.Func',
'Biz:\COLLABORATION\WorkRecordFunc.Func',
'Biz:\COLLABORATION\WORKTASKFUNC.Func',
'Biz:\COLLABORATION\WorkRemindFunc.Func',
'Biz:\COLLABORATION\WorkLogFunc.Func',
'Biz:\COLLABORATION\WorkAdviceFunc.Func',
'Biz:\COLLABORATION\WorkWeekPlanFunc.Func',
'Biz:\COLLABORATION\WorkAdviceDealFunc.Func',
'Biz:\COLLABORATION\WorkLogDealFunc.Func',
'Biz:\COLLABORATION\WorkRecordDealFunc.Func',
'Biz:\COLLABORATION\WorkRemindDealFunc.Func',
'Biz:\COLLABORATION\WorkTaskDealFunc.Func',
'Biz:\COLLABORATION\WorkWeekPlanDealFunc.Func',
'Biz:\OPERATION\CRMSPACE\UserMngFunc.Func',
//2007.07.26 修改 HZW
//'Biz:\OPERATION\CRMSPACE\CstmCommRecordFunc.Func',
//'Biz:\OPERATION\CRMSPACE\CSTMTRACKTFUNC.Func',
//'Biz:\OPERATION\CRMSPACE\PresaleWorkTaskFunc.Func',
'Biz:\OPERATION\CRMSPACE\CustomerMngFunc.Func',
//'Biz:\OPERATION\CRMSPACE\UserCommRecordFunc.Func',
//'Biz:\OPERATION\CRMSPACE\UserTrackRecordFunc.Func',
'Biz:\OPERATION\CRMSPACE\CHIEFMEETINGRECFUNC.Func',
'Biz:\OPERATION\CRMSPACE\WORKWEEKREPORTFunc.Func',
//'Biz:\OPERATION\CRMSPACE\ProductDemandFUNC.Func',
//'Biz:\OPERATION\CRMSPACE\ProductQuestionFunc.Func',
//'Biz:\OPERATION\CRMSPACE\ProductQuestionFunc.Func',
'Biz:\OPERATION\CRMSPACE\DATEAPPLICATIONFunc.Func',
//'Biz:\OPERATION\CRMSPACE\CstmCommRecordDealFunc.Func',
//'Biz:\OPERATION\CRMSPACE\CSTMTRACKDEALFUNC.Func',
//'Biz:\OPERATION\CRMSPACE\PresaleWorkTaskDealFunc.Func',
//'Biz:\OPERATION\CRMSPACE\UserCommRecordDealFunc.Func',
//'Biz:\OPERATION\CRMSPACE\UserTrackRecordDealFunc.Func',
'Biz:\OPERATION\CRMSPACE\CHIEFMEETINGRECDEALFUNC.Func',
'Biz:\OPERATION\CRMSPACE\WORKWEEKREPORTDEALfunc.Func',
//'Biz:\OPERATION\CRMSPACE\ProductDemandDealFunc.Func',
//'Biz:\OPERATION\CRMSPACE\ProductQuestionDealFunc.Func',
'Biz:\OPERATION\CRMSPACE\DATEAPPLICATIONDEALFUNC.Func'
];
if TRTLConsts.HasDocSystem then
begin
SetLength(Result, High(Result) - Low(Result) + 1);
Result[High(Result)] := TRTLConsts.DocCenterURL;
end;
if TRTLConsts.HasDecisionSystem then
begin
SetLength(Result, High(Result) - Low(Result) + 1);
Result[High(Result)] := TRTLConsts.DecisionCenterURL;
end;
{ if TRTLConsts.HasOASystem then
begin
SetLength(Result, High(Result) - Low(Result) + 5);
Result[High(Result) - 4] := TRTLConsts.NewsCenterURL;
Result[High(Result) - 3] := 'Biz:\OPERATION\OASPACE\LetterVisitDealFunc.Func';
Result[High(Result) - 2] := 'Biz:\OPERATION\OASPACE\LetterDisposalDealFunc.Func';
Result[High(Result) - 1] := 'Biz:\OPERATION\OASPACE\DailyChargeBxDealFunc.Func';
Result[High(Result)] := 'Biz:\OPERATION\OASPACE\EvectionChargeBxDealFunc.Func';
end;}
end;
static function TRTLConsts.RunFuncs: string;
begin
Result := 'Biz:\COLLABORATION\DesktopFunc.Func;' +
'Biz:\COLLABORATION\SchedulerFunc.Func';
end;
function CreateDesktopPanel(const Caption, DocURL, MoreFuncURL, MoreFuncParam: string): TDesktopPanelDesc;
begin
Result.Caption := Caption;
Result.DocURL := DocURL;
Result.MoreFuncURL := MoreFuncURL;
Result.MoreFuncParam := MoreFuncParam;
end;
static function TRTLConsts.DesktopColumnCount: Integer;
begin
Result := 2;
end;
static function TRTLConsts.DefaultDesktopPanelDesc: TDesktopPanelDescArray;
const
cTaskFuncURL = 'Biz:\COLLABORATION\MyTaskFunc.Func';
cPlanFuncURL = 'Biz:\COLLABORATION\PlanCenterFunc.Func';
cCustomerFuncURL = 'Biz:\OPERATION\CRMSPACE\CustomerMngFunc.Func';
cNeedProcessDocURL = 'Biz:\COLLABORATION\TaskCenterInfo.Info\NeedProcessNav.FormDoc';
cPlanDocURL = 'Biz:\COLLABORATION\PlanCenterInfo.Info\PlanNav.FormDoc';
cPostDocURL = 'Biz:\COLLABORATION\TaskCenterInfo.Info\PostNav.FormDoc';
cCustomerDocURL = 'Biz:\OPERATION\CRMSPACE\CustomerInfo.Info\CustomerNav.FormDoc';
begin
Result := [CreateDesktopPanel('待办任务', cNeedProcessDocURL, cTaskFuncURL, SysUtils.Format('-f%s -vvmTaskGrid -d待办', [TRTLConsts.NeedProcessTaskTypeStr])),
CreateDesktopPanel('当前计划', cPlanDocURL, cPlanFuncURL, '-p'),
CreateDesktopPanel('提交任务', cPostDocURL, cTaskFuncURL, SysUtils.Format('-vvmTaskGrid -f%s -d交办', [TRTLConsts.PostTaskTypeStr]))
//CreateDesktopPanel('我的客户', cCustomerDocURL, cCustomerFuncURL, '')
];
end;
static function TRTLConsts.DesktopUnionRect: TRectArray;
begin
Result := [];//[Classes.Rect(0, 1, 3, 2), Classes.Rect(1, 2, 3, 3)];
end;
static function TRTLConsts.PartyURL: string;
begin
Result := 'Biz:\SYSTEM\SysElements.ElementGroup\Party.Element'
end;
static function TRTLConsts.AutoIncreaseScope: string;
begin
Result := '自动递增序列';
end;
static function TRTLConsts.DefaultTaskType: string;
begin
Result := 'WORKRECORD'; // 工作记录
end;
static function TRTLConsts.DefaultPlanType: string;
begin
Result := '0102'; // 工作计划
end;
static function TRTLConsts.NeedProcessTaskTypeStr: string;
begin
Result := 'ftNeedProcess';
end;
static function TRTLConsts.PostTaskTypeStr: string;
begin
Result := 'ftPost';
end;
static function TRTLConsts.CacheIndicesValue: Boolean;
begin
Result := False; // 不缓存指标值
end;
static function TRTLConsts.AllowContentType: string;
begin
Result := 'Indices;Decision;BizDoc;Web;Meter;Report';
end;
static function TRTLConsts.DocViewType: Integer;
begin
Result := 0;
end;
static function TRTLConsts.DocDirectly: Boolean;
begin
Result := True;
end;
static function TRTLConsts.DecisionRoot: string;
begin
if DocDirectly then
Result := FileSys.cDocFilePrefix + '\DECISION'
else
Result := FileSys.cDocFilePrefix;
end;
static function TRTLConsts.DocRoot: string;
begin
if DocDirectly then
Result := FileSys.cDocFilePrefix + '\DOC'
else
Result := FileSys.cDocFilePrefix;
end;
static function TRTLConsts.NewsDocURL: string;
begin
Result := 'Biz:\OPERATION\OASPACE\NEWSPLACARD_NAVINFO.INFO\GRIDNAV.FORMDOC';
end;
static function TRTLConsts.CRMID: string;
begin
Result := 'CRM';
end;
static function TRTLConsts.CRMDisplayName: string;
begin
Result := '客户关系';
end;
static function TRTLConsts.CRMURL: string;
begin
Result := 'Biz:\OPERATION\CRMSpace';
end;
static function TRTLConsts.HasCRMSystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TRTLConsts.CRMURL);
end;
static function TRTLConsts.DecisionID: string;
begin
Result := 'Decision';
end;
static function TRTLConsts.DecisionDisplayName: string;
begin
Result := '决策中心';
end;
static function TRTLConsts.DecisionURL: string;
begin
Result := 'Biz:\OPERATION\DecisionSpace';
end;
static function TRTLConsts.HasDecisionSystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TRTLConsts.DecisionURL);
end;
static function TRTLConsts.DocID: string;
begin
Result := 'Doc';
end;
static function TRTLConsts.DocDisplayName: string;
begin
Result := '知识中心';
end;
static function TRTLConsts.DocURL: string;
begin
Result := 'Biz:\OPERATION\DocSpace';
end;
static function TRTLConsts.HasDocSystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TRTLConsts.DocURL);
end;
static function TRTLConsts.OAID: string;
begin
Result := 'OA';
end;
static function TRTLConsts.OADisplayName: string;
begin
Result := '办公自动化';
end;
static function TRTLConsts.OAURL: string;
begin
Result := 'Biz:\OPERATION\OASpace';
end;
static function TRTLConsts.HasOASystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TRTLConsts.OAURL);
end;
static function TRTLConsts.HRMID: string;
begin
Result := 'HRM';
end;
static function TRTLConsts.HRMDisplayName: string;
begin
Result := '人力资源';
end;
static function TRTLConsts.HRMURL: string;
begin
Result := 'Biz:\OPERATION\HRMSpace';
end;
static function TRTLConsts.HasHRMSystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TRTLConsts.HRMURL);
end;
static function TRTLConsts.BizDesignID: string;
begin
Result := 'BizDsn';
end;
static function TRTLConsts.BizDesignDisplayName: string;
begin
Result := '业务设计';
end;
static function TRTLConsts.BizDesignURL: string;
begin
Result := 'Biz:\LRDESIGNSPACE';
end;
static function TRTLConsts.HasBizDesignSystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TRTLConsts.BizDesignURL);
end;
static function TRTLConsts.SCMID: string;
begin
Result := 'SCM';
end;
static function TRTLConsts.SCMDisplayName: string;
begin
Result := '供应链';
end;
static function TRTLConsts.SCMURL: string;
begin
Result := 'Biz:\JEWIMPHARMA';
end;
static function TRTLConsts.HasSCMSystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TRTLConsts.SCMURL);
end;
end. |