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

127 lines
3.6 KiB
ObjectPascal
Raw Blame History

unit GroupMst;
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
TGroupMst = class(TwItem)
private
{ Private declarations }
FOrdCode: string;
FDescriptions: string;
protected
{ Protected declarations }
public
{ Public declarations }
class function xGetStrsDistinctGroupName(AQuery: TFDQuery): TStrings;
class function xAddSqlMark(velStr: string): string;
class function LoadFromStringsQuery(AQuery: TFDQuery; column: string): TStrings;
class function xGetObjsGroupMstInfo(AQuery: TFDQuery; nameStr: string): TList;
class function LoadFromQuery(AQuery: TFDQuery): TList;
published
{ Published declarations }
property OrdCode: string read FOrdCode write FOrdCode;
property Descriptions: string read FDescriptions write FDescriptions;
end;
implementation
{ TGroupMst }
class function TGroupMst.LoadFromQuery(AQuery: TFDQuery): TList;
var
curGroup: TGroupMst;
begin
Result := TList.Create;
while not AQuery.Eof do begin
curGroup := TGroupMst.Create(nil);
curGroup.OBID := AQuery.FieldByName('OBID').AsString;
curGroup.Name := AQuery.FieldByName('Name').AsString;
curGroup.wClassName := AQuery.FieldByName('wClassName').AsString;
curGroup.CreateDate := AQuery.FieldByName('CreateDate').AsString;
curGroup.CreateTime := FormatDateTime('hh:nn:ss', AQuery.FieldByName('CreateTime').AsDateTime);
curGroup.CreatorID := AQuery.FieldByName('CreatorID').AsString;
curGroup.IsValid := AQuery.FieldByName('IsValid').AsString;
curGroup.LcStatus := AQuery.FieldByName('LcStatus').AsString;
curGroup.OrdCode := AQuery.FieldByName('OrdCode').AsString;
curGroup.Descriptions := AQuery.FieldByName('Descriptions').AsString;
Result.Add(curGroup);
AQuery.Next;
end;
end;
class function TGroupMst.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 TGroupMst.xAddSqlMark(velStr: string): string;
begin
Result := '';
Result := '''' + velStr + '''';
end;
class function TGroupMst.xGetObjsGroupMstInfo(AQuery: TFDQuery;
nameStr: string): TList;
var
sql: string;
begin
Result := nil;
sql := 'SELECT * FROM "GroupMst"';
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
if Length(Trim(nameStr)) > 0 then sql := sql + ' AND "Name"=' + xAddSqlMark(nameStr);
sql := sql + ' ORDER BY "Name"';
try
AQuery.Close;
AQuery.SQL.Text := sql;
AQuery.Open;
except
on E: Exception do ShowMessage('xGetObjsGroupMstInfo <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
end;
Result := LoadFromQuery(AQuery);
end;
class function TGroupMst.xGetStrsDistinctGroupName(AQuery: TFDQuery): TStrings;
var
sql, column: string;
begin
Result := nil;
sql := 'SELECT DISTINCT "Name" FROM "GroupMst"';
sql := sql + ' WHERE "IsValid"=' + xAddSqlMark('t');
try
AQuery.Close;
AQuery.SQL.Text := sql;
AQuery.Open;
except
on E: Exception do ShowMessage('xGetStrsDistinctGroupName <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: ' + E.Message);
end;
column := 'Name';
Result := LoadFromStringsQuery(AQuery, column);
end;
end.