📄 unit_job.~pas
字号:
unit Unit_JOB;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, ExtCtrls,DB, DBClient,Data_DL,Grids;
Type
TJobMoney=Record
Xj,Qd,Gz:Currency;
End;
type
Tjob=class(TObject)
private
Mydata:TDL_Data;
SCds,MCds:TclientDataSet;
Str:string;
public
constructor create;
destructor destroy;override;
//获取工作人员当班时间
Function LoginTime(AdminID:Integer):TDateTime;
//获取指定起始日期及工作人员ID的现金\签单、挂账款数
Function Get_JObMoney(AdminID:Integer;BTime,ETime:TdateTime):TJobMoney;
//获取前班结余款数
Function Get_JYMoney:Currency;
end;
implementation
{ Tjob }
constructor Tjob.create;
begin
Mydata:=TDL_Data.Create(nil);
SCds:=TClientDataSet.Create(nil);
Mcds:=TClientDataSet.Create(nil);
end;
destructor Tjob.destroy;
begin
FreeAndNil(MYdata);
FreeAndNil(SCds);
FreeAndNil(Mcds);
inherited;
end;
function Tjob.Get_JOBMoney(AdminID: Integer; BTime,
ETime: TdateTime): TJobMoney;
Var
Tmp:TJobMoney;
begin
Str:='Select Sum(dbo.Xf_Master.SSMoney) As JOBMoney,dbo.xf_Type.Name As Name';
Str:=Str+' From dbo.xf_Master Inner Join dbo.xf_type ON dbo.xf_Master.xf_Type = dbo.xf_Type.ID';
Str:=Str+' WHERE (dbo.XF_Master.OperTime > CONVERT(DATETIME, '''+DateTimeToStr(BTime)+''',102)) And';
Str:=Str+' (dbo.XF_Master.OperTime < CONVERT(DATETIME, '''+DateTimeToStr(ETime)+''', 102)) AND';
Str:=Str+' (dbo.XF_Master.AdminID ='+IntTostr(AdminID)+')';
Str:=Str+' Group By dbo.xf_Type.Name';
Mcds.Data:=Mydata.Open_SQL(Str);
While Not Mcds.Eof Do
Begin
if Trim(Mcds.FieldByName('Name').AsString)='现金' Then
Tmp.xj:=Mcds.FieldByName('JOBMoney').AsCurrency;
if Trim(Mcds.FieldByName('Name').AsString)='签单' Then
Tmp.Qd:=Mcds.FieldByName('JOBMoney').AsCurrency;
if Trim(Mcds.FieldByName('Name').AsString)='挂账' Then
Tmp.Gz:=Mcds.FieldByName('JOBMoney').AsCurrency;
Mcds.Next;
End;
//Showmessage(floatTostr(Tmp));
Result:=Tmp;
end;
function Tjob.Get_JYMoney: Currency;
Var
MaxID:Integer;
begin
Result:=0;
Str:='Select max(id) As MAXID From JobInfo';
mcds.Data:=mydata.Open_SQL(Str);
if MCds.RecordCount<>0 Then
Begin
MaxID:=mcds.FieldByName('MAXID').AsInteger;
Str:='Select * From JobInfo Where ID='+inttostr(maxid);
mcds.Data:=mydata.Open_SQL(Str);
Result:=Mcds.FieldByName('BakMoney').AsCurrency;
End;
end;
function Tjob.LoginTime(AdminID: Integer): TDateTime;
begin
Str:='Select LoginTime from Admin_info Where ID='+IntToStr(AdminID);
Mcds.data:=Mydata.Open_SQL(Str);
Result:=Mcds.fieldByName('Logintime').AsDateTime;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -