@silexpert/core 1.3.198 → 1.3.199-2

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 (185) hide show
  1. package/dist/cjs/api/resources/User.d.ts +7 -1
  2. package/dist/cjs/api/resources/User.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/User.js +34 -0
  4. package/dist/cjs/api/resources/User.js.map +1 -1
  5. package/dist/cjs/api/resources/WorkingSchedule.d.ts +2 -1
  6. package/dist/cjs/api/resources/WorkingSchedule.d.ts.map +1 -1
  7. package/dist/cjs/api/resources/WorkingSchedule.js +3 -0
  8. package/dist/cjs/api/resources/WorkingSchedule.js.map +1 -1
  9. package/dist/cjs/types/Enum/Card.d.ts +2 -2
  10. package/dist/cjs/types/Enum/Card.d.ts.map +1 -1
  11. package/dist/cjs/types/Enum/Card.js +2 -2
  12. package/dist/cjs/types/Enum/Card.js.map +1 -1
  13. package/dist/cjs/types/Enum/EquipmentType.d.ts +15 -0
  14. package/dist/cjs/types/Enum/EquipmentType.d.ts.map +1 -1
  15. package/dist/cjs/types/Enum/EquipmentType.js +15 -0
  16. package/dist/cjs/types/Enum/EquipmentType.js.map +1 -1
  17. package/dist/cjs/types/Enum/Ged.js +1 -1
  18. package/dist/cjs/types/Enum/Ged.js.map +1 -1
  19. package/dist/cjs/types/Enum/PrestationState.d.ts +1 -2
  20. package/dist/cjs/types/Enum/PrestationState.d.ts.map +1 -1
  21. package/dist/cjs/types/Enum/PrestationState.js +0 -7
  22. package/dist/cjs/types/Enum/PrestationState.js.map +1 -1
  23. package/dist/cjs/types/Enum/PrestationType.d.ts +0 -1
  24. package/dist/cjs/types/Enum/PrestationType.d.ts.map +1 -1
  25. package/dist/cjs/types/Enum/PrestationType.js +3 -24
  26. package/dist/cjs/types/Enum/PrestationType.js.map +1 -1
  27. package/dist/cjs/types/Enum/SalesContractBrandClementine.d.ts.map +1 -1
  28. package/dist/cjs/types/Enum/SalesContractBrandClementine.js +4 -19
  29. package/dist/cjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  30. package/dist/cjs/types/Interface/api/brevo/BrevoElement.d.ts +0 -1
  31. package/dist/cjs/types/Interface/api/brevo/BrevoElement.d.ts.map +1 -1
  32. package/dist/cjs/types/Interface/api/brevo/BrevoElement.js +0 -6
  33. package/dist/cjs/types/Interface/api/brevo/BrevoElement.js.map +1 -1
  34. package/dist/cjs/types/Interface/api/card/QueryUserCards.d.ts +0 -1
  35. package/dist/cjs/types/Interface/api/card/QueryUserCards.d.ts.map +1 -1
  36. package/dist/cjs/types/Interface/api/card/QueryUserCards.js +0 -6
  37. package/dist/cjs/types/Interface/api/card/QueryUserCards.js.map +1 -1
  38. package/dist/cjs/types/Interface/api/prestation/Query.d.ts +0 -2
  39. package/dist/cjs/types/Interface/api/prestation/Query.d.ts.map +1 -1
  40. package/dist/cjs/types/Interface/api/prestation/Query.js +0 -13
  41. package/dist/cjs/types/Interface/api/prestation/Query.js.map +1 -1
  42. package/dist/cjs/types/Interface/api/user/CreateCoworker.d.ts.map +1 -1
  43. package/dist/cjs/types/Interface/api/user/CreateCoworker.js +4 -0
  44. package/dist/cjs/types/Interface/api/user/CreateCoworker.js.map +1 -1
  45. package/dist/cjs/types/index.d.ts +0 -5
  46. package/dist/cjs/types/index.d.ts.map +1 -1
  47. package/dist/cjs/types/index.js +0 -5
  48. package/dist/cjs/types/index.js.map +1 -1
  49. package/dist/cjs/utils/documents.js +1 -1
  50. package/dist/cjs/utils/documents.js.map +1 -1
  51. package/dist/cjs/utils/prestation.d.ts.map +1 -1
  52. package/dist/cjs/utils/prestation.js +1 -2
  53. package/dist/cjs/utils/prestation.js.map +1 -1
  54. package/dist/cjs/utils/transforms/number.transform.d.ts +3 -0
  55. package/dist/cjs/utils/transforms/number.transform.d.ts.map +1 -0
  56. package/dist/cjs/utils/transforms/number.transform.js +36 -0
  57. package/dist/cjs/utils/transforms/number.transform.js.map +1 -0
  58. package/dist/mjs/api/resources/User.d.ts +7 -1
  59. package/dist/mjs/api/resources/User.d.ts.map +1 -1
  60. package/dist/mjs/api/resources/User.js +34 -0
  61. package/dist/mjs/api/resources/User.js.map +1 -1
  62. package/dist/mjs/api/resources/WorkingSchedule.d.ts +2 -1
  63. package/dist/mjs/api/resources/WorkingSchedule.d.ts.map +1 -1
  64. package/dist/mjs/api/resources/WorkingSchedule.js +3 -0
  65. package/dist/mjs/api/resources/WorkingSchedule.js.map +1 -1
  66. package/dist/mjs/types/Enum/Card.d.ts +2 -2
  67. package/dist/mjs/types/Enum/Card.d.ts.map +1 -1
  68. package/dist/mjs/types/Enum/Card.js +2 -2
  69. package/dist/mjs/types/Enum/Card.js.map +1 -1
  70. package/dist/mjs/types/Enum/EquipmentType.d.ts +15 -0
  71. package/dist/mjs/types/Enum/EquipmentType.d.ts.map +1 -1
  72. package/dist/mjs/types/Enum/EquipmentType.js +15 -0
  73. package/dist/mjs/types/Enum/EquipmentType.js.map +1 -1
  74. package/dist/mjs/types/Enum/Ged.js +1 -1
  75. package/dist/mjs/types/Enum/Ged.js.map +1 -1
  76. package/dist/mjs/types/Enum/PrestationState.d.ts +1 -2
  77. package/dist/mjs/types/Enum/PrestationState.d.ts.map +1 -1
  78. package/dist/mjs/types/Enum/PrestationState.js +0 -7
  79. package/dist/mjs/types/Enum/PrestationState.js.map +1 -1
  80. package/dist/mjs/types/Enum/PrestationType.d.ts +0 -1
  81. package/dist/mjs/types/Enum/PrestationType.d.ts.map +1 -1
  82. package/dist/mjs/types/Enum/PrestationType.js +2 -23
  83. package/dist/mjs/types/Enum/PrestationType.js.map +1 -1
  84. package/dist/mjs/types/Enum/SalesContractBrandClementine.d.ts.map +1 -1
  85. package/dist/mjs/types/Enum/SalesContractBrandClementine.js +5 -20
  86. package/dist/mjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  87. package/dist/mjs/types/Interface/api/brevo/BrevoElement.d.ts +0 -1
  88. package/dist/mjs/types/Interface/api/brevo/BrevoElement.d.ts.map +1 -1
  89. package/dist/mjs/types/Interface/api/brevo/BrevoElement.js +0 -7
  90. package/dist/mjs/types/Interface/api/brevo/BrevoElement.js.map +1 -1
  91. package/dist/mjs/types/Interface/api/card/QueryUserCards.d.ts +0 -1
  92. package/dist/mjs/types/Interface/api/card/QueryUserCards.d.ts.map +1 -1
  93. package/dist/mjs/types/Interface/api/card/QueryUserCards.js +0 -6
  94. package/dist/mjs/types/Interface/api/card/QueryUserCards.js.map +1 -1
  95. package/dist/mjs/types/Interface/api/prestation/Query.d.ts +0 -2
  96. package/dist/mjs/types/Interface/api/prestation/Query.d.ts.map +1 -1
  97. package/dist/mjs/types/Interface/api/prestation/Query.js +0 -15
  98. package/dist/mjs/types/Interface/api/prestation/Query.js.map +1 -1
  99. package/dist/mjs/types/Interface/api/user/CreateCoworker.d.ts.map +1 -1
  100. package/dist/mjs/types/Interface/api/user/CreateCoworker.js +4 -0
  101. package/dist/mjs/types/Interface/api/user/CreateCoworker.js.map +1 -1
  102. package/dist/mjs/types/index.d.ts +0 -5
  103. package/dist/mjs/types/index.d.ts.map +1 -1
  104. package/dist/mjs/types/index.js +0 -5
  105. package/dist/mjs/types/index.js.map +1 -1
  106. package/dist/mjs/utils/documents.js +1 -1
  107. package/dist/mjs/utils/documents.js.map +1 -1
  108. package/dist/mjs/utils/prestation.d.ts.map +1 -1
  109. package/dist/mjs/utils/prestation.js +1 -2
  110. package/dist/mjs/utils/prestation.js.map +1 -1
  111. package/dist/mjs/utils/transforms/number.transform.d.ts +3 -0
  112. package/dist/mjs/utils/transforms/number.transform.d.ts.map +1 -0
  113. package/dist/mjs/utils/transforms/number.transform.js +33 -0
  114. package/dist/mjs/utils/transforms/number.transform.js.map +1 -0
  115. package/package.json +1 -1
  116. package/ts/api/resources/User.ts +44 -0
  117. package/ts/api/resources/WorkingSchedule.ts +5 -0
  118. package/ts/types/Enum/Card.ts +2 -2
  119. package/ts/types/Enum/EquipmentType.ts +15 -0
  120. package/ts/types/Enum/Ged.ts +1 -1
  121. package/ts/types/Enum/PrestationState.ts +0 -7
  122. package/ts/types/Enum/PrestationType.ts +2 -24
  123. package/ts/types/Enum/SalesContractBrandClementine.ts +4 -20
  124. package/ts/types/Interface/api/brevo/BrevoElement.ts +0 -5
  125. package/ts/types/Interface/api/card/QueryUserCards.ts +0 -5
  126. package/ts/types/Interface/api/prestation/Query.ts +0 -11
  127. package/ts/types/Interface/api/user/CreateCoworker.ts +4 -0
  128. package/ts/types/index.ts +0 -5
  129. package/ts/utils/documents.ts +1 -1
  130. package/ts/utils/prestation.ts +1 -2
  131. package/ts/utils/transforms/number.transform.ts +38 -0
  132. package/dist/cjs/api/resources/Webex.d.ts +0 -8
  133. package/dist/cjs/api/resources/Webex.d.ts.map +0 -1
  134. package/dist/cjs/api/resources/Webex.js +0 -17
  135. package/dist/cjs/api/resources/Webex.js.map +0 -1
  136. package/dist/cjs/types/Enum/EbookIntention.d.ts +0 -8
  137. package/dist/cjs/types/Enum/EbookIntention.d.ts.map +0 -1
  138. package/dist/cjs/types/Enum/EbookIntention.js +0 -18
  139. package/dist/cjs/types/Enum/EbookIntention.js.map +0 -1
  140. package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.d.ts +0 -7
  141. package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.d.ts.map +0 -1
  142. package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.js +0 -38
  143. package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.js.map +0 -1
  144. package/dist/cjs/types/Interface/api/webex/PaginatedWebinars.d.ts +0 -7
  145. package/dist/cjs/types/Interface/api/webex/PaginatedWebinars.d.ts.map +0 -1
  146. package/dist/cjs/types/Interface/api/webex/PaginatedWebinars.js +0 -3
  147. package/dist/cjs/types/Interface/api/webex/PaginatedWebinars.js.map +0 -1
  148. package/dist/cjs/types/Interface/api/webex/WebexMeeting.d.ts +0 -22
  149. package/dist/cjs/types/Interface/api/webex/WebexMeeting.d.ts.map +0 -1
  150. package/dist/cjs/types/Interface/api/webex/WebexMeeting.js +0 -3
  151. package/dist/cjs/types/Interface/api/webex/WebexMeeting.js.map +0 -1
  152. package/dist/cjs/types/Interface/api/webex/WebexRegistrant.d.ts +0 -18
  153. package/dist/cjs/types/Interface/api/webex/WebexRegistrant.d.ts.map +0 -1
  154. package/dist/cjs/types/Interface/api/webex/WebexRegistrant.js +0 -40
  155. package/dist/cjs/types/Interface/api/webex/WebexRegistrant.js.map +0 -1
  156. package/dist/mjs/api/resources/Webex.d.ts +0 -8
  157. package/dist/mjs/api/resources/Webex.d.ts.map +0 -1
  158. package/dist/mjs/api/resources/Webex.js +0 -13
  159. package/dist/mjs/api/resources/Webex.js.map +0 -1
  160. package/dist/mjs/types/Enum/EbookIntention.d.ts +0 -8
  161. package/dist/mjs/types/Enum/EbookIntention.d.ts.map +0 -1
  162. package/dist/mjs/types/Enum/EbookIntention.js +0 -15
  163. package/dist/mjs/types/Enum/EbookIntention.js.map +0 -1
  164. package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.d.ts +0 -7
  165. package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.d.ts.map +0 -1
  166. package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.js +0 -38
  167. package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.js.map +0 -1
  168. package/dist/mjs/types/Interface/api/webex/PaginatedWebinars.d.ts +0 -7
  169. package/dist/mjs/types/Interface/api/webex/PaginatedWebinars.d.ts.map +0 -1
  170. package/dist/mjs/types/Interface/api/webex/PaginatedWebinars.js +0 -2
  171. package/dist/mjs/types/Interface/api/webex/PaginatedWebinars.js.map +0 -1
  172. package/dist/mjs/types/Interface/api/webex/WebexMeeting.d.ts +0 -22
  173. package/dist/mjs/types/Interface/api/webex/WebexMeeting.d.ts.map +0 -1
  174. package/dist/mjs/types/Interface/api/webex/WebexMeeting.js +0 -2
  175. package/dist/mjs/types/Interface/api/webex/WebexMeeting.js.map +0 -1
  176. package/dist/mjs/types/Interface/api/webex/WebexRegistrant.d.ts +0 -18
  177. package/dist/mjs/types/Interface/api/webex/WebexRegistrant.d.ts.map +0 -1
  178. package/dist/mjs/types/Interface/api/webex/WebexRegistrant.js +0 -40
  179. package/dist/mjs/types/Interface/api/webex/WebexRegistrant.js.map +0 -1
  180. package/ts/api/resources/Webex.ts +0 -16
  181. package/ts/types/Enum/EbookIntention.ts +0 -14
  182. package/ts/types/Interface/api/webex/GetWebinarsParams.ts +0 -20
  183. package/ts/types/Interface/api/webex/PaginatedWebinars.ts +0 -7
  184. package/ts/types/Interface/api/webex/WebexMeeting.ts +0 -21
  185. package/ts/types/Interface/api/webex/WebexRegistrant.ts +0 -34
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../ts/utils/documents.ts"],"names":[],"mappings":"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","sourcesContent":["import { RequiredDocsType } from '../types';\nimport { GedFileType } from '../types/Enum/Ged';\nimport { LegalForm } from '../types/Enum/LegalForm';\nimport * as dayjs from 'dayjs';\n\nconst requiredListDocs = (params: RequiredDocsType): GedFileType[] => {\n const { society, oldExpertInfo, isOnlyPrevi, isOnlyJuridic, isOnlySocial, isCreation, isConsultingHour, goToClient } =\n params;\n const { dontHaveOldExpert, recoveryDate } = oldExpertInfo || {};\n const { idLegalForm, dateOfRegistration } = society || {};\n\n // Ceci est un hack pour forcer le retour de doc pour la création en ligne\n // Ce cas de figure arrive pour un lead qui stipule qu'il est en création\n // mais n'a pas renseigné de status juridique\n if (isCreation && !idLegalForm) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n\n if (!idLegalForm) return [];\n\n if (isConsultingHour) {\n return [GedFileType.PLAQUETTE];\n }\n if (isOnlyPrevi) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PLAQUETTE];\n }\n if (isCreation) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n if (isOnlyJuridic || isOnlySocial) {\n return [GedFileType.RIB, GedFileType.PLAQUETTE];\n }\n\n const generique = [GedFileType.IDENTITY_CARD, GedFileType.RIB, GedFileType.PLAQUETTE, GedFileType.FISCAL_MEMENTO];\n\n // Si le client faisait sa compta lui-même\n // et que le goToClient est supérieur à la date de reprise + 4 mois\n // et que la date de reprise est après la date de création de la société\n // alors liasse fiscale N-1 obligatoire !\n if (\n dontHaveOldExpert &&\n recoveryDate &&\n dateOfRegistration &&\n dayjs(recoveryDate).add(4, 'months').diff(goToClient) < 0 &&\n dayjs(recoveryDate).isAfter(dateOfRegistration)\n ) {\n generique.push(GedFileType.FISCAL_BUNDLE);\n }\n\n if ([LegalForm.SAS.id, LegalForm.SA.id].includes(idLegalForm)) {\n generique.push(GedFileType.DISTRIBUTION_OF_SHARE);\n }\n\n if (\n [\n LegalForm.SELARLU.id,\n LegalForm.EURL.id,\n LegalForm.SASU.id,\n LegalForm.SA.id,\n LegalForm.SAS.id,\n LegalForm.SARL.id,\n LegalForm.SCI.id,\n LegalForm.SCCV.id,\n LegalForm.EARL.id,\n LegalForm.GIE.id,\n LegalForm.SELASU.id,\n LegalForm.SOCIETE_CIVILE.id,\n ].includes(idLegalForm)\n ) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.DBE2, GedFileType.SEPA];\n }\n if ([LegalForm.SELARL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.SEPA];\n }\n if ([LegalForm.EI.id, LegalForm.AUTO_ENTREPRENEUR.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA];\n }\n if ([LegalForm.EIRL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA, GedFileType.PATRIMONY];\n }\n if ([LegalForm.ASSOCIATION.id].includes(idLegalForm)) {\n return [\n ...generique,\n GedFileType.RULES_OF_PROCEDURE,\n GedFileType.REGISTRATION_OF_THE_ASSOCIATION_AT_THE_PREFECTURE,\n GedFileType.REPRESENTATIVE_OF_THE_ASSOCIATION,\n GedFileType.DBE2,\n ];\n }\n\n return generique;\n};\n\nexport { requiredListDocs };\n"]}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../ts/utils/documents.ts"],"names":[],"mappings":"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","sourcesContent":["import { RequiredDocsType } from '../types';\nimport { GedFileType } from '../types/Enum/Ged';\nimport { LegalForm } from '../types/Enum/LegalForm';\nimport * as dayjs from 'dayjs';\n\nconst requiredListDocs = (params: RequiredDocsType): GedFileType[] => {\n const { society, oldExpertInfo, isOnlyPrevi, isOnlyJuridic, isOnlySocial, isCreation, isConsultingHour, goToClient } =\n params;\n const { dontHaveOldExpert, recoveryDate } = oldExpertInfo || {};\n const { idLegalForm, dateOfRegistration } = society || {};\n\n // Ceci est un hack pour forcer le retour de doc pour la création en ligne\n // Ce cas de figure arrive pour un lead qui stipule qu'il est en création\n // mais n'a pas renseigné de status juridique\n if (isCreation && !idLegalForm) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n\n if (!idLegalForm) return [];\n\n if (isConsultingHour) {\n return [GedFileType.PLAQUETTE];\n }\n if (isOnlyPrevi) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PLAQUETTE];\n }\n if (isCreation) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n if (isOnlyJuridic || isOnlySocial) {\n return [GedFileType.RIB, GedFileType.PLAQUETTE];\n }\n\n const generique = [GedFileType.IDENTITY_CARD, GedFileType.RIB, GedFileType.PLAQUETTE];\n\n // Si le client faisait sa compta lui-même\n // et que le goToClient est supérieur à la date de reprise + 4 mois\n // et que la date de reprise est après la date de création de la société\n // alors liasse fiscale N-1 obligatoire !\n if (\n dontHaveOldExpert &&\n recoveryDate &&\n dateOfRegistration &&\n dayjs(recoveryDate).add(4, 'months').diff(goToClient) < 0 &&\n dayjs(recoveryDate).isAfter(dateOfRegistration)\n ) {\n generique.push(GedFileType.FISCAL_BUNDLE);\n }\n\n if ([LegalForm.SAS.id, LegalForm.SA.id].includes(idLegalForm)) {\n generique.push(GedFileType.DISTRIBUTION_OF_SHARE);\n }\n\n if (\n [\n LegalForm.SELARLU.id,\n LegalForm.EURL.id,\n LegalForm.SASU.id,\n LegalForm.SA.id,\n LegalForm.SAS.id,\n LegalForm.SARL.id,\n LegalForm.SCI.id,\n LegalForm.SCCV.id,\n LegalForm.EARL.id,\n LegalForm.GIE.id,\n LegalForm.SELASU.id,\n LegalForm.SOCIETE_CIVILE.id,\n ].includes(idLegalForm)\n ) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.DBE2, GedFileType.SEPA];\n }\n if ([LegalForm.SELARL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.SEPA];\n }\n if ([LegalForm.EI.id, LegalForm.AUTO_ENTREPRENEUR.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA];\n }\n if ([LegalForm.EIRL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA, GedFileType.PATRIMONY];\n }\n if ([LegalForm.ASSOCIATION.id].includes(idLegalForm)) {\n return [\n ...generique,\n GedFileType.RULES_OF_PROCEDURE,\n GedFileType.REGISTRATION_OF_THE_ASSOCIATION_AT_THE_PREFECTURE,\n GedFileType.REPRESENTATIVE_OF_THE_ASSOCIATION,\n GedFileType.DBE2,\n ];\n }\n\n return generique;\n};\n\nexport { requiredListDocs };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKnE,OAAO,EAGL,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAoB,MAAM,gCAAgC,CAAC;AAexF,KAAK,SAAS,GAAG;IACf,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAC5B,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC7C,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,QAAA,MAAM,yBAAyB,GAAI,kBAAkB,MAAM,KAAG,OAShC,CAAC;AAE/B,QAAA,MAAM,wBAAwB,GAAI,aAAa,OAAO,EAAE,WAAW,OAAO,EAAE,kBAAkB,MAAM,KAAG,OACpB,CAAC;AAEpF,QAAA,MAAM,oBAAoB,GAAI,kBAAkB,MAAM,KAAG,OACY,CAAC;AAEtE,QAAA,MAAM,kBAAkB,GAAI,QAAQ,OAAO,EAAE,WAAW,OAAO,KAAG,OAA+B,CAAC;AAElG,QAAA,MAAM,WAAW,GAAI,kBAAkB,MAAM,EAAE,KAAG,OAIxC,CAAC;AAEX,QAAA,MAAM,YAAY,GAAI,kBAAkB,MAAM,EAAE,KAAG,OACoE,CAAC;AAExH,QAAA,MAAM,aAAa,GAAI,kBAAkB,MAAM,EAAE,KAAG,OACmD,CAAC;AAExG,QAAA,MAAM,UAAU,GAAI,kBAAkB,MAAM,EAAE,KAAG,OAOtC,CAAC;AAEZ,QAAA,MAAM,oBAAoB,GAAI,kBAAkB,MAAM,EAAE,KAAG,OASjD,CAAC;AAEX,QAAA,MAAM,SAAS,GAAI,kBAAkB,MAAM,KAAG,OAI7C,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,kBAAkB,MAAM,EAAE,KAAG,OACoB,CAAC;AAE5E,QAAA,MAAM,oBAAoB,GAAI,kBAAkB,MAAM,EAAE,KAAG,OAEhD,CAAC;AAGZ,QAAA,MAAM,4BAA4B,GAChC,kBAAkB,cAAc,EAChC,aAAa,WAAW,EAAE,EAC1B,qBAAqB,MAAM,KAC1B,MAsEF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,QAAQ;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,KAAG,MAaH,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,aAAa,MAAM,EAAE,kBAAkB,MAAM,KAAG,SAAS,GAAG,SAsBxF,CAAC;AAEF,QAAA,MAAM,qCAAqC,GACzC,kBAAkB,MAAM,EACxB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,aAAa,MAAM,EACnB,iBAAiB,MAAM,EACvB,kBAAkB,MAAM,EACxB,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,kBAAkB,OAAO,EACzB,UAAU,OAAO,EACjB,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,sBAAqB,MAAU,KAC9B;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CAmHf,CAAC;AAUF;;;;;;GAMG;AACH,QAAA,MAAM,wBAAwB,GAAI,aAAa,MAAM,EAAE,QAAQ,MAAM,WASpE,CAAC;AAEF,QAAA,MAAM,wBAAwB,GAC5B,kBAAkB,MAAM,EACxB,gBAAgB,eAAe,EAC/B,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,aAAa,MAAM,EACnB,iBAAiB,MAAM,EACvB,kBAAkB,MAAM,EACxB,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,kBAAkB,OAAO,EACzB,aAAa,MAAM,EAAE,EACrB,iBAAiB,MAAM,EACvB,aAAa,MAAM,EACnB,YAAY,MAAM,EAClB,uBAAuB,OAAO,EAC9B,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,WAAU,OAAe,EACzB,kBAAiB,OAAe,EAChC,sBAAqB,MAAU,EAC/B,eAAc,SAAS,EAAO,KAC7B;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CAuHf,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAI,kBAAkB,MAAM,KAAG,oBAAoB,EAK5E,CAAC;AAEF,QAAA,MAAM,mBAAmB,GACvB,aAAa,MAAM,EACnB,kBAAkB,MAAM,EACxB,UAAU,MAAM,EAChB,kBAAkB,OAAO,KACxB,OAqCF,CAAC;AAEF,QAAA,MAAM,2BAA2B,GAAI,kBAAkB,MAAM,KAAG,UAAU,GAAG,WAG5E,CAAC;AAEF,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,qCAAqC,EACrC,wBAAwB,EACxB,2BAA2B,GAC5B,CAAC"}
@@ -63,7 +63,7 @@ const calculateScoringOfPrestation = (idPrestationType, prestations, currentIdPr
63
63
  if (isSoftwarePrestation([idPrestationType]) &&
64
64
  currentPrestation?.exercices?.length &&
65
65
  //@ts-expect-error
66
- (currentPrestation?.exercices[0].ExercicePrestation?.totalPrestation < 72 ||
66
+ (currentPrestation?.exercices[0].ExercicePrestation?.totalPrestation < 80 ||
67
67
  //@ts-expect-error
68
68
  currentPrestation?.exercices[0].ExercicePrestation?.monthNumber !== 1)) {
69
69
  return 0;
@@ -200,7 +200,6 @@ const calculatePrestationPriceWithPriceGrid = (idPrestationList, endDate, NbrMon
200
200
  if (totalMonth > 0) {
201
201
  if (isYearly) {
202
202
  yearlyPrice = (10 - totalMonth) * (yearlyPrice ? yearlyPrice / 10 : 0);
203
- monthNbr = monthNbr - totalMonth;
204
203
  }
205
204
  else {
206
205
  monthNbr = monthNbr - totalMonth;
@@ -1 +1 @@
1
- {"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"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","sourcesContent":["import { IExercice, IPrestation, IPrestationList } from '../types';\nimport { Vat } from '../types/Enum/Vat';\nimport { ReasonTerminationType } from '../types/Enum/ReasonTerminationType';\nimport { getTaxesIncludedAmount } from './vat/utils';\nimport { intersection } from './noLodash';\nimport {\n ClementineSubscriptionAccountancySoftwarePrestations,\n PrestationDetail,\n PrestationType,\n} from '../types/Enum/PrestationType';\nimport { LegalFormTypeEnum } from '../types/Enum/LegalForm';\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 { PriceGridStatutsExpress } from '../types/Enum/PriceGridStatutsExpress';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\nimport { exerciceNumber } from './exercice';\n\ntype priceGridBrand = {\n idTypeBrand: number;\n price: priceGrid[];\n};\n\ntype priceGrid = {\n idPrestationList: number[];\n priceWithTaxesIncluded: boolean;\n applicationCost: number;\n monthlyNbr?: monthlyNbr[];\n exerciceNbr?: exerciceNbr[];\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 legalForm?: legalForm[];\n employeeByLegalForm?: employeeByLegalForm[];\n};\n\ntype monthlyNbr = {\n minimum: number;\n maximum: number;\n value: number;\n closingType: number[];\n};\n\ntype exerciceNbr = {\n minimum: number;\n maximum: number;\n price: number;\n};\n\ntype turnover = {\n turnoverValue: number;\n price: number;\n};\n\ntype legalForm = {\n idLegalForm: number;\n price: number;\n};\n\ntype employee = {\n amountMinimum: number;\n amountMaximum: number;\n price: number;\n};\n\ntype employeeByLegalForm = {\n idLegalForm: 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 [\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,\n ].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique: boolean, isCatalog: boolean, idPrestationList: number): boolean =>\n idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean =>\n idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden: boolean, isCatalog: boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter(\n (idPL: number) =>\n ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL),\n ).length;\n\nconst isOnlySocial = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter((idPL: number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter((idPL: number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [\n PrestationType.CREATION_SOCIETE,\n PrestationType.STATUTS_FREE,\n PrestationType.STATUTS_OPTION_1,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.STATUTS_OPTION_AE,\n ]).length;\n\nconst isFromStatutsExpress = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter(\n (idPL: number) =>\n ![\n PrestationType.STATUTS_FREE,\n PrestationType.STATUTS_OPTION_1,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.STATUTS_OPTION_AE,\n ].includes(idPL),\n ).length;\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 isConsultingHour = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [PrestationType.CONSULTING_HOUR]).length;\n\nconst isSoftwarePrestation = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [PrestationType.STEERING, PrestationType.VAT, PrestationType.BALANCESHEET])\n .length; /* &&\n idPrestationList.length === 1 */ // Commenté car si un client résilie un software pour un utre software, condition non prise en charge\n\nconst calculateScoringOfPrestation = (\n idPrestationType: PrestationType,\n prestations: IPrestation[],\n currentIdPrestation: number,\n): number => {\n const prestationsSignedPaid = prestations.filter(\n (prestation) =>\n prestation.paid &&\n prestation.signed &&\n (prestation.terminationList === null ||\n prestation.terminationList?.idReasonTermination?.includes(ReasonTerminationType.CHANGES_NEW_OFFERS)) &&\n prestation.id !== currentIdPrestation,\n );\n\n const currentPrestation = prestations.find(\n (el) => el.idPrestationList === idPrestationType && el.terminationList === null,\n );\n\n // SPECIAL CASE:\n // If current prestation is a software prestation\n // and the current prestation is an annual payment, return 0 point\n if (\n isSoftwarePrestation([idPrestationType]) &&\n currentPrestation?.exercices?.length &&\n //@ts-expect-error\n (currentPrestation?.exercices[0].ExercicePrestation?.totalPrestation < 72 ||\n //@ts-expect-error\n currentPrestation?.exercices[0].ExercicePrestation?.monthNumber !== 1)\n ) {\n return 0;\n }\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter(\n (p) =>\n p.isComptable &&\n !p.isCatalog &&\n p.id &&\n ![PrestationType.BALANCESHEET, PrestationType.VAT, PrestationType.STEERING].includes(p.id),\n );\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 let numberPoint = prestaDetails?.point || 0;\n\n // For each back exercices, add 100 points\n // -> for new prestations only\n if (\n [\n PrestationType.EXPERTISE,\n PrestationType.SUPPORT,\n PrestationType.PREMIUM,\n PrestationType.CUSTOM_MADE,\n PrestationType.GESTION_IMMO,\n PrestationType.EI,\n PrestationType.MICRO,\n ].includes(idPrestationType) &&\n currentPrestation?.exercices?.length &&\n currentPrestation?.exercices.find((el) => el.isBack)\n ) {\n numberPoint += (currentPrestation?.exercices.filter((el) => el.isBack).length ?? 1) * 100;\n }\n\n // Get list of prestations that are already done\n // 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))\n return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nexport const calculateMonthlyAmount = (params: {\n monthlyPrice: number;\n monthNumber: number;\n monthOffer: number;\n idVatForInternalInvoicing?: number | null;\n returnTaxesIncludedValue?: boolean;\n}): number => {\n const { monthlyPrice, monthNumber, monthOffer, idVatForInternalInvoicing, returnTaxesIncludedValue = true } = params;\n\n if (!idVatForInternalInvoicing && returnTaxesIncludedValue)\n throw new Error('Taux de TVA manquant pour calculer le montant TTC');\n\n if (!idVatForInternalInvoicing || !returnTaxesIncludedValue) return monthlyPrice * (monthNumber - monthOffer);\n\n return (\n monthlyPrice *\n (monthNumber - monthOffer) *\n (1 + Object.values(Vat).find((el) => el.id === idVatForInternalInvoicing).value / 100)\n );\n};\n\nexport const 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,\n PriceGridPourcentage,\n PriceGridLegalstart,\n PriceGridStatutsExpress,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile)\n currentBrandPriceGrid = currentPriceGridFile.find(\n (priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand,\n );\n if (currentBrandPriceGrid)\n currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) =>\n price.idPrestationList.includes(idPrestationList),\n );\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (\n idPrestationList: number,\n endDate: string,\n NbrMonth: number /* Nbr de mois dans l'exercice */,\n turnover: number,\n rentsNumber: number,\n employeesNumber: number,\n associatesNumber: number,\n idTypeBrand: number,\n idVatRegime: number,\n pastBalanceSheet: boolean,\n isYearly: boolean /* Prestation annuel ou mensuel */,\n totalMonth: number /* Nbr de moiis offer */,\n idTaxSystem: number,\n idLegalForm: number,\n exerciceNbr: number,\n balanceSheetOffered: number = 0 /* montant du bilan offer */,\n): {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n monthNbr: number;\n price: number;\n} => {\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 const 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)\n vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find((regime) => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly)\n vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find((regime) => regime.type === idVatRegime)?.price;\n\n /* Gestion du Régime d'imposition */\n if (currentPriceGrid.taxSystem && idTaxSystem)\n taxSystemPrice = currentPriceGrid.taxSystem?.find((tax) => tax.id === idTaxSystem)?.price;\n\n /* Gestion des montants */\n /* Récupératioin des prix mensuels */\n if (currentPriceGrid.turnoverMonthly && !isYearly)\n monthlyPrice = currentPriceGrid.turnoverMonthly?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties)\n monthlyPrice = currentPriceGrid.properties?.find((property) => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) {\n monthlyPrice = currentPriceGrid.employee?.find(\n (emp) => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber,\n )?.price;\n monthlyPrice = monthlyPrice ? monthlyPrice * employeesNumber : 0;\n } else if (currentPriceGrid.employeeByLegalForm) {\n monthlyPrice = currentPriceGrid.employeeByLegalForm?.find((emp) => emp.idLegalForm === idLegalForm)?.price;\n monthlyPrice = monthlyPrice ? monthlyPrice * employeesNumber : 0;\n /* Récupération des prix annuels */\n } else if (currentPriceGrid.turnoverYearly && isYearly)\n yearlyPrice = currentPriceGrid.turnoverYearly?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear)\n yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear)\n yearlyPrice = currentPriceGrid.turnoverPastYear?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner)\n yearlyPrice = currentPriceGrid.partner?.find(\n (part) => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber,\n )?.price;\n else if (currentPriceGrid.legalForm)\n yearlyPrice = currentPriceGrid.legalForm?.find((form) => form.idLegalForm === idLegalForm)?.price;\n else if (currentPriceGrid.exerciceNbr)\n yearlyPrice = currentPriceGrid.exerciceNbr?.find(\n (el) => el.minimum <= exerciceNbr && exerciceNbr <= el.maximum,\n )?.price;\n /* Calcul du prix mensuel final */\n finalMonthlyPrice =\n (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 let monthlyNbrList: monthlyNbr[] | undefined;\n let monthlyNbr: monthlyNbr | undefined;\n if (currentPriceGrid.monthlyNbr) {\n monthlyNbrList = currentPriceGrid.monthlyNbr?.filter((el) =>\n el.closingType.includes(cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS),\n );\n if (monthlyNbrList) {\n monthlyNbr = monthlyNbrList.find((el) => el.minimum <= monthNbr && monthNbr <= el.maximum);\n if (monthlyNbr) {\n monthNbr = monthlyNbr.value;\n }\n }\n }\n\n /* Gestion des offres, mois offer */\n if (totalMonth > 0) {\n if (isYearly) {\n yearlyPrice = (10 - totalMonth) * (yearlyPrice ? yearlyPrice / 10 : 0);\n monthNbr = monthNbr - totalMonth;\n } else {\n monthNbr = monthNbr - totalMonth;\n }\n }\n\n /* Calcul du nombre de mois soustraient */\n reduceMonth = monthNbr === NbrMonth - totalMonth ? totalMonth : 0;\n\n /* Gestion des offres, bilan offer */\n if (balanceSheetOffered > 0) {\n yearlyPrice = undefined;\n recalculateMonthly = false;\n finalMonthlyPrice = balanceSheetOffered / monthNbr;\n }\n\n /* Prix Final */\n totalPrestation = yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr;\n }\n return {\n totalPrestation,\n reduceMonth,\n canBeCreated,\n monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr,\n price: yearlyPrice\n ? yearlyPrice\n : recalculateMonthly\n ? totalPrestation / monthNbr\n : finalMonthlyPrice\n ? finalMonthlyPrice\n : 0,\n };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList?.price || 0;\n\n return totalPrestation;\n};\n\n/**\n * From idLegalForm, get application fees amount (without taxes included if no idVat passed, or with taxes included calculated by given idVat)\n * @param idLegalForm\n * @param idVat\n * @returns amount of application fees, without taxes included\n * @deprecated Application fees are not charged anymore\n */\nconst getApplicationFeesAmount = (idLegalForm: number, idVat?: number) => {\n let applicationFeesAmount = 50;\n if (idLegalForm === LegalFormTypeEnum.SCI) applicationFeesAmount = 150;\n\n //Sans tva, on envoie le montant HT\n if (!idVat) return applicationFeesAmount;\n\n //Avec tva, on envoie le montant TTC\n return getTaxesIncludedAmount(applicationFeesAmount, idVat);\n};\n\nconst calculatePrestationPrice = (\n idPrestationList: number,\n prestationList: IPrestationList,\n endDate: string,\n NbrMonth: number /* Nbr de mois dans l'exercice */,\n turnover: number,\n rentsNumber: number,\n employeesNumber: number,\n associatesNumber: number,\n idTypeBrand: number,\n idVatRegime: number,\n pastBalanceSheet: boolean,\n optionsList: number[],\n totalPercentage: number /* total pourcentage offer (%) */,\n totalAmount: number /* total montant offer (€) */,\n totalMonth: number /* total mois offer (mois) */,\n isWithApplicationFees: boolean /* frais de dossier */,\n idTaxSystem: number,\n idLegalForm: number,\n isYearly: boolean = false /* prestation annuel ou mensuel */,\n isSubPrestation: boolean = false,\n balanceSheetOffered: number = 0,\n exerciceList: IExercice[] = [],\n): {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n calculDetail: string;\n monthlyPrice: string;\n price: number;\n} => {\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: {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n monthNbr: number;\n price: number;\n } = { 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 PrestationType.COMPTA_EI_KLEMS,\n PrestationType.COMPTA_EI_KLEMS_EXPRESS,\n PrestationType.COMPTA_MICRO_KLEMS,\n PrestationType.COMPTA_MICRO_KLEMS_EXPRESS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.EXPERTISE,\n PrestationType.SUPPORT,\n PrestationType.PREMIUM,\n PrestationType.CUSTOM_MADE,\n PrestationType.EI,\n PrestationType.MICRO,\n PrestationType.GESTION_IMMO,\n ].includes(idPrestationList)\n ) {\n let exerciceNbr: number = 0;\n if (exerciceList.length) exerciceNbr = exerciceNumber(dayjs(endDate, 'YYYY-MM-DD').toDate(), exerciceList);\n totalWithReduce = calculatePrestationPriceWithPriceGrid(\n idPrestationList,\n endDate,\n NbrMonth,\n turnover,\n rentsNumber,\n employeesNumber,\n associatesNumber,\n idTypeBrand,\n idVatRegime,\n pastBalanceSheet,\n isYearly,\n totalMonth,\n idTaxSystem,\n idLegalForm,\n exerciceNbr,\n balanceSheetOffered,\n );\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 if ([PrestationType.CREATION_SOCIETE].includes(idPrestationList) && !isSubPrestation) {\n // totalPrestation += 50;\n // La création est offerte désormais\n // inutile d'ajouter les frais de greffe et d'annonce légale,\n // car ne compte pas dans le calcul pour les sales\n }\n }\n /* Gestion des offres */\n /* Offre montant offer */\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n /* Offre pourcentage offer */\n if (totalPercentage > 0) totalPrestation = totalPrestation - totalPrestation * (totalPercentage / 100);\n /* Gesstioin du prix minimum acceptable pour la prestation */\n if (prestationList && prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice)\n 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(\n (option) => option.id === optionId,\n )?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += OptionTotalPrice ? OptionTotalPrice : 0;\n /* Gestion des frais de dossier */\n // if (isWithApplicationFees) {\n // const applicationFeesAmount = getApplicationFeesAmount(idLegalForm);\n // totalPrestation += applicationFeesAmount;\n // }\n\n const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + Math.round(price * 100) / 100 + '€' : Math.round(price * 100) / 100 + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;\n\n return {\n totalPrestation,\n reduceMonth,\n canBeCreated,\n calculDetail,\n monthlyPrice: monthNbr > 0 ? Math.round(price * 100) / 100 + '€/mois' : Math.round(price * 100) / 100 + '€',\n price,\n };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter((option) =>\n option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)),\n );\n return PrestationOptionList.filter((option) => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (\n idTypeBrand: number,\n idPrestationList: number,\n turnover: number,\n pastBalanceSheet: boolean,\n): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n if (\n [\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n ].includes(idPrestationList) &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) &&\n !pastBalanceSheet &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) &&\n pastBalanceSheet &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover\n )\n return true;\n else return false;\n }\n return false;\n};\n\nconst idPrestationListToOfferType = (idPrestationList: number): 'software' | 'expertise' => {\n if (ClementineSubscriptionAccountancySoftwarePrestations.includes(idPrestationList)) return 'software';\n return 'expertise';\n};\n\nexport {\n isOtherAccountingMissions,\n isOtherJuridicalMissions,\n isAdditionalPresta,\n isOtherSocialMission,\n isOnlyPrevi,\n isOnlySocial,\n isOnlyJuridic,\n isCreation,\n isFromStatutsExpress,\n isExpress,\n isConsultingHour,\n isSoftwarePrestation,\n calculateScoringOfPrestation,\n calculatePrestationPrice,\n getPrestationOptions,\n isAbleToUpdatePrice,\n calculatePrestationPriceWithPriceGrid,\n getApplicationFeesAmount,\n idPrestationListToOfferType,\n};\n"]}
1
+ {"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"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","sourcesContent":["import { IExercice, IPrestation, IPrestationList } from '../types';\nimport { Vat } from '../types/Enum/Vat';\nimport { ReasonTerminationType } from '../types/Enum/ReasonTerminationType';\nimport { getTaxesIncludedAmount } from './vat/utils';\nimport { intersection } from './noLodash';\nimport {\n ClementineSubscriptionAccountancySoftwarePrestations,\n PrestationDetail,\n PrestationType,\n} from '../types/Enum/PrestationType';\nimport { LegalFormTypeEnum } from '../types/Enum/LegalForm';\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 { PriceGridStatutsExpress } from '../types/Enum/PriceGridStatutsExpress';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\nimport { exerciceNumber } from './exercice';\n\ntype priceGridBrand = {\n idTypeBrand: number;\n price: priceGrid[];\n};\n\ntype priceGrid = {\n idPrestationList: number[];\n priceWithTaxesIncluded: boolean;\n applicationCost: number;\n monthlyNbr?: monthlyNbr[];\n exerciceNbr?: exerciceNbr[];\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 legalForm?: legalForm[];\n employeeByLegalForm?: employeeByLegalForm[];\n};\n\ntype monthlyNbr = {\n minimum: number;\n maximum: number;\n value: number;\n closingType: number[];\n};\n\ntype exerciceNbr = {\n minimum: number;\n maximum: number;\n price: number;\n};\n\ntype turnover = {\n turnoverValue: number;\n price: number;\n};\n\ntype legalForm = {\n idLegalForm: number;\n price: number;\n};\n\ntype employee = {\n amountMinimum: number;\n amountMaximum: number;\n price: number;\n};\n\ntype employeeByLegalForm = {\n idLegalForm: 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 [\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,\n ].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique: boolean, isCatalog: boolean, idPrestationList: number): boolean =>\n idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean =>\n idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden: boolean, isCatalog: boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter(\n (idPL: number) =>\n ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL),\n ).length;\n\nconst isOnlySocial = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter((idPL: number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter((idPL: number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [\n PrestationType.CREATION_SOCIETE,\n PrestationType.STATUTS_FREE,\n PrestationType.STATUTS_OPTION_1,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.STATUTS_OPTION_AE,\n ]).length;\n\nconst isFromStatutsExpress = (idPrestationList: number[]): boolean =>\n !idPrestationList.filter(\n (idPL: number) =>\n ![\n PrestationType.STATUTS_FREE,\n PrestationType.STATUTS_OPTION_1,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.STATUTS_OPTION_AE,\n ].includes(idPL),\n ).length;\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 isConsultingHour = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [PrestationType.CONSULTING_HOUR]).length;\n\nconst isSoftwarePrestation = (idPrestationList: number[]): boolean =>\n !!intersection(idPrestationList, [PrestationType.STEERING, PrestationType.VAT, PrestationType.BALANCESHEET])\n .length; /* &&\n idPrestationList.length === 1 */ // Commenté car si un client résilie un software pour un utre software, condition non prise en charge\n\nconst calculateScoringOfPrestation = (\n idPrestationType: PrestationType,\n prestations: IPrestation[],\n currentIdPrestation: number,\n): number => {\n const prestationsSignedPaid = prestations.filter(\n (prestation) =>\n prestation.paid &&\n prestation.signed &&\n (prestation.terminationList === null ||\n prestation.terminationList?.idReasonTermination?.includes(ReasonTerminationType.CHANGES_NEW_OFFERS)) &&\n prestation.id !== currentIdPrestation,\n );\n\n const currentPrestation = prestations.find(\n (el) => el.idPrestationList === idPrestationType && el.terminationList === null,\n );\n\n // SPECIAL CASE:\n // If current prestation is a software prestation\n // and the current prestation is an annual payment, return 0 point\n if (\n isSoftwarePrestation([idPrestationType]) &&\n currentPrestation?.exercices?.length &&\n //@ts-expect-error\n (currentPrestation?.exercices[0].ExercicePrestation?.totalPrestation < 80 ||\n //@ts-expect-error\n currentPrestation?.exercices[0].ExercicePrestation?.monthNumber !== 1)\n ) {\n return 0;\n }\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter(\n (p) =>\n p.isComptable &&\n !p.isCatalog &&\n p.id &&\n ![PrestationType.BALANCESHEET, PrestationType.VAT, PrestationType.STEERING].includes(p.id),\n );\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 let numberPoint = prestaDetails?.point || 0;\n\n // For each back exercices, add 100 points\n // -> for new prestations only\n if (\n [\n PrestationType.EXPERTISE,\n PrestationType.SUPPORT,\n PrestationType.PREMIUM,\n PrestationType.CUSTOM_MADE,\n PrestationType.GESTION_IMMO,\n PrestationType.EI,\n PrestationType.MICRO,\n ].includes(idPrestationType) &&\n currentPrestation?.exercices?.length &&\n currentPrestation?.exercices.find((el) => el.isBack)\n ) {\n numberPoint += (currentPrestation?.exercices.filter((el) => el.isBack).length ?? 1) * 100;\n }\n\n // Get list of prestations that are already done\n // 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))\n return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nexport const calculateMonthlyAmount = (params: {\n monthlyPrice: number;\n monthNumber: number;\n monthOffer: number;\n idVatForInternalInvoicing?: number | null;\n returnTaxesIncludedValue?: boolean;\n}): number => {\n const { monthlyPrice, monthNumber, monthOffer, idVatForInternalInvoicing, returnTaxesIncludedValue = true } = params;\n\n if (!idVatForInternalInvoicing && returnTaxesIncludedValue)\n throw new Error('Taux de TVA manquant pour calculer le montant TTC');\n\n if (!idVatForInternalInvoicing || !returnTaxesIncludedValue) return monthlyPrice * (monthNumber - monthOffer);\n\n return (\n monthlyPrice *\n (monthNumber - monthOffer) *\n (1 + Object.values(Vat).find((el) => el.id === idVatForInternalInvoicing).value / 100)\n );\n};\n\nexport const 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,\n PriceGridPourcentage,\n PriceGridLegalstart,\n PriceGridStatutsExpress,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile)\n currentBrandPriceGrid = currentPriceGridFile.find(\n (priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand,\n );\n if (currentBrandPriceGrid)\n currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) =>\n price.idPrestationList.includes(idPrestationList),\n );\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (\n idPrestationList: number,\n endDate: string,\n NbrMonth: number /* Nbr de mois dans l'exercice */,\n turnover: number,\n rentsNumber: number,\n employeesNumber: number,\n associatesNumber: number,\n idTypeBrand: number,\n idVatRegime: number,\n pastBalanceSheet: boolean,\n isYearly: boolean /* Prestation annuel ou mensuel */,\n totalMonth: number /* Nbr de moiis offer */,\n idTaxSystem: number,\n idLegalForm: number,\n exerciceNbr: number,\n balanceSheetOffered: number = 0 /* montant du bilan offer */,\n): {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n monthNbr: number;\n price: number;\n} => {\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 const 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)\n vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find((regime) => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly)\n vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find((regime) => regime.type === idVatRegime)?.price;\n\n /* Gestion du Régime d'imposition */\n if (currentPriceGrid.taxSystem && idTaxSystem)\n taxSystemPrice = currentPriceGrid.taxSystem?.find((tax) => tax.id === idTaxSystem)?.price;\n\n /* Gestion des montants */\n /* Récupératioin des prix mensuels */\n if (currentPriceGrid.turnoverMonthly && !isYearly)\n monthlyPrice = currentPriceGrid.turnoverMonthly?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties)\n monthlyPrice = currentPriceGrid.properties?.find((property) => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) {\n monthlyPrice = currentPriceGrid.employee?.find(\n (emp) => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber,\n )?.price;\n monthlyPrice = monthlyPrice ? monthlyPrice * employeesNumber : 0;\n } else if (currentPriceGrid.employeeByLegalForm) {\n monthlyPrice = currentPriceGrid.employeeByLegalForm?.find((emp) => emp.idLegalForm === idLegalForm)?.price;\n monthlyPrice = monthlyPrice ? monthlyPrice * employeesNumber : 0;\n /* Récupération des prix annuels */\n } else if (currentPriceGrid.turnoverYearly && isYearly)\n yearlyPrice = currentPriceGrid.turnoverYearly?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear)\n yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear)\n yearlyPrice = currentPriceGrid.turnoverPastYear?.find((turn) => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner)\n yearlyPrice = currentPriceGrid.partner?.find(\n (part) => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber,\n )?.price;\n else if (currentPriceGrid.legalForm)\n yearlyPrice = currentPriceGrid.legalForm?.find((form) => form.idLegalForm === idLegalForm)?.price;\n else if (currentPriceGrid.exerciceNbr)\n yearlyPrice = currentPriceGrid.exerciceNbr?.find(\n (el) => el.minimum <= exerciceNbr && exerciceNbr <= el.maximum,\n )?.price;\n /* Calcul du prix mensuel final */\n finalMonthlyPrice =\n (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 let monthlyNbrList: monthlyNbr[] | undefined;\n let monthlyNbr: monthlyNbr | undefined;\n if (currentPriceGrid.monthlyNbr) {\n monthlyNbrList = currentPriceGrid.monthlyNbr?.filter((el) =>\n el.closingType.includes(cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS),\n );\n if (monthlyNbrList) {\n monthlyNbr = monthlyNbrList.find((el) => el.minimum <= monthNbr && monthNbr <= el.maximum);\n if (monthlyNbr) {\n monthNbr = monthlyNbr.value;\n }\n }\n }\n\n /* Gestion des offres, mois offer */\n if (totalMonth > 0) {\n if (isYearly) {\n yearlyPrice = (10 - totalMonth) * (yearlyPrice ? yearlyPrice / 10 : 0);\n } else {\n monthNbr = monthNbr - totalMonth;\n }\n }\n\n /* Calcul du nombre de mois soustraient */\n reduceMonth = monthNbr === NbrMonth - totalMonth ? totalMonth : 0;\n\n /* Gestion des offres, bilan offer */\n if (balanceSheetOffered > 0) {\n yearlyPrice = undefined;\n recalculateMonthly = false;\n finalMonthlyPrice = balanceSheetOffered / monthNbr;\n }\n\n /* Prix Final */\n totalPrestation = yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr;\n }\n return {\n totalPrestation,\n reduceMonth,\n canBeCreated,\n monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr,\n price: yearlyPrice\n ? yearlyPrice\n : recalculateMonthly\n ? totalPrestation / monthNbr\n : finalMonthlyPrice\n ? finalMonthlyPrice\n : 0,\n };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList?.price || 0;\n\n return totalPrestation;\n};\n\n/**\n * From idLegalForm, get application fees amount (without taxes included if no idVat passed, or with taxes included calculated by given idVat)\n * @param idLegalForm\n * @param idVat\n * @returns amount of application fees, without taxes included\n * @deprecated Application fees are not charged anymore\n */\nconst getApplicationFeesAmount = (idLegalForm: number, idVat?: number) => {\n let applicationFeesAmount = 50;\n if (idLegalForm === LegalFormTypeEnum.SCI) applicationFeesAmount = 150;\n\n //Sans tva, on envoie le montant HT\n if (!idVat) return applicationFeesAmount;\n\n //Avec tva, on envoie le montant TTC\n return getTaxesIncludedAmount(applicationFeesAmount, idVat);\n};\n\nconst calculatePrestationPrice = (\n idPrestationList: number,\n prestationList: IPrestationList,\n endDate: string,\n NbrMonth: number /* Nbr de mois dans l'exercice */,\n turnover: number,\n rentsNumber: number,\n employeesNumber: number,\n associatesNumber: number,\n idTypeBrand: number,\n idVatRegime: number,\n pastBalanceSheet: boolean,\n optionsList: number[],\n totalPercentage: number /* total pourcentage offer (%) */,\n totalAmount: number /* total montant offer (€) */,\n totalMonth: number /* total mois offer (mois) */,\n isWithApplicationFees: boolean /* frais de dossier */,\n idTaxSystem: number,\n idLegalForm: number,\n isYearly: boolean = false /* prestation annuel ou mensuel */,\n isSubPrestation: boolean = false,\n balanceSheetOffered: number = 0,\n exerciceList: IExercice[] = [],\n): {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n calculDetail: string;\n monthlyPrice: string;\n price: number;\n} => {\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: {\n totalPrestation: number;\n reduceMonth: number;\n canBeCreated: boolean;\n monthNbr: number;\n price: number;\n } = { 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 PrestationType.COMPTA_EI_KLEMS,\n PrestationType.COMPTA_EI_KLEMS_EXPRESS,\n PrestationType.COMPTA_MICRO_KLEMS,\n PrestationType.COMPTA_MICRO_KLEMS_EXPRESS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS,\n PrestationType.STATUTS_OPTION_2,\n PrestationType.EXPERTISE,\n PrestationType.SUPPORT,\n PrestationType.PREMIUM,\n PrestationType.CUSTOM_MADE,\n PrestationType.EI,\n PrestationType.MICRO,\n PrestationType.GESTION_IMMO,\n ].includes(idPrestationList)\n ) {\n let exerciceNbr: number = 0;\n if (exerciceList.length) exerciceNbr = exerciceNumber(dayjs(endDate, 'YYYY-MM-DD').toDate(), exerciceList);\n totalWithReduce = calculatePrestationPriceWithPriceGrid(\n idPrestationList,\n endDate,\n NbrMonth,\n turnover,\n rentsNumber,\n employeesNumber,\n associatesNumber,\n idTypeBrand,\n idVatRegime,\n pastBalanceSheet,\n isYearly,\n totalMonth,\n idTaxSystem,\n idLegalForm,\n exerciceNbr,\n balanceSheetOffered,\n );\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 if ([PrestationType.CREATION_SOCIETE].includes(idPrestationList) && !isSubPrestation) {\n // totalPrestation += 50;\n // La création est offerte désormais\n // inutile d'ajouter les frais de greffe et d'annonce légale,\n // car ne compte pas dans le calcul pour les sales\n }\n }\n /* Gestion des offres */\n /* Offre montant offer */\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n /* Offre pourcentage offer */\n if (totalPercentage > 0) totalPrestation = totalPrestation - totalPrestation * (totalPercentage / 100);\n /* Gesstioin du prix minimum acceptable pour la prestation */\n if (prestationList && prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice)\n 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(\n (option) => option.id === optionId,\n )?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += OptionTotalPrice ? OptionTotalPrice : 0;\n /* Gestion des frais de dossier */\n // if (isWithApplicationFees) {\n // const applicationFeesAmount = getApplicationFeesAmount(idLegalForm);\n // totalPrestation += applicationFeesAmount;\n // }\n\n const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + Math.round(price * 100) / 100 + '€' : Math.round(price * 100) / 100 + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;\n\n return {\n totalPrestation,\n reduceMonth,\n canBeCreated,\n calculDetail,\n monthlyPrice: monthNbr > 0 ? Math.round(price * 100) / 100 + '€/mois' : Math.round(price * 100) / 100 + '€',\n price,\n };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter((option) =>\n option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)),\n );\n return PrestationOptionList.filter((option) => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (\n idTypeBrand: number,\n idPrestationList: number,\n turnover: number,\n pastBalanceSheet: boolean,\n): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n if (\n [\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n ].includes(idPrestationList) &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) &&\n !pastBalanceSheet &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover\n )\n return true;\n else if (\n [PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) &&\n pastBalanceSheet &&\n // @ts-ignore: error after prettier formatting\n currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover\n )\n return true;\n else return false;\n }\n return false;\n};\n\nconst idPrestationListToOfferType = (idPrestationList: number): 'software' | 'expertise' => {\n if (ClementineSubscriptionAccountancySoftwarePrestations.includes(idPrestationList)) return 'software';\n return 'expertise';\n};\n\nexport {\n isOtherAccountingMissions,\n isOtherJuridicalMissions,\n isAdditionalPresta,\n isOtherSocialMission,\n isOnlyPrevi,\n isOnlySocial,\n isOnlyJuridic,\n isCreation,\n isFromStatutsExpress,\n isExpress,\n isConsultingHour,\n isSoftwarePrestation,\n calculateScoringOfPrestation,\n calculatePrestationPrice,\n getPrestationOptions,\n isAbleToUpdatePrice,\n calculatePrestationPriceWithPriceGrid,\n getApplicationFeesAmount,\n idPrestationListToOfferType,\n};\n"]}
@@ -0,0 +1,3 @@
1
+ declare const ToNumber: () => (target: any, key: string) => void;
2
+ export { ToNumber };
3
+ //# sourceMappingURL=number.transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.transform.d.ts","sourceRoot":"","sources":["../../../../ts/utils/transforms/number.transform.ts"],"names":[],"mappings":"AAmBA,QAAA,MAAM,QAAQ,SAYJ,QAAQ,GAAG,EAAE,KAAK,MAAM,SAIjC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { Transform } from 'class-transformer';
2
+ const valueToNumber = (value) => {
3
+ if (value === null || value === undefined || value === '') {
4
+ return undefined;
5
+ }
6
+ if (typeof value === 'number') {
7
+ return value;
8
+ }
9
+ if (typeof value === 'string') {
10
+ const num = Number(value);
11
+ if (isNaN(num)) {
12
+ return undefined;
13
+ }
14
+ return num;
15
+ }
16
+ return undefined;
17
+ };
18
+ const ToNumber = () => {
19
+ const toPlain = Transform(
20
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
21
+ ({ value }) => value, {
22
+ toPlainOnly: true,
23
+ });
24
+ const toClass = (target, key) => Transform(({ obj }) => valueToNumber(obj[key]), {
25
+ toClassOnly: true,
26
+ })(target, key);
27
+ return (target, key) => {
28
+ toPlain(target, key);
29
+ toClass(target, key);
30
+ };
31
+ };
32
+ export { ToNumber };
33
+ //# sourceMappingURL=number.transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.transform.js","sourceRoot":"","sources":["../../../../ts/utils/transforms/number.transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,OAAO,GAAG,SAAS;IACvB,+DAA+D;IAC/D,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,EACpB;QACE,WAAW,EAAE,IAAI;KAClB,CACF,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,GAAW,EAAE,EAAE,CAC3C,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;QAC9C,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO,CAAC,MAAW,EAAE,GAAW,EAAE,EAAE;QAClC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["import { Transform } from 'class-transformer';\n\nconst valueToNumber = (value: any) => {\n if (value === null || value === undefined || value === '') {\n return undefined;\n }\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n const num = Number(value);\n if (isNaN(num)) {\n return undefined;\n }\n return num;\n }\n return undefined;\n};\n\nconst ToNumber = () => {\n const toPlain = Transform(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n ({ value }) => value,\n {\n toPlainOnly: true,\n },\n );\n const toClass = (target: any, key: string) =>\n Transform(({ obj }) => valueToNumber(obj[key]), {\n toClassOnly: true,\n })(target, key);\n return (target: any, key: string) => {\n toPlain(target, key);\n toClass(target, key);\n };\n};\n\nexport { ToNumber };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.3.198",
3
+ "version": "1.3.199-2",
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",
@@ -23,6 +23,9 @@ import {
23
23
  BasePaginate,
24
24
  QueryGetAllUsersPaginated,
25
25
  QueryUpdatePassword,
26
+ CreateCollaboraterDetail,
27
+ IWorkingSchedule,
28
+ ICollaboraterDetail,
26
29
  } from '../../types';
27
30
 
28
31
  export class User extends Resource {
@@ -38,6 +41,27 @@ export class User extends Resource {
38
41
  coworker(data: CreateCoworker): Promise<IUser> {
39
42
  return this.axios.$post('user/coworker', data);
40
43
  }
44
+
45
+ createCompletCoworker(data: CreateCoworker, file: File): Promise<IUser> {
46
+ const formData = new FormData();
47
+ Object.entries(data).forEach(([key, value]) => {
48
+ if (value !== undefined && value !== null) {
49
+ if (Array.isArray(value)) {
50
+ value.forEach((v) => {
51
+ formData.append(`${key}[]`, `${v}`);
52
+ });
53
+ } else {
54
+ formData.append(key, `${value}`);
55
+ }
56
+ }
57
+ });
58
+ formData.append('file', file);
59
+
60
+ return this.axios.$post('user/coworker/complete', formData, {
61
+ headers: { 'Content-Type': 'multipart/form-data' },
62
+ });
63
+ }
64
+
41
65
  updateCoworker(idUser: number, params: UpdateCorworker): Promise<IUser> {
42
66
  const formData = new FormData();
43
67
  Object.entries(params).forEach(([key, value]) => {
@@ -144,4 +168,24 @@ export class User extends Resource {
144
168
  registerProspect(body: RegisterProspectBody): Promise<RegisterProspectResponse> {
145
169
  return this.axios.$post('users/prospect', body);
146
170
  }
171
+
172
+ updateCoworkerWorkingSchedules(idUser: number, workingSchedules: IWorkingSchedule[]): Promise<IWorkingSchedule[]> {
173
+ return this.axios.$post(`users/coworker/${idUser}/working-schedules`, workingSchedules);
174
+ }
175
+
176
+ createCoworkerWorkingSchedules(idUser: number, workingSchedules: Omit<IWorkingSchedule, 'id'>[]): Promise<IWorkingSchedule[]> {
177
+ return this.axios.$post(`users/coworker/${idUser}/working-schedules`, workingSchedules);
178
+ }
179
+
180
+ createCollaboraterDetail(params: CreateCollaboraterDetail): Promise<ICollaboraterDetail> {
181
+ return this.axios.$post('collaboraters-details', params);
182
+ }
183
+
184
+ getCollaboraterDetail(idUser: number): Promise<ICollaboraterDetail> {
185
+ return this.axios.$get(`collaboraters-details/user/${idUser}`);
186
+ }
187
+
188
+ updateCollaboraterDetail(id: number, params: Partial<ICollaboraterDetail>): Promise<ICollaboraterDetail> {
189
+ return this.axios.$put(`collaboraters-details/${id}`, params);
190
+ }
147
191
  }
@@ -6,6 +6,7 @@ import {
6
6
  ReadWorkingSchedule,
7
7
  SpecialHours,
8
8
  TimeSlots,
9
+ IWorkingSchedule
9
10
  } from '../..';
10
11
 
11
12
  export class WorkingSchedule extends Resource {
@@ -36,6 +37,10 @@ export class WorkingSchedule extends Resource {
36
37
  return this.axios.$get(`workingSchedule/${id}`);
37
38
  }
38
39
 
40
+ deleteAndCreate(idUser: number, workingSchedules: Omit<IWorkingSchedule, 'id'>[]): Promise<WorkingSchedule[]> {
41
+ return this.axios.$post(`workingSchedule/delete-and-create/${idUser}`, workingSchedules);
42
+ }
43
+
39
44
  getAvailableTimeSlots(params: QueryAvailableTimeSlot): Promise<TimeSlots[]> {
40
45
  return this.axios.$get('workingSchedule/available-time-slots', {
41
46
  params,
@@ -33,9 +33,9 @@ export enum CardState {
33
33
  TODO = 1,
34
34
  IN_PROGRESS = 2,
35
35
  DONE = 3,
36
- INCOMPLETE = 4,
36
+ NOT_DONE = 4,
37
37
  WAITING_CLIENT = 5,
38
- NOT_DONE = 6
38
+ INCOMPLETE = 6
39
39
  }
40
40
 
41
41
  export enum CardGroupEnum {
@@ -20,61 +20,76 @@ export const EquipmentTypeDetail = [
20
20
  {
21
21
  id: EquipmentType.LAPTOP,
22
22
  label: 'Ordinateur portable',
23
+ icon: 'i-lucide-laptop'
23
24
  },
24
25
  {
25
26
  id: EquipmentType.PRINTER,
26
27
  label: 'Imprimante',
28
+ icon: 'i-lucide-printer'
27
29
  },
28
30
  {
29
31
  id: EquipmentType.PHONE,
30
32
  label: 'Téléphone',
33
+ icon: 'i-lucide-smartphone'
31
34
  },
32
35
  {
33
36
  id: EquipmentType.KEYBOARD,
34
37
  label: 'Clavier',
38
+ icon: 'i-lucide-keyboard'
35
39
  },
36
40
  {
37
41
  id: EquipmentType.MOUSE,
38
42
  label: 'Souris',
43
+ icon: 'i-lucide-mouse'
39
44
  },
40
45
  {
41
46
  id: EquipmentType.SCREEN,
42
47
  label: 'Écran',
48
+ icon: 'i-lucide-monitor'
43
49
  },
44
50
  {
45
51
  id: EquipmentType.HEADPHONE,
46
52
  label: 'Casque',
53
+ icon: 'i-lucide-headphones'
47
54
  },
48
55
  {
49
56
  id: EquipmentType.ADAPTER,
50
57
  label: 'Adaptateur',
58
+ icon: 'i-lucide-box'
51
59
  },
52
60
  {
53
61
  id: EquipmentType.WIRELESS_HEADPHONE,
54
62
  label: 'Casque sans fil',
63
+ icon: 'i-lucide-headphones'
55
64
  },
56
65
  {
57
66
  id: EquipmentType.POCKET,
58
67
  label: 'Pochette',
68
+ icon: 'i-lucide-box'
59
69
  },
60
70
  {
61
71
  id: EquipmentType.BADGE,
62
72
  label: 'Badge',
73
+ icon: 'i-lucide-badge'
63
74
  },
64
75
  {
65
76
  id: EquipmentType.CALCULATOR,
66
77
  label: 'Calculatrice',
78
+ icon: 'i-lucide-calculator'
67
79
  },
68
80
  {
69
81
  id: EquipmentType.USB_HUB,
70
82
  label: 'Hub USB',
83
+ icon: 'i-lucide-box'
71
84
  },
72
85
  {
73
86
  id: EquipmentType.NUMPAD,
74
87
  label: 'Pavé numérique',
88
+ icon: 'i-lucide-box'
75
89
  },
76
90
  {
77
91
  id: EquipmentType.EXTERN_SUPPORT,
78
92
  label: 'Support externe',
93
+ icon: 'i-lucide-box'
79
94
  },
80
95
  ] as const;
@@ -697,7 +697,7 @@ export const TypeFileDetail: Record<number, TypeFileDetailType> = {
697
697
  },
698
698
  [TypeFile.DBE2]: {
699
699
  idGedFileType: GedFileType.DBE2,
700
- name: 'Déclaration des bénéficiaires effectifs',
700
+ name: 'Déclaration des bénéficiaires affectifs',
701
701
  idGedFolder: GedFolder.KBIS,
702
702
  typeFile: TypeFile.DBE2,
703
703
  },
@@ -9,7 +9,6 @@ export enum JuridicalPrestationState {
9
9
  WAITING_KBIS = 8,
10
10
  SENDING_KBIS = 9,
11
11
  DISCONTINUED = 10,
12
- DISSOLUTION_READY = 11,
13
12
  }
14
13
 
15
14
  export const JuridicalPrestationStateDetail = [
@@ -19,12 +18,6 @@ export const JuridicalPrestationStateDetail = [
19
18
  color: 'grey lighten-4',
20
19
  hidden: false,
21
20
  },
22
- {
23
- id: JuridicalPrestationState.DISSOLUTION_READY,
24
- name: 'Dissolution à produire',
25
- color: 'primary lighten-2',
26
- hidden: false,
27
- },
28
21
  {
29
22
  id: JuridicalPrestationState.WAITING_INFO_BILLING,
30
23
  name: 'En attente informations / paiement',
@@ -253,28 +253,6 @@ export const allPrestations2025WithBrochure = [
253
253
  PrestationType.ATTESTATION_MASSE_SALARIALE,
254
254
  PrestationType.ATTESTATION_1,
255
255
  PrestationType.ATTESTATION_NON_REMUNERATION_RECURRENTE,
256
- PrestationType.DISSOLUTION_LIQUIDATION_A_DATE_CLOTURE,
257
- ];
258
-
259
- export const allPrestations2025WithCGV = [
260
- PrestationType.EXPERTISE,
261
- PrestationType.SUPPORT,
262
- PrestationType.PREMIUM,
263
- PrestationType.CUSTOM_MADE,
264
- PrestationType.EI,
265
- PrestationType.MICRO,
266
- PrestationType.GESTION_IMMO,
267
- PrestationType.CREATION_SOCIETE,
268
- PrestationType.SOCIAL,
269
- PrestationType.GESTION_JURIDIQUE,
270
- PrestationType.CONSULTING_HOUR,
271
- PrestationType.ATTESTATION_REMUNERATION,
272
- PrestationType.ATTESTATION_NON_REMUNERATION,
273
- PrestationType.ATTESTATION_CA,
274
- PrestationType.ATTESTATION_COMPTE_COURANT,
275
- PrestationType.ATTESTATION_MASSE_SALARIALE,
276
- PrestationType.ATTESTATION_1,
277
- PrestationType.ATTESTATION_NON_REMUNERATION_RECURRENTE,
278
256
  ];
279
257
 
280
258
  export const ClementineSubscriptionAccountancyExpertPrestations: PrestationType[] = [
@@ -1387,7 +1365,7 @@ export const PrestationDetail: PrestationDetailEnum = {
1387
1365
  },
1388
1366
  DISSOLUTION_LIQUIDATION_A_DATE_CLOTURE: {
1389
1367
  id: 61,
1390
- name: 'Dissolution / Liquidation',
1368
+ name: 'Dissolution Liquidation à date de clôture (y compris bilan de liquidation)',
1391
1369
  isComptable: false,
1392
1370
  isJuridique: true,
1393
1371
  isSocial: false,
@@ -1395,7 +1373,7 @@ export const PrestationDetail: PrestationDetailEnum = {
1395
1373
  inAverageCart: false,
1396
1374
  isBack: false,
1397
1375
  minimumPrice: null,
1398
- price: 1239,
1376
+ price: 589,
1399
1377
  isCatalog: true,
1400
1378
  isPlannable: true,
1401
1379
  hidden: false,