unit U_CWGYSDZList; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, cxPC, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseList; type TfrmCWGYSDZList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; FactoryName: TEdit; Label2: TLabel; Label6: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; Label1: TLabel; ComTaiTou: TEdit; ToolButton3: TToolButton; ToolButton4: TToolButton; ADOQueryPrint: TADOQuery; cxTabControl1: TcxTabControl; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; TV1Column1: TcxGridDBColumn; cxGridPopupMenu1: TcxGridPopupMenu; CDS_1: TClientDataSet; DS_1: TDataSource; Panel2: TPanel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v2Column6: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; DS_3: TDataSource; CDS_3: TClientDataSet; GPM_3: TcxGridPopupMenu; Panel3: TPanel; cxGrid3: TcxGrid; TV3: TcxGridDBTableView; cxGridDBColumn6: TcxGridDBColumn; Tv2Column1: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; Panel4: TPanel; Label5: TLabel; Label7: TLabel; Label8: TLabel; MXBegdate: TDateTimePicker; MXEnddate: TDateTimePicker; Edit2: TEdit; TV3Column1: TcxGridDBColumn; TV3Column2: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); private { Private declarations } procedure InitGrid(); procedure InitKP(); procedure InitYFF(); public fmanage, FZKType: string; { Public declarations } RKFlag, FCYID: string; end; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_CWGYSDZMXList; {$R *.dfm} procedure TfrmCWGYSDZList.InitYFF(); begin with ADOQueryTemp do begin Close; SQL.Clear; sql.Add(' exec P_CW_YFFKHZYue '); sql.Add(' @begdate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', MXbegdate.DateTime)))); sql.Add(' ,@Enddate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', MXEnddate.DateTime + 1)))); sql.Add(' ,@factoryNo=' + QuotedStr(Trim(CDS_HZ.FieldByName('FactoryNo').AsString))); Open; end; SCreateCDS(ADOQueryTemp, CDS_3); SInitCDSData(ADOQueryTemp, CDS_3); end; procedure TfrmCWGYSDZList.InitKP(); begin with ADOQueryTemp do begin Close; SQL.Clear; sql.Add(' exec P_CW_YFFKHX_KP '); sql.Add(' @FactoryNAME=' + QuotedStr(Trim(CDS_HZ.FieldByName('FactoryNAME').AsString))); sql.Add(' ,@begdate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', begdate.DateTime)))); sql.Add(' ,@Enddate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1)))); Open; end; SCreateCDS(ADOQueryTemp, CDS_1); SInitCDSData(ADOQueryTemp, CDS_1); end; procedure TfrmCWGYSDZList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add(' exec P_CW_YFFKHZ '); sql.Add(' @begdate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', begdate.DateTime)))); sql.Add(' ,@Enddate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1)))); Open; end; SCreateCDS(ADOQueryMain, CDS_HZ); SInitCDSData(ADOQueryMain, CDS_HZ); finally ADOQueryMain.EnableControls; end; ToolButton2.Click; end; procedure TfrmCWGYSDZList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmCWGYSDZList.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption) + 'TV1', TV1, '²ÆÎñ¹ÜÀí'); WriteCxGrid(trim(self.Caption) + 'Tv2', Tv2, '²ÆÎñ¹ÜÀí'); Close; end; procedure TfrmCWGYSDZList.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(self.Caption) + 'TV1', TV1, '²ÆÎñ¹ÜÀí'); ReadCxGrid(trim(self.Caption) + 'Tv2', Tv2, '²ÆÎñ¹ÜÀí'); Enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := Enddate.DateTime; MXbegdate.DateTime := StrToDate(FormatDateTime('yyyy', Enddate.DateTime) + '-01-01'); MXEnddate.DateTime := StrToDate(FormatDateTime('yyyy', Enddate.DateTime) + '-12-31') + 1; InitGrid(); end; procedure TfrmCWGYSDZList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCWGYSDZList.ToolButton2Click(Sender: TObject); var fsj: string; begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, Trim(SGetFilters(Panel1, 1, 2))); SCreateCDS(ADOQueryMain, CDS_HZ); SInitCDSData(ADOQueryMain, CDS_HZ); end; procedure TfrmCWGYSDZList.FactoryNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmCWGYSDZList.ToolButton3Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; frmCWGYSDZMXList := TfrmCWGYSDZMXList.Create(self); with frmCWGYSDZMXList do begin begdate.DateTime := self.begdate.DateTime; enddate.DateTime := self.Enddate.DateTime; factoryName.Text := self.CDS_HZ.fieldbyname('factoryName').AsString; // factoryName.TxtCode := self.CDS_HZ.fieldbyname('factoryNo').AsString; FZKType := Self.FZKType; case cxTabControl1.TabIndex of 0: begin FBZType := '$'; end; 1: begin FBZType := '£¤'; end; 2: begin FBZType := '€'; end; end; show; end; end; procedure TfrmCWGYSDZList.ToolButton4Click(Sender: TObject); var filepath: string; mBegdate, mEnddate: string; begin mBegdate := FormatDateTime('yyyy-MM-dd', begdate.Date); mEnddate := FormatDateTime('yyyy-MM-dd', enddate.Date); if CDS_HZ.IsEmpty then exit; with ADOQueryPrint do begin Close; SQL.Clear; with ADOQueryPrint do begin Close; SQL.Clear; Filtered := False; sql.Add(' exec P_YSSK_List @begdate=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', begdate.DateTime))) + ',@Enddate=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1))) + ',@flag=''ÒÑÉóºË'''); Open; end; Open; end; try filepath := ExtractFilePath(Application.ExeName) + 'report\Ó¦¸¶ÕË¿î.rmf'; if not FileExists(Pchar(filepath)) then begin application.MessageBox(pchar('Îļþ[' + filepath + ']²»´æÔÚ£¡'), 'ÌáʾÐÅÏ¢', MB_IConError); exit; end; RmVariables['begDate'] := FormatDateTime('yyyy-mm-dd', begDate.Date); RmVariables['enddate'] := FormatDateTime('yyyy-mm-dd', enddate.Date); RMVariables['ZDR'] := trim(DName); RM1.LoadFromFile(filepath); RM1.ShowReport; finally end; end; procedure TfrmCWGYSDZList.Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin // InitKP(); // InitYFF(); end; procedure TfrmCWGYSDZList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.