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

📄 u_main.pas

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

//系统参数设置
procedure TMCTIForm.N2Click(Sender: TObject);
begin
     CSSZ.ShowModal;
     GetList;
end;

//系统用户管理
procedure TMCTIForm.N6Click(Sender: TObject);
begin
     With TFYHGL.Create(Application) Do
     Begin
          ShowModal;
          Free;
     End;
end;

//操作员重新登录
procedure TMCTIForm.N8Click(Sender: TObject);
begin
     With TFLogin.Create(Application) Do
     Begin
          CanNotCloseUntilOK:=False;
          ShowModal;
          Free;
     End;

     ReSetMenu(MainMenu1,CZYQX);
     N14.Caption:='操作员:'+CZYXM;

     DBComboBoxEh4.Enabled:=(Pos('故障现象',CZYQX)>0);
     DBDateTimeEditEh3.Enabled:=(Pos('派工时间',CZYQX)>0);
     DBDateTimeEditEh2.Enabled:=(Pos('完工时间',CZYQX)>0);
     DBDateTimeEditEh1.Enabled:=(Pos('预约时间',CZYQX)>0);
     DBComboBoxEh5.Enabled:=(Pos('维修/安装人',CZYQX)>0);
     DBComboBoxEh12.Enabled:=(Pos('监控判断结果',CZYQX)>0);
     DBComboBoxEh11.Enabled:=(Pos('CM在线',CZYQX)>0);
     DBEditEh7.Enabled:=(Pos('设备信噪比',CZYQX)>0);
     DBEditEh9.Enabled:=(Pos('端口利用率',CZYQX)>0);
     DBComboBoxEh6.Enabled:=(Pos('维修结果及原因',CZYQX)>0);
     DBEditEh10.Enabled:=(Pos('故障备注',CZYQX)>0);
     DBComboBoxEh10.Enabled:=(Pos('回访结果',CZYQX)>0);
end;

//修改操作员密码
procedure TMCTIForm.N11Click(Sender: TObject);
begin
     With TFEditPS.Create(Application) Do
     Begin
          ShowModal;
          Free;
     End;
end;

//显示已经选择的维修人
procedure TMCTIForm.DBComboBoxEh5EditButtons0Click(Sender: TObject;
  var Handled: Boolean);
Var I:Integer;
    Stemp:String;
begin
     CheckListBox1.Visible:=Not CheckListBox1.Visible;
     If Not CheckListBox1.Visible Then Exit;

     Stemp:=Query1.FieldByName('维修员').AsString;
     For I:=0 To CheckListBox1.Items.Count-1 Do
     CheckListBox1.Checked[I]:=Pos(CheckListBox1.Items[I],Stemp)>0;
end;

procedure TMCTIForm.DBComboBoxEh5Click(Sender: TObject);
begin
     If CheckListBox1.Visible Then CheckListBox1.Visible:=False;
end;

//选择维修人
procedure TMCTIForm.CheckListBox1ClickCheck(Sender: TObject);
Var I:Integer;
    Stemp:String;
begin
     If Not Query1.Active Then Exit;
     If Query1.State<>dsEdit Then Query1.Edit;

     Stemp:='';
     For I:=0 To CheckListBox1.Items.Count-1 Do
     If CheckListBox1.Checked[I] Then
     Begin
          If Stemp='' Then
             Stemp:=CheckListBox1.Items[I]
          Else
              Stemp:=Stemp+','+CheckListBox1.Items[I];
     End;

     Query1.FieldByName('维修员').AsString:=Stemp;
end;

procedure TMCTIForm.DataSource1StateChange(Sender: TObject);
begin
     SpeedButton1.Enabled:=(Query1.State=dsEdit);
end;

procedure TMCTIForm.N15Click(Sender: TObject);
begin
     With TZXXX.Create(Application) Do
     Begin
          ShowModal;
          Free;
     End;
     GetList;
end;

//察看相关资料
procedure TMCTIForm.SPB_DOCClick(Sender: TObject);
Var Info,Http:String;
begin
     If Not Query1.Active Then Exit;
     If Query1.FieldByName('咨询内容').IsNull Then Exit;

     Info:=Query1.FieldByName('咨询内容').AsString;
     Http:=GetHttp(Info);

     If Http='' Then
        Application.MessageBox('没有与信息相关的连接无法察看!','提示',MB_OK+MB_ICONSTOP)
     Else
     With TInfoView.Create(Application) Do
     Begin
          URL:=Http;
          Show;
     End;
     
end;

//显示日程安排
procedure TMCTIForm.SpeedButton3Click(Sender: TObject);
begin
     With TRCAP.Create(Application) Do
     Begin
          If Query1.Active Then
          If Not Query1.FieldByName('预约时间').IsNull Then
             ShowDate:=Query1.FieldByName('预约时间').AsDateTime;
          Show;
     End;
end;

procedure TMCTIForm.SPB_SEARCHClick(Sender: TObject);
begin
    If Not Query1.Active Then Exit;
    If Query1.State<>dsEdit Then Query1.Edit;

     If ((DBComboBoxEh2.Text='模拟') OR (DBComboBoxEh2.Text='')) Then
     Begin
          With TYHCZ.Create(Application) Do
          Begin
               If ShowModal=mrOK Then
               Begin
                    DBEditEh1.Text:=QueryYHXX.FieldByName('YongHDM').AsString;
                    DBEditEh2.Text:=QueryYHXX.FieldByName('XingM').AsString;
                    DBEditEh3.Text:=QueryYHXX.FieldByName('DiZ').AsString;
                    QuickSearch('','','');
               End;
               Free;
          End;
     End
     Else If DBComboBoxEh2.Text='宽带' Then
     Begin
          With TIPYHCX.Create(Application) Do
          Begin
               If ShowModal=mrOK Then
               Begin
                    DBEditEh1.Text:=QueryIPYH.FieldByName('用户代码').AsString;
                    DBEditEh2.Text:=QueryIPYH.FieldByName('用户姓名').AsString;
                    DBEditEh3.Text:=QueryIPYH.FieldByName('地址').AsString;
                    QuickSearch('','','');
               End;
               Free;
          End;
     End
     Else If DBComboBoxEh2.Text='数字' Then
     Begin
          With TYHXXCX.Create(Application) Do
          Begin
               If ShowModal=mrOK Then
               Begin
                    DBEditEh1.Text:=QueryJDH.FieldByName('用户编号').AsString;
                    DBEditEh2.Text:=QueryJDH.FieldByName('用户姓名').AsString;
                    DBEditEh3.Text:=QueryJDH.FieldByName('安装地址').AsString;
                    QuickSearch('','','');
               End;
               Free;
          End;
     End;
end;

//使用输入的内容快速查询
Procedure TMCTIForm.QuickSearch(DM,XM,DZ:String);
Var S1,S2,S3:String;

  Procedure RecToList1; //数字
  Begin
       QPub.Close;
       QPub.SQL.Clear;
       QPub.SQL.Add('Select * From '+DB_SZ+'.用户信息,'+DB_SZ+'.机顶盒 Where 机顶盒.用户编号=用户信息.用户编号');
       If S1<>'' Then QPub.SQL.Add('And 用户信息.用户编号 Like '+#39+S1+'%'+#39);
       If S2<>'' Then QPub.SQL.Add('And 用户姓名 Like '+#39+'%'+S2+'%'+#39);
       If S3<>'' Then QPub.SQL.Add('And 安装地址 Like '+#39+'%'+S3+'%'+#39);
       QPub.Open;

       While Not QPub.Eof Do
       Begin
            Inc(FindNum);
            With FindUsers[FindNum] Do
            Begin
                 LX:='数字';
                 BH:=QPub.FieldByName('用户编号').AsString;
                 ID:=-1;
                 XM:=QPub.FieldByName('用户姓名').AsString;
                 QH:=QPub.FieldByName('用户区域').AsString;
                 DZ:=QPub.FieldByName('安装地址').AsString;
                 LXR:=QPub.FieldByName('用户姓名').AsString;
                 LXFS:=QPub.FieldByName('联系电话').AsString;
                 CZRQ:=QPub.FieldByName('开户时间').AsString;
                 JFRQ:=QPub.FieldByName('计费日期').AsString;
                 IC:=QPub.FieldByName('IC卡号').AsString;
                 JDH:=QPub.FieldByName('机顶盒号').AsString;
                 MAC:='';
                 IP:='';
                 JZNY:=QPub.FieldByName('到费日期').AsString;
                 YHZT:=QPub.FieldByName('状态').AsString;
                 NZYE:=QPub.FieldByName('本机余额').AsString;
                 BZ:=QPub.FieldByName('备注').AsString;
            End;

            QPub.Next;
            If FindNum>=254 Then Break;
       End;
  End;

  Procedure RecToList2; //宽带
  Begin
       QPub.Close;
       QPub.SQL.Clear;
       QPub.SQL.Add('Select * From '+DB_KD+'.用户信息 Where 1>0');
       If S1<>'' Then QPub.SQL.Add('And 用户代码 Like '+#39+S1+'%'+#39);
       If S2<>'' Then QPub.SQL.Add('And 用户姓名 Like '+#39+'%'+S2+'%'+#39);
       If S3<>'' Then QPub.SQL.Add('And 地址 Like '+#39+'%'+S3+'%'+#39);
       QPub.Open;

       While Not QPub.Eof Do
       Begin
            Inc(FindNum);
            With FindUsers[FindNum] Do
            Begin
                 LX:='宽带';
                 BH:=QPub.FieldByName('用户代码').AsString;
                 ID:=QPub.FieldByName('ID').AsInteger;
                 XM:=QPub.FieldByName('用户姓名').AsString;
                 QH:='';
                 DZ:=QPub.FieldByName('地址').AsString;
                 LXR:=QPub.FieldByName('用户姓名').AsString;
                 LXFS:=QPub.FieldByName('联系方式').AsString;
                 CZRQ:=QPub.FieldByName('安装日期').AsString;
                 JFRQ:=QPub.FieldByName('计费日期').AsString;
                 IC:='';
                 JDH:='';
                 MAC:=QPub.FieldByName('MAC地址').AsString;
                 IP:=QPub.FieldByName('IP地址').AsString;
                 JZNY:=QPub.FieldByName('到费日期').AsString;
                 YHZT:=QPub.FieldByName('用户状态').AsString;
                 NZYE:='';
                 BZ:=QPub.FieldByName('备注').AsString;
                 KDLX:=QPub.FieldByName('宽带用户类型').AsString;
            End;

            QPub.Next;
            If FindNum>=254 Then Break;
       End;
  End;

  Procedure RecToList3; //模拟
  Begin
       QPub.Close;
       QPub.SQL.Clear;
       QPub.SQL.Add('Select * From '+DB_MN+'.YHXX Where 1>0');
       If S1<>'' Then QPub.SQL.Add('And YongHDM Like '+#39+S1+'%'+#39);
       If S2<>'' Then QPub.SQL.Add('And XingM Like '+#39+'%'+S2+'%'+#39);
       If S3<>'' Then QPub.SQL.Add('And DiZ Like '+#39+'%'+S3+'%'+#39);
       QPub.Open;

       While Not QPub.Eof Do
       Begin
            Inc(FindNum);
            With FindUsers[FindNum] Do
            Begin
                 LX:='模拟';
                 BH:=QPub.FieldByName('YongHDM').AsString;
                 ID:=-1;
                 XM:=QPub.FieldByName('XingM').AsString;
                 QH:=QPub.FieldByName('QuH').AsString;
                 DZ:=QPub.FieldByName('DiZ').AsString;
                 LXR:=QPub.FieldByName('XingM').AsString;
                 LXFS:=QPub.FieldByName('DianH').AsString;
                 ZZDS:=QPub.FieldByName('ZhongDS').AsInteger;
                 FZDS:=QPub.FieldByName('ZhongDS2').AsInteger;
                 CZRQ:=QPub.FieldByName('ChuZRQ').AsString;
                 JFRQ:=QPub.FieldByName('JiFRQ').AsString;
                 IC:='';
                 JDH:='';
                 MAC:='';
                 IP:='';
                 JZNY:=QPub.FieldByName('JZNY').AsString;
                 YHZT:=QPub.FieldByName('YHZT').AsString;
                 NZYE:=QPub.FieldByName('YuE12').AsString;
                 BZ:=QPub.FieldByName('BeiZ').AsString;
            End;

            QPub.Next;
            If FindNum>=254 Then Break;
       End;
  End;
Begin
     FindNum:=-1;
     Idx:=-1;
     If Not Query1.Active Then Exit;
     If Query1.FieldByName('序号').IsNull Then Exit;

     If ((DM='') AND (XM='') AND (DZ='')) Then
     Begin
          S1:=DBEditEh1.Text;
          S2:=DBEditEh2.Text;
          S3:=DBEditEh3.Text;
     End
     Else
     Begin
          S1:=DM;
          S2:=XM;
          S3:=DZ;
     End;

     If ((S1='') AND (S2='') AND (S3='')) Then
     Begin
          Application.MessageBox('请输入至少一个查询条件!','提示',MB_OK+MB_ICONSTOP);
          Exit;
     End;

     If Query1.FieldByName('业务类型').AsString='数字' Then RecToList1
     Else If Query1.FieldByName('业务类型').AsString='宽带' Then RecToList2
     Else RecToList3;

     //选择查询结果
     If FindNum=0 Then
        Idx:=0
     Else If FindNum>0 Then
     Begin
          If UserView.ShowModal=mrOK Then
             Idx:=UserView.SelIndex;
     End;

     If Idx>=0 Then
     Begin
          If FindUsers[Idx].LX='模拟' Then
          Begin
               FindNum:=Idx;
               FindUsers[Idx+1].LX:='';

               S1:=FindUsers[Idx].BH; S2:=''; S3:='';
               RecToList2;
          End
          Else If FindUsers[Idx].LX='宽带' Then
          Begin
               FindNum:=Idx;
               FindUsers[Idx+1].LX:='';

               S1:=FindUsers[Idx].BH; S2:=''; S3:='';
               RecToList3;
          End;

          If ((DM='') AND (XM='') AND (DZ='') AND (Pos('修改业务信息',CZYQX)>0)) Then
             GetData(True)
          Else
              GetData(False);
     End;
End;

//根据查询得到的代码 得到数据 显示相关信息
Procedure TMCTIForm.GetData(EditData:Boolean);
Begin
     If Idx<0 Then Exit;

     If EditData Then
     Begin
          If Query1.State<>dsEdit Then Query1.Edit;
          Query1.FieldByName('用户编码').AsString:=FindUsers[Idx].BH;
          Query1.FieldByName('用户名').AsString:=FindUsers[Idx].XM;
          DBEditEh2.Text:=FindUsers[Idx].XM;
          Query1.FieldByName('片区').AsString:=FindUsers[Idx].QH;
          Query1.FieldByName('地址').AsString:=FindUsers[Idx].DZ;
          DBEditEh3.Text:=FindUsers[Idx].DZ;
          //If Query1.FieldByName('联系人').IsNull Then
          Query1.FieldByName('联系人').AsString:=FindUsers[Idx].LXR;
          //If Query1.FieldByName('联系方式').IsNull Then
          Query1.FieldByName('联系方式').AsString:=FindUsers[Idx].LXFS;
          //Query1.Post;
     End;

     Memo1.Lines.Clear;
     Memo1.Lines.Add('-----------------------------------'+FindUsers[Idx].LX+'-----------------------------------');
     Memo1.Lines.Add(Format('%10s %-40s %10s %-30s',['初装日期:',FindUsers[Idx].CZRQ,'计费日期:',FindUsers[Idx].JFRQ]));
     Memo1.Lines.Add(Format('%10s %-40s %10s %-30s',['交至年月:',FindUsers[Idx].JZNY,'用户状态:',FindUsers[Idx].YHZT]));
     If FindUsers[Idx].LX='宽带' Then
        Memo1.Lines.Add(Format('%10s %-40s',['宽带类型:',FindUsers[Idx].KDLX]));
     Memo1.Lines.Add(Format('%10s %-40s',['余    额:',FindUsers[Idx].NZYE]));

     If FindUsers[Idx].LX='模拟' Then
        Memo1.Lines.Add(Format('%10s %-40d %10s %-30d',['主终端数:',FindUsers[Idx].ZZDS,'副终端数:',FindUsers[Idx].FZDS]));

     If FindUsers[Idx].LX='宽带' Then
     Memo1.Lines.Add(Format('%10s %-40s %10s %-30s',['MAC     :',FindUsers[Idx].MAC,'IP      :',FindUsers[Idx].IP]));

     If FindUsers[Idx].LX='数字' Then
     Memo1.Lines.Add(Format('%10s %-40s %10s %-30s',['IC卡    :',FindUsers[Idx].IC,'机顶盒  :',FindUsers[Idx].JDH]));

     Memo1.Lines.Add(Format('%10s %-40s',['备    注:',FindUsers[Idx].BZ]));

     If FindUsers[Idx].LX='模拟' Then
     Begin
          //显示宽带相关信息
          If FindUsers[Idx+1].LX='宽带' Then
          Begin
               Memo1.Lines.Add('-----------------------------------宽带-----------------------------------');
               Memo1.Lines.Add(Format('%10s %-40s %10s %-30s',['初装日期:',FindUsers[Idx+1].CZRQ,'计费日期:',FindUsers[Idx+1].JFRQ]));
               Memo1.Lines.Add(Format('%10s %-40s %10s %-30s',['交至年月:',FindUsers[Idx+1].JZNY,'用户状态:',FindUsers[Idx+1].YHZT]));
               Memo1.Lines.Add(Format('%10s %-40s',['余    额:',FindUsers[Idx+1].NZYE]));
               Memo1.Lines.Add(Format('%10s %-40s %10s %-30s',['MAC     :',FindUsers[Idx+1].MAC,'IP      :',FindUsers[Idx+1].IP]));

               Memo1.Lines.Add(Format('%10s %-40s',['备    注:',FindUsers[Idx+1].BZ]));
          End;
     End
     Else If FindUsers[Idx].LX='宽带' Then
     Begin
          //显示模拟相关信息
          If FindUsers[Idx+1].LX='模拟' Then
          Begin
               Memo1.Lines.Add('-----------------------------------模拟-----------------------------------');
               Memo1.Lines.Add(Format('%10s %-40s %10s %-30s',['初装日期:',FindUsers[Idx+1].CZRQ,'计费日期:',FindUsers[Idx+1].JFRQ]));
               Memo1.Lines.Add(Format('%10s %-40s %10s %-30s',['交至年月:',FindUsers[Idx+1].JZNY,'用户状态:',FindUsers[Idx+1].YHZT]));
               Memo1.Lines.Add(Format('%10s %-40s',['余    额:',FindUsers[Idx+1].NZYE]));

               Memo1.Lines.Add(Format('%10s %-40s',['备    注:',FindUsers[Idx+1].BZ]));
          End;
     End;
End;

//用用户代码查询
procedure TMCTIForm.DBEditEh3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
     If Key<>VK_Return Then Exit;

     If ((Sender=DBEditEh1) AND (DBEditEh1.Text<>'')) Then
     Begin
          DBEditEh2.Text:='';
          DBEditEh3.Text:='';
     End;
     QuickSearch('','','');
end;

procedure TMCTIForm.DBEditEh1DblClick(Sender: TObject);

⌨️ 快捷键说明

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