unit U_DJMoneyTop; 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 TfrmDJMoneyTop = 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; v1Column5: TcxGridDBColumn; v1Column2: TcxGridDBColumn; Panel4: TPanel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; Panel5: TPanel; Tv1Column1: TcxGridDBColumn; Tv2Column1: TcxGridDBColumn; Panel6: TPanel; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: 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 frmDJMoneyTop: TfrmDJMoneyTop; implementation uses U_DataLink, U_RTFun, U_DJCPTopMX, U_ZJCPTopMX, U_DJGGZPMORDMX, U_DDDJJHMX; {$R *.dfm} procedure TfrmDJMoneyTop.InitGrid(); begin Panel10.Visible := True; Panel10.Refresh; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add('exec P_BI_DJMoneyAll :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 TfrmDJMoneyTop.FormDestroy(Sender: TObject); begin frmDJMoneyTop := nil; end; procedure TfrmDJMoneyTop.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmDJMoneyTop.TBCloseClick(Sender: TObject); begin WriteCxGrid('1', Tv1, '打卷工工资'); WriteCxGrid('2', Tv2, '打卷工工资'); WriteCxGrid('3', Tv3, '打卷工工资'); Close; end; procedure TfrmDJMoneyTop.FormShow(Sender: TObject); begin ReadCxGrid('1', Tv1, '打卷工工资'); ReadCxGrid('2', Tv2, '打卷工工资'); ReadCxGrid('3', Tv3, '打卷工工资'); end; procedure TfrmDJMoneyTop.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmDJMoneyTop.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, ClientDataSet1); SInitCDSData20(ADOQueryMain, ClientDataSet1); end; end; procedure TfrmDJMoneyTop.C_CodeNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmDJMoneyTop.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 TfrmDJMoneyTop.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 TfrmDJMoneyTop.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_DJMoneyAll_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_DJMoneyAll_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 TfrmDJMoneyTop.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 TfrmDJMoneyTop.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.