⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_ipyhdj.pas

📁 语音坐席,支持录音及语音回访,和自动催款
💻 PAS
字号:
unit U_IPYHDJ;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, DBCtrlsEh, Mask, DB, ExtCtrls, Buttons,
  DBTables, ComCtrls, Grids, DBGridEh;

type
  TIPYHDJ = class(TForm)
    DSIPYH: TDataSource;
    DBNavigator1: TDBNavigator;
    BitBtn1: TBitBtn;
    QIPYHXX: TQuery;
    QIPPub: TQuery;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label14: TLabel;
    Label10: TLabel;
    Label16: TLabel;
    Label2: TLabel;
    DBEdit1: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit6: TDBEdit;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    DBMemo1: TDBMemo;
    DBComboBox1: TDBComboBox;
    DBComboBox2: TDBComboBox;
    DBEdit2: TDBEdit;
    Label11: TLabel;
    Label8: TLabel;
    DBDateTimeEditEh2: TDBDateTimeEditEh;
    DBEdit5: TDBEdit;
    QIPSBXX: TQuery;
    UpdateSQL1: TUpdateSQL;
    UpdateSQL2: TUpdateSQL;
    DataSource1: TDataSource;
    Label5: TLabel;
    Label9: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label15: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    DBComboBox3: TDBComboBox;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit13: TDBEdit;
    DBGridEh1: TDBGridEh;
    QIPCLXX: TQuery;
    UpdateSQL3: TUpdateSQL;
    DataSource2: TDataSource;
    Label20: TLabel;
    DBComboBox4: TDBComboBox;
    Memo1: TMemo;
    BitBtn2: TBitBtn;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure QIPYHXXNewRecord(DataSet: TDataSet);
    procedure QIPYHXXBeforePost(DataSet: TDataSet);
    procedure QIPYHXXAfterPost(DataSet: TDataSet);
    procedure PageControl1Change(Sender: TObject);
    procedure QIPSBXXNewRecord(DataSet: TDataSet);
    procedure QIPCLXXBeforePost(DataSet: TDataSet);
    procedure QIPYHXXBeforeEdit(DataSet: TDataSet);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    YHDM:String;
  end;

var
  IPYHDJ: TIPYHDJ;

implementation
Uses U_CSSZ, U_Pub, U_Main;
{$R *.dfm}

procedure TIPYHDJ.FormShow(Sender: TObject);
begin
     QIPPub.Close;
     QIPPub.SQL.Clear;
     QIPPub.SQL.Add('Select 报装来源 From  CATVIP.系统设置');
     QIPPub.Open;
     Memo1.Lines.Text:=QIPPub.FieldByName('报装来源').AsString;
     DBComboBox2.Items.Assign(Memo1.Lines);

     DBComboBox1.Items.Assign(CSSZ.DBMemo3.Lines);
     DBComboBox3.Items.Assign(CSSZ.DBMemo15.Lines);

     If YHDM<>'' Then
     Begin
          QIPYHXX.Close;
          While QIPYHXX.SQL.Count>1 Do QIPYHXX.SQL.Delete(1);
          QIPYHXX.SQL.Add('Where 用户代码='+QuotedStr(YHDM));
     End;
     QIPYHXX.Open;
     QIPYHXX.First;

     If QIPYHXX.Eof Then
     If QIPYHXX.FieldByName('用户姓名').AsString='' Then
     Begin
          QIPYHXX.Edit;
          If QIPYHXX.FieldByName('安装人员').AsString='' Then QIPYHXX.FieldByName('安装人员').AsString:=MCTIForm.Query1.FieldByName('维修员').AsString;
          If QIPYHXX.FieldByName('用户姓名').AsString='' Then QIPYHXX.FieldByName('用户姓名').AsString:=MCTIForm.Query1.FieldByName('用户名').AsString;
          If QIPYHXX.FieldByName('地址').AsString='' Then     QIPYHXX.FieldByName('地址').AsString:=MCTIForm.Query1.FieldByName('地址').AsString;
          If QIPYHXX.FieldByName('联系方式').AsString='' Then QIPYHXX.FieldByName('联系方式').AsString:=MCTIForm.Query1.FieldByName('联系方式').AsString;

          If YHDM<>'' Then
          If QIPYHXX.State=dsInsert Then
          Begin
               //???
               QIPYHXX.Post;
               QIPYHXX.Close;
               QIPYHXX.Open;
          End;
     End;
end;

procedure TIPYHDJ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     //If DSIPYH.DataSet.State=dsEdit Then DSIPYH.DataSet.Post;

     If QIPYHXX.FieldByName('ID').AsInteger>0 Then
        CSSZ.CalaIP(QIPYHXX.FieldByName('ID').AsInteger);
end;

procedure TIPYHDJ.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
     If Key=VK_Return Then SelectNext(ActiveControl,True,True);
end;

procedure TIPYHDJ.QIPYHXXNewRecord(DataSet: TDataSet);
begin
     DSIPYH.DataSet.FieldByName('用户代码').AsString:=YHDM;
     DSIPYH.DataSet.FieldByName('办理日期').AsDateTime:=CSSZ.SysDateTime;
     DSIPYH.DataSet.FieldByName('操作员').AsString:=CZYXM;
