Prvni verze
This commit is contained in:
3
_custom/EMPolar/customDefs.inc
Normal file
3
_custom/EMPolar/customDefs.inc
Normal file
@ -0,0 +1,3 @@
|
||||
,uHeOObj_Custom in '_custom\EMPolar\uHeOObj_Custom.pas'
|
||||
,uCtrlCustom in '_custom\EMPolar\uCtrlCustom.pas'
|
||||
,uSvcCustom in '_custom\EMPolar\uSvcCustom.pas'
|
||||
246
_custom/EMPolar/uCtrlCustom.pas
Normal file
246
_custom/EMPolar/uCtrlCustom.pas
Normal file
@ -0,0 +1,246 @@
|
||||
unit uCtrlCustom;
|
||||
|
||||
interface
|
||||
{$I 'GlobalDefs.inc'}
|
||||
|
||||
uses
|
||||
MVCframework,
|
||||
MVCframework.Commons,
|
||||
MVCframework.Serializer.Commons,
|
||||
// MVCframework.Serializer.Intf,
|
||||
System.Generics.Collections, // kvuli TDictionary
|
||||
System.RegularExpressions,
|
||||
// JsonDataObjects,
|
||||
uCommons, // kvuli EServiceException
|
||||
uCtrlBase,
|
||||
// uSvc_Base,
|
||||
helTabsBIDs,
|
||||
uHeoObj_Base,
|
||||
uHeOObj_Custom,
|
||||
uSvcCustom,
|
||||
uSvc_Obecne,
|
||||
MVCFramework.Swagger.Commons; // kvuli dokumentaci
|
||||
|
||||
const
|
||||
{$I .\..\..\globalConsts.inc}
|
||||
|
||||
|
||||
type
|
||||
|
||||
[MVCPath('/emp/nadoba')]
|
||||
TEMPNadobaController = class(TBaseController)
|
||||
public
|
||||
|
||||
[MVCPath('')]
|
||||
[MVCSwagSummary('EMP - vyr<79>b<EFBFBD>n<EFBFBD> n<>doby', 'Vr<56>t<EFBFBD> seznam n<>dob', 'EMPNadobaGetByCislo')]
|
||||
[MVCHTTPMethod([httpGET])]
|
||||
[MVCSwagParam(plQuery, 'cislo', '<27><>slo n<>doby', ptString, false, '1')]
|
||||
procedure GetByCislo ([MVCFromQueryString('cislo', '')] cislo: string
|
||||
);
|
||||
|
||||
[MVCPath('/meta')]
|
||||
[MVCHTTPMethod([httpGET])]
|
||||
[MVCSwagSummary('EMP - vyr<79>b<EFBFBD>n<EFBFBD> n<>doby', 'Meta informace seznamu n<>dob', 'EMPNadobaGetMeta')]
|
||||
procedure GetMeta;
|
||||
|
||||
[MVCPath('/($id)')]
|
||||
[MVCHTTPMethod([httpGET])]
|
||||
[MVCSwagSummary('EMP - vyr<79>b<EFBFBD>n<EFBFBD> n<>doby', 'Vr<56>t<EFBFBD> <20>daje n<>doby dle jej<65>ho ID', 'EMPNadobaGetByID')]
|
||||
[MVCSwagParam(plPath, 'id', 'ID n<>doby', ptString, true)]
|
||||
[MVCProduces('application/json')]
|
||||
procedure GetByID (id: string);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
[MVCPath('/emp/atest')]
|
||||
TEMPDokumentAtestController = class(TBaseController)
|
||||
private
|
||||
FDokumService: TDokumentService;
|
||||
public
|
||||
constructor Create; override;
|
||||
destructor Destroy; override;
|
||||
|
||||
[MVCPath('/meta')]
|
||||
[MVCHTTPMethod([httpGET])]
|
||||
[MVCSwagSummary('EMP - dokumenty atest<73>', 'Meta informace dokumentu atestu', 'EMPDokumAtestGetMeta')]
|
||||
procedure GetMeta;
|
||||
|
||||
[MVCPath('/($id)')]
|
||||
[MVCHTTPMethod([httpGET])]
|
||||
[MVCSwagSummary('EMP - dokumenty atest<73>', 'Vr<56>t<EFBFBD> <20>daje dokumentu atestu dle jeho ID', 'EMPDokumAtestGetByID')]
|
||||
[MVCSwagParam(plPath, 'id', 'ID dokumentu atestu', ptString, true)]
|
||||
[MVCProduces('application/json')]
|
||||
procedure GetByID (id: string);
|
||||
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
uses
|
||||
System.SysUtils,
|
||||
FireDAC.Stan.Option,
|
||||
FireDAC.Comp.Client,
|
||||
FireDAC.Stan.Param,
|
||||
MVCFramework.FireDAC.Utils,
|
||||
MVCFramework.DataSet.Utils,
|
||||
uDataMod;
|
||||
|
||||
|
||||
{ TEMPNadobaController }
|
||||
|
||||
procedure TEMPNadobaController.GetByCislo (cislo: string);
|
||||
begin
|
||||
cislo:= sanitizeSQLString (cislo);
|
||||
|
||||
try
|
||||
if (cislo<>'') then
|
||||
Render(ObjectDict().Add('data', GetEMPNadobaService.GetByCislo (cislo)))
|
||||
else
|
||||
Render(ObjectDict().Add('data', GetEMPNadobaService.GetAll));
|
||||
except
|
||||
// RenderStatusMessage (200);
|
||||
{
|
||||
on E: EServiceException do
|
||||
begin
|
||||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||||
end
|
||||
}
|
||||
on E:Exception do
|
||||
begin
|
||||
Writeln(E.Message);
|
||||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||||
end;
|
||||
// RenderStatusMessage (200); // raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TEMPNadobaController.GetByID (id: string);
|
||||
var iId: integer;
|
||||
begin
|
||||
id:= sanitizeSQLString (id);
|
||||
if not(TryStrToInt(id, iId)) then
|
||||
iId:= 0;
|
||||
|
||||
try
|
||||
Render(ObjectDict().Add('data', GetEMPNadobaService.GetByID (iId))); // viz uSvc_Custom1.pas
|
||||
except
|
||||
// RenderStatusMessage (200);
|
||||
{
|
||||
on E: EServiceException do
|
||||
begin
|
||||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||||
end
|
||||
}
|
||||
on E:Exception do
|
||||
begin
|
||||
Writeln(E.Message);
|
||||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||||
end;
|
||||
// RenderStatusMessage (200); // raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TEMPNadobaController.GetMeta;
|
||||
begin
|
||||
try
|
||||
Render(ObjectDict().Add('data', GetEMPNadobaService.GetMeta));
|
||||
except
|
||||
// RenderStatusMessage (200);
|
||||
{
|
||||
on E: EServiceException do
|
||||
begin
|
||||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||||
end
|
||||
}
|
||||
on E:Exception do
|
||||
begin
|
||||
Writeln(E.Message);
|
||||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||||
end;
|
||||
// RenderStatusMessage (200); // raise;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{ TEMPDokumentAtestController }
|
||||
|
||||
constructor TEMPDokumentAtestController.Create;
|
||||
begin
|
||||
inherited;
|
||||
FDokumService:= GetDokumentService;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
destructor TEMPDokumentAtestController.Destroy;
|
||||
begin
|
||||
if (FDokumService<>nil) then
|
||||
FreeAndNil (FDokumService);
|
||||
inherited;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TEMPDokumentAtestController.GetMeta;
|
||||
begin
|
||||
try
|
||||
Render(ObjectDict().Add('data', GetDokumentService.GetMeta));
|
||||
except
|
||||
{$IFDEF NORENDER400}
|
||||
RenderStatusMessage (200);
|
||||
{$ELSE}
|
||||
on E: EServiceException do
|
||||
begin
|
||||
raise EMVCException.Create(E.Message, '', 0, 404);
|
||||
end
|
||||
else
|
||||
raise;
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TEMPDokumentAtestController.GetByID (id: string);
|
||||
var iId: integer;
|
||||
p: TDictionary<string, string>;
|
||||
begin
|
||||
id:= sanitizeSQLString (id);
|
||||
if not(TryStrToInt(id, iId)) then
|
||||
iId:= 0;
|
||||
|
||||
p:= TDictionary<string, string>.Create;
|
||||
|
||||
try
|
||||
Render(ObjectDict().Add('data', GetDokumentService.GetByID (iId, true))) // viz uSvc_Custom1.pas
|
||||
except
|
||||
{$IFDEF NORENDER400}
|
||||
RenderStatusMessage (200);
|
||||
{$ELSE}
|
||||
on E: EServiceException do
|
||||
begin
|
||||
raise EMVCException.Create(E.Message, '', 0, 404);
|
||||
end
|
||||
else
|
||||
raise;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
p.Free;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
112
_custom/EMPolar/uHeOObj_Custom.pas
Normal file
112
_custom/EMPolar/uHeOObj_Custom.pas
Normal file
@ -0,0 +1,112 @@
|
||||
unit uHeOObj_Custom;
|
||||
{$RTTI EXPLICIT METHODS([vcPublic, vcPublished]) FIELDS([vcPrivate, vcProtected, vcPublic, vcPublished]) PROPERTIES([vcPublic, vcPublished])}
|
||||
|
||||
|
||||
interface
|
||||
{$I 'GlobalDefs.inc'}
|
||||
|
||||
uses
|
||||
System.Generics.Collections,
|
||||
MVCFramework.Serializer.Commons,
|
||||
MVCFramework.ActiveRecord,
|
||||
MVCFramework.Nullables,
|
||||
{$IFDEF SWAGGER}
|
||||
MVCFramework.Swagger.Commons,
|
||||
{$ENDIF}
|
||||
helTabsBIDs,
|
||||
uHeoObj_Base;
|
||||
|
||||
|
||||
|
||||
type
|
||||
|
||||
[MVCNameCase(ncLowerCase)]
|
||||
TEMPAtestDokument = class(TDokument)
|
||||
private
|
||||
FDokument: TDokument;
|
||||
public
|
||||
property Dokument: TDokument read FDokument write FDokument;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
[MVCNameCase(ncLowerCase)]
|
||||
TEMPNadoba = class(THeliosObjekty)
|
||||
private
|
||||
FCisloZakazky: string;
|
||||
FVyrobniCislo: string;
|
||||
FNazev: string;
|
||||
FDruhyNazev: string;
|
||||
FTypZakazky: string;
|
||||
FVykres: NullableString;
|
||||
FIDZakazky: integer;
|
||||
FPotvrzTermDod: NullableTDateTime;
|
||||
FCisloOrg: NullableInt32; // TabZakazka.Prijemce
|
||||
FNazevOrg: NullableString;
|
||||
public
|
||||
[MVCColumn('CisloZakazky', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'CisloZakazky', '<27><>slo zak<61>zky', true, false)] // required, nullable, minLength, maxLength, FieldSerializationType
|
||||
property CisloZakazky: string read FCisloZakazky write FCisloZakazky;
|
||||
|
||||
[MVCColumn('VyrobniCislo', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'VyrobniCislo', 'V<>robn<62> <20><>slo', false, false, 0, 100)] // required, nullable, minLength, maxLength, FieldSerializationType
|
||||
property VyrobniCislo: string read FVyrobniCislo write FVyrobniCislo;
|
||||
|
||||
[MVCColumn('IDZakazky', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'IDZakazky', 'ID zak<61>zky n<>doby', true, false)]
|
||||
property IDZakazky: integer read FIDZakazky write FIDZakazky;
|
||||
|
||||
[MVCColumn('TypZakazky', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'TypZakazky', 'Typ zak<61>zky (100-Objedn<64>vka, 101-n<>doba, 200-nev<65>robn<62>)', false, false)]
|
||||
property TypZakazky: string read FTypZakazky write FTypZakazky;
|
||||
|
||||
[MVCColumn('Vykres', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'Vykres', '<27><>slo v<>kresu', false, true, 0, 35)]
|
||||
property Vykres: NullableString read FVykres write FVykres;
|
||||
|
||||
[MVCColumn('Nazev', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'Nazev', 'N<>zev zak<61>zky', false, false, 0, 100)]
|
||||
property Nazev: string read FNazev write FNazev;
|
||||
|
||||
[MVCColumn('DruhyNazev', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'DruhyNazev', 'Druh<75> n<>zev zak<61>zky', false, false, 0, 100)]
|
||||
property DruhyNazev: string read FDruhyNazev write FDruhyNazev;
|
||||
|
||||
[MVCColumn('PotvrzTermDod', false)]
|
||||
[MVCSwagJsonSchemaField(stDateTime, 'PotvrzTermDod', 'Potvrzen<65> term<72>n dod<6F>vky', false, false, 0, 100)]
|
||||
property PotvrzTermDod: NullableTDateTime read FPotvrzTermDod write FPotvrzTermDod;
|
||||
|
||||
[MVCColumn('CisloOrg', false)]
|
||||
[MVCSwagJsonSchemaField(stInteger, 'CisloOrg', '<27><>slo organizace p<><70>jemce (ze zak<61>zky)', false, true)]
|
||||
property CisloOrg: NullableInt32 read FCisloOrg write FCisloOrg;
|
||||
|
||||
[MVCColumn('NazevOrg', false)]
|
||||
[MVCSwagJsonSchemaField(stString, 'NazevOrg', 'N<>zev organizace p<><70>jemce (ze zak<61>zky)', false, true, 0, 100)]
|
||||
property NazevOrg: NullableString read FNazevOrg write FNazevOrg;
|
||||
|
||||
{
|
||||
[MVCColumn('GUIDDokladu', false)]
|
||||
[MVCSwagJsonSchemaField(stGuid, 'GUIDDokladu', 'GUID dokladu', false, true)]
|
||||
property GUIDDokladu: NullableTGUID read FGUIDDokladu write FGUIDDokladu;
|
||||
|
||||
[MapperListOf(TGatemaSDScanData)]
|
||||
property ScanData: TObjectList<TGatemaSDScanData> read FScanData write SetSDScanData;
|
||||
}
|
||||
end;
|
||||
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
System.SysUtils,
|
||||
System.StrUtils,
|
||||
System.RegularExpressions,
|
||||
uSvc_Obecne,
|
||||
uCtrlBase
|
||||
;
|
||||
|
||||
|
||||
|
||||
end.
|
||||
242
_custom/EMPolar/uSvcCustom.pas
Normal file
242
_custom/EMPolar/uSvcCustom.pas
Normal file
@ -0,0 +1,242 @@
|
||||
unit uSvcCustom;
|
||||
|
||||
interface
|
||||
{$I 'GlobalDefs.inc'}
|
||||
|
||||
uses
|
||||
System.Classes,
|
||||
System.JSON,
|
||||
System.Generics.Collections,
|
||||
Winapi.ActiveX,
|
||||
System.DateUtils,
|
||||
System.SysUtils,
|
||||
JsonDataObjects,
|
||||
uSvc_Base,
|
||||
uCommons, // kvuli EServiceException
|
||||
helTabsBIDs,
|
||||
uHeoObj_Base,
|
||||
uHeOObj_Custom,
|
||||
uHeoObj_Vyroba,
|
||||
uSvc_Obecne,
|
||||
uSvc_ObehZbozi,
|
||||
uSvc_Vyroba;
|
||||
|
||||
|
||||
const
|
||||
//{$I C:\_zakaznici\pluginy_obecne\HDCApi2\globalConsts.inc}
|
||||
{$I .\..\..\globalConsts.inc}
|
||||
|
||||
selSloupce = 'SELECT TypZakazky, CisloZakazky, NazevOrg, CisloOrg, VyrobniCislo, NazevPol, idPolozkaObj, PotvrzenyTerminDod, NadrazeneCisloZakazky, Vykres, Stav'
|
||||
+ ', ID AS IDZakazky, Nazev, DruhyNazev, DatPorizeni_Y FROM dbo.hvw_ADE_VIEW_ZAKAZKA ORDER BY CisloZakazky';
|
||||
|
||||
selEMPAtestDok = 'SELECT d.ID, d.Popis, d.JmenoACesta, ISNULL(de_CisloAtestu, N'''') AS CisloAtestu, ISNULL(de._AtestyPoznamka, N'''') AS AtestPoznamka'
|
||||
+ ', d.DatPorizeni FROM ' + tblDokum + ' d LEFT JOIN ' + tblDokumE + ' de ON (de.ID=d.ID)';
|
||||
|
||||
type
|
||||
TEMPNadobaService = class(TServiceBase)
|
||||
public
|
||||
function GetAll: TObjectList<TEMPNadoba>;
|
||||
function GetByID (const AID: integer): TEMPNadoba;
|
||||
function GetByCislo (const ACislo: string): TEMPNadoba;
|
||||
function GetMeta: TJSONObject;
|
||||
function GetByParams (params: TDictionary<string, string>): TObjectList<TEMPNadoba>;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
implementation
|
||||
uses
|
||||
System.StrUtils,
|
||||
FireDAC.Stan.Option,
|
||||
FireDAC.Comp.Client,
|
||||
FireDAC.Stan.Param,
|
||||
MVCFramework.FireDAC.Utils,
|
||||
MVCFramework.DataSet.Utils,
|
||||
MVCFramework.Serializer.Commons,
|
||||
uCtrlBase
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
{ TEMPNadobaService }
|
||||
|
||||
function TEMPNadobaService.GetByParams (params: TDictionary<string, string>): TObjectList<TEMPNadoba>;
|
||||
var lSQL, where, ordBy: string;
|
||||
AID, cnt, rNo: integer;
|
||||
retObj: TEMPNadoba;
|
||||
lsRetObj: TObjectList<TEMPNadoba>;
|
||||
lQry: TFDQuery;
|
||||
sqlConnX: TFDConnection;
|
||||
begin
|
||||
result:= nil;
|
||||
|
||||
ordBy:= 'VyrobniCislo';
|
||||
|
||||
if (params<>nil) then
|
||||
begin
|
||||
if (params.ContainsKey('ordBy')) then
|
||||
if (params.Items['ordBy']<>'') then
|
||||
ordBy:= params.Items['ordBy'];
|
||||
end;
|
||||
|
||||
lSQL:= 'SELECT ' + selSloupce;
|
||||
lSQL:= lSQL + ' ORDER BY ' + ordBy;
|
||||
|
||||
|
||||
sqlConnX:= TFDConnection.Create(nil);
|
||||
sqlConnX.ConnectionDefName:= sqlPoolName;
|
||||
|
||||
lQry:= TFDQuery.Create(nil);
|
||||
try
|
||||
lQry.FetchOptions.Mode:= fmAll;
|
||||
lQry.Connection:= sqlConnX;
|
||||
lQry.Open(lSQL);
|
||||
cnt:= lQry.RecordCount;
|
||||
if (cnt>0) then
|
||||
begin
|
||||
lsRetObj:= TObjectList<TEMPNadoba>.Create;
|
||||
try
|
||||
lQry.First;
|
||||
rNo:= 1;
|
||||
while (rNo<=cnt) do
|
||||
begin
|
||||
lQry.RecNo:= rNo;
|
||||
AID:= lQry.FieldByName('ID').AsInteger;
|
||||
retObj:= self.GetByID (AID);
|
||||
lsRetObj.Add(retObj);
|
||||
if not(lQry.Active) then
|
||||
lQry.Open;
|
||||
Inc (rNo);
|
||||
end;
|
||||
Result:= lsRetObj;
|
||||
except on E:Exception do
|
||||
raise EServiceException.Create('Chyba nacitani nadob: ' + E.Message);
|
||||
end;
|
||||
end;
|
||||
except on E:Exception do
|
||||
raise EServiceException.Create(errMaterialy + E.Message);
|
||||
end;
|
||||
|
||||
lQry.Free;
|
||||
sqlConnX.Close;
|
||||
sqlConnX.Free;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
function TEMPNadobaService.GetAll:TObjectList<TEMPNadoba>;
|
||||
var lSQL: string;
|
||||
begin
|
||||
lSQL:= selSloupce + ' ORDER BY VyrobniCislo';
|
||||
FDM.sqlQry1.Open(lSQL, []);
|
||||
result:= FDM.sqlQry1.AsObjectList<TEMPNadoba>;
|
||||
FDM.sqlQry1.Close;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
function TEMPNadobaService.GetByID (const AID: Integer): TEMPNadoba;
|
||||
var lSQL: string;
|
||||
lQry: TFDQuery;
|
||||
sqlConnX: TFDConnection;
|
||||
begin
|
||||
lSQL:= selSloupce + ' WHERE ID=:ID';
|
||||
|
||||
sqlConnX:= TFDConnection.Create(nil);
|
||||
sqlConnX.ConnectionDefName:= sqlPoolName;
|
||||
|
||||
lQry:= TFDQuery.Create(nil);
|
||||
try
|
||||
lQry.FetchOptions.Mode:= fmAll;
|
||||
lQry.Connection:= sqlConnX;
|
||||
lQry.Open(lSQL, [AID]);
|
||||
lQry.First;
|
||||
try
|
||||
if not(lQry.EOF) then
|
||||
begin
|
||||
result:= FDM.sqlQry1.AsObject<TEMPNadoba>
|
||||
end
|
||||
else
|
||||
raise EServiceException.Create('N<>doba s ID ' + AID.ToString + ' nebyla nalezena.');
|
||||
except on E:Exception do
|
||||
raise EServiceException.Create('N<>doba s ID ' + AID.ToString + ' nebyla nalezena - ' + E.Message);
|
||||
end;
|
||||
finally
|
||||
lQry.Free;
|
||||
end;
|
||||
|
||||
sqlConnX.Close;
|
||||
sqlConnX.Free;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
function TEMPNadobaService.GetByCislo (const ACislo: string): TEMPNadoba;
|
||||
var lSQL: string;
|
||||
lQry: TFDQuery;
|
||||
sqlConnX: TFDConnection;
|
||||
begin
|
||||
lSQL:= selSloupce + ' WHERE VyrobniCislo=:ACislo';
|
||||
|
||||
sqlConnX:= TFDConnection.Create(nil);
|
||||
sqlConnX.ConnectionDefName:= sqlPoolName;
|
||||
|
||||
lQry:= TFDQuery.Create(nil);
|
||||
try
|
||||
lQry.FetchOptions.Mode:= fmAll;
|
||||
lQry.Connection:= sqlConnX;
|
||||
lQry.Open(lSQL, [ACislo]);
|
||||
lQry.First;
|
||||
try
|
||||
if not(lQry.EOF) then
|
||||
begin
|
||||
result:= FDM.sqlQry1.AsObject<TEMPNadoba>
|
||||
end
|
||||
else
|
||||
raise EServiceException.Create('N<>doba s <20><>slem ' + ACislo + ' nebyla nalezena.');
|
||||
except on E:Exception do
|
||||
raise EServiceException.Create('N<>doba s <20><>slem ' + ACislo + ' nebyla nalezena - ' + E.Message);
|
||||
end;
|
||||
finally
|
||||
lQry.Free;
|
||||
end;
|
||||
|
||||
sqlConnX.Close;
|
||||
sqlConnX.Free;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
function TEMPNadobaService.GetMeta: TJSONObject;
|
||||
var lSQL: string;
|
||||
lQry: TFDQuery;
|
||||
sqlConnX: TFDConnection;
|
||||
begin
|
||||
lSQL:= selSloupce + ' WHERE 1=0';
|
||||
|
||||
sqlConnX:= TFDConnection.Create(nil);
|
||||
sqlConnX.ConnectionDefName:= sqlPoolName;
|
||||
|
||||
lQry:= TFDQuery.Create(nil);
|
||||
try
|
||||
lQry.FetchOptions.Mode:= fmAll;
|
||||
lQry.Connection:= sqlConnX;
|
||||
lQry.Open(lSQL);
|
||||
result:= lQry.MetadataAsJSONObject();
|
||||
finally
|
||||
lQry.Free;
|
||||
end;
|
||||
|
||||
sqlConnX.Close;
|
||||
sqlConnX.Free;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
3
_custom/EMPolar/uWebModCustom.inc
Normal file
3
_custom/EMPolar/uWebModCustom.inc
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
FEngine.AddController (TEMPNadobaController);
|
||||
FEngine.AddController (TEMPDokumentAtestController);
|
||||
BIN
_custom/EMPolar/zdroje.RES
Normal file
BIN
_custom/EMPolar/zdroje.RES
Normal file
Binary file not shown.
1
_custom/EMPolar/zdroje.rc
Normal file
1
_custom/EMPolar/zdroje.rc
Normal file
@ -0,0 +1 @@
|
||||
//ep_HDCDZApi_ZpracujPrijataData RCDATA .\sql\ep_HDCDZApi_ZpracujPrijataData.sql
|
||||
Reference in New Issue
Block a user