📄 cwa210_01.pas.svn-base
字号:
unit Cwa210_01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Db, Grids, ExtCtrls, ComCtrls, ToolWin,
StdCtrls, Buttons, Bas200_03, ADODB, dxCntner, dxTL, dxDBCtrl, dxDBGrid,
ActnList, dxExEdtr;
type
TCwa210_01Form = class(TBas200_03Form)
edtEmpID: TEdit;
SpeedButton2: TSpeedButton;
lblEmpID: TLabel;
edtEmpName: TEdit;
cbYear: TComboBox;
lblYear: TLabel;
sbOk: TSpeedButton;
qryHrm150: TADOQuery;
qryHrm150H150_001: TAutoIncField;
qryHrm150H150_002: TStringField;
qryHrm150H150_003: TStringField;
ADOQuery1H150_002: TStringField;
ADOQuery1H150_003: TStringField;
ADOQuery1C150_003: TStringField;
ADOQuery1C170_003: TStringField;
ADOQuery1C550A_005: TFloatField;
ADOQuery1C150_005: TSmallintField;
dxDBGrid1H150_002: TdxDBGridMaskColumn;
dxDBGrid1H150_003: TdxDBGridMaskColumn;
dxDBGrid1C150_003: TdxDBGridMaskColumn;
dxDBGrid1C170_003: TdxDBGridMaskColumn;
dxDBGrid1C550A_005: TdxDBGridMaskColumn;
dxDBGrid1C150_005: TdxDBGridMaskColumn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton2Click(Sender: TObject);
procedure edtEmpIDExit(Sender: TObject);
procedure sbOkClick(Sender: TObject);
procedure edtEmpIDKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ADOQuery1C150_005GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
private
AUnit:array[0..5] of string;
{ Private declarations }
public
procedure SetInterface; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Cwa210_01Form: TCwa210_01Form;
implementation
uses SYSDATA, HwSelData, CommFun;
{$R *.DFM}
procedure TCwa210_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('CWA21001001'); //考勤年度查询
lblEmpID.Caption:=GetDBString('CWA21001002'); //员工编号
lblYear.Caption:=GetDBString('CWA21001003'); //年份
sbOk.Caption:=GetDBString('CWA21001004'); //确定
ADOQuery1H150_002.DisplayLabel:=GetDBString('CWA21001005'); //员工编号
ADOQuery1H150_003.DisplayLabel:=GetDBString('CWA21001006'); //员工姓名
ADOQuery1C150_003.DisplayLabel:=GetDBString('CWA21001007'); //项目名称
ADOQuery1C170_003.DisplayLabel:=GetDBString('CWA21001008'); //月份
ADOQuery1C550A_005.DisplayLabel:=GetDBString('CWA21001009'); //数值
ADOQuery1C150_005.DisplayLabel:=GetDBString('CWA21001010'); //单位
qryHrm150H150_002.DisplayLabel:=GetDBString('CWA21001005'); //员工编号
qryHrm150H150_003.DisplayLabel:=GetDBString('CWA21001006'); //员工姓名
AUnit[0]:=GetDBString('COM00004009'); //分钟
AUnit[1]:=GetDBString('COM00004010'); //小时
AUnit[2]:=GetDBString('COM00004011'); //天
AUnit[3]:=GetDBString('COM00004012'); //次
AUnit[4]:=GetDBString('COM00004031'); //月
AUnit[5]:=GetDBString('COM00004032'); //年
end;
procedure TCwa210_01Form.FormCreate(Sender: TObject);
begin
inherited;
//设置界面信息
SetInterface;
GetYears(cbYear);
qryHrm150.Open;
sbOk.Click;
end;
procedure TCwa210_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryHrm150.Close;
end;
procedure TCwa210_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;
edtEmpName.Text:=qryHrm150H150_003.AsString;
end;
end;
procedure TCwa210_01Form.edtEmpIDExit(Sender: TObject);
begin
inherited;
if qryHrm150.Locate('H150_002',edtEmpID.Text,[loCaseInsensitive]) then
begin
edtEmpID.Text:=qryHrm150H150_002.AsString;
edtEmpName.Text:=qryHrm150H150_003.AsString;
end else
edtEmpName.Text:='';
end;
procedure TCwa210_01Form.sbOkClick(Sender: TObject);
begin
inherited;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select H150_002,H150_003,C150_002,C150_003,C170_002,C170_003,sum(C550A_005) as C550A_005,C150_005');
ADOQuery1.SQL.Add('from CWA550A A, HRM150 B, CWA150 C, CWA170 D');
ADOQuery1.SQL.Add('where A.C550A_003=B.H150_001 and A.C550A_004=C.C150_001 and A.C550A_001=D.C170_001 and A.C550A_002=D.C170_002');
if trim(edtEmpID.Text)<>'' then
ADOQuery1.SQL.Add(' and B.H150_002='+''''+trim(edtEmpID.Text)+'''');
ADOQuery1.SQL.Add(' and A.C550A_001='+cbYear.Text);
ADOQuery1.SQL.Add('group by H150_002,H150_003,C150_002,C150_003,C170_002,C170_003,C150_005');
ADOQuery1.SQL.Add('order by H150_002,C150_002,C170_002');
ADOQuery1.Open;
end;
procedure TCwa210_01Form.edtEmpIDKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton2.Click;
end;
procedure TCwa210_01Form.ADOQuery1C150_005GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if ADOQuery1.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AUnit[0]; //分钟
1:Text:=AUnit[1]; //小时
2:Text:=AUnit[2]; //天
3:Text:=AUnit[3]; //次
4:Text:=AUnit[4]; //月
5:Text:=AUnit[5]; //年
end;
end;
procedure TCwa210_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
end;
initialization
RegisterClass(TCwa210_01Form);
finalization
UnRegisterClass(TCwa210_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -