SmartFactory_NEOL/SOURCE/Agent,Kiosk/Lib/base_20251105_old/PartItemMst.pas
2026-09-04 14:08:41 +09:00

126 lines
3.6 KiB
ObjectPascal
Raw Permalink Blame History

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