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

📄 u_main.pas

📁 语音坐席,支持录音及语音回访,和自动催款
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit U_Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls, ToolWin, ImgList, ExtCtrls, StdCtrls, Buttons,
  Mask, DBCtrlsEh, DBCtrls, INIFIleS, DB, DBTables, MMSystem, OleCtrls,
  CheckLst, pngimage, Grids, DBGridEh, TB97, TB97Tlwn, NetMapV2, XPMan, ShellAPI,
  DBGrids, PPanel, menubtn;

type
  TMCTIForm = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    StatusBar1: TStatusBar;
    ImageList1: TImageList;
    Panel1: TPanel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    SPB_PLAY: TSpeedButton;
    SPB_RECORD: TSpeedButton;
    Label6: TLabel;
    Label7: TLabel;
    Bevel2: TBevel;
    Label8: TLabel;
    Label1: TLabel;
    Bevel1: TBevel;
    Image1: TImage;
    Label9: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label11: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Bevel5: TBevel;
    Label18: TLabel;
    SPB_SEARCH: TSpeedButton;
    SPB_BUSY: TSpeedButton;
    SPB_MOVE: TSpeedButton;
    Bevel8: TBevel;
    DBComboBoxEh1: TDBComboBoxEh;
    DBComboBoxEh2: TDBComboBoxEh;
    DBText1: TDBText;
    Timer1: TTimer;
    Database1: TDatabase;
    Query1: TQuery;
    UpdateSQL1: TUpdateSQL;
    DataSource1: TDataSource;
    DBText2: TDBText;
    DBText3: TDBText;
    DBText4: TDBText;
    SpeedButton1: TSpeedButton;
    DBNavigator1: TDBNavigator;
    DBEditEh1: TDBEditEh;
    DBEditEh2: TDBEditEh;
    DBComboBoxEh3: TDBComboBoxEh;
    DBEditEh3: TDBEditEh;
    DBEditEh4: TDBEditEh;
    DBEditEh5: TDBEditEh;
    Query2: TQuery;
    Query2BDEDesigner: TFloatField;
    Query2BDEDesigner2: TBlobField;
    N2: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    SPB_Stop: TSpeedButton;
    Bevel9: TBevel;
    SpeedButton2: TSpeedButton;
    N15: TMenuItem;
    QPub: TQuery;
    ScrollBox1: TScrollBox;
    PaintBox1: TPaintBox;
    Memo1: TMemo;
    Label26: TLabel;
    SpeedButton4: TSpeedButton;
    CZY: TListBox;
    SpeedButton5: TSpeedButton;
    DBText5: TDBText;
    DBText7: TDBText;
    DBText8: TDBText;
    Label2: TLabel;
    Label30: TLabel;
    N16: TMenuItem;
    N3: TMenuItem;
    DBEditEh6: TDBEditEh;
    N4: TMenuItem;
    N5: TMenuItem;
    ToolWindow971: TToolWindow97;
    DBGridEh1: TDBGridEh;
    SpeedButton6: TSpeedButton;
    DBText9: TDBText;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    ToolWindowMap: TToolWindow97;
    N21: TMenuItem;
    N22: TMenuItem;
    NetMap1: TNetMap;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    XPManifest1: TXPManifest;
    Label20: TLabel;
    DBComboBoxEh4: TDBComboBoxEh;
    Label23: TLabel;
    DBComboBoxEh5: TDBComboBoxEh;
    Label21: TLabel;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    SpeedButton3: TSpeedButton;
    CheckListBox1: TCheckListBox;
    Label22: TLabel;
    DBDateTimeEditEh2: TDBDateTimeEditEh;
    SpeedButton7: TSpeedButton;
    Label24: TLabel;
    DBComboBoxEh6: TDBComboBoxEh;
    Label32: TLabel;
    DBComboBoxEh10: TDBComboBoxEh;
    Label25: TLabel;
    DBComboBoxEh7: TDBComboBoxEh;
    SPB_DOC: TSpeedButton;
    Label28: TLabel;
    DBComboBoxEh8: TDBComboBoxEh;
    Label27: TLabel;
    DBComboBoxEh9: TDBComboBoxEh;
    Label29: TLabel;
    DBEditEh8: TDBEditEh;
    Label16: TLabel;
    DBComboBoxEh11: TDBComboBoxEh;
    Label17: TLabel;
    Label19: TLabel;
    Label34: TLabel;
    DBEditEh7: TDBEditEh;
    DBEditEh9: TDBEditEh;
    DBComboBoxEh12: TDBComboBoxEh;
    Label31: TLabel;
    DBText10: TDBText;
    DBText11: TDBText;
    N23: TMenuItem;
    N24: TMenuItem;
    N25: TMenuItem;
    Label33: TLabel;
    DBEditEh10: TDBEditEh;
    Label35: TLabel;
    DBComboBoxEh13: TDBComboBoxEh;
    N26: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N29: TMenuItem;
    Label36: TLabel;
    DBDateTimeEditEh3: TDBDateTimeEditEh;
    QueryBD: TQuery;
    UpdateSQL2: TUpdateSQL;
    Session1: TSession;
    Database2: TDatabase;
    Label37: TLabel;
    StringGrid1: TStringGrid;
    BitBtn1: TBitBtn;
    N30: TMenuItem;
    PPanel2: TPPanel;
    Bevel3: TBevel;
    Bevel4: TBevel;
    Label40: TLabel;
    Label41: TLabel;
    Bevel6: TBevel;
    Bevel7: TBevel;
    Bevel10: TBevel;
    Bevel11: TBevel;
    Bevel12: TBevel;
    Bevel13: TBevel;
    Bevel14: TBevel;
    Bevel15: TBevel;
    Bevel16: TBevel;
    Bevel17: TBevel;
    Bevel18: TBevel;
    Label42: TLabel;
    Label43: TLabel;
    Label44: TLabel;
    Label45: TLabel;
    Label46: TLabel;
    Label47: TLabel;
    Label48: TLabel;
    Label49: TLabel;
    Label50: TLabel;
    Label51: TLabel;
    Label52: TLabel;
    Label53: TLabel;
    Label54: TLabel;
    Label55: TLabel;
    Bevel26: TBevel;
    Bevel27: TBevel;
    Bevel28: TBevel;
    Bevel29: TBevel;
    Bevel30: TBevel;
    Label56: TLabel;
    Label57: TLabel;
    Label58: TLabel;
    Label59: TLabel;
    Label60: TLabel;
    Label61: TLabel;
    Label62: TLabel;
    Label63: TLabel;
    Label64: TLabel;
    Label65: TLabel;
    Label66: TLabel;
    Bevel19: TBevel;
    Label67: TLabel;
    Label68: TLabel;
    Label69: TLabel;
    Label70: TLabel;
    Label71: TLabel;
    Bevel35: TBevel;
    Bevel36: TBevel;
    Label72: TLabel;
    Label73: TLabel;
    Label74: TLabel;
    Label75: TLabel;
    Bevel20: TBevel;
    Bevel23: TBevel;
    Bevel24: TBevel;
    Bevel25: TBevel;
    Bevel31: TBevel;
    Bevel32: TBevel;
    Bevel33: TBevel;
    Label76: TLabel;
    Bevel34: TBevel;
    Bevel37: TBevel;
    Bevel38: TBevel;
    Bevel39: TBevel;
    Label77: TLabel;
    Label78: TLabel;
    Label79: TLabel;
    Label80: TLabel;
    Label81: TLabel;
    Label82: TLabel;
    Bevel40: TBevel;
    Bevel41: TBevel;
    Bevel44: TBevel;
    Bevel45: TBevel;
    Bevel46: TBevel;
    Bevel47: TBevel;
    Label83: TLabel;
    Label84: TLabel;
    Label85: TLabel;
    Label86: TLabel;
    Label87: TLabel;
    Label88: TLabel;
    DBText15: TDBText;
    DBText16: TDBText;
    DBText12: TDBText;
    DBText17: TDBText;
    DBText6: TDBText;
    DBText18: TDBText;
    DBText13: TDBText;
    DBText19: TDBText;
    DBText14: TDBText;
    DBText20: TDBText;
    Label38: TLabel;
    LabelMac: TLabel;
    LabelMac2: TLabel;
    MenuButton1: TMenuButton;
    PopupMenu1: TPopupMenu;
    N31: TMenuItem;
    N32: TMenuItem;
    DBText21: TDBText;
    DBText22: TDBText;
    Label39: TLabel;
    Label89: TLabel;
    Bevel21: TBevel;
    LabelSFZH: TLabel;
    LabelSFZH2: TLabel;
    N33: TMenuItem;
    N34: TMenuItem;
    N35: TMenuItem;
    procedure PaintBox1Paint(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Query1AfterPost(DataSet: TDataSet);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SPB_RECORDClick(Sender: TObject);
    procedure Query1BeforePost(DataSet: TDataSet);
    procedure Query1BeforeClose(DataSet: TDataSet);
    procedure SPB_PLAYClick(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure DBComboBoxEh5EditButtons0Click(Sender: TObject;
      var Handled: Boolean);
    procedure N6Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure DBComboBoxEh5Click(Sender: TObject);
    procedure CheckListBox1ClickCheck(Sender: TObject);
    procedure SPB_StopClick(Sender: TObject);
    procedure DataSource1StateChange(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure SPB_DOCClick(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SPB_SEARCHClick(Sender: TObject);
    procedure DBEditEh3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBEditEh1DblClick(Sender: TObject);
    procedure Query1AfterOpen(DataSet: TDataSet);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure DBComboBoxEh2Change(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure ToolWindowMapResize(Sender: TObject);
    procedure N23Click(Sender: TObject);
    procedure N26Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N29Click(Sender: TObject);
    procedure Database1AfterConnect(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure N30Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure DBDateTimeEditEh3DblClick(Sender: TObject);
    procedure DBDateTimeEditEh2DblClick(Sender: TObject);
    procedure N33Click(Sender: TObject);
    procedure N34Click(Sender: TObject);
    procedure N35Click(Sender: TObject);
  private
    { Private declarations }
    {MNDM:String;                               //模拟用户代码
    SZDM:String;                                //数字用户代码
    KDID:Integer;                               //宽带 ID}
    Idx:Integer;                                //选中记录所引
    LastOpened:Integer;                         //最后已经打开的记录
    DH:String;

    Procedure ShowHint(Sender: TObject);
    Procedure SoundPlay;
    Procedure SoundStop;

    Procedure GetList;                          //常用选择项列表
    Function  GetHttp(Info:String):String;      //得到相关的 超级连接

    Procedure QuickSearch(DM,XM,DZ:String);     //使用输入的内容快速查询
    Procedure GetData(EditData:Boolean);        //根据查询得到的代码 得到数据 显示相关信息

    Function  CheckRepeat:Boolean;              //是否一天第二次
  public
    { Public declarations }
  end;

  //通道流程状态
  TRUNK_RECORD = Packed Record
   chIndex:Shortint;   //通道号
   LinkedCH:Shortint;  //相连通道号
   chType:Shortint;    //通道类型
   chState:Shortint;   //通道状态
   wfState:Shortint;   //流程状态

   ToCh:Shortint;      //转移到指定通道

   Phone:String[12];   //来电号码
   DTMF:String[16];
   NewSN:LongInt;      //新业务的序号

   ComputerName:String[8];//坐席机器名
   LastTime:LongInt;   //最近一次通讯时间
   chOK:Boolean;       //已连线且没有示忙
   chOL:Boolean;       //是否在线

   TimeStart:LongInt;  //流程开始时间
   TimeLimit:LongInt;  //当前流程时间限制
  end;

  TWorker=Record
    ID:Byte;              //通道号
    Name:String[16];      //操作员
    State:Byte;           //状态
    Selected:Boolean;     //选中
  End;

  TUserInfo=Record
    LX:String;
    BH:String;
    ID:Integer;
    XM:String;
    QH:String;
    DZ:String;
    ZZDS,FZDS:Integer;
    LXR:String;
    LXFS:String;
    CZRQ:String;
    JFRQ:String;
    IC:String;
    JDH:String;
    MAC:String;
    IP:String;
    JZNY:String;
    YHZT:String;
    NZYE:String;
    BZ:String;
    KDLX:String;
  End;

var
  MCTIForm: TMCTIForm;
  WorkerNum:Byte=6;          //内线数量
  Workers:Array[1..16] Of TWorker;
  ChannelS:array[0..127] of TRUNK_RECORD;
  FindUsers:Array[0..255] Of TUserInfo;
  FindNum:Integer=0;
  UserMsg:String;
  MsgTime:TDateTime;

  DB_MN:String  =  'CATV3';
  DB_KD:String  =  'CATVIP';
  DB_SZ:String  =  'DTV';
  DB_GIS:String =  'SL3000';

implementation
uses U_Pub, U_CSSZ, U_YHGL, U_EDPS, U_Login, U_ZXXX, U_InfoView, U_RCAP,
  U_YHCZ1, U_IPYHCX, U_YHXXCX, U_UserView1, U_QForm, U_About, U_DataView,
  U_SendMsg, U_KDSQXX, U_YHDW, U_IPYHDJ, U_BCCX, U_GZFLTJ, U_KDAZPGCX,
  U_MNGZPGCX, U_KDGZPGCX, U_JDHGZPGCX, U_KDYLTJ, U_FWSCTJ;
{$R *.dfm}

Procedure TMCTIForm.ShowHint(Sender: TObject);
Begin
     StatusBar1.Panels[0].Text:=Application.Hint;
End;
procedure TMCTIForm.FormCreate(Sender: TObject);
Var AIniFile:TIniFile;
begin
     Application.OnHint:=ShowHint;
     DoubleBuffered:=True;
     PageControl1.DoubleBuffered:=True;
     UserMsg:='';
     LastOpened:=-1;

     AIniFile:=TIniFile.Create('CTI.INI');

     //AIniFile.WriteString('服务器','地址','135.0.0.70');
     //AIniFile.WriteInteger('服务器','端口',4000);
     //AIniFile.WriteString('数据库','模拟','CATV3');
     //AIniFile.WriteString('数据库','宽带','CATVIP');
     //AIniFile.WriteString('数据库','数字','DTV');
     //AIniFile.WriteString('数据库','地理信息','SL3000');
     DB_MN:=AIniFile.ReadString('数据库','模拟','CATV3');
     DB_KD:=AIniFile.ReadString('数据库','宽带','CATVIP');
     DB_SZ:=AIniFile.ReadString('数据库','数字','DTV');
     DB_GIS:=AIniFile.ReadString('数据库','地理信息','SL3000');

⌨️ 快捷键说明

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