@silexpert/core 1.1.165 → 1.1.167

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.
Files changed (51) hide show
  1. package/dist/cjs/types/Enum/BrandPourcentage.d.ts +4 -0
  2. package/dist/cjs/types/Enum/BrandPourcentage.d.ts.map +1 -1
  3. package/dist/cjs/types/Enum/BrandPourcentage.js +2 -1
  4. package/dist/cjs/types/Enum/BrandPourcentage.js.map +1 -1
  5. package/dist/cjs/types/Enum/Constitution.d.ts +3 -0
  6. package/dist/cjs/types/Enum/Constitution.d.ts.map +1 -1
  7. package/dist/cjs/types/Enum/Constitution.js +3 -0
  8. package/dist/cjs/types/Enum/Constitution.js.map +1 -1
  9. package/dist/cjs/types/Enum/PrestationType.js +6 -6
  10. package/dist/cjs/types/Enum/PrestationType.js.map +1 -1
  11. package/dist/cjs/types/Enum/PriceGridClementine.d.ts +9 -0
  12. package/dist/cjs/types/Enum/PriceGridClementine.d.ts.map +1 -1
  13. package/dist/cjs/types/Enum/PriceGridClementine.js +15 -0
  14. package/dist/cjs/types/Enum/PriceGridClementine.js.map +1 -1
  15. package/dist/cjs/types/Interface/api/prestation/Query.d.ts +1 -0
  16. package/dist/cjs/types/Interface/api/prestation/Query.d.ts.map +1 -1
  17. package/dist/cjs/types/Interface/api/prestation/Query.js +8 -0
  18. package/dist/cjs/types/Interface/api/prestation/Query.js.map +1 -1
  19. package/dist/cjs/utils/prestation.d.ts +4 -1
  20. package/dist/cjs/utils/prestation.d.ts.map +1 -1
  21. package/dist/cjs/utils/prestation.js +47 -23
  22. package/dist/cjs/utils/prestation.js.map +1 -1
  23. package/dist/mjs/types/Enum/BrandPourcentage.d.ts +4 -0
  24. package/dist/mjs/types/Enum/BrandPourcentage.d.ts.map +1 -1
  25. package/dist/mjs/types/Enum/BrandPourcentage.js +2 -1
  26. package/dist/mjs/types/Enum/BrandPourcentage.js.map +1 -1
  27. package/dist/mjs/types/Enum/Constitution.d.ts +3 -0
  28. package/dist/mjs/types/Enum/Constitution.d.ts.map +1 -1
  29. package/dist/mjs/types/Enum/Constitution.js +3 -0
  30. package/dist/mjs/types/Enum/Constitution.js.map +1 -1
  31. package/dist/mjs/types/Enum/PrestationType.js +6 -6
  32. package/dist/mjs/types/Enum/PrestationType.js.map +1 -1
  33. package/dist/mjs/types/Enum/PriceGridClementine.d.ts +9 -0
  34. package/dist/mjs/types/Enum/PriceGridClementine.d.ts.map +1 -1
  35. package/dist/mjs/types/Enum/PriceGridClementine.js +15 -0
  36. package/dist/mjs/types/Enum/PriceGridClementine.js.map +1 -1
  37. package/dist/mjs/types/Interface/api/prestation/Query.d.ts +1 -0
  38. package/dist/mjs/types/Interface/api/prestation/Query.d.ts.map +1 -1
  39. package/dist/mjs/types/Interface/api/prestation/Query.js +10 -1
  40. package/dist/mjs/types/Interface/api/prestation/Query.js.map +1 -1
  41. package/dist/mjs/utils/prestation.d.ts +4 -1
  42. package/dist/mjs/utils/prestation.d.ts.map +1 -1
  43. package/dist/mjs/utils/prestation.js +37 -13
  44. package/dist/mjs/utils/prestation.js.map +1 -1
  45. package/package.json +1 -1
  46. package/ts/types/Enum/BrandPourcentage.ts +2 -1
  47. package/ts/types/Enum/Constitution.ts +3 -0
  48. package/ts/types/Enum/PrestationType.ts +6 -6
  49. package/ts/types/Enum/PriceGridClementine.ts +15 -0
  50. package/ts/types/Interface/api/prestation/Query.ts +8 -1
  51. package/ts/utils/prestation.ts +43 -12
@@ -1,6 +1,7 @@
1
1
  import { VatRegime } from './VatRegime';
2
2
  import { ClosingType } from './ClosingType';
3
3
  import { PrestationType } from './PrestationType';
