Skip to content

Commit

Permalink
refactor: ancienneté dans modele (#5601)
Browse files Browse the repository at this point in the history
* refactor: ancienneté dans modele

* chore: fix tests

* refactor: gestion des extraInfos

* chore: clean

* fix: missing args

* chore: review

* refactor: 5602 refacto simulateur ajout du dcorateur de salaire de rfrence sur lindemnit licenciement (#5612)

* refactor: salaire reference pour indemnite licenciement

* feat: implement salary ref legal

* feat: implement special cases

* fix: TU fail

* chore: clean

* chore: clean fake test

* feat: 5622 refacto simulateur gestion des inligibilits sur les modles (#5624)

* refactor: passer ineligibilite dans les modeles

* refacot

* fix: TU

* fix: TU

* chore: clean

* chore: clean

* chore: clean

* chore: clean

* chore: clean salary

* chore: clean console log

* chore: clean

* chore: fix tests

* fix: update ineligibility

* fix: inaptitude medicale

---------

Co-authored-by: Victor <[email protected]>

---------

Co-authored-by: Victor <[email protected]>

---------

Co-authored-by: Victor <[email protected]>
  • Loading branch information
Viczei and Victor authored Feb 28, 2024
1 parent 1d63f26 commit 1fac319
Show file tree
Hide file tree
Showing 117 changed files with 1,639 additions and 1,638 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -53,16 +53,17 @@ const createCommonInformationsStore: StoreSlice<
get().contratTravailData.input.licenciementInaptitude === "oui";
try {
if (agreement && isAgreementSupportedIndemniteLicenciement) {
const missingArgs = publicodes
.setSituation(
mapToPublicodesSituationForIndemniteLicenciementConventionnel(
agreement.num,
isLicenciementInaptitude,
false
),
"contrat salarié . indemnité de licenciement . résultat conventionnel"
)
.missingArgs.filter((item) => item.rawNode.cdtn);
const result = publicodes.setSituation(
mapToPublicodesSituationForIndemniteLicenciementConventionnel(
agreement.num,
isLicenciementInaptitude,
false
),
"contrat salarié . indemnité de licenciement . résultat conventionnel"
);
const missingArgs = result.missingArgs.filter(
(item) => item.rawNode.cdtn
);
if (missingArgs.length > 0) {
const question = missingArgs.map((arg) => ({
name: arg.name,
Expand Down Expand Up @@ -110,6 +111,9 @@ const createCommonInformationsStore: StoreSlice<
get().informationsData.input.publicodesInformations;
const isLicenciementInaptitude =
get().contratTravailData.input.licenciementInaptitude === "oui";
const contractType = get().contratTravailData.input.typeContratTravail;
const isDismissalSeriousMisconduct =
get().contratTravailData.input.licenciementFauteGrave;
const questionAnswered = publicodesInformations.find(
(question) => question.question.rule.nom === key
);
Expand All @@ -135,17 +139,16 @@ const createCommonInformationsStore: StoreSlice<
let missingArgs: MissingArgs[] = [];
let blockingNotification: any = undefined;
try {
missingArgs = publicodes
.setSituation(
mapToPublicodesSituationForIndemniteLicenciementConventionnel(
agreement.num,
isLicenciementInaptitude,
false,
rules
),
"contrat salarié . indemnité de licenciement . résultat conventionnel"
)
.missingArgs.filter((item) => item.rawNode.cdtn);
const result = publicodes.setSituation(
mapToPublicodesSituationForIndemniteLicenciementConventionnel(
agreement.num,
isLicenciementInaptitude,
false,
rules
),
"contrat salarié . indemnité de licenciement . résultat conventionnel"
);
missingArgs = result.missingArgs.filter((item) => item.rawNode.cdtn);
const notifBloquante = publicodes.getNotificationsBloquantes();
if (notifBloquante.length > 0) {
blockingNotification = notifBloquante[0].description;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import {
} from "./types";
import { validateStep } from "./validator";
import { ContratTravailStoreSlice } from "../../../steps/ContratTravail/store";
import { CommonSituationStoreSlice } from "../../../../common/situationStore";

const initialState: Agreement1483StoreData = {
input: {
Expand All @@ -25,14 +26,18 @@ const initialState: Agreement1483StoreData = {

export const createAgreement1483StoreSalaires: StoreSlice<
Agreement1483StoreSlice,
SalairesStoreSlice & AncienneteStoreSlice & ContratTravailStoreSlice
SalairesStoreSlice &
AncienneteStoreSlice &
ContratTravailStoreSlice &
CommonSituationStoreSlice
> = (set, get) => ({
agreement1483Data: { ...initialState },
agreement1483Function: {
onInit: () => {
const dateArretTravail = get().contratTravailData.input.dateArretTravail;

if (dateArretTravail) {
get().situationFunction.setSituation("noticeSalaryPeriods", "[]");
return set(
produce((state: Agreement1483StoreSlice) => {
state.agreement1483Data.input.noticeSalaryPeriods = [];
Expand Down Expand Up @@ -60,6 +65,10 @@ export const createAgreement1483StoreSalaires: StoreSlice<
"month"
);

get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(noticeSalaryPeriods)
);
set(
produce((state: Agreement1483StoreSlice) => {
state.agreement1483Data.input.noticeSalaryPeriods =
Expand All @@ -74,6 +83,10 @@ export const createAgreement1483StoreSalaires: StoreSlice<
get().agreement1483Function.onInit();
},
onSalariesChange: (value) => {
get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(value)
);
applyGenericValidation(get, set, "noticeSalaryPeriods", value);
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import {
} from "./types";
import { validateStep } from "./validator";
import { ContratTravailStoreSlice } from "../../../steps/ContratTravail/store";
import { CommonSituationStoreSlice } from "../../../../common/situationStore";

const initialState: Agreement1516StoreData = {
input: {
Expand All @@ -25,14 +26,18 @@ const initialState: Agreement1516StoreData = {

export const createAgreement1516StoreSalaires: StoreSlice<
Agreement1516StoreSlice,
SalairesStoreSlice & AncienneteStoreSlice & ContratTravailStoreSlice
SalairesStoreSlice &
AncienneteStoreSlice &
ContratTravailStoreSlice &
CommonSituationStoreSlice
> = (set, get) => ({
agreement1516Data: { ...initialState },
agreement1516Function: {
onInit: () => {
const dateArretTravail = get().contratTravailData.input.dateArretTravail;

if (dateArretTravail) {
get().situationFunction.setSituation("noticeSalaryPeriods", "[]");
return set(
produce((state: Agreement1516StoreSlice) => {
state.agreement1516Data.input.noticeSalaryPeriods = [];
Expand All @@ -59,7 +64,10 @@ export const createAgreement1516StoreSalaires: StoreSlice<
agreementSalaryPeriod,
"month"
);

get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(noticeSalaryPeriods)
);
set(
produce((state: Agreement1516StoreSlice) => {
state.agreement1516Data.input.noticeSalaryPeriods =
Expand All @@ -74,6 +82,10 @@ export const createAgreement1516StoreSalaires: StoreSlice<
get().agreement1516Function.onInit();
},
onSalariesChange: (value) => {
get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(value)
);
applyGenericValidation(get, set, "noticeSalaryPeriods", value);
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,10 @@ export const validateStep = (state: Agreement1516StoreInput) => {
};
}

return {
isValid: deepEqualObject(errorState, {
errorHasReceivedSalaries: undefined,
errorNoticeSalaryPeriods: undefined,
}),
errorState,
};
const isValid = deepEqualObject(errorState, {
errorHasReceivedSalaries: undefined,
errorNoticeSalaryPeriods: undefined,
});

return { isValid, errorState };
};
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
} from "./types";
import { validateStep } from "./validator";
import { CommonInformationsStoreSlice } from "../../../../CommonSteps/Informations/store";
import { CommonSituationStoreSlice } from "../../../../common/situationStore";

const initialState: Agreement16StoreData = {
input: {
Expand All @@ -22,16 +23,20 @@ const initialState: Agreement16StoreData = {

export const createAgreement16StoreSalaires: StoreSlice<
Agreement16StoreSlice,
SalairesStoreSlice & AncienneteStoreSlice & CommonInformationsStoreSlice
SalairesStoreSlice &
AncienneteStoreSlice &
CommonInformationsStoreSlice &
CommonSituationStoreSlice
> = (set, get) => ({
agreement16Data: { ...initialState },
agreement16Function: {
onInit: () => {
const categoryPro = get().informationsData.input.publicodesInformations.find(
(item) =>
item.question.name ===
"contrat salarié - convention collective - transports routiers - indemnité de licenciement - catégorie professionnelle"
)?.info;
const categoryPro =
get().informationsData.input.publicodesInformations.find(
(item) =>
item.question.name ===
"contrat salarié - convention collective - transports routiers - indemnité de licenciement - catégorie professionnelle"
)?.info;
set(
produce((state: Agreement16StoreSlice) => {
state.agreement16Data.input.showVariablePay =
Expand All @@ -42,6 +47,7 @@ export const createAgreement16StoreSalaires: StoreSlice<
);
},
onChangeHasVariablePay: (value) => {
get().situationFunction.setSituation("hasVariablePay", value);
applyGenericValidation(get, set, "hasVariablePay", value);
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
import { validateStep } from "./validator";
import { CommonInformationsStoreSlice } from "../../../../CommonSteps/Informations/store";
import { ContratTravailStoreSlice } from "../../../steps/ContratTravail/store";
import { CommonSituationStoreSlice } from "../../../../common/situationStore";

const initialState: Agreement1672StoreData = {
input: {
Expand All @@ -29,14 +30,19 @@ export const createAgreement1672StoreSalaires: StoreSlice<
SalairesStoreSlice &
AncienneteStoreSlice &
CommonInformationsStoreSlice &
ContratTravailStoreSlice
ContratTravailStoreSlice &
CommonSituationStoreSlice
> = (set, get) => ({
agreement1672Data: { ...initialState },
agreement1672Function: {
onInit: () => {
const dateArretTravail = get().contratTravailData.input.dateArretTravail;

if (dateArretTravail) {
get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify([])
);
return set(
produce((state: Agreement1672StoreSlice) => {
state.agreement1672Data.input.noticeSalaryPeriods = [];
Expand All @@ -62,6 +68,10 @@ export const createAgreement1672StoreSalaires: StoreSlice<
"month"
);

get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(noticeSalaryPeriods)
);
set(
produce((state: Agreement1672StoreSlice) => {
state.agreement1672Data.input.noticeSalaryPeriods =
Expand All @@ -74,6 +84,10 @@ export const createAgreement1672StoreSalaires: StoreSlice<
get().agreement1672Function.onInit();
},
onSalariesChange: (value) => {
get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(value)
);
applyGenericValidation(get, set, "noticeSalaryPeriods", value);
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
import { validateStep } from "./validator";
import { CommonInformationsStoreSlice } from "../../../../CommonSteps/Informations/store";
import { ContratTravailStoreSlice } from "../../../steps/ContratTravail/store";
import { CommonSituationStoreSlice } from "../../../../common/situationStore";

const initialState: Agreement1702StoreData = {
input: {
Expand All @@ -29,14 +30,16 @@ export const createAgreement1702StoreSalaires: StoreSlice<
SalairesStoreSlice &
AncienneteStoreSlice &
CommonInformationsStoreSlice &
ContratTravailStoreSlice
ContratTravailStoreSlice &
CommonSituationStoreSlice
> = (set, get) => ({
agreement1702Data: { ...initialState },
agreement1702Function: {
onInit: () => {
const dateArretTravail = get().contratTravailData.input.dateArretTravail;

if (dateArretTravail) {
get().situationFunction.setSituation("noticeSalaryPeriods", "[]");
return set(
produce((state: Agreement1702StoreSlice) => {
state.agreement1702Data.input.noticeSalaryPeriods = [];
Expand All @@ -62,6 +65,10 @@ export const createAgreement1702StoreSalaires: StoreSlice<
"month"
);

get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(noticeSalaryPeriods)
);
set(
produce((state: Agreement1702StoreSlice) => {
state.agreement1702Data.input.noticeSalaryPeriods =
Expand All @@ -74,6 +81,10 @@ export const createAgreement1702StoreSalaires: StoreSlice<
get().agreement1702Function.onInit();
},
onSalariesChange: (value) => {
get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(value)
);
applyGenericValidation(get, set, "noticeSalaryPeriods", value);
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
import { validateStep } from "./validator";
import { CommonInformationsStoreSlice } from "../../../../CommonSteps/Informations/store";
import { ContratTravailStoreSlice } from "../../../steps/ContratTravail/store";
import { CommonSituationStoreSlice } from "../../../../common/situationStore";

const initialState: Agreement1740StoreData = {
input: {
Expand All @@ -29,14 +30,19 @@ export const createAgreement1740StoreSalaires: StoreSlice<
SalairesStoreSlice &
AncienneteStoreSlice &
CommonInformationsStoreSlice &
ContratTravailStoreSlice
ContratTravailStoreSlice &
CommonSituationStoreSlice
> = (set, get) => ({
agreement1740Data: { ...initialState },
agreement1740Function: {
onInit: () => {
const dateArretTravail = get().contratTravailData.input.dateArretTravail;

if (dateArretTravail) {
get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify("[]")
);
return set(
produce((state: Agreement1740StoreSlice) => {
state.agreement1740Data.input.noticeSalaryPeriods = [];
Expand All @@ -62,6 +68,10 @@ export const createAgreement1740StoreSalaires: StoreSlice<
"month"
);

get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(noticeSalaryPeriods)
);
set(
produce((state: Agreement1740StoreSlice) => {
state.agreement1740Data.input.noticeSalaryPeriods =
Expand All @@ -74,6 +84,10 @@ export const createAgreement1740StoreSalaires: StoreSlice<
get().agreement1740Function.onInit();
},
onSalariesChange: (value) => {
get().situationFunction.setSituation(
"noticeSalaryPeriods",
JSON.stringify(value)
);
applyGenericValidation(get, set, "noticeSalaryPeriods", value);
},
},
Expand Down
Loading

0 comments on commit 1fac319

Please sign in to comment.