unit U_SKCR_SH; 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, Menus; type TfrmSKCR_SH = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; Label1: TLabel; YFName: TEdit; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; FactoryName: TEdit; Label2: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; Label4: TLabel; Money: TEdit; tchk: TToolButton; tnochk: TToolButton; cxTabControl1: TcxTabControl; nochk: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Label10: TLabel; Label12: TLabel; ChkNote: TEdit; Label17: TLabel; CheckBox1: TCheckBox; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; Label5: TLabel; note: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v2Ssel: TcxGridDBColumn; cxGridDBColumn1: TcxGridDBColumn; v2Column6: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; VYB: TcxGridDBColumn; VBZ: TcxGridDBColumn; v2ComTaitou: TcxGridDBColumn; v2IFSD: TcxGridDBColumn; v2chkstatus: TcxGridDBColumn; v2chknote: TcxGridDBColumn; v2Column1: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; v2GCName: TcxGridDBColumn; Label6: TLabel; GCName: TEdit; 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 FactoryNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure MoneyChange(Sender: TObject); procedure v2DerateMoneyPropertiesEditValueChanged(Sender: TObject); procedure tchkClick(Sender: TObject); procedure tnochkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure nochkClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure v2SselPropertiesChange(Sender: TObject); procedure CheckBox1Click(Sender: TObject); private { Private declarations } procedure InitGrid(); Procedure SetStatus(); public fflag:integer; { Public declarations } RKFlag,FCYID,fmanage:String; end; var frmSKCR_SH: TfrmSKCR_SH; implementation uses U_DataLink,U_Fun,U_RTFun; {$R *.dfm} Procedure TfrmSKCR_SH.SetStatus(); var i:integer; begin Tchk.Enabled:=false; TNochk.Enabled:=false; for i:=0 to tv2.ColumnCount-1 do begin IF uppercase(tv2.Columns[i].DataBinding.FieldName)<>'SSEL' then tv2.Columns[i].Options.Editing:=false; end; if cxTabControl1.TabIndex=0 then begin Tchk.Enabled:=true; for i:=1 to tv2.ColumnCount-1 do begin tv2.Columns[i].Options.Editing:=true; end; end; if cxTabControl1.TabIndex=1 then begin TNochk.Enabled:=true; end; end; procedure TfrmSKCR_SH.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add(' select A.* '); sql.add(',IFSD=cast((case when isnull((select T.TFID from TP_File T where T.WBID=A.YFID and T.TFType=''SD''),'''')='''' then 0 else 1 end) as bit)'); sql.Add(' from YF_Money_CR A'); sql.Add(' left join YF_Money_KC B on A.CRID=B.CRID'); sql.Add('where A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' '); sql.Add(' and CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' '); sql.Add(' and A.CRType=''收款登记'' '); IF cxTabControl1.TabIndex=0 then sql.Add(' and A.status=''1'' '); IF cxTabControl1.TabIndex=1 then sql.Add(' and A.status=''2'' '); if Money.Text<>'' then begin sql.add('and A.Money like '''+'%'+trim(Money.Text)+'%'+''''); end; Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); Label12.Caption:='0'; finally ADOQueryMain.EnableControls; //ToolButton2.Click; end; end; procedure TfrmSKCR_SH.FormDestroy(Sender: TObject); begin frmSKCR_SH:=nil; end; procedure TfrmSKCR_SH.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmSKCR_SH.TBCloseClick(Sender: TObject); begin WriteCxGrid('收款登记Chk',Tv2,'财务管理'); Close; end; procedure TfrmSKCR_SH.FormShow(Sender: TObject); begin fflag:=0; ReadCxGrid('收款登记Chk',Tv2,'财务管理'); Enddate.DateTime:=SGetServerDate(ADOQueryTemp); begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp); SetStatus(); InitGrid(); end; procedure TfrmSKCR_SH.TBRafreshClick(Sender: TObject); begin toolbar1.SetFocus; InitGrid(); end; procedure TfrmSKCR_SH.ToolButton2Click(Sender: TObject); begin Label12.Caption:='0'; if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); end; end; procedure TfrmSKCR_SH.FactoryNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmSKCR_SH.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2,ADOQueryMain,'收款列表'); end; procedure TfrmSKCR_SH.MoneyChange(Sender: TObject); begin Money.SetFocus; initgrid(); end; procedure TfrmSKCR_SH.v2DerateMoneyPropertiesEditValueChanged( Sender: TObject); var mvalue:string; begin mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then mvalue:='0'; with CDS_HZ do begin Edit; FieldByName('DerateMoney').Value:=StrToFloatdef(mvalue,0); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' set DerateMoney='+mvalue); SQL.Add(' where YFId='''+Trim(CDS_HZ.fieldbyname('YFId').AsString)+''''); ExecSQL; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmSKCR_SH.tchkClick(Sender: TObject); begin IF CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel',true,[])=false then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin IF Fieldbyname('ssel').AsBoolean=true then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YF_Money_CR SET status=''2'' '); sql.Add('where YFID ='+quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString))); execsql; end; end; next; end; First; EnableControls; end; application.MessageBox('操作成功','提示信息',0); InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!','提示信息',0); end; end; procedure TfrmSKCR_SH.tnochkClick(Sender: TObject); begin IF CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel',true,[])=false then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin IF Fieldbyname('ssel').AsBoolean=true then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YF_Money_CR SET status=''1'' '); sql.Add('where YFID ='+quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString))); execsql; end; end; next; end; First; EnableControls; end; application.MessageBox('操作成功','提示信息',0); InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!','提示信息',0); end; end; procedure TfrmSKCR_SH.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid(); end; procedure TfrmSKCR_SH.nochkClick(Sender: TObject); begin IF CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel',true,[])=false then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin IF Fieldbyname('ssel').AsBoolean=true then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YF_Money_CR SET status=''0'',chkstatus=''不通过'',chknote='''+trim(chknote.Text)+''' '); sql.Add('where YFID ='+quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString))); execsql; end; end; next; end; First; EnableControls; end; application.MessageBox('操作成功','提示信息',0); InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!','提示信息',0); end; end; procedure TfrmSKCR_SH.N1Click(Sender: TObject); begin SelOKNo(CDS_HZ,True); end; procedure TfrmSKCR_SH.N2Click(Sender: TObject); begin SelOKNo(CDS_HZ,false); end; procedure TfrmSKCR_SH.v2SselPropertiesChange(Sender: TObject); begin toolbar1.SetFocus; HJ(CDS_HZ,Label12,CDS_HZ.fieldbyname('Money').AsCurrency); end; procedure TfrmSKCR_SH.CheckBox1Click(Sender: TObject); begin Label12.Caption:='0'; IF CDS_HZ.IsEmpty then exit; with CDS_HZ do begin DisableControls; first; while not eof do begin edit; fieldbyname('ssel').Value:=checkbox1.Checked; if checkbox1.Checked=true then begin Label12.Caption:=floattostr(strtofloat(Label12.Caption)+fieldbyname('Money').AsCurrency); end; post; next; end; First; EnableControls; end; end; end.