sys010.pas

来自「电子充值系统:全球通的充值卡通过POS机传到销售点.」· PAS 代码 · 共 172 行

PAS
172
字号
unit SYS010;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Single, Menus, Db, DBTables, Grids, DBGrids, Buttons, ExtCtrls, StdCtrls,
  Mask, DBCtrls,IdGlobal ;

type
  TfmSYS010 = class(TfmSingle)
    Label1: TLabel;
    Label2: TLabel;
    ED2: TDBEdit;
    Label3: TLabel;
    ED3: TDBEdit;
    Label4: TLabel;
    ED4: TDBEdit;
    Label5: TLabel;
    Label6: TLabel;
    ED6: TDBEdit;
    Label7: TLabel;
    ED17: TDBEdit;
    Label8: TLabel;
    ED8: TDBEdit;
    qyMasterADMCODE: TStringField;
    qyMasterLOGINID: TStringField;
    qyMasterADMNAME: TStringField;
    qyMasterPASSWORD: TStringField;
    qyMasterPURVIEW: TStringField;
    qyMasterPHONE: TStringField;
    qyMasterMOBILEPHONE: TStringField;
    qyMasterEMAIL: TStringField;
    qyMasterBUSED: TStringField;
    DBCheckBox1: TDBCheckBox;
    ED5: TDBComboBox;
    procedure qyMasterNewRecord(DataSet: TDataSet);
    procedure qyMasterBeforePost(DataSet: TDataSet);
    procedure qyMasterBeforeDelete(DataSet: TDataSet);
    procedure sbDelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
     procedure OpenDB; override;
  end;

var
  fmSYS010: TfmSYS010;

implementation

uses Main, DataModule, PublicFunction, CheckData, GetData, BaseSearch;
{$R *.DFM}

procedure TfmSYS010.OpenDB;
begin
  qyMaster.Close;
  OrderBySQL := 'M.AdmCode';
  qyMaster.SQL.Text := SQLText;
  qyMaster.Open;
end;

procedure TfmSYS010.qyMasterNewRecord(DataSet: TDataSet);
begin
  inherited; 
  with qyMaster do
  begin
    FieldByName('admcode').AsString := GetMaxAdmCode();
    FieldByName('loginid').AsString := Space(10);
    FieldByName('admname').AsString := Space(10);
    FieldByName('password').AsString := '123456';
    FieldByName('purview').AsString := '业务管理员';
    FieldByName('MobilePhone').AsString := Space(20);
    FieldByName('phone').AsString := Space(20);
    FieldByName('EMail').AsString := Space(30);
    FieldByName('bused').AsString := '1';
  end;
end;

procedure TfmSYS010.qyMasterBeforePost(DataSet: TDataSet);
begin
  inherited;

  if qyMaster.State = dsInsert then
  begin
    if Trim(qyMaster.FieldByName('admcode').AsString) = '' then
    begin
      NullWarning('管理员编码');
      ED1.SetFocus;
      Abort;
    end;

    try
      StrToInt(qyMaster.FieldByName('admcode').AsString);
    except
      MyWarning('管理员编码中包含非数字字符!');
      ED1.SetFocus;
      Abort;
    end;

    if length(Trim(qyMaster.FieldByName('admcode').AsString)) <> 4 then
    begin
      MyWarning('管理员编码长度不符,应该为4位!');
      ED1.SetFocus;
      Abort;
    end;

    with qyTemp do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT admcode ');
      SQL.Add('FROM pwpt_administrators');
      SQL.Add('WHERE admcode = :admcode');
      ParamByName('admcode').AsString := qyMaster.FieldByName('admcode').AsString;
      Open;
    end;

    if qyTemp.FieldByName('admcode').AsString <> '' then
    begin
      RepeatWarning('管理员编码');
      Ed1.SetFocus;
      Abort;
    end;
  end;

  if Trim(qyMaster.FieldByName('loginid').AsString) = '' then
  begin
    NullWarning('登陆ID');
    ED2.SetFocus;
    Abort;
  end;

  with qyTemp do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT loginid ');
    SQL.Add('FROM pwpt_administrators');
    SQL.Add('WHERE loginid = :loginid and admcode <> :admcode');
    ParamByName('loginid').AsString := qyMaster.FieldByName('loginid').AsString;
    ParamByName('admcode').AsString := qyMaster.FieldByName('admcode').AsString;
    Open;
  end;

  if qyTemp.FieldByName('loginid').AsString <> '' then
  begin
    RepeatWarning('登陆ID');
    Ed2.SetFocus;
    Abort;
  end;
  if qyMaster.State = dsInsert then
    WriteOperatorLog('[添加记录][Pwpt_Administrators]['+qyMaster.fieldbyname('AdmCode').asstring+']')
  else
    WriteOperatorLog('[修改记录][Pwpt_Administrators]['+qyMaster.fieldbyname('AdmCode').asstring+']') ;
end;

procedure TfmSYS010.qyMasterBeforeDelete(DataSet: TDataSet);
begin
  inherited;
  WriteOperatorLog('[删除记录][Pwpt_Administrators]['+qyMaster.fieldbyname('AdmCode').asstring+']') ;
end;

procedure TfmSYS010.sbDelClick(Sender: TObject);
begin
  inherited;
  //不能删除
end;

end.

⌨️ 快捷键说明

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