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áčí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ÄŤ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; begin params:= TDictionary.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; begin params:= TDictionary.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; begin params:= TDictionary.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; begin params:= TDictionary.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; begin params:= TDictionary.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; idStroj: integer; begin params:= TDictionary.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; idStroj: integer; begin params:= TDictionary.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; idStroj: integer; begin params:= TDictionary.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; idStroj: integer; begin params:= TDictionary.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ÄŤ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; idStroj: integer; begin params:= TDictionary.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; idStroj, idPracoviste, typVPr: integer; begin params:= TDictionary.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.