📄 pay200_01.pas.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 + -