⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tas410_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
    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 + -