📄 cwa120_01.pas
字号:
unit Cwa120_01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Bas100_01, Db, Menus,
ExtCtrls, Grids, ComCtrls, ToolWin, StdCtrls,
Buttons, Mask, dxExEdtr, dxCntner, dxTL, dxDBCtrl,
dxDBGrid, ActnList, ADODB, dxDBTLCl, dxGrClms;
type
TCwa120_01Form = class(TBas100_01Form)
CoolBar1: TCoolBar;
ToolBar2: TToolBar;
tlbFirst: TToolButton;
tlbPrior: TToolButton;
tlbNext: TToolButton;
tlbLast: TToolButton;
ToolButton1: TToolButton;
tlbSearch: TToolButton;
tlbPrint: TToolButton;
tlbSet: TToolButton;
ToolButton4: TToolButton;
tlbExit: TToolButton;
Panel1: TPanel;
Image1: TImage;
PopupMenu1: TPopupMenu;
mmiPrint: TMenuItem;
mmiExport: TMenuItem;
dsCwa120: TDataSource;
Label1: TLabel;
cbYear: TComboBox;
Label2: TLabel;
cbMonth: TComboBox;
ToolButton3: TToolButton;
Label3: TLabel;
sbOk: TSpeedButton;
edtEmpID: TEdit;
SpeedButton2: TSpeedButton;
ToolButton2: TToolButton;
SaveDialog1: TSaveDialog;
ActionList1: TActionList;
ActFirst: TAction;
ActPrior: TAction;
ActNext: TAction;
ActLast: TAction;
ActLocate: TAction;
ActSearch: TAction;
ActPrint: TAction;
ActExport: TAction;
ActSet: TAction;
ActExit: TAction;
qryCwa120: TADOQuery;
qryCwa120H150_002: TStringField;
qryCwa120H150_003: TStringField;
qryCwa120C110_003: TStringField;
qryHrm150: TADOQuery;
qryHrm150H150_001: TAutoIncField;
qryCwa110: TADOQuery;
qryCwa110C110_001: TAutoIncField;
qryCwa110C110_002: TStringField;
qryCwa110C110_003: TStringField;
qryHrm150H150_002: TStringField;
qryHrm150H150_003: TStringField;
ScrollBox1: TScrollBox;
dxDBGrid1: TdxDBGrid;
qryCwa170: TADOQuery;
qryCwa120C120_001: TIntegerField;
qryCwa120C120_002: TIntegerField;
qryCwa120C120_003: TDateTimeField;
qryCwa120C120_004: TStringField;
qryCwa120C120_005: TStringField;
qryCwa120C120_006: TStringField;
qryCwa120C120_007: TStringField;
qryCwa120C120_008: TStringField;
qryCwa120C120_009: TStringField;
qryCwa120C120_010: TBooleanField;
qryCwa120C120_011: TBooleanField;
qryCwa120C120_012: TSmallintField;
qryCwa120C120_013: TSmallintField;
qryCwa120C120_014: TSmallintField;
dxDBGrid1H150_002: TdxDBGridLookupColumn;
dxDBGrid1H150_003: TdxDBGridLookupColumn;
dxDBGrid1C120_003: TdxDBGridDateColumn;
dxDBGrid1C110_003: TdxDBGridLookupColumn;
dxDBGrid1C120_004: TdxDBGridMaskColumn;
dxDBGrid1C120_005: TdxDBGridMaskColumn;
dxDBGrid1C120_006: TdxDBGridMaskColumn;
dxDBGrid1C120_007: TdxDBGridMaskColumn;
dxDBGrid1C120_008: TdxDBGridMaskColumn;
dxDBGrid1C120_009: TdxDBGridMaskColumn;
dxDBGrid1C120_010: TdxDBGridCheckColumn;
dxDBGrid1C120_012: TdxDBGridMaskColumn;
dxDBGrid1C120_013: TdxDBGridMaskColumn;
dxDBGrid1C120_014: TdxDBGridMaskColumn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure cbYearChange(Sender: TObject);
procedure ReportGetValue(const ParName: String;
var ParValue: Variant);
procedure sbOkClick(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure cbMonthChange(Sender: TObject);
procedure ActFirstExecute(Sender: TObject);
procedure ActPriorExecute(Sender: TObject);
procedure ActNextExecute(Sender: TObject);
procedure ActLastExecute(Sender: TObject);
procedure ActLocateExecute(Sender: TObject);
procedure ActSearchExecute(Sender: TObject);
procedure ActPrintExecute(Sender: TObject);
procedure ActExportExecute(Sender: TObject);
procedure ActSetExecute(Sender: TObject);
procedure ActExitExecute(Sender: TObject);
procedure qryCwa120C120_012GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure qryCwa120C120_013GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure qryCwa120C120_014GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
private
AType:array[0..2] of string;
AStartDate,AEndDate:TDateTime;
APeriod:Integer;
procedure SetInterface;
{ Private declarations }
public
{ Public declarations }
end;
var
Cwa120_01Form: TCwa120_01Form;
implementation
uses Cwa120_02, CommFun, SYSDATA, HwSelData;
{$R *.DFM}
procedure TCwa120_01Form.SetInterface;
begin
Image1.Picture.Bitmap.LoadFromResourceName(AImgHandle,'TOPTITL');
Caption:=GetDBString('CWA12001001'); //员工班别维护
ActFirst.Caption:=GetDBString('COM00005001'); //最前
ActPrior.Caption:=GetDBString('COM00005002'); //上移
ActNext.Caption:=GetDBString('COM00005003'); //下移
ActLast.Caption:=GetDBString('COM00005004'); //最后
ActSearch.Caption:=GetDBString('COM00005012'); //查找
ActPrint.Caption:=GetDBString('COM00005013'); //打印
ActExport.Caption:=GetDBString('COM00005014'); //导出数据
ActSet.Caption:=GetDBString('CWA12001002'); //设置
ActExit.Caption:=GetDBString('COM00005015'); //退出
Label1.Caption:=GetDBString('CWA12001003'); //年份
Label2.Caption:=GetDBString('CWA12001004'); //月份
Label3.Caption:=GetDBString('CWA12001005'); //员工编号
sbOk.Caption:=GetDBString('CWA12001006'); //确定
qryCwa120C120_003.DisplayLabel:=GetDBString('CWA12001007'); //日期
qryCwa120H150_002.DisplayLabel:=GetDBString('CWA12001008'); //员工编号
qryCwa120H150_003.DisplayLabel:=GetDBString('CWA12001009'); //员工姓名
qryCwa120C110_003.DisplayLabel:=GetDBString('CWA12001010'); //班别名称
qryCwa120C120_004.DisplayLabel:=GetDBString('CWA12001012'); //上班
qryCwa120C120_005.DisplayLabel:=GetDBString('CWA12001013'); //下班
qryCwa120C120_006.DisplayLabel:=GetDBString('CWA12001012'); //上班
qryCwa120C120_007.DisplayLabel:=GetDBString('CWA12001013'); //下班
qryCwa120C120_008.DisplayLabel:=GetDBString('CWA12001012'); //上班
qryCwa120C120_009.DisplayLabel:=GetDBString('CWA12001013'); //下班
qryCwa120C120_010.DisplayLabel:=GetDBString('CWA12001016'); //是否请假
qryCwa120C120_002.DisplayLabel:=GetDBString('CWA12001017'); //班别编号
qryCwa120C120_012.DisplayLabel:=GetDBString('CWA12001019'); //上午下班日
qryCwa120C120_013.DisplayLabel:=GetDBString('CWA12001020'); //下午下班日
qryCwa120C120_014.DisplayLabel:=GetDBString('CWA12001021'); //晚上下班日
qryHrm150H150_002.DisplayLabel:=GetDBString('CWA12001008'); //员工编号
qryHrm150H150_003.DisplayLabel:=GetDBString('CWA12001009'); //员工姓名
AType[0]:=GetDBString('CWA12001022'); //当日
AType[1]:=GetDBString('CWA12001023'); //明日
AType[2]:=GetDBString('CWA12001024'); //后日
end;
procedure TCwa120_01Form.FormCreate(Sender: TObject);
begin
inherited;
GetYears(cbYear);
GetMonths(StrToInt(cbYear.Text),cbMonth);
qryHrm150.Open;
edtEmpID.Text:=qryHrm150.FieldByName('H150_002').AsString;
sbOk.Click;
if edtEmpID.Text='' then qryCwa120.Open;
//设置界面信息
SetInterface;
end;
procedure TCwa120_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryCwa120.Close;
end;
procedure TCwa120_01Form.cbYearChange(Sender: TObject);
begin
inherited;
GetMonths(StrToInt(cbYear.Text),cbMonth);
end;
procedure TCwa120_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
if ParName='USENM' then ParValue:=AUserName
else if ParName='PRNDT' then ParValue:=GetDBString('COM00006006') //列印日期
else if ParName='PRNNM' then ParValue:=GetDBString('COM00006007') //列印人員
else if ParName='REPNM' then ParValue:=AReportTitle
else if ParName='H150_002' then ParValue:=GetDBString('CWA12001008') //员工编号
else if ParName='H150_003' then ParValue:=GetDBString('CWA12001009') //员工姓名
else if ParName='C110_003' then ParValue:=GetDBString('CWA12001010') //班别名称
else if ParName='C120_003' then ParValue:=GetDBString('CWA12001007') //日期
else if ParName='C120_004' then ParValue:=GetDBString('CWA12001012') //上班
else if ParName='C120_005' then ParValue:=GetDBString('CWA12001013') //下班
else if ParName='C120_006' then ParValue:=GetDBString('CWA12001012') //上班
else if ParName='C120_007' then ParValue:=GetDBString('CWA12001013') //下班
else if ParName='C120_008' then ParValue:=GetDBString('CWA12001012') //上班
else if ParName='C120_009' then ParValue:=GetDBString('CWA12001013') //下班
else if ParName='C120_010' then ParValue:=GetDBString('CWA12001016') //是否请假
else if ParName='C120_012' then ParValue:=GetDBString('CWA12001025') //下班日
else if ParName='C120_013' then ParValue:=GetDBString('CWA12001025') //下班日
else if ParName='C120_014' then ParValue:=GetDBString('CWA12001025') //下班日
else if ParName='GROP_001' then ParValue:=GetDBString('CWA12001011') //上午
else if ParName='GROP_002' then ParValue:=GetDBString('CWA12001014') //下午
else if ParName='GROP_003' then ParValue:=GetDBString('CWA12001015') //晚上
end;
procedure TCwa120_01Form.sbOkClick(Sender: TObject);
var
AEmpNo:string;
begin
inherited;
//确定
if trim(edtEmpID.Text)='' then Exit;
if not qryHrm150.Locate('H150_002',edtEmpID.Text,[loCaseInsensitive]) then
begin
ShowMsg('UMS10000042'); //无效的员工编号
edtEmpID.SetFocus;
Abort;
end;
//取得期段的起始结束日期
GetPeriodDate(cbYear.Text,cbMonth.Text,AStartDate,AEndDate,APeriod);
AEmpNo:=qryHrm150.FieldByName('H150_001').AsString;
qryCwa120.DisableControls;
qryCwa120.Close;
qryCwa120.SQL.Clear;
qryCwa120.SQL.Add('select * from CWA120 where C120_001='+AEmpNo+' and C120_003>='+GetDateString(AStartDate)+' and C120_003<='+GetDateString(AEndDate));
qryCwa120.Open;
qryCwa120.EnableControls;
end;
procedure TCwa120_01Form.SpeedButton2Click(Sender: TObject);
begin
inherited;
//员工编号查询
if not edtEmpID.Focused then edtEmpID.SetFocus;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryHrm150,nil);
if HwSelDataForm.ShowModal=1 then
begin
edtEmpID.Text:=qryHrm150.FieldByName('H150_002').AsString;
end;
end;
procedure TCwa120_01Form.cbMonthChange(Sender: TObject);
begin
inherited;
//取得期段的起始结束日期
GetPeriodDate(cbYear.Text,cbMonth.Text,AStartDate,AEndDate,APeriod);
end;
procedure TCwa120_01Form.ActFirstExecute(Sender: TObject);
begin
inherited;
//最前
if qryCwa120.IsEmpty then Exit;
qryCwa120.First;
ActFirst.Enabled:=False;
ActPrior.Enabled:=False;
ActNext.Enabled:=True;
ActLast.Enabled:=True;
end;
procedure TCwa120_01Form.ActPriorExecute(Sender: TObject);
begin
inherited;
//上移
if qryCwa120.IsEmpty then Exit;
qryCwa120.Prior;
ActNext.Enabled:=not qryCwa120.Eof;
ActLast.Enabled:=not qryCwa120.Eof;
ActFirst.Enabled:=not qryCwa120.Bof;
ActPrior.Enabled:=not qryCwa120.Bof;
end;
procedure TCwa120_01Form.ActNextExecute(Sender: TObject);
begin
inherited;
//下移
if qryCwa120.IsEmpty then Exit;
qryCwa120.Next;
ActNext.Enabled:=not qryCwa120.Eof;
ActLast.Enabled:=not qryCwa120.Eof;
ActFirst.Enabled:=not qryCwa120.Bof;
ActPrior.Enabled:=not qryCwa120.Bof;
end;
procedure TCwa120_01Form.ActLastExecute(Sender: TObject);
begin
inherited;
//最后
if qryCwa120.IsEmpty then Exit;
qryCwa120.Last;
ActNext.Enabled:=False;
ActLast.Enabled:=False;
ActFirst.Enabled:=True;
ActPrior.Enabled:=True;
end;
procedure TCwa120_01Form.ActLocateExecute(Sender: TObject);
begin
inherited;
//查找
if qryCwa120.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Exit;
end;
LocateDialog(dsCwa120);
end;
procedure TCwa120_01Form.ActSearchExecute(Sender: TObject);
begin
inherited;
//查询
FilterDialog(dsCwa120);
end;
procedure TCwa120_01Form.ActPrintExecute(Sender: TObject);
begin
inherited;
//打印
SelectReport(qryCwa120,AProgramID,AReportName,ReportGetValue);
end;
procedure TCwa120_01Form.ActExportExecute(Sender: TObject);
begin
inherited;
//导出到Excel
if qryCwa120.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
SaveToExcel(dxDBGrid1);
end;
procedure TCwa120_01Form.ActSetExecute(Sender: TObject);
begin
inherited;
//设置
Cwa120_02Form:=TCwa120_02Form.Create(Application);
Cwa120_02Form.ShowModal;
sbOk.Click;
end;
procedure TCwa120_01Form.ActExitExecute(Sender: TObject);
begin
inherited;
//退出
Close;
end;
procedure TCwa120_01Form.qryCwa120C120_012GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if qryCwa120.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AType[0]; //当日
1:Text:=AType[1]; //明日
2:Text:=AType[2]; //后日
end;
end;
procedure TCwa120_01Form.qryCwa120C120_013GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if qryCwa120.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AType[0]; //当日
1:Text:=AType[1]; //明日
2:Text:=AType[2]; //后日
end;
end;
procedure TCwa120_01Form.qryCwa120C120_014GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if qryCwa120.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AType[0]; //当日
1:Text:=AType[1]; //明日
2:Text:=AType[2]; //后日
end;
end;
initialization
RegisterClass(TCwa120_01Form);
finalization
UnRegisterClass(TCwa120_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -