📄 winchuqin.pas
字号:
myds:=dataset.Create;
myds:=clsmain.TClass1.Create.cmn_ado_select(w_SQL);
if myds.Tables[0].Rows.count<>0 then
begin
w_up:=clsmain.TClass1.Create.getItemValueS(myds,0,'上班时间').ToString;
w_down:=clsmain.TClass1.Create.getItemValueS(myds,0,'下班时间').ToString;
if w_dtpup>w_up then
begin
w_chidao:='迟到';
end
else
begin
w_chidao:='';
end;
if w_dtpup<w_up then
begin
w_zaotui:='早退';
end
else
begin
w_zaotui:='';
end;
end;
w_SQL := '';
w_SQL := w_SQL + ' UPDATE 员工出勤表 SET';
w_SQL := w_SQL + ' 员工编号='''+w_txtbianhao+''',';
w_SQL := w_SQL + ' 日期=left('''+w_dtpriqi+''',10),';
w_SQL := w_SQL + ' 上班时间='''+w_dtpup+''',';
w_SQL := w_SQL + ' 迟到='''+w_chidao+''',';
w_SQL := w_SQL + ' 下班时间='''+w_dtpdown+''',';
w_SQL := w_SQL + ' 早退='''+w_zaotui+''',';
w_SQL := w_SQL + ' 请假类型='''+w_CmbQingjia+''',';
w_SQL := w_SQL + ' 请假总时间='''+w_dtpqingjia+''',';
w_SQL := w_SQL + ' 加班总时间='''+w_dtpjiaban+''',';
w_SQL := w_SQL + ' 是否出差='''+w_cmbchuchai+'''';
w_SQL := w_SQL + ' WHERE 员工编号='''+w_Txtbianhao+'''';
w_SQL := w_SQL + ' AND 日期=left('''+w_dtpriqi+''',10)';
clsmain.TClass1.Create.BeginTrans(); //开始事务
clsmain.TClass1.Create.Cmn_Ado_Execute(w_SQL); //执行SQL语句
clsmain.TClass1.Create.Commit(); //提交事务
//设置当前光标为默认状态
self.Cursor := Cursors.Default;
//返回值设定
result:= True;
except
on ex:Exception do
begin
//事务回滚
clsmain.TClass1.Create.Rollback();
//设置当前光标为默认状态
self.Cursor := Cursors.Default;
messagebox.Show('TWinchuqin.Data_Upd : (' + ex.message + ') ' , '考勤管理系统');
end;
end;
end;
//****************************************************************
//* RefreshEnabled
//*
//* [参数]
//* 1:控件的可用状态
//* 2:其它输入控件的可用状态
//* [返回]
//* 无
//****************************************************************
procedure TWinchuqin.RefreshEnabled(NThis, NOther: Boolean);
begin
try
If NThis = True Then
begin
Txtbianhao.Enabled:= true;
end
Else
begin
Txtbianhao.Enabled:= false;
end;
dtpup.Enabled:=Nother;
dtpdown.Enabled:=Nother;
cmbqingjia.Enabled:=Nother;
dtpjiaban.Enabled:=nother;
cmbchuchai.Enabled:=Nother;
txtbeizhu.Enabled:=Nother;
except
on ex:Exception do
begin
messagebox.Show(' TWinchuqin.ToolBar2_ButtonClick : (' + ex.message + ') ' , '考勤管理系统');
end;
end;
end;
//****************************************************************
//* cmbqingjia_SelectedIndexChanged
//*
//* [参数]
//* 1:控件的可用状态
//* 2:请假总时间控件的可用状态
//* [返回]
//* 无
//****************************************************************
procedure TWinchuqin.cmbqingjia_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
begin
try
IF Cmbqingjia.Text ='' then
begin
dtpqingjia.Enabled:=false;
end
else
begin
dtpqingjia.Enabled:=true;
end;
except
on ex:exception do
begin
messagebox.Show(' TWinchuqin.cmbqingjia_SelectedIndexChanged:('+ ex.Message+')','考勤管理系统');
end;
end;
end;
//****************************************************************
//* ButFind_Click
//*
//* [参数]
//* 1:系统参数
//* 2:系统参数
//* [返回]
//* 无
//****************************************************************
procedure TWinchuqin.butfind_Click(sender: System.Object; e: System.EventArgs);
begin
try
//项目Check
If Item_CheckF() = False Then
begin
Exit;
end;
//数据查看
Data_Get();
except
on ex:Exception do
begin
messagebox.Show('TWinUser.ButFind_Click : (' + ex.message + ') ' , '考勤管理系统');
end;
end;
end;
//****************************************************************
//* 数据查看
//*
//* [参数]
//* 无
//* [返回]
//* 实行状况
//* True:成功
//* False:失败
//****************************************************************
function TWinchuqin.data_get: boolean;
var
W_SQL:string;
w_SQLWhere:String;
w_dtpriqiF:String;
w_cmbbumenF:string;
w_cmbnameF:string;
W_dtpchuqinF:string;
begin
try
//设置当前光标为忙等待状态
self.Cursor:=cursors.WaitCursor;
w_dtpriqiF:=dtpriqiF.text;
w_cmbbumenF := cmbbumenF.Text.Trim;
w_cmbbianhaoF := cmbbianhaoF.Text.Trim;
w_cmbnameF:=cmbnameF.Text.Trim();
W_dtpchuqinF:=dtpchuqinF.TEXT.TRIM;
w_SQL := '';
w_SQL := w_SQL + ' SELECT *';
w_SQL := w_SQL + ' FROM 员工出勤表';
w_sqlwhere:='';
if dtpriqiF.Enabled=true then
begin
w_sqlwhere:=w_sqlwhere + ' AND left(日期,10)=''' + w_dtpriqiF + '''';
end;
if w_cmbbumenF <> '' then
begin
w_sqlwhere:=w_sqlwhere + ' AND 部门名称=''' + w_cmbbumenF + '''';
end;
if w_cmbbianhaoF <> '' then
begin
w_sqlwhere:=w_sqlwhere + ' AND 员工编号=''' + w_cmbbianhaoF + '''';
end;
if w_cmbnameF <> '' then
begin
w_sqlwhere:=w_sqlwhere + ' AND 姓名 like ''%' + w_cmbnameF +'%''';
end;
if ckbchidao.Checked=true then
begin
w_sqlwhere:=w_sqlwhere + ' AND 迟到=''迟到''';
end;
if ckbzaotui.Checked=true then
begin
w_sqlwhere:=w_sqlwhere + ' AND 早退=''早退''';
end;
if ckbjiaban.Checked=true then
begin
w_sqlwhere:=w_sqlwhere + ' AND 加班总时间<>''00:00''';
end;
if ckbqingjia.Checked=true then
begin
w_sqlwhere:=w_sqlwhere + ' AND 请假总时间<>''00:00''';
end;
if ckbchuchai.Checked=true then
begin
w_sqlwhere:=w_sqlwhere + ' AND 是否出差=''出差''';
end;
IF CheckBox1.Checked =true then
begin
w_sqlwhere:=w_sqlwhere + ' AND left(日期,7)=''' + W_dtpchuqinF + '''';
end;
If w_SQLWhere <> '' Then
begin
w_SQLWhere := ' WHERE 员工编号<>'''''+w_SQLWhere;
w_SQL := w_SQL + w_SQLWhere;
End;
//执行SQL语句并把记录集返回
DGDs:=clsmain.TClass1.Create.Cmn_Ado_Select (w_SQL);
if flg <> '编辑' then
begin
if dgds.Tables[0].Rows.count <>0 then
begin
txtbianhao.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'员工编号').ToString;
txtname.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'姓名').ToString;
txtbumen.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'部门名称').ToString;
//DateTimePicker1.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'日期').ToString;
// messagebox.Show(clsmain.TClass1.Create.getItemValueS(DGDS,0,'日期').ToString);
dtpriqi.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'日期').ToString;
dtpup.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'上班时间').ToString;
dtpdown.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'下班时间').ToString;
cmbqingjia.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'请假类型').ToString;
dtpqingjia.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'请假总时间').ToString;
dtpjiaban.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'加班总时间').ToString;
cmbchuchai.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'是否出差').ToString;
txtbeizhu.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'备注').ToString;
end
else
begin
txtbianhao.Text :='';
txtname.Text :='';
txtbumen.Text :='';
dtpriqi.Text :='';
dtpup.Text :='00:00';
dtpdown.Text :='00:00';
cmbqingjia.Text :='';
dtpqingjia.Text :='00:00';
dtpjiaban.Text :='00:00';
cmbchuchai.Text:='';
txtbeizhu.Text :='';
end;
end;
//DataGrid控件装载数据
datagrid1.DataSource:=dgds.Tables[0];
self.Cursor:=cursors.Default;
result:=true;
except
on ex:Exception do
begin
result:=false;
messagebox.Show('TWinchuqin.data_get : (' + ex.message + ') ' , '考勤管理系统');
end;
end;
end;
//****************************************************************
//* CheckBox1_CheckedChanged 控制出勤月份的可用状态
//* [参数]
//* 无
//*
//* [返回]
//* 无
//****************************************************************
procedure TWinchuqin.CheckBox1_CheckedChanged(sender: System.Object; e: System.EventArgs);
begin
try
IF CheckBox1.Checked =true then
begin
DtpchuqinF.Enabled:=true;
dtpriqiF.Enabled:=false;
end
else
begin
DtpchuqinF.Enabled:=false;
dtpriqiF.Enabled:=true;
end;
except
on ex:exception do
begin
messagebox.Show('TWinchuqin.CheckBox1_CheckedChanged:(' + ex.Message + ')','考勤管理系统');
end;
end;
end;
//****************************************************************
//* DataGrid1_CurrentCellChanged
//*
//* [参数]
//* 1:系统参数
//* 2:系统参数
//* [返回]
//* 无
//****************************************************************
procedure TWinchuqin.DataGrid1_CurrentCellChanged(sender: System.Object; e: System.EventArgs);
begin
try
txtbianhao.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '员工编号').ToString;
txtname.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '姓名').ToString;
txtbumen.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '部门名称').ToString;
dtpriqi.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '日期').ToString;
dtpup.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '上班时间').ToString;
dtpdown.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '下班时间').ToString;
cmbqingjia.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '请假类型').ToString;
dtpqingjia.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '请假总时间').ToString;
dtpjiaban.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '加班总时间').ToString;
cmbchuchai.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '是否出差').ToString;
txtbeizhu.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '备注').ToString;
except
on ex:Exception do
begin
messagebox.Show('TWinchuqin.DataGrid1_CurrentCellChanged : (' + ex.message + ') ' , '考勤管理系统');
end;
end;
end;
//****************************************************************
//* TabControl1_SelectedIndexChanged
//*
//* [参数]
//* 1:系统参数
//* 2:系统参数
//* [返回]
//* 无
//****************************************************************
procedure TWinchuqin.TabControl1_SelectedIndexChanged(sender: System.Object;
e: System.EventArgs);
begin
try
If Flg <> '编辑' Then
begin
If TabControl1.SelectedTab.Name = 'TabPage1' Then
begin
ToolBar2.Buttons[0].Enabled := True; //编辑按钮可用
ToolBar2.Buttons[1].Enabled := False;//保存按钮不可用
RefreshEnabled(False, False);
End;
End;
except
on ex:Exception do
begin
messagebox.Show('TWinChuQin.TabControl1_SelectedIndexChanged : (' + ex.message + ') ' , '考勤管理系统');
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -