unit U_DCMoneyTop; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmDCMoneyTop = 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; v2Column7: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; SH1: TPanel; ClientDataSet1: TClientDataSet; DataSource1: TDataSource; v1Column1: TcxGridDBColumn; DataSource3: TDataSource; ClientDataSet3: TClientDataSet; Panel1: TPanel; Label5: TLabel; Label6: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Panel10: TPanel; ToolButton1: TToolButton; ComboBox1: TComboBox; v1Column4: TcxGridDBColumn; Panel4: TPanel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; Panel5: TPanel; Panel6: TPanel; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; Panel7: TPanel; DataSource2: TDataSource; ClientDataSet2: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; cxGridPopupMenu3: TcxGridPopupMenu; 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 ToolButton1Click(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv3CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv3DblClick(Sender: TObject); private { Private declarations } procedure InitGrid(); public end; var frmDCMoneyTop: TfrmDCMoneyTop; implementation uses U_DataLink, U_RTFun, U_DJCPTopMX, U_ZJCPTopMX, U_DJGGZPMORDMX, U_DDDJJHMX; {$R *.dfm} procedure TfrmDCMoneyTop.InitGrid(); begin Panel10.Visible := True; Panel10.Refresh; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add('exec P_BI_DCMoneyAll :begdate,:enddate'); Parameters.ParamByName('begdate').Value := Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)); Parameters.ParamByName('enddate').Value := Trim(FormatDateTime('yyyy-MM-dd', enddate.Date + 1)); Open; end; SCreateCDS20(ADOQueryMain, ClientDataSet1); SInitCDSData20(ADOQueryMain, ClientDataSet1); finally ADOQueryMain.EnableControls; end; Panel10.Visible := False; end; procedure TfrmDCMoneyTop.FormDestroy(Sender: TObject); begin frmDCMoneyTop := nil; end; procedure TfrmDCMoneyTop.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmDCMoneyTop.TBCloseClick(Sender: TObject); begin WriteCxGrid('1', Tv1, 'P打卷工工资'); WriteCxGrid('2', Tv2, 'P打卷工工资'); WriteCxGrid('3', Tv3, 'P打卷工工资'); Close; end; procedure TfrmDCMoneyTop.FormShow(Sender: TObject); begin ReadCxGrid('1', Tv1, 'P打卷工工资'); ReadCxGrid('2', Tv2, 'P打卷工工资'); ReadCxGrid('3', Tv3, 'P打卷工工资'); end; procedure TfrmDCMoneyTop.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmDCMoneyTop.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, ClientDataSet1); SInitCDSData20(ADOQueryMain, ClientDataSet1); end; end; procedure TfrmDCMoneyTop.C_CodeNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmDCMoneyTop.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)+'-02-01'); EndDate.Date:=StrToDate(FYear+'-01-31'); end else begin BegDate.Date:=StrToDate(FYear+'-02-01'); EndDate.Date:=StrToDate(IntToStr(strtoint(FYear)+1)+'-01-31'); end;} BegDate.Date := SGetServerDateMBeg(ADOQueryTemp); EndDate.Date := SGetServerDate(ADOQueryTemp); end; procedure TfrmDCMoneyTop.ToolButton1Click(Sender: TObject); begin if ComboBox1.Text = '' then Exit; if ComboBox1.ItemIndex = 0 then begin TcxGridToExcel(ComboBox1.Text, cxGrid1); end else if ComboBox1.ItemIndex = 1 then begin TcxGridToExcel(ComboBox1.Text, cxGrid3); end else if ComboBox1.ItemIndex = 2 then begin TcxGridToExcel(ComboBox1.Text, cxGrid2); end; end; procedure TfrmDCMoneyTop.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Panel10.Visible := True; Panel10.Refresh; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add('exec P_BI_DCMoneyAll_MX_PM :begdate,:enddate,:KHName'); 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('KHName').Value := Trim(ClientDataSet1.fieldbyname('KHName').AsString); Open; end; SCreateCDS20(ADOQueryMain, ClientDataSet3); SInitCDSData20(ADOQueryMain, ClientDataSet3); with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add('exec P_BI_DCMoneyAll_MX_RQ :begdate,:enddate,:KHName'); 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('KHName').Value := Trim(ClientDataSet1.fieldbyname('KHName').AsString); Open; end; SCreateCDS20(ADOQueryMain, ClientDataSet2); SInitCDSData20(ADOQueryMain, ClientDataSet2); finally ADOQueryMain.EnableControls; end; Panel10.Visible := False; end; procedure TfrmDCMoneyTop.Tv3CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin // try // frmDJGGZPMORDMX := TfrmDJGGZPMORDMX.Create(Application); // with frmDJGGZPMORDMX do // begin // FBegdate := Self.BegDate.Date; // FEnddate := Self.enddate.Date + 1; // FKHName := Trim(Self.ClientDataSet1.fieldbyname('KHName').AsString); // FSPName := Trim(Self.ClientDataSet3.fieldbyname('SPName').AsString); // if ShowModal = 1 then // begin // // end; // end; // finally // frmDJGGZPMORDMX.Free; // end; end; procedure TfrmDCMoneyTop.Tv3DblClick(Sender: TObject); begin {if ClientDataSet3.IsEmpty then Exit; try frmDDDJJHMX := TfrmDDDJJHMX.Create(Application); with frmDDDJJHMX do begin FBegdate := Self.BegDate.Date; FEnddate := Self.enddate.Date + 1; FKHName := Trim(Self.ClientDataSet1.fieldbyname('KHName').AsString); FSPName := Trim(Self.ClientDataSet3.fieldbyname('SPName').AsString); if ShowModal = 1 then begin end; end; finally frmDDDJJHMX.Free; end; } end; end.