unit U_BJManage; 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, cxPC, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls, TeEngine, Series, TeeProcs, Chart, DbChart, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmBJManage = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Panel1: TPanel; RMXLSExport2: TRMXLSExport; ToolButton3: TToolButton; ADOQueryPrt: TADOQuery; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v2Column12: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2C_CodeName: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column17: TcxGridDBColumn; v2Column29: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column7: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; ToolButton7: TToolButton; Label1: TLabel; Label2: TLabel; Label4: TLabel; Label7: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; cpcode: TEdit; khname: TComboBox; v2Column5: TcxGridDBColumn; 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 ToolButton1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure CustomerChange(Sender: TObject); procedure FormCreate(Sender: TObject); procedure v2Column8PropertiesEditValueChanged(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure khnameChange(Sender: TObject); procedure khnameDropDown(Sender: TObject); private { Private declarations } procedure PrintReport(FZDYNo: string); procedure InitGrid(); public fFlag: integer; { Public declarations } RKFlag, FCYID, fmanage: string; end; var frmBJManage: TfrmBJManage; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_BJInPut; {$R *.dfm} procedure TfrmBJManage.PrintReport(FZDYNo: string); var fPrintFile, FFCYID: string; i, j: Integer; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin if CDS_HZ.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\机台标签.rmf'; with ADOQueryPrt do begin close; sql.Clear; sql.Add(' select * from Machine where MCNO=''' + Trim(FZDYNo) + ''''); open; end; try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(FZDYNo); fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); if FileExists(fImagePath) then DeleteFile(fImagePath); Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); except CDS_HZ.EnableControls; application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); exit; end; RMVariables['QRBARCODE'] := fImagePath; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.PrintReport; // RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile + '!'), '提示', 0); Exit; end; end; procedure TfrmBJManage.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; sql.Add(' select A.* from CP_BJ A '); sql.add(' where A.BJDATE>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))) + ' and A.BJDATE<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)))); sql.Add('order by bjdate desc'); Open; end; SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); finally ADOQueryMain.EnableControls; ToolButton2.Click; end; end; procedure TfrmBJManage.FormDestroy(Sender: TObject); begin frmBJManage := nil; end; procedure TfrmBJManage.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmBJManage.TBCloseClick(Sender: TObject); begin WriteCxGrid(Trim(Self.Caption), Tv2, '机台管理'); Close; end; procedure TfrmBJManage.FormShow(Sender: TObject); var fsj: string; begin ReadCxGrid(Trim(Self.Caption), Tv2, '机台管理'); Enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := Enddate.DateTime - 30; fsj := 'select distinct(khname) Name from cp_bj order by khname '; SInitComBoxBySql(ADOQueryCmd, khname, False, fsj); InitGrid(); end; procedure TfrmBJManage.TBRafreshClick(Sender: TObject); begin // MCCJ.SetFocus; InitGrid(); end; procedure TfrmBJManage.ToolButton2Click(Sender: TObject); var sql: string; begin if ADOQueryMain.Active then begin sql := SGetFilters(Panel1, 1, 2); SDofilter(ADOQueryMain, sql); SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); end; end; procedure TfrmBJManage.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2, ADOQueryMain, trim(Self.Caption)); end; procedure TfrmBJManage.cxTabControl1Change(Sender: TObject); begin InitGrid; end; procedure TfrmBJManage.N1Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; with CDS_HZ do begin DisableControls; first; while not eof do begin edit; fieldbyname('ssel').Value := true; post; next; end; First; EnableControls; end; end; procedure TfrmBJManage.N2Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; with CDS_HZ do begin DisableControls; first; while not eof do begin edit; fieldbyname('ssel').Value := false; post; next; end; First; EnableControls; end; end; procedure TfrmBJManage.CustomerChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmBJManage.FormCreate(Sender: TObject); begin fmanage := Trim(DParameters1); end; procedure TfrmBJManage.v2Column8PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate Machine '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' where MCID=' + CDS_HZ.fieldbyname('MCID').AsString); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; tv2.Controller.EditingController.ShowEdit(); except tv2.Controller.EditingController.ShowEdit(); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end end; procedure TfrmBJManage.ToolButton3Click(Sender: TObject); begin PrintReport(Trim(CDS_HZ.fieldbyname('MCNO').AsString)); end; procedure TfrmBJManage.ToolButton4Click(Sender: TObject); begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into Machine(Filler) values(' + quotedstr(Trim(dname)) + ')'); ExecSQL; end; InitGrid(); end; procedure TfrmBJManage.ToolButton5Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete cp_bj where BJID=' + quotedstr(CDS_HZ.FieldByName('BJID').asstring)); ExecSQL; end; CDS_HZ.Delete; end; procedure TfrmBJManage.ToolButton6Click(Sender: TObject); begin try frmBJInPut := TfrmBJInPut.Create(Application); with frmBJInPut do begin FBCId := ''; // frmSXCKInPut.canshu3 := Trim(Self.canshu3); if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmBJInPut.Free; end; end; procedure TfrmBJManage.ToolButton7Click(Sender: TObject); begin try frmBJInPut := TfrmBJInPut.Create(Application); with frmBJInPut do begin FBCId := Trim(CDS_hz.fieldbyname('bjid').AsString); // frmSXCKInPut.canshu3 := Trim(Self.canshu3); if ShowModal = 1 then begin Self.InitGrid(); end; end; finally frmBJInPut.Free; end; end; procedure TfrmBJManage.khnameChange(Sender: TObject); begin ToolButton2.Click(); end; procedure TfrmBJManage.khnameDropDown(Sender: TObject); var fsj: string; begin fsj := 'select distinct(khname) Name from cp_bj order by khname '; SInitComBoxBySql(ADOQueryCmd, khname, False, fsj); end; end.