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)] TGatemaSDScanData = class(THeliosObjekty) private FIDDokladSD: integer; FIDZdrojSD: NullableInt32; FIDPolozky: NullableInt32; FIDPrikaz: NullableInt32; FDokladPrKV: NullableInt32; FDokladPrVPV: NullableInt32; FIDPohZbo: NullableInt32; FIDVyrCS_Obj: NullableInt32; FIDInvItem: NullableInt32; FIDPohZbo_New: NullableInt32; FIDKmenZbozi: NullableInt32; FIDStavSkladu: NullableInt32; FVyrCislo: NullableString; FPopisSarze: NullableString; FMnozstvi: Single; FMnozstviEvidence: Single; FMJ: NullableString; FMJEvidence: NullableString; FBarCode: NullableString; FDatumExpirace: NullableTDateTime; FKodBaleni: NullableString; FDatPorizeni: TDateTime; FGenerovat: NullableBoolean; FJedinecneCislo: NullableString; public { [MVCTableField('ID', [foPrimaryKey, foReadOnly])] [MVCColumn('ID')] [MVCSwagJsonSchemaField(stInteger, 'ID', 'ID výrobní operace', true, false)] // typ, sysName, nazev, required, nullable, minLength, maxLength property ID: integer read FID write FID; } [MVCColumn('IDDokladSD', false)] [MVCSwagJsonSchemaField(stInteger, 'IDDokladSD', 'ID dokladu SD', true, false)] property IDDokladSD: integer read FIDDokladSD write FIDDokladSD; [MVCColumn('IDZdrojSD', false)] [MVCSwagJsonSchemaField(stInteger, 'IDZdrojSD', 'ID zdorj SD', false, true)] property IDZdrojSD: NullableInt32 read FIDZdrojSD write FIDZdrojSD; [MVCColumn('IDPolozky', false)] [MVCSwagJsonSchemaField(stInteger, 'IDPolozky', 'ID položky', false, true)] property IDPolozky: NullableInt32 read FIDPolozky write FIDPolozky; [MVCColumn('IDPrikaz', false)] [MVCSwagJsonSchemaField(stInteger, 'IDPrikaz', 'ID výrobního příkazu', false, true)] property IDPrikaz: NullableInt32 read FIDPrikaz write FIDPrikaz; [MVCColumn('VyrCislo', false)] [MVCSwagJsonSchemaField(stString, 'VyrCislo', 'Výrobní číslo', true, false, 1, 100)] property VyrCislo: NullableString read FVyrCislo write FVyrCislo; [MVCColumn('PopisSarze', false)] [MVCSwagJsonSchemaField(stString, 'PopisSarze', 'Popis šarže', true, false, 1, 100)] property PopisSarze: NullableString read FPopisSarze write FPopisSarze; [MVCColumn('Mnozstvi')] [MVCSwagJsonSchemaField('Mnozstvi', 'Množství', true, false)] property Mnozstvi: Single read FMnozstvi write FMnozstvi; [MVCColumn('MnozstviEvidence')] [MVCSwagJsonSchemaField('MnozstviEvidence', 'Množství v evidenční jednotce', true, false)] property MnozstviEvidence: Single read FMnozstviEvidence write FMnozstviEvidence; [MVCColumn('DatumExpirace')] [MVCSwagJsonSchemaField('DatumExpirace', 'Datum expirace', false, true)] property DatumExpirace: NullableTDatetime read FDatumExpirace write FDatumExpirace; [MVCColumn('DatPorizeni')] [MVCSwagJsonSchemaField('DatPorizeni', 'Datum pořízení', true, false)] property DatPorizeni: TDatetime read FDatPorizeni write FDatPorizeni; end; [MVCNameCase(ncLowerCase)] TGatemaSDZdrojData = class(THeliosObjekty) private FIDDokladSD: integer; FIDDokZbo: NullableInt32; FIDPrikaz: NullableInt32; FGUIDDokladu: NullableTGUID; public [MVCColumn('IDDokladSD', false)] [MVCSwagJsonSchemaField(stInteger, 'IDDokladSD', 'ID dokladu SD', true, false)] property IDDokladSD: integer read FIDDokladSD write FIDDokladSD; [MVCColumn('IDDokZbo', false)] [MVCSwagJsonSchemaField(stInteger, 'FIDDokZbo', 'ID dokladu OZ', false, true)] property IDDokZbo: NullableInt32 read FIDDokZbo write FIDDokZbo; [MVCColumn('IDPrikaz', false)] [MVCSwagJsonSchemaField(stInteger, 'IDPrikaz', 'ID výrobního příkazu', false, true)] property IDPrikaz: NullableInt32 read FIDPrikaz write FIDPrikaz; [MVCColumn('GUIDDokladu', false)] [MVCSwagJsonSchemaField(stGuid, 'GUIDDokladu', 'GUID dokladu', false, true)] property GUIDDokladu: NullableTGUID read FGUIDDokladu write FGUIDDokladu; end; [MVCNameCase(ncLowerCase)] TGatemaSDDoklad = class(THeliosObjekty) private FTypDokladu: integer; FPodtypDokladu: NullableInt32; FRadaDokladu: NullableString; FDruhPohybuZbo: NullableInt32; FSklad: NullableString; FSkladCil: NullableString; FIDPrikaz: NullableInt32; FIDDokZbo: NullableInt32; FIDDokZbo_New: NullableInt32; FGUIDDokZbo: NullableTGUID; FGUIDDokZbo_New: NullableTGUID; FIDInvHead: NullableInt32; FIDOrg: NullableInt32; FCisloOrg: NullableInt32; FDatumPripadu: NullableTDateTime; FDatPorizeni: TDateTime; FDatGenerovani: NullableTDateTime; FScanData: TObjectList; procedure SetSDScanData (const Value: TObjectList); public constructor Create; virtual; destructor Destroy; override; { [MVCTableField('ID', [foPrimaryKey, foReadOnly])] [MVCColumn('ID')] [MVCSwagJsonSchemaField(stInteger, 'ID', 'ID výrobní operace', true, false)] // typ, sysName, nazev, required, nullable, minLength, maxLength property ID: integer read FID write FID; } [MVCColumn('TypDokladu', false)] [MVCSwagJsonSchemaField(stInteger, 'TypDokladu', 'Typ dokladu', true, false)] property TypDokladu: integer read FTypDokladu write FTypDokladu; [MVCColumn('PodtypDokladu', false)] [MVCSwagJsonSchemaField(stInteger, 'PodtypDokladu', 'Podtyp dokladu', false, true)] property PodtypDokladu: NullableInt32 read FPodtypDokladu write FPodtypDokladu; [MVCColumn('RadaDokladu', false)] [MVCSwagJsonSchemaField(stString, 'RadaDokladu', 'Řada dokladu', false, true)] property RadaDokladu: NullableString read FRadaDokladu write FRadaDokladu; [MVCColumn('DruhPohybuZbo', false)] [MVCSwagJsonSchemaField(stInteger, 'DruhPohybuZbo', 'Druh pohybu zboží', false, true)] property DruhPohybuZbo: NullableInt32 read FDruhPohybuZbo write FDruhPohybuZbo; [MVCColumn('Sklad', false)] [MVCSwagJsonSchemaField(stString, 'Sklad', 'Sklad', false, true)] property Sklad: NullableString read FSklad write FSklad; [MVCColumn('SkladCil', false)] [MVCSwagJsonSchemaField(stString, 'SkladCil', 'Cílový sklad', false, true)] property SkladCil: NullableString read FSkladCil write FSkladCil; [MVCColumn('IDPrikaz', false)] [MVCSwagJsonSchemaField(stInteger, 'IDPrikaz', 'ID výrobního příkazu', false, true)] property IDPrikaz: NullableInt32 read FIDPrikaz write FIDPrikaz; [MVCColumn('IDDokZbo', false)] [MVCSwagJsonSchemaField(stInteger, 'IDDokZbo', 'ID dokladu OZ', false, true)] property IDDokZbo: NullableInt32 read FIDDokZbo write FIDDokZbo; [MVCColumn('IDDokZbo_New', false)] [MVCSwagJsonSchemaField(stInteger, 'IDDokZbo_New', 'ID nového dokladu OZ', false, true)] property IDDokZbo_New: NullableInt32 read FIDDokZbo_New write FIDDokZbo_New; [MVCColumn('IDInvHead', false)] [MVCSwagJsonSchemaField(stInteger, 'IDInvHead', 'ID dokladu inventury', false, true)] property IDInvHead: NullableInt32 read FIDInvHead write FIDInvHead; [MVCColumn('IDOrg', false)] [MVCSwagJsonSchemaField(stInteger, 'IDOrg', 'ID organizace', false, true)] property IDOrg: NullableInt32 read FIDOrg write FIDOrg; [MVCColumn('CisloOrg', false)] [MVCSwagJsonSchemaField(stInteger, 'CisloOrg', 'Číslo organizace', false, true)] property CisloOrg: NullableInt32 read FCisloOrg write FCisloOrg; [MVCColumn('DatumPripadu')] [MVCSwagJsonSchemaField('DatumPripadu', 'Datum případu', false, true)] property DatumPripadu: NullableTDatetime read FDatumPripadu write FDatumPripadu; [MVCColumn('DatPorizeni')] [MVCSwagJsonSchemaField('DatPorizeni', 'Datum pořízení', true, false)] property DatPorizeni: TDatetime read FDatPorizeni write FDatPorizeni; [MVCColumn('DatGenerovani')] [MVCSwagJsonSchemaField('DatGenerovani', 'Datum generování dokladu OZ', false, true)] property DatGenerovani: NullableTDatetime read FDatGenerovani write FDatGenerovani; [MapperListOf(TGatemaSDScanData)] property ScanData: TObjectList read FScanData write SetSDScanData; end; implementation uses System.SysUtils, System.StrUtils, System.RegularExpressions; { TGatemaSDDoklad } constructor TGatemaSDDoklad.Create; begin inherited; FScanData:= TObjectList.Create; end; destructor TGatemaSDDoklad.Destroy; begin // if (FPohybyOZ<>nil) then // FPohybyOZ.Free; inherited; end; procedure TGatemaSDDoklad.SetSDScanData(const Value: TObjectList); begin if (Value<>FScanData) then begin FScanData.Free; FScanData:= Value; end; end; end.