unit U_BankMoneyGYSListView;

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, cxPC, cxDropDownEdit, BtnEdit, Menus, Buttons;

type
  TfrmBankMoneyGYSListView = class(TForm)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBClose: TToolButton;
    ADOQueryTemp: TADOQuery;
    ADOQueryCmd: TADOQuery;
    Panel1: TPanel;
    TBFind: TToolButton;
    ADOQueryMain: TADOQuery;
    TBExport: TToolButton;
    RM1: TRMGridReport;
    RMDB_Main: TRMDBDataSet;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    cxGridLevel1: TcxGridLevel;
    cxGridPopupMenu2: TcxGridPopupMenu;
    DS_HZ: TDataSource;
    CDS_HZ: TClientDataSet;
    v2Column1: TcxGridDBColumn;
    v2Column9: TcxGridDBColumn;
    v2Column10: TcxGridDBColumn;
    v2Column11: TcxGridDBColumn;
    v2Column12: TcxGridDBColumn;
    v2Column13: TcxGridDBColumn;
    Label9: TLabel;
    FactoryNameGYS: TEdit;
    v2Column3: TcxGridDBColumn;
    Label1: TLabel;
    FKType: TComboBox;
    v2Column2: TcxGridDBColumn;
    Label2: TLabel;
    begdate: TDateTimePicker;
    Enddate: TDateTimePicker;
    v2Column4: TcxGridDBColumn;
    Label3: TLabel;
    ConNo: TEdit;
    v2Column5: TcxGridDBColumn;
    v2Column6: TcxGridDBColumn;
    v2Column7: TcxGridDBColumn;
    v2Column8: 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 TBFindClick(Sender: TObject);
    procedure FactoryName10Change(Sender: TObject);
    procedure TBExportClick(Sender: TObject);
    procedure cxTabControl1Change(Sender: TObject);
    procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
      ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
      AShift: TShiftState; var AHandled: Boolean);
    procedure FKTypeChange(Sender: TObject);
  private
    { Private declarations }
     canshu1:string;
    procedure InitGrid();

  public
    { Public declarations }

  end;

var
  frmBankMoneyGYSListView: TfrmBankMoneyGYSListView;

implementation
uses
  U_DataLink,U_Fun,U_ZDYHelp,U_RTFun,U_BankMoneyGYSInPut,U_FjList;

{$R *.dfm}



procedure TfrmBankMoneyGYSListView.InitGrid();
var
  fsj:string;
begin
  fsj:=SGetWhereFinds(Panel1,1,2);
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered:=False;
      Close;
      SQL.Clear;
      sql.Add('SELECT AA.*,FactoryNameGYS=isnull(FactoryName,'''')+isnull(FactoryNo,'''')+RTRIM(dbo.getPinYin(FactoryName)) ');
      sql.Add('FROM( select CRTime,A.Note,A.YFID,A.JSMoney,A.FKType ');
      sql.Add(',A.FactoryNo,A.CRType,A.CRFlag,A.YFName,A.ConNo');
      sql.Add(',FactoryName=(select KHNameJC from KH_Main KM where KM.KHNO=A.FactoryNo and Valid=''Y'' )');
      sql.Add(',SDQty=(select Count(*) from TP_File TF where TF.WBID=A.YFID and TF.TFType=''供应商费用管理''  )');
      sql.Add(',Case when isnull(A.BZType,'''')=''￥'' then JSMoney else Null end as MoneyRMB ');
      sql.Add(',Case when isnull(A.BZType,'''')=''$'' then JSMoney else Null end as MoneyMJ ');
      sql.Add(',A.FillTime,A.Filler,A.Editer,A.EditTime');
      sql.Add('  from YS_Money_CR A');
      sql.Add(' left join KH_Sub_Bank B on A.BKNO=B.BKNO');
      sql.Add(' left join KH_Main C on B.KHMainId=C.KHMainId');
      sql.Add(' where 1=1 ');
     // if CheckBox1.Checked then
     // begin
        sql.Add('and A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' ');
        sql.Add(' and CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' ');
      //end else
     // begin
        //sql.Add('where A.CRTime>=''2000-01-01'' ');
        //sql.Add(' and CRTime<''2500-01-01'' ');
      //end;
      if Trim(canshu1)='' then
      begin
        sql.Add(' and A.Filler='''+Trim(DName)+'''');
      end;
      sql.Add(' and A.CRType=''供应商费用管理'')AA where 1=1 ');
      SQL.Add(fsj);
      Open;
    end;
    SCreateCDS20(ADOQueryMain,CDS_HZ);
    SInitCDSData20(ADOQueryMain,CDS_HZ);
  finally
    ADOQueryMain.EnableControls;
    TBFind.Click;
  end;
end;


procedure TfrmBankMoneyGYSListView.FormDestroy(Sender: TObject);
begin
  frmBankMoneyGYSListView:=nil;
end;

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

procedure TfrmBankMoneyGYSListView.TBCloseClick(Sender: TObject);
begin
  WriteCxGrid(Copy(Self.Caption,1,Length(Self.Caption)-1),Tv2,'财务管理');
  Close;
end;
procedure TfrmBankMoneyGYSListView.FormShow(Sender: TObject);
begin
  if Pos('管理',Trim(Self.Caption))>0 then
  begin
    canshu1:='管理';
  end else
  begin
    canshu1:='';
  end;
  Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
  begdate.DateTime:=StrToDate(FormatDateTime('yyyy',Enddate.Date)+'-01-01');
  ReadCxGrid(Copy(Self.Caption,1,Length(Self.Caption)-1),Tv2,'财务管理');
  InitGrid();
end;

procedure TfrmBankMoneyGYSListView.TBRafreshClick(Sender: TObject);
begin
  ToolBar1.SetFocus;
  InitGrid();
end;

procedure TfrmBankMoneyGYSListView.TBFindClick(Sender: TObject);
begin
  if ADOQueryMain.Active=False then Exit;
  SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
  SCreateCDS20(ADOQueryMain,CDS_HZ);
  SInitCDSData20(ADOQueryMain,CDS_HZ);
end;

procedure TfrmBankMoneyGYSListView.FactoryName10Change(Sender: TObject);
begin
  TBFind.Click;
end;



procedure TfrmBankMoneyGYSListView.TBExportClick(Sender: TObject);
begin
  if ADOQueryMain.IsEmpty then Exit;
  SelExportData(Tv2,ADOQueryMain,'供应商费用列表');
end;

procedure TfrmBankMoneyGYSListView.cxTabControl1Change(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmBankMoneyGYSListView.Tv2CellDblClick(Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);
var
  FName:string;
begin
  FName:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName;
  if Trim(FName)='SDQty' then
  begin
    if CDS_HZ.IsEmpty then Exit;
    try
      frmFjList:=TfrmFjList.Create(Application);
      with frmFjList do
      begin
        fkeyNO:=Trim(CDS_HZ.fieldbyname('YFID').AsString);
        fType:='供应商费用管理';
        fstatus:=0;
        if ShowModal=1 then
        begin

        end;
      end;
    finally
      frmFjList.Free;
    end;
  end;
end;

procedure TfrmBankMoneyGYSListView.FKTypeChange(Sender: TObject);
begin
  TBFind.Click;
end;

end.
