📄 cwa200_01.pas.svn-base
字号:
unit Cwa200_01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Db, Grids, ExtCtrls, ComCtrls, ToolWin,
StdCtrls, Mask, Buttons, wwdbdatetimepicker, Bas200_03, dxExEdtr, ADODB, dxCntner,
dxTL, dxDBCtrl, dxDBGrid, ActnList, dxDBTLCl, dxGrClms, wwfltdlg,
wwDialog, Wwlocate, Wwintl;
type
TCwa200_01Form = class(TBas200_03Form)
lblEmpID: TLabel;
sbOk: TSpeedButton;
lblDate: TLabel;
lblTo: TLabel;
dtpStartDate: TwwDBDateTimePicker;
dtpEndDate: TwwDBDateTimePicker;
lblItem: TLabel;
cbItem: TComboBox;
edtEmpID: TEdit;
SpeedButton2: TSpeedButton;
qryHrm150: TADOQuery;
qryHrm150H150_001: TAutoIncField;
qryHrm150H150_002: TStringField;
qryHrm150H150_003: TStringField;
ADOQuery1H150_002: TStringField;
ADOQuery1H150_003: TStringField;
ADOQuery1C550B_001: TDateTimeField;
ADOQuery1C150_003: TStringField;
ADOQuery1C550B_004: TFloatField;
ADOQuery1C550B_005: TBooleanField;
ADOQuery1C550B_006: TStringField;
ADOQuery1C550B_007: TBooleanField;
ADOQuery1C150_005: TSmallintField;
dxDBGrid1H150_002: TdxDBGridMaskColumn;
dxDBGrid1H150_003: TdxDBGridMaskColumn;
dxDBGrid1C550B_001: TdxDBGridDateColumn;
dxDBGrid1C150_003: TdxDBGridMaskColumn;
dxDBGrid1C550B_004: TdxDBGridMaskColumn;
dxDBGrid1C150_005: TdxDBGridMaskColumn;
dxDBGrid1C550B_005: TdxDBGridCheckColumn;
dxDBGrid1C550B_006: TdxDBGridMaskColumn;
dxDBGrid1C550B_007: 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 ADOQuery1C550B_007GetText(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
Cwa200_01Form: TCwa200_01Form;
implementation
uses SYSDATA, HwSelData, CommFun;
{$R *.DFM}
procedure TCwa200_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('CWA20001001'); //个人考勤查询
lblEmpID.Caption:=GetDBString('CWA20001002'); //员工编号
lblItem.Caption:=GetDBString('CWA20001003'); //考勤项目
lblDate.Caption:=GetDBString('CWA20001004'); //日期范围
lblTo.Caption:=GetDBString('CWA20001005'); //至
sbOk.Caption:=GetDBString('CWA20001006'); //确定
ADOQuery1C550B_001.DisplayLabel:=GetDBString('CWA20001008'); //考勤日期
ADOQuery1H150_002.DisplayLabel:=GetDBString('CWA20001002'); //员工编号
ADOQuery1H150_003.DisplayLabel:=GetDBString('CWA20001007'); //员工姓名
ADOQuery1C150_003.DisplayLabel:=GetDBString('CWA20001009'); //项目名称
ADOQuery1C550B_004.DisplayLabel:=GetDBString('CWA20001010'); //数值
ADOQuery1C150_005.DisplayLabel:=GetDBString('CWA20001011'); //单位
ADOQuery1C550B_005.DisplayLabel:=GetDBString('CWA20001012'); //是否签卡
ADOQuery1C550B_006.DisplayLabel:=GetDBString('CWA20001013'); //签卡人
ADOQuery1C550B_007.DisplayLabel:=GetDBString('CWA20001014'); //已审核否
qryHrm150H150_002.DisplayLabel:=GetDBString('CWA20001002'); //员工编号
qryHrm150H150_003.DisplayLabel:=GetDBString('CWA20001007'); //员工姓名
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 TCwa200_01Form.FormCreate(Sender: TObject);
begin
inherited;
qryHrm150.Open;
edtEmpID.Text:=qryHrm150H150_002.AsString;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from CWA150');
SYSDM.qryQuery.Open;
cbItem.Items.Clear;
cbItem.Items.Add(GetDBString('COM00004008')); //所有项目
while not SYSDM.qryQuery.Eof do
begin
cbItem.Items.Add(SYSDM.qryQuery.FieldByName('C150_003').Value);
SYSDM.qryQuery.Next;
end;
cbItem.ItemIndex:=0;
dtpStartDate.Date:=GetMonthFirstDate(GetServerDate);
dtpEndDate.Date:=GetMonthEndDate(GetServerDate);
sbOk.Click;
//设置界面信息
SetInterface;
end;
procedure TCwa200_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
//
end;
procedure TCwa200_01Form.sbOkClick(Sender: TObject);
var
AEmpID,AItem:string;
AFromDate,AToDate:TDate;
begin
inherited;
AEmpID:=edtEmpID.Text;
AFromDate:=dtpStartDate.Date;
AToDate:=dtpEndDate.Date;
AItem:=cbItem.Text;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select H150_002,H150_003,C550B_001,C150_003,C150_005,C550B_004,C550B_005,C550B_006,C550B_007');
ADOQuery1.SQL.Add('from CWA550B A, HRM150 B, CWA150 C');
ADOQuery1.SQL.Add('where A.C550B_002=B.H150_001 and A.C550B_003=C.C150_001 and ');
ADOQuery1.SQL.Add('B.H150_002='+''''+AEmpID+''''+' and A.C550B_001>='+GetDateString(AFromDate)+' and A.C550B_001<='+GetDateString(AToDate));
if cbItem.ItemIndex<>0 then
ADOQuery1.SQL.Add(' and C.C150_003='+''''+AItem+'''');
ADOQuery1.SQL.Add('order by B.H150_002, A.C550B_001, C.C150_002');
ADOQuery1.Open;
end;
procedure TCwa200_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 TCwa200_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 TCwa200_01Form.edtEmpIDKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton2.Click;
end;
procedure TCwa200_01Form.ADOQuery1C550B_007GetText(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 TCwa200_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
end;
initialization
RegisterClass(TCwa200_01Form);
finalization
UnRegisterClass(TCwa200_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -