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

📄 pay200_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
字号:
unit Pay200_01;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, Db, Grids, ExtCtrls, ComCtrls, ToolWin, StdCtrls, Mask,
  Buttons, Bas200_03, ADODB, dxCntner, dxTL, dxDBCtrl, dxDBGrid, ActnList, dxExEdtr,
  dxDBTLCl, dxGrClms, wwfltdlg, wwDialog, Wwlocate, Wwintl;

type
  TPay200_01Form = class(TBas200_03Form)
    lblEmpID: TLabel;
    sbOk: TSpeedButton;
    lblYear: TLabel;
    lblMonth: TLabel;
    cbYear: TComboBox;
    cbMonth: TComboBox;
    lblItem: TLabel;
    cbItem: TComboBox;
    edtEmpID: TEdit;
    SpeedButton2: TSpeedButton;
    qryHrm150: TADOQuery;
    qryHrm150H150_001: TAutoIncField;
    qryHrm150H150_002: TStringField;
    qryHrm150H150_003: TStringField;
    qryPay150: TADOQuery;
    qryPay150P150_001: TAutoIncField;
    qryPay150P150_002: TStringField;
    qryPay150P150_003: TStringField;
    ADOQuery1P550_001: TIntegerField;
    ADOQuery1H150_002: TStringField;
    ADOQuery1H150_003: TStringField;
    ADOQuery1P150_003: TStringField;
    ADOQuery1P550_005: TFloatField;
    ADOQuery1P550_006: TBooleanField;
    ADOQuery1C170_003: TStringField;
    dxDBGrid1P550_001: TdxDBGridMaskColumn;
    dxDBGrid1C170_003: TdxDBGridMaskColumn;
    dxDBGrid1H150_002: TdxDBGridMaskColumn;
    dxDBGrid1H150_003: TdxDBGridMaskColumn;
    dxDBGrid1P150_003: TdxDBGridMaskColumn;
    dxDBGrid1P550_005: TdxDBGridMaskColumn;
    dxDBGrid1P550_006: TdxDBGridCheckColumn;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sbOkClick(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure edtEmpIDExit(Sender: TObject);
    procedure edtEmpIDKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cbYearChange(Sender: TObject);
    procedure cbMonthChange(Sender: TObject);
    procedure dxDBGrid1BackgroundDrawEvent(Sender: TObject;
      ACanvas: TCanvas; ARect: TRect);
  private
    AStartDate,AEndDate:TDateTime;
    APeriod:Integer;
    { Private declarations }
  public
    procedure SetInterface; override;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
    { Public declarations }
  end;

var
  Pay200_01Form: TPay200_01Form;

implementation

uses SYSDATA, HwSelData, CommFun;

{$R *.DFM}

procedure TPay200_01Form.SetInterface;
begin
  inherited;
  Caption:=GetDBString('PAY20001001');  //薪资查询报表
  lblEmpID.Caption:=GetDBString('PAY20001002');  //员工编号
  lblItem.Caption:=GetDBString('PAY20001003');  //薪资项目
  lblYear.Caption:=GetDBString('PAY20001004');  //年份
  lblMonth.Caption:=GetDBString('PAY20001005');  //月份
  sbOk.Caption:=GetDBString('PAY20001006');  //确定
  ADOQuery1P550_001.DisplayLabel:=GetDBString('PAY20001007');  //薪资年份
  ADOQuery1C170_003.DisplayLabel:=GetDBString('PAY20001008');  //薪资月份
  ADOQuery1H150_002.DisplayLabel:=GetDBString('PAY20001009');  //员工编号
  ADOQuery1H150_003.DisplayLabel:=GetDBString('PAY20001010');  //员工姓名
  ADOQuery1P150_003.DisplayLabel:=GetDBString('PAY20001011');  //项目说明
  ADOQuery1P550_005.DisplayLabel:=GetDBString('PAY20001012');  //项目金额
  ADOQuery1P550_006.DisplayLabel:=GetDBString('PAY20001013');  //已审核否

  qryHrm150H150_002.DisplayLabel:=GetDBString('PAY20001009');  //员工编号
  qryHrm150H150_003.DisplayLabel:=GetDBString('PAY20001010');  //员工姓名  
end;

procedure TPay200_01Form.FormCreate(Sender: TObject);
begin
  inherited;
  qryHrm150.Open;
  edtEmpID.Text:=qryHrm150H150_002.AsString;

  cbItem.Items.Clear;
  cbItem.Items.Add(GetDBString('PAY20001014'));   //所有项目
  qryPay150.Close;
  qryPay150.SQL.Clear;
  qryPay150.SQL.Add('select P150_001,P150_002,P150_003 from PAY150 order by P150_002');
  qryPay150.Open;
  while not qryPay150.Eof do
  begin
    cbItem.Items.Add(qryPay150P150_003.AsString);
    qryPay150.Next;
  end;
  cbItem.ItemIndex:=0;

  GetYears(cbYear);
  GetMonths(StrToInt(cbYear.Text),cbMonth);
  sbOk.Click;

  //设置界面信息
  SetInterface;
end;

procedure TPay200_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  qryHrm150.Close;
  qryPay150.Close;
end;

procedure TPay200_01Form.sbOkClick(Sender: TObject);
begin
  inherited;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select P550_001,C170_003,H150_002,H150_003,P150_003,P550_005,P550_006 from PAY550 A, HRM150 B, PAY150 C, CWA170 D');
  ADOQuery1.SQL.Add('  where A.P550_003=B.H150_001 and A.P550_004=C.P150_001 and A.P550_001=D.C170_001 and A.P550_002=D.C170_002 and ');
  ADOQuery1.SQL.Add('    A.P550_001='+cbYear.Text+' and A.P550_002='+IntToStr(APeriod)+' and B.H150_002='+''''+edtEmpID.Text+'''');
  if cbItem.ItemIndex<>0 then
    ADOQuery1.SQL.Add(' and C.P150_003='+''''+cbItem.Text+'''');
  ADOQuery1.Open;
end;

procedure TPay200_01Form.SpeedButton2Click(Sender: TObject);
begin
  inherited;
//员工编号查询
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryHrm150,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtEmpID.Text:=qryHrm150H150_002.AsString;
  end;
end;

procedure TPay200_01Form.edtEmpIDExit(Sender: TObject);
begin
  inherited;
  if qryHrm150.Locate('H150_002',edtEmpID.Text,[loCaseInsensitive]) then
  begin
    edtEmpID.Text:=qryHrm150H150_002.AsString;
  end else
  begin
    ShowMsg('UMS10000042');  //无效的员工编号
    edtEmpID.SetFocus;
    Abort;
  end;
end;

procedure TPay200_01Form.edtEmpIDKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if Key=vk_F4 then sbOk.Click;
end;

procedure TPay200_01Form.cbYearChange(Sender: TObject);
begin
  inherited;
  GetMonths(StrToInt(cbYear.Text),cbMonth);
end;

procedure TPay200_01Form.cbMonthChange(Sender: TObject);
begin
  inherited;
  //取得期段的起始结束日期
  GetPeriodDate(cbYear.Text,cbMonth.Text,AStartDate,AEndDate,APeriod);
end;

procedure TPay200_01Form.dxDBGrid1BackgroundDrawEvent(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect);
var
  AText:string;
begin
  inherited;
  ARect.Left:=0;
  ARect.Top:=0;
  ACanvas.Brush.Color:=dxDBGrid1.GroupPanelColor;
  ACanvas.Font.Color:=dxDBGrid1.GroupPanelFontColor;
  //您可以把列标题拖放到此处使记录按此列进行分组
  if dxDBGrid1.GroupColumnCount=0 then AText:=' '+GetDBString('NOT10001012') else AText:='';
  Windows.FillRect(ACanvas.Handle, ARect, 0);
  DrawText(ACanvas.Handle, PChar(AText), Length(AText), ARect, DT_LEFT or DT_EXPANDTABS or DT_NOPREFIX or DT_SINGLELINE or DT_VCENTER);
end;

procedure TPay200_01Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin
  inherited;

end;

initialization
  RegisterClass(TPay200_01Form);

finalization
  UnRegisterClass(TPay200_01Form);

end.

⌨️ 快捷键说明

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