📄 tas410_01.pas.svn-base
字号:
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Tas410_01Form: TTas410_01Form;
implementation
uses SYSDATA, CommFun, Tas510_01, TasComm;
{$R *.dfm}
procedure TTas410_01Form.SetInterface;
var
AYear:string;
begin
inherited;
Caption:=GetDBString('TAS41001001'); //月服务量分析
lblYear.Caption:=GetDBString('TAS41001002'); //年度
lblType.Caption:=GetDBString('TAS41001003'); //类型
sbSearch.Caption:=GetDBString('TAS41001004'); //查询
ADODataSet1FName.DisplayLabel:=GetDBString('TAS41001005'); //名称
ADODataSet1FTotal1.DisplayLabel:=GetDBString('TAS41001006'); //服务总数
ADODataSet1FFinish1.DisplayLabel:=GetDBString('TAS41001007'); //已完成数
ADODataSet1FPercent1.DisplayLabel:=GetDBString('TAS41001008'); //完成比率
ADODataSet1FTotal2.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish2.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent2.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal3.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish3.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent3.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal4.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish4.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent4.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal5.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish5.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent5.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal6.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish6.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent6.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal7.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish7.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent7.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal8.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish8.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent8.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal9.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish9.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent9.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal10.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish10.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent10.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal11.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish11.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent11.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal12.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish12.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent12.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
ADODataSet1FTotal.DisplayLabel:=ADODataSet1FTotal1.DisplayLabel;
ADODataSet1FFinish.DisplayLabel:=ADODataSet1FFinish1.DisplayLabel;
ADODataSet1FPercent.DisplayLabel:=ADODataSet1FPercent1.DisplayLabel;
cbType.Clear;
cbType.Items.Add(GetDBString('TAS41001009')); //按任务类别
cbType.Items.Add(GetDBString('TAS41001010')); //按产品类别
cbType.Items.Add(GetDBString('TAS41001011')); //按客户
cbType.ItemIndex:=0;
dxDBTreeList1.Bands.Items[1].Caption:=GetDBString('TAS41001012'); //一月
dxDBTreeList1.Bands.Items[2].Caption:=GetDBString('TAS41001013'); //二月
dxDBTreeList1.Bands.Items[3].Caption:=GetDBString('TAS41001014'); //三月
dxDBTreeList1.Bands.Items[4].Caption:=GetDBString('TAS41001015'); //四月
dxDBTreeList1.Bands.Items[5].Caption:=GetDBString('TAS41001016'); //五月
dxDBTreeList1.Bands.Items[6].Caption:=GetDBString('TAS41001017'); //六月
dxDBTreeList1.Bands.Items[7].Caption:=GetDBString('TAS41001018'); //七月
dxDBTreeList1.Bands.Items[8].Caption:=GetDBString('TAS41001019'); //八月
dxDBTreeList1.Bands.Items[9].Caption:=GetDBString('TAS41001020'); //九月
dxDBTreeList1.Bands.Items[10].Caption:=GetDBString('TAS41001021'); //十月
dxDBTreeList1.Bands.Items[11].Caption:=GetDBString('TAS41001022'); //十一月
dxDBTreeList1.Bands.Items[12].Caption:=GetDBString('TAS41001023'); //十二月
dxDBTreeList1.Bands.Items[13].Caption:=GetDBString('TAS41001024'); //小计
DBChart1.Title.Text.Text:=GetDBString('TAS41001026'); //趋势分析
// DBChart2.Title.Text.Text:=GetDBString('TAS41001026'); //趋势分析
DBChart1.Series[0].Title:=GetDBString('TAS41001006'); //服务总数
DBChart1.Series[1].Title:=GetDBString('TAS41001007'); //已完成数
// DBChart2.Series[0].Title:=DBChart1.Series[0].Title;
// DBChart2.Series[1].Title:=DBChart1.Series[1].Title;
cbYear.Clear;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select distinct year('+AByTotal+') from TAS510');
SYSDM.qryQuery.Open;
while not SYSDM.qryQuery.Eof do
begin
if SYSDM.qryQuery.Fields[0].AsString<>'' then
cbYear.Items.Add(SYSDM.qryQuery.Fields[0].AsString);
SYSDM.qryQuery.Next;
end;
AYear:=FormatDateTime('yyyy',GetServerDate);
if cbYear.Items.IndexOf(AYear)=-1 then cbYear.Items.Add(AYear);
cbYear.ItemIndex:=cbYear.Items.IndexOf(AYear); //设置今年的年份
//取得所有任务类别
GetAllTasksClass(cbClass);
end;
procedure TTas410_01Form.FormCreate(Sender: TObject);
begin
inherited;
SetInterface;
sbSearch.Click;
end;
procedure TTas410_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ADOQuery1.Close;
ADOQuery2.Close;
inherited;
end;
//将下级任务类别数量累加到上级任务类别
procedure TTas410_01Form.UpdateParent(AParentNo:Integer;AValue:Double;ADataSet:TDataSet;AFieldName:string);
var
AParent:Integer;
AClassName:String;
begin
//查找任务类别表中该记录是否有上级分类
AParent:=GetValue('select T100_003 from TAS100 where T100_001='+IntToStr(AParentNo));
if ADataSet.Locate('FNo',AParentNo,[]) then
begin
ADataSet.Edit;
ADataSet.FieldByName(AFieldName).Value:=ADataSet.FieldByName(AFieldName).AsFloat+AValue;
if (ADataSet.FieldByName('FTotal').IsNull) or (ADataSet.FieldByName('FTotal').AsInteger=0) then
ADataSet.FieldByName('FPercent').Value:=0
else
ADataSet.FieldByName('FPercent').Value:=(ADataSet.FieldByName('FFinish').AsInteger/ADataSet.FieldByName('FTotal').AsInteger)*100;
ADataSet.Post;
end else
begin
AClassName:=GetValue('select T100_002 from TAS100 where T100_001='+IntToStr(AParentNo));
ADataSet.Append;
ADataSet.FieldByName('FNo').Value:=AParentNo;
ADataSet.FieldByName('FName').Value:=AClassName;
ADataSet.FieldByName('FParent').Value:=AParent;
ADataSet.FieldByName(AFieldName).Value:=AValue;
if (ADataSet.FieldByName('FTotal').IsNull) or (ADataSet.FieldByName('FTotal').AsInteger=0) then
ADataSet.FieldByName('FPercent').Value:=0
else
ADataSet.FieldByName('FPercent').Value:=(ADataSet.FieldByName('FFinish').AsInteger/ADataSet.FieldByName('FTotal').AsInteger)*100;
ADataSet.Post;
end;
//查找任务类别表中该记录是否有上级类别
// if AParent<>0 then UpdateParent(AParent,AValue,ADataSet,AFieldName);
end;
procedure TTas410_01Form.SetFieldValue(AMonth,AValue,AType:Integer);
begin
if not (ADODataSet1.State in [dsInsert,dsEdit]) then Exit;
case AMonth of
1:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal1').Value:=ADODataSet1.FieldByName('FTotal1').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish1').Value:=ADODataSet1.FieldByName('FFinish1').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal1').IsNull) or (ADODataSet1.FieldByName('FTotal1').AsInteger=0) then
ADODataSet1.FieldByName('FPercent1').Value:=0
else
ADODataSet1.FieldByName('FPercent1').Value:=(ADODataSet1.FieldByName('FFinish1').AsInteger/ADODataSet1.FieldByName('FTotal1').AsInteger)*100;
end;
2:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal2').Value:=ADODataSet1.FieldByName('FTotal2').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish2').Value:=ADODataSet1.FieldByName('FFinish2').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal2').IsNull) or (ADODataSet1.FieldByName('FTotal2').AsInteger=0) then
ADODataSet1.FieldByName('FPercent2').Value:=0
else
ADODataSet1.FieldByName('FPercent2').Value:=(ADODataSet1.FieldByName('FFinish2').AsInteger/ADODataSet1.FieldByName('FTotal2').AsInteger)*100;
end;
3:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal3').Value:=ADODataSet1.FieldByName('FTotal3').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish3').Value:=ADODataSet1.FieldByName('FFinish3').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal3').IsNull) or (ADODataSet1.FieldByName('FTotal3').AsInteger=0) then
ADODataSet1.FieldByName('FPercent3').Value:=0
else
ADODataSet1.FieldByName('FPercent3').Value:=(ADODataSet1.FieldByName('FFinish3').AsInteger/ADODataSet1.FieldByName('FTotal3').AsInteger)*100;
end;
4:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal4').Value:=ADODataSet1.FieldByName('FTotal4').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish4').Value:=ADODataSet1.FieldByName('FFinish4').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal4').IsNull) or (ADODataSet1.FieldByName('FTotal4').AsInteger=0) then
ADODataSet1.FieldByName('FPercent4').Value:=0
else
ADODataSet1.FieldByName('FPercent4').Value:=(ADODataSet1.FieldByName('FFinish4').AsInteger/ADODataSet1.FieldByName('FTotal4').AsInteger)*100;
end;
5:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal5').Value:=ADODataSet1.FieldByName('FTotal5').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish5').Value:=ADODataSet1.FieldByName('FFinish5').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal5').IsNull) or (ADODataSet1.FieldByName('FTotal5').AsInteger=0) then
ADODataSet1.FieldByName('FPercent5').Value:=0
else
ADODataSet1.FieldByName('FPercent5').Value:=(ADODataSet1.FieldByName('FFinish5').AsInteger/ADODataSet1.FieldByName('FTotal5').AsInteger)*100;
end;
6:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal6').Value:=ADODataSet1.FieldByName('FTotal6').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish6').Value:=ADODataSet1.FieldByName('FFinish6').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal6').IsNull) or (ADODataSet1.FieldByName('FTotal6').AsInteger=0) then
ADODataSet1.FieldByName('FPercent6').Value:=0
else
ADODataSet1.FieldByName('FPercent6').Value:=(ADODataSet1.FieldByName('FFinish6').AsInteger/ADODataSet1.FieldByName('FTotal6').AsInteger)*100;
end;
7:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal7').Value:=ADODataSet1.FieldByName('FTotal7').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish7').Value:=ADODataSet1.FieldByName('FFinish7').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal7').IsNull) or (ADODataSet1.FieldByName('FTotal7').AsInteger=0) then
ADODataSet1.FieldByName('FPercent7').Value:=0
else
ADODataSet1.FieldByName('FPercent7').Value:=(ADODataSet1.FieldByName('FFinish7').AsInteger/ADODataSet1.FieldByName('FTotal7').AsInteger)*100;
end;
8:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal8').Value:=ADODataSet1.FieldByName('FTotal8').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish8').Value:=ADODataSet1.FieldByName('FFinish8').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal8').IsNull) or (ADODataSet1.FieldByName('FTotal8').AsInteger=0) then
ADODataSet1.FieldByName('FPercent8').Value:=0
else
ADODataSet1.FieldByName('FPercent8').Value:=(ADODataSet1.FieldByName('FFinish8').AsInteger/ADODataSet1.FieldByName('FTotal8').AsInteger)*100;
end;
9:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal9').Value:=ADODataSet1.FieldByName('FTotal9').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish9').Value:=ADODataSet1.FieldByName('FFinish9').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal9').IsNull) or (ADODataSet1.FieldByName('FTotal9').AsInteger=0) then
ADODataSet1.FieldByName('FPercent9').Value:=0
else
ADODataSet1.FieldByName('FPercent9').Value:=(ADODataSet1.FieldByName('FFinish9').AsInteger/ADODataSet1.FieldByName('FTotal9').AsInteger)*100;
end;
10:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal10').Value:=ADODataSet1.FieldByName('FTotal10').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish10').Value:=ADODataSet1.FieldByName('FFinish10').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal10').IsNull) or (ADODataSet1.FieldByName('FTotal10').AsInteger=0) then
ADODataSet1.FieldByName('FPercent10').Value:=0
else
ADODataSet1.FieldByName('FPercent10').Value:=(ADODataSet1.FieldByName('FFinish10').AsInteger/ADODataSet1.FieldByName('FTotal10').AsInteger)*100;
end;
11:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal11').Value:=ADODataSet1.FieldByName('FTotal11').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish11').Value:=ADODataSet1.FieldByName('FFinish11').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal11').IsNull) or (ADODataSet1.FieldByName('FTotal11').AsInteger=0) then
ADODataSet1.FieldByName('FPercent11').Value:=0
else
ADODataSet1.FieldByName('FPercent11').Value:=(ADODataSet1.FieldByName('FFinish11').AsInteger/ADODataSet1.FieldByName('FTotal11').AsInteger)*100;
end;
12:
begin
case AType of
1:ADODataSet1.FieldByName('FTotal12').Value:=ADODataSet1.FieldByName('FTotal12').AsInteger+AValue;
2:ADODataSet1.FieldByName('FFinish12').Value:=ADODataSet1.FieldByName('FFinish12').AsInteger+AValue;
end;
if (ADODataSet1.FieldByName('FTotal12').IsNull) or (ADODataSet1.FieldByName('FTotal12').AsInteger=0) then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -