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

📄 ord410_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
unit Ord410_01;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Bas200_12, dxExEdtr, Buttons, StdCtrls, ExtCtrls, Series, fr_Class,
  TeEngine, TeeProcs, Chart, DbChart, DB, ADODB, ActnList, Menus, dxCntner,
  dxTL, dxDBCtrl, dxDBTL, ComCtrls, ToolWin, dxDBTLCl, wwfltdlg;

type
  TOrd410_01Form = class(TBas200_12Form)
    lblYear: TLabel;
    cbYear: TComboBox;
    lblType: TLabel;
    cbType: TComboBox;
    sbSearch: TSpeedButton;
    ADOQuery1: TADOQuery;
    ActOpen: TAction;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    ADODataSet1FNo: TIntegerField;
    ADODataSet1FParent: TIntegerField;
    ADODataSet1FQty1: TFloatField;
    ADODataSet1FAmount1: TFloatField;
    ADODataSet1FQty2: TFloatField;
    ADODataSet1FAmount2: TFloatField;
    ADODataSet1FQty3: TFloatField;
    ADODataSet1FAmount3: TFloatField;
    ADODataSet1FQty4: TFloatField;
    ADODataSet1FAmount4: TFloatField;
    ADODataSet1FQty5: TFloatField;
    ADODataSet1FAmount5: TFloatField;
    ADODataSet1FQty6: TFloatField;
    ADODataSet1FAmount6: TFloatField;
    ADODataSet1FQty7: TFloatField;
    ADODataSet1FAmount7: TFloatField;
    ADODataSet1FQty8: TFloatField;
    ADODataSet1FAmount8: TFloatField;
    ADODataSet1FQty9: TFloatField;
    ADODataSet1FAmount9: TFloatField;
    ADODataSet1FQty10: TFloatField;
    ADODataSet1FAmount10: TFloatField;
    ADODataSet1FQty11: TFloatField;
    ADODataSet1FAmount11: TFloatField;
    ADODataSet1FQty12: TFloatField;
    ADODataSet1FAmount12: TFloatField;
    ADODataSet1FTotal: TFloatField;
    ADODataSet1FFinish: TFloatField;
    dxDBTreeList1FName: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty1: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount1: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty2: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount2: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty3: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount3: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty4: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount4: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty5: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount5: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty6: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount6: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty7: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount7: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty8: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount8: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty9: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount9: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty10: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount10: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty11: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount11: TdxDBTreeListMaskColumn;
    dxDBTreeList1FQty12: TdxDBTreeListMaskColumn;
    dxDBTreeList1FAmount12: TdxDBTreeListMaskColumn;
    dxDBTreeList1FTotal: TdxDBTreeListMaskColumn;
    dxDBTreeList1FFinish: TdxDBTreeListMaskColumn;
    ADODataSet1FName: TStringField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sbSearchClick(Sender: TObject);
    procedure ActOpenExecute(Sender: TObject);
    procedure ActPrintExecute(Sender: TObject);
  private
    ANum:array[1..13] of double;
    AAmount:array[1..13] of double;
    procedure ByCustomer(AYear:string);       //按客户
    procedure ByCustomerClass(AYear:string);  //按客户类别
    procedure ByItem(AYear:string);           //按产品
    procedure ByItemClass(AYear:string);      //按产品类别
    procedure BySeller(AYear:string);         //按销售员
    procedure ByArea(AYear:string);           //按地区
    procedure SetFieldValue(AMonth:integer;AValue:double;AType:integer);
    { Private declarations }
  public
    procedure SetInterface; override;
    procedure RefreshEvent; override;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
    { Public declarations }
  end;

var
  Ord410_01Form: TOrd410_01Form;

implementation

uses SYSDATA, CommFun;

{$R *.dfm}

procedure TOrd410_01Form.SetInterface;
var
  AYear:string;