end;

procedure TIPYHDJ.QIPYHXXBeforePost(DataSet: TDataSet);
begin
     //If QIPYHXX.FieldByName('用户状态').IsNull Then
        QIPYHXX.FieldByName('用户状态').AsString:='正式开通';
     If Not QIPYHXX.FieldByName('ID').IsNull Then Exit;

     QIPPub.Close;
     QIPPUb.SQL.Clear;
     QIPPub.SQL.Add('Select Max(ID) MaxID From CATVIP.用户信息');
     QIPPub.Open;

     QIPYHXX.FieldByName('ID').AsInteger:=QIPPub.FieldByName('MaxID').AsInteger+1;
     QIPPub.Close;
end;

procedure TIPYHDJ.QIPYHXXAfterPost(DataSet: TDataSet);
begin
     TQuery(DataSet).ApplyUpdates;
     TQuery(DataSet).CommitUpdates;
end;

//改变 显示内容
procedure TIPYHDJ.PageControl1Change(Sender: TObject);
Var I:Integer;
begin
     If PageControl1.ActivePageIndex=1 Then
     Begin
          QIPSBXX.Close;

          If Not QIPYHXX.Active Then Exit;
          If QIPYHXX.FieldByName('ID').IsNull Then Exit;

          While QIPSBXX.SQL.Count>1 Do QIPSBXX.SQL.Delete(1);
          QIPSBXX.SQL.Add('Where ID='+QIPYHXX.FieldByName('ID').AsString);
          QIPSBXX.Open;

          DBNavigator1.DataSource:=DataSource1;
          DBNavigator1.VisibleButtons:=[nbPost,nbCancel];
     End
     Else If PageControl1.ActivePageIndex=2 Then
     Begin
          QIPCLXX.Close;

          If Not QIPYHXX.Active Then Exit;
          If QIPYHXX.FieldByName('ID').IsNull Then Exit;

          While QIPCLXX.SQL.Count>1 Do QIPCLXX.SQL.Delete(1);
          QIPCLXX.SQL.Add('Where ID='+QIPYHXX.FieldByName('ID').AsString);
          QIPCLXX.Open;

          //尚无记录
          If QIPCLXX.FieldByName('ID').IsNull Then
          For I:=0 To CSSZ.DBMemo16.Lines.Count-1 Do
          Begin
               QIPCLXX.Append;
               QIPCLXX.FieldByName('ID').AsInteger:=QIPYHXX.FieldByName('ID').AsInteger;
               QIPCLXX.FieldByName('SN').AsInteger:=I+1;
               QIPCLXX.FieldByName('项目').AsString:=CSSZ.DBMemo16.Lines[I];
               QIPCLXX.Post;
          End;

          DBNavigator1.DataSource:=DataSource2;
          DBNavigator1.VisibleButtons:=[nbInsert,nbDelete,nbPost,nbCancel];
     End
     Else
     Begin
          DBNavigator1.DataSource:=DSIPYH;
          DBNavigator1.VisibleButtons:=[nbPost,nbCancel];
     End;
end;

procedure TIPYHDJ.QIPSBXXNewRecord(DataSet: TDataSet);
begin
     QIPSBXX.FieldByName('ID').AsInteger:=QIPYHXX.FieldByName('ID').AsInteger;
end;

procedure TIPYHDJ.QIPCLXXBeforePost(DataSet: TDataSet);
begin
     If Not QIPCLXX.FieldByName('ID').IsNull Then Exit;

     QIPPub.SQL.Clear;
     QIPPub.SQL.Add('Select Max(SN) MaxSN From CATVIP.材料信息 Where ID='+QIPYHXX.FieldByName('ID').AsString);
     QIPPub.Open;

     QIPCLXX.FieldByName('ID').AsInteger:=QIPYHXX.FieldByName('ID').AsInteger;
     QIPCLXX.FieldByName('SN').AsInteger:=QIPPub.FieldByName('MaxSN').AsInteger+1;
     QIPPub.Close;
end;

procedure TIPYHDJ.QIPYHXXBeforeEdit(DataSet: TDataSet);
begin
     If Not QIPYHXX.FieldByName('计费日期').IsNull Then Abort;
end;

procedure TIPYHDJ.BitBtn2Click(Sender: TObject);
begin
     If Not(QIPYHXX.State In [dsInsert,dsEdit]) Then QIPYHXX.Edit;

     If QIPYHXX.FieldByName('安装人员').AsString='' Then QIPYHXX.FieldByName('安装人员').AsString:=MCTIForm.Query1.FieldByName('维修员').AsString;
     If QIPYHXX.FieldByName('用户姓名').AsString='' Then QIPYHXX.FieldByName('用户姓名').AsString:=MCTIForm.Query1.FieldByName('用户名').AsString;
     If QIPYHXX.FieldByName('地址').AsString='' Then     QIPYHXX.FieldByName('地址').AsString:=MCTIForm.Query1.FieldByName('地址').AsString;
     If QIPYHXX.FieldByName('联系方式').AsString='' Then QIPYHXX.FieldByName('联系方式').AsString:=MCTIForm.Query1.FieldByName('联系方式').AsString;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -