unit U_WorkDeptFeeListFKDJ; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxPC, cxCheckBox, Menus,jpeg, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP,ShellAPI,IniFiles, BtnEdit; type TfrmWorkDeptFeeListFKDJ = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; CDS_PRT: TClientDataSet; cxGridPopupMenu2: TcxGridPopupMenu; cxTabControl1: TcxTabControl; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column5: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Panel1: TPanel; Label1: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; v1WFDate: TcxGridDBColumn; v1Column11: TcxGridDBColumn; Worker: TEdit; Label6: TLabel; v1Column17: TcxGridDBColumn; ToolButton1: TToolButton; Label3: TLabel; XJLLFLAG: TEdit; Label4: TLabel; WFType: TEdit; ToolButton2: TToolButton; v1Column8: TcxGridDBColumn; PopupMenu1: TPopupMenu; N2: TMenuItem; N1: TMenuItem; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxSplitter1: TcxSplitter; CDS_Chker: TClientDataSet; CDS_Chk: TClientDataSet; DS_Chk: TDataSource; v1ItemNameBX: TcxGridDBColumn; Label5: TLabel; ItemNameBX: TEdit; Label7: TLabel; PZType: TEdit; Label8: TLabel; INVNO: TEdit; TPrint: TToolButton; IdFTP1: TIdFTP; ODPat: TOpenDialog; SaveDialog1: TSaveDialog; v1WFNO: TcxGridDBColumn; v1WFType: TcxGridDBColumn; ADOQuery1: TADOQuery; Panel3: TPanel; Image1: TImage; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; v1XJLLFLAG: TcxGridDBColumn; ToolButton4: TToolButton; Panel2: TPanel; Image2: TImage; Panel4: TPanel; Label10: TLabel; XJLLFLAG1: TBtnEditA; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure cxPageControl1Change(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure WorkerChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure v1Column8PropertiesEditValueChanged(Sender: TObject); procedure Tv1DblClick(Sender: TObject); procedure TPrintClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure Image1Click(Sender: TObject); procedure ReadINIFile(); procedure ToolButton4Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure XJLLFLAG1BtnClick(Sender: TObject); private FInt,PFInt:Integer; canshu1,canshu2:string; procedure InitGrid(); procedure InitForm(); function DelData():Boolean; procedure InitGridWsql(fsj:string); function SaveData():Boolean; procedure InitImage(); procedure InitImage1(); procedure setstatus(); { Private declarations } public { Public declarations } end; var frmWorkDeptFeeListFKDJ: TfrmWorkDeptFeeListFKDJ; implementation uses U_DataLink,U_RTFun,U_ModuleNote, U_ZDYHelpSel, U_ZDYHelp,U_FileUp_PZ,U_WorkerDeptFeeInPut_BXDJ; {$R *.dfm} procedure TfrmWorkDeptFeeListFKDJ.InitImage1(); var jpg:TJpegImage; myStream:TADOBlobStream; begin if Order_Main.IsEmpty then Exit; if Trim(Order_Main.fieldbyname('WFID').AsString)='' then Exit; //if cxPageControl1.ActivePageIndex=6 then begin Image2.Picture.Assign(nil); try with ADOQueryTemp do begin close; sql.Clear; sql.Add(' select * from TP_File A where A.WBID='''+Trim(Order_Main.fieldbyname('WFID').AsString)+''''); sql.Add(' and TFType=''凭证'' '); open; if RecordCount>0 then begin if trim(ADOQueryTemp.fieldbyname('FilesOther').AsString)<>'' then begin myStream:=tadoblobstream.Create(tblobfield(ADOQueryTemp.fieldbyname('FilesOther')),bmread); if myStream=nil then exit; jpg:=TJPEGImage.Create; jpg.LoadFromStream(myStream); Image2.Picture.Assign(jpg); end; end; end; finally jpg.Free; myStream.Free; end; end; end; procedure TfrmWorkDeptFeeListFKDJ.ReadINIFile(); var programIni:Tinifile; //配置文件名 FileName:string; begin FileName:=ExtractFilePath(Paramstr(0))+'SYSTEMSET.INI'; programIni:=Tinifile.create(FileName); server:=programIni.ReadString('SERVER','服务器地址','127.0.0.1'); programIni.Free; end; procedure TfrmWorkDeptFeeListFKDJ.setstatus(); begin TBEdit.Visible:=False; TBDel.Visible:=False; if cxtabcontrol1.TabIndex=0 then begin TBEdit.Visible:=True; end; if cxtabcontrol1.TabIndex=1 then begin TBDel.Visible:=True; end; end; procedure TfrmWorkDeptFeeListFKDJ.InitImage(); var jpg:TJpegImage; myStream:TADOBlobStream; begin if Order_Main.IsEmpty then Exit; if Trim(Order_Main.fieldbyname('WFNO').AsString)='' then Exit; //if cxPageControl1.ActivePageIndex=6 then begin Image1.Picture.Assign(nil); try with ADOQueryTemp do begin close; sql.Clear; sql.Add(' select * from TP_File A where A.WBID='''+Trim(Order_Main.fieldbyname('WFNO').AsString)+''''); sql.Add(' and TFType=''凭证'' '); open; if RecordCount>0 then begin if trim(ADOQueryTemp.fieldbyname('FilesOther').AsString)<>'' then begin myStream:=tadoblobstream.Create(tblobfield(ADOQueryTemp.fieldbyname('FilesOther')),bmread); if myStream=nil then exit; jpg:=TJPEGImage.Create; jpg.LoadFromStream(myStream); Image1.Picture.Assign(jpg); end; end; end; finally jpg.Free; myStream.Free; end; end; end; procedure TfrmWorkDeptFeeListFKDJ.FormDestroy(Sender: TObject); begin frmWorkDeptFeeListFKDJ:=nil; end; procedure TfrmWorkDeptFeeListFKDJ.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmWorkDeptFeeListFKDJ.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('费用报销列表1',Tv1,'费用管理'); end; procedure TfrmWorkDeptFeeListFKDJ.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select distinct A.*,B.XJLLFLAG'); SQL.Add(' from Worker_Fee_LKMain A '); sql.add(' inner join Worker_Fee_LKSub B on B.WFId=A.WFID'); sql.Add(' where A.ItemName=''费用报销单'' and B.MStatus=''审核通过'' '); if CanShu2<>'' then sql.add(' and A.WFType='''+trim(CanShu2)+''''); if cxTabControl1.TabIndex<>0 then begin sql.add(' and A.WFDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); sql.Add(' and A.WFDate<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+''''); end; if cxTabControl1.TabIndex=0 then begin sql.Add(' and isnull(B.FKStatus,'''')='''' '); end; if cxTabControl1.TabIndex=1 then begin sql.Add(' and isnull(B.FKStatus,'''')=''已付款'' '); end; Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from OA_Chk where 1=2'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Chk); SInitCDSData20(ADOQueryTemp,CDS_Chk); finally ADOQueryMain.EnableControls; end; end; procedure TfrmWorkDeptFeeListFKDJ.InitForm(); begin endDate.Date:=SGetServerDate(ADOQueryTemp); BegDate.Date:=EndDate.Date-7; //cxTabControl1.TabIndex:=0; setstatus(); InitGrid(); end; function TfrmWorkDeptFeeListFKDJ.DelData():Boolean; begin try Result:=false; ADOQueryCmd.Connection.BeginTrans; Order_Main.DisableControls; with Order_Main do begin First; while Locate('SSel',True,[]) do begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Worker_Fee_LKSub where WSId='''+Trim(Order_Main.fieldbyname('WSId').AsString)+''''); ExecSQL; end; with ADOQuery1 do begin close; sql.clear; sql.Add('Update Worker_Fee_LKSub set ZuoFeiFlag='''' where WSID='''+Trim(Order_Main.fieldbyname('BXWSId').AsString)+''''); ExecSQL; end; Delete; end; end; Order_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; Result:=True; except Order_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Result:=False; Application.MessageBox('数据删除异常!','提示',0); end; end; procedure TfrmWorkDeptFeeListFKDJ.TBExportClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; TcxGridToExcel('费用报销单',cxGrid1); end; procedure TfrmWorkDeptFeeListFKDJ.TBRafreshClick(Sender: TObject); begin ToolBar1.SetFocus; InitGrid(); end; procedure TfrmWorkDeptFeeListFKDJ.FormShow(Sender: TObject); begin ReadCxGrid('费用报销列表1',Tv1,'费用管理'); InitForm(); end; procedure TfrmWorkDeptFeeListFKDJ.cxPageControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmWorkDeptFeeListFKDJ.ToolButton3Click(Sender: TObject); begin try frmModuleNote:=TfrmModuleNote.Create(Application); with frmModuleNote do begin flag:='费用报销单'; if ShowModal=1 then begin end; end; finally frmModuleNote.Free; end; end; procedure TfrmWorkDeptFeeListFKDJ.FormCreate(Sender: TObject); begin canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); end; procedure TfrmWorkDeptFeeListFKDJ.InitGridWsql(fsj:string); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.*,FS.*,HJMoney=FS.YunFee+FS.MaTouFee+FS.YangBanFee+FS.OtherFee '); SQL.Add(' from JYOrderKP_Fee A inner join JYOrderKP_Fee_Sub FS on A.FMID=FS.FMID'); sql.Add(' where 1=1'); if Trim(canshu1)<>'高权限' then begin sql.Add(' and A.Filler='''+Trim(DName)+''''); end; sql.Add(fsj); sql.Add(' order by A.FPNo'); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; function TfrmWorkDeptFeeListFKDJ.SaveData():Boolean; var maxno,maxSubNo:String; begin try Result:=False; ADOQueryCmd.Connection.BeginTrans; //保存主表 if Trim(Order_Main.fieldbyname('MRID').AsString)='' then begin if GetLSNo(ADOQueryCmd,maxno,'MR','Module_Prompt_Result',4,1)=False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取工作子流水号失败!','提示',0); Exit; end; end else begin maxno:=Trim(Order_Main.fieldbyname('MRID').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('select * from Module_Prompt_Result where MRId='''+Trim(Order_Main.fieldbyname('MRID').AsString)+''''); Open; end; with ADOQueryCmd do begin if Trim(Order_Main.fieldbyname('MRID').AsString)='' then begin Append; end else begin Edit; end; FieldByName('MPId').Value:=Trim(Order_Main.fieldbyname('MPId').AsString); FieldByName('MRId').Value:=Trim(maxno); FieldByName('MRStatus').Value:='已处理'; FieldByName('MRDate').Value:=SGetServerDateTime(ADOQueryTemp); if Trim(Order_Main.fieldbyname('MRId').AsString)='' then begin FieldByName('Filler').Value:=Trim(DName); end else begin FieldByName('Editer').Value:=Trim(DName); FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp); end; Post; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); end; end; procedure TfrmWorkDeptFeeListFKDJ.cxTabControl1Change(Sender: TObject); begin setstatus(); InitGrid(); end; procedure TfrmWorkDeptFeeListFKDJ.WorkerChange(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmWorkDeptFeeListFKDJ.ToolButton1Click(Sender: TObject); begin try frmWorkerDeptFeeInPut_BXDJ:=TfrmWorkerDeptFeeInPut_BXDJ.Create(Application); with frmWorkerDeptFeeInPut_BXDJ do begin PState:=1; FMainId:=Trim(Self.Order_Main.fieldbyname('WFID').AsString); TBSave.Visible:=False; ToolBar2.Visible:=False; if ShowModal=1 then begin initGrid(); end; end; finally frmWorkerDeptFeeInPut_BXDJ.Free; end; end; procedure TfrmWorkDeptFeeListFKDJ.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; ToolBar1.SetFocus; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmWorkDeptFeeListFKDJ.N2Click(Sender: TObject); begin SelOKNo(Order_Main,True); end; procedure TfrmWorkDeptFeeListFKDJ.N1Click(Sender: TObject); begin SelOKNo(Order_Main,False); end; procedure TfrmWorkDeptFeeListFKDJ.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from OA_Chk where MainId='''+Trim(Order_Main.fieldbyname('WFID').AsString)+''''); sql.Add(' and OAType=''费用报销'' '); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Chk); SInitCDSData20(ADOQueryTemp,CDS_Chk); InitImage(); InitImage1(); end; procedure TfrmWorkDeptFeeListFKDJ.v1Column8PropertiesEditValueChanged( Sender: TObject); var FMoney,FWSID: string; begin end; procedure TfrmWorkDeptFeeListFKDJ.Tv1DblClick(Sender: TObject); begin ToolButton1.Click; end; procedure TfrmWorkDeptFeeListFKDJ.TPrintClick(Sender: TObject); var FPrintFile,FYCLName,FpriceUnit,FZhaiYao: string; begin if Order_Main.IsEmpty then exit; FYCLName:=''; with ADOQueryCmd do begin close; sql.Clear; sql.Add(' select A.* '); SQL.Add(' from Worker_Fee_LKMain A '); sql.add(' where WFID='''+trim(Order_Main.fieldbyname('WFID').asstring)+''' '); open; end; SCreateCDS20(ADOQueryCmd,CDS_PRT); SInitCDSData20(ADOQueryCmd,CDS_PRT); With ADOQueryTemp do begin close; sql.Clear; sql.Add(' select A.* '); SQL.Add(' from Worker_Fee_LKSub A '); sql.add(' where WFID='''+trim(Order_Main.fieldbyname('WFID').asstring)+''' '); open; end; with ADOQueryTemp do begin first; while not eof do begin if trim(FYCLName)='' then FYCLName:=trim(fieldbyname('YCLName').AsString) else FYCLName:=FYCLName+','+trim(fieldbyname('YCLName').AsString); next; end; FpriceUnit:=trim(fieldbyname('priceUnit').AsString); FZhaiYao:=trim(fieldbyname('ZhaiYao').AsString); end; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\费用报销单.rmf'; if FileExists(fPrintFile) then begin RMVariables['YCLName']:=trim(FYCLName); RMVariables['priceUnit']:=trim(FpriceUnit); RMVariables['ZhaiYao']:=trim(FZhaiYao); RM1.LoadFromFile(fPrintFile); RM1.PreviewButtons:=[pbZoom, pbFind, pbPageSetup,pbExit]; RM1.ShowReport; end else begin Application.MessageBox('没有找到报表','提示',0); exit; end; end; procedure TfrmWorkDeptFeeListFKDJ.TBEditClick(Sender: TObject); begin ToolBar1.SetFocus; if Order_Main.IsEmpty then Exit; if cxTabControl1.TabIndex<>0 then Exit; if XJLLFLAG1.Text='' then begin Application.MessageBox('付款账户不能为空','提示'); exit; end; if order_Main.Locate('Ssel',true,[])=False then begin application.MessageBox('没有选择数据','提示'); exit; end; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then Exit; with Order_Main do begin first; while not eof do begin if fieldbyname('Ssel').asboolean=True then begin with ADOQueryMain do begin close; sql.Clear; sql.add('update Worker_Fee_LKSub set FKStatus=''已付款'',XJLLFLAG='''+trim(XJLLFLAG1.Text)+''''); sql.add(',FKDate=Getdate() '); sql.add(' where WFID='''+trim(Order_Main.fieldbyname('WFID').AsString)+''''); execsql; end; with ADOQueryMain do begin close; sql.Clear; sql.add('update Worker_Fee_LKSub set FKStatus=''已付款'',XJLLFLAG='''+trim(XJLLFLAG1.Text)+''''); sql.add(',FKDate=Getdate() '); sql.add('where WFID='''+Order_Main.fieldbyname('BXWFID').AsString+''''); execsql; end; with ADOQueryMain do begin close; sql.Clear; sql.add('select * from Worker_Fee_LKSub '); sql.add('where WFID='''+Order_Main.fieldbyname('BXWFID').AsString+''''); sql.add(' and isnull(FKStatus,'''')='''' '); open; end; if ADOQueryMain.IsEmpty then begin with ADOQuery1 do begin close; sql.Clear; sql.add('update Worker_Fee_LKMain set ZuoFeiFlag=''1'' '); sql.add('where WFID='''+trim(Order_Main.fieldbyname('BXWFID').AsString)+''''); execsql; end; end; end; next; end; end; TBRafresh.Click; end; procedure TfrmWorkDeptFeeListFKDJ.TBDelClick(Sender: TObject); begin if order_Main.Locate('Ssel',true,[])=False then begin application.MessageBox('没有选择数据','提示'); exit; end; if Application.MessageBox('确定要执行此操作吗?','提示',32+4)<>IDYES then Exit; with Order_Main do begin first; while not eof do begin if fieldbyname('Ssel').asboolean=True then begin with ADOQueryMain do begin close; sql.Clear; sql.add('update Worker_Fee_LKSub set FKStatus='''',FKNote='''',XJLLFLAG='''''); sql.add(',FKDate=NULL '); sql.add('where WFID='''+trim(Order_Main.fieldbyname('WFID').AsString)+''''); execsql; end; with ADOQueryMain do begin close; sql.Clear; sql.add('update Worker_Fee_LKMain set ZuoFeiFlag='''' '); sql.add('where WFID='''+trim(Order_Main.fieldbyname('BXWFID').AsString)+''''); execsql; end; end; next; end; end; initgrid(); end; procedure TfrmWorkDeptFeeListFKDJ.Image1Click(Sender: TObject); var fHandle:THandle; FInt:Integer; FFName,FPath:String; begin if Order_Main.IsEmpty then exit; with ADOQueryTemp do begin close; sql.Clear; sql.Add('select * from XD_File where CYNO='''+Trim(Order_Main.fieldbyname('WFNo').AsString)+''''); Open; if IsEmpty then begin Application.MessageBox('凭证图片未上传!','提示',0); Exit; end; end; try ReadINIFile(); server:=ReadINIFileStr('SYSTEMSET.INI','SERVER','服务器地址','127.0.0.1'); if Length(server)<6 then begin server:='127.0.0.1'; end; IdFTP1.Host :=server;//PicSvr; IdFTP1.Username := 'three'; IdFTP1.Password := '641010'; IdFTP1.Connect(); except IdFTP1.Quit; Application.MessageBox('无法连接到文件服务器,请检查!', '提示', MB_ICONWARNING); Exit; end; FPath:='D:\Right1209\'; if not DirectoryExists(ExtractFileDir(FPath)) then CreateDir(ExtractFileDir(FPath)); FFName:=Trim(ADOQueryTemp.fieldbyname('FileName').AsString); FFName:=FPath+FFName; if FileExists(FFName) then begin FInt:=1; end; if FInt<>1 then IdFTP1.Get('PZ\'+Trim(ADOQueryTemp.fieldbyname('FileName').AsString), FPath+Trim(ADOQueryTemp.fieldbyname('FileName').AsString)); if IdFTP1.Connected then IdFTP1.Quit; ShellExecute(Handle, 'open',PChar(FPath+Trim(ADOQueryTemp.fieldbyname('FileName').AsString)),'', '', SW_SHOWNORMAL); end; procedure TfrmWorkDeptFeeListFKDJ.ToolButton4Click(Sender: TObject); begin try frmFileUpPZ:=TfrmFileUpPZ.Create(Application); with frmFileUpPZ do begin Code.Text:=Trim(Self.Order_Main.fieldbyname('WFId').AsString); CYID:=Trim(Self.Order_Main.fieldbyname('WFId').AsString); if ShowModal=1 then begin Self.InitGrid(); Self.Order_Main.Locate('WFId',CYID,[]); end; end; finally frmFileUpPZ.Free; end; end; procedure TfrmWorkDeptFeeListFKDJ.Image2Click(Sender: TObject); var fHandle:THandle; FInt:Integer; FFName,FPath:String; begin if Order_Main.IsEmpty then exit; with ADOQueryTemp do begin close; sql.Clear; sql.Add('select * from XD_File where CYNO='''+Trim(Order_Main.fieldbyname('WFID').AsString)+''''); Open; if IsEmpty then begin Application.MessageBox('凭证图片未上传!','提示',0); Exit; end; end; try ReadINIFile(); server:=ReadINIFileStr('SYSTEMSET.INI','SERVER','服务器地址','127.0.0.1'); if Length(server)<6 then begin server:='127.0.0.1'; end; IdFTP1.Host :=server;//PicSvr; IdFTP1.Username := 'three'; IdFTP1.Password := '641010'; IdFTP1.Connect(); except IdFTP1.Quit; Application.MessageBox('无法连接到文件服务器,请检查!', '提示', MB_ICONWARNING); Exit; end; FPath:='D:\Right1209\'; if not DirectoryExists(ExtractFileDir(FPath)) then CreateDir(ExtractFileDir(FPath)); FFName:=Trim(ADOQueryTemp.fieldbyname('FileName').AsString); FFName:=FPath+FFName; if FileExists(FFName) then begin FInt:=1; end; if FInt<>1 then IdFTP1.Get('PZ\'+Trim(ADOQueryTemp.fieldbyname('FileName').AsString), FPath+Trim(ADOQueryTemp.fieldbyname('FileName').AsString)); if IdFTP1.Connected then IdFTP1.Quit; ShellExecute(Handle, 'open',PChar(FPath+Trim(ADOQueryTemp.fieldbyname('FileName').AsString)),'', '', SW_SHOWNORMAL); end; procedure TfrmWorkDeptFeeListFKDJ.XJLLFLAG1BtnClick(Sender: TObject); begin frmZDYHelp:=TfrmZDYHelp.Create(self); with frmZDYHelp do begin flag:='XJLLFLAG'; flagname:='付款账户'; if ShowModal=1 then begin XJLLFLAG1.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; free; end; end; end.