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

📄 sys500_02.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
字号:
unit Sys500_02;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, Mask, ExtCtrls, Buttons, DB, ADODB;

type
  TSys500_02Form = class(TForm)
    lblUser: TLabel;
    lblPass: TLabel;
    cbActive: TCheckBox;
    cbSuper: TCheckBox;
    edtUser: TEdit;
    edtPass: TEdit;
    lblEMail: TLabel;
    lblSMS: TLabel;
    edtEMail: TEdit;
    edtSMS: TEdit;
    Bevel1: TBevel;
    bbtnOk: TBitBtn;
    bbtnExit: TBitBtn;
    qrySys500A: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure bbtnOkClick(Sender: TObject);
    procedure bbtnExitClick(Sender: TObject);
    procedure qrySys500AAfterScroll(DataSet: TDataSet);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    AMode:string;
    AOldUserName:string;
    FDataSet:TDataSet;
    { Private declarations }
  public
    procedure OpenData(AUser:Integer;ADataSet:TDataSet);
    { Public declarations }
  end;

var
  Sys500_02Form: TSys500_02Form;

implementation

uses CommFun, SYSDATA;

{$R *.dfm}

procedure TSys500_02Form.OpenData(AUser:Integer;ADataSet:TDataSet);
begin
  FDataSet:=ADataSet;
  if AUser=0 then AMode:='ADD' else AMode:='UPD';
  qrySys500A.Close;
  qrySys500A.SQL.Clear;
  qrySys500A.SQL.Add('select * from SYS500A where S500A_001='+IntToStr(AUser));
  qrySys500A.Open;
  edtUser.Text:=qrySys500A.FieldByName('S500A_002').AsString;
  edtPass.Text:=qrySys500A.FieldByName('S500A_003').AsString;
  if edtPass.Text<>'' then edtPass.Text:=EncDecStr(edtPass.Text,1);
  cbActive.Checked:=qrySys500A.FieldByName('S500A_005').AsBoolean;
  cbSuper.Checked:=qrySys500A.FieldByName('S500A_006').AsBoolean;
  edtEMail.Text:=qrySys500A.FieldByName('S500A_007').AsString;
  edtSMS.Text:=qrySys500A.FieldByName('S500A_008').AsString;
  qrySys500AAfterScroll(qrySys500A);
end;

procedure TSys500_02Form.FormCreate(Sender: TObject);
begin
  AProgramID:=copy(Name,1,6);
end;

procedure TSys500_02Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
//
end;