4
+ import { TaxSystem } from './TaxSystem';
4
5
  export declare const PriceGridClementine: {
5
6
  idTypeBrand: number;
6
7
  price: ({
@@ -22,6 +23,7 @@ export declare const PriceGridClementine: {
22
23
  price: number;
23
24
  }[];
24
25
  properties?: undefined;
26
+ taxSystem?: undefined;
25
27
  turnoverCreatedYear?: undefined;
26
28
  turnoverPastYear?: undefined;
27
29
  partner?: undefined;
@@ -44,6 +46,10 @@ export declare const PriceGridClementine: {
44
46
  type: VatRegime;
45
47
  price: number;
46
48
  }[];
49
+ taxSystem: {
50
+ id: TaxSystem;
51
+ price: number;
52
+ }[];
47
53
  turnoverMonthly?: undefined;
48
54
  turnoverCreatedYear?: undefined;
49
55
  turnoverPastYear?: undefined;
@@ -64,6 +70,7 @@ export declare const PriceGridClementine: {
64
70
  turnoverMonthly?: undefined;
65
71
  vatRegimeMonthly?: undefined;
66
72
  properties?: undefined;
73
+ taxSystem?: undefined;
67
74
  partner?: undefined;
68
75
  employee?: undefined;
69
76
  } | {
@@ -78,6 +85,7 @@ export declare const PriceGridClementine: {
78
85
  turnoverMonthly?: undefined;
79
86
  vatRegimeMonthly?: undefined;
80
87
  properties?: undefined;
88
+ taxSystem?: undefined;
81
89
  turnoverCreatedYear?: undefined;
82
90
  turnoverPastYear?: undefined;
83
91
  employee?: undefined;
@@ -93,6 +101,7 @@ export declare const PriceGridClementine: {
93
101
  turnoverMonthly?: undefined;
94
102
  vatRegimeMonthly?: undefined;
95
103
  properties?: undefined;
104
+ taxSystem?: undefined;
96
105
  turnoverCreatedYear?: undefined;
97
106
  turnoverPastYear?: undefined;
98
107
  partner?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"PriceGridClementine.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/PriceGridClementine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0U/B,CAAC"}
1
+ {"version":3,"file":"PriceGridClementine.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/PriceGridClementine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwV/B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { VatRegime } from './VatRegime';
2
2
  import { ClosingType } from './ClosingType';
3
3
  import { PrestationType } from './PrestationType';
4
+ import { TaxSystem } from './TaxSystem';
4
5
  export const PriceGridClementine = [
5
6
  {
6
7
  /* Clementine */
@@ -213,6 +214,20 @@ export const PriceGridClementine = [
213
214
  price: 40,
214
215
  },
215
216
  ],
217
+ taxSystem: [
218
+ {
219
+ id: TaxSystem.IR,
220
+ price: 0,
221
+ },
222
+ {
223
+ id: TaxSystem.IS,
224
+ price: 15,
225
+ },
226
+ {
227
+ id: TaxSystem.NA,
228
+ price: 0,
229
+ },
230
+ ],
216
231
  },
217
232
  {
218
233
  /* Prévisionnel */
@@ -1 +1 @@
1
- {"version":3,"file":"PriceGridClementine.js","sourceRoot":"","sources":["../../../../ts/types/Enum/PriceGridClementine.ts"],"names":[],"mappings":"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","sourcesContent":["import { VatRegime } from './VatRegime';\nimport { ClosingType } from './ClosingType';\nimport { PrestationType } from './PrestationType';\n\nexport const PriceGridClementine = [\n {\n /* Clementine */\n idTypeBrand: 1,\n price: [\n {\n /* Compta Pro */\n idPrestationList: [PrestationType.COMPTA_PRO, PrestationType.COMPTA_PRO_EXPRESS],\n minimumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 9,\n },\n {\n id: ClosingType.OUTDATED,\n month: 16,\n },\n ],\n maximumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 23,\n },\n {\n id: ClosingType.OUTDATED,\n month: 23,\n },\n ],\n turnoverMonthly: [\n {\n turnoverValue: 10000,\n price: 59,\n },\n {\n turnoverValue: 50000,\n price: 79,\n },\n {\n turnoverValue: 100000,\n price: 99,\n },\n {\n turnoverValue: 150000,\n price: 109,\n },\n {\n turnoverValue: 200000,\n price: 129,\n },\n {\n turnoverValue: 250000,\n price: 149,\n },\n ],\n vatRegimeMonthly: [\n {\n type: VatRegime.NOT_ATTRIBUTED,\n price: 0,\n },\n {\n type: VatRegime.SIMPLIFIED,\n price: 20,\n },\n {\n type: VatRegime.QUARTERLY,\n price: 30,\n },\n {\n type: VatRegime.MONTHLY,\n price: 40,\n },\n ],\n },\n {\n /* Compta Entreprise */\n idPrestationList: [PrestationType.COMPTA_ENTREPRISE, PrestationType.COMPTA_ENTREPRISE_EXPRESS],\n minimumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 9,\n },\n {\n id: ClosingType.OUTDATED,\n month: 16,\n },\n ],\n maximumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 23,\n },\n {\n id: ClosingType.OUTDATED,\n month: 23,\n },\n ],\n turnoverMonthly: [\n {\n turnoverValue: 50000,\n price: 99,\n },\n {\n turnoverValue: 150000,\n price: 129,\n },\n {\n turnoverValue: 250000,\n price: 169,\n },\n {\n turnoverValue: 350000,\n price: 209,\n },\n {\n turnoverValue: 500000,\n price: 239,\n },\n {\n turnoverValue: 700000,\n price: 279,\n },\n {\n turnoverValue: 900000,\n price: 329,\n },\n ],\n vatRegimeMonthly: [\n {\n type: VatRegime.NOT_ATTRIBUTED,\n price: 0,\n },\n {\n type: VatRegime.SIMPLIFIED,\n price: 20,\n },\n {\n type: VatRegime.QUARTERLY,\n price: 30,\n },\n {\n type: VatRegime.MONTHLY,\n price: 40,\n },\n ],\n },\n {\n /* Compta SCI */\n idPrestationList: [PrestationType.COMPTA_SCI, PrestationType.COMPTA_SCI_EXPRESS],\n minimumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 9,\n },\n {\n id: ClosingType.OUTDATED,\n month: 16,\n },\n ],\n maximumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 23,\n },\n {\n id: ClosingType.OUTDATED,\n month: 23,\n },\n ],\n properties: [\n {\n amount: 1,\n price: 39,\n },\n {\n amount: 2,\n price: 49,\n },\n {\n amount: 3,\n price: 59,\n },\n {\n amount: 4,\n price: 69,\n },\n {\n amount: 5,\n price: 79,\n },\n {\n amount: 6,\n price: 89,\n },\n ],\n vatRegimeMonthly: [\n {\n type: VatRegime.NOT_ATTRIBUTED,\n price: 0,\n },\n {\n type: VatRegime.SIMPLIFIED,\n price: 20,\n },\n {\n type: VatRegime.QUARTERLY,\n price: 30,\n },\n {\n type: VatRegime.MONTHLY,\n price: 40,\n },\n ],\n },\n {\n /* Prévisionnel */\n idPrestationList: [PrestationType.BILAN_PREVISIONNEL],\n turnoverCreatedYear: [\n {\n turnoverValue: 75000,\n price: 199,\n },\n {\n turnoverValue: 150000,\n price: 299,\n },\n {\n turnoverValue: 400000,\n price: 399,\n },\n {\n turnoverValue: 750000,\n price: 579,\n },\n {\n turnoverValue: 1000000,\n price: 889,\n },\n ],\n turnoverPastYear: [\n {\n turnoverValue: 75000,\n price: 299,\n },\n {\n turnoverValue: 150000,\n price: 399,\n },\n {\n turnoverValue: 400000,\n price: 499,\n },\n {\n turnoverValue: 750000,\n price: 679,\n },\n {\n turnoverValue: 1000000,\n price: 989,\n },\n ],\n },\n {\n /* Gestion Juridique */\n idPrestationList: [PrestationType.GESTION_JURIDIQUE],\n partner: [\n {\n amountMinimum: 1,\n amountMaximum: 1,\n price: 249,\n },\n {\n amountMinimum: 2,\n amountMaximum: 4,\n price: 299,\n },\n {\n amountMinimum: 5,\n amountMaximum: 1000000,\n price: 399,\n },\n ],\n },\n {\n /* Social */\n idPrestationList: [PrestationType.SOCIAL],\n employee: [\n {\n amountMinimum: 1,\n amountMaximum: 1,\n price: 33,\n },\n {\n amountMinimum: 2,\n amountMaximum: 5,\n price: 30,\n },\n {\n amountMinimum: 6,\n amountMaximum: 20,\n price: 28,\n },\n {\n amountMinimum: 21,\n amountMaximum: 50,\n price: 27,\n },\n {\n amountMinimum: 50,\n amountMaximum: 1000000,\n price: 25,\n },\n ],\n },\n ],\n },\n {\n /* Leglastart */\n idTypeBrand: 2,\n price: [],\n },\n {\n /* Statuts Express */\n idTypeBrand: 4,\n price: [],\n },\n {\n /* Kandbaz */\n idTypeBrand: 5,\n price: [],\n },\n];"]}
1
+ {"version":3,"file":"PriceGridClementine.js","sourceRoot":"","sources":["../../../../ts/types/Enum/PriceGridClementine.ts"],"names":[],"mappings":"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","sourcesContent":["import { VatRegime } from './VatRegime';\nimport { ClosingType } from './ClosingType';\nimport { PrestationType } from './PrestationType';\nimport { TaxSystem } from './TaxSystem';\n\nexport const PriceGridClementine = [\n {\n /* Clementine */\n idTypeBrand: 1,\n price: [\n {\n /* Compta Pro */\n idPrestationList: [PrestationType.COMPTA_PRO, PrestationType.COMPTA_PRO_EXPRESS],\n minimumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 9,\n },\n {\n id: ClosingType.OUTDATED,\n month: 16,\n },\n ],\n maximumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 23,\n },\n {\n id: ClosingType.OUTDATED,\n month: 23,\n },\n ],\n turnoverMonthly: [\n {\n turnoverValue: 10000,\n price: 59,\n },\n {\n turnoverValue: 50000,\n price: 79,\n },\n {\n turnoverValue: 100000,\n price: 99,\n },\n {\n turnoverValue: 150000,\n price: 109,\n },\n {\n turnoverValue: 200000,\n price: 129,\n },\n {\n turnoverValue: 250000,\n price: 149,\n },\n ],\n vatRegimeMonthly: [\n {\n type: VatRegime.NOT_ATTRIBUTED,\n price: 0,\n },\n {\n type: VatRegime.SIMPLIFIED,\n price: 20,\n },\n {\n type: VatRegime.QUARTERLY,\n price: 30,\n },\n {\n type: VatRegime.MONTHLY,\n price: 40,\n },\n ],\n },\n {\n /* Compta Entreprise */\n idPrestationList: [PrestationType.COMPTA_ENTREPRISE, PrestationType.COMPTA_ENTREPRISE_EXPRESS],\n minimumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 9,\n },\n {\n id: ClosingType.OUTDATED,\n month: 16,\n },\n ],\n maximumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 23,\n },\n {\n id: ClosingType.OUTDATED,\n month: 23,\n },\n ],\n turnoverMonthly: [\n {\n turnoverValue: 50000,\n price: 99,\n },\n {\n turnoverValue: 150000,\n price: 129,\n },\n {\n turnoverValue: 250000,\n price: 169,\n },\n {\n turnoverValue: 350000,\n price: 209,\n },\n {\n turnoverValue: 500000,\n price: 239,\n },\n {\n turnoverValue: 700000,\n price: 279,\n },\n {\n turnoverValue: 900000,\n price: 329,\n },\n ],\n vatRegimeMonthly: [\n {\n type: VatRegime.NOT_ATTRIBUTED,\n price: 0,\n },\n {\n type: VatRegime.SIMPLIFIED,\n price: 20,\n },\n {\n type: VatRegime.QUARTERLY,\n price: 30,\n },\n {\n type: VatRegime.MONTHLY,\n price: 40,\n },\n ],\n },\n {\n /* Compta SCI */\n idPrestationList: [PrestationType.COMPTA_SCI, PrestationType.COMPTA_SCI_EXPRESS],\n minimumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 9,\n },\n {\n id: ClosingType.OUTDATED,\n month: 16,\n },\n ],\n maximumMonthlyPayment: [\n {\n id: ClosingType.IN_PROGRESS,\n month: 23,\n },\n {\n id: ClosingType.OUTDATED,\n month: 23,\n },\n ],\n properties: [\n {\n amount: 1,\n price: 39,\n },\n {\n amount: 2,\n price: 49,\n },\n {\n amount: 3,\n price: 59,\n },\n {\n amount: 4,\n price: 69,\n },\n {\n amount: 5,\n price: 79,\n },\n {\n amount: 6,\n price: 89,\n },\n ],\n vatRegimeMonthly: [\n {\n type: VatRegime.NOT_ATTRIBUTED,\n price: 0,\n },\n {\n type: VatRegime.SIMPLIFIED,\n price: 20,\n },\n {\n type: VatRegime.QUARTERLY,\n price: 30,\n },\n {\n type: VatRegime.MONTHLY,\n price: 40,\n },\n ],\n taxSystem: [\n {\n id: TaxSystem.IR,\n price: 0,\n },\n {\n id: TaxSystem.IS,\n price: 15,\n },\n {\n id: TaxSystem.NA,\n price: 0,\n },\n ],\n },\n {\n /* Prévisionnel */\n idPrestationList: [PrestationType.BILAN_PREVISIONNEL],\n turnoverCreatedYear: [\n {\n turnoverValue: 75000,\n price: 199,\n },\n {\n turnoverValue: 150000,\n price: 299,\n },\n {\n turnoverValue: 400000,\n price: 399,\n },\n {\n turnoverValue: 750000,\n price: 579,\n },\n {\n turnoverValue: 1000000,\n price: 889,\n },\n ],\n turnoverPastYear: [\n {\n turnoverValue: 75000,\n price: 299,\n },\n {\n turnoverValue: 150000,\n price: 399,\n },\n {\n turnoverValue: 400000,\n price: 499,\n },\n {\n turnoverValue: 750000,\n price: 679,\n },\n {\n turnoverValue: 1000000,\n price: 989,\n },\n ],\n },\n {\n /* Gestion Juridique */\n idPrestationList: [PrestationType.GESTION_JURIDIQUE],\n partner: [\n {\n amountMinimum: 1,\n amountMaximum: 1,\n price: 249,\n },\n {\n amountMinimum: 2,\n amountMaximum: 4,\n price: 299,\n },\n {\n amountMinimum: 5,\n amountMaximum: 1000000,\n price: 399,\n },\n ],\n },\n {\n /* Social */\n idPrestationList: [PrestationType.SOCIAL],\n employee: [\n {\n amountMinimum: 1,\n amountMaximum: 1,\n price: 33,\n },\n {\n amountMinimum: 2,\n amountMaximum: 5,\n price: 30,\n },\n {\n amountMinimum: 6,\n amountMaximum: 20,\n price: 28,\n },\n {\n amountMinimum: 21,\n amountMaximum: 50,\n price: 27,\n },\n {\n amountMinimum: 50,\n amountMaximum: 1000000,\n price: 25,\n },\n ],\n },\n ],\n },\n {\n /* Leglastart */\n idTypeBrand: 2,\n price: [],\n },\n {\n /* Statuts Express */\n idTypeBrand: 4,\n price: [],\n },\n {\n /* Kandbaz */\n idTypeBrand: 5,\n price: [],\n },\n];"]}
@@ -10,6 +10,7 @@ export declare class QueryCreatePrestation {
10
10
  }
11
11
  export declare class QueryUpdatePrestation {
12
12
  commentPdf: string;
13
+ isWithApplicationFees: boolean;
13
14
  exercice: Partial<IExercice>;
14
15
  exercicePrestation: Partial<IExercicePrestation>;
15
16
  options: number[];
@@ -1 +1 @@
1
- {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/prestation/Query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,qBAAa,qBAAqB;IAG9B,UAAU,EAAE,WAAW,CAAC;IAIxB,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAIjD,OAAO,EAAE,MAAM,EAAE,CAAC;IAIlB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAED,qBAAa,qBAAqB;IAI9B,UAAU,EAAE,MAAM,CAAC;IAKnB,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAK7B,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAKjD,OAAO,EAAE,MAAM,EAAE,CAAC;IAKlB,oBAAoB,EAAE,MAAM,CAAC;IAK7B,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;CACxC"}
1
+ {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/prestation/Query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,qBAAa,qBAAqB;IAG9B,UAAU,EAAE,WAAW,CAAC;IAIxB,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAIjD,OAAO,EAAE,MAAM,EAAE,CAAC;IAIlB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAED,qBAAa,qBAAqB;IAI9B,UAAU,EAAE,MAAM,CAAC;IAMnB,qBAAqB,EAAE,OAAO,CAAC;IAK/B,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAK7B,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAKjD,OAAO,EAAE,MAAM,EAAE,CAAC;IAKlB,oBAAoB,EAAE,MAAM,CAAC;IAK7B,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;CACxC"}
@@ -7,8 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { IsArray, IsNumber, IsObject, IsOptional, IsString } from 'class-validator';
10
+ import { IsArray, IsBoolean, IsNumber, IsObject, IsOptional, IsString } from 'class-validator';
11
11
  import { ApiProperty, ApiPropertyOptional } from '../../../../utils';
12
+ import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
12
13
  export class QueryCreatePrestation {
13
14
  prestation;
14
15
  exercicePrestation;
@@ -37,6 +38,7 @@ __decorate([
37
38
  ], QueryCreatePrestation.prototype, "commercialOffers", void 0);
38
39
  export class QueryUpdatePrestation {
39
40
  commentPdf;
41
+ isWithApplicationFees;
40
42
  exercice;
41
43
  exercicePrestation;
42
44
  options;
@@ -49,6 +51,13 @@ __decorate([
49
51
  IsString(),
50
52
  __metadata("design:type", String)
51
53
  ], QueryUpdatePrestation.prototype, "commentPdf", void 0);
54
+ __decorate([
55
+ ApiPropertyOptional(),
56
+ IsOptional(),
57
+ IsBoolean(),
58
+ ToBoolean(),
59
+ __metadata("design:type", Boolean)
60
+ ], QueryUpdatePrestation.prototype, "isWithApplicationFees", void 0);
52
61
  __decorate([
53
62
  ApiPropertyOptional(),
54
63
  IsOptional(),
@@ -1 +1 @@
1
- {"version":3,"file":"Query.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/prestation/Query.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAMrE,MAAM,OAAO,qBAAqB;IAG9B,UAAU,CAAc;IAIxB,kBAAkB,CAA+B;IAIjD,OAAO,CAAW;IAIlB,gBAAgB,CAAqB;CACxC;AAfC;IAAC,WAAW,EAAE;IACb,QAAQ,EAAE;;yDACe;AAE1B;IAAC,WAAW,EAAE;IACb,QAAQ,EAAE;;iEACwC;AAEnD;IAAC,mBAAmB,EAAE;IACrB,OAAO,EAAE;;sDACU;AAEpB;IAAC,mBAAmB,EAAE;IACrB,OAAO,EAAE;;+DAC6B;AAGzC,MAAM,OAAO,qBAAqB;IAI9B,UAAU,CAAS;IAKnB,QAAQ,CAAqB;IAK7B,kBAAkB,CAA+B;IAKjD,OAAO,CAAW;IAKlB,oBAAoB,CAAS;IAK7B,gBAAgB,CAAqB;CACxC;AA7BC;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;yDACU;AAErB;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;uDACoB;AAE/B;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;iEACwC;AAEnD;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,OAAO,EAAE;;sDACU;AAEpB;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;mEACoB;AAE/B;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,OAAO,EAAE;;+DAC6B","sourcesContent":["import { IsArray, IsNumber, IsObject, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty, ApiPropertyOptional } from '../../../../utils';\nimport { IPrestation } from '../../models/IPrestation';\nimport { IExercicePrestation } from '../../models/IExercicePrestation';\nimport { ICommercialOffer } from '../../models/ICommercialOffer';\nimport { IExercice } from '../../models/IExercice';\n\nexport class QueryCreatePrestation {\n @ApiProperty()\n @IsObject()\n prestation: IPrestation;\n\n @ApiProperty()\n @IsObject()\n exercicePrestation: Partial<IExercicePrestation>;\n\n @ApiPropertyOptional()\n @IsArray()\n options: number[];\n\n @ApiPropertyOptional()\n @IsArray()\n commercialOffers: ICommercialOffer[];\n}\n\nexport class QueryUpdatePrestation {\n @ApiPropertyOptional()\n @IsOptional()\n @IsString()\n commentPdf: string;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsObject()\n exercice: Partial<IExercice>;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsObject()\n exercicePrestation: Partial<IExercicePrestation>;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsArray()\n options: number[];\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsNumber()\n idExercicePrestation: number;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsArray()\n commercialOffers: ICommercialOffer[];\n}"]}
1
+ {"version":3,"file":"Query.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/prestation/Query.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKrE,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAE3E,MAAM,OAAO,qBAAqB;IAG9B,UAAU,CAAc;IAIxB,kBAAkB,CAA+B;IAIjD,OAAO,CAAW;IAIlB,gBAAgB,CAAqB;CACxC;AAfC;IAAC,WAAW,EAAE;IACb,QAAQ,EAAE;;yDACe;AAE1B;IAAC,WAAW,EAAE;IACb,QAAQ,EAAE;;iEACwC;AAEnD;IAAC,mBAAmB,EAAE;IACrB,OAAO,EAAE;;sDACU;AAEpB;IAAC,mBAAmB,EAAE;IACrB,OAAO,EAAE;;+DAC6B;AAGzC,MAAM,OAAO,qBAAqB;IAI9B,UAAU,CAAS;IAMnB,qBAAqB,CAAU;IAK/B,QAAQ,CAAqB;IAK7B,kBAAkB,CAA+B;IAKjD,OAAO,CAAW;IAKlB,oBAAoB,CAAS;IAK7B,gBAAgB,CAAqB;CACxC;AAnCC;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;yDACU;AAErB;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,SAAS,EAAE;IACX,SAAS,EAAE;;oEACqB;AAEjC;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;uDACoB;AAE/B;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;iEACwC;AAEnD;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,OAAO,EAAE;;sDACU;AAEpB;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,QAAQ,EAAE;;mEACoB;AAE/B;IAAC,mBAAmB,EAAE;IACrB,UAAU,EAAE;IACZ,OAAO,EAAE;;+DAC6B","sourcesContent":["import { IsArray, IsBoolean, IsNumber, IsObject, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty, ApiPropertyOptional } from '../../../../utils';\nimport { IPrestation } from '../../models/IPrestation';\nimport { IExercicePrestation } from '../../models/IExercicePrestation';\nimport { ICommercialOffer } from '../../models/ICommercialOffer';\nimport { IExercice } from '../../models/IExercice';\nimport { ToBoolean } from '../../../../utils/transforms/boolean.transform';\n\nexport class QueryCreatePrestation {\n @ApiProperty()\n @IsObject()\n prestation: IPrestation;\n\n @ApiProperty()\n @IsObject()\n exercicePrestation: Partial<IExercicePrestation>;\n\n @ApiPropertyOptional()\n @IsArray()\n options: number[];\n\n @ApiPropertyOptional()\n @IsArray()\n commercialOffers: ICommercialOffer[];\n}\n\nexport class QueryUpdatePrestation {\n @ApiPropertyOptional()\n @IsOptional()\n @IsString()\n commentPdf: string;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsBoolean()\n @ToBoolean()\n isWithApplicationFees: boolean;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsObject()\n exercice: Partial<IExercice>;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsObject()\n exercicePrestation: Partial<IExercicePrestation>;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsArray()\n options: number[];\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsNumber()\n idExercicePrestation: number;\n\n @ApiPropertyOptional()\n @IsOptional()\n @IsArray()\n commercialOffers: ICommercialOffer[];\n}"]}
@@ -11,9 +11,12 @@ declare const isOnlyJuridic: (idPrestationList: number[]) => boolean;
11
11
  declare const isCreation: (idPrestationList: number[]) => boolean;
12
12
  declare const isExpress: (idPrestationList: number) => boolean;
13
13
  declare const calculateScoringOfPrestation: (idPrestationType: PrestationType, prestations: IPrestation[]) => number;
14
- declare const calculatePrestationPrice: (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, isYearly?: boolean) => {
14
+ declare const calculatePrestationPrice: (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, isWithApplicationFees: boolean, idTaxSystem: number, isYearly?: boolean) => {
15
15
  totalPrestation: number;
16
16
  reduceMonth: number;
17
+ canBeCreated: boolean;
18
+ calculDetail: string;
19
+ price: number;
17
20
  };
18
21
  declare const getPrestationOptions: (idPrestationList: number) => PrestationOptionType[];
19
22
  declare const isAbleToUpdatePrice: (idTypeBrand: number, idPrestationList: number, turnover: number, pastBalanceSheet: boolean) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAoB,MAAM,gCAAgC,CAAC;AAsDxF,QAAA,MAAM,yBAAyB,qBAAsB,MAAM,KAAG,OAOC,CAAC;AAEhE,QAAA,MAAM,wBAAwB,gBAAgB,OAAO,aAAY,OAAO,oBAAoB,MAAM,KAAG,OAA4F,CAAC;AAElM,QAAA,MAAM,oBAAoB,qBAAsB,MAAM,KAAG,OAA8E,CAAC;AAExI,QAAA,MAAM,kBAAkB,WAAW,OAAO,aAAY,OAAO,KAAG,OAA+B,CAAC;AAEhG,QAAA,MAAM,WAAW,qBAAsB,MAAM,EAAE,KAAE,OAAmK,CAAC;AAErN,QAAA,MAAM,YAAY,qBAAsB,MAAM,EAAE,KAAE,OAA+H,CAAC;AAElL,QAAA,MAAM,aAAa,qBAAsB,MAAM,EAAE,KAAE,OAA+G,CAAC;AAEnK,QAAA,MAAM,UAAU,qBAAsB,MAAM,EAAE,KAAE,OAAqE,CAAC;AAEtH,QAAA,MAAM,SAAS,qBAAsB,MAAM,KAAE,OAI5C,CAAC;AAEF,QAAA,MAAM,4BAA4B,qBAAsB,cAAc,eAAe,WAAW,EAAE,KAAG,MAmBpG,CAAC;AAqEF,QAAA,MAAM,wBAAwB,qBAAsB,MAAM,kBAAkB,eAAe,WAAW,MAAM,YAAY,MAAM,YAAY,MAAM,eAAe,MAAM,mBAAmB,MAAM,oBAAoB,MAAM,eAAe,MAAM,eAAe,MAAM,oBAAoB,OAAO,eAAe,MAAM,EAAE,mBAAmB,MAAM,eAAe,MAAM,cAAc,MAAM,aAAY,OAAO;qBAA8B,MAAM;iBAAe,MAAM;CA8Cjc,CAAC;AAEF,QAAA,MAAM,oBAAoB,qBAAsB,MAAM,KAAG,oBAAoB,EAG5E,CAAC;AAEF,QAAA,MAAM,mBAAmB,gBAAiB,MAAM,oBAAoB,MAAM,YAAY,MAAM,oBAAoB,OAAO,KAAG,OAgBzH,CAAC;AAEF,OAAO,EACL,yBAAyB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,GAClQ,CAAC"}
1
+ {"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAoB,MAAM,gCAAgC,CAAC;AA4DxF,QAAA,MAAM,yBAAyB,qBAAsB,MAAM,KAAG,OAOC,CAAC;AAEhE,QAAA,MAAM,wBAAwB,gBAAgB,OAAO,aAAY,OAAO,oBAAoB,MAAM,KAAG,OAA4F,CAAC;AAElM,QAAA,MAAM,oBAAoB,qBAAsB,MAAM,KAAG,OAA8E,CAAC;AAExI,QAAA,MAAM,kBAAkB,WAAW,OAAO,aAAY,OAAO,KAAG,OAA+B,CAAC;AAEhG,QAAA,MAAM,WAAW,qBAAsB,MAAM,EAAE,KAAE,OAAmK,CAAC;AAErN,QAAA,MAAM,YAAY,qBAAsB,MAAM,EAAE,KAAE,OAA+H,CAAC;AAElL,QAAA,MAAM,aAAa,qBAAsB,MAAM,EAAE,KAAE,OAA+G,CAAC;AAEnK,QAAA,MAAM,UAAU,qBAAsB,MAAM,EAAE,KAAE,OAAqE,CAAC;AAEtH,QAAA,MAAM,SAAS,qBAAsB,MAAM,KAAE,OAI5C,CAAC;AAEF,QAAA,MAAM,4BAA4B,qBAAsB,cAAc,eAAe,WAAW,EAAE,KAAG,MAmBpG,CAAC;AAoFF,QAAA,MAAM,wBAAwB,qBAAsB,MAAM,kBAAkB,eAAe,WAAW,MAAM,YAAY,MAAM,YAAY,MAAM,eAAe,MAAM,mBAAmB,MAAM,oBAAoB,MAAM,eAAe,MAAM,eAAe,MAAM,oBAAoB,OAAO,eAAe,MAAM,EAAE,mBAAmB,MAAM,eAAe,MAAM,cAAc,MAAM,yBAAyB,OAAO,eAAe,MAAM,aAAY,OAAO;qBAA8B,MAAM;iBAAe,MAAM;kBAAgB,OAAO;kBAAgB,MAAM;WAAS,MAAM;CAwDljB,CAAC;AAEF,QAAA,MAAM,oBAAoB,qBAAsB,MAAM,KAAG,oBAAoB,EAG5E,CAAC;AAEF,QAAA,MAAM,mBAAmB,gBAAiB,MAAM,oBAAoB,MAAM,YAAY,MAAM,oBAAoB,OAAO,KAAG,OAgBzH,CAAC;AAEF,OAAO,EACL,yBAAyB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,GAClQ,CAAC"}
@@ -58,20 +58,28 @@ const getPriceGrid = (idTypeBrand, idPrestationList) => {
58
58
  currentPriceGrid = currentBrandPriceGrid?.price.find((price) => price.idPrestationList.includes(idPrestationList));
59
59
  return currentPriceGrid;
60
60
  };
61
- const calculatePrestationPriceWithPriceGrid = (idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth) => {
61
+ const calculatePrestationPriceWithPriceGrid = (idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth, idTaxSystem) => {
62
62
  let totalPrestation = 0;
63
63
  let reduceMonth = 0;
64
+ let monthNbr = NbrMonth;
65
+ let yearlyPrice;
66
+ let finalMonthlyPrice;
67
+ let canBeCreated = true;
68
+ let recalculateMonthly = false;
64
69
  /* Récupération de la grille tarifaire */
65
70
  const currentPriceGrid = getPriceGrid(idTypeBrand, idPrestationList);
66
71
  if (currentPriceGrid) {
67
72
  let monthlyPrice;
68
- let yearlyPrice;
69
73
  let vatRegimePrice;
74
+ let taxSystemPrice;
70
75
  /* Gestion du régime de TVA */
71
76
  if (currentPriceGrid.vatRegimeMonthly && !isYearly)
72
77
  vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find(regime => regime.type === idVatRegime)?.price;
73
78
  else if (currentPriceGrid.vatRegimeYearly && isYearly)
74
79
  vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find(regime => regime.type === idVatRegime)?.price;
80
+ /* Gestion du Régime d'imposition */
81
+ if (currentPriceGrid.taxSystem && idTaxSystem)
82
+ taxSystemPrice = currentPriceGrid.taxSystem?.find(tax => tax.id === idTaxSystem)?.price;
75
83
  /* Gestion des montants */
76
84
  if (currentPriceGrid.turnoverMonthly && !isYearly)
77
85
  monthlyPrice = currentPriceGrid.turnoverMonthly?.find(turn => turnover < turn.turnoverValue)?.price;
@@ -87,35 +95,45 @@ const calculatePrestationPriceWithPriceGrid = (idPrestationList, endDate, NbrMon
87
95
  yearlyPrice = currentPriceGrid.turnoverPastYear?.find(turn => turnover < turn.turnoverValue)?.price;
88
96
  else if (currentPriceGrid.partner)
89
97
  yearlyPrice = currentPriceGrid.partner?.find(part => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber)?.price;
90
- const finalMonthlyPrice = (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0);
98
+ finalMonthlyPrice = (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0) + (taxSystemPrice ? taxSystemPrice : 0);
91
99
  /* Gestion des mois */
92
100
  let cloturedPast = false;
93
101
  if (dayjs(endDate, 'YYYY-MM-DD').subtract(15, 'day').isBefore(dayjs()))
94
102
  cloturedPast = true;
95
103
  const minimumMonth = currentPriceGrid.minimumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;
96
104
  const maximumMonth = currentPriceGrid.maximumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;
97
- let monthNbr = NbrMonth;
98
105
  if (totalMonth > 0)
99
106
  monthNbr = monthNbr - totalMonth;
100
- if (minimumMonth && monthNbr < minimumMonth)
107
+ if (minimumMonth && monthNbr < minimumMonth) {
101
108
  monthNbr = minimumMonth;
102
- if (maximumMonth && monthNbr > maximumMonth)
109
+ recalculateMonthly = true;
110
+ if (totalMonth > 0)
111
+ canBeCreated = false;
112
+ }
113
+ if (maximumMonth && monthNbr > maximumMonth) {
103
114
  monthNbr = maximumMonth;
115
+ recalculateMonthly = true;
116
+ if (totalMonth > 0)
117
+ canBeCreated = false;
118
+ }
104
119
  reduceMonth = (monthNbr === NbrMonth - totalMonth ? totalMonth : 0);
105
120
  /* Prix Final */
106
121
  totalPrestation = (yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr);
107
122
  }
108
- return { totalPrestation, reduceMonth };
123
+ return { totalPrestation, reduceMonth, canBeCreated, monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr, price: yearlyPrice ? yearlyPrice : recalculateMonthly ? (totalPrestation / NbrMonth) : (finalMonthlyPrice ? finalMonthlyPrice : 0) };
109
124
  };
110
125
  const calculatePrestationPriceWithPrestationList = (prestationList) => {
111
126
  let totalPrestation = 0;
112
127
  totalPrestation = prestationList.price || 0;
113
128
  return totalPrestation;
114
129
  };
115
- const calculatePrestationPrice = (idPrestationList, prestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, optionsList, totalPercentage, totalAmount, totalMonth, isYearly = false) => {
130
+ const calculatePrestationPrice = (idPrestationList, prestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, optionsList, totalPercentage, totalAmount, totalMonth, isWithApplicationFees, idTaxSystem, isYearly = false) => {
116
131
  let totalPrestation = 0;
117
132
  let reduceMonth = 0;
118
- let totalWithReduce = { totalPrestation: 0, reduceMonth: 0 };
133
+ let canBeCreated = true;
134
+ let monthNbr = 0;
135
+ let price = 0;
136
+ let totalWithReduce = { totalPrestation: 0, reduceMonth: 0, canBeCreated: true, monthNbr: 0, price: 0 };
119
137
  /* Gestion du prix en fonction de la prestation */
120
138
  if ([
121
139
  PrestationType.COMPTA_PRO,
@@ -135,17 +153,20 @@ const calculatePrestationPrice = (idPrestationList, prestationList, endDate, Nbr
135
153
  PrestationType.COMPTA_PRO_COMPTASTART,
136
154
  PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,
137
155
  ].includes(idPrestationList)) {
138
- totalWithReduce = calculatePrestationPriceWithPriceGrid(idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth);
156
+ totalWithReduce = calculatePrestationPriceWithPriceGrid(idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth, idTaxSystem);
139
157
  totalPrestation = totalWithReduce.totalPrestation;
140
158
  reduceMonth = totalWithReduce.reduceMonth;
159
+ canBeCreated = totalWithReduce.canBeCreated;
160
+ monthNbr = totalWithReduce.monthNbr;
161
+ price = totalWithReduce.price;
141
162
  }
142
163
  else {
143
164
  totalPrestation = calculatePrestationPriceWithPrestationList(prestationList);
144
165
  }
145
- if (totalPercentage > 0)
146
- totalPrestation = totalPrestation - (totalPrestation * (totalPercentage / 100));
147
166
  if (totalAmount > 0)
148
167
  totalPrestation = totalPrestation - totalAmount;
168
+ if (totalPercentage > 0)
169
+ totalPrestation = totalPrestation - (totalPrestation * (totalPercentage / 100));
149
170
  if (prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice)
150
171
  totalPrestation = prestationList.minimumPrice;
151
172
  /* Gestion des options */
@@ -158,7 +179,10 @@ const calculatePrestationPrice = (idPrestationList, prestationList, endDate, Nbr
158
179
  });
159
180
  }
160
181
  totalPrestation += (OptionTotalPrice ? OptionTotalPrice : 0);
161
- return { totalPrestation, reduceMonth };
182
+ if (isWithApplicationFees)
183
+ totalPrestation += 50;
184
+ const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + price + '€' : price + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;
185
+ return { totalPrestation, reduceMonth, canBeCreated, calculDetail, price };
162
186
  };
163
187
  const getPrestationOptions = (idPrestationList) => {
164
188
  const PrestationOptionList = Object.values(PrestationOption).filter(option => option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)));
@@ -1 +1 @@
1
- {"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAwB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgD/B,MAAM,yBAAyB,GAAG,CAAC,gBAAwB,EAAW,EAAE,CAAC;IACvE,cAAc,CAAC,YAAY;IAC3B,cAAc,CAAC,mBAAmB;IAClC,cAAc,CAAC,wCAAwC;IACvD,cAAc,CAAC,uBAAuB;IACtC,cAAc,CAAC,GAAG;IAClB,cAAc,CAAC,aAAa;IAC5B,cAAc,CAAC,kBAAkB;CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAEhE,MAAM,wBAAwB,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,gBAAwB,EAAW,EAAE,CAAC,gBAAgB,KAAK,cAAc,CAAC,iBAAiB,IAAI,SAAS,IAAI,WAAW,CAAC;AAElM,MAAM,oBAAoB,GAAG,CAAC,gBAAwB,EAAW,EAAE,CAAC,gBAAgB,KAAK,cAAc,CAAC,+BAA+B,CAAC;AAExI,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAW,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;AAEhG,MAAM,WAAW,GAAG,CAAC,gBAA0B,EAAU,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAErN,MAAM,YAAY,GAAG,CAAC,gBAA0B,EAAU,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAElL,MAAM,aAAa,GAAG,CAAC,gBAA0B,EAAU,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAEnK,MAAM,UAAU,GAAG,CAAC,gBAA0B,EAAU,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAEtH,MAAM,SAAS,GAAG,CAAC,gBAAwB,EAAU,EAAE;IACrD,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAQ,CAAC;IACtE,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;IACvF,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,gBAAgC,EAAE,WAA0B,EAAU,EAAE;IAC5G,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;IAE9I,kDAAkD;IAClD,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7G,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExE,kDAAkD;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;IACnH,MAAM,WAAW,GAAG,aAAa,EAAE,KAAK,IAAI,CAAC,CAAC;IAE9C,2HAA2H;IAC3H,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACnG,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAElH,0KAA0K;IAC1K,IAAI,iCAAiC,CAAC,MAAM,IAAI,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;IAExI,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,gBAAwB,EAAyB,EAAE;IAC5F,IAAI,qBAAiD,CAAC;IACtD,IAAI,gBAAuC,CAAC;IAE5C,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG;QAClB,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB;KAC/D,CAAC;IACF,aAAa;IACb,MAAM,oBAAoB,GAAqB,WAAW,CAAC,YAAY,cAAc,EAAE,CAAC,CAAC;IACzF,IAAI,oBAAoB;QAAE,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAyB,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAClJ,IAAI,qBAAqB;QAAE,gBAAgB,GAAG,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzJ,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,qCAAqC,GAAG,CAAC,gBAAwB,EAAE,OAAe,EAAE,QAAgB,EAAE,QAAgB,EAAE,WAAmB,EAAE,eAAuB,EAAE,gBAAwB,EAAE,WAAmB,EAAE,WAAmB,EAAE,gBAAyB,EAAE,QAAiB,EAAE,UAAkB,EAAoD,EAAE;IACpW,IAAI,eAAe,GAAW,CAAC,CAAC;IAChC,IAAI,WAAW,GAAW,CAAC,CAAC;IAE5B,yCAAyC;IACzC,MAAM,gBAAgB,GAA0B,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAE5F,IAAI,gBAAgB,EAAE;QACpB,IAAI,YAAgC,CAAC;QACrC,IAAI,WAA+B,CAAC;QACpC,IAAI,cAAkC,CAAC;QAEvC,8BAA8B;QAC9B,IAAI,gBAAgB,CAAC,gBAAgB,IAAI,CAAC,QAAQ;YAAE,cAAc,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;aACtJ,IAAI,gBAAgB,CAAC,eAAe,IAAI,QAAQ;YAAE,cAAc,GAAG,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;QAE7J,0BAA0B;QAC1B,IAAI,gBAAgB,CAAC,eAAe,IAAI,CAAC,QAAQ;YAAE,YAAY,GAAG,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACnJ,IAAI,gBAAgB,CAAC,UAAU;YAAE,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;aACtI,IAAI,gBAAgB,CAAC,QAAQ;YAAE,YAAY,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,eAAe,IAAI,GAAG,CAAC,aAAa,IAAI,eAAe,CAAC,EAAE,KAAK,CAAC;aAC1K,IAAI,gBAAgB,CAAC,cAAc,IAAI,QAAQ;YAAE,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACnJ,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,mBAAmB;YAAE,WAAW,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACtK,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,gBAAgB;YAAE,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aAC/J,IAAI,gBAAgB,CAAC,OAAO;YAAE,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,gBAAgB,IAAI,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACjL,MAAM,iBAAiB,GAAuB,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExH,sBAAsB;QACtB,IAAI,YAAY,GAAY,KAAK,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAAE,YAAY,GAAG,IAAI,CAAC;QAC5F,MAAM,YAAY,GAAuB,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;QACtM,MAAM,YAAY,GAAuB,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;QACtM,IAAI,QAAQ,GAAW,QAAQ,CAAC;QAChC,IAAI,UAAU,GAAG,CAAC;YAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;QACrD,IAAI,YAAY,IAAI,QAAQ,GAAG,YAAY;YAAE,QAAQ,GAAG,YAAY,CAAC;QACrE,IAAI,YAAY,IAAI,QAAQ,GAAG,YAAY;YAAE,QAAQ,GAAG,YAAY,CAAC;QAErE,WAAW,GAAG,CAAC,QAAQ,KAAK,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,gBAAgB;QAChB,eAAe,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC;KAC9E;IACD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,0CAA0C,GAAG,CAAC,cAA+B,EAAU,EAAE;IAC7F,IAAI,eAAe,GAAW,CAAC,CAAC;IAEhC,eAAe,GAAG,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC;IAE5C,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,gBAAwB,EAAE,cAA+B,EAAE,OAAe,EAAE,QAAgB,EAAE,QAAgB,EAAE,WAAmB,EAAE,eAAuB,EAAE,gBAAwB,EAAE,WAAmB,EAAE,WAAmB,EAAE,gBAAyB,EAAE,WAAqB,EAAE,eAAuB,EAAE,WAAmB,EAAE,UAAkB,EAAE,WAAoB,KAAK,EAAoD,EAAE;IACrc,IAAI,eAAe,GAAW,CAAC,CAAC;IAChC,IAAI,WAAW,GAAW,CAAC,CAAC;IAC5B,IAAI,eAAe,GAAqD,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAE/G,kDAAkD;IAClD,IACE;QACE,cAAc,CAAC,UAAU;QACzB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,yBAAyB;QACxC,cAAc,CAAC,UAAU;QACzB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,cAAc;QAC7B,cAAc,CAAC,0BAA0B;QACzC,cAAc,CAAC,kCAAkC;QACjD,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,0BAA0B;QACzC,cAAc,CAAC,MAAM;QACrB,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,sBAAsB;QACrC,cAAc,CAAC,8BAA8B;KAC9C,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAC5B;QACA,eAAe,GAAG,qCAAqC,CAAC,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzN,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QAClD,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;KAC3C;SAAM;QACL,eAAe,GAAG,0CAA0C,CAAC,cAAc,CAAC,CAAC;KAC9E;IACD,IAAI,eAAe,GAAG,CAAC;QAAE,eAAe,GAAG,eAAe,GAAG,CAAC,eAAe,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;IACzG,IAAI,WAAW,GAAG,CAAC;QAAE,eAAe,GAAG,eAAe,GAAG,WAAW,CAAC;IACrE,IAAI,cAAc,CAAC,YAAY,IAAI,eAAe,GAAG,cAAc,CAAC,YAAY;QAAE,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC;IAChI,yBAAyB;IACzB,IAAI,gBAAgB,GAAW,CAAC,CAAC;IACjC,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/B,MAAM,WAAW,GAAuB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,CAAC;YACxH,IAAI,WAAW;gBAAE,gBAAgB,IAAI,WAAW,CAAC;QACnD,CAAC,CAAC,CAAC;KACJ;IACD,eAAe,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,gBAAwB,EAA0B,EAAE;IAChF,MAAM,oBAAoB,GAA2B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1K,OAAO,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,gBAAwB,EAAE,QAAgB,EAAE,gBAAyB,EAAW,EAAE;IAClI,yCAAyC;IACzC,MAAM,gBAAgB,GAA0B,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC5F,IAAI,gBAAgB,EAAE;QACpB,aAAa;QACb,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,0BAA0B,EAAE,cAAc,CAAC,kCAAkC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QACpR,aAAa;aACR,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1O,aAAa;aACR,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC5N,aAAa;aACR,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;;YAChN,OAAO,KAAK,CAAC;KACnB;IACD,OAAO,KAAK,CAAC;AAEf,CAAC,CAAC;AAEF,OAAO,EACL,yBAAyB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,GAClQ,CAAC","sourcesContent":["import { IPrestation, IPrestationList } from '../types';\nimport { PrestationDetail, PrestationType } from '../types/Enum/PrestationType';\nimport { PrestationOptionType, PrestationOption } from '../types/Enum/PrestationOption';\nimport { PriceGridClementine } from '../types/Enum/PriceGridClementine';\nimport { PriceGridPourcentage } from '../types/Enum/PriceGridPourcentage';\nimport { PriceGridLegalstart } from '../types/Enum/PriceGridLegalstart';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\n\ntype priceGridBrand = {\n idTypeBrand: number,\n price: priceGrid[]\n};\n\ntype priceGrid = {\n idPrestationList: number[],\n minimumMonthlyPayment?: monthlyPayment[],\n maximumMonthlyPayment?: monthlyPayment[],\n turnoverCreatedYear?: turnover[],\n turnoverPastYear?: turnover[],\n turnoverMonthly?: turnover[],\n turnoverYearly?: turnover[],\n employee?: employee[],\n partner?: employee[],\n properties?: propertie[],\n vatRegimeMonthly?: vatRegime[],\n vatRegimeYearly?: vatRegime[],\n};\n\ntype monthlyPayment = {\n id: number,\n month: number,\n};\n\ntype turnover = {\n turnoverValue: number,\n price: number,\n};\n\ntype employee = {\n amountMinimum: number,\n amountMaximum: number,\n price: number,\n};\n\ntype propertie = {\n amount: number,\n price: number,\n};\n\ntype vatRegime = {\n type: number,\n price: number,\n};\n\nconst isOtherAccountingMissions = (idPrestationList: number): boolean => [\n PrestationType.PREVISIONNEL,\n PrestationType.BILAN_INTERMEDIAIRE,\n PrestationType.AVANCE_OU_ABANDON_COMPTE_COURANT_ASSOCIE,\n PrestationType.AUTRE_MISSION_COMPTABLE,\n PrestationType.TVS,\n PrestationType.ETUDE_FISCALE,\n PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique:boolean, isCatalog:boolean, idPrestationList: number): boolean => idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean => idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden:boolean, isCatalog:boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL)).length;\n\nconst isOnlySocial = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]):boolean => idPrestationList.includes(PrestationType.CREATION_SOCIETE);\n\nconst isExpress = (idPrestationList: number):boolean => {\n const prestationDetailValues = Object.values(PrestationDetail) as any;\n const prestaList = prestationDetailValues.find((pr:any) => pr.id === idPrestationList);\n return !!prestaList.isBack;\n};\n\nconst calculateScoringOfPrestation = (idPrestationType: PrestationType, prestations: IPrestation[]): number => {\n const prestationsSignedPaid = prestations.filter((prestation) => prestation.paid && prestation.signed && prestation.terminationList === null);\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter((p) => p.isComptable && !p.isCatalog);\n const prestationHalfPriceIds = prestationHalfPriceList.map((t) => t.id);\n\n // Get the number of points for the new prestation\n const prestaDetails = Object.values(PrestationDetail).find((prestaDetail) => prestaDetail.id === idPrestationType);\n const numberPoint = prestaDetails?.point || 0;\n\n // Get list of prestations that are already done and check if one of them is in the list of prestations that are half price\n const prestationsExistIds = prestationsSignedPaid.map((prestation) => prestation.idPrestationList);\n const prestationHalfPriceAlreadyDoneIds = prestationsExistIds.filter((id) => prestationHalfPriceIds.includes(id));\n\n // If one of the prestations already done is in the list of prestations that are half price and if the idPrestationType is in prestationHalfPriceIds, return 50% of points\n if (prestationHalfPriceAlreadyDoneIds.length && prestationHalfPriceIds.includes(idPrestationType)) return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nconst getPriceGrid = (idTypeBrand: number, idPrestationList: number): priceGrid | undefined => {\n let currentBrandPriceGrid: priceGridBrand | undefined;\n let currentPriceGrid: priceGrid | undefined;\n\n const currentEnvName = getBrandNameByNodeEnv(process.env.NODE_ENV);\n const listEnvEnum = {\n PriceGridClementine, PriceGridPourcentage, PriceGridLegalstart,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile) currentBrandPriceGrid = currentPriceGridFile.find((priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand);\n if (currentBrandPriceGrid) currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) => price.idPrestationList.includes(idPrestationList));\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (idPrestationList: number, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, isYearly: boolean, totalMonth: number): { totalPrestation: number, reduceMonth: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n \n if (currentPriceGrid) {\n let monthlyPrice: number | undefined;\n let yearlyPrice: number | undefined;\n let vatRegimePrice: number | undefined;\n\n /* Gestion du régime de TVA */\n if (currentPriceGrid.vatRegimeMonthly && !isYearly) vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find(regime => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly) vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find(regime => regime.type === idVatRegime)?.price;\n\n /* Gestion des montants */\n if (currentPriceGrid.turnoverMonthly && !isYearly) monthlyPrice = currentPriceGrid.turnoverMonthly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties) monthlyPrice = currentPriceGrid.properties?.find(property => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) monthlyPrice = currentPriceGrid.employee?.find(emp => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber)?.price;\n else if (currentPriceGrid.turnoverYearly && isYearly) yearlyPrice = currentPriceGrid.turnoverYearly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear) yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear) yearlyPrice = currentPriceGrid.turnoverPastYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner) yearlyPrice = currentPriceGrid.partner?.find(part => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber)?.price;\n const finalMonthlyPrice: number | undefined = (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0);\n\n /* Gestion des mois */\n let cloturedPast: boolean = false;\n if (dayjs(endDate, 'YYYY-MM-DD').subtract(15, 'day').isBefore(dayjs())) cloturedPast = true;\n const minimumMonth: number | undefined = currentPriceGrid.minimumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n const maximumMonth: number | undefined = currentPriceGrid.maximumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n let monthNbr: number = NbrMonth;\n if (totalMonth > 0) monthNbr = monthNbr - totalMonth;\n if (minimumMonth && monthNbr < minimumMonth) monthNbr = minimumMonth;\n if (maximumMonth && monthNbr > maximumMonth) monthNbr = maximumMonth;\n\n reduceMonth = (monthNbr === NbrMonth - totalMonth ? totalMonth : 0);\n \n /* Prix Final */\n totalPrestation = (yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr);\n }\n return { totalPrestation, reduceMonth };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList.price || 0;\n\n return totalPrestation;\n};\n\nconst calculatePrestationPrice = (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, isYearly: boolean = false): { totalPrestation: number, reduceMonth: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let totalWithReduce: { totalPrestation: number, reduceMonth: number } = { totalPrestation: 0, reduceMonth: 0 };\n\n /* Gestion du prix en fonction de la prestation */\n if (\n [\n PrestationType.COMPTA_PRO,\n PrestationType.COMPTA_PRO_EXPRESS,\n PrestationType.COMPTA_ENTREPRISE,\n PrestationType.COMPTA_ENTREPRISE_EXPRESS,\n PrestationType.COMPTA_SCI,\n PrestationType.COMPTA_SCI_EXPRESS,\n PrestationType.BILAN_PREVISIONNEL,\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n PrestationType.COMPTA_POURCENTAGE,\n PrestationType.COMPTA_POURCENTAGE_EXPRESS,\n PrestationType.SOCIAL,\n PrestationType.GESTION_JURIDIQUE,\n PrestationType.COMPTA_PRO_COMPTASTART,\n PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,\n ].includes(idPrestationList)\n ) {\n totalWithReduce = calculatePrestationPriceWithPriceGrid(idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth);\n totalPrestation = totalWithReduce.totalPrestation;\n reduceMonth = totalWithReduce.reduceMonth;\n } else {\n totalPrestation = calculatePrestationPriceWithPrestationList(prestationList);\n }\n if (totalPercentage > 0) totalPrestation = totalPrestation - (totalPrestation * (totalPercentage / 100));\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n if (prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice) totalPrestation = prestationList.minimumPrice;\n /* Gestion des options */\n let OptionTotalPrice: number = 0;\n if (optionsList.length) {\n optionsList.forEach((optionId) => {\n const optionPrice: number | undefined = Object.values(PrestationOption).find((option) => option.id === optionId)?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += (OptionTotalPrice ? OptionTotalPrice : 0);\n\n return { totalPrestation, reduceMonth };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter(option => option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)));\n return PrestationOptionList.filter(option => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (idTypeBrand: number, idPrestationList: number, turnover: number, pastBalanceSheet: boolean): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n // @ts-ignore\n if ([PrestationType.COMPTA_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && !pastBalanceSheet && currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && pastBalanceSheet && currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover) return true;\n else return false;\n }\n return false;\n\n};\n\nexport {\n isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isExpress, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice,\n};"]}
1
+ {"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAwB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsD/B,MAAM,yBAAyB,GAAG,CAAC,gBAAwB,EAAW,EAAE,CAAC;IACvE,cAAc,CAAC,YAAY;IAC3B,cAAc,CAAC,mBAAmB;IAClC,cAAc,CAAC,wCAAwC;IACvD,cAAc,CAAC,uBAAuB;IACtC,cAAc,CAAC,GAAG;IAClB,cAAc,CAAC,aAAa;IAC5B,cAAc,CAAC,kBAAkB;CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAEhE,MAAM,wBAAwB,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,gBAAwB,EAAW,EAAE,CAAC,gBAAgB,KAAK,cAAc,CAAC,iBAAiB,IAAI,SAAS,IAAI,WAAW,CAAC;AAElM,MAAM,oBAAoB,GAAG,CAAC,gBAAwB,EAAW,EAAE,CAAC,gBAAgB,KAAK,cAAc,CAAC,+BAA+B,CAAC;AAExI,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAW,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;AAEhG,MAAM,WAAW,GAAG,CAAC,gBAA0B,EAAU,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAErN,MAAM,YAAY,GAAG,CAAC,gBAA0B,EAAU,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAElL,MAAM,aAAa,GAAG,CAAC,gBAA0B,EAAU,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAEnK,MAAM,UAAU,GAAG,CAAC,gBAA0B,EAAU,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAEtH,MAAM,SAAS,GAAG,CAAC,gBAAwB,EAAU,EAAE;IACrD,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAQ,CAAC;IACtE,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;IACvF,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,gBAAgC,EAAE,WAA0B,EAAU,EAAE;IAC5G,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;IAE9I,kDAAkD;IAClD,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7G,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExE,kDAAkD;IAClD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;IACnH,MAAM,WAAW,GAAG,aAAa,EAAE,KAAK,IAAI,CAAC,CAAC;IAE9C,2HAA2H;IAC3H,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACnG,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAElH,0KAA0K;IAC1K,IAAI,iCAAiC,CAAC,MAAM,IAAI,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;IAExI,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,gBAAwB,EAAyB,EAAE;IAC5F,IAAI,qBAAiD,CAAC;IACtD,IAAI,gBAAuC,CAAC;IAE5C,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG;QAClB,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB;KAC/D,CAAC;IACF,aAAa;IACb,MAAM,oBAAoB,GAAqB,WAAW,CAAC,YAAY,cAAc,EAAE,CAAC,CAAC;IACzF,IAAI,oBAAoB;QAAE,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAyB,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAClJ,IAAI,qBAAqB;QAAE,gBAAgB,GAAG,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzJ,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,qCAAqC,GAAG,CAAC,gBAAwB,EAAE,OAAe,EAAE,QAAgB,EAAE,QAAgB,EAAE,WAAmB,EAAE,eAAuB,EAAE,gBAAwB,EAAE,WAAmB,EAAE,WAAmB,EAAE,gBAAyB,EAAE,QAAiB,EAAE,UAAkB,EAAE,WAAmB,EAA4G,EAAE;IACjb,IAAI,eAAe,GAAW,CAAC,CAAC;IAChC,IAAI,WAAW,GAAW,CAAC,CAAC;IAC5B,IAAI,QAAQ,GAAW,QAAQ,CAAC;IAChC,IAAI,WAA+B,CAAC;IACpC,IAAI,iBAAqC,CAAC;IAC1C,IAAI,YAAY,GAAY,IAAI,CAAC;IACjC,IAAI,kBAAkB,GAAY,KAAK,CAAC;IAExC,yCAAyC;IACzC,MAAM,gBAAgB,GAA0B,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAE5F,IAAI,gBAAgB,EAAE;QACpB,IAAI,YAAgC,CAAC;QACrC,IAAI,cAAkC,CAAC;QACvC,IAAI,cAAkC,CAAC;QAEvC,8BAA8B;QAC9B,IAAI,gBAAgB,CAAC,gBAAgB,IAAI,CAAC,QAAQ;YAAE,cAAc,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;aACtJ,IAAI,gBAAgB,CAAC,eAAe,IAAI,QAAQ;YAAE,cAAc,GAAG,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;QAE7J,oCAAoC;QACpC,IAAI,gBAAgB,CAAC,SAAS,IAAI,WAAW;YAAE,cAAc,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;QAEvI,0BAA0B;QAC1B,IAAI,gBAAgB,CAAC,eAAe,IAAI,CAAC,QAAQ;YAAE,YAAY,GAAG,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACnJ,IAAI,gBAAgB,CAAC,UAAU;YAAE,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE,KAAK,CAAC;aACtI,IAAI,gBAAgB,CAAC,QAAQ;YAAE,YAAY,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,eAAe,IAAI,GAAG,CAAC,aAAa,IAAI,eAAe,CAAC,EAAE,KAAK,CAAC;aAC1K,IAAI,gBAAgB,CAAC,cAAc,IAAI,QAAQ;YAAE,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACnJ,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,mBAAmB;YAAE,WAAW,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aACtK,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,gBAAgB;YAAE,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;aAC/J,IAAI,gBAAgB,CAAC,OAAO;YAAE,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,gBAAgB,IAAI,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACjL,iBAAiB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtI,sBAAsB;QACtB,IAAI,YAAY,GAAY,KAAK,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAAE,YAAY,GAAG,IAAI,CAAC;QAC5F,MAAM,YAAY,GAAuB,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;QACtM,MAAM,YAAY,GAAuB,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;QACtM,IAAI,UAAU,GAAG,CAAC;YAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;QACrD,IAAI,YAAY,IAAI,QAAQ,GAAG,YAAY,EAAE;YAC3C,QAAQ,GAAG,YAAY,CAAC;YACxB,kBAAkB,GAAG,IAAI,CAAC;YAC1B,IAAI,UAAU,GAAG,CAAC;gBAAE,YAAY,GAAG,KAAK,CAAC;SAC1C;QACD,IAAI,YAAY,IAAI,QAAQ,GAAG,YAAY,EAAE;YAC3C,QAAQ,GAAG,YAAY,CAAC;YACxB,kBAAkB,GAAG,IAAI,CAAC;YAC1B,IAAI,UAAU,GAAG,CAAC;gBAAE,YAAY,GAAG,KAAK,CAAC;SAC1C;QAED,WAAW,GAAG,CAAC,QAAQ,KAAK,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,gBAAgB;QAChB,eAAe,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC;KAC9E;IACD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClQ,CAAC,CAAC;AAEF,MAAM,0CAA0C,GAAG,CAAC,cAA+B,EAAU,EAAE;IAC7F,IAAI,eAAe,GAAW,CAAC,CAAC;IAEhC,eAAe,GAAG,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC;IAE5C,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,gBAAwB,EAAE,cAA+B,EAAE,OAAe,EAAE,QAAgB,EAAE,QAAgB,EAAE,WAAmB,EAAE,eAAuB,EAAE,gBAAwB,EAAE,WAAmB,EAAE,WAAmB,EAAE,gBAAyB,EAAE,WAAqB,EAAE,eAAuB,EAAE,WAAmB,EAAE,UAAkB,EAAE,qBAA8B,EAAE,WAAmB,EAAE,WAAoB,KAAK,EAAgH,EAAE;IACtjB,IAAI,eAAe,GAAW,CAAC,CAAC;IAChC,IAAI,WAAW,GAAW,CAAC,CAAC;IAC5B,IAAI,YAAY,GAAY,IAAI,CAAC;IACjC,IAAI,QAAQ,GAAW,CAAC,CAAC;IACzB,IAAI,KAAK,GAAW,CAAC,CAAC;IACtB,IAAI,eAAe,GAA6G,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAElN,kDAAkD;IAClD,IACE;QACE,cAAc,CAAC,UAAU;QACzB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,yBAAyB;QACxC,cAAc,CAAC,UAAU;QACzB,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,cAAc;QAC7B,cAAc,CAAC,0BAA0B;QACzC,cAAc,CAAC,kCAAkC;QACjD,cAAc,CAAC,kBAAkB;QACjC,cAAc,CAAC,0BAA0B;QACzC,cAAc,CAAC,MAAM;QACrB,cAAc,CAAC,iBAAiB;QAChC,cAAc,CAAC,sBAAsB;QACrC,cAAc,CAAC,8BAA8B;KAC9C,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAC5B;QACA,eAAe,GAAG,qCAAqC,CAAC,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACtO,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QAClD,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;QAC1C,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;QAC5C,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;QACpC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;KAC/B;SAAM;QACL,eAAe,GAAG,0CAA0C,CAAC,cAAc,CAAC,CAAC;KAC9E;IACD,IAAI,WAAW,GAAG,CAAC;QAAE,eAAe,GAAG,eAAe,GAAG,WAAW,CAAC;IACrE,IAAI,eAAe,GAAG,CAAC;QAAE,eAAe,GAAG,eAAe,GAAG,CAAC,eAAe,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;IACzG,IAAI,cAAc,CAAC,YAAY,IAAI,eAAe,GAAG,cAAc,CAAC,YAAY;QAAE,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC;IAChI,yBAAyB;IACzB,IAAI,gBAAgB,GAAW,CAAC,CAAC;IACjC,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/B,MAAM,WAAW,GAAuB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,CAAC;YACxH,IAAI,WAAW;gBAAE,gBAAgB,IAAI,WAAW,CAAC;QACnD,CAAC,CAAC,CAAC;KACJ;IACD,eAAe,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,IAAI,qBAAqB;QAAE,eAAe,IAAI,EAAE,CAAC;IAEjD,MAAM,YAAY,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEjP,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,gBAAwB,EAA0B,EAAE;IAChF,MAAM,oBAAoB,GAA2B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1K,OAAO,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,gBAAwB,EAAE,QAAgB,EAAE,gBAAyB,EAAW,EAAE;IAClI,yCAAyC;IACzC,MAAM,gBAAgB,GAA0B,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC5F,IAAI,gBAAgB,EAAE;QACpB,aAAa;QACb,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,0BAA0B,EAAE,cAAc,CAAC,kCAAkC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QACpR,aAAa;aACR,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1O,aAAa;aACR,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC5N,aAAa;aACR,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,QAAQ;YAAE,OAAO,IAAI,CAAC;;YAChN,OAAO,KAAK,CAAC;KACnB;IACD,OAAO,KAAK,CAAC;AAEf,CAAC,CAAC;AAEF,OAAO,EACL,yBAAyB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,GAClQ,CAAC","sourcesContent":["import { IPrestation, IPrestationList } from '../types';\nimport { PrestationDetail, PrestationType } from '../types/Enum/PrestationType';\nimport { PrestationOptionType, PrestationOption } from '../types/Enum/PrestationOption';\nimport { PriceGridClementine } from '../types/Enum/PriceGridClementine';\nimport { PriceGridPourcentage } from '../types/Enum/PriceGridPourcentage';\nimport { PriceGridLegalstart } from '../types/Enum/PriceGridLegalstart';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\n\ntype priceGridBrand = {\n idTypeBrand: number,\n price: priceGrid[]\n};\n\ntype priceGrid = {\n idPrestationList: number[],\n minimumMonthlyPayment?: monthlyPayment[],\n maximumMonthlyPayment?: monthlyPayment[],\n turnoverCreatedYear?: turnover[],\n turnoverPastYear?: turnover[],\n turnoverMonthly?: turnover[],\n turnoverYearly?: turnover[],\n employee?: employee[],\n partner?: employee[],\n properties?: propertie[],\n vatRegimeMonthly?: vatRegime[],\n vatRegimeYearly?: vatRegime[],\n taxSystem?: taxSystem[],\n};\n\ntype monthlyPayment = {\n id: number,\n month: number,\n};\n\ntype turnover = {\n turnoverValue: number,\n price: number,\n};\n\ntype employee = {\n amountMinimum: number,\n amountMaximum: number,\n price: number,\n};\n\ntype propertie = {\n amount: number,\n price: number,\n};\n\ntype vatRegime = {\n type: number,\n price: number,\n};\n\ntype taxSystem = {\n id: number,\n price: number,\n};\n\nconst isOtherAccountingMissions = (idPrestationList: number): boolean => [\n PrestationType.PREVISIONNEL,\n PrestationType.BILAN_INTERMEDIAIRE,\n PrestationType.AVANCE_OU_ABANDON_COMPTE_COURANT_ASSOCIE,\n PrestationType.AUTRE_MISSION_COMPTABLE,\n PrestationType.TVS,\n PrestationType.ETUDE_FISCALE,\n PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique:boolean, isCatalog:boolean, idPrestationList: number): boolean => idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean => idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden:boolean, isCatalog:boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL)).length;\n\nconst isOnlySocial = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]):boolean => idPrestationList.includes(PrestationType.CREATION_SOCIETE);\n\nconst isExpress = (idPrestationList: number):boolean => {\n const prestationDetailValues = Object.values(PrestationDetail) as any;\n const prestaList = prestationDetailValues.find((pr:any) => pr.id === idPrestationList);\n return !!prestaList.isBack;\n};\n\nconst calculateScoringOfPrestation = (idPrestationType: PrestationType, prestations: IPrestation[]): number => {\n const prestationsSignedPaid = prestations.filter((prestation) => prestation.paid && prestation.signed && prestation.terminationList === null);\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter((p) => p.isComptable && !p.isCatalog);\n const prestationHalfPriceIds = prestationHalfPriceList.map((t) => t.id);\n\n // Get the number of points for the new prestation\n const prestaDetails = Object.values(PrestationDetail).find((prestaDetail) => prestaDetail.id === idPrestationType);\n const numberPoint = prestaDetails?.point || 0;\n\n // Get list of prestations that are already done and check if one of them is in the list of prestations that are half price\n const prestationsExistIds = prestationsSignedPaid.map((prestation) => prestation.idPrestationList);\n const prestationHalfPriceAlreadyDoneIds = prestationsExistIds.filter((id) => prestationHalfPriceIds.includes(id));\n\n // If one of the prestations already done is in the list of prestations that are half price and if the idPrestationType is in prestationHalfPriceIds, return 50% of points\n if (prestationHalfPriceAlreadyDoneIds.length && prestationHalfPriceIds.includes(idPrestationType)) return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nconst getPriceGrid = (idTypeBrand: number, idPrestationList: number): priceGrid | undefined => {\n let currentBrandPriceGrid: priceGridBrand | undefined;\n let currentPriceGrid: priceGrid | undefined;\n\n const currentEnvName = getBrandNameByNodeEnv(process.env.NODE_ENV);\n const listEnvEnum = {\n PriceGridClementine, PriceGridPourcentage, PriceGridLegalstart,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile) currentBrandPriceGrid = currentPriceGridFile.find((priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand);\n if (currentBrandPriceGrid) currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) => price.idPrestationList.includes(idPrestationList));\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (idPrestationList: number, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, isYearly: boolean, totalMonth: number, idTaxSystem: number): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let monthNbr: number = NbrMonth;\n let yearlyPrice: number | undefined;\n let finalMonthlyPrice: number | undefined;\n let canBeCreated: boolean = true;\n let recalculateMonthly: boolean = false;\n\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n \n if (currentPriceGrid) {\n let monthlyPrice: number | undefined;\n let vatRegimePrice: number | undefined;\n let taxSystemPrice: number | undefined;\n\n /* Gestion du régime de TVA */\n if (currentPriceGrid.vatRegimeMonthly && !isYearly) vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find(regime => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly) vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find(regime => regime.type === idVatRegime)?.price;\n\n /* Gestion du Régime d'imposition */\n if (currentPriceGrid.taxSystem && idTaxSystem) taxSystemPrice = currentPriceGrid.taxSystem?.find(tax => tax.id === idTaxSystem)?.price;\n\n /* Gestion des montants */\n if (currentPriceGrid.turnoverMonthly && !isYearly) monthlyPrice = currentPriceGrid.turnoverMonthly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties) monthlyPrice = currentPriceGrid.properties?.find(property => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) monthlyPrice = currentPriceGrid.employee?.find(emp => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber)?.price;\n else if (currentPriceGrid.turnoverYearly && isYearly) yearlyPrice = currentPriceGrid.turnoverYearly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear) yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear) yearlyPrice = currentPriceGrid.turnoverPastYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner) yearlyPrice = currentPriceGrid.partner?.find(part => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber)?.price;\n finalMonthlyPrice = (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0) + (taxSystemPrice ? taxSystemPrice : 0);\n\n /* Gestion des mois */\n let cloturedPast: boolean = false;\n if (dayjs(endDate, 'YYYY-MM-DD').subtract(15, 'day').isBefore(dayjs())) cloturedPast = true;\n const minimumMonth: number | undefined = currentPriceGrid.minimumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n const maximumMonth: number | undefined = currentPriceGrid.maximumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n if (totalMonth > 0) monthNbr = monthNbr - totalMonth;\n if (minimumMonth && monthNbr < minimumMonth) {\n monthNbr = minimumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n if (maximumMonth && monthNbr > maximumMonth) {\n monthNbr = maximumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n\n reduceMonth = (monthNbr === NbrMonth - totalMonth ? totalMonth : 0);\n \n /* Prix Final */\n totalPrestation = (yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr);\n }\n return { totalPrestation, reduceMonth, canBeCreated, monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr, price: yearlyPrice ? yearlyPrice : recalculateMonthly ? (totalPrestation / NbrMonth) : (finalMonthlyPrice ? finalMonthlyPrice : 0) };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList.price || 0;\n\n return totalPrestation;\n};\n\nconst calculatePrestationPrice = (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, isWithApplicationFees: boolean, idTaxSystem: number, isYearly: boolean = false): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, calculDetail: string, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let canBeCreated: boolean = true;\n let monthNbr: number = 0;\n let price: number = 0;\n let totalWithReduce: { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } = { totalPrestation: 0, reduceMonth: 0, canBeCreated: true, monthNbr: 0, price: 0 };\n\n /* Gestion du prix en fonction de la prestation */\n if (\n [\n PrestationType.COMPTA_PRO,\n PrestationType.COMPTA_PRO_EXPRESS,\n PrestationType.COMPTA_ENTREPRISE,\n PrestationType.COMPTA_ENTREPRISE_EXPRESS,\n PrestationType.COMPTA_SCI,\n PrestationType.COMPTA_SCI_EXPRESS,\n PrestationType.BILAN_PREVISIONNEL,\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n PrestationType.COMPTA_POURCENTAGE,\n PrestationType.COMPTA_POURCENTAGE_EXPRESS,\n PrestationType.SOCIAL,\n PrestationType.GESTION_JURIDIQUE,\n PrestationType.COMPTA_PRO_COMPTASTART,\n PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,\n ].includes(idPrestationList)\n ) {\n totalWithReduce = calculatePrestationPriceWithPriceGrid(idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth, idTaxSystem);\n totalPrestation = totalWithReduce.totalPrestation;\n reduceMonth = totalWithReduce.reduceMonth;\n canBeCreated = totalWithReduce.canBeCreated;\n monthNbr = totalWithReduce.monthNbr;\n price = totalWithReduce.price;\n } else {\n totalPrestation = calculatePrestationPriceWithPrestationList(prestationList);\n }\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n if (totalPercentage > 0) totalPrestation = totalPrestation - (totalPrestation * (totalPercentage / 100));\n if (prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice) totalPrestation = prestationList.minimumPrice;\n /* Gestion des options */\n let OptionTotalPrice: number = 0;\n if (optionsList.length) {\n optionsList.forEach((optionId) => {\n const optionPrice: number | undefined = Object.values(PrestationOption).find((option) => option.id === optionId)?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += (OptionTotalPrice ? OptionTotalPrice : 0);\n\n if (isWithApplicationFees) totalPrestation += 50;\n\n const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + price + '€' : price + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;\n\n return { totalPrestation, reduceMonth, canBeCreated, calculDetail, price };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter(option => option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)));\n return PrestationOptionList.filter(option => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (idTypeBrand: number, idPrestationList: number, turnover: number, pastBalanceSheet: boolean): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n // @ts-ignore\n if ([PrestationType.COMPTA_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && !pastBalanceSheet && currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && pastBalanceSheet && currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover) return true;\n else return false;\n }\n return false;\n\n};\n\nexport {\n isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isExpress, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice,\n};"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.1.165",
3
+ "version": "1.1.167",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
6
6
  "main": "dist/cjs/index.js",
@@ -562,7 +562,7 @@ export const BrandPourcentage = [
562
562
  urlS3: 'https://s3.eu-west-3.amazonaws.com/resources-pourcentage/',
563
563
  logoS3: 'config/pourcentage-logo.png',
564
564
  name: 'Pourcentage ECE', // AMEX
565
- commercialName: 'Pourcentage',
565
+ commercialName: 'Pourcentage AMEX',
566
566
  colors: {
567
567
  primary: '#1e6f5c',
568
568
  primary50: '#DFF9F1',
@@ -634,6 +634,7 @@ export const BrandPourcentage = [
634
634
  cleRib: '89',
635
635
  },
636
636
  internalInvoicing: {
637
+ lastUsedNumber: 1685,
637
638
  statut: 'SAS',
638
639
  name: 'AMEX',
639
640
  address: '11, Boulevard Victor Hugo',
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @deprecated Use ConstitutionState
3
+ */
1
4
  export enum Constitution {
2
5
  TO_CONTACT = 1,
3
6
  }
@@ -3252,7 +3252,7 @@ export const PrestationDetail: PrestationDetailEnum = {
3252
3252
  isBack: false,
3253
3253
  minimumPrice: null,
3254
3254
  price: null,
3255
- isCatalog: true,
3255
+ isCatalog: false,
3256
3256
  hidden: false,
3257
3257
  isComplementary: false,
3258
3258
  signaturePosition: '',
@@ -3270,7 +3270,7 @@ export const PrestationDetail: PrestationDetailEnum = {
3270
3270
  isBack: false,
3271
3271
  minimumPrice: null,
3272
3272
  price: null,
3273
- isCatalog: true,
3273
+ isCatalog: false,
3274
3274
  hidden: false,
3275
3275
  isComplementary: false,
3276
3276
  signaturePosition: '',
@@ -3288,7 +3288,7 @@ export const PrestationDetail: PrestationDetailEnum = {
3288
3288
  isBack: false,
3289
3289
  minimumPrice: null,
3290
3290
  price: null,
3291
- isCatalog: true,
3291
+ isCatalog: false,
3292
3292
  hidden: false,
3293
3293
  isComplementary: false,
3294
3294
  signaturePosition: '',
@@ -3306,7 +3306,7 @@ export const PrestationDetail: PrestationDetailEnum = {
3306
3306
  isBack: true,
3307
3307
  minimumPrice: null,
3308
3308
  price: null,
3309
- isCatalog: true,
3309
+ isCatalog: false,
3310
3310
  hidden: false,
3311
3311
  isComplementary: false,
3312
3312
  signaturePosition: '',
@@ -3324,7 +3324,7 @@ export const PrestationDetail: PrestationDetailEnum = {
3324
3324
  isBack: true,
3325
3325
  minimumPrice: null,
3326
3326
  price: null,
3327
- isCatalog: true,
3327
+ isCatalog: false,
3328
3328
  hidden: false,
3329
3329
  isComplementary: false,
3330
3330
  signaturePosition: '',
@@ -3342,7 +3342,7 @@ export const PrestationDetail: PrestationDetailEnum = {
3342
3342
  isBack: true,
3343
3343
  minimumPrice: null,
3344
3344
  price: null,
3345
- isCatalog: true,
3345
+ isCatalog: false,
3346
3346
  hidden: false,
3347
3347
  isComplementary: false,
3348
3348
  signaturePosition: '',
@@ -1,6 +1,7 @@
1
1
  import { VatRegime } from './VatRegime';
2
2
  import { ClosingType } from './ClosingType';
3
3
  import { PrestationType } from './PrestationType';
4
+ import { TaxSystem } from './TaxSystem';
4
5
 
5
6
  export const PriceGridClementine = [
6
7
  {
@@ -214,6 +215,20 @@ export const PriceGridClementine = [
214
215
  price: 40,
215
216
  },
216
217
  ],
218
+ taxSystem: [
219
+ {
220
+ id: TaxSystem.IR,
221
+ price: 0,
222
+ },
223
+ {
224
+ id: TaxSystem.IS,
225
+ price: 15,
226
+ },
227
+ {
228
+ id: TaxSystem.NA,
229
+ price: 0,
230
+ },
231
+ ],
217
232
  },
218
233
  {
219
234
  /* Prévisionnel */
@@ -1,9 +1,10 @@
1
- import { IsArray, IsNumber, IsObject, IsOptional, IsString } from 'class-validator';
1
+ import { IsArray, IsBoolean, IsNumber, IsObject, IsOptional, IsString } from 'class-validator';
2
2
  import { ApiProperty, ApiPropertyOptional } from '../../../../utils';
3
3
  import { IPrestation } from '../../models/IPrestation';
4
4
  import { IExercicePrestation } from '../../models/IExercicePrestation';
5
5
  import { ICommercialOffer } from '../../models/ICommercialOffer';
6
6
  import { IExercice } from '../../models/IExercice';
7
+ import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
7
8
 
8
9
  export class QueryCreatePrestation {
9
10
  @ApiProperty()
@@ -29,6 +30,12 @@ export class QueryUpdatePrestation {
29
30
  @IsString()
30
31
  commentPdf: string;
31
32
 
33
+ @ApiPropertyOptional()
34
+ @IsOptional()
35
+ @IsBoolean()
36
+ @ToBoolean()
37
+ isWithApplicationFees: boolean;
38
+
32
39
  @ApiPropertyOptional()
33
40
  @IsOptional()
34
41
  @IsObject()