unit U_CKJYList; 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, MovePanel, cxButtonEdit, cxCalendar, cxPC, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, RM_System, RM_Dataset, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, cxContainer, dxCore, cxDateUtils, cxTextEdit, cxMaskEdit; type TfrmCKJYList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label1: TLabel; Label2: TLabel; CDS_Main: TClientDataSet; Label8: TLabel; MPRTKZ: TEdit; Label9: TLabel; MPRTMF: TEdit; Label7: TLabel; CPType: TComboBox; MovePanel2: TMovePanel; Label10: TLabel; Label11: TLabel; Label12: TLabel; YWY: TEdit; OrdPerson1: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column3: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v1Column11: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; orderNo: TEdit; Label5: TLabel; Label3: TLabel; MPRTCodeName: TEdit; Label6: TLabel; PRTColor: TEdit; Label13: TLabel; filler: TEdit; v1Column2: TcxGridDBColumn; v1Column5: TcxGridDBColumn; conNo: TEdit; Label4: TLabel; Panel4: TPanel; Label14: TLabel; Panel10: TPanel; Image2: TImage; RichEdit1: TRichEdit; v1Column8: TcxGridDBColumn; KHCONNO: TEdit; Label15: TLabel; cxTabControl1: TcxTabControl; RMDBMain: TRMDBDataSet; ADOQueryPrint: TADOQuery; CDS_PRT: TClientDataSet; RMXLSExport1: TRMXLSExport; RM2: TRMGridReport; BegDate: TDateTimePicker; EndDate: TDateTimePicker; RMDBMain1: TRMDBDataSet; ADOQueryPrint1: TADOQuery; CDS_PRT1: TClientDataSet; 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 MPRTCodeNameChange(Sender: TObject); procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure PRTColorChange(Sender: TObject); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Image2Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TBPrintClick(Sender: TObject); private FLeft, FTop: Integer; procedure InitGrid(); { Private declarations } public { Public declarations } end; var frmCKJYList: TfrmCKJYList; implementation uses U_DataLink, U_Fun, U_ZDYHelp; {$R *.dfm} procedure TfrmCKJYList.FormDestroy(Sender: TObject); begin frmCKJYList := nil; end; procedure TfrmCKJYList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCKJYList.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; BegDate.DateTime := SGetServerDateTime(ADOQueryTemp); EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)// EndDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryTemp) + 1) + ' 00:00:00'; // BegDate.Text := FormatDateTime('yyyy-MM-dd', SGetServerDate10(ADOQueryTemp) - 1) + ' 00:00:00'; end; procedure TfrmCKJYList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; sql.Clear; sql.Add('exec P_View_JTCL '); Sql.add('''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' '); Sql.add(',''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' '); // SQL.Add(' ''' + begdate.Text + ''' '); // SQL.Add(',''' + EndDate.Text + ''' '); sql.Add(',''' + IntToStr(cxTabControl1.TabIndex) + ''' '); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCKJYList.TBRafreshClick(Sender: TObject); begin //BegDate.SetFocus; MovePanel2.Visible := True; MovePanel2.Refresh; InitGrid(); MovePanel2.Visible := False; end; procedure TfrmCKJYList.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmCKJYList.TBCloseClick(Sender: TObject); begin WriteCxGrid(self.Caption + tv1.Name, Tv1, '成品仓库'); Close; end; procedure TfrmCKJYList.FormShow(Sender: TObject); begin ReadCxGrid(self.Caption + tv1.Name, Tv1, '成品仓库'); if Trim(DParameters2) = '管理' then begin //v1Column5.Options.Focusing:=True; end else begin //v1Column5.Options.Focusing:=False; end; //InitGrid(); end; procedure TfrmCKJYList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('库存汇总列表', cxGrid2); end; procedure TfrmCKJYList.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 TfrmCKJYList.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCKJYList.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SOrdDefStr10'; flagname := '库存存放地点'; if ShowModal = 1 then begin with CDS_Main do begin Edit; FieldByName('SOrdDefStr10').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Sub Set SOrdDefStr10=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + ''''); sql.Add(' where SubId=''' + Trim(Self.CDS_Main.fieldbyname('SubId').AsString) + ''''); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCKJYList.PRTColorChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCKJYList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmCKJYList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Panel4.Left := FLeft; Panel4.Top := FTop + 110; Panel4.Visible := True; Panel10.Caption := Trim(TV1.Controller.FocusedColumn.Caption); RichEdit1.Text := CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; application.ProcessMessages; end; procedure TfrmCKJYList.Image2Click(Sender: TObject); begin Panel4.Visible := False; end; procedure TfrmCKJYList.cxTabControl1Change(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmCKJYList.TBPrintClick(Sender: TObject); var fPrintFile: string; begin with ADOqueryPrint do begin close; sql.Clear; sql.Add('exec [P_Print_TSRC]'); Sql.add(' ''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' '); Sql.add(',''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' '); SQL.Add(',''0'' '); Open; end; SCreateCDS20(ADOqueryPrint, CDS_PRT); SInitCDSData20(ADOqueryPrint, CDS_PRT); with ADOqueryPrint1 do begin close; sql.Clear; sql.Add('exec [P_Print_TSRC]'); Sql.add(' ''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' '); Sql.add(',''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' '); SQL.Add(',''1'' '); // showmessage(sql.Text); Open; end; SCreateCDS20(ADOqueryPrint1, CDS_PRT1); SInitCDSData20(ADOqueryPrint1, CDS_PRT1); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\打卷日产量表.rmf'; ExportFtErpFile('打卷日产量表.rmff', ADOQueryCmd); if not FileExists(fPrintFile) then begin Application.MessageBox(PChar('没有找' + trim(fPrintFile)), '提示', MB_ICONERROR); exit; end; Rm2.LoadFromFile(fPrintFile); Rm2.ShowReport; end; end.