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

📄 mc_gzgl.pas

📁 异洲酒店管理系统
💻 PAS
字号:
unit MC_GZGL;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids, DBGrids, ExtCtrls, Buttons, Mask, DBCtrls, Db, DBTables,
  Qrctrls, QuickRpt;

type
  TYG_GZGL = class(TForm)
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    Edit1: TEdit;
    BitBtn1: TBitBtn;
    GroupBox2: TGroupBox;
    DBGrid2: TDBGrid;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    DBEdit5: TDBEdit;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Query1: TQuery;
    Label12: TLabel;
    Label13: TLabel;
    Query2: TQuery;
    Query2BDEDesigner: TIntegerField;
    Query2BDEDesigner2: TStringField;
    Query2BDEDesigner3: TFloatField;
    Query2BDEDesigner4: TFloatField;
    Query2BDEDesigner5: TFloatField;
    Query2BDEDesigner6: TFloatField;
    Query2BDEDesigner7: TStringField;
    Query2BDEDesigner8: TFloatField;
    Query2BDEDesigner9: TFloatField;
    Query2BDEDesigner10: TStringField;
    QuickRep1: TQuickRep;
    PageHeaderBand1: TQRBand;
    QRLabel1: TQRLabel;
    DetailBand1: TQRBand;
    QRShape11: TQRShape;
    QRShape12: TQRShape;
    QRShape13: TQRShape;
    QRShape14: TQRShape;
    QRShape15: TQRShape;
    QRShape16: TQRShape;
    QRShape17: TQRShape;
    QRShape18: TQRShape;
    QRShape19: TQRShape;
    QRDBText1: TQRDBText;
    QRDBText2: TQRDBText;
    QRDBText3: TQRDBText;
    QRDBText4: TQRDBText;
    QRDBText5: TQRDBText;
    QRDBText6: TQRDBText;
    QRDBText7: TQRDBText;
    QRDBText8: TQRDBText;
    QRDBText9: TQRDBText;
    Query3: TQuery;
    QRShape2: TQRShape;
    QRLabel2: TQRLabel;
    QRLabel3: TQRLabel;
    QRLabel4: TQRLabel;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    QRLabel9: TQRLabel;
    QRLabel10: TQRLabel;
    QRShape3: TQRShape;
    QRShape4: TQRShape;
    QRShape5: TQRShape;
    QRShape6: TQRShape;
    QRShape7: TQRShape;
    QRShape8: TQRShape;
    QRShape9: TQRShape;
    QRShape10: TQRShape;
    QRShape21: TQRShape;
    SummaryBand1: TQRBand;
    QRShape20: TQRShape;
    QRLabel11: TQRLabel;
    QRExpr1: TQRExpr;
    QRLabel12: TQRLabel;
    QRExpr2: TQRExpr;
    SpeedButton2: TSpeedButton;
    SpeedButton1: TSpeedButton;
    GroupBox4: TGroupBox;
    Label6: TLabel;
    Edit2: TEdit;
    Label8: TLabel;
    Edit3: TEdit;
    Label9: TLabel;
    Edit4: TEdit;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    Edit6: TEdit;
    Label10: TLabel;
    Edit5: TEdit;
    Label7: TLabel;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Bevel1: TBevel;
    Bevel2: TBevel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure QuickRep1Preview(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  YG_GZGL: TYG_GZGL;

implementation

uses MC_TLCYGLXT, MC_DYYLBrose;

{$R *.DFM}


procedure TYG_GZGL.BitBtn5Click(Sender: TObject);  //个人工资修改设置
begin
 If TLCYGLXT.YGGZXXB.RecordCount = 0 Then
 begin
  ShowMessage('没有员工工资信息,无法修改.');
 End
 Else
 begin
  TLCYGLXT.YGGZXXB.Edit;   //进入编辑状态
  DBEdit1.Enabled:=True;
  DBEdit2.Enabled:=True;
  DBEdit3.Enabled:=True;
  DBEdit4.Enabled:=True;
  DBEdit5.Enabled:=True;
  DBEdit1.SetFocus;
 end;
end;

procedure TYG_GZGL.BitBtn6Click(Sender: TObject); //保存个人工资修改
begin
 If TLCYGLXT.YGGZXXB.Modified Then   //如果出于编辑状态
 begin
  DBEdit1.Enabled:=False;
  DBEdit2.Enabled:=False;
  DBEdit3.Enabled:=False;
  DBEdit4.Enabled:=False;
  DBEdit5.Enabled:=False;
  TLCYGLXT.YGGZXXB.Post;   //保存修改
 end;
end;

procedure TYG_GZGL.DBEdit1KeyPress(Sender: TObject; var Key: Char);  //处理DBEdit1控件的键盘操作
begin
 if key=#13 then PerForm(WM_NEXTDLGCTL,0,0)   //回车
 Else
 if key=#8 then key:=#8   //退格键
 Else
 if (key<'0') or (key>'9') then key:=#0;  //屏蔽非数字键
end;

procedure TYG_GZGL.BitBtn7Click(Sender: TObject);  //统一标准工资修改
begin
 Edit6.Enabled:=True;
 Edit2.Enabled:=True;
 Edit3.Enabled:=True;
 Edit4.Enabled:=True;
 Edit5.Enabled:=True;
 Edit2.Setfocus;
end;

procedure TYG_GZGL.BitBtn8Click(Sender: TObject);    //保存统一工资修改
begin
 Edit6.Enabled:=False;
 Edit2.Enabled:=False;
 Edit3.Enabled:=False;
 Edit4.Enabled:=False;
 Edit5.Enabled:=False;
end;

procedure TYG_GZGL.SpeedButton1Click(Sender: TObject);   //统一更新工资修改
begin
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add('update 工资信息表 set 奖金=:A,加班费=:B,其它费用=:C,扣除费用说明=:D,');
 Query1.SQL.Add('扣除费用=:E,合计=基本工资+奖金+加班费+其它费用-扣除费用');
 If Length(Edit2.Text) = 0 Then
 begin
  Query1.Params[0].AsFloat:=0;
 End
 Else
 Query1.Params[0].AsFloat:=StrToFloat(Edit2.Text);
 If Length(Edit3.Text) = 0 Then
 begin
  Query1.Params[1].AsFloat:=0;
 End
 Else
 Query1.Params[1].AsFloat:=StrToFloat(Edit3.Text);
 If Length(Edit4.Text) = 0 Then
 begin
  Query1.Params[2].AsFloat:=0;
 End
 Else
 Query1.Params[2].AsFloat:=StrToFloat(Edit4.Text);
 If Length(Edit5.Text) = 0 Then
 begin
  Query1.Params[3].AsString:='空';
 End
 Else
 Query1.Params[3].AsString:=Edit5.Text;
 If Length(Edit6.Text) = 0 Then
 begin
  Query1.Params[4].AsFloat:=0;
 End
 Else
 Query1.Params[4].AsFloat:=StrToFloat(Edit6.Text);
 Query1.ExecSQL;
end;

procedure TYG_GZGL.SpeedButton2Click(Sender: TObject);  //打印工资
 begin
 Query2.Close;
 Query2.SQL.Clear;
 Query2.SQL.Add('Select * From 工资信息表');
 Query2.Open;
 DYYLBrose.Show;
 QuickRep1.Preview;
end;

procedure TYG_GZGL.QuickRep1Preview(Sender: TObject);  //预览报表
begin
 DYYLBrose.QRPreview1.QRPrinter:=QuickRep1.QRPrinter;
end;

procedure TYG_GZGL.BitBtn1Click(Sender: TObject);    //查询
var a,b,c:integer;
d:String;
begin
 If Length(Edit1.Text) = 0 Then   //如果查询信息为空
 begin
  ShowMessage('请输入查询的[编号或姓名]信息');
  Edit1.SetFocus;
 End
 Else      //如果查询信息不为空
 begin
  a:=Length(Edit1.Text);
  c:=0;
  for b:=1 to a do
    begin
     D:=COPY(edit1.text,b,1);  //获取指定数量的字符串
     if (D='0') or (D<='9') then    //如果指定字符为数字
      begin
       c:=c+1; //累计输入的数字位数
      end;
    end;
  If c = Length(Edit1.Text) Then    //输入员工编号
    begin   //查询
    if TLCYGLXT.YGXXB.Locate('员工编号',StrTOInt(Edit1.Text),[loCaseInsensitive]) then
    begin
     DBGrid1.SetFocus;
     DBGrid1.SelectedIndex:=0;
    End
    Else
    begin
     ShowMessage('对不起,没有找到。');
    end;
    End
  Else        //输入员工姓名
    begin
    if TLCYGLXT.YGXXB.Locate('姓名',Edit1.Text,[loPartialKey]) then    //按员工姓名查询
    begin
     DBGrid1.SetFocus;
     DBGrid1.SelectedIndex:=1;
    End
    Else
    begin
     ShowMessage('对不起,没有找到。');
    end;
    end;
 end;
end;

procedure TYG_GZGL.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then Edit6.SetFocus;
end;

procedure TYG_GZGL.SpeedButton3Click(Sender: TObject);  //确认本月工资发放
var a,c:real;
b:integer;
begin
 if MessageDLg('确认开始发放本月工资吗?',mtCustom,[mbYes,mbNo],0)=mrYes then
 begin
  Query3.Close;
  Query3.SQL.Clear;
  Query3.SQL.Add('Select Sum(合计) From 工资信息表');     //合计总工资
  Query3.Open;
  c:=Query3.Fields[0].AsFloat;   //合计总工资
  Query3.Close;
  Query3.SQL.Clear;
  Query3.SQL.Add('Select * From 公司资金表');
  Query3.Open;
  Query3.Last;
  a:=Query3.FieldByName('资金').AsFloat;
  b:=query3.FieldByName('编号').AsInteger;
  Query3.Close;
  Query3.SQL.Clear;
  Query3.SQL.Add('insert 公司资金表(编号,更新日期,资金,更新说明)values(:A,:B,:C,:D)');
  If Length(IntToStr(b)) = 0 Then   //没有数据
  begin
   Query3.Params[0].AsInteger:=1;    //编号为1
   Query3.Params[2].AsFloat:=-c;     //公司资金为负合计总工资
  End
  Else
  begin
   Query3.Params[0].AsInteger:=b+1;  //编号加1
   Query3.Params[2].AsFloat:=a-c;   //公司资金减总工资
  end;
  Query3.Params[1].AsDateTime:=Date;    //更新日期
  Query3.Params[3].AsString:='发薪水';    //说明
  Query3.ExecSQL;       //更新公司资金表
  ShowMessage('完毕!!');
  SPEEDBUTTON3.Enabled:=False;
 end;
end;

procedure TYG_GZGL.FormClose(Sender: TObject; var Action: TCloseAction);  //关闭窗体
begin
 TLCYGLXT.YGXXB.Close;
 TLCYGLXT.YGGZXXB.Close;
 YG_GZGL.Release;
 YG_GZGL:=nil;
end;
procedure TYG_GZGL.SpeedButton4Click(Sender: TObject);
begin
  CLOSE;
end;

end.

⌨️ 快捷键说明

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