unit U_KHTop;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
  cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
  cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
  cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
  cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
  cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
  RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
  cxTextEdit, cxDBLookupComboBox, cxContainer, cxDropDownEdit, cxPC, Menus,
  TeEngine, Series, TeeProcs, Chart, DbChart, GanttCh;

type
  TfrmKHTop = class(TForm)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBClose: TToolButton;
    ADOQueryTemp: TADOQuery;
    ADOQueryCmd: TADOQuery;
    ToolButton2: TToolButton;
    ADOQueryMain: TADOQuery;
    cxGridPopupMenu2: TcxGridPopupMenu;
    Panel2: TPanel;
    Panel3: TPanel;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v2Column12: TcxGridDBColumn;
    v2Column15: TcxGridDBColumn;
    v2Column7: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    SH1: TPanel;
    ClientDataSet1: TClientDataSet;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    ClientDataSet2: TClientDataSet;
    Panel10: TPanel;
    Panel1: TPanel;
    Label1: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    C_Code: TEdit;
    BegDate: TDateTimePicker;
    EndDate: TDateTimePicker;
    v1Column2: TcxGridDBColumn;
    HZ: TPanel;
    v1Column3: TcxGridDBColumn;
    v1Column4: TcxGridDBColumn;
    v1Column5: TcxGridDBColumn;
    v1Column6: TcxGridDBColumn;
    Panel4: TPanel;
    Panel5: TPanel;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    cxGridDBColumn1: TcxGridDBColumn;
    cxGridDBColumn2: TcxGridDBColumn;
    cxGridDBColumn3: TcxGridDBColumn;
    cxGridDBColumn4: TcxGridDBColumn;
    cxGridDBColumn6: TcxGridDBColumn;
    cxGridDBColumn7: TcxGridDBColumn;
    cxGridDBColumn8: TcxGridDBColumn;
    cxGridDBColumn9: TcxGridDBColumn;
    cxGridLevel2: TcxGridLevel;
    cxGridPopupMenu1: TcxGridPopupMenu;
    v1Column7: TcxGridDBColumn;
    v1Column8: TcxGridDBColumn;
    v2Column1: TcxGridDBColumn;
    v2Column2: TcxGridDBColumn;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure C_CodeNameChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Tv1DblClick(Sender: TObject);
    procedure Tv2DblClick(Sender: TObject);
  private

    { Private declarations }
    procedure InitGrid();
  public
   
  end;

var
  frmKHTop: TfrmKHTop;

implementation

uses
  U_DataLink, U_RTFun,U_JYFTopMX, U_YWYTopKHMX;

{$R *.dfm}


procedure TfrmKHTop.InitGrid();
begin
  Panel10.Visible:=True;
  Panel10.Refresh;
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      SQL.Clear;
      sql.Add('exec P_Get_KHTop :begdate,:enddate,:BZType');
      Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date));
      Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1));
      Parameters.ParamByName('BZType').Value:='$';
      Open;
    end;
    SCreateCDS20(ADOQueryMain, ClientDataSet1);
    SInitCDSData20(ADOQueryMain, ClientDataSet1);

    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      SQL.Clear;
      sql.Add('exec P_Get_KHTop :begdate,:enddate,:BZType');
      Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date));
      Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1));
      Parameters.ParamByName('BZType').Value:='£¤';
      Open;
    end;
    SCreateCDS20(ADOQueryMain, ClientDataSet2);
    SInitCDSData20(ADOQueryMain, ClientDataSet2);
  finally
    ADOQueryMain.EnableControls;
  end;
  Panel10.Visible:=False;
end;

procedure TfrmKHTop.FormDestroy(Sender: TObject);
begin
  frmKHTop := nil;
end;

procedure TfrmKHTop.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TfrmKHTop.TBCloseClick(Sender: TObject);
begin
  WriteCxGrid('KHTopMJ1', Tv1, 'ÅÅÐÐ°ñ');
  WriteCxGrid('KHTopRMB1', Tv2, 'ÅÅÐÐ°ñ');
  Close;
end;

procedure TfrmKHTop.FormShow(Sender: TObject);
begin
  ReadCxGrid('KHTopMJ1', Tv1, 'ÅÅÐÐ°ñ');
  ReadCxGrid('KHTopRMB1', Tv2, 'ÅÅÐÐ°ñ');
end;

procedure TfrmKHTop.TBRafreshClick(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmKHTop.ToolButton2Click(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
    SCreateCDS20(ADOQueryMain, ClientDataSet1);
    SInitCDSData20(ADOQueryMain, ClientDataSet1);
  end;
end;

procedure TfrmKHTop.C_CodeNameChange(Sender: TObject);
begin
  ToolButton2.Click;
end;

procedure TfrmKHTop.FormCreate(Sender: TObject);
var
  FYear:string;
  FMonth:string;
  FDate:TDate;
begin
  FDate:=SGetServerDate10(ADOQueryTemp);
  FYear:=FormatDateTime('yyyy',FDate);
  FMonth:=FormatDateTime('MM',FDate);
  if StrToInt(FMonth)<2 then
  begin
    BegDate.Date:=StrToDate(IntToStr(strtoint(FYear)-1)+'-01-01');
    EndDate.Date:=StrToDate(IntToStr(strtoint(FYear)-1)+'-12-31');
  end else
  begin
    BegDate.Date:=StrToDate(FYear+'-01-01');
    EndDate.Date:=StrToDate(IntToStr(strtoint(FYear))+'-12-31');
  end;
end;

procedure TfrmKHTop.Tv1DblClick(Sender: TObject);
begin
  if ClientDataSet1.IsEmpty then Exit;
  try
    frmYWYTopKHMX:=TfrmYWYTopKHMX.Create(Application);
    with frmYWYTopKHMX do
    begin
      FBegdate:=Self.BegDate.Date;
      FEnddate:=Self.EndDate.Date;
      FKHName:=Trim(Self.ClientDataSet1.fieldbyname('KHNameJC').AsString);
      FKHNO:=Trim(Self.ClientDataSet1.fieldbyname('FactoryNo').AsString);
      if ShowModal=1 then
      begin

      end;
    end;
  finally
    frmYWYTopKHMX.Free;
  end;
  {try
    frmJYFTopMX:=TfrmJYFTopMX.Create(Application);
    with frmJYFTopMX do
    begin
      FBegdate:=Self.BegDate.Date;
      FEnddate:=Self.EndDate.Date;
      FMXName:=Trim(Self.ClientDataSet1.fieldbyname('SPName').AsString);
      if ShowModal=1 then
      begin

      end;
    end;
  finally
    frmJYFTopMX.Free;
  end;   }
end;

procedure TfrmKHTop.Tv2DblClick(Sender: TObject);
begin
  if ClientDataSet2.IsEmpty then Exit;
  try
    frmYWYTopKHMX:=TfrmYWYTopKHMX.Create(Application);
    with frmYWYTopKHMX do
    begin
      FBegdate:=Self.BegDate.Date;
      FEnddate:=Self.EndDate.Date;
      FKHName:=Trim(Self.ClientDataSet2.fieldbyname('KHNameJC').AsString);
      FKHNO:=Trim(Self.ClientDataSet2.fieldbyname('FactoryNo').AsString);
      if ShowModal=1 then
      begin

      end;
    end;
  finally
    frmYWYTopKHMX.Free;
  end;
end;

end.

