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

📄 agentstatefrm.~pas

📁 一个电力企业的后台管理程序
💻 ~PAS
字号:
unit AgentStateFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, ComCtrls, StdCtrls, Buttons,dbtables,systemdm, ImgList;

type
  TForm_AgetState = class(TForm)
    Panel2: TPanel;
    LV_AgentState: TListView;
    Btn_Refresh: TBitBtn;
    Btn_Exit: TBitBtn;
    Panel1: TPanel;
    Panel3: TPanel;
    LV_WorkState: TListView;
    ImageList: TImageList;
    procedure Btn_RefreshClick(Sender: TObject);
    procedure Btn_ExitClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure GetAgentState;
    function GetName(Str: String): String;
    function GetState(StateID: Integer): String;
  public
    { Public declarations }
  end;

var
  Form_AgetState: TForm_AgetState;

implementation

{$R *.DFM}

{ TForm_AgetState }

procedure TForm_AgetState.GetAgentState;
var
 I: Integer;
begin
 with TQuery.Create(nil)do
 try
  Close;
  DatabaseName := SysDM.DBMain.DatabaseName;
  Sql.Text := Format('Select * From PhoneLine where hostname like ''%s''',['zx%']);//is not null';
  Open;
  LV_AgentState.Items.Clear;
  for I := 0 to RecordCount - 1 do
   begin
    LV_AgentState.Items.Add;
    LV_AgentState.Items.Item[I].Caption := FieldByName('HostName').AsString;
    LV_AgentState.Items.Item[I].ImageIndex := 0;
    LV_AgentState.Items.Item[I].SubItems.Add(FieldByName('WorkID').AsString);
    LV_AgentState.Items.Item[I].SubItems.Add(GetName(FieldByName('WorkID').AsString));
    LV_AgentState.Items.Item[I].SubItems.Add(GetState(FieldByName('Status').AsInteger));
    LV_AgentState.Items.Item[I].SubItems.Add(FieldByName('IPAddress').AsString);
    Next;
   end;
  Close;
  Sql.Text := 'Select * From AgentState';
  Open;
  Lv_WorkState.Items.Clear;
  for I := 0 to RecordCount - 1 do
   begin
    LV_WorkState.Items.Add;
    LV_WorkState.Items.Item[I].Caption := FieldByName('HostName').AsString;
    LV_WorkState.Items.Item[I].ImageIndex := 0;
    LV_WorkState.Items.Item[I].SubItems.Add(FieldByName('WorkID').AsString);
    LV_WorkState.Items.Item[I].SubItems.Add(GetName(FieldByName('WorkID').AsString));
    if FieldByName('State').AsString = '1' then
     LV_WorkState.Items.Item[I].SubItems.Add('在岗')
    else
     LV_WorkState.Items.Item[I].SubItems.Add('不在岗');
    LV_WorkState.Items.Item[I].SubItems.Add(FormatDateTime('YYYY-MM-DD HH:NN:SS',FieldByName('OperateTime').AsDateTime));

    LV_WorkState.Items.Item[I].SubItems.Add(FieldByName('IpAddress').AsString);
    Next;
   end;
 finally
  Free;
 end;
end;

function TForm_AgetState.GetName(Str: String): String;
begin
 with TQuery.Create(nil)do
 try
  Close;
  DataBaseName := SysDM.DBMain.DatabaseName;
  Sql.Text := Format('Select WorkName from SysLogin where WorkID = ''%s''',[Str]);
  Open;
  Result := FieldByName('WorkName').AsString;
 finally
  Free;
 end;
end;

function TForm_AgetState.GetState(StateID: Integer): String;
begin
 case StateID of
  -1: Result := '不在系统中';
  0:Result := '签出';
  1:Result := '空闲';
  2:Result := '示忙';
  3:Result := '通话';
  4:Result := '监听';
  5:Result := '初始语音通道';
  6:Result := '呼叫遇忙';
 end;
end;
procedure TForm_AgetState.Btn_RefreshClick(Sender: TObject);
begin
 GetAgentState;
end;

procedure TForm_AgetState.Btn_ExitClick(Sender: TObject);
begin
 Close;
end;

procedure TForm_AgetState.FormCreate(Sender: TObject);
begin
 GetAgentState;
end;

end.

⌨️ 快捷键说明

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