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

📄 u_main.pas

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

//显示用户相关信息
procedure TMCTIForm.Query1AfterOpen(DataSet: TDataSet);
begin
     Memo1.Lines.Clear;
     GetList;

     ToolWindow971.Caption:='数据浏览  记录数:'+IntToStr(Query1.RecordCount);
end;

//条件查询
procedure TMCTIForm.SpeedButton2Click(Sender: TObject);
begin
     If QForm.ShowModal=mrOK Then
     Begin
          Query1.Close;
          While Query1.SQL.Count>1 Do Query1.SQL.Delete(1);
          Query1.SQL.Add('Where 1>0');
          Query1.SQL.AddStrings(QForm.MemoSQL.Lines);
          Query1.SQL.Add('Order By 序号');
          Query1.Open;
     End;
end;

//显示用户信息
procedure TMCTIForm.SpeedButton5Click(Sender: TObject);
begin
     If Not Query1.Active Then Exit;

     //If Query1.FieldByName('用户名').AsString<>'' Then
     Memo1.Lines.Clear;
     QuickSearch(DBEditEh1.Text,DBEditEh2.Text,DBEditEh3.Text);
end;

procedure TMCTIForm.N16Click(Sender: TObject);
begin
     With TAboutBox.Create(Application) Do
     Begin
          ShowModal;
          Free;
     End;
end;

//服务单查询
procedure TMCTIForm.N3Click(Sender: TObject);
begin
     With TDataView.Create(Application) Do
     Begin
          ShowModal;
          Free;
     End;
end;

//是否一天第二次
Function  TMCTIForm.CheckRepeat:Boolean;
begin
     Result:=False;
     
     // 电话 或 编号相同 且 序号不同的记录
     If Not Query1.Active Then Exit;
     If Query1.FieldByName('序号').IsNull Then Exit;
     If Query1.FieldByName('电话').IsNull Then Exit;

     DH:=Query1.FieldByName('电话').AsString;

     QPub.Close;
     QPub.SQL.Clear;
     QPub.SQL.Add('Select Count(*) As SL From 服务单 Where 1>0');
     QPub.SQL.Add('And 电话='+QuotedStr(DH));
     QPub.SQL.Add('And To_Char(时间,''YYYY-MM-DD'')=To_Char(SysDate,''YYYY-MM-DD'')');
     QPub.SQL.Add('And 序号<>'+Query1.FieldByName('序号').AsString);
     QPub.Open;

     If QPub.FieldByName('SL').AsInteger>0 Then Result:=True;
End;

//历史服务记录
procedure TMCTIForm.SpeedButton4Click(Sender: TObject);
Var DH,BH:String;
begin
     // 电话 或 编号相同 且 序号不同的记录
     If Not Query1.Active Then Exit;
     If Query1.FieldByName('序号').IsNull Then Exit;
     If ((Query1.FieldByName('电话').IsNull) AND (Query1.FieldByName('用户编码').IsNull)) Then
     Begin
          Application.MessageBox('电话及用户编号都为空,无法查询历史记录!','提示',MB_OK+MB_ICONSTOP);
          Exit;
     End;

     DH:=Query1.FieldByName('电话').AsString;
     BH:=Query1.FieldByName('用户编码').AsString;

     With TDataView.Create(Application) Do
     Begin
          QueryCX.Close;
          While QueryCX.SQL.Count>1 Do QueryCX.SQL.Delete(1);
          QueryCX.SQL.Add('Where 1>0');
          QueryCX.SQL.Add('And 服务类型=''报障''');
          QueryCX.SQL.Add('And (');
          QueryCX.SQL.Add('(电话='+QuotedStr(DH)+')');
          QueryCX.SQL.Add('OR');
          QueryCX.SQL.Add('(用户编码='+QuotedStr(BH)+')');
          QueryCX.SQL.Add(')');
          QueryCX.SQL.Add('And 序号<>'+Query1.FieldByName('序号').AsString);
          QueryCX.Open;

          ShowModal;
          Free;
     End;
