procedure TVISITS_RANK_FORMDOC.FormDocCreate(Sender: TObject);
var
I : Integer;
P : String;
lBizUrl : TBizUrl;
sLOGIN_USER_ID,sLOGIN_USER_NAME,sLOGIN_JOB_ID,sLOGIN_JOB_NAME,sLOGIN_DEPT_ID,sLOGIN_DEPT_NAME,sLOGIN_DISTRICT,sLOGIN_AREA,sLOGIN_SUB_AREA,sLOGIN_DEPT_NO,sLOGIN_JOB_NO,sLOGIN_DISTRICT_NAME,sLOGIN_AREA_NAME,sLOGIN_SUB_AREA_NAME,sLOGIN_GROUP_CORP_CODE,sLOGIN_GROUP_CORP_NAME,sLOGIN_COMPANY : TBizParam;
begin
Inherited;
lBizUrl := TBizUrl.Create;
lBizUrl.URL := 'Biz:\CUSTOM_INTERFACE\LOGIN_PARAMGROUP.ParamGroup';
Try
sLOGIN_USER_ID := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_USER_ID');
sLOGIN_USER_NAME := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_USER_NAME');
sLOGIN_JOB_ID := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_JOB_ID');
sLOGIN_JOB_NAME := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_JOB_NAME');
sLOGIN_DEPT_ID := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_DEPT_ID');
sLOGIN_DEPT_NAME := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_DEPT_NAME');
sLOGIN_DISTRICT := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_DISTRICT');
sLOGIN_AREA := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_AREA');
sLOGIN_SUB_AREA := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_SUB_AREA');
sLOGIN_DEPT_NO := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_DEPT_NO');
sLOGIN_JOB_NO := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_JOB_NO');
sLOGIN_DISTRICT_NAME := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_DISTRICT_NAME');
sLOGIN_AREA_NAME := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_AREA_NAME');
sLOGIN_SUB_AREA_NAME := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_SUB_AREA_NAME');
sLOGIN_GROUP_CORP_CODE := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_GROUP_CORP_CODE');
sLOGIN_GROUP_CORP_NAME := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_GROUP_CORP_NAME');
sLOGIN_COMPANY := SystemUtils.TContextUtils.GetParam(Self.Context, lBizURL, 'LOGIN_COMPANY');
Finally
lBizURL.Free;
end;
FDefaultPosition := nil;
SysUtils.DateSeparator:='-';
SysUtils.ShortDateFormat:='yyyy-mm-dd';
Business.Forms.JSControls.DataViewAttributes.ReadOnlyColor := Graphics.clBtnFace;
IF FORMLIBRARY.TSYSTEMLOGINDIALOG.GetPersonMember <> nil THEN
for I := 0 to SystemCore.TSystemCore.Operator.PositionCount - 1 do
begin
IF SystemCore.TSystemCore.Operator.Positions[I].PersonMember = FORMLIBRARY.TSYSTEMLOGINDIALOG.GetPersonMember THEN
begin
IF SystemCore.TSystemCore.Operator.ID <> SystemCore.TSystemCore.Operator.Positions[I].PersonID THEN
begin
sLOGIN_COMPANY.Value := BizSys.BizSystem.ClientAccount;
sLOGIN_USER_ID.Value := SystemCore.TSystemCore.Operator.Positions[I].PersonID;
sLOGIN_USER_NAME.Value := SystemCore.TSystemCore.Operator.Positions[I].PersonMember.DisplayName;
sLOGIN_JOB_ID.Value := SystemCore.TSystemCore.Operator.Positions[I].PositionID;
sLOGIN_JOB_NAME.Value := SystemCore.TSystemCore.Operator.Positions[I].PositionMember.DisplayName;
sLOGIN_DEPT_ID.Value := SystemCore.TSystemCore.Operator.Positions[I].DeptID;
sLOGIN_DEPT_NAME.Value := Business.Model.Org.OrgSys.OrgSystem.FindUnit(SystemCore.TSystemCore.Operator.Positions[I].DeptID,'','').DisplayName;
lQuery.Close;
lQuery.CommandText := 'SELECT DISTRICT_CODE,DISTRICT_NAME,AREA_CODE,AREA_NAME,SUB_AREA_CODE,SUB_AREA_NAME,DEPT_NO,GROUP_CORP,(SELECT VALUE_2 FROM PARAMGROUP WHERE ID=5 AND REPORT_ID=0 AND VALUE_1=TO_CHAR(X3_ID_LIST.GROUP_CORP)) AS GROUP_CORP_NAME FROM X3_ID_LIST WHERE STATUS = 1 AND X3_ID = ''' + Variants.VarToStr(sLOGIN_DEPT_ID.Value) + '''';
lQuery.Open;
sLOGIN_DISTRICT.Value := lQuery.FieldByName('DISTRICT_CODE').AsString;
sLOGIN_AREA.Value := lQuery.FieldByName('AREA_CODE').AsString;
sLOGIN_SUB_AREA.Value := lQuery.FieldByName('SUB_AREA_CODE').AsString;
sLOGIN_DISTRICT_NAME.Value := lQuery.FieldByName('DISTRICT_NAME').AsString;
sLOGIN_AREA_NAME.Value := lQuery.FieldByName('AREA_NAME').AsString;
sLOGIN_SUB_AREA_NAME.Value := lQuery.FieldByName('SUB_AREA_NAME').AsString;
sLOGIN_DEPT_NO.Value := lQuery.FieldByName('DEPT_NO').AsString;
sLOGIN_GROUP_CORP_CODE.Value := lQuery.FieldByName('GROUP_CORP').AsString;
sLOGIN_GROUP_CORP_NAME.Value := lQuery.FieldByName('GROUP_CORP_NAME').AsString;
lQuery.Close;
lQuery.CommandText := 'SELECT JOB_NO FROM JOBS WHERE X3_ID = ''' + Variants.VarToStr(sLOGIN_JOB_ID.Value) + '''';
lQuery.Open;
sLOGIN_JOB_NO.Value := lQuery.FieldByName('JOB_NO').AsString;
Break;
end
else
begin
sLOGIN_COMPANY.Value := BizSys.BizSystem.ClientAccount;
sLOGIN_USER_ID.Value := SystemCore.TSystemCore.Operator.Positions[I].PersonID;
sLOGIN_USER_NAME.Value := SystemCore.TSystemCore.Operator.Positions[I].PersonMember.DisplayName;
sLOGIN_JOB_ID.Value := SystemCore.TSystemCore.Operator.Positions[I].PositionID;
sLOGIN_JOB_NAME.Value := SystemCore.TSystemCore.Operator.Positions[I].PositionMember.DisplayName;
sLOGIN_DEPT_ID.Value := SystemCore.TSystemCore.Operator.Positions[I].DeptID;
sLOGIN_DEPT_NAME.Value := Business.Model.Org.OrgSys.OrgSystem.FindUnit(SystemCore.TSystemCore.Operator.Positions[I].DeptID,'','').DisplayName;
lQuery.Close;
lQuery.CommandText := 'SELECT DISTRICT_CODE,DISTRICT_NAME,AREA_CODE,AREA_NAME,SUB_AREA_CODE,SUB_AREA_NAME,DEPT_NO,GROUP_CORP,(SELECT VALUE_2 FROM PARAMGROUP WHERE ID=5 AND REPORT_ID=0 AND VALUE_1=TO_CHAR(X3_ID_LIST.GROUP_CORP)) AS GROUP_CORP_NAME FROM X3_ID_LIST WHERE STATUS = 1 AND X3_ID = ''' + Variants.VarToStr(sLOGIN_DEPT_ID.Value) + '''';
lQuery.Open;
sLOGIN_DISTRICT.Value := lQuery.FieldByName('DISTRICT_CODE').AsString;
sLOGIN_AREA.Value := lQuery.FieldByName('AREA_CODE').AsString;
sLOGIN_SUB_AREA.Value := lQuery.FieldByName('SUB_AREA_CODE').AsString;
sLOGIN_DISTRICT_NAME.Value := lQuery.FieldByName('DISTRICT_NAME').AsString;
sLOGIN_AREA_NAME.Value := lQuery.FieldByName('AREA_NAME').AsString;
sLOGIN_SUB_AREA_NAME.Value := lQuery.FieldByName('SUB_AREA_NAME').AsString;
sLOGIN_DEPT_NO.Value := lQuery.FieldByName('DEPT_NO').AsString;
sLOGIN_GROUP_CORP_CODE.Value := lQuery.FieldByName('GROUP_CORP').AsString;
sLOGIN_GROUP_CORP_NAME.Value := lQuery.FieldByName('GROUP_CORP_NAME').AsString;
lQuery.Close;
lQuery.CommandText := 'SELECT JOB_NO FROM JOBS WHERE X3_ID = ''' + Variants.VarToStr(sLOGIN_JOB_ID.Value) + '''';
lQuery.Open;
sLOGIN_JOB_NO.Value := lQuery.FieldByName('JOB_NO').AsString;
Break;
end;
end;
end;
IF FORMLIBRARY.TSYSTEMLOGINDIALOG.GetPersonMember = nil THEN
begin
sLOGIN_COMPANY.Value := BizSys.BizSystem.ClientAccount;
sLOGIN_USER_ID.Value := SystemCore.TSystemCore.Operator.DefaultPosition.PersonID;
sLOGIN_USER_NAME.Value := SystemCore.TSystemCore.Operator.DefaultPosition.PersonMember.DisplayName;
sLOGIN_JOB_ID.Value := SystemCore.TSystemCore.Operator.DefaultPosition.PositionID;
sLOGIN_JOB_NAME.Value := SystemCore.TSystemCore.Operator.DefaultPosition.PositionMember.DisplayName;
sLOGIN_DEPT_ID.Value := SystemCore.TSystemCore.Operator.DefaultPosition.DeptID;
sLOGIN_DEPT_NAME.Value := Business.Model.Org.OrgSys.OrgSystem.FindUnit(SystemCore.TSystemCore.Operator.DefaultPosition.DeptID,'','').DisplayName;
lQuery.Close;
lQuery.CommandText := 'SELECT DISTRICT_CODE,DISTRICT_NAME,AREA_CODE,AREA_NAME,SUB_AREA_CODE,SUB_AREA_NAME,DEPT_NO,GROUP_CORP,(SELECT VALUE_2 FROM PARAMGROUP WHERE ID=5 AND REPORT_ID=0 AND VALUE_1=TO_CHAR(X3_ID_LIST.GROUP_CORP)) AS GROUP_CORP_NAME FROM X3_ID_LIST WHERE STATUS = 1 AND X3_ID = ''' + Variants.VarToStr(sLOGIN_DEPT_ID.Value) + '''';
lQuery.Open;
sLOGIN_DISTRICT.Value := lQuery.FieldByName('DISTRICT_CODE').AsString;
sLOGIN_AREA.Value := lQuery.FieldByName('AREA_CODE').AsString;
sLOGIN_SUB_AREA.Value := lQuery.FieldByName('SUB_AREA_CODE').AsString;
sLOGIN_DISTRICT_NAME.Value := lQuery.FieldByName('DISTRICT_NAME').AsString;
sLOGIN_AREA_NAME.Value := lQuery.FieldByName('AREA_NAME').AsString;
sLOGIN_SUB_AREA_NAME.Value := lQuery.FieldByName('SUB_AREA_NAME').AsString;
sLOGIN_DEPT_NO.Value := lQuery.FieldByName('DEPT_NO').AsString;
sLOGIN_GROUP_CORP_CODE.Value := lQuery.FieldByName('GROUP_CORP').AsString;
sLOGIN_GROUP_CORP_NAME.Value := lQuery.FieldByName('GROUP_CORP_NAME').AsString;
lQuery.Close;
lQuery.CommandText := 'SELECT JOB_NO FROM JOBS WHERE X3_ID = ''' + Variants.VarToStr(sLOGIN_JOB_ID.Value) + '''';
lQuery.Open;
sLOGIN_JOB_NO.Value := lQuery.FieldByName('JOB_NO').AsString;
end;
with StoredProc do
begin
Params.ParamByName('P_TYPE').AsString := '1';
Params.ParamByName('P_JOB_X3_ID').AsString := Variants.VarToStr(sLOGIN_JOB_ID.Value);
Execute;
P := Params.ParamByName('R_TOPCOUNT').AsString;
lQuery.Close;
lQuery.CommandText := 'SELECT COUNT(*) AS V_COUNT FROM REPORT_TOP WHERE JOB_X3_ID = '''+ Variants.VarToStr(sLOGIN_JOB_ID.Value) +''' AND BONUS_IN = 0 ';
lQuery.Open;
TVisits_Rank_Info(InfoBroker.Info).DataSetVisits_Rank_Before_Dt.Close;
TVisits_Rank_Info(InfoBroker.Info).DataSetVisits_Rank_Before_Dt.UserFilter := ' JOB_X3_ID = '''+ Variants.VarToStr(sLOGIN_JOB_ID.Value) + ''' AND FUNC_RANK >=0 AND FUNC_RANK <= (7-'+lQuery.FieldByName('V_COUNT').AsString+') AND FUNC_RANK <= ('+P+'-'+lQuery.FieldByName('V_COUNT').AsString+') ';
TVisits_Rank_Info(InfoBroker.Info).DataSetVisits_Rank_Before_Dt.Open;
TVisits_Rank_Info(InfoBroker.Info).DataSetVisits_Rank_After_Dt.Close;
TVisits_Rank_Info(InfoBroker.Info).DataSetVisits_Rank_After_Dt.UserFilter := ' JOB_X3_ID = '''+ Variants.VarToStr(sLOGIN_JOB_ID.Value) +''' AND FUNC_RANK > (7-'+lQuery.FieldByName('V_COUNT').AsString+') AND FUNC_RANK < ('+P+'-'+lQuery.FieldByName('V_COUNT').AsString+') ';
TVisits_Rank_Info(InfoBroker.Info).DataSetVisits_Rank_After_Dt.Open;
end;
end;
那为什么要这样判断:
IF SystemCore.TSystemCore.Operator.ID <> SystemCore.TSystemCore.Operator.Positions[I].PersonID THEN |