@socialgouv/modeles-social 4.65.4 → 4.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/package.json +2 -2
- package/src/__test__/2148-telecommunications/preavis-retraite/depart-mise.spec.ts +233 -0
- package/src/__test__/2596-coiffure/preavis-retraite/depart-mise.spec.ts +117 -0
- package/src/__test__/86-publicite-fran/303/247aise/preavis-retraite/depart-mise.spec.ts +244 -0
- package/src/index.ts +2 -1
- package/src/modeles/contrat-salarie.yaml +18 -0
- package/src/modeles/conventions/2148_telecommunications.yaml +64 -1
- package/src/modeles/conventions/2596_coiffure.yaml +46 -1
- package/src/modeles/conventions/86_publicite_francaise.yaml +134 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,43 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [4.67.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.66.2...v4.67.0) (2022-01-24)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **modeles:** add cc 2148 for retirement ([#4176](https://github.com/SocialGouv/code-du-travail-numerique/issues/4176)) ([829e66d](https://github.com/SocialGouv/code-du-travail-numerique/commit/829e66da9f4bcab31d8970aaad5f6109c465c686))
|
|
12
|
+
* **modeles:** add cc 86 for retirement simulator / adding selected result to the publicode context ([#4175](https://github.com/SocialGouv/code-du-travail-numerique/issues/4175)) ([b62cf7d](https://github.com/SocialGouv/code-du-travail-numerique/commit/b62cf7d5102f5580a6e6940c59a85b2df3e47b64))
|
|
13
|
+
* **modeles:** cc 2596 for retirement added ([#4164](https://github.com/SocialGouv/code-du-travail-numerique/issues/4164)) ([ffb9815](https://github.com/SocialGouv/code-du-travail-numerique/commit/ffb9815854cc361dec7a5deba6cd3c4e70204ed2))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## [4.66.2](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.66.1...v4.66.2) (2022-01-14)
|
|
20
|
+
|
|
21
|
+
**Note:** Version bump only for package @socialgouv/modeles-social
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## [4.66.1](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.66.0...v4.66.1) (2022-01-14)
|
|
28
|
+
|
|
29
|
+
**Note:** Version bump only for package @socialgouv/modeles-social
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# [4.66.0](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.65.4...v4.66.0) (2022-01-14)
|
|
36
|
+
|
|
37
|
+
**Note:** Version bump only for package @socialgouv/modeles-social
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
6
43
|
## [4.65.4](https://github.com/SocialGouv/code-du-travail-numerique/compare/v4.65.3...v4.65.4) (2022-01-05)
|
|
7
44
|
|
|
8
45
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@socialgouv/modeles-social",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.67.0",
|
|
4
4
|
"description": "Les règles publicodes des simulateurs de code du travail numérique",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
"yarn lint --fix"
|
|
41
41
|
]
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "9215f1a98ed2620fe09ec51c873ce4b52e81442f"
|
|
44
44
|
}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import Engine from "publicodes";
|
|
2
|
+
|
|
3
|
+
import { getNotifications } from "../../..";
|
|
4
|
+
import { mergeModels } from "../../../internal/merger";
|
|
5
|
+
import { getReferences } from "../../../utils/GetReferences";
|
|
6
|
+
import {
|
|
7
|
+
DepartRetraiteReferences,
|
|
8
|
+
MiseRetraiteReferences,
|
|
9
|
+
} from "../../common/legal-references";
|
|
10
|
+
|
|
11
|
+
const engine = new Engine(mergeModels());
|
|
12
|
+
|
|
13
|
+
const ReferencesCc = [
|
|
14
|
+
{
|
|
15
|
+
article: "Article 4.4.2",
|
|
16
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000021550694/?idConteneur=KALICONT000005635557",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
article: "Article 4.4.1.1",
|
|
20
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000022416125/?idConteneur=KALICONT000005635557",
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
const DepartRetraiteCcReferences = [
|
|
25
|
+
...DepartRetraiteReferences,
|
|
26
|
+
...ReferencesCc,
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
const MiseRetraiteCcReferences = [...MiseRetraiteReferences, ...ReferencesCc];
|
|
30
|
+
|
|
31
|
+
const NotificationMiseRetraiteAutre =
|
|
32
|
+
"En cas de mise à la retraite, la durée du préavis des salariés hors classification est fixée dans le contrat de travail sans pouvoir être inférieure à 3 mois.";
|
|
33
|
+
|
|
34
|
+
const NotificationDepartRetraiteAutre =
|
|
35
|
+
"La durée du préavis des salariés hors classification est fixée dans le contrat de travail sans pouvoir être inférieure à 3 mois.";
|
|
36
|
+
enum Category {
|
|
37
|
+
ab = "A et B",
|
|
38
|
+
cd = "C et D",
|
|
39
|
+
efg = "E, F et G",
|
|
40
|
+
autre = "Hors classification",
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
type InputType = {
|
|
44
|
+
category: string;
|
|
45
|
+
seniority: number;
|
|
46
|
+
expectedResult: number;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
describe("Préavis de retraite de la CC 2148", () => {
|
|
50
|
+
describe("Vérification des départs à la retraite et des références juridiques", () => {
|
|
51
|
+
test.each`
|
|
52
|
+
category | seniority | expectedResult
|
|
53
|
+
${Category.ab} | ${2} | ${1}
|
|
54
|
+
${Category.ab} | ${6} | ${1}
|
|
55
|
+
${Category.ab} | ${12} | ${1}
|
|
56
|
+
${Category.ab} | ${24} | ${1}
|
|
57
|
+
${Category.ab} | ${25} | ${2}
|
|
58
|
+
${Category.cd} | ${2} | ${2}
|
|
59
|
+
${Category.cd} | ${6} | ${1}
|
|
60
|
+
${Category.cd} | ${12} | ${1}
|
|
61
|
+
${Category.cd} | ${24} | ${2}
|
|
62
|
+
${Category.cd} | ${25} | ${2}
|
|
63
|
+
${Category.efg} | ${2} | ${3}
|
|
64
|
+
${Category.efg} | ${6} | ${1}
|
|
65
|
+
${Category.efg} | ${12} | ${1}
|
|
66
|
+
${Category.efg} | ${24} | ${2}
|
|
67
|
+
${Category.efg} | ${25} | ${2}
|
|
68
|
+
${Category.autre} | ${2} | ${3}
|
|
69
|
+
${Category.autre} | ${6} | ${1}
|
|
70
|
+
${Category.autre} | ${12} | ${1}
|
|
71
|
+
${Category.autre} | ${24} | ${2}
|
|
72
|
+
${Category.autre} | ${25} | ${2}
|
|
73
|
+
`(
|
|
74
|
+
"Pour un $category possédant $seniority mois d'ancienneté, son préavis devrait être $expectedResult mois",
|
|
75
|
+
({ category, seniority, expectedResult }: InputType) => {
|
|
76
|
+
const situation = engine.setSituation({
|
|
77
|
+
"contrat salarié . ancienneté": seniority,
|
|
78
|
+
"contrat salarié . convention collective": "'IDCC2148'",
|
|
79
|
+
"contrat salarié . convention collective . télécommunications . catégorie professionnelle": `'${category}'`,
|
|
80
|
+
"contrat salarié . mise à la retraite": "non",
|
|
81
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
82
|
+
});
|
|
83
|
+
const result = situation.evaluate(
|
|
84
|
+
"contrat salarié . préavis de retraite"
|
|
85
|
+
);
|
|
86
|
+
const references = getReferences(situation);
|
|
87
|
+
|
|
88
|
+
expect(result.nodeValue).toEqual(expectedResult);
|
|
89
|
+
expect(result.unit?.numerators).toEqual(["mois"]);
|
|
90
|
+
expect(result.missingVariables).toEqual({});
|
|
91
|
+
expect(references).toHaveLength(DepartRetraiteCcReferences.length);
|
|
92
|
+
expect(references).toEqual(
|
|
93
|
+
expect.arrayContaining(DepartRetraiteCcReferences)
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
describe("Vérification des mises à la retraite et des références juridiques", () => {
|
|
100
|
+
test.each`
|
|
101
|
+
category | seniority | expectedResult
|
|
102
|
+
${Category.ab} | ${2} | ${1}
|
|
103
|
+
${Category.ab} | ${6} | ${1}
|
|
104
|
+
${Category.ab} | ${12} | ${1}
|
|
105
|
+
${Category.ab} | ${24} | ${2}
|
|
106
|
+
${Category.ab} | ${25} | ${2}
|
|
107
|
+
${Category.cd} | ${2} | ${2}
|
|
108
|
+
${Category.cd} | ${6} | ${2}
|
|
109
|
+
${Category.cd} | ${12} | ${2}
|
|
110
|
+
${Category.cd} | ${24} | ${2}
|
|
111
|
+
${Category.cd} | ${25} | ${2}
|
|
112
|
+
${Category.efg} | ${2} | ${3}
|
|
113
|
+
${Category.efg} | ${6} | ${3}
|
|
114
|
+
${Category.efg} | ${12} | ${3}
|
|
115
|
+
${Category.efg} | ${24} | ${3}
|
|
116
|
+
${Category.efg} | ${25} | ${3}
|
|
117
|
+
${Category.autre} | ${2} | ${3}
|
|
118
|
+
${Category.autre} | ${6} | ${3}
|
|
119
|
+
${Category.autre} | ${12} | ${3}
|
|
120
|
+
${Category.autre} | ${24} | ${3}
|
|
121
|
+
${Category.autre} | ${25} | ${3}
|
|
122
|
+
`(
|
|
123
|
+
"Pour un $category possédant $seniority mois d'ancienneté, son préavis devrait être $expectedResult mois",
|
|
124
|
+
({ category, seniority, expectedResult }: InputType) => {
|
|
125
|
+
const situation = engine.setSituation({
|
|
126
|
+
"contrat salarié . ancienneté": seniority,
|
|
127
|
+
"contrat salarié . convention collective": "'IDCC2148'",
|
|
128
|
+
"contrat salarié . convention collective . télécommunications . catégorie professionnelle": `'${category}'`,
|
|
129
|
+
"contrat salarié . mise à la retraite": "oui",
|
|
130
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
131
|
+
});
|
|
132
|
+
const result = situation.evaluate(
|
|
133
|
+
"contrat salarié . préavis de retraite"
|
|
134
|
+
);
|
|
135
|
+
const references = getReferences(situation);
|
|
136
|
+
|
|
137
|
+
expect(result.nodeValue).toEqual(expectedResult);
|
|
138
|
+
expect(result.unit?.numerators).toEqual(["mois"]);
|
|
139
|
+
expect(result.missingVariables).toEqual({});
|
|
140
|
+
expect(references).toHaveLength(MiseRetraiteCcReferences.length);
|
|
141
|
+
expect(references).toEqual(
|
|
142
|
+
expect.arrayContaining(MiseRetraiteCcReferences)
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
);
|
|
146
|
+
});
|
|
147
|
+
describe("Vérification des notifications", () => {
|
|
148
|
+
test("Pour une salarié hors classifié, en cas de mise à la retraite, une notification doit s'afficher", () => {
|
|
149
|
+
const notifications = getNotifications(
|
|
150
|
+
engine.setSituation({
|
|
151
|
+
"contrat salarié . ancienneté": 5,
|
|
152
|
+
"contrat salarié . convention collective": "'IDCC2148'",
|
|
153
|
+
"contrat salarié . convention collective . télécommunications . catégorie professionnelle": `'${Category.autre}'`,
|
|
154
|
+
"contrat salarié . mise à la retraite": "oui",
|
|
155
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
156
|
+
})
|
|
157
|
+
);
|
|
158
|
+
expect(notifications).toHaveLength(1);
|
|
159
|
+
expect(notifications[0].description).toBe(NotificationMiseRetraiteAutre);
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
test.each`
|
|
163
|
+
category
|
|
164
|
+
${Category.ab}
|
|
165
|
+
${Category.cd}
|
|
166
|
+
${Category.efg}
|
|
167
|
+
`(
|
|
168
|
+
"Pour un $category en mise à la retraite, aucune notification doit s'afficher",
|
|
169
|
+
({ category }) => {
|
|
170
|
+
const notifications = getNotifications(
|
|
171
|
+
engine.setSituation({
|
|
172
|
+
"contrat salarié . ancienneté": 5,
|
|
173
|
+
"contrat salarié . convention collective": "'IDCC2148'",
|
|
174
|
+
"contrat salarié . convention collective . télécommunications . catégorie professionnelle": `'${category}'`,
|
|
175
|
+
"contrat salarié . mise à la retraite": "oui",
|
|
176
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
177
|
+
})
|
|
178
|
+
);
|
|
179
|
+
expect(notifications).toHaveLength(0);
|
|
180
|
+
}
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
test("Pour une salarié hors classifié avec une ancienneté < 6 mois en cas de départ à la retraite, une notification doit s'afficher", () => {
|
|
184
|
+
const notifications = getNotifications(
|
|
185
|
+
engine.setSituation({
|
|
186
|
+
"contrat salarié . ancienneté": 5,
|
|
187
|
+
"contrat salarié . convention collective": "'IDCC2148'",
|
|
188
|
+
"contrat salarié . convention collective . télécommunications . catégorie professionnelle": `'${Category.autre}'`,
|
|
189
|
+
"contrat salarié . mise à la retraite": "non",
|
|
190
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
191
|
+
})
|
|
192
|
+
);
|
|
193
|
+
expect(notifications).toHaveLength(1);
|
|
194
|
+
expect(notifications[0].description).toBe(
|
|
195
|
+
NotificationDepartRetraiteAutre
|
|
196
|
+
);
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
test("Pour une salarié hors classifié avec une ancienneté > 6 mois en cas de départ à la retraite, aucune notification doit s'afficher", () => {
|
|
200
|
+
const notifications = getNotifications(
|
|
201
|
+
engine.setSituation({
|
|
202
|
+
"contrat salarié . ancienneté": 6,
|
|
203
|
+
"contrat salarié . convention collective": "'IDCC2148'",
|
|
204
|
+
"contrat salarié . convention collective . télécommunications . catégorie professionnelle": `'${Category.autre}'`,
|
|
205
|
+
"contrat salarié . mise à la retraite": "non",
|
|
206
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
207
|
+
})
|
|
208
|
+
);
|
|
209
|
+
expect(notifications).toHaveLength(0);
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
test.each`
|
|
213
|
+
category
|
|
214
|
+
${Category.ab}
|
|
215
|
+
${Category.cd}
|
|
216
|
+
${Category.efg}
|
|
217
|
+
`(
|
|
218
|
+
"Pour un $category en départ à la retraite, aucune notification doit s'afficher",
|
|
219
|
+
({ category }) => {
|
|
220
|
+
const notifications = getNotifications(
|
|
221
|
+
engine.setSituation({
|
|
222
|
+
"contrat salarié . ancienneté": 5,
|
|
223
|
+
"contrat salarié . convention collective": "'IDCC2148'",
|
|
224
|
+
"contrat salarié . convention collective . télécommunications . catégorie professionnelle": `'${category}'`,
|
|
225
|
+
"contrat salarié . mise à la retraite": "non",
|
|
226
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
227
|
+
})
|
|
228
|
+
);
|
|
229
|
+
expect(notifications).toHaveLength(0);
|
|
230
|
+
}
|
|
231
|
+
);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import Engine from "publicodes";
|
|
2
|
+
|
|
3
|
+
import { mergeModels } from "../../../internal/merger";
|
|
4
|
+
import { getReferences } from "../../../utils/GetReferences";
|
|
5
|
+
import {
|
|
6
|
+
DepartRetraiteReferences,
|
|
7
|
+
MiseRetraiteReferences,
|
|
8
|
+
} from "../../common/legal-references";
|
|
9
|
+
|
|
10
|
+
const engine = new Engine(mergeModels());
|
|
11
|
+
|
|
12
|
+
const CommonReference = {
|
|
13
|
+
article: "Article 7.4.1",
|
|
14
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000018563843/?idConteneur=KALICONT000018563755",
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const MiseRetraiteCcReferences = [...MiseRetraiteReferences, CommonReference];
|
|
18
|
+
|
|
19
|
+
describe("Préavis de retraite de la CC 2596", () => {
|
|
20
|
+
describe("Vérification des départs à la retraite et des références juridiques", () => {
|
|
21
|
+
test.each`
|
|
22
|
+
category | seniority | expectedResult
|
|
23
|
+
${"Salariés occupant un emploi technique de la coiffure"} | ${2} | ${0}
|
|
24
|
+
${"Salariés occupant un emploi technique de la coiffure"} | ${12} | ${1}
|
|
25
|
+
${"Salariés occupant un emploi technique de la coiffure"} | ${24} | ${2}
|
|
26
|
+
${"Salariés occupant un emploi technique de la coiffure"} | ${25} | ${2}
|
|
27
|
+
${"Salariés occupant un emploi non technique de la coiffure"} | ${2} | ${0}
|
|
28
|
+
${"Salariés occupant un emploi non technique de la coiffure"} | ${12} | ${1}
|
|
29
|
+
${"Salariés occupant un emploi non technique de la coiffure"} | ${24} | ${2}
|
|
30
|
+
${"Salariés occupant un emploi non technique de la coiffure"} | ${25} | ${2}
|
|
31
|
+
${"Salariés occupant un emploi de l'esthétique cosmétique"} | ${2} | ${0}
|
|
32
|
+
${"Salariés occupant un emploi de l'esthétique cosmétique"} | ${12} | ${1}
|
|
33
|
+
${"Salariés occupant un emploi de l'esthétique cosmétique"} | ${24} | ${2}
|
|
34
|
+
${"Salariés occupant un emploi de l'esthétique cosmétique"} | ${25} | ${2}
|
|
35
|
+
${"Agents de maîtrise"} | ${2} | ${0}
|
|
36
|
+
${"Agents de maîtrise"} | ${12} | ${1}
|
|
37
|
+
${"Agents de maîtrise"} | ${24} | ${2}
|
|
38
|
+
${"Agents de maîtrise"} | ${25} | ${2}
|
|
39
|
+
${"Cadres"} | ${2} | ${0}
|
|
40
|
+
${"Cadres"} | ${12} | ${1}
|
|
41
|
+
${"Cadres"} | ${24} | ${2}
|
|
42
|
+
${"Cadres"} | ${25} | ${2}
|
|
43
|
+
`(
|
|
44
|
+
"Pour un $category possédant $seniority mois d'ancienneté, son préavis devrait être $expectedResult mois",
|
|
45
|
+
({ category, seniority, expectedResult }) => {
|
|
46
|
+
const situation = engine.setSituation({
|
|
47
|
+
"contrat salarié . ancienneté": seniority,
|
|
48
|
+
"contrat salarié . convention collective": "'IDCC2596'",
|
|
49
|
+
"contrat salarié . convention collective . coiffure . catégorie professionnelle": `'${category}'`,
|
|
50
|
+
"contrat salarié . mise à la retraite": "non",
|
|
51
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
52
|
+
});
|
|
53
|
+
const result = situation.evaluate(
|
|
54
|
+
"contrat salarié . préavis de retraite"
|
|
55
|
+
);
|
|
56
|
+
const references = getReferences(situation);
|
|
57
|
+
|
|
58
|
+
expect(result.nodeValue).toEqual(expectedResult);
|
|
59
|
+
expect(result.unit?.numerators).toEqual(["mois"]);
|
|
60
|
+
expect(result.missingVariables).toEqual({});
|
|
61
|
+
expect(references).toHaveLength(DepartRetraiteReferences.length);
|
|
62
|
+
expect(references).toEqual(
|
|
63
|
+
expect.arrayContaining(DepartRetraiteReferences)
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
describe("Vérification des mises à la retraite et des références juridiques", () => {
|
|
70
|
+
test.each`
|
|
71
|
+
category | seniority | expectedResult | expectedPeriod
|
|
72
|
+
${"Salariés occupant un emploi technique de la coiffure"} | ${2} | ${7} | ${"jour"}
|
|
73
|
+
${"Salariés occupant un emploi technique de la coiffure"} | ${12} | ${1} | ${"mois"}
|
|
74
|
+
${"Salariés occupant un emploi technique de la coiffure"} | ${24} | ${2} | ${"mois"}
|
|
75
|
+
${"Salariés occupant un emploi technique de la coiffure"} | ${25} | ${2} | ${"mois"}
|
|
76
|
+
${"Salariés occupant un emploi non technique de la coiffure"} | ${2} | ${7} | ${"jour"}
|
|
77
|
+
${"Salariés occupant un emploi non technique de la coiffure"} | ${12} | ${1} | ${"mois"}
|
|
78
|
+
${"Salariés occupant un emploi non technique de la coiffure"} | ${24} | ${2} | ${"mois"}
|
|
79
|
+
${"Salariés occupant un emploi non technique de la coiffure"} | ${25} | ${2} | ${"mois"}
|
|
80
|
+
${"Salariés occupant un emploi de l'esthétique cosmétique"} | ${2} | ${7} | ${"jour"}
|
|
81
|
+
${"Salariés occupant un emploi de l'esthétique cosmétique"} | ${12} | ${1} | ${"mois"}
|
|
82
|
+
${"Salariés occupant un emploi de l'esthétique cosmétique"} | ${24} | ${2} | ${"mois"}
|
|
83
|
+
${"Salariés occupant un emploi de l'esthétique cosmétique"} | ${25} | ${2} | ${"mois"}
|
|
84
|
+
${"Agents de maîtrise"} | ${2} | ${3} | ${"mois"}
|
|
85
|
+
${"Agents de maîtrise"} | ${12} | ${3} | ${"mois"}
|
|
86
|
+
${"Agents de maîtrise"} | ${24} | ${3} | ${"mois"}
|
|
87
|
+
${"Agents de maîtrise"} | ${25} | ${3} | ${"mois"}
|
|
88
|
+
${"Cadres"} | ${2} | ${3} | ${"mois"}
|
|
89
|
+
${"Cadres"} | ${12} | ${3} | ${"mois"}
|
|
90
|
+
${"Cadres"} | ${24} | ${3} | ${"mois"}
|
|
91
|
+
${"Cadres"} | ${25} | ${3} | ${"mois"}
|
|
92
|
+
`(
|
|
93
|
+
"Pour un $category possédant $seniority mois d'ancienneté, son préavis devrait être $expectedResult mois",
|
|
94
|
+
({ category, seniority, expectedResult, expectedPeriod }) => {
|
|
95
|
+
const situation = engine.setSituation({
|
|
96
|
+
"contrat salarié . ancienneté": seniority,
|
|
97
|
+
"contrat salarié . convention collective": "'IDCC2596'",
|
|
98
|
+
"contrat salarié . convention collective . coiffure . catégorie professionnelle": `'${category}'`,
|
|
99
|
+
"contrat salarié . mise à la retraite": "oui",
|
|
100
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
101
|
+
});
|
|
102
|
+
const result = situation.evaluate(
|
|
103
|
+
"contrat salarié . préavis de retraite"
|
|
104
|
+
);
|
|
105
|
+
const references = getReferences(situation);
|
|
106
|
+
|
|
107
|
+
expect(result.nodeValue).toEqual(expectedResult);
|
|
108
|
+
expect(result.unit?.numerators).toEqual([expectedPeriod]);
|
|
109
|
+
expect(result.missingVariables).toEqual({});
|
|
110
|
+
expect(references).toHaveLength(MiseRetraiteCcReferences.length);
|
|
111
|
+
expect(references).toEqual(
|
|
112
|
+
expect.arrayContaining(MiseRetraiteCcReferences)
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import Engine from "publicodes";
|
|
2
|
+
|
|
3
|
+
import { getNotifications } from "../../..";
|
|
4
|
+
import { mergeModels } from "../../../internal/merger";
|
|
5
|
+
import { getReferences } from "../../../utils/GetReferences";
|
|
6
|
+
import {
|
|
7
|
+
DepartRetraiteReferences,
|
|
8
|
+
MiseRetraiteReferences,
|
|
9
|
+
} from "../../common/legal-references";
|
|
10
|
+
|
|
11
|
+
const engine = new Engine(mergeModels());
|
|
12
|
+
|
|
13
|
+
const DepartRetraiteReferencesEmployes = [
|
|
14
|
+
...DepartRetraiteReferences,
|
|
15
|
+
{
|
|
16
|
+
article: "Article 32.1",
|
|
17
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832772/?idConteneur=KALICONT000005635630",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
article: "Article 30",
|
|
21
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000005857304?idConteneur=KALICONT000005635",
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
const DepartRetraiteReferencesTechniciens = [
|
|
26
|
+
...DepartRetraiteReferences,
|
|
27
|
+
{
|
|
28
|
+
article: "Article 51.1",
|
|
29
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832767/?idConteneur=KALICONT000005635630",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
article: "Article 49",
|
|
33
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000023734748/?idConteneur=KALICONT000005635630",
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
const DepartRetraiteReferencesCadres = [
|
|
38
|
+
...DepartRetraiteReferences,
|
|
39
|
+
{
|
|
40
|
+
article: "Article 70.1",
|
|
41
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832762/?idConteneur=KALICONT000005635630",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
article: "Article 68",
|
|
45
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000005857360/?idConteneur=KALICONT000005635630",
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
const MiseRetraiteReferencesEmployes = [
|
|
50
|
+
...MiseRetraiteReferences,
|
|
51
|
+
{
|
|
52
|
+
article: "Article 32.2",
|
|
53
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832772/?idConteneur=KALICONT000005635630",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
article: "Article 30",
|
|
57
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000005857304?idConteneur=KALICONT000005635",
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
const MiseRetraiteReferencesTechniciens = [
|
|
62
|
+
...MiseRetraiteReferences,
|
|
63
|
+
{
|
|
64
|
+
article: "Article 51.2",
|
|
65
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832767/?idConteneur=KALICONT000005635630",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
article: "Article 49",
|
|
69
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000023734748/?idConteneur=KALICONT000005635630",
|
|
70
|
+
},
|
|
71
|
+
];
|
|
72
|
+
|
|
73
|
+
const MiseRetraiteReferencesCadres = [
|
|
74
|
+
...MiseRetraiteReferences,
|
|
75
|
+
{
|
|
76
|
+
article: "Article 70.2",
|
|
77
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832762/?idConteneur=KALICONT000005635630",
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
article: "Article 68",
|
|
81
|
+
url: "https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000005857360/?idConteneur=KALICONT000005635630",
|
|
82
|
+
},
|
|
83
|
+
];
|
|
84
|
+
|
|
85
|
+
const NotificationDeMiseALaRetraite =
|
|
86
|
+
"Le préavis démarre à partir du premier jour du mois suivant la notification par l'employeur de la mise à la retraite au salarié (ou la notification de l’accord par le salarié le cas échéant). Exemple : Si le 6 mars 2020 un employeur notifie au salarié sa mise à la retraite, le préavis à effectuer débutera le 1er avril 2020.";
|
|
87
|
+
|
|
88
|
+
const NotificationDeMiseALaRetraite2 =
|
|
89
|
+
"Pour le préavis de mise à la retraite, la convention collective indique une durée minimale et maximale. Il convient donc de se reporter vers l'employeur ou son représentant (ex : service RH) pour déterminer la durée applicable au préavis.";
|
|
90
|
+
|
|
91
|
+
const NotificationDeDepartALaRetraite =
|
|
92
|
+
"Le préavis démarre à partir du premier jour du mois suivant la notification par le salarié de sa demande de départ volontaire à la retraite. Exemple: Si le 6 mars 2020 un salarié notifie sa décision de partir à la retraite à son employeur, le préavis à effectuer débutera le 1er avril 2020.";
|
|
93
|
+
|
|
94
|
+
enum Category {
|
|
95
|
+
employes = "Employés (coefficients 120 à 215 inclus)",
|
|
96
|
+
cadres = "Cadres (à partir du coefficient 400)",
|
|
97
|
+
techniciens = "Techniciens et agents de maitrise (coefficients 220 à 390)",
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
type InputType = {
|
|
101
|
+
category: Category;
|
|
102
|
+
seniority: number;
|
|
103
|
+
expectedResult: number;
|
|
104
|
+
expectedReferences: { article: string; url: string }[];
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
type MiseInputType = InputType & { maximumValue: number };
|
|
108
|
+
|
|
109
|
+
describe("Préavis de retraite de la CC 86", () => {
|
|
110
|
+
describe("Vérification des départs à la retraite et des références juridiques", () => {
|
|
111
|
+
test.each`
|
|
112
|
+
category | seniority | expectedResult | expectedReferences
|
|
113
|
+
${Category.employes} | ${2} | ${1} | ${DepartRetraiteReferencesEmployes}
|
|
114
|
+
${Category.employes} | ${6} | ${1} | ${DepartRetraiteReferencesEmployes}
|
|
115
|
+
${Category.employes} | ${24} | ${2} | ${DepartRetraiteReferencesEmployes}
|
|
116
|
+
${Category.techniciens} | ${2} | ${2} | ${DepartRetraiteReferencesTechniciens}
|
|
117
|
+
${Category.techniciens} | ${6} | ${1} | ${DepartRetraiteReferencesTechniciens}
|
|
118
|
+
${Category.techniciens} | ${24} | ${2} | ${DepartRetraiteReferencesTechniciens}
|
|
119
|
+
${Category.cadres} | ${2} | ${3} | ${DepartRetraiteReferencesCadres}
|
|
120
|
+
${Category.cadres} | ${6} | ${1} | ${DepartRetraiteReferencesCadres}
|
|
121
|
+
${Category.cadres} | ${24} | ${2} | ${DepartRetraiteReferencesCadres}
|
|
122
|
+
`(
|
|
123
|
+
"Pour un $category possédant $seniority mois d'ancienneté, son préavis devrait être $expectedResult mois",
|
|
124
|
+
({
|
|
125
|
+
category,
|
|
126
|
+
seniority,
|
|
127
|
+
expectedResult,
|
|
128
|
+
expectedReferences,
|
|
129
|
+
}: InputType) => {
|
|
130
|
+
const situation = engine.setSituation({
|
|
131
|
+
"contrat salarié . ancienneté": seniority,
|
|
132
|
+
"contrat salarié . convention collective": "'IDCC0086'",
|
|
133
|
+
"contrat salarié . convention collective . publicité française . catégorie professionnelle": `'${category}'`,
|
|
134
|
+
"contrat salarié . mise à la retraite": "non",
|
|
135
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
136
|
+
});
|
|
137
|
+
const result = situation.evaluate(
|
|
138
|
+
"contrat salarié . préavis de retraite"
|
|
139
|
+
);
|
|
140
|
+
const maximumResult = situation.evaluate(
|
|
141
|
+
"contrat salarié . préavis de retraite collective maximum"
|
|
142
|
+
);
|
|
143
|
+
const references = getReferences(situation);
|
|
144
|
+
|
|
145
|
+
expect(maximumResult.nodeValue).toBe(false);
|
|
146
|
+
expect(result.nodeValue).toEqual(expectedResult);
|
|
147
|
+
expect(result.unit?.numerators).toEqual(["mois"]);
|
|
148
|
+
expect(result.missingVariables).toEqual({});
|
|
149
|
+
expect(references).toHaveLength(expectedReferences.length);
|
|
150
|
+
expect(references).toEqual(expect.arrayContaining(expectedReferences));
|
|
151
|
+
}
|
|
152
|
+
);
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
describe("Vérification des mises à la retraite et des références juridiques", () => {
|
|
156
|
+
test.each`
|
|
157
|
+
category | seniority | expectedResult | expectedReferences | maximumValue
|
|
158
|
+
${Category.employes} | ${2} | ${1} | ${MiseRetraiteReferencesEmployes} | ${3}
|
|
159
|
+
${Category.employes} | ${6} | ${1} | ${MiseRetraiteReferencesEmployes} | ${3}
|
|
160
|
+
${Category.employes} | ${24} | ${2} | ${MiseRetraiteReferencesEmployes} | ${3}
|
|
161
|
+
${Category.techniciens} | ${2} | ${2} | ${MiseRetraiteReferencesTechniciens} | ${4}
|
|
162
|
+
${Category.techniciens} | ${6} | ${2} | ${MiseRetraiteReferencesTechniciens} | ${4}
|
|
163
|
+
${Category.techniciens} | ${24} | ${2} | ${MiseRetraiteReferencesTechniciens} | ${4}
|
|
164
|
+
${Category.cadres} | ${2} | ${3} | ${MiseRetraiteReferencesCadres} | ${6}
|
|
165
|
+
${Category.cadres} | ${6} | ${3} | ${MiseRetraiteReferencesCadres} | ${6}
|
|
166
|
+
${Category.cadres} | ${24} | ${3} | ${MiseRetraiteReferencesCadres} | ${6}
|
|
167
|
+
`(
|
|
168
|
+
"Pour un $category possédant $seniority mois d'ancienneté, son préavis devrait être $expectedResult mois",
|
|
169
|
+
({
|
|
170
|
+
category,
|
|
171
|
+
seniority,
|
|
172
|
+
expectedResult,
|
|
173
|
+
expectedReferences,
|
|
174
|
+
maximumValue,
|
|
175
|
+
}: MiseInputType) => {
|
|
176
|
+
const situation = engine.setSituation({
|
|
177
|
+
"contrat salarié . ancienneté": seniority,
|
|
178
|
+
"contrat salarié . convention collective": "'IDCC0086'",
|
|
179
|
+
"contrat salarié . convention collective . publicité française . catégorie professionnelle": `'${category}'`,
|
|
180
|
+
"contrat salarié . mise à la retraite": "oui",
|
|
181
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
182
|
+
});
|
|
183
|
+
const result = situation.evaluate(
|
|
184
|
+
"contrat salarié . préavis de retraite"
|
|
185
|
+
);
|
|
186
|
+
const references = getReferences(situation);
|
|
187
|
+
const maximumResult = situation.evaluate(
|
|
188
|
+
"contrat salarié . préavis de retraite collective maximum"
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
expect(maximumResult.nodeValue).toBe(maximumValue);
|
|
192
|
+
expect(result.nodeValue).toEqual(expectedResult);
|
|
193
|
+
expect(result.unit?.numerators).toEqual(["mois"]);
|
|
194
|
+
expect(result.missingVariables).toEqual({});
|
|
195
|
+
expect(references).toHaveLength(expectedReferences.length);
|
|
196
|
+
expect(references).toEqual(expect.arrayContaining(expectedReferences));
|
|
197
|
+
}
|
|
198
|
+
);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
describe("Vérification des notifications", () => {
|
|
203
|
+
test("Pour un départ à la retraite, une notification doit s'afficher si son ancienneté est inférieur à 6 mois", () => {
|
|
204
|
+
const notifications = getNotifications(
|
|
205
|
+
engine.setSituation({
|
|
206
|
+
"contrat salarié . ancienneté": 5,
|
|
207
|
+
"contrat salarié . convention collective": "'IDCC0086'",
|
|
208
|
+
"contrat salarié . convention collective . publicité française . catégorie professionnelle": `'${Category.employes}'`,
|
|
209
|
+
"contrat salarié . mise à la retraite": "non",
|
|
210
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
211
|
+
})
|
|
212
|
+
);
|
|
213
|
+
expect(notifications).toHaveLength(1);
|
|
214
|
+
expect(notifications[0].description).toBe(NotificationDeDepartALaRetraite);
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
test("Pour un départ à la retraite, une notification doit s'afficher si son ancienneté est supérieur à 6 mois", () => {
|
|
218
|
+
const notifications = getNotifications(
|
|
219
|
+
engine.setSituation({
|
|
220
|
+
"contrat salarié . ancienneté": 7,
|
|
221
|
+
"contrat salarié . convention collective": "'IDCC0086'",
|
|
222
|
+
"contrat salarié . convention collective . publicité française . catégorie professionnelle": `'${Category.employes}'`,
|
|
223
|
+
"contrat salarié . mise à la retraite": "non",
|
|
224
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
225
|
+
})
|
|
226
|
+
);
|
|
227
|
+
expect(notifications).toHaveLength(0);
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
test("Pour une mise à la retraite, une notification doit s'afficher", () => {
|
|
231
|
+
const notifications = getNotifications(
|
|
232
|
+
engine.setSituation({
|
|
233
|
+
"contrat salarié . ancienneté": 5,
|
|
234
|
+
"contrat salarié . convention collective": "'IDCC0086'",
|
|
235
|
+
"contrat salarié . convention collective . publicité française . catégorie professionnelle": `'${Category.employes}'`,
|
|
236
|
+
"contrat salarié . mise à la retraite": "oui",
|
|
237
|
+
"contrat salarié . travailleur handicapé": "non",
|
|
238
|
+
})
|
|
239
|
+
);
|
|
240
|
+
expect(notifications).toHaveLength(2);
|
|
241
|
+
expect(notifications[0].description).toBe(NotificationDeMiseALaRetraite);
|
|
242
|
+
expect(notifications[1].description).toBe(NotificationDeMiseALaRetraite2);
|
|
243
|
+
});
|
|
244
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import modeles from "./modeles/modeles.json";
|
|
2
2
|
import { supportedCcn } from "./utils/Constants";
|
|
3
3
|
import { getNotifications, Notification } from "./utils/GetNotifications";
|
|
4
|
+
import { getReferences } from "./utils/GetReferences";
|
|
4
5
|
|
|
5
|
-
export { getNotifications, modeles, Notification, supportedCcn };
|
|
6
|
+
export { getNotifications, getReferences, modeles, Notification, supportedCcn };
|
|
@@ -116,3 +116,21 @@ contrat salarié . convention collective:
|
|
|
116
116
|
titre: Convention collective
|
|
117
117
|
question: Quelle est votre convention collective ?
|
|
118
118
|
par défaut: "''"
|
|
119
|
+
|
|
120
|
+
contrat salarié . préavis de retraite collective maximum: non
|
|
121
|
+
|
|
122
|
+
contrat salarié . préavis de retraite collective maximum en jours:
|
|
123
|
+
valeur: contrat salarié . préavis de retraite collective maximum
|
|
124
|
+
unité: jour
|
|
125
|
+
|
|
126
|
+
contrat salarié . préavis de retraite collective maximum pour travailleur handicapé:
|
|
127
|
+
applicable si: contrat salarié . travailleur handicapé
|
|
128
|
+
remplace: contrat salarié . préavis de retraite collective maximum
|
|
129
|
+
variations:
|
|
130
|
+
- si: contrat salarié . préavis de retraite collective maximum < 3 mois
|
|
131
|
+
alors:
|
|
132
|
+
variations:
|
|
133
|
+
- si: contrat salarié . préavis de retraite collective maximum * 2 > 3 mois
|
|
134
|
+
alors: 3 mois
|
|
135
|
+
- sinon: contrat salarié . préavis de retraite collective maximum * 2
|
|
136
|
+
- sinon: contrat salarié . préavis de retraite collective maximum
|
|
@@ -4,4 +4,67 @@ contrat salarié . convention collective . télécommunications:
|
|
|
4
4
|
valeur: oui
|
|
5
5
|
cdtn:
|
|
6
6
|
idcc: 2148
|
|
7
|
-
préavis-retraite:
|
|
7
|
+
préavis-retraite: true
|
|
8
|
+
|
|
9
|
+
contrat salarié . convention collective . télécommunications . catégorie professionnelle:
|
|
10
|
+
titre: Catégorie professionnelle
|
|
11
|
+
question: Quelle est la catégorie professionnelle du salarié ?
|
|
12
|
+
description: La catégorie professionnelle du salarié est habituellement mentionnée sur le <strong>bulletin de salaire</strong>.
|
|
13
|
+
cdtn:
|
|
14
|
+
type: liste
|
|
15
|
+
valeurs:
|
|
16
|
+
A et B: "'A et B'"
|
|
17
|
+
C et D: "'C et D'"
|
|
18
|
+
E, F et G: "'E, F et G'"
|
|
19
|
+
Hors classification: "'Hors classification'"
|
|
20
|
+
|
|
21
|
+
contrat salarié . convention collective . télécommunications . catégorie professionnelle . a et b:
|
|
22
|
+
applicable si: catégorie professionnelle = 'A et B'
|
|
23
|
+
remplace: préavis de retraite collective
|
|
24
|
+
grille:
|
|
25
|
+
assiette: ancienneté
|
|
26
|
+
tranches:
|
|
27
|
+
- montant: 1 mois
|
|
28
|
+
plafond: 25 mois
|
|
29
|
+
- montant: 2 mois
|
|
30
|
+
références:
|
|
31
|
+
Article 4.4.2: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000021550694/?idConteneur=KALICONT000005635557
|
|
32
|
+
Article 4.4.1.1: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000022416125/?idConteneur=KALICONT000005635557
|
|
33
|
+
|
|
34
|
+
contrat salarié . convention collective . télécommunications . catégorie professionnelle . c et d:
|
|
35
|
+
applicable si: catégorie professionnelle = 'C et D'
|
|
36
|
+
remplace: préavis de retraite collective
|
|
37
|
+
valeur: 2 mois
|
|
38
|
+
références:
|
|
39
|
+
Article 4.4.2: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000021550694/?idConteneur=KALICONT000005635557
|
|
40
|
+
Article 4.4.1.1: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000022416125/?idConteneur=KALICONT000005635557
|
|
41
|
+
|
|
42
|
+
contrat salarié . convention collective . télécommunications . catégorie professionnelle . e f et g:
|
|
43
|
+
applicable si:
|
|
44
|
+
une de ces conditions:
|
|
45
|
+
- catégorie professionnelle = 'E, F et G'
|
|
46
|
+
- catégorie professionnelle = 'Hors classification'
|
|
47
|
+
remplace: préavis de retraite collective
|
|
48
|
+
valeur: 3 mois
|
|
49
|
+
références:
|
|
50
|
+
Article 4.4.2: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000021550694/?idConteneur=KALICONT000005635557
|
|
51
|
+
Article 4.4.1.1: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000022416125/?idConteneur=KALICONT000005635557
|
|
52
|
+
|
|
53
|
+
contrat salarié . convention collective . télécommunications . notification de mise a la retraite d'un salarié hors classification:
|
|
54
|
+
applicable si:
|
|
55
|
+
toutes ces conditions:
|
|
56
|
+
- mise à la retraite
|
|
57
|
+
- catégorie professionnelle = 'Hors classification'
|
|
58
|
+
type: notification
|
|
59
|
+
description: "En cas de mise à la retraite, la durée du préavis des salariés hors classification est fixée dans le contrat de travail sans pouvoir être inférieure à 3 mois."
|
|
60
|
+
valeur: oui
|
|
61
|
+
|
|
62
|
+
contrat salarié . convention collective . télécommunications . notification de départ a la retraite d'un salarié hors classification:
|
|
63
|
+
applicable si:
|
|
64
|
+
toutes ces conditions:
|
|
65
|
+
- départ à la retraite
|
|
66
|
+
- catégorie professionnelle = 'Hors classification'
|
|
67
|
+
- ancienneté < 6 mois
|
|
68
|
+
type: notification
|
|
69
|
+
description: "La durée du préavis des salariés hors classification est fixée dans le contrat de travail sans pouvoir être inférieure à 3 mois."
|
|
70
|
+
valeur: oui
|
|
@@ -4,4 +4,49 @@ contrat salarié . convention collective . coiffure:
|
|
|
4
4
|
valeur: oui
|
|
5
5
|
cdtn:
|
|
6
6
|
idcc: 2596
|
|
7
|
-
préavis-retraite:
|
|
7
|
+
préavis-retraite: true
|
|
8
|
+
|
|
9
|
+
contrat salarié . convention collective . coiffure . catégorie professionnelle:
|
|
10
|
+
titre: Catégorie professionnelle
|
|
11
|
+
question: Quelle est la catégorie professionnelle du salarié ?
|
|
12
|
+
description: La catégorie professionnelle du salarié est habituellement mentionnée sur le <strong>bulletin de salaire</strong>.
|
|
13
|
+
cdtn:
|
|
14
|
+
type: liste
|
|
15
|
+
valeurs:
|
|
16
|
+
Salariés occupant un emploi technique de la coiffure: "'Salariés occupant un emploi technique de la coiffure'"
|
|
17
|
+
Salariés occupant un emploi non technique de la coiffure: "'Salariés occupant un emploi non technique de la coiffure'"
|
|
18
|
+
Salariés occupant un emploi de l'esthétique cosmétique: "'Salariés occupant un emploi de l'esthétique cosmétique'"
|
|
19
|
+
Cadres: "'Cadres'"
|
|
20
|
+
Agents de maîtrise: "'Agents de maîtrise'"
|
|
21
|
+
|
|
22
|
+
contrat salarié . convention collective . coiffure . catégorie professionnelle . salarié:
|
|
23
|
+
applicable si:
|
|
24
|
+
toutes ces conditions:
|
|
25
|
+
- mise à la retraite
|
|
26
|
+
- une de ces conditions:
|
|
27
|
+
- catégorie professionnelle = 'Salariés occupant un emploi technique de la coiffure'
|
|
28
|
+
- catégorie professionnelle = 'Salariés occupant un emploi non technique de la coiffure'
|
|
29
|
+
- catégorie professionnelle = 'Salariés occupant un emploi de l'esthétique cosmétique'
|
|
30
|
+
remplace: préavis de retraite collective
|
|
31
|
+
grille:
|
|
32
|
+
assiette: ancienneté
|
|
33
|
+
tranches:
|
|
34
|
+
- montant: 7 jour
|
|
35
|
+
plafond: 6 mois
|
|
36
|
+
- montant: 1 mois
|
|
37
|
+
plafond: 25 mois
|
|
38
|
+
- montant: 2 mois
|
|
39
|
+
références:
|
|
40
|
+
Article 7.4.1: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000018563843/?idConteneur=KALICONT000018563755
|
|
41
|
+
|
|
42
|
+
contrat salarié . convention collective . coiffure . catégorie professionnelle . cadres ou agents de maîtrise:
|
|
43
|
+
applicable si:
|
|
44
|
+
toutes ces conditions:
|
|
45
|
+
- mise à la retraite
|
|
46
|
+
- une de ces conditions:
|
|
47
|
+
- catégorie professionnelle = 'Cadres'
|
|
48
|
+
- catégorie professionnelle = 'Agents de maîtrise'
|
|
49
|
+
remplace: préavis de retraite collective
|
|
50
|
+
valeur: 3 mois
|
|
51
|
+
références:
|
|
52
|
+
Article 7.4.1: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000018563843/?idConteneur=KALICONT000018563755
|
|
@@ -1,7 +1,139 @@
|
|
|
1
1
|
contrat salarié . convention collective . publicité française:
|
|
2
|
-
description: Convention collective nationale de travail des
|
|
2
|
+
description: Convention collective nationale de travail des Techniciens et agents de maitrise (coefficients 220 à 390), techniciens et employés de la publicité française du 22 avril 1955.
|
|
3
3
|
applicable si: convention collective = 'IDCC0086'
|
|
4
4
|
valeur: oui
|
|
5
5
|
cdtn:
|
|
6
6
|
idcc: 86
|
|
7
|
-
préavis-retraite:
|
|
7
|
+
préavis-retraite: true
|
|
8
|
+
|
|
9
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle:
|
|
10
|
+
titre: Catégorie professionnelle
|
|
11
|
+
question: Quelle est la catégorie professionnelle du salarié ?
|
|
12
|
+
description: La catégorie professionnelle du salarié est habituellement mentionnée sur le <strong>bulletin de salaire</strong>.
|
|
13
|
+
cdtn:
|
|
14
|
+
type: liste
|
|
15
|
+
valeurs:
|
|
16
|
+
Employés (coefficients 120 à 215 inclus): "'Employés (coefficients 120 à 215 inclus)'"
|
|
17
|
+
Techniciens et agents de maitrise (coefficients 220 à 390): "'Techniciens et agents de maitrise (coefficients 220 à 390)'"
|
|
18
|
+
Cadres (à partir du coefficient 400): "'Cadres (à partir du coefficient 400)'"
|
|
19
|
+
|
|
20
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle . départ à la retraite d'un employé:
|
|
21
|
+
applicable si:
|
|
22
|
+
toutes ces conditions:
|
|
23
|
+
- départ à la retraite
|
|
24
|
+
- catégorie professionnelle = 'Employés (coefficients 120 à 215 inclus)'
|
|
25
|
+
remplace: préavis de retraite collective
|
|
26
|
+
grille:
|
|
27
|
+
assiette: ancienneté
|
|
28
|
+
tranches:
|
|
29
|
+
- montant: 1 mois
|
|
30
|
+
plafond: 24 mois
|
|
31
|
+
- montant: 2 mois
|
|
32
|
+
références:
|
|
33
|
+
Article 32.1: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832772/?idConteneur=KALICONT000005635630
|
|
34
|
+
Article 30: https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000005857304?idConteneur=KALICONT000005635
|
|
35
|
+
|
|
36
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle . départ à la retraite d'un technicien:
|
|
37
|
+
applicable si:
|
|
38
|
+
toutes ces conditions:
|
|
39
|
+
- départ à la retraite
|
|
40
|
+
- catégorie professionnelle = 'Techniciens et agents de maitrise (coefficients 220 à 390)'
|
|
41
|
+
remplace: préavis de retraite collective
|
|
42
|
+
valeur: 2 mois
|
|
43
|
+
références:
|
|
44
|
+
Article 51.1: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832767/?idConteneur=KALICONT000005635630
|
|
45
|
+
Article 49: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000023734748/?idConteneur=KALICONT000005635630
|
|
46
|
+
|
|
47
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle . départ à la retraite d'un cadre:
|
|
48
|
+
applicable si:
|
|
49
|
+
toutes ces conditions:
|
|
50
|
+
- départ à la retraite
|
|
51
|
+
- catégorie professionnelle = 'Cadres (à partir du coefficient 400)'
|
|
52
|
+
remplace: préavis de retraite collective
|
|
53
|
+
valeur: 3 mois
|
|
54
|
+
références:
|
|
55
|
+
Article 70.1: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832762/?idConteneur=KALICONT000005635630
|
|
56
|
+
Article 68: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000005857360/?idConteneur=KALICONT000005635630
|
|
57
|
+
|
|
58
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle . mise à la retraite d'un employé:
|
|
59
|
+
applicable si:
|
|
60
|
+
toutes ces conditions:
|
|
61
|
+
- mise à la retraite
|
|
62
|
+
- catégorie professionnelle = 'Employés (coefficients 120 à 215 inclus)'
|
|
63
|
+
remplace: préavis de retraite collective
|
|
64
|
+
grille:
|
|
65
|
+
assiette: ancienneté
|
|
66
|
+
tranches:
|
|
67
|
+
- montant: 1 mois
|
|
68
|
+
plafond: 24 mois
|
|
69
|
+
- montant: 2 mois
|
|
70
|
+
références:
|
|
71
|
+
Article 32.2: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832772/?idConteneur=KALICONT000005635630
|
|
72
|
+
Article 30: https://www.legifrance.gouv.fr/conv_coll/article/KALIARTI000005857304?idConteneur=KALICONT000005635
|
|
73
|
+
|
|
74
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle . mise à la retraite d'un employé maximum:
|
|
75
|
+
applicable si:
|
|
76
|
+
toutes ces conditions:
|
|
77
|
+
- mise à la retraite
|
|
78
|
+
- catégorie professionnelle = 'Employés (coefficients 120 à 215 inclus)'
|
|
79
|
+
remplace: préavis de retraite collective maximum
|
|
80
|
+
valeur: 3 mois
|
|
81
|
+
|
|
82
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle . mise à la retraite d'un technicien:
|
|
83
|
+
applicable si:
|
|
84
|
+
toutes ces conditions:
|
|
85
|
+
- mise à la retraite
|
|
86
|
+
- catégorie professionnelle = 'Techniciens et agents de maitrise (coefficients 220 à 390)'
|
|
87
|
+
remplace: préavis de retraite collective
|
|
88
|
+
valeur: 2 mois
|
|
89
|
+
références:
|
|
90
|
+
Article 51.2: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832767/?idConteneur=KALICONT000005635630
|
|
91
|
+
Article 49: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000023734748/?idConteneur=KALICONT000005635630
|
|
92
|
+
|
|
93
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle . mise à la retraite d'un technicien maximum:
|
|
94
|
+
applicable si:
|
|
95
|
+
toutes ces conditions:
|
|
96
|
+
- mise à la retraite
|
|
97
|
+
- catégorie professionnelle = 'Techniciens et agents de maitrise (coefficients 220 à 390)'
|
|
98
|
+
remplace: préavis de retraite collective maximum
|
|
99
|
+
valeur: 4 mois
|
|
100
|
+
|
|
101
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle . mise à la retraite d'un cadre:
|
|
102
|
+
applicable si:
|
|
103
|
+
toutes ces conditions:
|
|
104
|
+
- mise à la retraite
|
|
105
|
+
- catégorie professionnelle = 'Cadres (à partir du coefficient 400)'
|
|
106
|
+
remplace: préavis de retraite collective
|
|
107
|
+
valeur: 3 mois
|
|
108
|
+
références:
|
|
109
|
+
Article 70.2: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000036832762/?idConteneur=KALICONT000005635630
|
|
110
|
+
Article 68: https://www.legifrance.gouv.fr/conv_coll/id/KALIARTI000005857360/?idConteneur=KALICONT000005635630
|
|
111
|
+
|
|
112
|
+
contrat salarié . convention collective . publicité française . catégorie professionnelle . mise à la retraite d'un cadre maximum:
|
|
113
|
+
applicable si:
|
|
114
|
+
toutes ces conditions:
|
|
115
|
+
- mise à la retraite
|
|
116
|
+
- catégorie professionnelle = 'Cadres (à partir du coefficient 400)'
|
|
117
|
+
remplace: préavis de retraite collective maximum
|
|
118
|
+
valeur: 6 mois
|
|
119
|
+
|
|
120
|
+
contrat salarié . convention collective . publicité française . notification de mise à la retraite:
|
|
121
|
+
applicable si: mise à la retraite
|
|
122
|
+
type: notification
|
|
123
|
+
description: "Le préavis démarre à partir du premier jour du mois suivant la notification par l'employeur de la mise à la retraite au salarié (ou la notification de l’accord par le salarié le cas échéant). Exemple : Si le 6 mars 2020 un employeur notifie au salarié sa mise à la retraite, le préavis à effectuer débutera le 1er avril 2020."
|
|
124
|
+
valeur: oui
|
|
125
|
+
|
|
126
|
+
contrat salarié . convention collective . publicité française . notification de mise à la retraite 2:
|
|
127
|
+
applicable si: mise à la retraite
|
|
128
|
+
type: notification
|
|
129
|
+
description: "Pour le préavis de mise à la retraite, la convention collective indique une durée minimale et maximale. Il convient donc de se reporter vers l'employeur ou son représentant (ex : service RH) pour déterminer la durée applicable au préavis."
|
|
130
|
+
valeur: oui
|
|
131
|
+
|
|
132
|
+
contrat salarié . convention collective . publicité française . notification de départ à la retraite:
|
|
133
|
+
applicable si:
|
|
134
|
+
toutes ces conditions:
|
|
135
|
+
- départ à la retraite
|
|
136
|
+
- ancienneté < 6 mois
|
|
137
|
+
type: notification
|
|
138
|
+
description: "Le préavis démarre à partir du premier jour du mois suivant la notification par le salarié de sa demande de départ volontaire à la retraite. Exemple: Si le 6 mars 2020 un salarié notifie sa décision de partir à la retraite à son employeur, le préavis à effectuer débutera le 1er avril 2020."
|
|
139
|
+
valeur: oui
|