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

📄 rl_lssj_unit.~pas

📁 通用人力资源系统,分类可以自设定 可以熟练掌握DELPHI语言
💻 ~PAS
字号:
unit rl_lssj_Unit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGridEh, DB, DBTables, ExtCtrls, StdCtrls, Mask, RzEdit,
  PrnDbgeh, ComCtrls;

type
  Trl_lssj = class(TForm)
    Panel1: TPanel;
    Splitter1: TSplitter;
    Panel2: TPanel;
    DataSource1: TDataSource;
    Q_cx: TQuery;
    DBGridEh1: TDBGridEh;
    Label1: TLabel;
    cb_dw: TComboBox;
    Label2: TLabel;
    cb_fc: TComboBox;
    Label3: TLabel;
    cb_bz: TComboBox;
    tb_dw: TTable;
    tb_bm: TTable;
    tb_bz: TTable;
    Label4: TLabel;
    cb_jsxm: TComboBox;
    tb_jsxm: TTable;
    Button1: TButton;
    q_js: TQuery;
    Button2: TButton;
    dateedit1: TRzDateTimeEdit;
    dateedit2: TRzDateTimeEdit;
    edt_rq1: TEdit;
    edt_rq2: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    prt: TPrintDBGridEh;
    Button3: TButton;
    Button4: TButton;
    StatusBar1: TStatusBar;
    Panel3: TPanel;
    Splitter2: TSplitter;
    pb1: TProgressBar;
    procedure FormCreate(Sender: TObject);
    procedure cb_dwChange(Sender: TObject);
    procedure cb_fcChange(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure dateedit1Change(Sender: TObject);
    procedure dateedit2Change(Sender: TObject);
    procedure cb_jsxmChange(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  rl_lssj: Trl_lssj;

implementation

{$R *.dfm}

procedure Trl_lssj.FormCreate(Sender: TObject);
var
  i: integer;
begin
  tb_dw.Open;
  tb_dw.First;
  with tb_dw do
    while not eof do
    begin
      cb_dw.Items.Add(tb_dw['dw']);
      next;
    end;
  tb_dw.close;
  tb_jsxm.Open;
  tb_jsxm.First;
  for i := 1 to 30 do
    tb_jsxm.Next;
  with tb_jsxm do
    while not eof do
    begin
      cb_jsxm.Items.Add(tb_jsxm['gzdm'] + '   ' + tb_jsxm['xsmc']);
      next;
    end;
  tb_jsxm.Close;
end;

procedure Trl_lssj.cb_dwChange(Sender: TObject);
begin
  cb_fc.Items.Clear;
  cb_bz.Items.Clear;
  tb_bm.Open;
  tb_bm.First;
  with tb_bm do
    while not eof do
    begin
      if trim(cb_dw.Text) = trim(tb_bm['bmlb']) then
        cb_fc.Items.Add(tb_bm['bmmc']);
      next;
    end;
  tb_bm.close;
  cb_fc.ItemIndex := -1;
  cb_fc.Text := '';
  cb_bz.ItemIndex := -1;
  cb_bz.Text := '';
  if cb_dw.Text <> '' then
    button1.Enabled := true;
end;

procedure Trl_lssj.cb_fcChange(Sender: TObject);
begin
  cb_bz.Items.Clear;
  tb_bz.Open;
  tb_bz.First;
  with tb_bz do
    while not eof do
    begin
      if (trim(cb_fc.Text) = trim(tb_bz['fcmc'])) and (trim(cb_dw.Text) = trim(tb_bz['lbmc'])) then
        cb_bz.Items.Add(tb_bz['bzmc']);
      next;
    end;
  tb_bz.close;
  cb_bz.ItemIndex := -1;
  cb_bz.Text := '';

end;

procedure Trl_lssj.Button1Click(Sender: TObject);
var
  sql1: string;
begin
  button2.Enabled := true;
  if (trim(cb_dw.Text) <> '') and (trim(cb_fc.text) = '') and (trim(cb_bz.Text) = '') then
    sql1 := 'select a1,a5,a150 from gzzk where a2=' + '''' + cb_dw.Text + '''';
  if (trim(cb_dw.Text) <> '') and (trim(cb_fc.text) <> '') and (trim(cb_bz.Text) = '') then
    sql1 := 'select a1,a5,a150 from gzzk where a2=' + '''' + cb_dw.Text + '''' + 'and a3=' + '''' + cb_fc.Text + '''';
  if (trim(cb_dw.Text) <> '') and (trim(cb_fc.text) <> '') and (trim(cb_bz.Text) <> '') then

    sql1 := 'select a1,a5,a150 from gzzk where a2=' + '''' + cb_dw.Text + '''' + 'and a3=' + '''' + cb_fc.Text + '''' + ' and a4=' + '''' + cb_bz.Text + '''';
  q_cx.close;
  with q_cx do
  begin
    sql.Clear;
    sql.Add(sql1);
    q_cx.Prepare;
    open;
    if q_cx.RecordCount = 0 then
    begin
      showmessage('没有发现数据!返回');
      q_cx.close;
      exit;
    end;

  end;
end;

procedure Trl_lssj.Button2Click(Sender: TObject);
var
  jsdm, sql1, zgbh: string;
  jlzs: integer;
begin
  if (cb_jsxm.Text = '') or (edt_rq1.Text = '') or (edt_rq2.Text = '') then
  begin
    showmessage('计算项目、起始日期或终止日期不能为空!重新选择');
    exit;
  end;
  panel3.Visible := true;
  application.ProcessMessages;
  jsdm := trim(copy(cb_jsxm.Text, 1, 4));
  jlzs := q_cx.RecordCount;
  q_cx.First;
  with q_cx do
    while not eof do
    begin
      application.ProcessMessages;
      zgbh := inttostr(strtoint(q_cx.Fields[0].AsString));
      sql1 := 'select sum(' + jsdm + ')  from gz_bf where a0>=' + edt_rq1.Text + ' and a0<=' + edt_rq2.text + ' and a1=' + zgbh;
      q_js.close;
      with q_js do
      begin
        sql.Clear;
        sql.Add(sql1);
        q_js.Prepare;
        q_js.open;
      end;
      q_cx.Edit;
      q_cx['a150'] := q_js.Fields[0].AsFloat;
      q_cx.Post;
      q_js.Close;
      pb1.Position := trunc(q_cx.RecNo / jlzs * 100);
      application.ProcessMessages;
      q_cx.Next;
    end;
  panel3.Visible := false;
end;

procedure Trl_lssj.dateedit1Change(Sender: TObject);
begin
  edt_rq1.Text := copy(dateedit1.Text, 1, 8);
end;

procedure Trl_lssj.dateedit2Change(Sender: TObject);
begin
  edt_rq2.Text := copy(dateedit2.Text, 1, 8);
end;

procedure Trl_lssj.cb_jsxmChange(Sender: TObject);
begin
  with dbgrideh1.Columns[2].Title do
  begin
    caption := copy(cb_jsxm.Text, 4, strlen(pchar(cb_jsxm.text)) - 3);

  end;
end;

procedure Trl_lssj.Button4Click(Sender: TObject);
begin
  close;
end;

procedure Trl_lssj.Button3Click(Sender: TObject);
begin
  prt.Preview;
end;

end.

⌨️ 快捷键说明

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