end;

//广播消息
procedure TMCTIForm.N4Click(Sender: TObject);
begin
     If SendMsg.ShowModal=mrOK Then
     If Trim(SendMsg.MsgText.Text)<>'' Then
        UserMsg:=Trim(SendMsg.MsgText.Text);
end;

//宽带申请派工 [用户部分]
procedure TMCTIForm.N5Click(Sender: TObject);
begin
     With TKDSQXX.Create(Application) Do
     Begin
          ShowModal;
          Free;
     End;
end;

procedure TMCTIForm.SpeedButton6Click(Sender: TObject);
begin
     ToolWindow971.Visible:=SpeedButton6.Down;
end;

procedure TMCTIForm.N18Click(Sender: TObject);
Var XH:String;
begin
     If Not Query1.Active Then Exit;
     If Query1.FieldByName('序号').IsNull Then Exit;
     If Application.MessageBox('确认要删除当前记录吗?','提示',MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2)<>IDYES Then Exit;

     XH:=Query1.FieldByName('序号').AsString;
     If XH='' Then Exit;

     QPub.Close;
     QPub.SQL.Clear;
     QPub.SQL.Add('Delete From 录音 Where 序号='+XH);
     QPub.ExecSQL;

     Query1.Delete;

     Application.MessageBox('记录已删除!','提示',MB_OK+MB_ICONINFORMATION);
end;

procedure TMCTIForm.DBComboBoxEh2Change(Sender: TObject);
begin
     If DBComboBoxEh2.Text='数字' Then
     Begin
          DBComboBoxEh4.Items.Assign(CSSZ.DBMemo12.Lines);
          DBComboBoxEh6.Items.Assign(CSSZ.DBMemo13.Lines);
     End
     Else If DBComboBoxEh2.Text='宽带' Then
     Begin
          DBComboBoxEh4.Items.Assign(CSSZ.DBMemo10.Lines);
          DBComboBoxEh6.Items.Assign(CSSZ.DBMemo11.Lines);
     End
     Else
     Begin
          DBComboBoxEh4.Items.Assign(CSSZ.DBMemo2.Lines);
          DBComboBoxEh6.Items.Assign(CSSZ.DBMemo4.Lines);
     End;
end;

procedure TMCTIForm.SpeedButton7Click(Sender: TObject);
Var YHBM:String;
begin
     If Not Query1.Active Then Exit;
     If Pos('修改业务信息',CZYQX)<=0 Then
     Begin
          Application.MessageBox('没有修改业务权限,不能办理该业务!','提示',MB_OK+MB_ICONSTOP);
          Exit;
     End;

     If Query1.FieldByName('服务类型').AsString<>'宽带申请' Then
     Begin
          Application.MessageBox('只有宽带申请业务才能登记!','提示',MB_OK+MB_ICONINFORMATION);
          Exit;
     End;

     YHBM:=Trim(Query1.FieldByName('用户编码').AsString);
     If ((YHBM='') AND (Pos('无编码宽带用户登记',CZYQX)<=0)) Then
     Begin
          Application.MessageBox('没有登记权限,不能办理该业务!','提示',MB_OK+MB_ICONSTOP);
          Exit;
     End;

     If Query1.FieldByName('修好日期').IsNull Then
     Begin
          MessageBox(Handle,'必须先输入完工日期!','提示',MB_OK+MB_ICONSTOP);
          Exit;
     End;

     //登记宽带信息
     With TIPYHDJ.Create(Application) Do
     Begin
          YHDM:=YHBM;
          ShowModal;
          Free;
     End;
end;

procedure TMCTIForm.N20Click(Sender: TObject);
Var Lay_LF,Idx:Integer;
begin
     With TYHDW.Create(Application) Do
     Begin
          Lay_LF:=NetMap1.GetLayerByName('楼房');
          YHDM.Text:=DBEditEh1.Text;

          If Lay_LF>0 Then
          If ShowModal=mrOK Then
          If NetMap1.LocateObjByID(Lay_LF,StrToInt(Caption),Idx) Then
          Begin
               If Not ToolWindowMap.Visible Then ToolWindowMap.Visible:=True; 

               NetMap1.DrawMap;
               Application.MessageBox('定位成功!','提示',MB_OK+MB_ICONINFORMATION);
          End;
          Free;
     End;
end;

procedure TMCTIForm.N22Click(Sender: TObject);
begin
     ToolWindowMap.Visible:=Not ToolWindowMap.Visible;
end;

procedure TMCTIForm.ToolWindowMapResize(Sender: TObject);
begin
     NetMap1.DrawMap;
end;

//拨出电话信息查询
procedure TMCTIForm.N23Click(Sender: TObject);
begin
     With TBCCX.Create(Application) Do
     Begin
          ComboBoxCZY.Items.Assign(CZY.Items);
          ShowModal;
          Free;
     End;
end;

//故障分类统计报表
procedure TMCTIForm.N26Click(Sender: TObject);
begin
     With TGZFLTJ.Create(Application) Do
     Begin
          ShowModal;
          Free;
     End;
end;

//宽带安装派工查询
procedure TMCTIForm.N27Click(Sender: TObject);
begin
     With TKDAZPGCX.Create(Application) Do
     Begin
          If ShowModal=mrOK Then
          Begin
               Query1.Close;
               While Query1.SQL.Count>1 Do Query1.SQL.Delete(1);
               Query1.SQL.Add('Where 1>0');
               Query1.SQL.AddStrings(MemoSQL.Lines);
               Query1.Open;

               //字段显示宽度调整
               
          End;
          Free;
     End;
end;

//模拟故障派工查询
procedure TMCTIForm.N28Click(Sender: TObject);
begin
     QPub.Close;
     QPub.SQL.Clear;
     QPub.SQL.Add('Update 服务单 Set 维修用时=(修好日期-派单时间)*24*60 Where 维修用时 Is Null And 修好日期 Is Not Null');
     QPub.ExecSQL;

     With TMNGZPGCX.Create(Application) Do
     Begin
          If ShowModal=mrOK Then
          Begin
               Query1.Close;
               While Query1.SQL.Count>1 Do Query1.SQL.Delete(1);
               Query1.SQL.Add('Where 1>0');
               Query1.SQL.AddStrings(MemoSQL.Lines);
               Query1.Open;
          End;
          Free;
     End;
end;

//宽带故障维修派工查询
procedure TMCTIForm.N29Click(Sender: TObject);
begin
     With TKDGZPGCX.Create(Application) Do
     Begin
          If ShowModal=mrOK Then
          Begin
               Query1.Close;
               While Query1.SQL.Count>1 Do Query1.SQL.Delete(1);
               Query1.SQL.Add('Where 1>0');
               Query1.SQL.AddStrings(MemoSQL.Lines);
               Query1.Open;
          End;
          Free;
     End;
end;

procedure TMCTIForm.Database1AfterConnect(Sender: TObject);
begin
     Timer1.Enabled:=True;
end;

procedure TMCTIForm.BitBtn1Click(Sender: TObject);
Var XH,I:Integer;
    LSH:Integer;
begin
     Label41.Caption:=TMenuItem(Sender).Caption;
     
     If Not Query1.Active Then Exit;
     If Query1.FieldByName('序号').AsInteger<=0 Then Exit;

     If Application.MessageBox('确认要打印派工单吗?','提示',MB_YESNO+MB_ICONQUESTION)<>IDYES Then Exit;

     //某些情况下隐藏移动宽带安装竣工单
     For I:=0 To PPanel2.ControlCount-1 Do
     If PPanel2.Controls[I].Top>450 Then
        PPanel2.Controls[I].Visible:=TMenuItem(Sender).Tag<>2;

     QPub.Close;
     QPub.SQL.Clear;
     QPub.SQL.Add('Select 派工流水号 From 服务单 Where 序号='+Query1.FieldByName('序号').AsString);
     QPub.Open;

     If QPub.FieldByName('派工流水号').AsInteger<=0 Then
     Begin
          QPub.Close;
          QPub.SQL.Clear;
          QPub.SQL.Add('Select Max(派工流水号) As MaxLSH From 服务单');
          QPub.Open;
          LSH:=QPub.FieldByName('MaxLSH').AsInteger+1;

          QPub.Close;
          QPub.SQL.Clear;
          QPub.SQL.Add('Update 服务单 Set 派工流水号='+IntToStr(LSH)+' Where 序号='+Query1.FieldByName('序号').AsString);
          QPub.ExecSQL;

          XH:=Query1.FieldByName('序号').AsInteger;
          Query1.Close;
          Query1.Open;
          While Not Query1.Eof Do
          Begin
               If Query1.FieldByName('序号').AsInteger=XH Then Break;

               Query1.Next;
          End;
     End;

     Label38.Caption:='';
     LabelMac.Caption:='';
     LabelMac2.Caption:='';
     LabelSFZH.Caption:='';
     LabelSFZH2.Caption:='';
     If Query1.FieldByName('用户编码').AsString<>'' Then
     Begin
          QPub.Close;
          QPub.SQL.Clear;
          QPub.SQL.Add('Select MAC地址,身份证号 From '+DB_KD+'.用户信息 Where 用户代码='+QuotedStr(Query1.FieldByName('用户编码').AsString));
          QPub.Open;

          LabelMac.Caption:=QPub.FieldByName('MAC地址').AsString;
          LabelMac2.Caption:=QPub.FieldByName('MAC地址').AsString;

          LabelSFZH.Caption:=QPub.FieldByName('身份证号').AsString;
          LabelSFZH2.Caption:=QPub.FieldByName('身份证号').AsString;
     End;

     PPanel2.Print(True)
end;

procedure TMCTIForm.N30Click(Sender: TObject);
begin
     StringGrid1.Visible:=Not StringGrid1.Visible;
end;

procedure TMCTIForm.N25Click(Sender: TObject);
Var XH:Integer;
begin
     If Not Query1.Active Then Query1.Open;
     
     QPub.Close;
     QPub.SQL.Clear;
     QPub.SQL.Add('Select Max(序号) As MaxXH From 服务单');
     QPub.Open;
     XH:=QPub.FieldByName('MaxXH').AsInteger+1;

     Query1.Append;
     Query1.FieldByName('序号').AsInteger:=XH;
     Query1.Post;
end;

procedure TMCTIForm.DBDateTimeEditEh3DblClick(Sender: TObject);
begin
     //当前时间
     If Query1.State<>dsEdit Then Query1.Edit;
     Query1.FieldByName('派单时间').AsDateTime:=Now;
end;

procedure TMCTIForm.DBDateTimeEditEh2DblClick(Sender: TObject);
begin
     If Query1.State<>dsEdit Then Query1.Edit;
     Query1.FieldByName('修好日期').AsDateTime:=Now;
end;

procedure TMCTIForm.N33Click(Sender: TObject);
begin
     With TJDHGZPGCX.Create(Application) Do
     Begin
          If ShowModal=mrOK Then
          Begin
               Query1.Close;
               While Query1.SQL.Count>1 Do Query1.SQL.Delete(1);
               Query1.SQL.Add('Where 1>0');
               Query1.SQL.AddStrings(MemoSQL.Lines);
               Query1.Open;
          End;
          Free;
     End;
end;

procedure TMCTIForm.N34Click(Sender: TObject);
begin
     With TKDYLTJ.Create(Application) Do
     Begin
          ShowModal;
          Free;
     End;
end;

procedure TMCTIForm.N35Click(Sender: TObject);
begin
     With TFWSCTJ.Create(Application) Do
     Begin
          ShowModal;
          Free;
     End;
end;

end.

⌨️ 快捷键说明

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