Contribution
Contribution
Description
L'entitĂ© Contribution reprĂ©sente la structure tarifaire appliquĂ©e au niveau courant. Fait partie d'une arborescence d'OfferNode. A utiliser comme un colorTree, chaque nĆud est un rĂ©sumĂ© de ses nĆuds enfants.
Relations
Ascendantes
Entité | Propriété |
|---|---|
OfferNode | contributions |
Descendantes
Entité | Propriété |
|---|---|
History | history |
Propriétés
Nom | Type | Description | Validateur | Lecture seule ? | Dépréciée ? | DerniÚre version modifiée |
|---|---|---|---|---|---|---|
appliedAmount | Number | Montant absolu appliquĂ©. | ï»ż | ï»ż | ï»ż | 3.1.0 |
appliedRate | Number | Taux relatif appliquĂ©. | ï»ż | ï»ż | ï»ż | 3.1.0 |
commission | Number | Commission touchĂ©e par l'utilisateur, en pourcentage. | ï»ż | ï»ż | ï»ż | 3.1.0 |
contributionFrequency | ContributionFrequencyEnum | FrĂ©quence de la structure tarifaire. | ï»ż | ï»ż | ï»ż | 3.1.0 |
defaultAmount | Number | Montant absolu par dĂ©faut. | ï»ż | ï»ż | ï»ż | 3.1.0 |
defaultRate | Number | Taux relatif par dĂ©faut. | ï»ż | ï»ż | ï»ż | 3.1.0 |
derogatedAmount | Number | Montant absolu dĂ©rogĂ©, dans les bornes minmax. | ï»ż | ï»ż | ï»ż | 3.1.0 |
derogatedRate | Number | Taux relatif dĂ©rogĂ©, dans les bornes minmax. | ï»ż | ï»ż | ï»ż | 3.1.0 |
maxAmount | Number | Montant absolu maximum. | ï»ż | ï»ż | ï»ż | 3.1.0 |
maxRate | Number | Taux relatif maximum. | ï»ż | ï»ż | ï»ż | 3.1.0 |
minAmount | Number | Montant absolu minimum. | ï»ż | ï»ż | ï»ż | 3.1.0 |
minRate | Number | Taux relatif minimum. | ï»ż | ï»ż | ï»ż | 3.1.0 |
typologyFamily | ContributionTypologyFamilyEnum | Type de structure tarifaire. | ï»ż | ï»ż | ï»ż | 3.10.0 |
id | String | Identifiant de l'entitĂ© Contribution | ï»ż | X | ï»ż | ï»ż |
code | String | Codification fonctionnelle de l'entitĂ© Contribution | ï»ż | ï»ż | ï»ż | ï»ż |
externalId | String | Identifiant de l'entitĂ© Contribution dans le systĂšme client | ï»ż | ï»ż | ï»ż | ï»ż |
externalCode | String | Codification fonctionnelle de l'entitĂ© Contribution dans le systĂšme client | ï»ż | ï»ż | ï»ż | ï»ż |
contributionId | String | Identifiant public de l'entitĂ© Contribution dans l'OIP | ï»ż | ï»ż | ï»ż | ï»ż |
label | String | Information relative au nom de l'entitĂ© Contribution dans son contexte d'utilisation | ï»ż | ï»ż | ï»ż | ï»ż |
createdAt | Date | Date de crĂ©ation de l'entitĂ© Contribution | ï»ż | X | ï»ż | ï»ż |
updatedAt | Date | Date de modification de l'entitĂ© Contribution | ï»ż | X | ï»ż | ï»ż |
Enumérations
ContributionFrequencyEnum
- UNIQUE
- DAILY
- WEEKLY
- FORTNIGHTLY
- MONTHLY
- QUARTERLY
- HALF_YEARLY
- YEARLY
ContributionTypologyFamilyEnum
- CHILD
- DUO
- EMPLOYEE
- FAMILY
- PARTNER
Enumérations génériques
Aucune enumération générique.
Exemple
import { Entities } from '@fasstech/oip-core';
import { getCompanyId } from '@fasstech/oip-core/entities/Company';
import { getContributionAppliedAmount, getContributionAppliedRate, getContributionCode, getContributionCommission, getContributionContributionFrequency, getContributionContributionId, getContributionDefaultAmount, getContributionDefaultRate, getContributionDerogatedAmount, getContributionDerogatedRate, getContributionExternalCode, getContributionExternalId, getContributionId, getContributionLabel, getContributionMaxAmount, getContributionMaxRate, getContributionMinAmount, getContributionMinRate, getContributionTypologyFamily, setContributionAppliedAmount, setContributionAppliedRate, setContributionCode, setContributionCommission, setContributionContributionFrequency, setContributionContributionId, setContributionDefaultAmount, setContributionDefaultRate, setContributionDerogatedAmount, setContributionDerogatedRate, setContributionExternalCode, setContributionExternalId, setContributionLabel, setContributionMaxAmount, setContributionMaxRate, setContributionMinAmount, setContributionMinRate, setContributionTypologyFamily } from '@fasstech/oip-core/entities/Contribution';
import { ContributionFrequencyEnum, ContributionTypologyFamilyEnum } from '@fasstech/oip-core/entities/Contribution/enums';
import { getOfferNodeId } from '@fasstech/oip-core/entities/OfferNode';
import { getProjectId } from '@fasstech/oip-core/entities/Project';
(async () => {
let project = await Entities('Project').create();
let company = await Entities('Company').create();
let offerNode = await Entities('OfferNode').create();
const contribution = await Entities('Contribution').create();
setContributionAppliedAmount(97, contribution);
setContributionAppliedRate(97, contribution);
setContributionCommission(99, contribution);
setContributionContributionFrequency(ContributionFrequencyEnum.MONTHLY, contribution);
setContributionDefaultAmount(100, contribution);
setContributionDefaultRate(100, contribution);
setContributionDerogatedAmount(100, contribution);
setContributionDerogatedRate(100, contribution);
setContributionMaxAmount(109, contribution);
setContributionMaxRate(109, contribution);
setContributionMinAmount(109, contribution);
setContributionMinRate(109, contribution);
setContributionTypologyFamily(ContributionTypologyFamilyEnum.DUO, contribution);
setContributionCode('code', contribution);
setContributionExternalId('externalId', contribution);
setContributionExternalCode('externalCode', contribution);
setContributionContributionId('contributionId', contribution);
setContributionLabel('label', contribution);
offerNode = await Entities('Contribution').save(offerNode, contribution);
company = await Entities('OfferNode').save(company, offerNode);
project = await Entities('Company').save(project, company);
await Entities('Project').save(project);
const projectToTest = await Entities('Project').get({ id: getProjectId(project) });
const companyToTest = await Entities('Company').get(projectToTest, { filter: ({ id }) => id === getCompanyId(company) });
const offerNodeToTest = await Entities('OfferNode').get(companyToTest, { filter: ({ id }) => id === getOfferNodeId(offerNode) });
const contributionToTest = await Entities('Contribution').get(offerNodeToTest, { filter: ({ id }) => id === getContributionId(contribution) });
getContributionAppliedAmount(contributionToTest); // 97
getContributionAppliedRate(contributionToTest); // 97
getContributionCommission(contributionToTest); // 99
getContributionContributionFrequency(contributionToTest); // ContributionFrequencyEnum.MONTHLY
getContributionDefaultAmount(contributionToTest); // 100
getContributionDefaultRate(contributionToTest); // 100
getContributionDerogatedAmount(contributionToTest); // 100
getContributionDerogatedRate(contributionToTest); // 100
getContributionMaxAmount(contributionToTest); // 109
getContributionMaxRate(contributionToTest); // 109
getContributionMinAmount(contributionToTest); // 109
getContributionMinRate(contributionToTest); // 109
getContributionTypologyFamily(contributionToTest); // ContributionTypologyFamilyEnum.DUO
getContributionCode(contributionToTest); // 'code'
getContributionExternalId(contributionToTest); // 'externalId'
getContributionExternalCode(contributionToTest); // 'externalCode'
getContributionContributionId(contributionToTest); // 'contributionId'
getContributionLabel(contributionToTest); // 'label'
})();