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

📄 u_employ.pas

📁 超信人力资源管理系统,一个用Delphi编写的人事管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  if Uppercase(LOGIN_CODE) <> 'SYSTEM' then //是否是系统管理员
    if not Is_INSERT then
    begin
      MessageDlg('你没有新增记录的权限,请与管理员联系!', mtError, [mbOK], 0);
      Abort;
    end; //
 //if not (Q_main.State in [Dsedit, Dsinsert]) then Q_main.Edit;
  Activequery.APPEND;
  SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,Computer,Dotime,TITLE,Havedo) VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''增加记录'')';
  Insert_log(sql_s);

  pagecontrol2.ActivePageIndex := 0;
  wwdbedit2.SetFocus;
end;

procedure TF_employ.Btn_EditClick(Sender: TObject);
begin
  inherited;
  pagecontrol2.ActivePageIndex := 0;
  wwdbedit2.SetFocus;
end;

procedure TF_employ.wwDBComboDlg1CustomDlg(Sender: TObject);
begin
  inherited;
  if not (Q_main.State in [dsinsert, dsedit]) then abort;
  application.CreateForm(TF_departselect, F_departselect);
  if F_departselect.ShowModal = mrok then
  begin
    Q_main.FieldByName('Emp_bmcode').AsString := F_departselect.SDep_id;
    Q_main.FieldByName('Emp_bmname').AsString := F_departselect.SDep_name;
  end;
end;

procedure TF_employ.Btn_DeleteClick(Sender: TObject);
begin
  if Activequery.RecordCount = 0 then exit; //无记录则退出
  if Uppercase(LOGIN_CODE) <> 'SYSTEM' then //
    if not Is_DELETE then
    begin
      MessageDlg('你没有删除的权限,请与管理员联系!', mtError, [mbOK], 0);
      Abort;
    end;
  if APPLICATION.MessageBox('你真的要删除这个记录吗?', '系统提示', MB_YESNO + MB_DEFBUTTON2) = IDNO then EXIT;
  try
    Activequery.Delete;
  except
    raise;
  end;
  Activequery.UpdateBatch(ARALL);

end;

procedure TF_employ.PageControl2Change(Sender: TObject);
begin
  inherited;
  case pagecontrol2.ActivePageIndex of
    0: activequery := Q_main;
    1: activequery := Q_JL_JL;
    2: activequery := Q_FAM;
    3: activequery := Q_LEARN;
    4: activequery := Q_JNTC;
    5: activequery := Q_jl;
    6: activequery := Q_cf;
    7: activequery := Q_move;
    8: activequery := Q_cc;
    9: activequery := Q_qj;
    10: activequery := Q_SALARY;
  end;
  //Activequery.Close;
  //Activequery.Open;

end;

procedure TF_employ.Btn_SaveClick(Sender: TObject);
begin
  inherited;
  Activequery.UpdateBatch(arall);
end;

procedure TF_employ.GRID_FAMExit(Sender: TObject);
begin
  inherited;
  Q_Fam.UpdateBatch(arall);
end;

procedure TF_employ.GRID_JLExit(Sender: TObject);
begin
  inherited;
  Q_JL_JL.UpdateBatch(arall);
end;

procedure TF_employ.GRID_JNTCExit(Sender: TObject);
begin
  inherited;
  Q_JNTC.UpdateBatch(arall);
end;

procedure TF_employ.DBGridEh4Exit(Sender: TObject);
begin
  inherited;
  Q_JL.UpdateBatch(arall);
end;

procedure TF_employ.DBGridEh5Exit(Sender: TObject);
begin
  inherited;
  Q_CF.UpdateBatch(arall);
end;

procedure TF_employ.DBGridEh3Exit(Sender: TObject);
begin
  inherited;
  Q_move.UpdateBatch(arall);
end;

procedure TF_employ.DBGridEh1Exit(Sender: TObject);
begin
  inherited;
  Q_QJ.UpdateBatch(arall);
end;

procedure TF_employ.Grid_SALARYExit(Sender: TObject);
begin
  inherited;
  Q_Salary.UpdateBatch(arall);
