1089 lines
35 KiB
ObjectPascal
1089 lines
35 KiB
ObjectPascal
unit uCtrlCustom;
|
||
|
||
interface
|
||
|
||
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,
|
||
MVCFramework.Swagger.Commons; // kvuli dokumentaci
|
||
|
||
const
|
||
{$I .\..\..\globalConsts.inc}
|
||
|
||
type
|
||
[MVCPath('/rootvin')]
|
||
TRTNController = class(TBaseController)
|
||
strict private
|
||
FSelfSvc: TRTNService;
|
||
strict protected
|
||
function GetRTNService: TRTNService;
|
||
public
|
||
destructor Destroy; override;
|
||
|
||
// [MVCDoc('Pomoci POST zapise obecna json data do Heliosu')]
|
||
[MVCPath('/zapisjson')] // zapis obecnych json data do Heliosu
|
||
[MVCHTTPMethod([httpPOST])]
|
||
[MVCSwagSummary('Rootvin', 'Zapis JSON dat do db Heliosu', 'RTNZapisJSONDoHeliosu')]
|
||
[MVCConsumes(TMVCMediaType.APPLICATION_JSON)]
|
||
procedure ZapisJSONDoHeliosu (CTX: TWebContext);
|
||
|
||
// [MVCDoc('Pomoci GET vraci json data z Heliosu')]
|
||
[MVCPath('/nactijson')] // vrati JSON data podle pozadovaneho typu (json req)
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCProduces(TMVCMediaType.APPLICATION_JSON)]
|
||
[MVCSwagSummary('Rootvin', 'Nacteni data ve formatu JSON z Heliosu (dle pøedaného požadavku)', 'RTNNactiJsonData')]
|
||
function NactiJSONDataZHeliosu (CTX: TWebContext): string;
|
||
|
||
// [MVCDoc('Pomoci GET vraci json data z Heliosu')]
|
||
[MVCPath('/prikazymichani')] // vrati JSON data podle pozadovaneho typu (json req)
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCProduces(TMVCMediaType.APPLICATION_JSON)]
|
||
[MVCSwagSummary('Rootvin', 'Vrati ID prikazu pro micharnu', 'RTNGetPrikazyProMicharnu')]
|
||
[MVCSwagParam(plQuery, 'idstroj', 'ID stroje pro které je tìsto mícháno', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'idpracoviste', 'ID pracovištì, filtr na pøíkazy, v jejichž operacích je dané pracovištì›', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumod', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumdo', 'Datum do ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'spustene', '1=jen spustene, tj. ty, co maji svou operaci v neukoncene evidenci operaci', ptString, false)]
|
||
procedure GetPrikazyProMicharnu ([MVCFromQueryString('idstroj', '')] sIdStroj: string='';
|
||
[MVCFromQueryString('idpracoviste', '')] sIdPracoviste: string='';
|
||
[MVCFromQueryString('datumod', '')] odDatum: string='';
|
||
[MVCFromQueryString('datumdo', '')] doDatum: string='';
|
||
[MVCFromQueryString('spustene', '0')] spustene: string=''
|
||
);
|
||
|
||
// [MVCDoc('Pomoci GET vraci json data z Heliosu')]
|
||
[MVCPath('/prikazyewb')] // vrati JSON data podle pozadovaneho typu (json req)
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCProduces(TMVCMediaType.APPLICATION_JSON)]
|
||
[MVCSwagSummary('Rootvin', 'Vrati ID prikazu pro stroj EWB', 'RTNGetPrikazyProEWB')]
|
||
[MVCSwagParam(plQuery, 'idstroj', 'ID stroje', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'idpracoviste', 'ID pracovištì, filtr na pøíkazy, v jejichž operacích je dané pracovištì›', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumod', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumdo', 'Datum do ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'spustene', '1=jen spustene, tj. ty, co maji svou operaci v neukoncene evidenci operaci', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'material', '0=bez materialu (default) / 1=vcetne materialu pro operace maceni', ptString, false)]
|
||
procedure GetPrikazyProEWB ([MVCFromQueryString('idstroj', '')] sIdStroj: string='';
|
||
[MVCFromQueryString('idpracoviste', '')] sIdPracoviste: string='';
|
||
[MVCFromQueryString('material', '0')] material: string='';
|
||
[MVCFromQueryString('datumod', '')] odDatum: string='';
|
||
[MVCFromQueryString('datumdo', '')] doDatum: string='';
|
||
[MVCFromQueryString('spustene', '0')] spustene: string=''
|
||
);
|
||
|
||
// [MVCDoc('Pomoci GET vraci json data z Heliosu')]
|
||
[MVCPath('/prikazymaceni')] // vrati JSON data podle pozadovaneho typu (json req)
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCProduces(TMVCMediaType.APPLICATION_JSON)]
|
||
[MVCSwagSummary('Rootvin', 'Vrátí ID pøíkazù pro máèírnu', 'RTNGetPrikazyProMacirnu')]
|
||
// [MVCSwagParam(plQuery, 'typprikazu', 'Typy pøíkazu (2=máÄ<C2A1>Ãrna)', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'idstroj', 'ID stroje pro které je tìsto mícháno', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'idpracoviste', 'ID pracovištì, filtr na pøíkazy, v jejichž operacích je dané pracovištì›', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'operace', '0=bez operaci (default) / 1=vcetne operaci', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'material', '0=bez materialu (default) / 1=vcetne materialu pro operace maceni', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumod', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumdo', 'Datum do ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'spustene', '1=jen spustene, tj. ty, co maji svou operaci v neukoncene evidenci operaci', ptString, false)]
|
||
procedure GetPrikazyProMacirnu ([MVCFromQueryString('idstroj', '')] sIdStroj: string='';
|
||
[MVCFromQueryString('idpracoviste', '')] sIdPracoviste: string='';
|
||
[MVCFromQueryString('operace', '0')] operace: string='';
|
||
[MVCFromQueryString('material', '0')] material: string='';
|
||
[MVCFromQueryString('datumod', '')] odDatum: string='';
|
||
[MVCFromQueryString('datumdo', '')] doDatum: string='';
|
||
[MVCFromQueryString('spustene', '0')] spustene: string=''
|
||
);
|
||
|
||
// [MVCDoc('Pomoci GET vraci json data z Heliosu')]
|
||
[MVCPath('/prikazybaleni')] // vrati JSON data podle pozadovaneho typu (json req)
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCProduces(TMVCMediaType.APPLICATION_JSON)]
|
||
[MVCSwagSummary('Rootvin', 'Vrátí ID pøíkazù pro balení', 'RTNGetPrikazyProBaleni')]
|
||
[MVCSwagParam(plQuery, 'typprikazu', 'Typy pøíkazu (3=balení)', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'idstroj', 'ID stroje', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'operace', '0=bez operaci (default) / 1=vcetne operaci', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'material', '0=bez materialu (default) / 1=vcetne materialu pro operace baleni', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'idpracoviste', 'ID pracovištì filtr na pøíkazy, v jejichž operacích je dané pracovištì›', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumod', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumdo', 'Datum do ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'spustene', '1=jen spustene, tj. ty, co maji svou operaci v neukoncene evidenci operaci', ptString, false)]
|
||
procedure GetPrikazyProBaleni ([MVCFromQueryString('idstroj', '')] sIdStroj: string='';
|
||
[MVCFromQueryString('idpracoviste', '')] sIdPracoviste: string='';
|
||
[MVCFromQueryString('operace', '0')] operace: string='';
|
||
[MVCFromQueryString('material', '0')] material: string='';
|
||
[MVCFromQueryString('datumod', '')] odDatum: string='';
|
||
[MVCFromQueryString('datumdo', '')] doDatum: string='';
|
||
[MVCFromQueryString('spustene', '0')] spustene: string=''
|
||
);
|
||
|
||
[MVCPath('/prikazybalicka')] // vrati JSON data podle pozadovaneho typu (json req)
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCProduces(TMVCMediaType.APPLICATION_JSON)]
|
||
[MVCSwagSummary('Rootvin', 'Vrátí ID pøíkazù pro balièku BAL-xx', 'RTNGetPrikazyProBalicku')]
|
||
[MVCSwagParam(plQuery, 'idstroj', 'ID stroje', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'operace', '0=bez operaci (default) / 1=vcetne operaci', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'material', '0=bez materialu (default) / 1=vcetne materialu pro operace baleni', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumod', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumdo', 'Datum do ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'spustene', '1=jen spustene, tj. ty, co maji svou operaci v neukoncene evidenci operaci', ptString, false)]
|
||
procedure GetPrikazyProBalicku ([MVCFromQueryString('idstroj', '')] sIdStroj: string='';
|
||
[MVCFromQueryString('operace', '0')] operace: string='';
|
||
[MVCFromQueryString('material', '0')] material: string='';
|
||
[MVCFromQueryString('datumod', '')] odDatum: string='';
|
||
[MVCFromQueryString('datumdo', '')] doDatum: string='';
|
||
[MVCFromQueryString('spustene', '0')] spustene: string=''
|
||
);
|
||
|
||
|
||
// [MVCDoc('Pomoci GET vraci json data z Heliosu')]
|
||
[MVCPath('/prikazy')] // vrati JSON data podle pozadovaneho typu (json req)
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCProduces(TMVCMediaType.APPLICATION_JSON)]
|
||
[MVCSwagSummary('Rootvin', 'Vrátí ID pøíkazù podle druhu', 'RTNGetPrikazyProMacirnu')]
|
||
[MVCSwagParam(plQuery, 'typprikazu', 'Typy pøíkazu (0=obecné / 1=míchárna / 2=máèírna)', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'idstroj', 'ID stroje', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'idpracoviste', 'ID pracovištì, filtr na pøíkazy, v jejichž operacích je dané pracovištì›', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumod', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'datumdo', 'Datum do ve formátu RRRRMMDD', ptString, false)]
|
||
procedure GetPrikazy ([MVCFromQueryString('idstroj', '')] sIdStroj: string='';
|
||
[MVCFromQueryString('idpracoviste', '')] sIdPracoviste: string='';
|
||
[MVCFromQueryString('typprikazu', '0')] sTypPrikazu: string='';
|
||
[MVCFromQueryString('datumod', '')] odDatum: string='';
|
||
[MVCFromQueryString('datumdo', '')] doDatum: string=''
|
||
);
|
||
end;
|
||
|
||
|
||
|
||
|
||
[MVCPath('/sdserver/doklad')]
|
||
TGatemaSDDokladController = class(TBaseController)
|
||
strict private
|
||
FSelfSvc: TGatemaSDDokladService;
|
||
strict protected
|
||
function GetGatemaSDDokladService: TGatemaSDDokladService;
|
||
public
|
||
destructor Destroy; override;
|
||
|
||
[MVCPath]
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCSwagSummary('GatemaSD doklad', 'Vracà hlaviÄ<69>ku dokladů SD Serveru', 'GatemaSDDokladyGetAll')]
|
||
[MVCSwagParam(plQuery, 'od', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'seznam', '1=jen seznam se základnÃmi údaji', ptString, false)]
|
||
procedure GetAll ([MVCFromQueryString('od', '')] odDatum: string='';
|
||
[MVCFromQueryString('seznam', '')] jenSeznam: string='0'
|
||
);
|
||
|
||
[MVCPath('/meta')]
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCSwagSummary('GatemaSD doklad', 'Vrací metadata dokladu SD Serveru', 'GatemaSDDokladyGetMeta')]
|
||
procedure GetMeta;
|
||
|
||
[MVCPath('/($id)')]
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCSwagSummary('GatemaSD doklad', 'Vrací data dokladu SD Serveru', 'GatemaSDDokladyGetByID')]
|
||
[MVCSwagParam(plPath, 'id', 'ID dokladu', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'typdokl', 'Typ dokladu', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'druhpohybu', 'Druh pohybu', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'sklad', 'Sklad', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'format', 'Formát (1=dokladOZ)', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'od', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'do', 'Datum do ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'seznam', '1=jen seznam se základními údaji', ptString, false)]
|
||
[MVCSwagResponses(200, 'Success', TGatemaSDDoklad, true)]
|
||
procedure GetByID(id: string='';
|
||
[MVCFromQueryString('typdokl', '')] typDokl: string='';
|
||
[MVCFromQueryString('druhpohybu', '')] druhPohybu: string='';
|
||
[MVCFromQueryString('sklad', '')] sklad: string='';
|
||
[MVCFromQueryString('format', '')] formatX: string='';
|
||
[MVCFromQueryString('od', '')] odDatum: string='';
|
||
[MVCFromQueryString('do', '')] doDatum: string='';
|
||
[MVCFromQueryString('seznam', '')] jenSeznam: string='0'
|
||
);
|
||
|
||
end;
|
||
|
||
|
||
|
||
[MVCPath('/sdserver/dokladoz')]
|
||
TGatemaSDDokladOZController = class(TBaseController)
|
||
strict private
|
||
FSelfSvc: TSDGDokladOZService;
|
||
strict protected
|
||
function GetSDGDokladOZService: TSDGDokladOZService;
|
||
public
|
||
destructor Destroy; override;
|
||
|
||
[MVCPath]
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCSwagSummary('GatemaSD doklad OZ', 'Vrací hlavièku dokladù OZ s vazbou na SD Server', 'GatemaSDDokladyOZGetAll')]
|
||
[MVCSwagParam(plQuery, 'od', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'seznam', '1=jen seznam se základními údaji', ptString, false)]
|
||
procedure GetAll([MVCFromQueryString('od', '')] odDatum: string='';
|
||
[MVCFromQueryString('seznam', '')] jenSeznam: string='0'
|
||
);
|
||
|
||
[MVCPath('/meta')]
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCSwagSummary('GatemaSD doklad OZ', 'Vrací metadata', 'GatemaSDDokladyOZGetMeta')]
|
||
procedure GetMeta;
|
||
|
||
[MVCPath('/($id)')]
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCSwagSummary('GatemaSD doklad OZ', 'Vrací data dokladu OZ s vazbou na SD Server', 'GatemaSDDokladyOZGetByID')]
|
||
[MVCSwagParam(plPath, 'id', 'ID dokladu', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'typdokl', 'Typ dokladu', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'druhpohybu', 'Druh pohybu', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'sklad', 'Sklad', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'format', 'Formát (1=dokladOZ)', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'od', 'Datum od ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'do', 'Datum do ve formátu RRRRMMDD', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'seznam', '1=jen seznam se základními údaji', ptString, false)]
|
||
[MVCSwagResponses(200, 'Success', TGatemaSDDoklad, true)]
|
||
procedure GetByID (id: string='';
|
||
[MVCFromQueryString('typdokl', '')] typDokl: string='';
|
||
[MVCFromQueryString('druhpohybu', '')] druhPohybu: string='';
|
||
[MVCFromQueryString('sklad', '')] sklad: string='';
|
||
[MVCFromQueryString('format', '')] formatX: string='';
|
||
[MVCFromQueryString('od', '')] odDatum: string='';
|
||
[MVCFromQueryString('do', '')] doDatum: string='';
|
||
[MVCFromQueryString('seznam', '')] jenSeznam: string='0'
|
||
);
|
||
|
||
end;
|
||
|
||
|
||
|
||
[MVCPath('/sdserver/scandata')]
|
||
TGatemaSDScanDataController = class(TBaseController)
|
||
strict private
|
||
FSelfSvc: TGatemaSDScanDataService;
|
||
strict protected
|
||
function GetGatemaSDScanDataService: TGatemaSDScanDataService;
|
||
public
|
||
destructor Destroy; override;
|
||
|
||
[MVCPath('/meta')]
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCSwagSummary('GatemaSD ScanData', 'Vrací metadata', 'GatemaSDScanDataGetMeta')]
|
||
procedure GetMeta;
|
||
|
||
[MVCPath('/($id)')]
|
||
[MVCHTTPMethod([httpGET])]
|
||
[MVCSwagSummary('GatemaSD ScanData', 'Vrací naskenovaná data', 'GatemaSDScanDataGetByID')]
|
||
[MVCSwagParam(plPath, 'id', 'ID scan data', ptString, false)]
|
||
[MVCSwagParam(plQuery, 'iddoklad', 'ID dokladu SD', ptString, false)]
|
||
[MVCSwagResponses(200, 'Success', TGatemaSDScanData, true)]
|
||
procedure GetByID(id: string='';
|
||
[MVCFromQueryString('iddoklad', '')] iddoklad: string=''
|
||
);
|
||
end;
|
||
|
||
|
||
|
||
|
||
implementation
|
||
uses
|
||
FireDAC.Stan.Option,
|
||
FireDAC.Comp.Client,
|
||
FireDAC.Stan.Param,
|
||
MVCFramework.FireDAC.Utils,
|
||
MVCFramework.DataSet.Utils,
|
||
System.StrUtils,
|
||
System.SysUtils,
|
||
System.JSON,
|
||
JsonDataObjects,
|
||
Winapi.ActiveX,
|
||
uDataMod,
|
||
Quick.Logger;
|
||
|
||
const
|
||
selSloupce = '';
|
||
|
||
|
||
|
||
{ TGatemaSDDokladOZController }
|
||
|
||
destructor TGatemaSDDokladOZController.Destroy;
|
||
begin
|
||
FSelfSvc.Free;
|
||
inherited;
|
||
end;
|
||
|
||
|
||
|
||
function TGatemaSDDokladOZController.GetSDGDokladOZService: TSDGDokladOZService;
|
||
begin
|
||
inherited;
|
||
if not Assigned(FSelfSvc) then
|
||
FSelfSvc:= TSDGDokladOZService.Create(datMod);
|
||
result:= FSelfSvc;
|
||
end;
|
||
|
||
|
||
|
||
procedure TGatemaSDDokladOZController.GetAll (odDatum: string=''; jenSeznam: string='0');
|
||
var params: TDictionary<string, string>;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
jenSeznam:= sanitizeSQLString(jenSeznam);
|
||
if (jenSeznam='1') then
|
||
params.Add('seznam', '1');
|
||
|
||
try
|
||
try
|
||
Render(ObjectDict().Add('data', GetSDGDokladOZService.GetByParams(params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
finally
|
||
params.Free;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TGatemaSDDokladOZController.GetByID (id: string=''; typDokl: string=''; druhPohybu: string=''; sklad: string=''; formatX: string=''; odDatum: string=''; doDatum: string='';
|
||
jenSeznam: string='0');
|
||
var iId: integer;
|
||
params: TDictionary<string, string>;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
|
||
iId:= 0;
|
||
id:= sanitizeSQLString(id);
|
||
if (id<>'') then
|
||
if not(TryStrToInt(id, iId)) then
|
||
iId:= 0;
|
||
if (iId>0) then
|
||
params.Add('id', iId.ToString);
|
||
|
||
typDokl:= sanitizeSQLString(sklad);
|
||
if (typDokl<>'') then
|
||
params.Add('typDokladu', typDokl);
|
||
|
||
druhPohybu:= sanitizeSQLString(sklad);
|
||
if (druhPohybu<>'') then
|
||
params.Add('druhPohybu', druhPohybu);
|
||
|
||
formatX:= sanitizeSQLString(formatX); // pro zobrazeni jako DokladOZ
|
||
if (formatX<>'') then
|
||
if (formatX='1') then
|
||
params.Add('format', formatX);
|
||
|
||
sklad:= sanitizeSQLString(sklad);
|
||
if (sklad<>'') then
|
||
params.Add('sklad', sklad);
|
||
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
doDatum:= sanitizeSQLString(doDatum);
|
||
if (doDatum<>'') then
|
||
params.Add('doDatum', doDatum);
|
||
|
||
jenSeznam:= sanitizeSQLString(jenSeznam);
|
||
if (jenSeznam='1') then
|
||
params.Add('seznam', '1');
|
||
|
||
try
|
||
try
|
||
Render(ObjectDict().Add('data', GetSDGDokladOZService.GetByParams(params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
finally
|
||
params.Free;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TGatemaSDDokladOZController.GetMeta;
|
||
begin
|
||
try
|
||
Render(ObjectDict().Add('data', GetSDGDokladOZService.GetMeta));
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
{ TGatemaSDDokladController }
|
||
|
||
destructor TGatemaSDDokladController.Destroy;
|
||
begin
|
||
FSelfSvc.Free;
|
||
inherited;
|
||
end;
|
||
|
||
|
||
function TGatemaSDDokladController.GetGatemaSDDokladService: TGatemaSDDokladService;
|
||
begin
|
||
inherited;
|
||
if not Assigned(FSelfSvc) then
|
||
FSelfSvc:= TGatemaSDDokladService.Create(datMod);
|
||
result:= FSelfSvc;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TGatemaSDDokladController.GetAll (odDatum: string=''; jenSeznam: string='0');
|
||
var params: TDictionary<string, string>;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
jenSeznam:= sanitizeSQLString(jenSeznam);
|
||
if (jenSeznam='1') then
|
||
params.Add('seznam', '1');
|
||
|
||
try
|
||
try
|
||
Render(ObjectDict().Add('data', GetGatemaSDDokladService.GetByParams(params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
finally
|
||
params.Free;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TGatemaSDDokladController.GetByID (id: string=''; typDokl: string=''; druhPohybu: string=''; sklad: string=''; formatX: string=''; odDatum: string=''; doDatum: string='';
|
||
jenSeznam: string='0');
|
||
var iId: integer;
|
||
params: TDictionary<string, string>;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
|
||
iId:= 0;
|
||
id:= sanitizeSQLString(id);
|
||
if (id<>'') then
|
||
if not(TryStrToInt(id, iId)) then
|
||
iId:= 0;
|
||
if (iId>0) then
|
||
params.Add('id', iId.ToString);
|
||
|
||
typDokl:= sanitizeSQLString(sklad);
|
||
if (typDokl<>'') then
|
||
params.Add('typDokladu', typDokl);
|
||
|
||
druhPohybu:= sanitizeSQLString(sklad);
|
||
if (druhPohybu<>'') then
|
||
params.Add('druhPohybu', druhPohybu);
|
||
|
||
formatX:= sanitizeSQLString(formatX); // pro zobrazeni jako DokladOZ
|
||
if (formatX<>'') then
|
||
if (formatX='1') then
|
||
params.Add('format', formatX);
|
||
|
||
sklad:= sanitizeSQLString(sklad);
|
||
if (sklad<>'') then
|
||
params.Add('sklad', sklad);
|
||
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
doDatum:= sanitizeSQLString(doDatum);
|
||
if (doDatum<>'') then
|
||
params.Add('doDatum', doDatum);
|
||
|
||
jenSeznam:= sanitizeSQLString(jenSeznam);
|
||
if (jenSeznam='1') then
|
||
params.Add('seznam', '1');
|
||
|
||
try
|
||
try
|
||
Render(ObjectDict().Add('data', GetGatemaSDDokladService.GetByParams(params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
finally
|
||
params.Free;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TGatemaSDDokladController.GetMeta;
|
||
begin
|
||
try
|
||
Render(ObjectDict().Add('data', GetGatemaSDDokladService.GetMeta));
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
|
||
{ TGatemaSDScanDataController }
|
||
|
||
destructor TGatemaSDScanDataController.Destroy;
|
||
begin
|
||
FSelfSvc.Free;
|
||
end;
|
||
|
||
function TGatemaSDScanDataController.GetGatemaSDScanDataService: TGatemaSDScanDataService;
|
||
begin
|
||
inherited Create;
|
||
if not Assigned(FSelfSvc) then
|
||
FSelfSvc:= TGatemaSDScanDataService.Create(datMod);
|
||
result:= FSelfSvc;
|
||
end;
|
||
|
||
|
||
|
||
procedure TGatemaSDScanDataController.GetByID (id: string=''; iddoklad: string='');
|
||
var iId: integer;
|
||
params: TDictionary<string, string>;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
|
||
iId:= 0;
|
||
id:= sanitizeSQLString(id);
|
||
if (id<>'') then
|
||
if not(TryStrToInt(id, iId)) then
|
||
iId:= 0;
|
||
if (iId>0) then
|
||
params.Add('id', iId.ToString);
|
||
|
||
try
|
||
Render(ObjectDict().Add('data', GetGatemaSDScanDataService.GetByParams(params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
procedure TGatemaSDScanDataController.GetMeta;
|
||
begin
|
||
try
|
||
Render(ObjectDict().Add('data', GetGatemaSDScanDataService.GetMeta));
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
{ TRTNController }
|
||
destructor TRTNController.Destroy;
|
||
begin
|
||
FSelfSvc.Free;
|
||
inherited;
|
||
end;
|
||
|
||
|
||
|
||
function TRTNController.GetRTNService: TRTNService;
|
||
begin
|
||
inherited;
|
||
if not Assigned(FSelfSvc) then
|
||
FSelfSvc:= TRTNService.Create (datMod);
|
||
result:= FSelfSvc;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TRTNController.ZapisJSONDoHeliosu (CTX: TWebContext);
|
||
var respData, jsonData: string;
|
||
// o: System.JSON.TJSONObject;
|
||
begin
|
||
respData:= '';
|
||
try
|
||
jsonData:= CTX.Request.Body.Trim;
|
||
if (jsonData<>'') then
|
||
GetRTNService.ZapisJsonDoHeliosu(jsonData, respData);
|
||
ResponseStatus(HTTP_STATUS.OK, 'OK');
|
||
Render(respData);
|
||
except
|
||
RenderStatusMessage (200);
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
function TRTNController.NactiJSONDataZHeliosu (CTX: TWebContext): string;
|
||
var respData, jsonData: string;
|
||
// o: System.JSON.TJSONObject;
|
||
begin
|
||
result:= '';
|
||
respData:= '';
|
||
try
|
||
jsonData:= CTX.Request.Body.Trim;
|
||
if (jsonData<>'') then
|
||
result:= GetRTNService.NactiDataZHeliosu (jsonData, respData);
|
||
ResponseStatus(HTTP_STATUS.OK, 'OK');
|
||
Render(respData);
|
||
except
|
||
RenderStatusMessage (200);
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
|
||
procedure TRTNController.GetPrikazyProEWB (sIdStroj: string = ''; sIDPracoviste: string=''; material: string=''; odDatum: string = ''; doDatum: string = '';
|
||
spustene: string='');
|
||
var params: TDictionary<string, string>;
|
||
idStroj: integer;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
|
||
sIdStroj:= sanitizeSQLString (sIdStroj);
|
||
idStroj:= 0;
|
||
if (sIdStroj<>'') then
|
||
if not(TryStrToInt (sIdStroj, idStroj)) then
|
||
idStroj:= 0;
|
||
if (idStroj>0) then
|
||
params.Add('idstroj', idStroj.ToString);
|
||
|
||
material:= sanitizeSQLString(material);
|
||
if (material='1') then
|
||
params.Add('material', material);
|
||
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
doDatum:= sanitizeSQLString(doDatum);
|
||
if (doDatum<>'') then
|
||
params.Add('doDatum', doDatum);
|
||
|
||
spustene:= sanitizeSQLString(spustene);
|
||
if (spustene='1') then
|
||
params.Add('spustene', '1');
|
||
|
||
|
||
params.Add('typ', '5');
|
||
|
||
try
|
||
Render(ObjectDict().Add('data', GetRTNService.GetPrikazy (params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TRTNController.GetPrikazyProMicharnu (sIdStroj: string = ''; sIDPracoviste: string=''; odDatum: string = ''; doDatum: string = ''; spustene: string='');
|
||
var params: TDictionary<string, string>;
|
||
idStroj: integer;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
|
||
sIdStroj:= sanitizeSQLString (sIdStroj);
|
||
idStroj:= 0;
|
||
if (sIdStroj<>'') then
|
||
if not(TryStrToInt (sIdStroj, idStroj)) then
|
||
idStroj:= 0;
|
||
if (idStroj>0) then
|
||
params.Add('idstroj', idStroj.ToString);
|
||
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
doDatum:= sanitizeSQLString(doDatum);
|
||
if (doDatum<>'') then
|
||
params.Add('doDatum', doDatum);
|
||
|
||
spustene:= sanitizeSQLString(spustene);
|
||
if (spustene='1') then
|
||
params.Add('spustene', '1');
|
||
|
||
|
||
params.Add('typ', '1');
|
||
|
||
try
|
||
Render(ObjectDict().Add('data', GetRTNService.GetPrikazy (params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TRTNController.GetPrikazyProMacirnu (sIdStroj: string = ''; sIDPracoviste: string=''; operace: string=''; material: string='';
|
||
odDatum: string = ''; doDatum: string = ''; spustene: string='');
|
||
var params: TDictionary<string, string>;
|
||
idStroj: integer;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
|
||
sIdStroj:= sanitizeSQLString (sIdStroj);
|
||
idStroj:= 0;
|
||
if (sIdStroj<>'') then
|
||
if not(TryStrToInt (sIdStroj, idStroj)) then
|
||
idStroj:= 0;
|
||
if (idStroj>0) then
|
||
params.Add('idstroj', idStroj.ToString);
|
||
|
||
operace:= sanitizeSQLString(operace);
|
||
if (operace='1') then
|
||
params.Add('operace', '1');
|
||
|
||
material:= sanitizeSQLString(material);
|
||
if (material='1') then
|
||
params.Add('material', '1');
|
||
|
||
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
doDatum:= sanitizeSQLString(doDatum);
|
||
if (doDatum<>'') then
|
||
params.Add('doDatum', doDatum);
|
||
|
||
spustene:= sanitizeSQLString(spustene);
|
||
if (spustene='1') then
|
||
params.Add('spustene', '1');
|
||
|
||
|
||
// params.Add('idpracovist', datMod.SQLIDsToString (tblCPrac, 'Nazev LIKE N''Z - Čoko%'' OR Nazev LIKE N''Z - Přep%'''));
|
||
// params.Add('idstroju', datMod.SQLIDsToString (tblCisStroj, 'Nazev LIKE N''Z - Čoko%'' OR Nazev LIKE N''Z - Přep%'''));
|
||
params.Add('typ', '2');
|
||
|
||
try
|
||
Render(ObjectDict().Add('data', GetRTNService.GetPrikazy (params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TRTNController.GetPrikazyProBalicku (sIdStroj: string = ''; operace: string=''; material: string='';
|
||
odDatum: string = ''; doDatum: string = ''; spustene: string='');
|
||
var params: TDictionary<string, string>;
|
||
idStroj: integer;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
sIdStroj:= sanitizeSQLString (sIdStroj);
|
||
idStroj:= 0;
|
||
if (sIdStroj<>'') then
|
||
if not(TryStrToInt (sIdStroj, idStroj)) then
|
||
idStroj:= 0;
|
||
if (idStroj>0) then
|
||
params.Add('idstroj', idStroj.ToString);
|
||
|
||
operace:= sanitizeSQLString(operace);
|
||
if (operace='1') then
|
||
params.Add('operace', '1');
|
||
|
||
material:= sanitizeSQLString(material);
|
||
if (material='1') then
|
||
params.Add('material', '1');
|
||
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
doDatum:= sanitizeSQLString(doDatum);
|
||
if (doDatum<>'') then
|
||
params.Add('doDatum', doDatum);
|
||
|
||
spustene:= sanitizeSQLString(spustene);
|
||
if (spustene='1') then
|
||
params.Add('spustene', '1');
|
||
|
||
|
||
// params.Add('idpracovist', datMod.SQLIDsToString (tblCPrac, 'Nazev LIKE N''Z - Čoko%'' OR Nazev LIKE N''Z - Přep%'''))
|
||
// params.Add('idstroju', datMod.SQLIDsToString (tblCisStroj, 'Nazev LIKE N''%BaliÄ<69>ka%'''));
|
||
params.Add('typ', '4');
|
||
|
||
try
|
||
Render(ObjectDict().Add('data', GetRTNService.GetPrikazy (params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
procedure TRTNController.GetPrikazyProBaleni (sIdStroj: string = ''; sIDPracoviste: string=''; operace: string=''; material: string='';
|
||
odDatum: string = ''; doDatum: string = ''; spustene: string='');
|
||
var params: TDictionary<string, string>;
|
||
idStroj: integer;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
|
||
sIdStroj:= sanitizeSQLString (sIdStroj);
|
||
idStroj:= 0;
|
||
if (sIdStroj<>'') then
|
||
if not(TryStrToInt (sIdStroj, idStroj)) then
|
||
idStroj:= 0;
|
||
if (idStroj>0) then
|
||
params.Add('idstroj', idStroj.ToString);
|
||
|
||
operace:= sanitizeSQLString(operace);
|
||
if (operace='1') then
|
||
params.Add('operace', '1');
|
||
|
||
material:= sanitizeSQLString(material);
|
||
if (material='1') then
|
||
params.Add('material', '1');
|
||
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
doDatum:= sanitizeSQLString(doDatum);
|
||
if (doDatum<>'') then
|
||
params.Add('doDatum', doDatum);
|
||
|
||
spustene:= sanitizeSQLString(spustene);
|
||
if (spustene='1') then
|
||
params.Add('spustene', '1');
|
||
|
||
|
||
// params.Add('idpracovist', datMod.SQLIDsToString (tblCPrac, 'Nazev LIKE N''Z - Čoko%'' OR Nazev LIKE N''Z - Přep%'''))
|
||
params.Add('idstroju', datMod.SQLIDsToString (tblCisStroj, 'Nazev LIKE N''%BAL%'''));
|
||
params.Add('typ', '3');
|
||
|
||
try
|
||
Render(ObjectDict().Add('data', GetRTNService.GetPrikazy (params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
procedure TRTNController.GetPrikazy (sIdStroj: string = ''; sIdPracoviste: string = ''; sTypPrikazu: string=''; odDatum: string = ''; doDatum: string = '');
|
||
var params: TDictionary<string, string>;
|
||
idStroj, idPracoviste, typVPr: integer;
|
||
begin
|
||
params:= TDictionary<string, string>.Create;
|
||
|
||
sIdStroj:= sanitizeSQLString (sIdStroj);
|
||
idStroj:= 0;
|
||
if (sIdStroj<>'') then
|
||
if not(TryStrToInt (sIdStroj, idStroj)) then
|
||
idStroj:= 0;
|
||
if (idStroj>0) then
|
||
params.Add('idstroj', idStroj.ToString);
|
||
|
||
|
||
sIdPracoviste:= sanitizeSQLString (sIdPracoviste);
|
||
idPracoviste:= 0;
|
||
if (sIdPracoviste<>'') then
|
||
if not(TryStrToInt (sIdPracoviste, idPracoviste)) then
|
||
idPracoviste:= 0;
|
||
if (idPracoviste>0) then
|
||
params.Add('idpracoviste', idPracoviste.ToString);
|
||
|
||
|
||
sTypPrikazu:= sanitizeSQLString (sTypPrikazu);
|
||
typVPr:= 0;
|
||
if (sTypPrikazu<>'') then
|
||
if not(TryStrToInt (sTypPrikazu, typVPr)) then
|
||
typVPr:= 0;
|
||
params.Add('typ', typVPr.ToString);
|
||
|
||
|
||
odDatum:= sanitizeSQLString(odDatum);
|
||
if (odDatum<>'') then
|
||
params.Add('odDatum', odDatum);
|
||
|
||
doDatum:= sanitizeSQLString(doDatum);
|
||
if (doDatum<>'') then
|
||
params.Add('doDatum', doDatum);
|
||
|
||
|
||
try
|
||
Render(ObjectDict().Add('data', GetRTNService.GetPrikazy (params))); // viz uSvcCustom.pas
|
||
except
|
||
RenderStatusMessage (200);
|
||
{
|
||
on E: EServiceException do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
on E:Exception do
|
||
begin
|
||
raise EMVCException.Create(E.Message, '', 0, 200);
|
||
end;
|
||
}
|
||
end;
|
||
end;
|
||
|
||
|
||
end.
|