procedure TSys500_02Form.bbtnOkClick(Sender: TObject);
begin
//确定
  if trim(edtUser.Text)='' then
  begin
    ShowMsg('UMS10000021');  //用户名称不能为空
    edtUser.SetFocus;
    Abort;
  end;
  if trim(edtPass.Text)='' then
  begin
    ShowMsg('UMS10000022');  //用户密码不能为空
    edtPass.SetFocus;
    Abort;
  end;
  try
    SYSDM.ADOC.BeginTrans;
    if AMode='ADD' then qrySys500A.Insert else qrySys500A.Edit;
    qrySys500A.FieldByName('S500A_002').AsString:=edtUser.Text;
    qrySys500A.FieldByName('S500A_003').AsString:=EncDecStr(edtPass.Text,0);
    qrySys500A.FieldByName('S500A_004').AsBoolean:=False;
    qrySys500A.FieldByName('S500A_005').AsBoolean:=cbActive.Checked;
    qrySys500A.FieldByName('S500A_006').AsBoolean:=cbSuper.Checked;
    qrySys500A.FieldByName('S500A_007').AsString:=edtEMail.Text;
    qrySys500A.FieldByName('S500A_008').AsString:=edtSMS.Text;
    qrySys500A.Post;
    if AMode='ADD' then
    begin
      //插入权限表
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('insert into SYS500B(S500B_001,S500B_002,S500B_004,S500B_005,');
      SYSDM.qryQuery.SQL.Add('                    S500B_006,S500B_007,S500B_008,S500B_009,S500B_010,');
      SYSDM.qryQuery.SQL.Add('                    S500B_011,S500B_012)');
      SYSDM.qryQuery.SQL.Add('select S500A_001,S500D_011,0,0,0,0,0,0,0,S500D_010,S500D_005');
      SYSDM.qryQuery.SQL.Add('from SYS500A,SYS500D where S500A_002='+''''+qrySys500A.FieldByName('S500A_002').AsString+'''');
      SYSDM.qryQuery.ExecSQL;
      //帐户权限
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('insert into SYS500C(S500C_001,S500C_002,S500C_003,S500C_004)');
      SYSDM.qryQuery.SQL.Add('select S500A_001,C550_001,''ACC'',0 from CSH550,SYS500A where S500A_002='+''''+qrySys500A.FieldByName('S500A_002').AsString+'''');
      SYSDM.qryQuery.ExecSQL;
      //部门权限
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('insert into SYS500C(S500C_001,S500C_002,S500C_003,S500C_004)');
      SYSDM.qryQuery.SQL.Add('select S500A_001,H100_001,''DEP'',0 from HRM100,SYS500A where S500A_002='+''''+qrySys500A.FieldByName('S500A_002').AsString+'''');
      SYSDM.qryQuery.ExecSQL;
      //仓库权限
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('insert into SYS500C(S500C_001,S500C_002,S500C_003,S500C_004)');
      SYSDM.qryQuery.SQL.Add('select S500A_001,I100_001,''WHS'',0 from SYS500A A,');
      SYSDM.qryQuery.SQL.Add(' (select I100_001*-1 as I100_001,I100_002,I100_003,0 as FParent from INV100');
      SYSDM.qryQuery.SQL.Add('  union');
      SYSDM.qryQuery.SQL.Add('  select I110_001,I110_003,I110_004,I110_002*-1 from INV110) B');
      SYSDM.qryQuery.SQL.Add('where A.S500A_002='+''''+qrySys500A.FieldByName('S500A_002').AsString+'''');
      SYSDM.qryQuery.ExecSQL;
      //库存操作
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('insert into SYS500C(S500C_001,S500C_002,S500C_003,S500C_004)');
      SYSDM.qryQuery.SQL.Add('select S500A_001,I550_001,''WHT'',0 from INV550,SYS500A where S500A_002='+''''+qrySys500A.FieldByName('S500A_002').AsString+'''');
      SYSDM.qryQuery.ExecSQL;
      //物料权限
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('insert into SYS500C(S500C_001,S500C_002,S500C_003,S500C_004)');
      SYSDM.qryQuery.SQL.Add('select S500A_001,I120_001,''ICS'',0 from INV120,SYS500A where S500A_002='+''''+qrySys500A.FieldByName('S500A_002').AsString+'''');
      SYSDM.qryQuery.ExecSQL;
      //客户权限
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('insert into SYS500C(S500C_001,S500C_002,S500C_003,S500C_004)');
      SYSDM.qryQuery.SQL.Add('select S500A_001,O110_001,''CUS'',0 from ORD110,SYS500A where S500A_002='+''''+qrySys500A.FieldByName('S500A_002').AsString+'''');
      SYSDM.qryQuery.ExecSQL;
      //科目权限
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('insert into SYS500C(S500C_001,S500C_002,S500C_003,S500C_004)');
      SYSDM.qryQuery.SQL.Add('select S500A_001,G150_001,''GLD'',0 from GLD150,SYS500A where S500A_002='+''''+qrySys500A.FieldByName('S500A_002').AsString+'''');
      SYSDM.qryQuery.ExecSQL;
    end;
    SYSDM.ADOC.CommitTrans;
  except
    SYSDM.ADOC.RollbackTrans;
    ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
    Abort;
  end;
  FDataSet.Refresh;
  FDataSet.Locate('S500A_001',qrySys500A.FieldByName('S500A_002').Value,[]);
  ModalResult:=1;
end;

procedure TSys500_02Form.bbtnExitClick(Sender: TObject);
begin
//退出
  qrySys500A.CancelUpdates;
  Close;
end;

procedure TSys500_02Form.qrySys500AAfterScroll(DataSet: TDataSet);
begin
  AOldUserName:=qrySys500A.FieldByName('S500A_002').AsString;
end;

procedure TSys500_02Form.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if ActiveControl is TDBMemo then Exit;
  if Key in [vk_Return] then Perform(WM_NEXTDLGCTL, 0, 0);
  if Key=VK_F1 then
    HtmlHelp(Application.Handle, AHelpFile+'::/'+AProgramID+'.htm', $0000, nil);
end;

end.

⌨️ 快捷键说明

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