begin
  inherited;
  Caption:=GetDBString('ORD41001001');  //月销售量分析
  lblYear.Caption:=GetDBString('ORD41001002');  //年度
  lblType.Caption:=GetDBString('ORD41001003');  //类型
  sbSearch.Caption:=GetDBString('ORD41001004');  //查询

  cbType.Clear;
  cbType.Items.Add(GetDBString('ORD41001005'));  //按客户
  cbType.Items.Add(GetDBString('ORD41001006'));  //按客户类别
  cbType.Items.Add(GetDBString('ORD41001007'));  //按产品
  cbType.Items.Add(GetDBString('ORD41001008'));  //按产品类别
  cbType.Items.Add(GetDBString('ORD41001009'));  //按销售员
  cbType.Items.Add(GetDBString('ORD41001010'));  //按地区
  cbType.ItemIndex:=0;

  dxDBTreeList1.Bands.Items[1].Caption:=GetDBString('ORD41001011');  //一月
  dxDBTreeList1.Bands.Items[2].Caption:=GetDBString('ORD41001012');  //二月
  dxDBTreeList1.Bands.Items[3].Caption:=GetDBString('ORD41001013');  //三月
  dxDBTreeList1.Bands.Items[4].Caption:=GetDBString('ORD41001014');  //四月
  dxDBTreeList1.Bands.Items[5].Caption:=GetDBString('ORD41001015');  //五月
  dxDBTreeList1.Bands.Items[6].Caption:=GetDBString('ORD41001016');  //六月
  dxDBTreeList1.Bands.Items[7].Caption:=GetDBString('ORD41001017');  //七月
  dxDBTreeList1.Bands.Items[8].Caption:=GetDBString('ORD41001018');  //八月
  dxDBTreeList1.Bands.Items[9].Caption:=GetDBString('ORD41001019');  //九月
  dxDBTreeList1.Bands.Items[10].Caption:=GetDBString('ORD41001020');  //十月
  dxDBTreeList1.Bands.Items[11].Caption:=GetDBString('ORD41001021');  //十一月
  dxDBTreeList1.Bands.Items[12].Caption:=GetDBString('ORD41001022');  //十二月
  dxDBTreeList1.Bands.Items[13].Caption:=GetDBString('ORD41001023');  //小计

  ADODataSet1FName.DisplayLabel:=GetDBString('ORD41001027');  //编号名称
  ADODataSet1FQty1.DisplayLabel:=GetDBString('ORD41001025');  //销售数量
  ADODataSet1FAmount1.DisplayLabel:=GetDBString('ORD41001026');  //销售金额
  ADODataSet1FQty2.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount2.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty3.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount3.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty4.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount4.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty5.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount5.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty6.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount6.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty7.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount7.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty8.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount8.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty9.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount9.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty10.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount10.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty11.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount11.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FQty12.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FAmount12.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;
  ADODataSet1FTotal.DisplayLabel:=ADODataSet1FQty1.DisplayLabel;
  ADODataSet1FFinish.DisplayLabel:=ADODataSet1FAmount1.DisplayLabel;

  cbYear.Clear;
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select distinct year(O510A_003) from ORD510A');
  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);  //设置今年的年份
end;

procedure TOrd410_01Form.FormCreate(Sender: TObject);
begin
  inherited;
  sbSearch.Click;
end;

procedure TOrd410_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  ADOQuery1.Close;
  inherited;
end;

procedure TOrd410_01Form.SetFieldValue(AMonth:integer;AValue:double;AType:integer);
begin
  if not (ADODataSet1.State in [dsInsert,dsEdit]) then Exit;
  case AMonth of
    1:
      begin
        case AType of
          1:ADODataSet1.FieldByName('FQty1').Value:=ADODataSet1.FieldByName('FQty1').AsInteger+AValue;
          2:ADODataSet1.FieldByName('FAmount1').Value:=ADODataSet1.FieldByName('FAmount1').AsInteger+AValue;
        end;
      end;
    2:
      begin
        case AType of
          1:ADODataSet1.FieldByName('FQty2').Value:=ADODataSet1.FieldByName('FQty2').AsInteger+AValue;
          2:ADODataSet1.FieldByName('FAmount2').Value:=ADODataSet1.FieldByName('FAmount2').AsInteger+AValue;
        end;
      end;
    3:
      begin
        case AType of
          1:ADODataSet1.FieldByName('FQty3').Value:=ADODataSet1.FieldByName('FQty3').AsInteger+AValue;
          2:ADODataSet1.FieldByName('FAmount3').Value:=ADODataSet1.FieldByName('FAmount3').AsInteger+AValue;
        end;
      end;
    4:
      begin
        case AType of
          1:ADODataSet1.FieldByName('FQty4').Value:=ADODataSet1.FieldByName('FQty4').AsInteger+AValue;
          2:ADODataSet1.FieldByName('FAmount4').Value:=ADODataSet1.FieldByName('FAmount4').AsInteger+AValue;
        end;
      end;
    5:
      begin
        case AType of
          1:ADODataSet1.FieldByName('FQty5').Value:=ADODataSet1.FieldByName('FQty5').AsInteger+AValue;
          2:ADODataSet1.FieldByName('FAmount5').Value:=ADODataSet1.FieldByName('FAmount5').AsInteger+AValue;
        end;
      end;
    6:
      begin
        case AType of
          1:ADODataSet1.FieldByName('FQty6').Value:=ADODataSet1.FieldByName('FQty6').AsInteger+AValue;
          2:ADODataSet1.FieldByName('FAmount6').Value:=ADODataSet1.FieldByName('FAmount6').AsInteger+AValue;
        end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -