📄 hrm500_01.pas.svn-base
字号:
unit Hrm500_01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Menus, Grids, ComCtrls, ExtCtrls, ToolWin,
Mask, DBCtrls, StdCtrls, wwdbdatetimepicker, DBGrids, Buttons, Bas200_01,
FR_Desgn, ADODB, dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid, dxdbtrel,
dxDBTLCl, dxGrClms, ActnList, wwfltdlg, wwDialog, Wwlocate, Wwintl;
type
THrm500_01Form = class(TBas200_01Form)
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
DBEdit1: TDBEdit;
dsHrm100: TDataSource;
DBEdit5: TDBEdit;
DBEdit7: TDBEdit;
DBEdit10: TDBEdit;
wwDBDateTimePicker1: TwwDBDateTimePicker;
Label9: TLabel;
Edit2: TEdit;
SpeedButton1: TSpeedButton;
Edit5: TEdit;
SpeedButton4: TSpeedButton;
qryHrm150: TADOQuery;
qryHrm150H150_001: TAutoIncField;
qryHrm150H150_002: TStringField;
qryHrm150H150_003: TStringField;
qryHrm150H150_005: TIntegerField;
qryHrm150H150_006: TIntegerField;
qryHrm150H150_008: TIntegerField;
qryHrm100: TADOQuery;
qryHrm120: TADOQuery;
qryHrm120H120_001: TAutoIncField;
qryHrm120H120_002: TStringField;
qryHrm120H120_003: TStringField;
dxDBLookupTreeView1: TdxDBLookupTreeView;
DBEdit2: TDBEdit;
dxDBGrid1H150_002: TdxDBGridColumn;
dxDBGrid1H150_003: TdxDBGridColumn;
dxDBGrid1H500_002: TdxDBGridDateColumn;
dxDBGrid1H500_008: TdxDBGridColumn;
dxDBGrid1H100_002A: TdxDBGridColumn;
dxDBGrid1H100_002B: TdxDBGridColumn;
dxDBGrid1H120_002A: TdxDBGridColumn;
dxDBGrid1H120_003A: TdxDBGridColumn;
dxDBGrid1H120_002B: TdxDBGridColumn;
dxDBGrid1H120_003B: TdxDBGridColumn;
qryHrm100H100_001: TAutoIncField;
qryHrm100H100_002: TStringField;
qryHrm100H100_003: TIntegerField;
qryHrm100H100_004: TBooleanField;
ADOQuery1H500_001: TIntegerField;
ADOQuery1H500_002: TDateTimeField;
ADOQuery1H500_003: TIntegerField;
ADOQuery1H500_004: TIntegerField;
ADOQuery1H500_005: TIntegerField;
ADOQuery1H500_006: TIntegerField;
ADOQuery1H500_007: TIntegerField;
ADOQuery1H500_008: TStringField;
ADOQuery1H150_002: TStringField;
ADOQuery1H150_003: TStringField;
ADOQuery1H100_002A: TStringField;
ADOQuery1H100_002B: TStringField;
ADOQuery1H120_002A: TStringField;
ADOQuery1H120_003A: TStringField;
ADOQuery1H120_002B: TStringField;
ADOQuery1H120_003B: TStringField;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure Edit5Exit(Sender: TObject);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ActInsertExecute(Sender: TObject);
procedure ActUpdateExecute(Sender: TObject);
procedure ActSaveExecute(Sender: TObject);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
private
{ Private declarations }
public
procedure SetInterface; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Hrm500_01Form: THrm500_01Form;
implementation
uses SYSDATA, HwSelData, CommFun;
{$R *.DFM}
procedure THrm500_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('HRM50001001'); //职务调动处理
Label1.Caption:=GetDBString('HRM50001002'); //员工编号
Label3.Caption:=GetDBString('HRM50001005'); //原部门
Label5.Caption:=GetDBString('HRM50001013'); //原职务
Label9.Caption:=GetDBString('HRM50001004'); //变动日期
Label4.Caption:=GetDBString('HRM50001006'); //现部门
Label6.Caption:=GetDBString('HRM50001013'); //现职务
Label7.Caption:=GetDBString('HRM50001011'); //备注
ADOQuery1H150_002.DisplayLabel:=GetDBString('HRM50001002'); //员工编号
ADOQuery1H150_003.DisplayLabel:=GetDBString('HRM50001003'); //员工姓名
ADOQuery1H500_002.DisplayLabel:=GetDBString('HRM50001004'); //变动日期
ADOQuery1H100_002A.DisplayLabel:=GetDBString('HRM50001005'); //原部门
ADOQuery1H120_002A.DisplayLabel:=GetDBString('HRM50001007'); //原职务编号
ADOQuery1H120_003A.DisplayLabel:=GetDBString('HRM50001008'); //原职务名称
ADOQuery1H100_002B.DisplayLabel:=GetDBString('HRM50001006'); //现部门
ADOQuery1H120_002B.DisplayLabel:=GetDBString('HRM50001009'); //现职务编号
ADOQuery1H120_003B.DisplayLabel:=GetDBString('HRM50001010'); //现职务名称
ADOQuery1H500_008.DisplayLabel:=GetDBString('HRM50001011'); //备注
qryHrm150H150_002.DisplayLabel:=GetDBString('HRM50001002'); //员工编号
qryHrm150H150_003.DisplayLabel:=GetDBString('HRM50001003'); //员工姓名
qryHrm100H100_002.DisplayLabel:=GetDBString('HRM50001014'); //部门编号
qryHrm100H100_003.DisplayLabel:=GetDBString('HRM50001015'); //部门名称
qryHrm120H120_002.DisplayLabel:=GetDBString('HRM50001016'); //职务编号
qryHrm120H120_003.DisplayLabel:=GetDBString('HRM50001017'); //职务说明
end;
procedure THrm500_01Form.FormCreate(Sender: TObject);
begin
inherited;
qryHrm150.Open;
qryHrm100.Open;
qryHrm120.Open;
//设置界面信息
SetInterface;
end;
procedure THrm500_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryHrm150.Close;
qryHrm100.Close;
qryHrm120.Close;
end;
procedure THrm500_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
if ParName='H150_002' then ParValue:=GetDBString('HRM50001002') //员工编号
else if ParName='H150_003' then ParValue:=GetDBString('HRM50001003') //员工姓名
else if ParName='H500_002' then ParValue:=GetDBString('HRM50001004') //变动日期
else if ParName='H500_004' then ParValue:=GetDBString('HRM50001005') //原部门
else if ParName='H500_005' then ParValue:=GetDBString('HRM50001006') //现部门
else if ParName='H500_006' then ParValue:=GetDBString('HRM50001012') //原职务
else if ParName='H500_007' then ParValue:=GetDBString('HRM50001013') //现职务
else if ParName='H500_008' then ParValue:=GetDBString('HRM50001011') //备注
else if ParName='GROP_001' then ParValue:=GetDBString('HRM50001018') //调动前
else if ParName='GROP_002' then ParValue:=GetDBString('HRM50001019') //调动后
end;
procedure THrm500_01Form.SpeedButton1Click(Sender: TObject);
begin
inherited;
//员工编号查询
Edit2.SetFocus;
if not (ADOQuery1.State in [dsedit,dsinsert]) then Exit;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryHrm150,nil);
if HwSelDataForm.ShowModal=1 then
begin
ADOQuery1H500_001.Value:=qryHrm150H150_001.Value;
ADOQuery1H500_004.value:=qryHrm150H150_005.Value;
ADOQuery1H500_006.value:=qryHrm150H150_008.Value;
Edit2.Text:=qryHrm150.FieldByName('H150_002').AsString;
end;
end;
procedure THrm500_01Form.Edit2Exit(Sender: TObject);
begin
inherited;
//员工编号
if not (ADOQuery1.State in [dsInsert,dsEdit]) then Exit;
if qryHrm150.Locate('H150_002',Edit2.Text,[loCaseInsensitive]) then
begin
ADOQuery1H500_001.value:=qryHrm150H150_001.Value;
ADOQuery1H500_004.value:=qryHrm150H150_005.Value;
ADOQuery1H500_006.value:=qryHrm150H150_008.Value;
Edit2.Text:=qryHrm150.FieldByName('H150_002').AsString;
end else
begin
ShowMsg('UMS10000042'); //无效的员工编号
Edit2.SetFocus;
Abort;
end;
end;
procedure THrm500_01Form.SpeedButton4Click(Sender: TObject);
begin
inherited;
//职务编号查询
Edit5.SetFocus;
if not (ADOQuery1.State in [dsedit,dsinsert]) then Exit;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryHrm120,nil);
if HwSelDataForm.ShowModal=1 then
begin
ADOQuery1H500_007.Value:=qryHrm120H120_001.Value;
Edit5.Text:=qryHrm120.FieldByName('H120_002').AsString;
end;
end;
procedure THrm500_01Form.Edit5Exit(Sender: TObject);
begin
inherited;
//职务编号
if not (ADOQuery1.State in [dsedit,dsinsert]) then Exit;
if Edit5.Text='' then Exit;
if qryHrm120.Locate('H120_002',Edit5.Text,[loCaseInsensitive]) then
begin
ADOQuery1H500_007.Value:=qryHrm120H120_001.Value;
Edit5.Text:=qryHrm120.FieldByName('H120_002').AsString;
end else
begin
ShowMsg('UMS10000086'); //无效的职务编号
Edit5.SetFocus;
Abort;
end;
end;
procedure THrm500_01Form.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton1.Click;
end;
procedure THrm500_01Form.Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton4.Click;
end;
procedure THrm500_01Form.ActInsertExecute(Sender: TObject);
begin
inherited;
//新增
if not (ADOQuery1.State in [dsInsert]) then ADOQuery1.Insert;
Edit2.Text:='';
ADOQuery1H500_002.Value:=GetServerDate;
Edit2.SetFocus;
end;
procedure THrm500_01Form.ActUpdateExecute(Sender: TObject);
begin
inherited;
//修改
Edit2.SetFocus;
end;
procedure THrm500_01Form.ActSaveExecute(Sender: TObject);
begin
//保存
//员工编号检验
if trim(Edit2.Text)='' then
begin
ShowMsg('UMS10000071'); //员工编号不能为空
Edit2.SetFocus;
Abort;
end else
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select 1 from HRM150 where H150_012=1 and H150_002='+''''+trim(Edit2.Text)+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000042'); //无效的员工编号
Edit2.SetFocus;
Abort;
end;
end;
//部门编号检验
if trim(dxDBLookupTreeView1.Text)='' then
begin
ShowMsg('UMS10000096'); //部门编号不能为空
dxDBLookupTreeView1.SetFocus;
Abort;
end;
//职务编号检验
if trim(Edit5.Text)='' then
begin
ShowMsg('UMS10000086'); //无效的职务编号
Edit5.SetFocus;
Abort;
end;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select 1 from HRM120 where H120_002='+''''+trim(Edit5.Text)+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000086'); //无效的职务编号
Edit5.SetFocus;
Abort;
end;
//资料没有变动不充许保存
if (trim(dxDBLookupTreeView1.Text)=ADOQuery1H100_002A.Value) and
(trim(Edit5.Text)=ADOQuery1H120_002A.Value) then
begin
ShowMsg('UMS10000097'); //部门、职务没有变动,不充许保存
Edit5.SetFocus;
Abort;
end;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select max(H500_003) from HRM500 where H500_001='+ADOQuery1H500_001.AsString);
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.Fields[0].IsNull then
ADOQuery1H500_003.Value:=1
else
ADOQuery1H500_003.Value:=SYSDM.qryQuery.Fields[0].Value+1;
inherited;
//修改员工资料表中的部门及职务
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from HRM150 where H150_001='+ADOQuery1H500_001.AsString);
SYSDM.qryQuery.Open;
SYSDM.qryQuery.Edit;
SYSDM.qryQuery.FieldByName('H150_005').Value:=ADOQuery1H500_005.Value;
SYSDM.qryQuery.FieldByName('H150_008').Value:=ADOQuery1H500_007.Value;
SYSDM.qryQuery.Post;
end;
procedure THrm500_01Form.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
inherited;
if ADOQuery1.IsEmpty then
begin
Edit2.Text:='';
Edit5.Text:='';
Exit;
end;
if ADOQuery1.State in [dsEdit,dsInsert] then Exit;
Edit2.Text:=ADOQuery1H150_002.AsString;
Edit5.Text:=ADOQuery1H120_002B.AsString;
end;
initialization
RegisterClass(THrm500_01Form);
finalization
UnRegisterClass(THrm500_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -