frm_r_cqhzpas.pas
来自「是一个用delphi设计的考勤系统」· PAS 代码 · 共 505 行
PAS
505 行
unit Frm_R_CqhzPas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ModalForm, Menus, StdCtrls, ExtCtrls, ComCtrls, Grids, DBGrids,
DB, DBTables, Buttons, YLabelButton, ChangeImage, ADODB, QRCtrls,
QuickRpt, ImgList, UErrDisplay;
type
TFrm_R_Cqhz = class(TMyModalForm)
Panel4: TPanel;
TV: TTreeView;
DataSource1: TDataSource;
Panel1: TPanel;
Label3: TLabel;
Label4: TLabel;
rgp: TRadioGroup;
ksrq: TDateTimePicker;
jsrq: TDateTimePicker;
edtbmmc: TEdit;
edtyhbh: TEdit;
edtyhxm: TEdit;
rbn1: TRadioButton;
rbn2: TRadioButton;
rbn3: TRadioButton;
ProgressBar1: TProgressBar;
dbg: TDBGrid;
StatusBar1: TStatusBar;
ChangeImg1: TChangeImg;
LabelB1: TLabelB;
ChangeImg2: TChangeImg;
LabelB2: TLabelB;
LBtnFind: TLabelB;
BtnPrint: TChangeImg;
LBtnPrint: TLabelB;
ChangeImg4: TChangeImg;
LabelB5: TLabelB;
BtnBrowse: TChangeImg;
BtnFind: TChangeImg;
Pkq_M_kqqkhz: TADOStoredProc;
Qcqhz: TADOQuery;
QuickRep2: TQuickRep;
DetailBand2: TQRBand;
QRDBText2: TQRDBText;
QRDBText5: TQRDBText;
QRDBText6: TQRDBText;
QRDBText8: TQRDBText;
QRDBText9: TQRDBText;
QRShape11: TQRShape;
QRShape12: TQRShape;
QRShape14: TQRShape;
QRShape15: TQRShape;
QRShape16: TQRShape;
QRShape17: TQRShape;
QRShape39: TQRShape;
QRDBText11: TQRDBText;
QRShape18: TQRShape;
QRShape19: TQRShape;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRShape10: TQRShape;
QRShape22: TQRShape;
QRShape21: TQRShape;
QRDBText10: TQRDBText;
QRDBText12: TQRDBText;
QRDBText13: TQRDBText;
QRDBText14: TQRDBText;
QRDBText15: TQRDBText;
QRDBText16: TQRDBText;
QRShape27: TQRShape;
QRShape28: TQRShape;
QRShape29: TQRShape;
QRShape30: TQRShape;
QRDBText7: TQRDBText;
QRGroup1: TQRGroup;
QRLabel1: TQRLabel;
QRDBText1: TQRDBText;
QRShape1: TQRShape;
QRLabel26: TQRLabel;
QRLabel27: TQRLabel;
QRLabel29: TQRLabel;
QRLabel30: TQRLabel;
QRShape3: TQRShape;
QRShape4: TQRShape;
QRShape6: TQRShape;
QRShape7: TQRShape;
QRShape8: TQRShape;
QRShape38: TQRShape;
QRLabel36: TQRLabel;
QRShape2: TQRShape;
QRShape5: TQRShape;
QRShape13: TQRShape;
qlabqj2: TQRLabel;
qlabqj7: TQRLabel;
QRShape20: TQRShape;
QRLabel2: TQRLabel;
qlabqj3: TQRLabel;
QRShape23: TQRShape;
qlabqj4: TQRLabel;
QRShape24: TQRShape;
qlabqj5: TQRLabel;
QRShape25: TQRShape;
qlabqj6: TQRLabel;
QRShape26: TQRShape;
qlabqj1: TQRLabel;
QRBand1: TQRBand;
QRLabel16: TQRLabel;
QRLabel35: TQRLabel;
QRExpr2: TQRExpr;
QRLabel5: TQRLabel;
QRExpr4: TQRExpr;
QRExpr1: TQRExpr;
QRLabel3: TQRLabel;
QRExpr3: TQRExpr;
QRBand2: TQRBand;
QRShape32: TQRShape;
QRLblzbbm: TQRLabel;
QRlbldwmc: TQRLabel;
QRLabel40: TQRLabel;
QRSysData1: TQRSysData;
QRSysData2: TQRSysData;
QRLabel6: TQRLabel;
qlabksrq: TQRLabel;
qlabjsrq: TQRLabel;
QRLabel7: TQRLabel;
PageFooterBand1: TQRBand;
QRShape33: TQRShape;
QRLabel4: TQRLabel;
QRLabel8: TQRLabel;
QRlblzd: TQRLabel;
qlabqj8: TQRLabel;
qlabqj444: TQRLabel;
qlabqj9: TQRLabel;
qlabqj10: TQRLabel;
qlabqj11: TQRLabel;
qlabqj12: TQRLabel;
qlabqj13: TQRLabel;
qlabqj14: TQRLabel;
QRShape34: TQRShape;
QRShape35: TQRShape;
QRShape36: TQRShape;
QRShape37: TQRShape;
QRShape40: TQRShape;
QRShape41: TQRShape;
QRShape42: TQRShape;
QRShape43: TQRShape;
QRShape44: TQRShape;
QRShape45: TQRShape;
QRShape46: TQRShape;
QRDBText17: TQRDBText;
QRDBText18: TQRDBText;
QRDBText19: TQRDBText;
QRDBText20: TQRDBText;
QRDBText21: TQRDBText;
QRDBText22: TQRDBText;
QRShape47: TQRShape;
QRShape48: TQRShape;
QRShape49: TQRShape;
QRShape50: TQRShape;
QRShape51: TQRShape;
QRShape52: TQRShape;
QRShape53: TQRShape;
qlabqj15: TQRLabel;
qlabqj16: TQRLabel;
qlabqj17: TQRLabel;
qlabqj18: TQRLabel;
qlabqj19: TQRLabel;
qlabqj20: TQRLabel;
QRShape54: TQRShape;
QRShape55: TQRShape;
QRShape56: TQRShape;
QRShape57: TQRShape;
QRShape58: TQRShape;
QRDBText23: TQRDBText;
QRDBText24: TQRDBText;
QRDBText25: TQRDBText;
QRDBText26: TQRDBText;
QRDBText27: TQRDBText;
QRDBText28: TQRDBText;
QRShape59: TQRShape;
QRShape60: TQRShape;
QRShape9: TQRShape;
QRShape61: TQRShape;
procedure ChangeImg4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ChangeImg1Click(Sender: TObject);
procedure ChangeImg2Click(Sender: TObject);
procedure BtnBrowseClick(Sender: TObject);
procedure BtnFindClick(Sender: TObject);
procedure edtyhbhEnter(Sender: TObject);
procedure edtyhxmEnter(Sender: TObject);
procedure edtbmmcEnter(Sender: TObject);
procedure BtnPrintClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_R_Cqhz: TFrm_R_Cqhz;
implementation
uses DM_DataModal, UGlobal, Frm_SlectClass;
{$R *.dfm}
procedure TFrm_R_Cqhz.ChangeImg4Click(Sender: TObject);
begin
inherited;
Close;
end;
procedure TFrm_R_Cqhz.FormCreate(Sender: TObject);
var
qry: TADOQuery;
begin
inherited;
qry := TADOQuery.Create(self);
//////////////填充请假类别//////////////////////////////////
try
with qry do
begin
Connection := WindData.AdoConn;
sql.Clear;
sql.Add('select * from kq_qqlb');
open;
while not eof do
begin
if strtoint(fieldbyname('qqbh').asstring) = 1 then
begin
dbg.columns[6].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj1.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 2 then
begin
dbg.columns[7].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj2.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 3 then
begin
dbg.columns[8].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj3.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 4 then
begin
dbg.columns[9].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj4.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 5 then
begin
dbg.columns[10].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj5.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 6 then
begin
dbg.columns[11].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj6.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 7 then
begin
dbg.columns[12].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj7.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 8 then
begin
dbg.columns[13].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj8.Caption := fieldbyname('qqmc').asstring;
end;
//---------------中行专用---------
if strtoint(fieldbyname('qqbh').asstring) = 9 then
begin
dbg.columns[14].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj9.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 10 then
begin
dbg.columns[15].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj10.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 11 then
begin
dbg.columns[16].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj11.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 12 then
begin
dbg.columns[17].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj12.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 13 then
begin
dbg.columns[18].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj13.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 14 then
begin
dbg.columns[19].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj14.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 15 then
begin
dbg.columns[20].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj15.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 16 then
begin
dbg.columns[21].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj16.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 17 then
begin
dbg.columns[22].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj17.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 18 then
begin
dbg.columns[23].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj18.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 19 then
begin
dbg.columns[24].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj19.Caption := fieldbyname('qqmc').asstring;
end;
if strtoint(fieldbyname('qqbh').asstring) = 20 then
begin
dbg.columns[25].Title.Caption := fieldbyname('qqmc').asstring;
qlabqj20.Caption := fieldbyname('qqmc').asstring;
end;
//----------------中行专用结束------------
next;
end;
end;
finally
qry.free;
end;
////////////////////////////////////////
progressbar1.position := 0;
ksrq.date := date();
jsrq.date := date();
end;
procedure TFrm_R_Cqhz.ChangeImg1Click(Sender: TObject);
var
NodeValue: string;
begin
inherited;
try
NodeValue := ptTreeNode(TV.Selected.data)^.nodeValue;
if TV.Selected.level > 2 then edtbmmc.text := TV.Selected.Text;
panel4.visible := false;
except
application.MessageBox('请选择部门!', '信息提示', mb_ok + mb_IconInformation);
exit;
end;
end;
procedure TFrm_R_Cqhz.ChangeImg2Click(Sender: TObject);
begin
inherited;
panel4.visible := false;
end;
procedure TFrm_R_Cqhz.BtnBrowseClick(Sender: TObject);
begin
inherited;
rbn3.Checked := True;
if not assigned(SlectClass) then
SlectClass := TSlectClass.Create(Application);
slectclass.SelFlag:='BJXZ';
SlectClass.Show;
{
panel4.visible := true;
gtKqgl.LoadOrganTree(WindData.AdoConn, TV, 4); //初始化用户信息
}
end;
procedure TFrm_R_Cqhz.BtnFindClick(Sender: TObject);
var
qry: TADOQuery;
RetMsg: string;
RetVal: Integer;
begin
inherited;
if datetostr(ksrq.date) = '' then
showmessage('请输入开始查询日期!');
if datetostr(jsrq.date) = '' then
showmessage('请输入结束查询日期');
if (rbn1.Checked) and (edtyhbh.Text = '') then
showmessage('请选择用户编号查询!');
if (rbn2.Checked) and (edtyhxm.Text = '') then
showmessage('请选择用户姓名查询!');
if (rbn3.Checked) and (edtbmmc.Text = '') then
showmessage('请选择部门名称查询!');
qry := TADOQuery.Create(self);
try
qry.Connection := WindData.AdoConn;
with qry do
begin
sql.Clear;
sql.Add('delete kq_kqhzcur');
execsql;
sql.Clear;
sql.Add('select yhbh from Vzx_s_yhxx where 2>1');
if rbn1.Checked then sql.Add(' and yhbh=''' + trim(edtyhbh.Text) + '''');
if rbn2.Checked then sql.Add(' and yhxm=''' + trim(edtyhxm.text) + '''');
if rbn3.Checked then sql.Add(' and bjmc=''' + trim(edtbmmc.text) + '''');
if rgp.ItemIndex = 0 then
sql.Add(' and yhbh in (select distinct yhbh from kq_bcsd)')
else
sql.Add(' and yhbh in (select distinct yhbh from kq_kqqk)');
open;
last;
progressbar1.Max := recordcount;
progressbar1.Position := 0;
first;
while not eof do
begin
progressbar1.Position := progressbar1.Position + 1;
with Pkq_M_kqqkhz do
begin
if rgp.ItemIndex = 0 then
Parameters.parambyname('@sign').Value := '0' //当月
else
Parameters.parambyname('@sign').Value := '1'; //历月
Parameters.parambyname('@yhbh').Value := qry.fieldbyname('yhbh').asstring;
Parameters.parambyname('@ksrq').Value := datetimetostr(ksrq.datetime);
Parameters.parambyname('@jsrq').Value := datetimetostr(jsrq.datetime);
ExecProc;
RetVal := Parameters.parambyname('@RETURN_VALUE').Value;
RetMsg := Parameters.parambyname('@retmsg').Value;
if RetVal <> 0 then
begin
application.MessageBox(PChar(RetMsg), '系统提示', mb_ok);
break;
end;
end;
next;
end;
end;
finally
qry.free;
end;
//网格中显示数据
Qcqhz.close;
Qcqhz.sql.Clear;
Qcqhz.sql.Add('select * from kq_kqhzcur order by bm,xm');
try
Qcqhz.open;
except
Qcqhz.active := true;
end;
progressbar1.Position := 0;
if Qcqhz.RecordCount < 1 then
showmessage('对不起,没有您要找的数据!')
end;
procedure TFrm_R_Cqhz.edtyhbhEnter(Sender: TObject);
begin
inherited;
rbn1.Checked := True;
end;
procedure TFrm_R_Cqhz.edtyhxmEnter(Sender: TObject);
begin
inherited;
rbn2.Checked := True;
end;
procedure TFrm_R_Cqhz.edtbmmcEnter(Sender: TObject);
begin
inherited;
rbn3.Checked := True;
end;
procedure TFrm_R_Cqhz.BtnPrintClick(Sender: TObject);
begin
inherited;
QRlbldwmc.Caption := '单位名称:' + gtSysCs.sSydw;
QRLblzbbm.Caption := '制表部门:' + gtSysCs.sZbDw;
QRlblzd.caption := '制单:';
qlabksrq.Caption := datetostr(ksrq.date);
qlabjsrq.caption := datetostr(jsrq.date);
QuickRep2.PreviewModal;
end;
procedure TFrm_R_Cqhz.FormActivate(Sender: TObject);
begin
inherited;
if length(GsTempstr2) > 0 then
begin
edtbmmc.Text := GsTempstr2;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?