SmartFactory_NEOL/SOURCE/Agent,Kiosk/Lib/base - 20251205_old/TeamMst.pas
2026-09-04 14:08:41 +09:00

168 lines
4.8 KiB
ObjectPascal
Raw Blame History

unit TeamMst;
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
TTeamMst = class(TwItem)
private
{ Private declarations }
FOrdNum: string;
FMainTask: string;
FDescriptions: string;
FKind: string;
FTeamCode: string;
protected
{ Protected declarations }
public
{ Public declarations }
class function xAddSqlMark(velStr: string): string;
class function xGetStrSqlTeamMstList(AQuery: TFDQuery; kindStr: string): TList;
class function LoadFromQuery(AQuery: TFDQuery): TList;
class function xGetStrsDistinctKind(AQuery: TFDQuery): TStrings;
class function LoadFromQueryStrs(AQuery: TFDQuery): TStrings;
class function xGetStrTeamMstNextNumber(AQuery: TFDQuery): string;
class function LoadFromQueryStr(AQuery: TFDQuery): string;
published
{ Published declarations }
property OrdNum: string read FOrdNum write FOrdNum;
property MainTask: string read FMainTask write FMainTask;
property Descriptions: string read FDescriptions write FDescriptions;
property Kind: string read FKind write FKind;
property TeamCode: string read FTeamCode write FTeamCode;
end;
implementation
{ TTeamMst }
class function TTeamMst.LoadFromQuery(AQuery: TFDQuery): TList;
var
curCode: TTeamMst;
begin
Result := TList.Create;
while not AQuery.Eof do begin
curCode := TTeamMst.Create(nil);
curCode.OBID := AQuery.FieldByName('OBID').AsString;
curCode.Name := AQuery.FieldByName('Name').AsString;
curCode.wClassName := AQuery.FieldByName('wClassName').AsString;
curCode.CreateDate := AQuery.FieldByName('CreateDate').AsString;
curCode.CreateTime := FormatDateTime('hh:nn:ss', AQuery.FieldByName('CreateTime').AsDateTime);
curCode.CreatorID := AQuery.FieldByName('CreatorID').AsString;
curCode.IsValid := AQuery.FieldByName('IsValid').AsString;
curCode.LcStatus := AQuery.FieldByName('LcStatus').AsString;
curCode.OrdNum := AQuery.FieldByName('OrdNum').AsString;
curCode.MainTask := AQuery.FieldByName('MainTask').AsString;
curCode.Descriptions := AQuery.FieldByName('Descriptions').AsString;
curCode.Kind := AQuery.FieldByName('Kind').AsString;
curCode.TeamCode := AQuery.FieldByName('TeamCode').AsString;
Result.Add(curCode);
AQuery.Next;
end;
end;
class function TTeamMst.LoadFromQueryStr(AQuery: TFDQuery): string;
begin
Result := '';
while not AQuery.Eof do begin
Result := AQuery.FieldByName('COUNT').AsString;
AQuery.Next;
end;
end;
class function TTeamMst.LoadFromQueryStrs(AQuery: TFDQuery): TStrings;
begin
Result := TStringList.Create;
while not AQuery.Eof do begin
Result.Add(AQuery.FieldByName('Kind').AsString);
AQuery.Next;
end;
end;
class function TTeamMst.xAddSqlMark(velStr: string): string;
begin
Result := '';
Result := '''' + velStr + '''';
end;
class function TTeamMst.xGetStrsDistinctKind(AQuery: TFDQuery): TStrings;
var
sql: string;
begin
Result := nil;
sql := 'SELECT DISTINCT "Kind" FROM "TeamMst"';
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
try
AQuery.Close;
AQuery.SQL.Text := sql;
AQuery.Open;
except
on E: Exception do ShowMessage('xGetStrsDistinctKind <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
end;
Result := LoadFromQueryStrs(AQuery);
end;
class function TTeamMst.xGetStrSqlTeamMstList(AQuery: TFDQuery;
kindStr: string): TList;
var
sql: string;
begin
Result := nil;
sql := 'SELECT * FROM "TeamMst"';
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
if Length(Trim(kindStr)) > 0 then begin
sql := sql + ' AND "Kind"=' + xAddSqlMark(kindStr);
sql := sql + ' ORDER BY CAST("TeamCode" AS INTEGER)';
end else begin
sql := sql + ' ORDER BY "OrdNum"';
end;
try
AQuery.Close;
AQuery.SQL.Text := sql;
AQuery.Open;
except
on E: Exception do ShowMessage('xGetStrSqlTeamMstList <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
end;
Result := LoadFromQuery(AQuery);
end;
class function TTeamMst.xGetStrTeamMstNextNumber(AQuery: TFDQuery): string;
var
num: Integer;
sql, tmpResult: string;
begin
Result := '';
sql := 'SELECT COUNT(*) FROM "TeamMst"';
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
try
AQuery.Close;
AQuery.SQL.Text := sql;
AQuery.Open;
except
on E: Exception do ShowMessage('xGetStrTeamMstNextNumber <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
end;
tmpResult := LoadFromQueryStr(AQuery);
num := StrToIntDef(tmpResult,0);
num := num + 1;
Result := IntToStr(num);
end;
end.