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

📄 msedemployee.pas

📁 详细的ERP设计资料
💻 PAS
字号:
unit MSEdEmployee;

interface

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

type
  TMSEdEmployeeForm = class(TWSStandardEditForm)
    dsEmployee: TDataSource;
    tblEmployeeID: TAutoIncField;
    tblEmployeeCreateDate: TDateTimeField;
    tblEmployeeCreateUserID: TIntegerField;
    tblEmployeeRecordState: TStringField;
    tblEmployeeName: TStringField;
    tblEmployeeCode: TStringField;
    tblEmployeeGender: TStringField;
    tblEmployeeDepartmentID: TIntegerField;
    tblEmployeePositionClassID: TIntegerField;
    tblEmployeePostionID: TIntegerField;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    DBComboBox1: TDBComboBox;
    DBLookupComboBox1: TDBLookupComboBox;
    DBLookupComboBox2: TDBLookupComboBox;
    DBLookupComboBox3: TDBLookupComboBox;
    tblDepartment: TADOTable;
    dsDepartment: TDataSource;
    tblPosition: TADOTable;
    dsPosition: TDataSource;
    dsPositionClass: TDataSource;
    tblPositionClass: TADOTable;
    DBEdit3: TDBEdit;
    tblEmployeePostDate: TDateTimeField;
    Label7: TLabel;
    DBEdit4: TDBEdit;
    tblEmployee: TADOTable;
    tblEmployeeBarCode: TStringField;
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure OKButtonClick(Sender: TObject);
    procedure CancelButtonClick(Sender: TObject);
    procedure tblEmployeeBeforePost(DataSet: TDataSet);
    procedure tblDepartmentFilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
    procedure tblEmployeeFilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
    procedure FormShow(Sender: TObject);
    procedure DBEdit2Exit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function Enter(const Params: Variant): Boolean; override;
    function Edit(const Params: Variant): Boolean; override;
  end;

var
  MSEdEmployeeForm: TMSEdEmployeeForm;

implementation

uses CommonDM,WSSecurity,WSUtils;

{$R *.dfm}

function TMSEdEmployeeForm.Enter(const Params: Variant): Boolean;
begin
  tblEmployee.Open;
  tblDepartment.Open;
  tblPosition.Open;
  tblPositionClass.Open;
  tblEmployee.Insert;
  dblookupcombobox1.Field.AsInteger:=params;
  tblEmployee.FieldByName('Code').asstring :=GetMaxCode('Code','MSEmployee',number);
  Result := ShowModal = mrOK;
end;
function TMSEdEmployeeForm.Edit(const Params: Variant): Boolean;
begin
  tblEmployee.Open;
  tblDepartment.Open;
  tblPosition.Open;
  tblPositionClass.Open;
  tblEmployee.Locate('ID',params,[]);

  Result := ShowModal = mrOK;
end;

procedure TMSEdEmployeeForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  inherited;
  tblEmployee.Close;;
  tblDepartment.Close;;
  tblPosition.Close;;
  tblPositionClass.Close;;
end;

procedure TMSEdEmployeeForm.OKButtonClick(Sender: TObject);
var adoTemp: TADOQuery;
begin
  adoTemp := TADOQuery.Create(nil);
  adoTemp.Connection := CommonData.acnConnection;

  adoTemp.close;
  adoTemp.SQL.Text :=' select EmployeeID,name,IsEmployee from DALinkMenIDCard where '
    +' EmployeeID='+ inttostr(tblEmployee.FieldByName('ID').AsInteger);
  adoTemp.open;
  if adoTemp.IsEmpty  then
  begin
    adoTemp.Append ;
    adoTemp.FieldByName('name').AsString :=tblEmployee.FieldByName('name').AsString ;
    adoTemp.FieldByName('EmployeeID').AsInteger :=tblEmployee.FieldByName('ID').AsInteger ;
    adoTemp.FieldByName('IsEmployee').AsString :='是';
    adoTemp.Post;
  end;
  inherited;
  if tblEmployee.State in [dsedit,dsinsert]  then tblemployee.Post;
  modalresult:=mrOk;
end;

procedure TMSEdEmployeeForm.CancelButtonClick(Sender: TObject);
begin
  inherited;
  modalresult:=mrCancel;
end;

procedure TMSEdEmployeeForm.tblEmployeeBeforePost(DataSet: TDataSet);
begin
  inherited;
  if dataset.State=dsinsert
  then dataset.FieldByName('CreateUserID').AsInteger:=Guarder.UserID;
end;

procedure TMSEdEmployeeForm.tblDepartmentFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  inherited;
  accept:=not (dataset.FieldByName('RecordState').AsString='删除');
//accept:=(dataset.FieldByName('ID').AsInteger<>DBLookupComboBox1.DataSource.DataSet.FieldByName('ID').AsInteger  )
//        and (not (dataset.FieldByName('RecordState').AsString='删除'));
end;

procedure TMSEdEmployeeForm.tblEmployeeFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  inherited;
  accept:=not (dataset.FieldByName('RecordState').AsString='删除');
end;

procedure TMSEdEmployeeForm.FormShow(Sender: TObject);
begin
  inherited;
  dbedit1.SetFocus;
  dbedit1.SelLength:=0;
end;

procedure TMSEdEmployeeForm.DBEdit2Exit(Sender: TObject);
begin
  inherited;
  tblEmployee.Edit;
  if (tblEmployee.FieldByName('BarCode').IsNull) or
       (tblEmployee.FieldByName('BarCode').AsString='' ) then
     tblEmployee.FieldByName('BarCode').AsString := tblEmployee.FieldByName('Code').AsString;
//  tblEmployee.Post;
end;

end.

⌨️ 快捷键说明

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