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

📄 bjzc.pas

📁 酒店资源管理的软件
💻 PAS
字号:
unit bjzc;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, ComCtrls,
  HumanResourceControls, Grids, DBGrids, DB, ADODB;

type
  TFrmBjzc = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    DBDTPPrrq: TDBDateTimePicker;
    DBDTPJsrq: TDBDateTimePicker;
    DBNavigator1: TDBNavigator;
    Button1: TButton;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    ADODataSet2: TADODataSet;
    DBEdtPzdw: TDBEdit;
    Label5: TLabel;
    DBEdtPzwh: TDBEdit;
    Label6: TLabel;
    Label7: TLabel;
    DBEdtZgzsh: TDBEdit;
    Label8: TLabel;
    DBEdtPrdw: TDBEdit;
    Label9: TLabel;
    DBEdtPrzsh: TDBEdit;
    ADODataSet1ZCXX_GH: TWideStringField;
    ADODataSet1ZCXX_PRZCDM: TWideStringField;
    ADODataSet1ZCXX_PZRQ: TDateTimeField;
    ADODataSet1ZCXX_PZDW: TWideStringField;
    ADODataSet1ZCXX_PZWH: TWideStringField;
    ADODataSet1ZCXX_PRDW: TWideStringField;
    ADODataSet1ZCXX_PRSJ: TDateTimeField;
    ADODataSet1ZCXX_JPSJ: TDateTimeField;
    ADODataSet1ZCXX_ZGZSH: TWideStringField;
    ADODataSet1ZCXX_PRZSH: TWideStringField;
    ADODataSet1ZCXX_PRZCMC: TStringField;
    DBLookupCmbPrzc: TDBLookupComboBox;
    DBDTPPzsj: TDBDateTimePicker;
    procedure ADODataSet1NewRecord(DataSet: TDataSet);
    procedure ADODataSet1BeforePost(DataSet: TDataSet);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    FGh:string;
    procedure setGh(value:string);


  public
    { Public declarations }
    property Gh:string read FGh write setGh ;
  end;

var
  FrmBjzc: TFrmBjzc;

implementation
uses
  dm;

{$R *.dfm}

procedure TFrmBjzc.setGh(value:string);
begin
  FGh := value;
  if trim(FGh) = '' then //工号为空
  begin
    ADODataSet1.Active := false;
  end
  else
  begin
    //下面查找是否有工号为FGh的员工
    ADODataSet2.Active := false;
    ADODataSet2.CommandText := 'select * from jbzl where trim(JBZL_GH)' +
          ' = ''' + trim(FGh) + '''';
    ADODataSet2.Active := true;
    if ADODataSet2.IsEmpty then //此员工不存在
    begin
      ShowMessage('未找到工号为' + FGh + '的员工');
      ADODataSet1.Active := false;
    end
    else   //存在此员工
    begin
      Caption := '编辑职称信息:' +
        ADODataSet2.fieldbyName('JBZL_XM').AsString ; 
      ADODataSet1.Active := false;
      ADODataSet1.CommandText := 'select * from zcxx where trim(zcxx_Gh)' +
            ' = ''' + trim(FGh) + ''' order by zcxx_pzrq';
      ADODataSet1.Active := true;
    end;// if ADODataSet1.IsEmpty
  end; // if trim(FGh) <> ''
end;

procedure TFrmBjzc.ADODataSet1NewRecord(DataSet: TDataSet);
begin
  ADODataSet1.Fields.FieldByName('ZCXX_GH').Value := Gh;
end;

procedure TFrmBjzc.ADODataSet1BeforePost(DataSet: TDataSet);
begin
  if trim(DBLookupCmbPrzc.Text)='' then
  begin
    ShowMessage('请输入职称!');
    Abort ;
    DBLookupCmbPrzc.SetFocus ;
    exit;
  end;

  if ADODataSet1.FieldByName('ZCXX_PZRQ').Value  = null   then
  begin
    ShowMessage('请输入批准时间!');
    Abort ;
    DBDTPPzsj.SetFocus ;
    exit;
  end;

  if trim(DBEdtPzdw.Text)='' then
  begin
    ShowMessage('请输入批准单位!');
    Abort ;
    DBEdtPzdw.SetFocus ;
    exit;
  end;

  if trim(DBEdtZgzsh.Text)='' then
  begin
    ShowMessage('请输入资格证书号!');
    Abort ;
    DBEdtZgzsh.SetFocus ;
    exit;
  end;

  if ADODataSet1.FieldByName('ZCXX_PRSJ').Value <> Null then
  begin
    if (DBDTPPrrq.Date < DBDTPPzsj.Date) then
    begin
      ShowMessage('聘任日期必须晚于批准日期!');
      Abort ;
      DBDTPPrrq.SetFocus ;
      exit;
    end;

    if trim(DBEdtPrdw.Text)='' then
    begin
      ShowMessage('请输入聘任单位!');
      Abort ;
      DBEdtPrdw.SetFocus ;
      exit;
    end;

    if trim(DBEdtPrzsh .Text)='' then
    begin
      ShowMessage('请输入聘任证书号!');
      Abort ;
      DBEdtPrzsh.SetFocus ;
      exit;
    end;

    if (ADODataSet1.FieldByName('ZCXX_JPSJ').Value<> Null) and
       (DBDTPJsrq.Date < DBDTPPrrq.Date) then
    begin
      ShowMessage('解聘日期必须晚于聘任日期!');
      Abort ;
      DBDTPJsrq.SetFocus ;
      exit;
    end;
  end;
end;

procedure TFrmBjzc.DBGrid1TitleClick(Column: TColumn);
var
  tempSortStr,FN:string;
begin
  FN := Column.FieldName;
  if trim(FN) = 'ZCXX_PRZCMC'  then
  begin
    FN := 'ZCXX_PRZCDM';
  end;

  tempSortStr := ADODataSet1.Sort ;
  if tempSortStr = (FN + ' ASC') then
  begin
      ADODataSet1.Sort := FN + ' DESC';
  end
  else
  begin
    ADODataSet1.Sort := FN + ' ASC';
  end;
end;

procedure TFrmBjzc.Button1Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmBjzc.FormCreate(Sender: TObject);
begin
  DBDTPPrrq.MaxDate := now;
  DBDTPJsrq.MaxDate := now;
  DBDTPPzsj.MaxDate := now;
end;

end.

⌨️ 快捷键说明

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