unit U_TSLRList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC, IniFiles, jpeg, U_SLT; type TfrmTSLRList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label1: TLabel; Label2: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Label3: TLabel; Label4: TLabel; Label5: TLabel; Filler: TEdit; ToFactoryName: TEdit; OrderNo: TEdit; cxTabControl1: TcxTabControl; adoqueryPicture: TADOQuery; PopupMenu2: TPopupMenu; N3: TMenuItem; N4: TMenuItem; RMDBDataSet1: TRMDBDataSet; ClientDataSet1: TClientDataSet; RMGridReport1: TRMGridReport; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1FactoryName: TcxGridDBColumn; v1SPSpec: TcxGridDBColumn; v1BatchNo: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; v1Column4: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure OrderNoChange(Sender: TObject); procedure BatchNoChange(Sender: TObject); procedure ToFactoryNameChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton4Click(Sender: TObject); private canshu1, canshu2, canshu3: string; procedure InitGrid(); procedure ReadINIFile(); { Private declarations } public { Public declarations } end; //var // frmShaRKList: TfrmShaRKList; var Mach: array of TfrmSlt; implementation uses U_DataLink, U_RTFun, U_PBRKInPut, U_FileUp, U_WechatAuthority; {$R *.dfm} procedure TfrmTSLRList.FormDestroy(Sender: TObject); begin //frmShaRKList:=nil; end; procedure TfrmTSLRList.FormClose(Sender: TObject; var Action: TCloseAction); var i, j: integer; begin j := length(Mach); if j > 0 then begin for i := 0 to j - 1 do begin Mach[i].free; end; end; SetLength(Mach, 0); Action := caFree; end; procedure TfrmTSLRList.ReadINIFile(); var programIni: Tinifile; //配置文件名 FileName: string; begin FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI'; programIni := Tinifile.create(FileName); server := programIni.ReadString('SERVER', '服务器地址', '127.0.0.1'); programIni.Free; end; procedure TfrmTSLRList.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; EndDate.DateTime := SGetServerDate10(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime; canshu1 := Trim(DParameters1); canshu2 := Trim(DParameters2); canshu3 := Trim(DParameters3); end; procedure TfrmTSLRList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from SpecTask A'); sql.add(' where A.CcDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + ''''); sql.Add(' and A.CcDate<''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + ''''); case cxTabControl1.TabIndex of 0: begin Sql.Add(' and ChkStatus in(''已确认'') '); end; 1: begin Sql.Add(' and ChkStatus in(''已完成'') '); end; 2: begin Sql.Add(' and ChkStatus in(''已确认'',''已完成'') '); end; end; Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmTSLRList.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmTSLRList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmTSLRList.TBCloseClick(Sender: TObject); begin WriteCxGrid(Trim(self.Caption), Tv1, '纱线仓库'); Close; end; procedure TfrmTSLRList.FormShow(Sender: TObject); begin ReadCxGrid(Trim(self.Caption), Tv1, '纱线仓库'); end; procedure TfrmTSLRList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('纱线入库列表', cxGrid2); end; procedure TfrmTSLRList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); end; end; procedure TfrmTSLRList.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmTSLRList.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmTSLRList.OrderNoChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmTSLRList.BatchNoChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmTSLRList.ToFactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmTSLRList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmTSLRList.ToolButton4Click(Sender: TObject); var fPrintFile: string; begin with ADOQueryTemp do begin Close; SQL.Clear; SQL.Add('exec P_Print_SXRK' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)))); SQL.Add(',''年'' '); Open; // ShowMessage(SQL.Text); end; SCreateCDS20(ADOQueryTemp, ClientDataSet1); SInitCDSData20(ADOQueryTemp, ClientDataSet1); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\纱线入库年报表.rmf'; if FileExists(fPrintFile) then begin // RMVariables['ConNo']:=Order_Main.fieldbyname('ConNo').Value; RMGridReport1.LoadFromFile(fPrintFile); RMGridReport1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\纱线入库年报表.rmf'), '提示', 0); end; end; end.