labor.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 864 行 · 第 1/2 页
PAS
864 行
unit labor;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Grids, DBGrids, ImgList, ComCtrls, ToolWin, ADODB, ExtCtrls, DBCtrls,
StdCtrls, Mask, Menus, ppDB, ppDBPipe, ppDBBDE, ppComm, ppRelatv, ppProd,
ppClass, ppReport, ppCtrls, ppVar, ppBands, ppPrnabl, ppCache;
type
TFormlabor = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
ADOlabset: TADODataSet;
ADOlabget: TADODataSet;
ADOgettotal: TADODataSet;
ImageList2: TImageList;
DBGrid1: TDBGrid;
ADOlabsetlabno: TStringField;
ADOlabsetlabname: TStringField;
ADOlabsetnum: TBCDField;
ADOlabsetunit: TStringField;
ADOlabsetprice: TBCDField;
ADOlabsetcdate: TDateTimeField;
ADOlabsetoperator: TStringField;
Dslabset: TDataSource;
Dslabget: TDataSource;
Dsgettotal: TDataSource;
ADOlabgetgetno: TStringField;
ADOlabgetworkno: TStringField;
ADOlabgetgetdate: TDateTimeField;
ADOlabgetlabno: TStringField;
ADOlabgetlabname: TStringField;
ADOlabgetnum: TBCDField;
ADOlabgetunit: TStringField;
ADOlabgetcdate: TDateTimeField;
ADOlabgetoperator: TStringField;
ADOgettotalworkno: TStringField;
ADOgettotallabno: TStringField;
ADOgettotallabname: TStringField;
ADOgettotaltotalnum: TBCDField;
ADOgettotalunit: TStringField;
ADOsubget: TADODataSet;
Dssubget: TDataSource;
DBGrid4: TDBGrid;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
ADOsubgetgetno: TStringField;
ADOsubgetgetdate: TDateTimeField;
ADOsubgetworkno: TStringField;
ADOsubgetlabno: TStringField;
ADOsubgetlabname: TStringField;
ADOsubgetnum: TBCDField;
ADOsubgetunit: TStringField;
ADOsubgetcdate: TDateTimeField;
ADOsubgetoperator: TStringField;
Panel1: TPanel;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
ADOQuery1: TADOQuery;
Panel2: TPanel;
Label10: TLabel;
DBEdit5: TDBEdit;
Label11: TLabel;
DBEdit7: TDBEdit;
Label12: TLabel;
DBEdit8: TDBEdit;
Label13: TLabel;
Label14: TLabel;
DBEdit10: TDBEdit;
Label15: TLabel;
Label16: TLabel;
DBText5: TDBText;
DBText6: TDBText;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
Panel3: TPanel;
ToolBar1: TToolBar;
all: TToolButton;
ToolButton6: TToolButton;
tbnsort: TToolButton;
tbnfind: TToolButton;
tbnprint: TToolButton;
ToolButton4: TToolButton;
DBNavigator1: TDBNavigator;
Label17: TLabel;
Label18: TLabel;
DateTimePicker1: TDateTimePicker;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
ADOlabsetsize: TStringField;
Label19: TLabel;
Label20: TLabel;
DBText7: TDBText;
ADOlabgetsize: TStringField;
ADOgettotalsize: TStringField;
ADOsubgetsize: TStringField;
DBComboBox3: TDBComboBox;
ppReport1: TppReport;
ppBDEPipeline1: TppBDEPipeline;
ppHeaderBand1: TppHeaderBand;
ppDetailBand1: TppDetailBand;
ppTitleBand1: TppTitleBand;
ppLabel1: TppLabel;
ppDBText1: TppDBText;
ppLabel2: TppLabel;
ppDBText2: TppDBText;
ppLabel3: TppLabel;
ppDBText3: TppDBText;
ppLabel4: TppLabel;
ppDBText4: TppDBText;
ppLabel5: TppLabel;
ppDBText5: TppDBText;
ppLabel6: TppLabel;
ppDBText6: TppDBText;
ppLabel7: TppLabel;
ppDBText7: TppDBText;
ppLabel8: TppLabel;
ppDBText8: TppDBText;
ppLabel9: TppLabel;
ppLine1: TppLine;
ppLabel32: TppLabel;
ppLabel31: TppLabel;
ppLabel27: TppLabel;
ppLabel28: TppLabel;
ppSystemVariable7: TppSystemVariable;
ppLabel29: TppLabel;
ppLabel30: TppLabel;
ppSystemVariable8: TppSystemVariable;
ppLine4: TppLine;
ppDBCalc3: TppDBCalc;
ppLabel33: TppLabel;
Panel4: TPanel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
MaskEdit1: TMaskEdit;
DateTimePicker2: TDateTimePicker;
MaskEdit2: TMaskEdit;
DateTimePicker3: TDateTimePicker;
Edit1: TEdit;
ppBDEPipeline2: TppBDEPipeline;
ppReport2: TppReport;
ppGroup1: TppGroup;
ppGroupHeaderBand1: TppGroupHeaderBand;
ppGroupFooterBand1: TppGroupFooterBand;
ppSummaryBand1: TppSummaryBand;
ppLabel34: TppLabel;
ppDBCalc4: TppDBCalc;
ppShape1: TppShape;
ppHeaderBand2: TppHeaderBand;
ppDetailBand2: TppDetailBand;
ppTitleBand2: TppTitleBand;
ppLabel10: TppLabel;
ppDBText9: TppDBText;
ppLabel11: TppLabel;
ppDBText10: TppDBText;
ppLabel12: TppLabel;
ppDBText11: TppDBText;
ppLabel13: TppLabel;
ppDBText12: TppDBText;
ppLabel14: TppLabel;
ppDBText13: TppDBText;
ppLabel15: TppLabel;
ppDBText14: TppDBText;
ppLabel16: TppLabel;
ppLine2: TppLine;
ppLabel17: TppLabel;
ppLabel18: TppLabel;
ppSystemVariable3: TppSystemVariable;
ppLabel19: TppLabel;
ppLabel20: TppLabel;
ppSystemVariable4: TppSystemVariable;
ppLabel21: TppLabel;
ppReport3: TppReport;
ppBDEPipeline3: TppBDEPipeline;
ppHeaderBand3: TppHeaderBand;
ppDetailBand3: TppDetailBand;
ppTitleBand3: TppTitleBand;
ppLabel22: TppLabel;
ppDBText15: TppDBText;
ppLabel23: TppLabel;
ppDBText16: TppDBText;
ppLabel24: TppLabel;
ppDBText17: TppDBText;
ppLabel25: TppLabel;
ppDBText18: TppDBText;
ppLabel26: TppLabel;
ppDBText19: TppDBText;
ppLabel35: TppLabel;
ppDBText20: TppDBText;
ppLabel36: TppLabel;
ppLine3: TppLine;
ppLabel39: TppLabel;
ppLabel40: TppLabel;
ppSystemVariable5: TppSystemVariable;
ppLabel41: TppLabel;
ppLabel42: TppLabel;
ppSystemVariable6: TppSystemVariable;
ppLabel43: TppLabel;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure PageControl1Change(Sender: TObject);
procedure PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
procedure FormActivate(Sender: TObject);
procedure DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
procedure ToolButton4Click(Sender: TObject);
procedure ADOlabgetlabnoChange(Sender: TField);
procedure DBEdit6Exit(Sender: TObject);
procedure ADOlabgetBeforePost(DataSet: TDataSet);
procedure ADOlabgetBeforeDelete(DataSet: TDataSet);
procedure ADOlabgetAfterPost(DataSet: TDataSet);
procedure DateTimePicker1CloseUp(Sender: TObject);
procedure ADOlabsetAfterInsert(DataSet: TDataSet);
procedure tbnsortClick(Sender: TObject);
procedure tbnfindClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid3TitleClick(Column: TColumn);
procedure DBGrid2TitleClick(Column: TColumn);
procedure DBGrid4TitleClick(Column: TColumn);
procedure allClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker2CloseUp(Sender: TObject);
procedure DateTimePicker3CloseUp(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure ppReport1BeforePrint(Sender: TObject);
procedure MaskEdit2Exit(Sender: TObject);
procedure ppReport2BeforePrint(Sender: TObject);
procedure ppReport3BeforePrint(Sender: TObject);
procedure tbnprintClick(Sender: TObject);
procedure ppReport1PreviewFormCreate(Sender: TObject);
procedure ppReport2PreviewFormCreate(Sender: TObject);
procedure ppReport3PreviewFormCreate(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
private
{ Private declarations }
manyfield:boolean;
findex:array[1..5] of integer;
fsort:array[1..5] of string;
fcount:0..5;
db:0..3;
f:string; //排序的字段
public
{ Public declarations }
procedure iniunit;
end;
var
Formlabor: TFormlabor;
implementation
uses publicfunction,datamol,labdefine,main, canfind;
{$R *.DFM}
procedure TFormlabor.FormCreate(Sender: TObject);
begin
adosubget.open;
adolabset.open;
pagecontrol1.activepageindex:=0;
dbnavigator1.DataSource:=dslabget;
datetimepicker1.date:=now;
datetimepicker2.date:=now;
datetimepicker3.date:=now;
maskedit1.Text:=datetostr(date);
maskedit2.text:=datetostr(date);
adolabget.Filtered :=false;
adolabget.Filter :='getdate<='''+maskedit2.Text+''' and getdate>='''+maskedit1.Text+''' ';
adolabget.Filtered :=true;
end;
procedure TFormlabor.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adolabget.close;
adogettotal.close;
adosubget.close;
adolabset.close;
action:=cafree;
formlabor:=nil;
end;
procedure TFormlabor.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (activecontrol=dbgrid1) or (activecontrol=dbgrid2) or
(activecontrol=dbgrid3) or (activecontrol=dbgrid4) then exit;
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormlabor.PageControl1Change(Sender: TObject);
begin
pagecontrol1.ActivePage.Highlighted:=true;
with dbnavigator1 do
case pagecontrol1.ActivePageIndex of
0:
begin
formlabor.OnActivate(self);
DataSource:=dslabget;
end;
1:
begin
adoquery1.close;
adoquery1.SQL.clear;
adoquery1.sql.Add('Delete from lab03010');
adoquery1.sql.add('Insert into lab03010 Select min(b.workno) workno,min(b.labno) labno,min(b.labname) labname,sum(b.num) num,'+
' min(b.unit) unit,min(b.size) size from lab02010 b group by b.workno,b.labno ');
Adoquery1.execsql;
adogettotal.open;
DataSource:=dsgettotal;
end;
2:
begin
adolabset.close;
adolabset.open;
iniunit;
DataSource:=dslabset;
end;
end;
end;
procedure TFormlabor.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
pagecontrol1.ActivePage.Highlighted:=false;
end;
procedure TFormlabor.FormActivate(Sender: TObject);
begin
adolabget.close;
adolabget.open;
dbcombobox1.Items.Clear;
adolabset.open;
adolabset.First;
while not adolabset.Eof do
begin
dbcombobox1.items.Add(adolabsetlabno.asstring);
adolabset.next;
end;
iniunit;
end;
procedure TFormlabor.iniunit;
begin
dbcombobox2.Items.clear;
adoquery1.close;
adoquery1.sql.text:='Select unit from lab01010 group by unit';
adoquery1.open;
while not adoquery1.Eof do
begin
dbcombobox2.Items.add(adoquery1.fieldbyname('unit').asstring);
adoquery1.next;
end;
dbcombobox3.items.clear;
adoquery1.close;
adoquery1.sql.text:='Select size from lab01010 group by size';
adoquery1.open;
while not adoquery1.eof do
begin
dbcombobox3.items.add(adoquery1.fieldbyname('size').asstring);
adoquery1.next;
end;
end;
procedure TFormlabor.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if (button=nbinsert) or (button=nbedit) then
case pagecontrol1.ActivePageIndex of
0:Dbedit1.setfocus;
2:Dbedit5.setfocus;
end;
end;
procedure TFormlabor.ToolButton4Click(Sender: TObject);
begin
close;
end;
procedure TFormlabor.ADOlabgetlabnoChange(Sender: TField);
begin
if adolabset.Locate('labno',adolabgetlabno.asstring,[]) then
begin
adolabgetlabname.asstring:=adolabsetlabname.asstring;
adolabgetunit.asstring:=adolabsetunit.asstring;
adolabgetsize.asstring:=adolabsetsize.asstring;
label18.Caption:=floattostr(adolabsetnum.asfloat);
end;
end;
procedure TFormlabor.DBEdit6Exit(Sender: TObject);
begin
case pagecontrol1.ActivePageIndex of
0:
begin
if adolabget.State=dsinsert then
begin
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?