unit U_GYSListPB_CX; 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, cxDropDownEdit, Menus, BtnEdit; type TfrmGYSListPB_CX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; TBExport: TToolButton; zjm: TEdit; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; Label5: TLabel; KHNameJC: TEdit; DS_HZ3: TDataSource; CDS_HZ3: TClientDataSet; cxGridPopupMenu4: TcxGridPopupMenu; Label2: TLabel; Label4: TLabel; SHStatus: TComboBox; Label1: TLabel; KHJYFanWei: TEdit; Label3: TLabel; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; V1Column4: TcxGridDBColumn; V1Column1: TcxGridDBColumn; cxGYSName: TcxGridDBColumn; cxGridDBGYSNameZC: TcxGridDBColumn; B1GYSFZRen: TcxGridDBColumn; cxGridDBGYSTel: TcxGridDBColumn; V1SHStatus: TcxGridDBColumn; V1FZR: TcxGridDBColumn; V1GYSCodeFW: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; PopupMenu1: TPopupMenu; MainEdit: TMenuItem; MainView: TMenuItem; TBFJUp1: TPopupMenu; BankEdit: TMenuItem; BankDel: TMenuItem; BankView: TMenuItem; cxGrid3: TcxGrid; TV3: TcxGridDBTableView; V3Column2: TcxGridDBColumn; V3BankName: TcxGridDBColumn; V3BankNo: TcxGridDBColumn; V3Column3: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; V1KHType: TcxGridDBColumn; LabKHType: TLabel; KHType: TBtnEditC; TBAddBank: TMenuItem; FZR: TComboBox; V3Column1: TcxGridDBColumn; V1Column2: TcxGridDBColumn; Label6: TLabel; KHQuYu: TEdit; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; TBFJUp: TMenuItem; TBFJView: TMenuItem; V1Column3: TcxGridDBColumn; TSsel: TToolButton; 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 zjmChange(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure MainEditClick(Sender: TObject); procedure MainViewClick(Sender: TObject); procedure BankEditClick(Sender: TObject); procedure BankDelClick(Sender: TObject); procedure BankViewClick(Sender: TObject); procedure TV3DblClick(Sender: TObject); procedure KHTypeBtnUpClick(Sender: TObject); procedure KHTypeBtnDnClick(Sender: TObject); procedure TBAddBankClick(Sender: TObject); procedure V1SHStatusCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure TBFJUpClick(Sender: TObject); procedure TBFJViewClick(Sender: TObject); private { Private declarations } ColorInt:Integer; procedure InitGrid(); procedure setstatus(); procedure InitGridBankMain(); procedure InitGridBankMainID(FID:String); public canshu1,canshu2,FGYSType,XZKHTYpe:string; end; //var //frmGYSListPB: TfrmGYSListPB; implementation uses U_DataLink,U_RTFun,U_ZDYHelp, U_FjList_RZ,U_PBGYSInPutMain,U_PBGYSInPut,U_PBGYSInPutSub,U_PBGYSInPutGR ,U_PBGYSInPutMainBank,U_PBGYSInPutSubBank,U_UserMoreSel, U_SCPerson, U_FjList; {$R *.dfm} procedure TfrmGYSListPB_CX.setstatus(); begin tchk.Visible:=false; tnochk.Visible:=false; Tadd.Visible:=false; TBDel.Visible:=false; canshu2:='GYS'; IF trim(Self.Caption)='供应商信息录入(高)*'then begin Tadd.Visible:=True; LabKHType.Visible:=True; KHType.Visible:=True; TBAddBank.Visible:=True; TBDel.Visible:=True; tchk.Visible:=False; tNochk.Visible:=False; MainEdit.Visible:=True; MainView.Visible:=True; TBExport.Visible:=True; BankEdit.Visible:=True; BankDel.Visible:=True; BankView.Visible:=True; TBOwner.Visible:=True; canshu1:='高权限'; TBGYSTYpe.Visible:=True; V1Column4.Visible:=False; V1Column4.Hidden:=True; TBFJUp.Visible:=True; TBFJView.Visible:=True; end else IF trim(Self.Caption)='供应商信息审核*'then begin LabKHType.Visible:=True; KHType.Visible:=True; Tadd.Visible:=false; TBAddBank.Visible:=false; TBDel.Visible:=false; tchk.Visible:=True; tNochk.Visible:=True; MainEdit.Visible:=False; MainView.Visible:=True; TBExport.Visible:=True; BankEdit.Visible:=false; BankDel.Visible:=false; BankView.Visible:=True; TBOwner.Visible:=False; V1Column4.Visible:=True; V1Column4.Hidden:=False; TBFJUp.Visible:=True; TBFJView.Visible:=True; end else IF trim(Self.Caption)='供应商信息录入*'then begin LabKHType.Visible:=True; KHType.Visible:=True; Tadd.Visible:=True; Tadd.Caption:='增加供应商'; TBAddBank.Visible:=True; TBDel.Visible:=False; tchk.Visible:=False; tNochk.Visible:=False; MainEdit.Visible:=True; MainView.Visible:=True; TBExport.Visible:=True; BankEdit.Visible:=True; BankDel.Visible:=True; BankView.Visible:=True; TBOwner.Visible:=False; canshu1:='录入'; V1Column4.Visible:=False; V1Column4.Hidden:=True; TBFJUp.Visible:=True; TBFJView.Visible:=True; end else IF trim(Self.Caption)='供应商信息查询*'then begin LabKHType.Visible:=True; KHType.Visible:=True; Tadd.Visible:=False; TBAddBank.Visible:=False; TBDel.Visible:=False; tchk.Visible:=False; tNochk.Visible:=False; MainEdit.Visible:=False; MainView.Visible:=True; TBExport.Visible:=False; BankEdit.Visible:=False; BankDel.Visible:=False; BankView.Visible:=True; TBOwner.Visible:=False; V1Column4.Visible:=False; V1Column4.Hidden:=True; TBFJView.Visible:=True; end; end; procedure TfrmGYSListPB_CX.InitGrid(); begin with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add(' select *,zjm=dbo.getpinyin(KHName) '); sql.add(',SHStatus=(case when isnull(status,''0'')=''0'' then ''未审核'' else ''已审核'' end)'); sql.Add(',SDQty=(select Count(*) from TP_File TF where TF.WBID=A.KHMainId and TF.TFType=''供应商资料'' )'); sql.Add(' from KH_Main A '); sql.add(' where isnull(KHFlag,'''')='''+Trim(canshu2)+''' and isnull(Valid,'''')=''Y'' '); if Trim(canshu1)='录入' then begin sql.Add(' and exists(select * from KH_Owner B where B.KHMainId=A.KHMainId and B.UserName='''+Trim(DName)+''')'); end; Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from KH_Sub_Bank where KHMainid='''+Trim(CDS_HZ.fieldbyname('KHMainid').asstring)+''' and isnull(Valid,'''')=''Y'''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_HZ3); SInitCDSData20(ADOQueryTemp,CDS_HZ3); end; procedure TfrmGYSListPB_CX.FormDestroy(Sender: TObject); begin //frmGYSListPB:=nil; end; procedure TfrmGYSListPB_CX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmGYSListPB_CX.TBCloseClick(Sender: TObject); begin WriteCxGrid('PBGYS11YX',Tv1,'供应商管理'); WriteCxGrid('PBGYS31YX',Tv3,'供应商管理'); Close; end; procedure TfrmGYSListPB_CX.FormShow(Sender: TObject); var fsj:String; begin fsj:='select Name=UserName from KH_Owner A inner join KH_Main B on A.KHMainId=B.KHMainId and B.KHFlag=''GYS'''+ ' and A.Valid=''Y'' and B.Valid=''Y'' and A.USERID<>''ADMIN'' Group by A.UserName '; SInitComBoxBySql(ADOQueryTemp,FZR,False,fsj); ReadCxGrid('PBGYS11YX',Tv1,'供应商管理'); ReadCxGrid('PBGYS31YX',Tv3,'供应商管理'); setstatus(); InitGrid(); end; procedure TfrmGYSListPB_CX.TBRafreshClick(Sender: TObject); begin ToolBar1.SetFocus; InitGrid(); end; procedure TfrmGYSListPB_CX.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 TfrmGYSListPB_CX.zjmChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmGYSListPB_CX.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmGYSListPB_CX.cxTabControl1Change(Sender: TObject); begin setstatus(); InitGrid(); end; procedure TfrmGYSListPB_CX.TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin InitGridBankMain(); end; procedure TfrmGYSListPB_CX.InitGridBankMain(); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from KH_Sub_Bank where KHMainid='''+Trim(CDS_HZ.fieldbyname('KHMainid').asstring)+''''); if CDS_HZ.IsEmpty then begin sql.Add(' and 1=2'); end else begin sql.Add(' and valid=''Y'' '); end; sql.Add(' order by XH'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_HZ3); SInitCDSData20(ADOQueryTemp,CDS_HZ3); end; procedure TfrmGYSListPB_CX.InitGridBankMainID(FID:String); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from KH_Sub_Bank where KHMainid='''+Trim(FID)+''''); if CDS_HZ.IsEmpty then begin sql.Add(' and 1=2'); end else begin sql.Add(' and valid=''Y'' '); end; sql.Add(' order by XH'); Open; end; SCreateCDS20(ADOQueryTemp,CDS_HZ3); SInitCDSData20(ADOQueryTemp,CDS_HZ3); end; procedure TfrmGYSListPB_CX.TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var FName:string; begin if CDS_HZ.IsEmpty then Exit; FName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; if Trim(FName)='SDQty' then begin if CDS_HZ.IsEmpty then Exit; try frmFjList:=TfrmFjList.Create(Application); with frmFjList do begin fkeyNO:=Trim(CDS_HZ.fieldbyname('KHMainid').AsString); fType:='供应商资料'; if Self.Caption='供应商信息查询*' then begin fstatus:=1; end else begin fstatus:=0; end; if ShowModal=1 then begin end; end; finally frmFjList.Free; end; end; {if CDS_HZ.IsEmpty then Exit; try frmPBGYSInPutMain:=TfrmPBGYSInPutMain.Create(Application); with frmPBGYSInPutMain do begin FKHMainid:=Trim(Self.CDS_HZ.fieldbyname('KHMainId').AsString); frmPBGYSInPutMain.TBSave.Visible:=False; if ShowModal=1 then begin TBRafresh.Click; end; end; finally frmPBGYSInPutMain.Free; end; } end; procedure TfrmGYSListPB_CX.MainEditClick(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; if Trim(canshu1)<>'高权限' then begin if Trim(CDS_HZ.fieldbyname('FillerCode').AsString)<>Trim(DCode) then begin Application.MessageBox('不能操作他人录入的数据!','提示',0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from KH_Main where KHMainId='''+Trim(CDS_HZ.fieldbyname('KHMainId').AsString)+''''); Open; end; if Trim(ADOQueryTemp.fieldbyname('Status').AsString)='1' then begin Application.MessageBox('已审核不能操作数据!','提示',0); Exit; end; end; try frmPBGYSInPutMain:=TfrmPBGYSInPutMain.Create(Application); with frmPBGYSInPutMain do begin FKHMainid:=Trim(Self.CDS_HZ.fieldbyname('KHMainId').AsString); FKHFlag:=Trim(Self.canshu2); if ShowModal=1 then begin TBRafresh.Click; CDS_HZ.Locate('KHMainId',FKHMainid,[]); InitGridBankMainID(FKHMainid); end; end; finally frmPBGYSInPutMain.Free; end; end; procedure TfrmGYSListPB_CX.MainViewClick(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; try frmPBGYSInPutMain:=TfrmPBGYSInPutMain.Create(Application); with frmPBGYSInPutMain do begin FKHMainid:=Trim(Self.CDS_HZ.fieldbyname('KHMainId').AsString); frmPBGYSInPutMain.TBSave.Visible:=False; if ShowModal=1 then begin TBRafresh.Click; end; end; finally frmPBGYSInPutMain.Free; end; end; procedure TfrmGYSListPB_CX.BankEditClick(Sender: TObject); begin if CDS_HZ3.IsEmpty then exit; if Trim(canshu1)<>'高权限' then begin if Trim(CDS_HZ3.fieldbyname('FillerCode').AsString)<>Trim(DCode) then begin Application.MessageBox('不能操作他人录入的数据!','提示',0); Exit; end; end; try frmPBGYSInPutMainBank:=TfrmPBGYSInPutMainBank.Create(Application); with frmPBGYSInPutMainBank do begin FKHMainid:=Trim(Self.CDS_HZ.fieldbyname('KHMainId').AsString); FBKID:=Trim(Self.CDS_HZ3.fieldbyname('BKID').AsString); PState:=1; if ShowModal=1 then begin Self.InitGridBankMain(); end; end; finally frmPBGYSInPutMainBank.Free; end; end; procedure TfrmGYSListPB_CX.BankDelClick(Sender: TObject); begin IF CDS_HZ3.IsEmpty then exit; if Trim(canshu1)<>'高权限' then begin if Trim(CDS_HZ3.fieldbyname('FillerCode').AsString)<>Trim(DCode) then begin Application.MessageBox('不能操作他人录入的数据!','提示',0); Exit; end; end; if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('Update KH_Sub_Bank Set Valid=''N'',DelTime=getdate(),Deler='''+Trim(DName)+''',DelerCode='''+Trim(DCode)+''''); sql.add('where BKID='''+Trim(CDS_HZ3.fieldbyname('BKID').AsString)+''''); ExecSQL; end; CDS_HZ3.Delete; end; procedure TfrmGYSListPB_CX.BankViewClick(Sender: TObject); begin try frmPBGYSInPutMainBank:=TfrmPBGYSInPutMainBank.Create(Application); with frmPBGYSInPutMainBank do begin FKHMainid:=Trim(Self.CDS_HZ.fieldbyname('KHMainId').AsString); FBKID:=Trim(Self.CDS_HZ3.fieldbyname('BKID').AsString); PState:=2; if ShowModal=1 then begin Self.InitGridBankMain(); end; end; finally frmPBGYSInPutMainBank.Free; end; end; procedure TfrmGYSListPB_CX.TV3DblClick(Sender: TObject); begin BankView.Click; end; procedure TfrmGYSListPB_CX.KHTypeBtnUpClick(Sender: TObject); begin try frmSCPerson:=TfrmSCPerson.Create(Application); with frmSCPerson do begin FlagStr:='GYSType'; if ShowModal=1 then begin Self.KHType.Text:=Trim(FSDPerson); Self.KHType.TxtCode:=Trim(FSDPerson); end; end; finally frmSCPerson.Free; end; ToolButton2.Click; end; procedure TfrmGYSListPB_CX.KHTypeBtnDnClick(Sender: TObject); begin KHType.Text:=''; KHType.TxtCode:=''; ToolButton2.Click; end; procedure TfrmGYSListPB_CX.TBAddBankClick(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; try frmPBGYSInPutMainBank:=TfrmPBGYSInPutMainBank.Create(Application); with frmPBGYSInPutMainBank do begin FKHMainid:=Trim(CDS_HZ.fieldbyname('KHMainId').AsString); PState:=0; if ShowModal=1 then begin Self.InitGridBankMain(); end; end; finally frmPBGYSInPutMainBank.Free; end; end; procedure TfrmGYSListPB_CX.V1SHStatusCustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var id:Integer; begin Id:=TV1.GetColumnByFieldName('SHStatus').Index; if AViewInfo.GridRecord.Values[Id]='未审核' then begin ACanvas.Font.Color:=clRed; end; end; procedure TfrmGYSListPB_CX.TBFJUpClick(Sender: TObject); begin if CDS_HZ3.IsEmpty then Exit; try frmFjList:=TfrmFjList.Create(Application); with frmFjList do begin fkeyNO:=Trim(CDS_HZ3.fieldbyname('BKID').AsString); fType:='开票资料'; fstatus:=0; if ShowModal=1 then begin end; end; finally frmFjList.Free; end; end; procedure TfrmGYSListPB_CX.TBFJViewClick(Sender: TObject); begin if CDS_HZ3.IsEmpty then Exit; try frmFjList:=TfrmFjList.Create(Application); with frmFjList do begin fkeyNO:=Trim(CDS_HZ3.fieldbyname('BKID').AsString); fType:='开票资料'; fstatus:=1; if ShowModal=1 then begin end; end; finally frmFjList.Free; end; end; end.