unit U_NengHaoInput; 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, cxDropDownEdit; type TfrmNengHaoInput = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; ToolButton3: TToolButton; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v2Column6: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2Column3: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; v2Column1: TcxGridDBColumn; 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 ToolButton3Click(Sender: TObject); procedure v2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private { Private declarations } procedure InitGrid(); function SaveData():Boolean; public { Public declarations } RKFlag,FCYID:String; end; var frmNengHaoInput: TfrmNengHaoInput; implementation uses U_DataLink,U_Fun,U_ZDYHelp; {$R *.dfm} procedure TfrmNengHaoInput.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add(' select * from NengHao where NHID='''+Trim(FCYID)+''''); Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; end; end; procedure TfrmNengHaoInput.FormDestroy(Sender: TObject); begin frmNengHaoInput:=nil; end; procedure TfrmNengHaoInput.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmNengHaoInput.TBCloseClick(Sender: TObject); begin WriteCxGrid('能耗录入',Tv2,'客户自定义'); Close; end; procedure TfrmNengHaoInput.FormShow(Sender: TObject); begin ReadCxGrid('能耗录入',Tv2,'客户自定义'); InitGrid(); if Trim(FCYID)='' then begin CDS_HZ.Append; CDS_HZ.Post; end; end; procedure TfrmNengHaoInput.TBRafreshClick(Sender: TObject); begin InitGrid(); end; function TfrmNengHaoInput.SaveData():Boolean; var maxId,CRID:String; begin try ADOQueryCmd.Connection.BeginTrans; if Trim(FCYID)='' then begin if GetLSNo(ADOQueryCmd,maxId,'NH','NengHao',4,1)=False then begin Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!','提示',0); Exit; end; end else begin maxId:=Trim(FCYID); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from NengHao where NHID='''+Trim(FCYID)+''''); Open; end; with ADOQueryCmd do begin if Trim(FCYID)='' then begin Append; FieldByName('Filler').Value:=Trim(DName); end else begin Edit; FieldByName('Editer').Value:=Trim(DName); FieldByName('Edittime').Value:=SGetServerDateTime(ADOQueryTemp); end; FieldByName('NHID').Value:=Trim(maxId); //FieldByName('ZdyName').Value:=Trim(CDS_HZ.fieldbyname('ZdyName').AsString); RTSetSaveDataCDS(ADOQueryCmd,Tv2,CDS_HZ,'NengHao',0); if Trim(CDS_HZ.fieldbyname('Price').AsString)<>'' then begin FieldByName('Price').Value:=CDS_HZ.fieldbyname('Price').Value; end else begin FieldByName('Price').Value:=0; end; FieldByName('Filler').Value:=Trim(DName); Post; end; with CDS_HZ do begin Edit; FieldByName('NHID').Value:=Trim(maxId); Post; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except Result:=True; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存异常!','提示',0); end; end; procedure TfrmNengHaoInput.ToolButton3Click(Sender: TObject); begin if Trim(CDS_HZ.FieldByName('NHDate').AsString)='' then begin Application.MessageBox('日期不能为空!','提示',0); Exit; end; if Trim(CDS_HZ.FieldByName('NHType').AsString)='' then begin Application.MessageBox('能耗类别不能为空!','提示',0); Exit; end; if Application.MessageBox('确定要保存数据吗?','提示',32+4)<>IDYES then Exit; ToolBar1.SetFocus; if SaveData() then begin Application.MessageBox('保存成功!','提示',0); ModalResult:=1; end; end; procedure TfrmNengHaoInput.v2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='chejian'; flagname:='车间'; if ShowModal=1 then begin CDS_HZ.Edit; CDS_HZ.FieldByName('chejian').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmNengHaoInput.v2Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='NHBiaoName'; flagname:='表名'; MainType:=Trim(CDS_HZ.fieldbyname('chejian').AsString); if ShowModal=1 then begin CDS_HZ.Edit; CDS_HZ.FieldByName('NHBiaoName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; end.