unit U_FKDFKList; 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, cxCurrencyEdit, Menus, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter, dxBarBuiltInMenu, cxNavigator; type TfrmFKDFKList = 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; cxTabControl1: TcxTabControl; Tchk: TToolButton; TNochk: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; CheckBox1: TCheckBox; Label10: TLabel; Label12: TLabel; Label6: TLabel; Note: TEdit; ToolButton3: TToolButton; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v2Ssel: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2FKNo: TcxGridDBColumn; cxGridDBColumn1: TcxGridDBColumn; v2FactoryName: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; v2KPType: TcxGridDBColumn; VYB: TcxGridDBColumn; v2PayMent: TcxGridDBColumn; VBZ: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Chkstatus: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2IFSC: TcxGridDBColumn; VHL: TcxGridDBColumn; VBB: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Label8: TLabel; SQType: TComboBox; v2Column6: TcxGridDBColumn; v2Column7: TcxGridDBColumn; v2Column8: 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 FactoryNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ComTaitouChange(Sender: TObject); procedure TchkClick(Sender: TObject); procedure TNochkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure v2SselPropertiesChange(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure v2Column6PropertiesEditValueChanged(Sender: TObject); procedure v2Column7PropertiesEditValueChanged(Sender: TObject); procedure v2Column8PropertiesEditValueChanged(Sender: TObject); private { Private declarations } procedure InitGrid(); procedure SetStatus(); public fflag:integer; { Public declarations } RKFlag,FCYID,fmanage:String; end; var frmFKDFKList: TfrmFKDFKList; implementation uses U_DataLink,U_Fun,U_ZDYHelp, U_ProductOrderList, U_ProductOrderNewList, U_PbProductList, U_ZdyAttachGYS,U_FjList_RZ,U_RTFun; {$R *.dfm} procedure TfrmFKDFKList.SetStatus(); var i:integer; begin Tchk.Enabled:=false; TNochk.Enabled:=false; cxTabControl1.Visible:=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 fmanage<>'查询' then begin cxTabControl1.Visible:=true; if cxTabControl1.TabIndex=0 then begin Tchk.Enabled:=true; end; if cxTabControl1.TabIndex=1 then begin TNochk.Enabled:=true; end; end else begin cxTabControl1.TabIndex:=1; end; end; procedure TfrmFKDFKList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add(' select A.*,KHZJM=dbo.getPinYin(A.FactoryName)'); sql.Add(',IFSC=(Case when isnull((select Top 1 C.WBID from TP_File C where C.WBID=A.YFID),'''')='''' then '''' else ''是'' end)'); sql.Add(' from YF_Money_CR A'); sql.Add(' where A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' '); sql.Add(' and A.CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' '); sql.Add(' and isnull(SQType,'''')<>'''' '); IF cxTabControl1.TabIndex=0 then sql.Add(' and A.status=''2'' '); IF cxTabControl1.TabIndex=1 then sql.Add(' and A.status=''3'' '); Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); label12.Caption:='0'; finally; ADOQueryMain.EnableControls; //ToolButton2.Click; end; end; procedure TfrmFKDFKList.FormDestroy(Sender: TObject); begin frmFKDFKList:=nil; end; procedure TfrmFKDFKList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmFKDFKList.TBCloseClick(Sender: TObject); begin WriteCxGrid('付款待付款汇总1',Tv2,'财务管理1'); Close; end; procedure TfrmFKDFKList.FormShow(Sender: TObject); begin fflag:=0; ReadCxGrid('付款待付款汇总1',Tv2,'财务管理1'); Enddate.DateTime:=SGetServerDate(ADOQueryTemp); begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp); SetStatus(); InitGrid(); end; procedure TfrmFKDFKList.TBRafreshClick(Sender: TObject); begin toolbar1.SetFocus; InitGrid(); end; procedure TfrmFKDFKList.ToolButton2Click(Sender: TObject); var fsj:string; begin Label12.Caption:='0'; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); end; procedure TfrmFKDFKList.FactoryNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmFKDFKList.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2,ADOQueryMain,'付款待付款汇总'); end; procedure TfrmFKDFKList.ComTaitouChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmFKDFKList.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=''3'',FKPerson='''+trim(DName)+''',FKTime=getdate(),FKStatus=''已付款'' '); sql.Add('where YFID ='+quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString))); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); ADOQueryCmd.Connection.CommitTrans; except; ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!','提示信息',0); end; end; procedure TfrmFKDFKList.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=''2'',FKPerson=Null,FKStatus=Null,FKTime=Null '); sql.Add('where YFID ='+quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString))); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!','提示信息',0); end; end; procedure TfrmFKDFKList.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid(); end; procedure TfrmFKDFKList.N1Click(Sender: TObject); begin SelOKNo(CDS_HZ,True); end; procedure TfrmFKDFKList.N2Click(Sender: TObject); begin SelOKNo(CDS_HZ,false); end; procedure TfrmFKDFKList.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; procedure TfrmFKDFKList.v2SselPropertiesChange(Sender: TObject); begin HJ(CDS_HZ,Label12,CDS_HZ.fieldbyname('Money').AsCurrency); end; procedure TfrmFKDFKList.ToolButton3Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; try frmFjList_RZ:=TfrmFjList_RZ.Create(Application); with frmFjList_RZ do begin fkeyNO:=Trim(Self.CDS_HZ.fieldbyname('YFID').AsString); fType:='合同'; if ShowModal=1 then begin end; end; finally frmFjList_RZ.Free; end; end; procedure TfrmFKDFKList.v2Column6PropertiesEditValueChanged( Sender: TObject); var mvalue,FFieldName:String; begin mvalue:=TcxTextEdit(Sender).EditingText; FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); if Trim(mvalue)<>'' then begin sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); end else begin sql.Add(' Set '+FFieldName+'=NULL'); end; SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId='''+Trim(CDS_HZ.fieldbyname('YFId').AsString)+''''); ExecSQL; end; end; procedure TfrmFKDFKList.v2Column7PropertiesEditValueChanged( Sender: TObject); var mvalue,FFieldName:String; begin mvalue:=TcxTextEdit(Sender).EditingText; FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); if Trim(mvalue)<>'' then begin sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); end else begin sql.Add(' Set '+FFieldName+'=NULL'); end; SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId='''+Trim(CDS_HZ.fieldbyname('YFId').AsString)+''''); ExecSQL; end; end; procedure TfrmFKDFKList.v2Column8PropertiesEditValueChanged( Sender: TObject); var mvalue,FFieldName:String; begin mvalue:=TcxTextEdit(Sender).EditingText; FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); if Trim(mvalue)<>'' then begin sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); end else begin sql.Add(' Set '+FFieldName+'=NULL'); end; SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId='''+Trim(CDS_HZ.fieldbyname('YFId').AsString)+''''); ExecSQL; end; end; end.