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

📄 user.pas

📁 省级集邮品管理ERP
💻 PAS
字号:
{*******************************************************}
{                                                       }
{                                                       }
{                                                       }
{            中软金马公司版权所有。2002.12前            }
{                                                       }
{            编制:中软金马邮资票品项目开发组           }
{                                                       }
{                                                       }
{*******************************************************}
(*
本模块在省级系统管理里面调用。

*)
{
有关表:
  人员组别表、组别表、人员表
  部门表
数据来源:
  用户:人员表
  隶属于:人员组别表
  不隶属于:组别表
功能:
算法:
更新有关表: 人员组别表、人员表
备注:口令、确定口令不使用数据感应控键
}
unit User;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  FormBase, StdCtrls, Buttons, DBCtrls, Mask, UserList, BoxProcs,
  ExtCtrls, Menus;

type
  TfrmUser = class(TFFormBase)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBComboBox1: TDBComboBox;
    ListBox1: TListBox;
    Label7: TLabel;
    ListBox2: TListBox;
    Label8: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    btnSave: TBitBtn;
    btnDelete: TBitBtn;
    Edit1: TEdit;
    Edit2: TEdit;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    procedure BitBtn3Click(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure btnDeleteClick(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    procedure InitData;
  public
    { Public declarations }
  end;

function ShowUser: Boolean;
var
  frmUser: TfrmUser;

implementation

uses datas,Pub;

{$R *.DFM}

function ShowUser: Boolean;
begin
  frmUser := TfrmUser.Create(Application);
  with frmUser do
  try
    result := ShowModal = MB_OK;
  finally
    Destroy;
    frmUser := nil;
  end;
end;

procedure TfrmUser.BitBtn3Click(Sender: TObject);
begin
  inherited;
  with frmUserList do
  begin
    if pos(' ', qryUser.FieldByName('YGDM').Asstring) > 0 then
      CHQMsgBox('用户名错误!')
    else if (trim(Edit2.Text) = '') or (Edit2.Text <> Edit1.text) then
      CHQMsgBox('请确定口令和口令确认一致!')
    else
    begin
      qryUser.Edit;
      qryUser.FieldByName('KL').Asstring := Encrypt(Edit1.Text);
      if SaveUser(ListBox1.Items) then
      begin
        if DBEdit1.Enabled then
        begin
          btnSave.Enabled := True;
          btnDelete.Enabled := True;
        end
      end
      else
        CHQMsgBox('请先确定该用户没有库房权限,并不隶属于任一权限组!');
    end;
  end;
end;

procedure TfrmUser.btnSaveClick(Sender: TObject);
begin
  inherited;
  frmUserList.qryUser.Append;
  Edit1.Text := '';
  Edit2.Text := '';
  BoxMoveAllItems(ListBox1, ListBox2);
  btnSave.Enabled := False;
  btnDelete.Enabled := False;
  bitbtn3.Enabled := True;
  DBEdit1.SetFocus;
end;

procedure TfrmUser.btnDeleteClick(Sender: TObject);
const
  DSQL = 'Delete From TGS_RYZBDZB Where YGDM = ''%s''';
  KSQl = 'delete from TGS_KFRYDZB where YGDM = ''%s''';
begin
  inherited;
  if ListBox1.Items.Count > 0 then
  begin
    CHQMsgBox('请先确定该用户不隶属于任何一权限组再删除!');
    exit;
  end;
  with frmUserList.qryUser do
    if CHQMsgBox(MSG_DELETE, 2) = IDYES then
    begin
      data.dm.StartTransaction;
      try
        SetData(Format(DSQL, [FieldByName('YGDM').Asstring]));
        SetData(Format(KSQL, [FieldByName('YGDM').Asstring]));
        Delete;
      except
        data.dm.rollback;
        if errMsg = '' then
          raise
        else
          raise exception.Create(errMsg)
      end;
      InitData;
      frmUserList.qryUser.AfterScroll(nil);
      CommitUpdates;
      data.dm.commit;
    end;
end;

procedure TfrmUser.BitBtn4Click(Sender: TObject);
begin
  inherited;
  with frmUserList.qryUser do
    CancelUpdates;
  close;
end;

procedure TfrmUser.FormCreate(Sender: TObject);
const
  BMSQL = 'SELECT BMMC FROM TGS_BMB';
begin
  inherited;
{  if (frmUserList.qryUser.FieldByName('YGDM').asstring = '1') or
     (frmUserList.qryUser.FieldByName('YGDM').asstring = VG_UserID) then
    begin
    BitBtn1.Enabled := false;
    BitBtn2.Enabled := false;
    DBEdit1.Enabled := false;
    btnDelete.Enabled := false;
    if frmUserList.qryUser.FieldByName('YGDM').asstring = VG_UserID then
    begin
      BitBtn3.Enabled := false;
      BitBtn4.Enabled := false;
      DBEdit2.Enabled := false;
      DBComboBox1.Enabled := false;
    end;
  end;   }
  InitList(DBComboBox1.Items, BMSQL);
  if DBComboBox1.items.count > 0 then
    DBComboBox1.ItemIndex := 0;
  InitData;
end;

procedure TfrmUser.BitBtn1Click(Sender: TObject);
begin
  if ListBox2.Items.Count = 0 then
    exit;   
  BoxMoveSelectedItems(ListBox2, ListBox1);
end;


procedure TfrmUser.BitBtn2Click(Sender: TObject);
begin
  if ListBox1.Items.Count = 0 then
    exit;
  BoxMoveSelectedItems(ListBox1, ListBox2);
end;

procedure TfrmUser.InitData;
const
  NSQL = 'SELECT ZBDM||'' ''||ZBMC AS YGDM FROM TGS_ZBB Where zbdm not in (Select zbdm From tgs_RYZBDZB where ygdm = ''%s'')';
  ISQL = 'SELECT Z.ZBDM||'' ''||Z.ZBMC AS YGDM From tgs_RYZBDZB R, TGS_ZBB Z  where R.ZBDM = Z.ZBDM AND ygdm = ''%s''';
begin
  InitList(ListBox2.Items, Format(NSQL, [frmUserList.qryUser.FieldByName('YGDM').Asstring]));
  InitList(ListBox1.Items, Format(ISQL, [frmUserList.qryUser.FieldByName('YGDM').Asstring]));

  Edit1.Text := Decrypt(frmUserList.qryUser.FieldByName('KL').Asstring);
  Edit2.Text := Edit1.Text;

end;

procedure TfrmUser.FormShow(Sender: TObject);
begin
  inherited;
  frmUserList.qryUser.AfterScroll(nil);
end;

end.

⌨️ 快捷键说明

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