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

📄 usalary.pas

📁 是个办公系统,可以实现财务上的管理和人员的流动
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Usalary;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, Mask, DBCtrls,
  Buttons, ImgList;

type
  TfrmSalary = class(TForm)
    GroupBox1: TGroupBox;
    TreeView1: TTreeView;
    Panel1: TPanel;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox3: TGroupBox;
    Panel2: TPanel;
    DBGrid2: TDBGrid;
    Label9: TLabel;
    Label10: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    GroupBox5: TGroupBox;
    Label30: TLabel;
    DateTimePicker2: TDateTimePicker;
    Label31: TLabel;
    Label32: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    bbtnSave: TBitBtn;
    Splitter1: TSplitter;
    HeaderControl1: THeaderControl;
    ComboBox1: TComboBox;
    Edit9: TEdit;
    ImageList1: TImageList;
    GroupBox4: TGroupBox;
    GroupBox6: TGroupBox;
    bbtnNew: TBitBtn;
    bbtnModify: TBitBtn;
    bbtnCancel: TBitBtn;
    bbtnPost: TBitBtn;
    Label2: TLabel;
    Edit4: TEdit;
    Label5: TLabel;
    Edit13: TEdit;
    Label13: TLabel;
    Edit17: TEdit;
    Label7: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label6: TLabel;
    Label15: TLabel;
    Edit10: TEdit;
    Edit14: TEdit;
    Edit18: TEdit;
    Label14: TLabel;
    Label17: TLabel;
    Label1: TLabel;
    Label16: TLabel;
    Edit11: TEdit;
    Edit15: TEdit;
    Edit19: TEdit;
    Memo1: TMemo;
    Label4: TLabel;
    DateTimePicker1: TDateTimePicker;
    Edit16: TEdit;
    Label8: TLabel;
    Label3: TLabel;
    Edit12: TEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ComboBox1DropDown(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure bbtnModifyClick(Sender: TObject);
    procedure bbtnPostClick(Sender: TObject);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure ComboBox1Change(Sender: TObject);
    procedure bbtnCancelClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DateTimePicker2Change(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure bbtnSaveClick(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure bbtnNewClick(Sender: TObject);
    procedure ComboBox3DropDown(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmSalary: TfrmSalary;

implementation

uses MyData, UdailyCost;

{$R *.dfm}

procedure TfrmSalary.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   Action:=caFree;
end;

procedure TfrmSalary.ComboBox1DropDown(Sender: TObject);
begin
  combobox1.Items.Clear;
  dm.AQEmpname.Close;
  dm.AQEmpname.SQL.Clear;
  dm.AQEmpname.SQL.Add('select EmpName from Employees');
  dm.AQEmpname.Open;
    while not dm.AQEmpname.Eof do
        begin
          combobox1.Items.Add(dm.AQEmpname.FieldValues['Empname']);
          dm.AQEmpname.Next;
       end;
end;

procedure TfrmSalary.FormCreate(Sender: TObject);
var
   node:ttreenode;
begin
 treeview1.Items.Clear;
 with dm.AQDeptName do
   begin
    close;
    sql.Clear;
    sql.Add('select distinct(Department) from Employees');
    open;
    first;
    while not dm.AQDeptName.Eof do
      begin
        node:=treeview1.Items.AddObject(nil,dm.AQDeptName.FieldValues['Department'],nil);
          with dm.AQDeptEmp do
            begin
              close;
              sql.Clear;
              sql.Add('select EmpName from Employees where Department='''+dm.AQDeptName.FieldValues['Department']+'''');
              open;
              First;
           while not dm.AQDeptEmp.Eof do
             begin
               treeview1.Items.AddChildObject(node,FieldValues['EmpName'],nil);
               dm.AQDeptEmp.Next;
             end;
              dm.AQDeptName.Next;
      end;
  end;
 end;
 end;

procedure TfrmSalary.TreeView1Click(Sender: TObject);
var
  Year, Month, Day: Word;
begin
  DecodeDate(datetimepicker1.Date, Year, Month, Day);
  if  treeview1.selected.level=0  then
    begin
      with dm.AQSalary do
         begin
           close;
           sql.clear;
           sql.add('select * from salary where Department='''+treeview1.selected.text+''' and  ');
           sql.Add('SalDate='''+FormatDateTime('YYYY-MM-DD',DateTimePicker1.date)+''' and IsSal='''+'否'+'''');
           open;
         end;
         edit10.Text:='';
         edit11.Text:='';
         edit12.Text:='';
         edit13.Text:='';
         edit14.Text:='';
         edit15.Text:='';
         edit16.Text:='';
         edit17.Text:='';
         edit18.Text:='';
         edit19.Text:='';
         combobox2.Text:='';
         ComboBox3.Text:='';
         edit4.Text:='';
         Memo1.Text:='';
    end;
if Treeview1.Selected.Level=1 then
  begin
     with dm.AQSalary do
        begin
          close;
          sql.clear;
          sql.add('select * from salary where EmpName='''+treeview1.selected.text+''' and Department='''+TreeView1.Selected.Parent.Text+'''');
          sql.Add('  and SalDate='''+FormatDateTime('YYYY-MM-DD',DateTimePicker1.date)+''' and IsSal='''+'否'+'''');
          open;
        end;
    with dm.AQPayWages do
     begin
       close;
       sql.Clear;
       sql.Add('select * from PayOff_View where EmpName='''+TreeView1.Selected.Text+''' and Department='''+TreeView1.Selected.Parent.Text+'''');
       open;
       dm.ATPayWages.Clone(dm.AQPayWages);
     end;
     //统计个人工资的发放情况
     with dm.AQWagesSum do
    begin
      close;
      sql.Clear;
      sql.Add('select Count(EmpName) as sumEmpno ,Sum(yifa) as sumsal,Sum(kouchu) as deduct from PayOff_View');
      sql.Add(' where  Empname='''+treeview1.Selected.Text+''' and Department='''+TreeView1.Selected.Parent.Text+'''');
      open;
      DBEdit5.Text:=inttostr(dm.AQWagesSum.fieldbyname('sumEmpno').AsInteger);
      DBEdit6.Text:=floattostr(dm.AQWagesSum.fieldbyname('sumsal').AsFloat);
      DBEdit7.Text:=floattostr(dm.AQWagesSum.fieldbyname('deduct').AsFloat);
    end;
  end;
end;

procedure TfrmSalary.bbtnModifyClick(Sender: TObject);
begin
  if (edit12.Text='') or (edit13.Text='')  or (edit14.Text='') or (edit15.Text='') or  (edit16.Text='')
  or (edit17.Text='') or (edit18.Text='') or (edit19.Text='') then
   begin
    showmessage('请确定需要修改的信息的完整性!');
    Exit;
   end
  else
  begin
   with dm.AQSalary do
     begin
       edit;
       fieldbyname('Empname').AsString:=edit4.Text;
       fieldbyname('EmpNo').AsString:=edit10.Text;
       fieldbyname('Department').AsString:=edit11.Text;
       fieldbyname('BasicSal').AsFloat:=strtofloat(edit12.Text);
       fieldbyname('Business').AsFloat:=strtofloat(edit13.Text);

⌨️ 快捷键说明

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