hravemzdy.procezor
Version:
payroll-procezor Salary, Health, Social, Taxing Properties for years 2010-2022
82 lines • 3.49 kB
JavaScript
"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