📄 workageinput.pas
字号:
unit workageinput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, DB, ADODB,workage_unit,workagefind,basedata_unit;
type
Tworkagefrm = class(TForm)
Label1: TLabel;
Bevel1: TBevel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
unit_nameedit: TEdit;
work_timeedit: TEdit;
level1edit: TEdit;
dutyedit: TEdit;
remarkedit: TEdit;
begin_datepicker: TDateTimePicker;
over_datepicker: TDateTimePicker;
New_Workage: TButton;
Reset_Workage: TButton;
cancel_btn: TButton;
Label11: TLabel;
Label12: TLabel;
UpDown1: TUpDown;
UpDown2: TUpDown;
worker_idedit: TComboBox;
worker_nameedit: TLabel;
procedure cancel_btnClick(Sender: TObject);
procedure New_WorkageClick(Sender: TObject);
procedure work_timeeditClick(Sender: TObject);
procedure Reset_WorkageClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure worker_ideditChange(Sender: TObject);
private
workage:Tworkage;
basedata:Tbasedata;
{ Private declarations }
public
{ Public declarations }
end;
var
workagefrm: Tworkagefrm;
implementation
{$R *.dfm}
procedure Tworkagefrm.cancel_btnClick(Sender: TObject);
begin
worker_idedit.Text :='';worker_nameedit.Caption :='';
unit_nameedit.Text :='';
begin_datepicker.Date :=strtodate(formatdatetime('yyyy-mm-dd',now));
over_datepicker.Date :=strtodate(formatdatetime('yyyy-mm-dd',now));
work_timeedit.Text :='';dutyedit.Text :='';
level1edit.Text :='';remarkedit.Text :='';
workagefrm.Close;
end;
procedure Tworkagefrm.New_WorkageClick(Sender: TObject);
var
t1,t2,insertsql:string;
begin
//录入时员工编号和单位名称不能为空
if (worker_idedit.Text='') or (unit_nameedit.Text='') then
begin
showmessage('员工编号和工作单位不能为空!');
exit;
end;
//查询要修改的记录是否存在
if workage.WorkAgeRec(worker_idedit.Text,unit_nameedit.Text)=false then
begin
showmessage('对不起,该记录不存在,修改失败!');
exit;
end;
//时间类型值的转化
t1:=datetostr(begin_datepicker.Date);
t2:=datetostr(over_datepicker.Date );
//赋值插入SQL语句
insertsql:='insert into work_age(worker_id,unit_name,'
+'worker_name,duty,begin_date,over_date,work_time,level1,remark'
+')values('''+worker_idedit.Text+''','''+unit_nameedit.Text+''','
+''''+worker_nameedit.Caption+''','''+dutyedit.Text+''','''+t1+''','
+''''+t2+''','''+work_timeedit.Text+''','''+level1edit.Text+''''
+','''+remarkedit.Text+''')';
//执行插入操作过程
workage.RecInsert(insertsql);
showmessage('保存完毕!');
//更新查询显示
workagefindfrm.WorkerList.OnClick(Sender);
end;
procedure Tworkagefrm.work_timeeditClick(Sender: TObject);
var
int1,int2:integer;
begin
int1:=strtoint(formatdatetime('yyyy',begin_datepicker.DateTime));
int2:=strtoint(formatdatetime('yyyy',over_datepicker.DateTime));
if (int2-int1)<0 then
begin
showmessage('起始日期或结束日期有误!');
exit;
end;
work_timeedit.Text :=inttostr(int2-int1);
end;
procedure Tworkagefrm.Reset_WorkageClick(Sender: TObject);
var
t1,t2,modsql:string;
begin
if application.MessageBox('要修改吗?','提示:',mb_yesno+mb_iconquestion)=idyes then
begin
//修改时必须输入的项
if (worker_idedit.Text='') or (unit_nameedit.Text='') then
begin
showmessage('请输入要修改记录的员工编号和单位名称!');
exit;
end;
//时间类型转换
t1:=datetostr(begin_datepicker.Date);
t2:=datetostr(over_datepicker.Date );
//通过异常处理判断输入是否有误
try
strtoint(work_timeedit.Text);
except
showmessage('折算工龄输入有误!');
exit;
end;
//查询要修改的记录是否存在
if workage.WorkAgeRec(worker_idedit.Text,unit_nameedit.Text)=false then
begin
showmessage('对不起,该记录不存在,修改失败!');
exit;
end;
//赋值修该SQL语句
modsql:='update work_age set begin_date='''+t1+''','
+'over_date='''+t2+''',worker_name='''+worker_nameedit.Caption+''','
+'work_time='''+work_timeedit.Text+''',duty='''+dutyedit.Text+''','
+'level1='''+level1edit.Text+''',remark='''+remarkedit.Text+''' where worker_id='''+worker_idedit.Text+''' '
+' and unit_name='''+unit_nameedit.Text+'''';
//执行修改操作
workage.RecUpdate(modsql);
showmessage('修改完成!');
//更新查询显示
workagefindfrm.WorkerList.OnClick(Sender);
end;
end;
procedure Tworkagefrm.FormActivate(Sender: TObject);
begin
//创建类的实例
workage:=Tworkage.create ;
basedata:=Tbasedata.create;
//获取员工编号列表
worker_idedit.Items:=basedata.GetIdLists();
//取出对应的字段值在文本框中显示出来
try
worker_idedit.Text:=workage.GetWorkerId(workagefind.reid);
unit_nameedit.Text:=workage.GetUnitName(workagefind.reid);
worker_nameedit.Caption :=workage.GetWorkerName(workagefind.reid);
begin_datepicker.Date:=strtodate(workage.GetBeginDate(workagefind.reid));
over_datepicker.Date :=strtodate(workage.GetOverDate(workagefind.reid) ) ;
work_timeedit.Text :=workage.GetWorkTime(workagefind.reid) ;
dutyedit.Text :=workage.GetDuty(workagefind.reid);
level1edit.Text :=workage.GetLevel1(workagefind.reid);
remarkedit.Text :=workage.GetRemark(workagefind.reid);
except
exit;
end;
end;
procedure Tworkagefrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//释放类的实例
workage.Free;
basedata.Free;
end;
procedure Tworkagefrm.worker_ideditChange(Sender: TObject);
begin
//根据员工编号查询员工姓名
worker_nameedit.Caption:=basedata.GetWorkerName(worker_idedit.Text);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -