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

📄 uemployee.pas

📁 说明: 比较简单的人事档案管理程序,包含了人事档案的大部分功能,做人事档案的兄弟可以看看. 本程序类型:delphi7 + Access2000 桌面数据库 初始用户名/密码:admin
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Uemployee;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, StrUtils, ExtCtrls, jpeg, DBCtrls, ExtDlgs,
  DBTables, DB, ADODB;

type
  //Letters= set of String;
  TForm_Employee = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Panel1: TPanel;
    Button3: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Csex: TComboBox;
    CEmployee_FirstDept: TComboBox;
    CEmployee_SecondDept: TComboBox;
    Edit3: TEdit;
    CEmployee_polity: TComboBox;
    CEmployee_marriage: TComboBox;
    CEmployee_educate: TComboBox;
    DateTime1: TDateTimePicker;
    CEmployee_folk: TComboBox;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    CEmployee_type: TComboBox;
    CEmployee_post: TComboBox;
    CEmployee_payType: TComboBox;
    CEmployee_bargain: TComboBox;
    CEmployee_duty: TComboBox;
    CEmployee_banktype: TComboBox;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    DateTime2: TDateTimePicker;
    DateTime3: TDateTimePicker;
    DateTime4: TDateTimePicker;
    DateTime5: TDateTimePicker;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Memo1: TMemo;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    CEmployee_city: TComboBox;
    Edit10: TEdit;
    Edit14: TEdit;
    Edit12: TEdit;
    Edit13: TEdit;
    CEmployee_school: TComboBox;
    Edit11: TEdit;
    Button4: TButton;
    Image1: TImage;
    Edit15: TEdit;
    OpenPictureDialog1: TOpenPictureDialog;
    procedure CEmployee_FirstDeptClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Edit2Exit(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit7KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    imgPath: string;
    ExtName: string;
    procedure LoadDefaultSet;
    procedure LoadFirstDept;
    procedure LoadSecondDept(var FirstDeptName: string);
    procedure InsertEmployee;
    procedure UpDateEmployee;
    procedure addData(var setid: integer; setname: string);
//    procedure onTabpredset;
    function onTabprepset(var setid: integer; setname: string): integer;
  public
    { Public declarations }
  end;

var
  Form_Employee: TForm_Employee;

implementation
uses Umain, UPrepset;
{$R *.dfm}

procedure TForm_Employee.LoadDefaultSet;
var setid: integer;
  userID: string;
  SystemNumber: integer; //系统设置的员工编号位数;
  i, j: integer;
begin
  // 输入项设置
  if Form_Employee.Caption = '加入新职工' then
  begin
    Csex.Clear;
    Csex.Items.Add('男');
    Csex.Items.Add('女');
    Csex.Text := '男';
    CEmployee_marriage.Clear;
    CEmployee_marriage.Items.Add('已婚');
    CEmployee_marriage.Items.Add('未婚');
    CEmployee_marriage.Items.Add('离婚');
    CEmployee_marriage.Text := '已婚';
    CEmployee_folk.Clear;
    CEmployee_banktype.Text := '无';
    CEmployee_school.Text := '无';
    edit2.Clear;
    edit3.Clear;
    edit4.Clear;
    edit5.Clear;
    edit6.Clear;
    edit7.Clear;
    edit8.Clear;
    edit9.Clear;
    edit10.Clear;
    edit11.Clear;
    edit12.Clear;
    edit13.Clear;
    edit14.Clear;
    edit15.Text := 'NULL';
    image1.Picture.Graphic := nil;
    //从预设置数据表中载入
   // setid := 0;
    edit1.Enabled := true;
    //设置所有日期为当前日期
    DateTime1.DateTime := now();
    DateTime2.DateTime := now();
    DateTime3.DateTime := now();
    DateTime4.DateTime := now();
    DateTime5.DateTime := now();
  end;

  //先清除下拉列框
  CEmployee_type.Items.Clear;
  CEmployee_post.Items.Clear;
  CEmployee_duty.Items.Clear;
  CEmployee_polity.Items.Clear;
  CEmployee_folk.Items.Clear;
  CEmployee_paytype.Items.Clear;
  CEmployee_educate.Items.Clear;
  CEmployee_bargain.Items.Clear;
  CEmployee_banktype.Items.Clear;
  CEmployee_school.Items.Clear;
  CEmployee_city.Items.Clear;

  try
    with Form_main.TabPrepset do
    begin
      close;
      open;
      first;
      while not eof do
      begin
        setid := FieldByName('set_ID').AsInteger;
        case setid of //
          0: begin
              CEmployee_type.Items.Add(FieldByName('set_name').AsString);
             { if Form_Employee.Caption = '加入新职工'  then
                CEmployee_type.Text := FieldByName('set_name').AsString;}
            end;
          1: begin
              CEmployee_post.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_post.Text := FieldByName('set_name').AsString;
            end;
          2: begin
              CEmployee_duty.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_duty.Text := FieldByName('set_name').AsString;
            end;
          3: begin
              CEmployee_polity.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_polity.Text := FieldByName('set_name').AsString;
            end;
          4: begin
              CEmployee_folk.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_folk.Text := FieldByName('set_name').AsString;
            end;
          5: begin
              CEmployee_educate.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_educate.text := FieldByName('set_name').AsString;
            end;
          6: begin
              CEmployee_paytype.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_paytype.Text := FieldByName('set_name').AsString;
            end;
          7: begin
              CEmployee_bargain.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_bargain.Text := FieldByName('set_name').AsString;
            end;
          8: begin
              CEmployee_banktype.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_banktype.Text := FieldByName('set_name').AsString;
            end;
          9: begin
              CEmployee_city.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_city.Text := FieldByName('set_name').AsString;
            end;
          10: begin
              CEmployee_school.Items.Add(FieldByName('set_name').AsString);
              if Form_Employee.Caption = '加入新职工' then
                CEmployee_school.Text := FieldByName('set_name').AsString;
            end;
        end; // case
        next;
      end; // while
      close;
    end; // with
  except
    beep;
    showmessage('打开预设表失败,请检查数据库文件是否存在');
  end;
  //载入员工工号
  if Form_Employee.Caption = '加入新职工' then
  begin
    try
      with Form_main.TabSystem do
      begin
        close;
        open;
        first;
        SystemNumber := FieldValues['Employee_number'];
        UserID := inttostr(FieldValues['EndEmployee_id'] + 1);
        j := length(UserID);
        try
          EDIT1.Text := '';
          for i := 1 to SystemNumber - j do
            edit1.Text := edit1.Text + '0';
          edit1.Text := edit1.Text + UserID;
        except
          beep;
          Showmessage('您设置的员工编号位数过短,请重新设置!');
          Showmessage('请关闭本窗口,然后在设置菜单中打开系统设置!');
          Form_main.TabSystem.CLOSE;
        end;
        close;
        edit1.Enabled := false;
      end;
    except
      beep;
      showmessage('打开系统表失败,请检查数据库文件是否存在');
    end;
  end;
end;

procedure TForm_Employee.LoadFirstDept;
begin
  try
    with Form_main.TabDept do
    begin
      close;
      open;
      first;
      while not eof do
      begin
        if FieldByName('dept_upid').AsInteger = 0 then
        begin
          CEmployee_FirstDept.Items.Add(FieldByName('dept_name').AsString);
//          CEmployee_FirstDept.Text := FieldByName('dept_name').AsString;
        end
        else
          next;
        next;
      end; // while
      close;
    end; // with
  except
    beep;
    showmessage('打开部门表失败,请检查数据库是否存在');
  end;
end;

procedure TForm_Employee.LoadSecondDept(var FirstDeptName: string);
var DeptUpID: integer;
begin
  DeptUpID := 0;
  CEmployee_SecondDept.Clear;
  CEmployee_SecondDept.Items.Add('无');
  CEmployee_SecondDept.Text := '无';
  try
    with form_main.TabDept do
    begin
      close;
      open;
      first;
      while not eof do
      begin
        if (FirstDeptName = FieldByName('dept_name').AsString) then
          DeptUpID := FieldByName('dept_id').AsInteger
        else
        begin
          if deptUpID <> 0 then
          begin
            if deptUpID = FieldByName('dept_upid').AsInteger then
              CEmployee_SecondDept.Items.Add(fieldByName('dept_name').AsString);
          end;
        end;
        next;
      end; // while
      close;
    end; // with
  except
    showmessage('打开预设表失败,请检查数据库文件是否存在');
  end;
end;

procedure TForm_Employee.InsertEmployee;
var
  str: TMemoryStream;
  temp: string;
  myjpeg: tjpegimage;
  //Tjpg:Letters;     //jpg类型文件集合
  //Tbmp:Letters;      //bmp类型文件集合
begin
  //Tjpg:=['jpg','jpeg','JPEG','JPG'];
 //bmp:=['BMP','bmp'];
  temp := edit15.text;
  try
    with form_main.TabEmployee do
    begin
      close;
      open;
      insert;
      FieldValues['employee_id'] := trim(edit1.Text);

      FieldValues['employee_name'] := trim(edit2.Text);

      FieldValues['employee_sex'] := trim(Csex.Text);

      FieldValues['employee_FirstDept'] := trim(CEmployee_FirstDept.Text);

      FieldValues['employee_SecondDept'] := trim(CEmployee_SecondDept.Text);

      FieldValues['employee_folk'] := trim(CEmployee_folk.Text);

      FieldValues['employee_birthday'] := Formatdatetime('yyyy-mm-dd', DateTime1.Date);

      FieldValues['employee_IDcard'] := trim(edit3.Text);

      FieldValues['employee_polity'] := trim(CEmployee_polity.Text);

      FieldValues['employee_marriage'] := trim(CEmployee_marriage.Text);

      FieldValues['employee_educate'] := trim(CEmployee_educate.Text);

      FieldValues['employee_type'] := trim(CEmployee_type.Text);

      FieldValues['employee_post'] := trim(CEmployee_post.Text);

      FieldValues['employee_startworkdate'] := Formatdatetime('yyyy-mm-dd', DateTime2.Date);

      FieldValues['employee_joindate'] := Formatdatetime('yyyy-mm-dd', DateTime3.date);

      FieldValues['employee_duty'] := trim(CEmployee_duty.text);

      FieldValues['employee_banktype'] := trim(CEmployee_banktype.text);

      FieldValues['employee_banknumber'] := trim(edit4.text);

      fieldValues['employee_paytype'] := trim(CEmployee_paytype.Text);

      fieldValues['employee_endowment'] := trim(edit5.Text);

      fieldValues['employee_medicare'] := trim(edit6.Text);

      fieldValues['employee_bargain'] := trim(CEmployee_bargain.Text);

      FieldValues['employee_bargainstart'] := Formatdatetime('yyyy-mm-dd', DateTime4.Date);

      FieldValues['employee_bargainstop'] := Formatdatetime('yyyy-mm-dd', DateTime5.Date);
      FieldValues['employee_tel'] := trim(edit7.Text);

      FieldValues['employee_othertel'] := trim(edit8.Text);

      FieldValues['employee_email'] := trim(edit9.Text);

      FieldValues['employee_text'] := trim(edit10.Text);

      FieldValues['employee_number'] := trim(edit11.Text);

      FieldValues['employee_city'] := trim(CEmployee_city.Text);

      FieldValues['employee_school'] := trim(CEmployee_school.Text);

      FieldValues['employee_nowaddress'] := trim(edit12.Text);

      FieldValues['employee_homepage'] := trim(edit13.Text);

      FieldValues['employee_moblie'] := trim(edit14.Text);

      FieldValues['employee_memo'] := trim(memo1.Text);

      FieldValues['employee_phototype'] := trim(edit15.Text);

      if temp <> 'NULL' then //temp 保存图片格式
      begin
        if temp = 'jpg' then
        begin
          str := tmemorystream.Create; //str 是内存流格式
          myjpeg := tjpegimage.Create;
          myjpeg.Assign(image1.Picture.Graphic);
          myjpeg.SaveToStream(str);
          str.Position := 0;
          tblobfield(form_main.TabEmployee.FieldByName('employee_photo')).LoadFromStream(str);
          str.free;
        end;
        if temp = 'bmp' then
        begin
          str := tmemorystream.Create;
          image1.Picture.Bitmap.SaveToStream(str);
          str.Position := 0;
          tblobfield(form_main.TabEmployee.FieldByName('employee_photo')).LoadFromStream(str);
          str.free;

⌨️ 快捷键说明

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