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

84 lines
2.2 KiB
ObjectPascal

unit SubOrder;
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
TSubOrder = class(TwItem)
private
{ Private declarations }
FOrdNum: AnsiString;
FOrdCode: AnsiString;
FQty: AnsiString;
FUnitt: AnsiString;
FUnitPrice: AnsiString;
FAmount: AnsiString;
protected
{ Protected declarations }
public
{ Public declarations }
class function xGetSubOrderLastNumber(AQuery: TFDQuery; column: string): string;
class function LoadFromStringsQuery(AQuery: TFDQuery; column: string): TStrings;
published
{ Published declarations }
property OrdNum: AnsiString read FOrdNum write FOrdNum;
property OrdCode: AnsiString read FOrdCode write FOrdCode;
property Qty: AnsiString read FQty write FQty;
property Unitt: AnsiString read FUnitt write FUnitt;
property UnitPrice: AnsiString read FUnitPrice write FUnitPrice;
property Amount: AnsiString read FAmount write FAmount;
end;
implementation
{ TSubOrder }
class function TSubOrder.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 TSubOrder.xGetSubOrderLastNumber(AQuery: TFDQuery;
column: string): string;
var
sql: string;
resStrs: TStrings;
begin
Result := '';
sql := 'SELECT COUNT(*) FROM "SubOrder"';
try
AQuery.Close;
AQuery.SQL.Text := sql;
AQuery.Open;
except
on E: Exception do ShowMessage('xGetSubOrderLastNumber Äõ¸® ½ÇÇà ¿À·ù: ' + E.Message);
end;
resStrs := LoadFromStringsQuery(AQuery, column);
if resStrs.Count > 0 then begin
Result := resStrs.Strings[0];
end;
resStrs.Free;
end;
end.