end;

procedure TF_employ.grid_learnExit(Sender: TObject);
begin
  inherited;
  Q_learn.UpdateBatch(arall);
end;

procedure TF_employ.DBGridEh2Exit(Sender: TObject);
begin
  inherited;
  Q_CC.UpdateBatch(arall);
end;

procedure TF_employ.Q_JL_JLBeforeInsert(DataSet: TDataSet);
begin
  inherited;
  if Q_main.RecordCount = 0 then exit;
  Old_orderno := Activequery.fieldbyname('orderno').AsInteger;
end;

procedure TF_employ.Q_JL_JLAfterInsert(DataSet: TDataSet);
begin
  inherited;
  CREATEGUID(NID);
  Activequery.FieldByName('sid').AsString := GUIDTOSTRING(NID);
  Activequery.FieldByName('CNID').AsString := Q_main.Fieldbyname('sid').AsString;
  Activequery.Fieldbyname('orderno').AsInteger := Old_orderno + 1;
end;

procedure TF_employ.Q_mainEmp_CardValidate(Sender: TField); //从身份证中得到其他信息
begin
  inherited;
  //Q_MAIN.FIELDBYNAME('PROV').ASSTRING := sql_RESULT('select MC from xzqh WHERE DM=''' + COPY(SENDER.ASSTRING, 1, 2) + '''');

  //Q_MAIN.FIELDBYNAME('CITY').ASSTRING := sql_RESULT('select MC from xzqh WHERE DM=''' + COPY(SENDER.ASSTRING, 1, 6) + '''');

  try
    if length(sender.asstring) = 15 then
    begin
      SQL_S := SENDER.ASSTRING;
      Q_MAIN.FIELDBYNAME('Emp_born').ASSTRING := '19' + COPY(SQL_S, 7, 2) + '-' + COPY(SQL_S, 9, 2) + '-' + COPY(SQL_S, 11, 2);
      if (STRTOINT(COPY(SENDER.ASSTRING, 15, 1)) mod 2) = 0 then
        Q_MAIN.FIELDBYNAME('Emp_sex').ASSTRING := '女'
      else
        Q_MAIN.FIELDBYNAME('Emp_sex').ASSTRING := '男';
    end
    else
      if length(sender.asstring) = 18 then
      begin
        SQL_S := SENDER.ASSTRING;
        Q_MAIN.FIELDBYNAME('Emp_born').ASSTRING := COPY(SQL_S, 7, 4) + '-' + COPY(SQL_S, 11, 2) + '-' + COPY(SQL_S, 13, 2);
        if (STRTOINT(COPY(SENDER.ASSTRING, 17, 2)) mod 2) = 0 then
          Q_MAIN.FIELDBYNAME('Emp_sex').ASSTRING := '男'
        else
          Q_MAIN.FIELDBYNAME('Emp_sex').ASSTRING := '女';
      end;

  except
    MessageDlg('身份证号码有错,出生日期有错!', mtWarning, [mbOK], 0);
  end;
end;

procedure TF_employ.wwDBEdit3Exit(Sender: TObject);
begin
  inherited;
  if not (Q_main.State in [dsedit, dsinsert]) then exit;
  if LENGTH(wwDBEdit3.TEXT) = 0 then EXIT;
  if (LENGTH(wwDBEdit3.TEXT) = 18) or ((LENGTH(wwDBEdit3.TEXT) = 15)) then EXIT;
  begin
    MessageDlg('身份证号码位数错误,位数不是15或18位!', mtWarning, [mbOK], 0);
    wwDBEdit3.SetFocus;
  end;
end;

procedure TF_employ.Q_mainEmp_testdayValidate(Sender: TField);
begin
  inherited;
  Q_MAIN.FIELDBYNAME('EMp_Reallydate').ASDATETIME := Q_MAIN.FIELDBYNAME('Emp_COMEDATE').ASDATETIME + SENDER.ASINTEGER;
end;

procedure TF_employ.TreeChange(Sender: TObject; Node: TTreeNode);
var Tnode: TTreenode;
begin
  inherited;
  if not (node.HasChildren) then
    if node.ImageIndex <> 2 then
    begin
      Sql_s := 'Select EMP_id,EMP_name,Emp_bmcode,EMP_bmname from TB_employ where emp_bmcode=''' + Copy(node.Text, 1, pos('@', node.Text) - 1) + '''';
      Sql_change(Q_Temp2, Sql_s);
      while not Q_temp2.Eof do
      begin
        Tnode := Tree.Items.AddChild(node, Q_temp2.fieldbyname('Emp_name').AsString);
        Tnode.ImageIndex := 2;
        Q_temp2.Next;
      end;
    end
    else
    begin
      Sql_s := 'Select * from TB_Employ where Emp_name=''' + node.text + '''';
      Sql_change(q_main, Sql_s);
    end;

end;

procedure TF_employ.Edit1Change(Sender: TObject);
begin
  inherited;
  Q_main.Locate('Emp_id', edit1.Text, []);
end;

procedure TF_employ.Edit2Change(Sender: TObject);
begin
  inherited;
  Q_main.Locate('Emp_name', edit2.Text, []);
end;

procedure TF_employ.N1Click(Sender: TObject);
var
  P: Tmemorystream;
  g: Tjpegimage;
begin
  if not (Q_main.State in [dsedit, dsinsert]) then exit;
  Screen.Cursor := crHourGlass;
  if openimage.Execute then
    image1.Picture.LoadFromFile(openimage.FileName);
  with Q_main do
  begin
    try
      p := Tmemorystream.Create;
      g := Tjpegimage.Create;
      g.Assign(Image1.Picture.Graphic);
      g.SaveToStream(p);
      p.Position := 0;
      TBlobField(FieldByName('Emp_image')).LoadFromStream(p);
    finally
      p.Free;
      g.Free;
    end;
  end;
  Screen.Cursor := crdefault;
end;


function TF_employ.IsPicture(A_FileName: TFileName): Boolean;
begin
  with TPicture.Create do
  try
    LoadFromFile(A_FileName);
    Result := (Graphic is TJPEGImage) or (Graphic is TBitmap);
  finally
    Free;
  end;
end;


procedure TF_employ.Q_mainAfterScroll(DataSet: TDataSet);
var
  Jpg: TJPEGImage;
  Buf: TMemoryStream;
begin
  inherited;
  try
    if (Q_main.RecordCount > 0) and not (Q_main.FieldByName('Emp_image').IsNull) then
    begin
      Jpg := TJPEGImage.Create;
      Buf := TMemoryStream.Create;
      TBlobField(Q_main.FieldByName('Emp_image')).SaveToStream(Buf);
      Buf.Position := 0;
      Image1.Visible := false;
      if BUF.Size = 0 then
      else
      begin
        Jpg.LoadFromStream(Buf);
        Image1.Picture.Assign(jpg);
        Image1.Visible := true;
      end;
      Buf.Free;
      Jpg.Free;
    end
    else
      Image1.Picture := nil;
  except;
  end;

end;

procedure TF_employ.Image1DblClick(Sender: TObject);
begin
  inherited;
  n1.Click;
end;

procedure TF_employ.N4Click(Sender: TObject);
begin
  if not (Q_main.State in [dsedit, dsinsert]) then exit;
  if MessageDlg('确认要清除此人员相片吗?', mtConfirmation, [mbOK, mbCancel], 0) = mrOk then
  begin
    Screen.Cursor := crHourGlass;
 // if openimage.Execute then
 // image1.Picture.LoadFromFile(openimage.FileName);
    Image1.Picture := nil;
    with Q_main do
    begin
      try
        TBlobField(FieldByName('Emp_image')).Clear;
      except
        raise;
      end;
    end;
    Screen.Cursor := crdefault;
  end;
end;

procedure TF_employ.BitBtn1Click(Sender: TObject);
begin
  inherited;
Close;
end;

initialization
  RegisterClass(TF_employ);

end.

⌨️ 快捷键说明

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