📄 u_empworktime.~pas
字号:
unit U_empworktime;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, Grids, DBGrids, ComCtrls, Db, StdCtrls, DBTables, Buttons, Mask,
DBCtrls;
type
TF_empworktime = class(TForm)
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Splitter1: TSplitter;
DBGrid2: TDBGrid;
Query1: TQuery;
StatusBar1: TStatusBar;
GroupBox1: TGroupBox;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
ComboBox2: TComboBox;
Label3: TLabel;
ComboBox3: TComboBox;
Label4: TLabel;
ComboBox4: TComboBox;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
button1: TSpeedButton;
button2: TSpeedButton;
GroupBox2: TGroupBox;
CheckBox1: TCheckBox;
Label5: TLabel;
Label6: TLabel;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
GroupBox3: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
GroupBox4: TGroupBox;
Image1: TImage;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ComboBox2Click(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure ComboBox3Click(Sender: TObject);
procedure ComboBox4Click(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure MaskEdit1Change(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure ComboBox3KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure DBGrid2DblClick(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
private
{ Private declarations }
name,worknum,empordep:string;
Procedure Get_yjbm;
Procedure Get_ejbm;
Procedure Get_name;
Procedure Get_worknum;
public
RPstr:string;
{ Public declarations }
end;
var
F_empworktime: TF_empworktime;
implementation
uses U_GS_DM, URP_empworktime, URP_yjdep_worktime, URP_ejdep_worktime,
UQR_mdform;
{$R *.DFM}
procedure TF_empworktime.Get_worknum();//获得工号
var
Query:TQuery;
begin
if combobox2.Text='' then exit;
Query:=TQuery.Create(self);
Query.DatabaseName:='person_db';
with Query do
begin
close;
sql.Clear;
sql.Add('select distinct work_num,name from V_yj_ej_emp where ejbm_name='+''''+combobox2.text+'''');
open;
end;
combobox4.Items.Clear;
Query.First;
while not Query.Eof do
begin
combobox4.Items.Add(Query.fieldbyname('work_num').asstring+'-'+Query.fieldbyname('name').asstring);
Query.Next;
end;
Query.free;
end;
procedure TF_empworktime.Get_name();//获得名字
var
Query:TQuery;
begin
if combobox2.Text='' then exit;
Query:=TQuery.Create(self);
Query.DatabaseName:='person_db';
with Query do
begin
close;
sql.Clear;
sql.Add('select distinct name,work_num from V_yj_ej_emp where ejbm_name='+''''+combobox2.text+'''');
open;
end;
combobox3.Items.Clear;
Query.First;
while not Query.Eof do
begin
combobox3.Items.Add(Query.fieldbyname('name').asstring+'-'+Query.fieldbyname('work_num').asstring);
Query.Next;
end;
Query.free;
end;
procedure TF_empworktime.Get_ejbm();//获得二级部门
var
Query:TQuery;
begin
if combobox1.Text='' then exit;
Query:=TQuery.Create(self);
Query.DatabaseName:='person_db';
with Query do
begin
close;
sql.Clear;
sql.Add('select distinct ejbm_name from V_yjbm_ejbm where yjbm_name='+''''+combobox1.text+'''');
open;
end;
combobox2.Items.Clear;
Query.First;
while not Query.Eof do
begin
combobox2.Items.Add(Query.fieldbyname('ejbm_name').asstring);
Query.Next;
end;
Query.free;
end;
procedure TF_empworktime.Get_yjbm(); //获得一级部门
var
Query:TQuery;
begin
Query:=TQuery.Create(self);
Query.DatabaseName:='person_db';
with Query do
begin
close;
sql.Clear;
sql.Add('select distinct yjbm_name from V_yjbm_ejbm');
open;
end;
combobox1.Items.Clear;
Query.First;
while not Query.Eof do
begin
combobox1.Items.Add(Query.fieldbyname('yjbm_name').asstring);
Query.Next;
end;
Query.free;
end;
procedure TF_empworktime.FormDestroy(Sender: TObject);//窗体关闭
begin
F_empworktime:=nil;
end;
procedure TF_empworktime.FormClose(Sender: TObject;//关闭窗体
var Action: TCloseAction);
begin
GS_DM.V_empworktime.Close;
Action:=caFree;
end;
procedure TF_empworktime.FormCreate(Sender: TObject);//yjbm
begin
Get_yjbm;
end;
procedure TF_empworktime.ComboBox2Click(Sender: TObject);//name+worknum
begin
Get_name;
Get_worknum;
end;
procedure TF_empworktime.ComboBox1Click(Sender: TObject);//ejbm
begin
Get_ejbm;
end;
procedure TF_empworktime.ComboBox3Click(Sender: TObject); //姓名
var
i:integer;
begin
for i:=1 to 12 do
if copy(combobox3.text,i,1)='-' then
break;
name:=copy(combobox3.text,1,i-1);
end;
procedure TF_empworktime.ComboBox4Click(Sender: TObject); //工号
var
i:integer;
begin
for i:=1 to 12 do
if copy(combobox4.text,i,1)='-' then
break;
worknum:=copy(combobox4.text,1,i-1);
end;
procedure TF_empworktime.ComboBox4Change(Sender: TObject); //工号
begin
if Length(TRim(Combobox4.text))=6 then
worknum:=combobox4.Text;
end;
procedure TF_empworktime.SpeedButton1Click(Sender: TObject);
begin
GS_DM.V_empworktime.Close;
if (Length(Trim(Maskedit1.Text))<>10)or(Length(Trim(Maskedit2.Text))<>10) then
begin
Application.MessageBox('请输入正确的日期!','系统提示',MB_iconstop+MB_OK);
exit;
end;
if (Combobox1.Text='')and(Combobox2.Text='')and(Combobox3.Text='')and(Combobox4.Text='') then
begin
GS_DM.openall_everydaytime(MaskEdit1.Text,MaskEdit2.Text);
RPstr:='全部部门';
StatusBar1.Panels[1].Text:=inttostr(GS_DM.V_empworktime.RecordCount);
exit;
empordep:='全部部门';
end;
if Sender=Speedbutton1 then
begin
if combobox1.Text='' then exit;
GS_DM.open_everydaytime('yjbm_name',combobox1.Text,MaskEdit1.Text,MaskEdit2.Text);
RPstr:=combobox1.Text;
empordep:='yjdep';
end
else if sender=Speedbutton2 then
begin
if combobox2.Text='' then exit;
GS_DM.open_everydaytime('ejbm_name',combobox2.Text,MaskEdit1.Text,MaskEdit2.Text);
RPstr:=combobox2.Text;
empordep:='ejdep';
end
else if sender=speedbutton3 then
begin
if combobox3.Text='' then exit;
GS_DM.open_everydaytime('name',name,MaskEdit1.Text,MaskEdit2.Text);
RPstr:=combobox3.Text;
empordep:='emp';
end
else
begin
if combobox4.Text='' then exit;
worknum:=combobox4.Text;
GS_DM.open_everydaytime('work_num',Worknum,MaskEdit1.Text,MaskEdit2.Text);
RPstr:=combobox4.Text;
empordep:='emp';
end;
if GS_DM.V_empworktime.RecordCount=0 then
begin
showmessage('没有可统计的内容!!');
exit;
end;
StatusBar1.Panels[1].Text:=inttostr(GS_DM.V_empworktime.RecordCount);
end;
procedure TF_empworktime.MaskEdit1Change(Sender: TObject);
begin
if Length(trim(Maskedit1.text))=10 then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -