|

楼主 |
发表于 2009-5-6 17:17:42
|
显示全部楼层
static function TSystemConsts.HasHRMSystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TSystemConsts.HRMURL);
end;
static function TSystemConsts.BizDesignID: string;
begin
Result := 'BizDsn';
end;
static function TSystemConsts.BizDesignDisplayName: string;
begin
Result := '业务设计';
end;
static function TSystemConsts.BizDesignURL: string;
begin
Result := 'Biz:\LRDESIGNSPACE';
end;
static function TSystemConsts.HasBizDesignSystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TSystemConsts.BizDesignURL);
end;
static function TSystemConsts.SCMID: string;
begin
Result := 'SCM';
end;
static function TSystemConsts.SCMDisplayName: string;
begin
Result := '供应链';
end;
static function TSystemConsts.SCMURL: string;
begin
Result := 'Biz:\JEWIMPHARMA';
end;
static function TSystemConsts.HasSCMSystem: Boolean;
begin
Result := BizSys.BizSystem.URLExists(TSystemConsts.SCMURL);
end;
static function TSystemConsts.MailBoxSize: Integer;
begin
Result := 100 *1024*1024;
end;
static function TSystemConsts.TaskRemindKind: string;
begin
Result := 'RemindBox';
end;
static function TSystemConsts.CheckRemindTaskTime: Integer;
begin
Result := 30;
end;
static function TSystemConsts.CalendarCreatorTimer: Integer;
begin
Result := 60;
end;
{ TBusinessConfig }
const
cVersion = 'Version';
cSaveOnExit = 'SaveSettingsOnExit';
cSaveToolWindowLayout = 'SaveToolWindowLayout';
cSaveActiveFunc = 'SaveActiveFunc';
cSaveLastOpenFuncCount = 'SaveLastOpenFuncCount';
cActiveFunc = 'ActiveFunc';
cDefaultDesktopID = 'DefaultDesktopID';
cRunMessenger = 'RunMessenger';
cStyle = 'Style';
cReadOnlyColor = 'ReadOnlyColor';
cRequiredColor = 'RequiredColor';
// 字符数组转换为“;”分隔的字符串
function StrArrayToStr(const AArray: TStringArray): string;
var
I: Integer;
begin
Result := '';
for I := Low(AArray) to High(AArray) do
begin
if Result <> '' then
Result := Result + ';';
Result := Result + AArray[I];
end;
end;
procedure TBusinessConfig.Assign(Source: TBusinessConfig);
begin
SaveOnExit := Source.SaveOnExit;
SaveToolWindowLayout := Source.SaveToolWindowLayout;
SaveActiveFunc := Source.SaveActiveFunc;
SaveLastOpenFuncCount := Source.SaveLastOpenFuncCount;
ActiveFunc := Source.ActiveFunc;
OpenFuncs := Source.OpenFuncs;
RunFuncs := Source.RunFuncs;
DefaultDesktopID := Source.DefaultDesktopID;
RunMessenger := Source.RunMessenger;
Style := Source.Style;
ReadOnlyColor := Source.ReadOnlyColor;
RequiredColor := Source.RequiredColor;
ShowRemindBox := Source.ShowRemindBox;
RemindTaskOutOfTime := Source.RemindTaskOutOfTime;
FTask_ShowDeptFilter := Source.Task_ShowDeptFilter;
FTask_UseSuperiorDeptURLs := Source.Task_UseSuperiorDeptURLs;
FTask_Desktop_IncludeDeptProcess := Source.Task_Desktop_IncludeDeptProcess;
FPlan_ShowDeptFilter := Source.Plan_ShowDeptFilter;
FProject_ShowDeptFilter := Source.Project_ShowDeptFilter;
FDoc_IncludeSubordinationAccess := Source.Doc_IncludeSubordinationAccess;
RecordSystemLog := Source.RecordSystemLog;
SystemLogKinds := Source.SystemLogKinds;
end;
constructor TBusinessConfig.Create(IsSystem: Boolean);
begin
inherited Create;
FVersion := '1.0.0.3';
SaveOnExit := False;
SaveToolWindowLayout := True;
//SaveActiveFunc := True;
//SaveLastOpenFuncCount := 10;
Style := DefaultStyle;
ReadOnlyColor := DefaultReadOnlyColor;
RequiredColor := DefaultRequiredColor;
RunMessenger := True;
if IsSystem then
begin
ShortcutFuncs := StrArrayToStr(TSystemConsts.SystemDefaultFuncs);
RunFuncs := StrArrayToStr(TSystemConsts.SystemRunFuncs);
RecordSystemLog := True;
end
else begin
ShortcutFuncs := StrArrayToStr(TSystemConsts.ShortcutFuncs);
RunFuncs := StrArrayToStr(TSystemConsts.RunFuncs);
RecordSystemLog := False;
end;
DefaultFuncs := StrArrayToStr(TSystemConsts.DefaultFuncs);
ServiceFuncs := StrArrayToStr(TSystemConsts.ServiceFuncs);
AutoRunFuncs := StrArrayToStr(TSystemConsts.AutoRunFuncs);
TaskRemindKind := 'RemindBox';
CheckRemindTaskTime := 30;
MailBoxSize := 100;
CalendarCreatorTimer := 60;
ShowRemindBox := True;
RemindTaskOutOfTime := False;
FTask_ShowDeptFilter := DefaultTask_ShowDeptFilter;
FTask_UseSuperiorDeptURLs := DefaultTask_UseSuperiorDeptURLs;
FTask_Desktop_IncludeDeptProcess := DefaultTask_Desktop_IncludeDeptProcess;
FPlan_ShowDeptFilter := DefaultPlan_ShowDeptFilter;
FProject_ShowDeptFilter := DefaultProject_ShowDeptFilter;
FDoc_IncludeSubordinationAccess := DefaultDoc_IncludeSubordinationAccess;
SystemLogKinds := 'SYSTEM;ORGSETTING';
end;
function TBusinessConfig.GetSection: string;
begin
Result := 'MainForm';
end;
function TBusinessConfig.DefaultStyle: TViewAttributesStyle;
begin
Result := TViewAttributesStyle.vsCustom;
end;
function TBusinessConfig.DefaultReadOnlyColor: TColor;
begin
Result := Graphics.clInactiveCaptionText;
end;
function TBusinessConfig.DefaultRequiredColor: TColor;
begin
Result := Graphics.clWindow;
end;
function TBusinessConfig.DefaultTask_ShowDeptFilter: Boolean;
begin
Result := True;
end;
function TBusinessConfig.DefaultTask_UseSuperiorDeptURLs: Boolean;
begin
Result := True;
end;
function TBusinessConfig.DefaultTask_Desktop_IncludeDeptProcess: Boolean;
begin
Result := False;
end;
function TBusinessConfig.DefaultPlan_ShowDeptFilter: Boolean;
begin
Result := True;
end;
function TBusinessConfig.DefaultProject_ShowDeptFilter: Boolean;
begin
Result := True;
end;
function TBusinessConfig.DefaultDoc_IncludeSubordinationAccess: Boolean;
begin
Result := True;
end;
function TBusinessConfig.CheckVersion(IniFile: TCustomIniFile): Boolean;
begin
Result := IniFile.ReadString(GetSection, cVersion, '') = FVersion;
end;
procedure TBusinessConfig.Delete(IniFile: TBaseXMLIniFile);
begin
IniFile.EraseSection('MainForm');
end;
procedure TBusinessConfig.Load(IniFile: TBaseXMLIniFile);
begin
if not CheckVersion(IniFile) then
Exit;
{ 常规 }
SaveOnExit := IniFile.ReadBool(GetSection, cSaveOnExit, SaveOnExit);
SaveToolWindowLayout := IniFile.ReadBool(GetSection, cSaveToolWindowLayout, SaveToolWindowLayout);
SaveActiveFunc := IniFile.ReadBool(GetSection, cSaveActiveFunc, SaveActiveFunc);
SaveLastOpenFuncCount := IniFile.ReadInteger(GetSection, cSaveLastOpenFuncCount, SaveLastOpenFuncCount);
ActiveFunc := IniFile.ReadString(GetSection, cActiveFunc, ActiveFunc);
// TODO: 废弃 OpenFuncs := IniFile.ReadString(GetSection, 'OpenFuncs', OpenFuncs);
DefaultDesktopID := IniFile.ReadString(GetSection, cDefaultDesktopID, DefaultDesktopID);
Style := TViewAttributesStyle(IniFile.ReadInteger(GetSection, cStyle, Integer(DefaultStyle)));
ReadOnlyColor := TColor(IniFile.ReadInteger(GetSection, cReadOnlyColor, Integer(DefaultReadOnlyColor)));
RequiredColor := TColor(IniFile.ReadInteger(GetSection, cRequiredColor, Integer(DefaultRequiredColor)));
{ Messenger }
RunMessenger := IniFile.ReadBool(GetSection, cRunMessenger, RunMessenger);
{ 快捷面板 }
ShortcutFuncs := IniFile.ReadString(GetSection, 'ShortcutFuncs', ShortcutFuncs);
{激活的面板}
ActiveDesktopID := IniFile.ReadString(GetSection, 'ActiveDesktopID', ActiveDesktopID);
{ 工作台 }
RunFuncs := IniFile.ReadString(GetSection, 'RunFuncs', RunFuncs);
{ 任务相关 }
ShowRemindBox := IniFile.ReadBool(GetSection, 'ShowRemindBox', ShowRemindBox);
RemindTaskOutOfTime := IniFile.ReadBool(GetSection, 'RemindTaskOutOfTime', RemindTaskOutOfTime);
{ 个人运行功能,只对system开放 }
DefaultFuncs := IniFile.ReadString(GetSection, 'DefaultFuncs', DefaultFuncs);
{ 系统启动时自动运行的服务功能 }
ServiceFuncs := IniFile.ReadString(GetSection, 'ServiceFuncs', ServiceFuncs);
{ 系统运行后在主窗体调用自动运行的功能 }
AutoRunFuncs := IniFile.ReadString(GetSection, 'AutoRunFuncs', AutoRunFuncs);
{ 任务提醒方式 }
TaskRemindKind := IniFile.ReadString(GetSection, 'TaskRemindKind', TaskRemindKind);
{ 提醒刷新任务间隔时间 }
CheckRemindTaskTime := IniFile.ReadInteger(GetSection, 'CheckRemindTaskTime', CheckRemindTaskTime);
{ 邮箱大小 }
MailBoxSize := IniFile.ReadInteger(GetSection, 'MailBoxSize', MailBoxSize);
{ 自动生成日程间隔时间 }
CalendarCreatorTimer := IniFile.ReadInteger(GetSection, 'CalendarCreatorTimer', CalendarCreatorTimer);
Task_ShowDeptFilter := IniFile.ReadBool(GetSection, 'Task_ShowDeptFilter', Task_ShowDeptFilter);
Task_UseSuperiorDeptURLs := IniFile.ReadBool(GetSection, 'Task_UseSuperiorDeptURLs', Task_UseSuperiorDeptURLs);
Task_Desktop_IncludeDeptProcess := IniFile.ReadBool(GetSection, 'Task_Desktop_IncludeDeptProcess', Task_Desktop_IncludeDeptProcess);
Plan_ShowDeptFilter := IniFile.ReadBool(GetSection, 'Plan_ShowDeptFilter', Plan_ShowDeptFilter);
Project_ShowDeptFilter := IniFile.ReadBool(GetSection, 'Project_ShowDeptFilter', Project_ShowDeptFilter);
Doc_IncludeSubordinationAccess := IniFile.ReadBool(GetSection, 'Doc_IncludeSubordinationAccess', Doc_IncludeSubordinationAccess);
RecordSystemLog := IniFile.ReadBool(GetSection, 'RecordSystemLog', RecordSystemLog);
SystemLogKinds := IniFile.ReadString(GetSection, 'SystemLogKinds', SystemLogKinds);
if Assigned(FOnLoad) then
FOnLoad(Self, IniFile);
end;
procedure TBusinessConfig.SaveDefault(IniFile: TBaseXMLIniFile);
begin
IniFile.WriteString(GetSection, cVersion, FVersion);
{ 常规 }
IniFile.WriteBool(GetSection, cSaveOnExit, SaveOnExit);
IniFile.WriteBool(GetSection, cSaveToolWindowLayout, SaveToolWindowLayout);
IniFile.WriteBool(GetSection, cSaveActiveFunc, SaveActiveFunc);
IniFile.WriteInteger(GetSection, cSaveLastOpenFuncCount, SaveLastOpenFuncCount);
IniFile.WriteString(GetSection, cActiveFunc, ActiveFunc);
// TODO: 废弃 IniFile.WriteString(GetSection, 'OpenFuncs', OpenFuncs);
IniFile.WriteString(GetSection, cDefaultDesktopID, DefaultDesktopID);
if Style <> DefaultStyle then
IniFile.WriteInteger(GetSection, cStyle, Integer(Style))
else
IniFile.DeleteKey(GetSection, cStyle);
if ReadOnlyColor <> DefaultReadOnlyColor then
IniFile.WriteInteger(GetSection, cReadOnlyColor, Integer(ReadOnlyColor))
else
IniFile.DeleteKey(GetSection, cReadOnlyColor);
if RequiredColor <> DefaultRequiredColor then
IniFile.WriteInteger(GetSection, cRequiredColor, Integer(RequiredColor))
else
IniFile.DeleteKey(GetSection, cRequiredColor);
{ Messenger }
IniFile.WriteBool(GetSection, cRunMessenger, RunMessenger);
{ 快捷面板 }
IniFile.WriteString(GetSection, 'ShortcutFuncs', ShortcutFuncs);
{激活的面板}
IniFile.WriteString(GetSection, 'ActiveDesktopID', ActiveDesktopID);
{ 工作台 }
IniFile.WriteString(GetSection, 'RunFuncs', RunFuncs);
{ 任务相关 }
IniFile.WriteBool(GetSection, 'ShowRemindBox', ShowRemindBox);
IniFile.WriteBool(GetSection, 'RemindTaskOutOfTime', RemindTaskOutOfTime);
{ 个人运行功能,只对system开放 }
IniFile.WriteString(GetSection, 'DefaultFuncs', DefaultFuncs);
{ 系统启动时自动运行的服务功能 }
IniFile.WriteString(GetSection, 'ServiceFuncs', ServiceFuncs);
{ 系统运行后在主窗体调运自动运行的功能 }
IniFile.WriteString(GetSection, 'AutoRunFuncs', AutoRunFuncs);
{ 任务提醒方式 }
IniFile.WriteString(GetSection, 'TaskRemindKind', TaskRemindKind);
{ 提醒刷新任务间隔时间 }
IniFile.WriteInteger(GetSection, 'CheckRemindTaskTime', CheckRemindTaskTime);
{ 邮箱大小 }
IniFile.WriteInteger(GetSection, 'MailBoxSize', MailBoxSize);
{ 自动生成日程间隔时间 }
IniFile.WriteInteger(GetSection, 'CalendarCreatorTimer', CalendarCreatorTimer);
IniFile.WriteBool(GetSection, 'Task_ShowDeptFilter', Task_ShowDeptFilter);
IniFile.WriteBool(GetSection, 'Task_UseSuperiorDeptURLs', Task_UseSuperiorDeptURLs);
IniFile.WriteBool(GetSection, 'Task_Desktop_IncludeDeptProcess', Task_Desktop_IncludeDeptProcess);
IniFile.WriteBool(GetSection, 'Plan_ShowDeptFilter', Plan_ShowDeptFilter);
IniFile.WriteBool(GetSection, 'Project_ShowDeptFilter', Project_ShowDeptFilter);
IniFile.WriteBool(GetSection, 'Doc_IncludeSubordinationAccess', Doc_IncludeSubordinationAccess);
IniFile.WriteBool(GetSection, 'RecordSystemLog', RecordSystemLog);
IniFile.WriteString(GetSection, 'SystemLogKinds', SystemLogKinds);
if Assigned(FOnSave) then
FOnSave(Self, IniFile);
end; |
|