174 lines
5.9 KiB
ObjectPascal
174 lines
5.9 KiB
ObjectPascal
unit EmpMst;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
||
wItem,
|
||
FireDAC.Stan.Intf,
|
||
FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf,
|
||
FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys,
|
||
FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt,
|
||
FireDAC.Phys.PGDef, FireDAC.VCLUI.Wait, FireDAC.Comp.UI, FireDAC.Phys.PG,
|
||
Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client;
|
||
type
|
||
TEmpMst = class(TwItem)
|
||
private
|
||
{ Private declarations }
|
||
FOrdCode: string;
|
||
FPosition: string;
|
||
FRole: string;
|
||
FInDate: string;
|
||
FOutDate: string;
|
||
FStatus: string;
|
||
FEmpTelNum: string;
|
||
FEmpAddress: string;
|
||
FDescriptions: string;
|
||
FEmpID: string;
|
||
FEmpPwd: string;
|
||
FEngCode: string;
|
||
FEmgTelNum: string;
|
||
FRelationship: string;
|
||
FTeamName: string;
|
||
FPermissions: string;
|
||
protected
|
||
{ Protected declarations }
|
||
public
|
||
{ Public declarations }
|
||
class function LoadFromQuery(AQuery: TFDQuery): TList;
|
||
class function xGetStrSqlEmpMstList(AQuery: TFDQuery; status, team, empName: string): TList;
|
||
class function xAddSqlMark(velStr: string): string;
|
||
|
||
class function xGetStrsEmpMstAllNames(AQuery: TFDQuery; column: string): TStrings;
|
||
class function LoadFromStringsQuery(AQuery: TFDQuery; column: string): TStrings;
|
||
class function xAddSqlDoubleMark(velStr: String): String;
|
||
published
|
||
{ Published declarations }
|
||
property OrdCode: string read FOrdCode write FOrdCode;
|
||
property Position: string read FPosition write FPosition;
|
||
property Role: string read FRole write FRole;
|
||
property InDate: string read FInDate write FInDate;
|
||
property OutDate: string read FOutDate write FOutDate;
|
||
property Status: string read FStatus write FStatus;
|
||
property EmpTelNum: string read FEmpTelNum write FEmpTelNum;
|
||
property EmpAddress: string read FEmpAddress write FEmpAddress;
|
||
property Descriptions: string read FDescriptions write FDescriptions;
|
||
property EmpID: string read FEmpID write FEmpID;
|
||
property EmpPwd: string read FEmpPwd write FEmpPwd;
|
||
property EngCode: string read FEngCode write FEngCode;
|
||
property EmgTelNum: string read FEmgTelNum write FEmgTelNum;
|
||
property Relationship: string read FRelationship write FRelationship;
|
||
property TeamName: string read FTeamName write FTeamName;
|
||
property Permissions: string read FPermissions write FPermissions;
|
||
end;
|
||
|
||
implementation
|
||
|
||
{ TEmpMst }
|
||
|
||
class function TEmpMst.LoadFromQuery(AQuery: TFDQuery): TList;
|
||
var
|
||
curEmp: TEmpMst;
|
||
begin
|
||
Result := TList.Create;
|
||
while not AQuery.Eof do begin
|
||
curEmp := TEmpMst.Create(nil);
|
||
curEmp.OBID := AQuery.FieldByName('OBID').AsString;
|
||
curEmp.Name := AQuery.FieldByName('Name').AsString;
|
||
curEmp.wClassName := AQuery.FieldByName('wClassName').AsString;
|
||
curEmp.CreateDate := AQuery.FieldByName('CreateDate').AsString;
|
||
curEmp.CreateTime := FormatDateTime('hh:nn:ss', AQuery.FieldByName('CreateTime').AsDateTime);
|
||
curEmp.CreatorID := AQuery.FieldByName('CreatorID').AsString;
|
||
curEmp.IsValid := AQuery.FieldByName('IsValid').AsString;
|
||
curEmp.LcStatus := AQuery.FieldByName('LcStatus').AsString;
|
||
curEmp.OrdCode := AQuery.FieldByName('OrdCode').AsString;
|
||
curEmp.Position := AQuery.FieldByName('Position').AsString;
|
||
curEmp.Role := AQuery.FieldByName('Role').AsString;
|
||
curEmp.InDate := AQuery.FieldByName('InDate').AsString;
|
||
curEmp.OutDate := AQuery.FieldByName('OutDate').AsString;
|
||
curEmp.Status := AQuery.FieldByName('Status').AsString;
|
||
curEmp.EmpTelNum := AQuery.FieldByName('EmpTelNum').AsString;
|
||
curEmp.EmpAddress := AQuery.FieldByName('EmpAddress').AsString;
|
||
curEmp.Descriptions := AQuery.FieldByName('Descriptions').AsString;
|
||
|
||
curEmp.EmpID := AQuery.FieldByName('EmpID').AsString;
|
||
curEmp.EmpPwd := AQuery.FieldByName('EmpPwd').AsString;
|
||
curEmp.EngCode := AQuery.FieldByName('EngCode').AsString;
|
||
curEmp.EmgTelNum := AQuery.FieldByName('EmgTelNum').AsString;
|
||
curEmp.Relationship := AQuery.FieldByName('Relationship').AsString;
|
||
curEmp.Permissions := AQuery.FieldByName('Permissions').AsString;
|
||
Result.Add(curEmp);
|
||
|
||
AQuery.Next;
|
||
end;
|
||
end;
|
||
|
||
class function TEmpMst.LoadFromStringsQuery(AQuery: TFDQuery;
|
||
column: string): TStrings;
|
||
var
|
||
valStr: string;
|
||
begin
|
||
Result := TStringList.Create;
|
||
while not AQuery.Eof do begin
|
||
valStr := AQuery.FieldByName(column).AsString;
|
||
Result.Add(valStr);
|
||
|
||
AQuery.Next;
|
||
end;
|
||
end;
|
||
|
||
class function TEmpMst.xAddSqlDoubleMark(velStr: String): String;
|
||
begin
|
||
Result := '';
|
||
Result := '"' + velStr + '"';
|
||
end;
|
||
|
||
class function TEmpMst.xAddSqlMark(velStr: string): string;
|
||
begin
|
||
Result := '';
|
||
Result := '''' + velStr + '''';
|
||
end;
|
||
|
||
class function TEmpMst.xGetStrsEmpMstAllNames(AQuery: TFDQuery; column: string): TStrings;
|
||
var
|
||
sql: string;
|
||
begin
|
||
Result := nil;
|
||
sql := 'SELECT ' + xAddSqlDoubleMark(column) + ' FROM "EmpMst"';
|
||
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
|
||
|
||
try
|
||
AQuery.Close;
|
||
AQuery.SQL.Text := sql;
|
||
AQuery.Open;
|
||
except
|
||
on E: Exception do ShowMessage('xGetStrsEmpMstAllNames <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
|
||
end;
|
||
Result := LoadFromStringsQuery(AQuery, column);
|
||
end;
|
||
|
||
class function TEmpMst.xGetStrSqlEmpMstList(AQuery: TFDQuery; status, team,
|
||
empName: string): TList;
|
||
var
|
||
sql: string;
|
||
begin
|
||
Result := nil;
|
||
sql := 'SELECT * FROM "EmpMst"';
|
||
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
|
||
if Length(Trim(team)) > 0 then sql := sql + ' AND "TeamName"=' + xAddSqlMark(team);
|
||
if Length(Trim(empName)) > 0 then sql := sql + ' AND "Name"=' + xAddSqlMark(empName);
|
||
if Length(Trim(status)) > 0 then sql := sql + ' AND "Status"=' + xAddSqlMark(status);
|
||
|
||
try
|
||
AQuery.Close;
|
||
AQuery.SQL.Text := sql;
|
||
AQuery.Open;
|
||
except
|
||
on E: Exception do ShowMessage('xGetStrSqlEmpMstList <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
|
||
end;
|
||
Result := LoadFromQuery(AQuery);
|
||
end;
|
||
|
||
end.
|
||
|