UNPKG

hravemzdy.procezor

Version:

payroll-procezor Salary, Health, Social, Taxing Properties for years 2010-2022

82 lines 3.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceProcezor = void 0; var VersionCode_1 = require("../service_types/VersionCode"); var ResultBuilder_1 = require("../registry/ResultBuilder"); var tslog_1 = require("tslog"); var ServiceProcezor = /** @class */ (function () { function ServiceProcezor(_version, _calcArticles) { this.Builder = new ResultBuilder_1.ResultBuilder(); this.ArticleFactory = null; this.ConceptFactory = null; this.version = VersionCode_1.VersionCode.get(_version); this.calcArticles = Array.from(_calcArticles); } ServiceProcezor.prototype.BuilderOrder = function () { return this.Builder.ArticleOrder; }; ServiceProcezor.prototype.BuilderPaths = function () { return this.Builder.ArticlePaths; }; ServiceProcezor.prototype.GetContractTerms = function (period, targets) { return []; }; ServiceProcezor.prototype.GetPositionTerms = function (period, contracts, targets) { return []; }; ServiceProcezor.prototype.GetResults = function (period, ruleset, targets) { var results = new Array(); var success = this.InitWithPeriod(period); if (!success) { return results; } var contractTerms = this.GetContractTerms(period, targets); var positionTerms = this.GetPositionTerms(period, contractTerms, targets); if (this.Builder !== null) { results = this.Builder.GetResults(ruleset, contractTerms, positionTerms, targets, this.calcArticles); } return results; }; ServiceProcezor.prototype.InitWithPeriod = function (period) { var log = new tslog_1.Logger({ name: "ProcezorServiceLogger" }); var initResult = false; if (this.Builder !== null) { initResult = true; } var initBuilder = false; if (this.Builder !== null) { initBuilder = this.Builder.PeriodInit !== period; } if (initBuilder && this.ArticleFactory !== null && this.ConceptFactory !== null) { initResult = this.Builder.InitWithPeriod(this.version, period, this.ArticleFactory, this.ConceptFactory); } if (initResult === false) { log.error("Period: ".concat(period.code, ", init with period failed")); } return initResult; }; ServiceProcezor.prototype.BuildFactories = function () { var log = new tslog_1.Logger({ name: "ProcezorServiceLogger" }); var articleFactorySuccess = this.BuildArticleFactory(); var conceptFactorySuccess = this.BuildConceptFactory(); if (!(articleFactorySuccess && conceptFactorySuccess)) { log.error("Version: ".concat(this.version, ", build factories failed")); } return articleFactorySuccess && conceptFactorySuccess; }; ServiceProcezor.prototype.GetArticleSpec = function (code, period, version) { if (this.ArticleFactory === null) { return null; } return this.ArticleFactory.GetSpec(code, period, version); }; ServiceProcezor.prototype.GetConceptSpec = function (code, period, version) { if (this.ConceptFactory === null) { return null; } return this.ConceptFactory.GetSpec(code, period, version); }; return ServiceProcezor; }()); exports.ServiceProcezor = ServiceProcezor; //# sourceMappingURL=ServiceProcezor.js.map