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

📄 unit_custstatusbackwrite.pas

📁 delphi开发的中国移动大客户管理系统,后台数据库为oracle
💻 PAS
字号:
unit unit_custstatusbackWrite;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, StdCtrls, ExtCtrls, TFlatButtonUnit, TFlatSpeedButtonUnit,
  ComCtrls, Buttons, TFlatComboBoxUnit, Db, DBTables;

type
  Tfrm_custstatusbackwrite = class(TForm)
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    button_right_single: TBitBtn;
    button_right_both: TBitBtn;
    button_left_single: TBitBtn;
    button_left_both: TBitBtn;
    lv_stop: TListView;
    Lv_city: TListView;
    Query_interface: TQuery;
    fcb_config: TFlatComboBox;
    Label1: TLabel;
    Panel5: TPanel;
    Fbutton_execute: TFlatSpeedButton;
    FlatButton4: TFlatButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FlatButton4Click(Sender: TObject);
    procedure LV_stopDblClick(Sender: TObject);
    procedure button_right_singleClick(Sender: TObject);
    procedure button_left_singleClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure button_right_bothClick(Sender: TObject);
    procedure button_left_bothClick(Sender: TObject);
    procedure Fbutton_executeClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_custstatusbackwrite: Tfrm_custstatusbackwrite;

implementation

uses unit_QueryArrearage, Unit_Public, dmmain;

{$R *.DFM}

procedure Tfrm_custstatusbackwrite.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    Action := caFree;
end;

procedure Tfrm_custstatusbackwrite.FlatButton4Click(Sender: TObject);
begin
    close;
end;

procedure Tfrm_custstatusbackwrite.LV_stopDblClick(Sender: TObject);
begin
  if (Lv_stop.Selected = nil) then
    exit;
  Lv_stop.Items.Delete(Lv_stop.Selected.Index);
end;

procedure Tfrm_custstatusbackwrite.button_right_singleClick(Sender: TObject);
var
  New_Item : TListItem;
  City_item:tlistItem;
  i : integer;
  j:  integer;
  n1,n2:string;
begin
  If Not Frm_QueryArrearage.browse_normal.Active Then
     Exit;
       
  if frm_QueryArrearage.browse_normal.IsEmpty then
  begin
     exit;
  end;
  j:=0;
  for i:=0 to Lv_stop.Items.Count-1 do
  begin
    n1:=frm_queryarrearage.browse_normal.fieldbyname('sid').asstring;
    n2:=trim(lv_stop.Items[i].Caption);
    if comparetext(n1,n2)=0 then
    begin
      j:=1;
      break;
    end;
  end;
  if j=0 then
  begin
      New_Item := Lv_stop.Items.Add();
      New_Item.Caption:=frm_QueryArrearage.browse_normal.fieldbyname('sid').AsString;
      City_item :=Lv_city.Items.Add();
      city_Item.Caption:=frm_QueryArrearage.browse_normal.fieldbyname('cityno').AsString;
  end
  else
  begin
     MessageDlg('此客户已经在单停列表中!',mtWarning, [mbYes], 0);
     exit;
  end;
  frm_QueryArrearage.browse_normal.Next;
  if frm_queryarrearage.browse_normal.Eof then
     frm_queryArrearage.browse_normal.First;
end;

procedure Tfrm_custstatusbackwrite.button_left_singleClick(Sender: TObject);
var
  i:integer;
  j:integer;
begin
  if Lv_stop.Items.Count<1 then
     exit;
  if (Lv_stop.Selected = nil) then
    exit;
  i:=0;
  while lv_stop.SelCount>0 do
  begin
    if lv_stop.Items[i].Selected then
    begin
      lv_stop.Items[i].Delete;
      lv_city.Items[i].Delete;
    end
    else
      inc(i);
  end;
  {
  j:=lv_stop.Items.Count;
  for i:=0 to j-1 do
  begin
    if lv_stop.Items[i].Selected then
      lv_stop.Items[i].Delete;
  end;
  }
end;

procedure Tfrm_custstatusbackwrite.FormShow(Sender: TObject);
begin
   Pro_GFillInitValue(self);
   fcb_config.ItemIndex:=fcb_config.Items.IndexOf('单向停机');
end;

procedure Tfrm_custstatusbackwrite.button_right_bothClick(Sender: TObject);
var
  i:integer;
  New_Item : TListItem;
  City_item:tlistItem;
begin
   If Not Frm_QueryArrearage.browse_normal.Active Then
      Exit;

   lv_stop.Items.Clear;
   frm_queryarrearage.browse_normal.First;
   while not frm_queryarrearage.browse_normal.eof do
   begin
      New_Item := Lv_stop.Items.Add();
      New_Item.Caption:=frm_QueryArrearage.browse_normal.fieldbyname('sid').AsString;
      City_item :=Lv_city.Items.Add();
      city_Item.Caption:=frm_QueryArrearage.browse_normal.fieldbyname('cityno').AsString;
      frm_QueryArrearage.browse_normal.Next;
   end;
end;

procedure Tfrm_custstatusbackwrite.button_left_bothClick(Sender: TObject);
begin
//   MessageDlg('是否要全部移除!',mtWarning, [mbYes], 0);
   if Application.MessageBox('是否要全部移除','移除确认',MB_OKCANCEL + MB_DEFBUTTON1) <> IDOK then
       exit;
   lv_stop.Items.Clear;
   lv_city.Items.Clear;
end;

procedure Tfrm_custstatusbackwrite.Fbutton_executeClick(Sender: TObject);
var
   i:integer;
   pStat:String;
begin

   pStat:=Fun_GetCodeName(fcb_config);
   If pStat='' Then
      Begin
         Application.MessageBox('您所选择手机状态不存在','提示',MB_ICONINFORMATION);
         fcb_Config.SetFocus;
         Exit;
      End;

  if Application.MessageBox(pChar('是否真的要对所选择的客户进行'+fcb_config.Text+'?'),'回写确认',MB_ICONINFORMATION+MB_OKCANCEL + MB_DEFBUTTON2) <> IDok then
     exit;

  try

    dm_main.Databasedh.StartTransaction;
    for i:=0 to lv_stop.Items.Count-1 do
    begin
      Query_interface.close;
      query_interface.sql.clear;
      query_interface.sql.add('insert into t_i_interface (CITYNO,SID,SUBMIT_CONTENT,SUBMIT_VAL,SUBMIT_TIME,SUBMIT_TYPE) ');
      query_interface.sql.add('values('''+trim(lv_city.Items[i].Caption)+''',');
      query_interface.sql.add(''''+trim(lv_stop.Items[i].Caption)+''',');
      query_interface.sql.add('''Stat'',');
      query_interface.sql.add(''''+pStat+''',');
      query_interface.sql.add('To_Date('''+datetostr(now)+''',''YYYY-MM-DD''),1)');
      query_interface.ExecSQL;
    end;
  dm_main.Databasedh.Commit;
  lv_stop.Items.Clear;
  lv_city.Items.Clear;
  MessageDlg('回写成功!',mtConfirmation, [mbYes], 0);
  except
    dm_main.databasedh.Rollback;
    MessageDlg('回写失败!',mtError, [mbYes], 0);
  end;

end;

end.

⌨️ 快捷键说明

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