package gw.rating.flow.util uses java.util.Map uses gw.api.extension.ExtensionInterfaces uses gw.api.system.PCDependenciesGateway uses java.lang.Integer uses gw.api.database.Query uses gw.pl.persistence.core.Key uses java.util.List class QueryUtils { static function getSchemaForRateTableDefinition(def : RateTableDefinition) : Map { return PCDependenciesGateway.getRateTableDefinitionCache().getRateTableSchema(def) } static function getRateTableDefinitionForCodeAndLine(code : String, line : String) : RateTableDefinition { var tableDef = PCDependenciesGateway.getRateTableDefinitionCache().findRateTableDefinition(code, line) if (tableDef == null) { tableDef = PCDependenciesGateway.getRateTableDefinitionCache().findRateTableDefinition(code, null) } return tableDef } static function getRateTableDefinitionsForLine(line : String) : List { return PCDependenciesGateway.getRateTableDefinitionCache().findRateTableDefinitionsForLine(line) } static function getRateTableDefinitionsForCode(code : String) : List { return PCDependenciesGateway.getRateTableDefinitionCache().findAllRateTableDefinitions().where(\ d -> d.TableCode == code) } static property get AllRateTableDefinitions() : List { return PCDependenciesGateway.getRateTableDefinitionCache().findAllRateTableDefinitions() } static function getRateBooksForLine(line : String) : List { return PCDependenciesGateway.getRateBookCache().findRateBooksForLine(line) } static function getRateBooksForMultipleLines(lines : String[]) : List { return PCDependenciesGateway.getRateBookCache().findRateBooksForMultipleLines(lines) } static property get AllRateBooks() : List { return PCDependenciesGateway.getRateBookCache().AllRateBooks } static function loadReadOnlyRateTableByKey(id : Key) : RateTable { return PCDependenciesGateway.getRateBookCache().loadReadOnlyRateTableByID(id) } static function getCalcRoutine(rateBookID : Key, calcRoutineCode : String) : CalcRoutineDefinition { return PCDependenciesGateway.getRateBookCache().getCalcRoutine(rateBookID, calcRoutineCode) } static function getCalcRoutineFromRateBookWithSameCode(rateBook : RateBook) : Map> { return Query.make(CalcRoutineDefinition).compareIn(CalcRoutineDefinition#Code, rateBook.CalcRoutines*.Code).select().toList().partition( \ elt -> elt.Code) } static function getPreviousCalcRoutineVersion(routine : CalcRoutineDefinition) : CalcRoutineDefinition { return ExtensionInterfaces.IQueryUtilsExtensions.getPreviousCalcRoutineVersion(routine) } }