unit U_ZHKHInPutTabNew; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar,StrUtils, cxDropDownEdit,jpeg, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, cxPC, cxGridCustomPopupMenu, cxGridPopupMenu,IdGlobal; type TfrmZHKHInPutTabNew = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; ScrollBox1: TScrollBox; ADOTemp: TADOQuery; ADOCmd: TADOQuery; ADOQuery1: TADOQuery; cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; cxTabSheet2: TcxTabSheet; cxTabSheet3: TcxTabSheet; cxTabSheet4: TcxTabSheet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; Panel5: TPanel; cxTabSheet7: TcxTabSheet; v1Column10: TcxGridDBColumn; Label14: TLabel; Label15: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; CWPhone: TEdit; CWPerson: TEdit; CWEmail: TEdit; CWQQ: TEdit; CWMSN: TEdit; CWSKYPE: TEdit; Label23: TLabel; CWKJAddress: TEdit; ToolBar2: TToolBar; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolBar3: TToolBar; ToolButton2: TToolButton; ToolButton6: TToolButton; Panel3: TPanel; Label1: TLabel; Label4: TLabel; Label7: TLabel; Label10: TLabel; Label11: TLabel; Label9: TLabel; Label13: TLabel; KHName: TEdit; YWY: TEdit; ZKAddress: TEdit; ZKTelNo: TEdit; ZKFax: TEdit; KHNameEng: TEdit; KHNameJC: TEdit; Label3: TLabel; ZKDate: TDateTimePicker; Panel4: TPanel; Label2: TLabel; Label5: TLabel; Label6: TLabel; Label16: TLabel; Label17: TLabel; Label18: TLabel; ZKPhone: TEdit; ZKPerson: TEdit; ZKEmail: TEdit; BossQQ: TEdit; BossMSN: TEdit; BossSKYPE: TEdit; Label12: TLabel; BossKJAddress: TEdit; Label33: TLabel; KHCode: TEdit; Label34: TLabel; TBSave: TToolButton; V2Column1: TcxGridDBColumn; ClientDataSet1: TClientDataSet; DataSource1: TDataSource; ClientDataSet2: TClientDataSet; DataSource2: TDataSource; ToolBar5: TToolBar; ToolButton1: TToolButton; ToolButton3: TToolButton; cxGrid4: TcxGrid; Tv4: TcxGridDBTableView; cxGridDBColumn13: TcxGridDBColumn; cxGridDBColumn14: TcxGridDBColumn; cxGridDBColumn15: TcxGridDBColumn; cxGridLevel4: TcxGridLevel; ClientDataSet4: TClientDataSet; DataSource4: TDataSource; RichEdit1: TRichEdit; cxGridPopupMenu1: TcxGridPopupMenu; cxGridPopupMenu2: TcxGridPopupMenu; cxGridPopupMenu4: TcxGridPopupMenu; Label25: TLabel; Label32: TLabel; NetAddress: TEdit; v1Column4: TcxGridDBColumn; Label35: TLabel; KHType: TBtnEditA; KHLaiYuan: TBtnEditA; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure SYRNameBtnUpClick(Sender: TObject); procedure SKBankBtnDnClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBSaveClick(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure Tv4CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure KHTypeBtnClick(Sender: TObject); procedure KHLaiYuanBtnClick(Sender: TObject); private procedure InitData(); function SaveData():Boolean; procedure SaveCDS(ClientDataSet20:TClientDataSet;Tv20:TcxGridDBTableView;maxno10:string;ZSType:String); { Private declarations } public PState,CopyInt:Integer; FMainId,FFMainId,FTFID:String; FXS,TPInt,SaveInt,TPIntOther,FWH:Integer; { Public declarations } end; var frmZHKHInPutTabNew: TfrmZHKHInPutTabNew; newh:hwnd; implementation uses U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel; {$R *.dfm} procedure TfrmZHKHInPutTabNew.TBCloseClick(Sender: TObject); begin WriteCxGrid('KH1',Tv1,'�ͻ���Ϣ'); WriteCxGrid('KH2',Tv2,'�ͻ���Ϣ'); WriteCxGrid('KH4',Tv4,'�ͻ���Ϣ'); Close; end; procedure TfrmZHKHInPutTabNew.InitData(); var fsj:string; begin cxPageControl1.ActivePageIndex:=0; ReadCxGrid('KH1',Tv1,'�ͻ���Ϣ'); ReadCxGrid('KH2',Tv2,'�ͻ���Ϣ'); ReadCxGrid('KH4',Tv4,'�ͻ���Ϣ'); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from ZH_KH_Info where ZKId='''+Trim(FMainId)+''''); Open; end; SCSHDataNew(ADOQuery1,Panel3,2); SCSHDataNew(ADOQuery1,Panel4,2); SCSHDataNew(ADOQuery1,Panel5,2); KHType.Text:=Trim(ADOQuery1.fieldbyname('KHType').AsString); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from ZH_KH_Info_Sub where ZKId='''+Trim(FMainId)+''''); sql.Add(' and ZSType=''YW'' '); Open; end; SCreateCDS20(ADOQuery1,ClientDataSet1); SInitCDSData20(ADOQuery1,ClientDataSet1); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from ZH_KH_Info_Sub where ZKId='''+Trim(FMainId)+''''); sql.Add(' and ZSType=''CW'' '); Open; end; SCreateCDS20(ADOQuery1,ClientDataSet2); SInitCDSData20(ADOQuery1,ClientDataSet2); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from ZH_KH_Info_Sub where ZKId='''+Trim(FMainId)+''''); sql.Add(' and ZSType=''QK'' '); Open; end; SCreateCDS20(ADOQuery1,ClientDataSet4); SInitCDSData20(ADOQuery1,ClientDataSet4); if PState=0 then begin ZKDate.DateTime:=SGetServerDateTime(ADOTemp); YWY.Text:=Trim(DName); end else begin end; if CopyInt=99 then begin PState:=0; FMainId:=''; end; end; procedure TfrmZHKHInPutTabNew.FormShow(Sender: TObject); begin InitData(); end; function TfrmZHKHInPutTabNew.SaveData():Boolean; var maxno,maxsubno:String; begin try ADOCmd.Connection.BeginTrans; ///�������� if Trim(FMainId)='' then begin if GetLSNo(ADOCmd,maxno,'ZK','ZH_KH_Info',3,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('ȡ����ʧ��!','��ʾ',0); Exit; end; end else begin maxno:=Trim(FMainId); end; with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from ZH_KH_Info where ZKId='''+Trim(FMainId)+''''); Open; end; with ADOCmd do begin if Trim(FMainId)='' then begin Append; end else begin Edit; end; FieldByName('ZKId').Value:=Trim(maxno); SSetsaveSqlNew(ADOCmd,'ZH_KH_Info',Panel3,2); SSetsaveSqlNew(ADOCmd,'ZH_KH_Info',Panel4,2); SSetsaveSqlNew(ADOCmd,'ZH_KH_Info',Panel5,2); FieldByName('Type').Value:='KH'; if Trim(FMainId)='' then begin FieldByName('Filler').Value:=Trim(DName); end else begin FieldByName('Editer').Value:=Trim(DName); FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); end; FieldByName('Valid').Value:='Y'; Post; end; if Trim(KHName.Text)<>'' then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select * from ZH_KH_Info where KHName='''+Trim(KHName.Text)+''''); SQL.Add(' and Type=''KH'' '); Open; end; if ADOTemp.RecordCount>1 then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('�ͻ������ظ�!','��ʾ',0); Exit; end; end; if Trim(KHCode.Text)<>'' then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select * from ZH_KH_Info where KHCode='''+Trim(KHCode.Text)+''''); SQL.Add(' and Type=''KH'' '); Open; end; if ADOTemp.RecordCount>1 then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('�ͻ�����ظ�!','��ʾ',0); Exit; end; end; if Trim(KHNameJC.Text)<>'' then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select * from ZH_KH_Info where KHNameJC='''+Trim(KHNameJC.Text)+''''); SQL.Add(' and Type=''KH'' '); Open; end; if ADOTemp.RecordCount>1 then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('�ͻ�����ظ�!','��ʾ',0); Exit; end; end; if Trim(KHNameEng.Text)<>'' then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select * from ZH_KH_Info where KHNameEng='''+Trim(KHNameEng.Text)+''''); SQL.Add(' and Type=''KH'' '); Open; end; if ADOTemp.RecordCount>1 then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('�ظ�!','��ʾ',0); Exit; end; end; SaveCDS(ClientDataSet1,Tv1,maxno,'YW'); SaveCDS(ClientDataSet2,TV2,maxno,'CW'); SaveCDS(ClientDataSet4,Tv4,maxno,'QK'); ADOCmd.Connection.CommitTrans; FMainId:=Trim(maxno); Result:=True; except Result:=False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('����ʧ�ܣ�','��ʾ',0); end; end; procedure TfrmZHKHInPutTabNew.SaveCDS(ClientDataSet20:TClientDataSet;Tv20:TcxGridDBTableView;maxno10:string;ZSType:String); var maxsubno:string; begin with ClientDataSet20 do begin First; while not Eof do begin if Trim(ClientDataSet20.fieldbyname('ZSID').AsString)='' then begin if GetLSNo(ADOCmd,maxsubno,'ZS','ZH_KH_Info_Sub',3,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('ȡ����ʧ��!','��ʾ',0); Exit; end; end else begin maxsubno:=Trim(ClientDataSet20.fieldbyname('ZSID').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from ZH_KH_Info_Sub where ZSID='''+Trim(maxsubno)+''''); Open; end; with ADOCmd do begin if Trim(ClientDataSet20.fieldbyname('ZSID').AsString)='' then begin Append; FieldByName('Filler').Value:=Trim(DName); end else begin Edit; FieldByName('Editer').Value:=Trim(DName); FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); end; FieldByName('ZKID').Value:=Trim(maxno10); FieldByName('ZSID').Value:=Trim(maxsubno); FieldByName('ZSType').Value:=Trim(ZSType); RTSetSaveDataCDS(ADOCmd,Tv20,ClientDataSet20,'ZH_KH_Info_Sub',2); Post; end; Edit; FieldByName('ZSID').Value:=Trim(maxsubno); post; Next; end; end; end; procedure TfrmZHKHInPutTabNew.SYRNameBtnUpClick(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 ShowModal=1 then begin TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZHKHInPutTabNew.SKBankBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text:=''; TBtnEditC(Sender).TxtCode:=''; end; procedure TfrmZHKHInPutTabNew.FormClose(Sender: TObject; var Action: TCloseAction); begin if SaveInt=99 then begin ModalResult:=1; end; end; procedure TfrmZHKHInPutTabNew.TBSaveClick(Sender: TObject); begin ToolBar1.SetFocus; if Trim(KHName.Text)+Trim(KHNameEng.Text)='' then begin Application.MessageBox('�ͻ����Ʋ���Ϊ�գ�','��ʾ',0); Exit; end; if Trim(KHType.Text)='' then begin Application.MessageBox('�ͻ����Ͳ���Ϊ��!','��ʾ',0); Exit; end; if SaveData() then begin Application.MessageBox('����ɹ���','��ʾ',0); SaveInt:=99; end; end; procedure TfrmZHKHInPutTabNew.ToolButton4Click(Sender: TObject); begin ClientDataSet1.Append; ClientDataSet1.Post; end; procedure TfrmZHKHInPutTabNew.ToolButton5Click(Sender: TObject); begin DelCDS(ClientDataSet1,ADOCmd,'delete ZH_KH_Info_Sub where ZSID='''+Trim(ClientDataSet1.fieldbyname('ZSID').AsString)+''''); end; procedure TfrmZHKHInPutTabNew.ToolButton2Click(Sender: TObject); begin ClientDataSet2.Append; ClientDataSet2.Post; end; procedure TfrmZHKHInPutTabNew.ToolButton6Click(Sender: TObject); begin DelCDS(ClientDataSet2,ADOCmd,'delete ZH_KH_Info_Sub where ZSID='''+Trim(ClientDataSet2.fieldbyname('ZSID').AsString)+''''); end; procedure TfrmZHKHInPutTabNew.ToolButton1Click(Sender: TObject); begin ClientDataSet4.Append; ClientDataSet4.Post; end; procedure TfrmZHKHInPutTabNew.ToolButton3Click(Sender: TObject); begin DelCDS(ClientDataSet4,ADOCmd,'delete ZH_KH_Info_Sub where ZSID='''+Trim(ClientDataSet4.fieldbyname('ZSID').AsString)+''''); end; procedure TfrmZHKHInPutTabNew.Tv4CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin RichEdit1.Text:=Trim(ClientDataSet4.fieldbyname('QKNote').AsString); end; procedure TfrmZHKHInPutTabNew.KHTypeBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='ZHKHType'; flagname:='�ͻ�����'; if ShowModal=1 then begin KHType.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZHKHInPutTabNew.KHLaiYuanBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='ZHKHLaiYuan'; flagname:='�ͻ���Դ'; if ShowModal=1 then begin KHLaiYuan.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; end.