unit U_ZdyAttachGYS; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmZdyAttachGYS = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; ZdyName: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; ToolButton3: TToolButton; v2Column6: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column7: TcxGridDBColumn; v2Column9: TcxGridDBColumn; Label1: TLabel; ZdyCode: TEdit; TBedit: TToolButton; v2Column8: TcxGridDBColumn; Label2: TLabel; ZdyType: TComboBox; v2Column11: TcxGridDBColumn; v2Column12: TcxGridDBColumn; v2Column13: TcxGridDBColumn; Region: TEdit; Label4: TLabel; v2Column15: TcxGridDBColumn; Tchk: TToolButton; TNochk: TToolButton; cxTabControl1: TcxTabControl; v2Column16: TcxGridDBColumn; ToolButton4: TToolButton; Panel2: TPanel; Tlb1: TToolBar; TB3: TToolButton; TB4: TToolButton; TB5: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; cxGridDBColumn14: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; cxGridPopupMenu1: TcxGridPopupMenu; DS1: TDataSource; ADOQuery1: TADOQuery; CDS1: TClientDataSet; Panel3: TPanel; ToolButton5: TToolButton; ADOTemp: TADOQuery; v2Column10: TcxGridDBColumn; ZYCP: TEdit; Label5: TLabel; v2Column14: TcxGridDBColumn; Label6: TLabel; Shortened: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ZdyNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure TBeditClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TchkClick(Sender: TObject); procedure TNochkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure TB3Click(Sender: TObject); procedure TB4Click(Sender: TObject); procedure TB5Click(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure ToolButton5Click(Sender: TObject); private { Private declarations } procedure InitGrid(); procedure setstatus(); public { Public declarations } canshu1:string; end; var frmZdyAttachGYS: TfrmZdyAttachGYS; implementation uses U_DataLink,U_Fun,U_ZDYHelp,U_ZdyAttInputGYS,U_AddYFGYS,U_FjList_RZ; {$R *.dfm} procedure TfrmZdyAttachGYS.setstatus(); begin TBedit.Visible:=false; TBdel.Visible:=false; tchk.Visible:=false; tnochk.Visible:=false; toolbutton1.Visible:=false; IF trim(canshu1)=''then begin case cxTabControl1.TabIndex of 0:begin TBedit.Visible:=true; TBdel.Visible:=true; end; end; end else IF trim(canshu1)='高权限'then begin toolbutton1.Visible:=true; case cxTabControl1.TabIndex of 0:begin TBedit.Visible:=true; tbdel.Visible:=True; tchk.Visible:=True; end; 1:begin tNochk.Visible:=True; end; end; end; // InitGrid(); end; procedure TfrmZdyAttachGYS.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add(' select * from KH_Zdy_Attachment where Type=''GYS'' and Valid=''Y'' and ATID=FromATID '); if cxTabControl1.TabIndex<2 then sql.Add(' and Status='''+inttostr(cxTabControl1.TabIndex)+''' '); Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; end; ZdyType.Items.Clear; with ADOQueryCmd do begin Close; SQL.Clear; SQL.Add('select ZDYName from KH_ZDY where type=''GYSSZ'''); Open; end; ADOQueryCmd.First; while not ADOQueryCmd.Eof do begin ZdyType.Items.Add(ADOQueryCmd.fieldByName('ZDYName').AsString); ADOQueryCmd.Next; end; ToolButton2.Click; end; procedure TfrmZdyAttachGYS.FormDestroy(Sender: TObject); begin frmZdyAttachGYS:=nil; end; procedure TfrmZdyAttachGYS.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmZdyAttachGYS.TBCloseClick(Sender: TObject); begin WriteCxGrid('供应商资料',Tv2,'客户自定义'); Close; end; procedure TfrmZdyAttachGYS.TBDelClick(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; with ADOQueryTemp do begin Close; SQL.Clear; SQL.Add(' select * from KH_Zdy_Attachment where FromATID='+QuotedStr(Trim(CDS_HZ.FieldByName('ATID').AsString))); SQL.Add(' and Type=''GYS'' and Valid=''Y'' and FromATID<>ATID '); Open; if not IsEmpty then begin Application.MessageBox('已存在相关付款单位,不能删除!','提示',0); Exit; end; end; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; if ( Trim(CDS_HZ.fieldbyname('ATID').AsString)<>'' ) then begin with ADOQueryCmd do begin Close; SQL.Clear; SQL.Add(' update KH_Zdy_Attachment set Valid=''N'',ZFTime=GETDATE(),ZFPerson='+QuotedStr(Trim(DName))); SQL.Add(' where ATID='+QuotedStr(Trim(CDS_HZ.FieldByName('ATID').AsString))); ExecSQL; end; end; CDS_HZ.Delete; end; procedure TfrmZdyAttachGYS.FormShow(Sender: TObject); begin ReadCxGrid('供应商资料',Tv2,'客户自定义'); setstatus(); InitGrid(); end; procedure TfrmZdyAttachGYS.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmZdyAttachGYS.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); end; end; procedure TfrmZdyAttachGYS.ZdyNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmZdyAttachGYS.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid2); // SelExportData(Tv2,ADOQueryMain,'供应商资料列表'); end; procedure TfrmZdyAttachGYS.TBeditClick(Sender: TObject); begin try frmZdyAttInputGYS:=TfrmZdyAttInputGYS.Create(Application); with frmZdyAttInputGYS do begin FATID:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString); FFromATID:=Trim(Self.CDS_HZ.fieldbyname('FromATID').AsString); if ShowModal=1 then begin TBRafresh.Click; Self.CDS_HZ.Locate('ATID',FATID,[]); end; end; finally frmZdyAttInputGYS.Free; end; end; procedure TfrmZdyAttachGYS.ToolButton3Click(Sender: TObject); begin try frmZdyAttInputGYS:=TfrmZdyAttInputGYS.Create(Application); with frmZdyAttInputGYS do begin FATID:=''; FFromATID:=''; if ShowModal=1 then begin TBRafresh.Click; end; end; finally frmZdyAttInputGYS.Free; end; end; procedure TfrmZdyAttachGYS.FormCreate(Sender: TObject); begin canshu1:=trim(DParameters1); end; procedure TfrmZdyAttachGYS.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 with CDS_HZ do begin DisableControls; First; while not eof do begin iF fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add(' update KH_Zdy_Attachment SET status=''1'',ChkTime=GETDATE(),Chker='''+Trim(DName)+''' '); sql.Add(' where ATID='+quotedstr(trim(CDS_HZ.fieldbyname('ATID').AsString))); execsql; end; end; next; end; First; EnableControls; end; application.MessageBox('审核成功!','提示信息'); TBRafresh.Click; except CDS_HZ.EnableControls; application.MessageBox('审核失败!','提示信息',0); end; end; procedure TfrmZdyAttachGYS.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 with CDS_HZ do begin DisableControls; First; while not eof do begin iF fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add(' update KH_Zdy_Attachment SET status=''0'',ChkTime=NULL,Chker=NULL '); sql.Add(' where ATID='+quotedstr(trim(CDS_HZ.fieldbyname('ATID').AsString))); execsql; end; end; next; end; First; EnableControls; end; application.MessageBox('撤销审核成功!','提示信息'); TBRafresh.Click; except CDS_HZ.EnableControls; application.MessageBox('撤销审核失败!','提示信息',0); end; end; procedure TfrmZdyAttachGYS.cxTabControl1Change(Sender: TObject); begin setstatus(); InitGrid(); end; procedure TfrmZdyAttachGYS.ToolButton4Click(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('ATID').AsString); fType:='供应商资料'; if ShowModal=1 then begin end; end; finally frmFjList_RZ.Free; end; end; procedure TfrmZdyAttachGYS.Tv2FocusedRecordChanged( Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin if CDS_HZ.IsEmpty then Exit; with ADOQuery1 do begin Close; SQL.Clear; SQL.Add(' select * from KH_Zdy_Attachment where Type=''GYS'' and Valid=''Y'' '); SQL.Add(' and FromATID='''+Trim(CDS_HZ.FieldByName('ATID').AsString)+''' '); Open; end; SCreateCDS20(ADOQuery1,CDS1); SInitCDSData20(ADOQuery1,CDS1); Panel3.Caption := Trim(CDS_HZ.FieldByName('ZdyName').AsString); end; procedure TfrmZdyAttachGYS.TB3Click(Sender: TObject); begin try frmAddYFGYS:=TfrmAddYFGYS.Create(Application); with frmAddYFGYS do begin FATID:=''; FFromATID:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString); if ShowModal=1 then begin TBRafresh.Click; Self.CDS_HZ.Locate('ATID',FFromATID,[]); end; end; finally frmAddYFGYS.Free; end; end; procedure TfrmZdyAttachGYS.TB4Click(Sender: TObject); begin try frmAddYFGYS:=TfrmAddYFGYS.Create(Application); with frmAddYFGYS do begin FATID:=Trim(Self.CDS1.fieldbyname('ATID').AsString); FFromATID:=Trim(Self.CDS1.fieldbyname('FromATID').AsString); if ShowModal=1 then begin TBRafresh.Click; Self.CDS_HZ.Locate('ATID',FFromATID,[]); end; end; finally frmAddYFGYS.Free; end; end; procedure TfrmZdyAttachGYS.TB5Click(Sender: TObject); begin with ADOQueryCmd do begin Close; SQL.Clear; SQL.Add(' update KH_Zdy_Attachment set Valid=''N'',ZFTime=GETDATE(),ZFPerson='+QuotedStr(Trim(DName))); SQL.Add(' where ATID='+QuotedStr(Trim(CDS1.FieldByName('ATID').AsString))); ExecSQL; end; CDS1.Delete; end; procedure TfrmZdyAttachGYS.Tv1FocusedRecordChanged( Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin if ( Trim(CDS1.FieldByName('ATID').AsString)=Trim(CDS1.FieldByName('FromATID').AsString) ) then begin TB4.Enabled:=False; TB5.Enabled:=False; end else begin TB4.Enabled:=True; TB5.Enabled:=True; end; end; procedure TfrmZdyAttachGYS.ToolButton5Click(Sender: TObject); var fsj:string; FWZ:Integer; begin fsj:=Trim(TEdit(Sender).Hint); FWZ:=Pos('/',fsj); try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:=Copy(fsj,1,FWZ-1); flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); if Trim(flag)='GYSSZ' then begin ToolButton1.Visible:=False; V1Name.Caption:='供应商类型'; V1Note.Caption:='编号规则'; fnote:=True; end; if ShowModal=1 then begin TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); if Trim(flag)='MPRTCode' then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select Top 1 * from JYOrder_Main where MPRTCode='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); sql.Add(' order by FillTime desc'); Open; end; // MPRTCodeName.Text:=ADOTemp.fieldbyname('MPRTCodeName').AsString; // MPRTMF.Text:=ADOTemp.fieldbyname('MPRTMF').AsString; // MPRTKZ.Text:=ADOTemp.fieldbyname('MPRTKZ').AsString; // MPRTSpec.Text:=ADOTemp.fieldbyname('MPRTSpec').AsString; end; end; end; finally frmZDYHelp.Free; end; end; end.