📄 sys500_02.pas.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 + -