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

📄 hrm500_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 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 + -