@silexpert/core 1.3.199-8 → 1.3.199

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 (208) hide show
  1. package/dist/cjs/api/resources/User.d.ts +1 -8
  2. package/dist/cjs/api/resources/User.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/User.js +0 -58
  4. package/dist/cjs/api/resources/User.js.map +1 -1
  5. package/dist/cjs/api/resources/Webex.d.ts +8 -0
  6. package/dist/cjs/api/resources/Webex.d.ts.map +1 -0
  7. package/dist/cjs/api/resources/Webex.js +17 -0
  8. package/dist/cjs/api/resources/Webex.js.map +1 -0
  9. package/dist/cjs/api/resources/WorkingSchedule.d.ts +1 -2
  10. package/dist/cjs/api/resources/WorkingSchedule.d.ts.map +1 -1
  11. package/dist/cjs/api/resources/WorkingSchedule.js +0 -3
  12. package/dist/cjs/api/resources/WorkingSchedule.js.map +1 -1
  13. package/dist/cjs/types/Enum/Card.d.ts +2 -2
  14. package/dist/cjs/types/Enum/Card.d.ts.map +1 -1
  15. package/dist/cjs/types/Enum/Card.js +2 -2
  16. package/dist/cjs/types/Enum/Card.js.map +1 -1
  17. package/dist/cjs/types/Enum/EbookIntention.d.ts +8 -0
  18. package/dist/cjs/types/Enum/EbookIntention.d.ts.map +1 -0
  19. package/dist/cjs/types/Enum/EbookIntention.js +18 -0
  20. package/dist/cjs/types/Enum/EbookIntention.js.map +1 -0
  21. package/dist/cjs/types/Enum/EquipmentType.d.ts +0 -15
  22. package/dist/cjs/types/Enum/EquipmentType.d.ts.map +1 -1
  23. package/dist/cjs/types/Enum/EquipmentType.js +0 -15
  24. package/dist/cjs/types/Enum/EquipmentType.js.map +1 -1
  25. package/dist/cjs/types/Enum/Ged.js +1 -1
  26. package/dist/cjs/types/Enum/Ged.js.map +1 -1
  27. package/dist/cjs/types/Enum/PrestationState.d.ts +2 -1
  28. package/dist/cjs/types/Enum/PrestationState.d.ts.map +1 -1
  29. package/dist/cjs/types/Enum/PrestationState.js +7 -0
  30. package/dist/cjs/types/Enum/PrestationState.js.map +1 -1
  31. package/dist/cjs/types/Enum/PrestationType.d.ts +1 -0
  32. package/dist/cjs/types/Enum/PrestationType.d.ts.map +1 -1
  33. package/dist/cjs/types/Enum/PrestationType.js +24 -3
  34. package/dist/cjs/types/Enum/PrestationType.js.map +1 -1
  35. package/dist/cjs/types/Enum/SalesContractBrandClementine.d.ts.map +1 -1
  36. package/dist/cjs/types/Enum/SalesContractBrandClementine.js +19 -4
  37. package/dist/cjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  38. package/dist/cjs/types/Interface/api/SocietyApproval.d.ts +8 -1
  39. package/dist/cjs/types/Interface/api/SocietyApproval.d.ts.map +1 -1
  40. package/dist/cjs/types/Interface/api/SocietyApproval.js +43 -0
  41. package/dist/cjs/types/Interface/api/SocietyApproval.js.map +1 -1
  42. package/dist/cjs/types/Interface/api/brevo/BrevoElement.d.ts +1 -0
  43. package/dist/cjs/types/Interface/api/brevo/BrevoElement.d.ts.map +1 -1
  44. package/dist/cjs/types/Interface/api/brevo/BrevoElement.js +6 -0
  45. package/dist/cjs/types/Interface/api/brevo/BrevoElement.js.map +1 -1
  46. package/dist/cjs/types/Interface/api/card/QueryUserCards.d.ts +1 -0
  47. package/dist/cjs/types/Interface/api/card/QueryUserCards.d.ts.map +1 -1
  48. package/dist/cjs/types/Interface/api/card/QueryUserCards.js +6 -0
  49. package/dist/cjs/types/Interface/api/card/QueryUserCards.js.map +1 -1
  50. package/dist/cjs/types/Interface/api/prestation/Query.d.ts +2 -0
  51. package/dist/cjs/types/Interface/api/prestation/Query.d.ts.map +1 -1
  52. package/dist/cjs/types/Interface/api/prestation/Query.js +13 -0
  53. package/dist/cjs/types/Interface/api/prestation/Query.js.map +1 -1
  54. package/dist/cjs/types/Interface/api/user/CreateCoworker.d.ts.map +1 -1
  55. package/dist/cjs/types/Interface/api/user/CreateCoworker.js +0 -11
  56. package/dist/cjs/types/Interface/api/user/CreateCoworker.js.map +1 -1
  57. package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.d.ts +7 -0
  58. package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.d.ts.map +1 -0
  59. package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.js +38 -0
  60. package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.js.map +1 -0
  61. package/dist/cjs/types/Interface/api/webex/PaginatedWebinars.d.ts +7 -0
  62. package/dist/cjs/types/Interface/api/webex/PaginatedWebinars.d.ts.map +1 -0
  63. package/dist/cjs/types/Interface/api/webex/PaginatedWebinars.js +3 -0
  64. package/dist/cjs/types/Interface/api/webex/PaginatedWebinars.js.map +1 -0
  65. package/dist/cjs/types/Interface/api/webex/WebexMeeting.d.ts +22 -0
  66. package/dist/cjs/types/Interface/api/webex/WebexMeeting.d.ts.map +1 -0
  67. package/dist/cjs/types/Interface/api/webex/WebexMeeting.js +3 -0
  68. package/dist/cjs/types/Interface/api/webex/WebexMeeting.js.map +1 -0
  69. package/dist/cjs/types/Interface/api/webex/WebexRegistrant.d.ts +18 -0
  70. package/dist/cjs/types/Interface/api/webex/WebexRegistrant.d.ts.map +1 -0
  71. package/dist/cjs/types/Interface/api/webex/WebexRegistrant.js +40 -0
  72. package/dist/cjs/types/Interface/api/webex/WebexRegistrant.js.map +1 -0
  73. package/dist/cjs/types/Interface/models/IUser.d.ts +0 -1
  74. package/dist/cjs/types/Interface/models/IUser.d.ts.map +1 -1
  75. package/dist/cjs/types/Interface/models/IUser.js.map +1 -1
  76. package/dist/cjs/types/index.d.ts +5 -0
  77. package/dist/cjs/types/index.d.ts.map +1 -1
  78. package/dist/cjs/types/index.js +5 -0
  79. package/dist/cjs/types/index.js.map +1 -1
  80. package/dist/cjs/utils/documents.js +1 -1
  81. package/dist/cjs/utils/documents.js.map +1 -1
  82. package/dist/cjs/utils/prestation.d.ts.map +1 -1
  83. package/dist/cjs/utils/prestation.js +2 -1
  84. package/dist/cjs/utils/prestation.js.map +1 -1
  85. package/dist/cjs/utils/societyApproval.d.ts.map +1 -1
  86. package/dist/cjs/utils/societyApproval.js +12 -3
  87. package/dist/cjs/utils/societyApproval.js.map +1 -1
  88. package/dist/mjs/api/resources/User.d.ts +1 -8
  89. package/dist/mjs/api/resources/User.d.ts.map +1 -1
  90. package/dist/mjs/api/resources/User.js +0 -58
  91. package/dist/mjs/api/resources/User.js.map +1 -1
  92. package/dist/mjs/api/resources/Webex.d.ts +8 -0
  93. package/dist/mjs/api/resources/Webex.d.ts.map +1 -0
  94. package/dist/mjs/api/resources/Webex.js +13 -0
  95. package/dist/mjs/api/resources/Webex.js.map +1 -0
  96. package/dist/mjs/api/resources/WorkingSchedule.d.ts +1 -2
  97. package/dist/mjs/api/resources/WorkingSchedule.d.ts.map +1 -1
  98. package/dist/mjs/api/resources/WorkingSchedule.js +0 -3
  99. package/dist/mjs/api/resources/WorkingSchedule.js.map +1 -1
  100. package/dist/mjs/types/Enum/Card.d.ts +2 -2
  101. package/dist/mjs/types/Enum/Card.d.ts.map +1 -1
  102. package/dist/mjs/types/Enum/Card.js +2 -2
  103. package/dist/mjs/types/Enum/Card.js.map +1 -1
  104. package/dist/mjs/types/Enum/EbookIntention.d.ts +8 -0
  105. package/dist/mjs/types/Enum/EbookIntention.d.ts.map +1 -0
  106. package/dist/mjs/types/Enum/EbookIntention.js +15 -0
  107. package/dist/mjs/types/Enum/EbookIntention.js.map +1 -0
  108. package/dist/mjs/types/Enum/EquipmentType.d.ts +0 -15
  109. package/dist/mjs/types/Enum/EquipmentType.d.ts.map +1 -1
  110. package/dist/mjs/types/Enum/EquipmentType.js +0 -15
  111. package/dist/mjs/types/Enum/EquipmentType.js.map +1 -1
  112. package/dist/mjs/types/Enum/Ged.js +1 -1
  113. package/dist/mjs/types/Enum/Ged.js.map +1 -1
  114. package/dist/mjs/types/Enum/PrestationState.d.ts +2 -1
  115. package/dist/mjs/types/Enum/PrestationState.d.ts.map +1 -1
  116. package/dist/mjs/types/Enum/PrestationState.js +7 -0
  117. package/dist/mjs/types/Enum/PrestationState.js.map +1 -1
  118. package/dist/mjs/types/Enum/PrestationType.d.ts +1 -0
  119. package/dist/mjs/types/Enum/PrestationType.d.ts.map +1 -1
  120. package/dist/mjs/types/Enum/PrestationType.js +23 -2
  121. package/dist/mjs/types/Enum/PrestationType.js.map +1 -1
  122. package/dist/mjs/types/Enum/SalesContractBrandClementine.d.ts.map +1 -1
  123. package/dist/mjs/types/Enum/SalesContractBrandClementine.js +20 -5
  124. package/dist/mjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  125. package/dist/mjs/types/Interface/api/SocietyApproval.d.ts +8 -1
  126. package/dist/mjs/types/Interface/api/SocietyApproval.d.ts.map +1 -1
  127. package/dist/mjs/types/Interface/api/SocietyApproval.js +52 -2
  128. package/dist/mjs/types/Interface/api/SocietyApproval.js.map +1 -1
  129. package/dist/mjs/types/Interface/api/brevo/BrevoElement.d.ts +1 -0
  130. package/dist/mjs/types/Interface/api/brevo/BrevoElement.d.ts.map +1 -1
  131. package/dist/mjs/types/Interface/api/brevo/BrevoElement.js +7 -0
  132. package/dist/mjs/types/Interface/api/brevo/BrevoElement.js.map +1 -1
  133. package/dist/mjs/types/Interface/api/card/QueryUserCards.d.ts +1 -0
  134. package/dist/mjs/types/Interface/api/card/QueryUserCards.d.ts.map +1 -1
  135. package/dist/mjs/types/Interface/api/card/QueryUserCards.js +6 -0
  136. package/dist/mjs/types/Interface/api/card/QueryUserCards.js.map +1 -1
  137. package/dist/mjs/types/Interface/api/prestation/Query.d.ts +2 -0
  138. package/dist/mjs/types/Interface/api/prestation/Query.d.ts.map +1 -1
  139. package/dist/mjs/types/Interface/api/prestation/Query.js +15 -0
  140. package/dist/mjs/types/Interface/api/prestation/Query.js.map +1 -1
  141. package/dist/mjs/types/Interface/api/user/CreateCoworker.d.ts.map +1 -1
  142. package/dist/mjs/types/Interface/api/user/CreateCoworker.js +0 -11
  143. package/dist/mjs/types/Interface/api/user/CreateCoworker.js.map +1 -1
  144. package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.d.ts +7 -0
  145. package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.d.ts.map +1 -0
  146. package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.js +38 -0
  147. package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.js.map +1 -0
  148. package/dist/mjs/types/Interface/api/webex/PaginatedWebinars.d.ts +7 -0
  149. package/dist/mjs/types/Interface/api/webex/PaginatedWebinars.d.ts.map +1 -0
  150. package/dist/mjs/types/Interface/api/webex/PaginatedWebinars.js +2 -0
  151. package/dist/mjs/types/Interface/api/webex/PaginatedWebinars.js.map +1 -0
  152. package/dist/mjs/types/Interface/api/webex/WebexMeeting.d.ts +22 -0
  153. package/dist/mjs/types/Interface/api/webex/WebexMeeting.d.ts.map +1 -0
  154. package/dist/mjs/types/Interface/api/webex/WebexMeeting.js +2 -0
  155. package/dist/mjs/types/Interface/api/webex/WebexMeeting.js.map +1 -0
  156. package/dist/mjs/types/Interface/api/webex/WebexRegistrant.d.ts +18 -0
  157. package/dist/mjs/types/Interface/api/webex/WebexRegistrant.d.ts.map +1 -0
  158. package/dist/mjs/types/Interface/api/webex/WebexRegistrant.js +40 -0
  159. package/dist/mjs/types/Interface/api/webex/WebexRegistrant.js.map +1 -0
  160. package/dist/mjs/types/Interface/models/IUser.d.ts +0 -1
  161. package/dist/mjs/types/Interface/models/IUser.d.ts.map +1 -1
  162. package/dist/mjs/types/Interface/models/IUser.js.map +1 -1
  163. package/dist/mjs/types/index.d.ts +5 -0
  164. package/dist/mjs/types/index.d.ts.map +1 -1
  165. package/dist/mjs/types/index.js +5 -0
  166. package/dist/mjs/types/index.js.map +1 -1
  167. package/dist/mjs/utils/documents.js +1 -1
  168. package/dist/mjs/utils/documents.js.map +1 -1
  169. package/dist/mjs/utils/prestation.d.ts.map +1 -1
  170. package/dist/mjs/utils/prestation.js +2 -1
  171. package/dist/mjs/utils/prestation.js.map +1 -1
  172. package/dist/mjs/utils/societyApproval.d.ts.map +1 -1
  173. package/dist/mjs/utils/societyApproval.js +11 -0
  174. package/dist/mjs/utils/societyApproval.js.map +1 -1
  175. package/package.json +1 -1
  176. package/ts/api/resources/User.ts +0 -65
  177. package/ts/api/resources/Webex.ts +16 -0
  178. package/ts/api/resources/WorkingSchedule.ts +0 -5
  179. package/ts/types/Enum/Card.ts +2 -2
  180. package/ts/types/Enum/EbookIntention.ts +14 -0
  181. package/ts/types/Enum/EquipmentType.ts +0 -15
  182. package/ts/types/Enum/Ged.ts +1 -1
  183. package/ts/types/Enum/PrestationState.ts +7 -0
  184. package/ts/types/Enum/PrestationType.ts +24 -2
  185. package/ts/types/Enum/SalesContractBrandClementine.ts +20 -4
  186. package/ts/types/Interface/api/SocietyApproval.ts +38 -2
  187. package/ts/types/Interface/api/brevo/BrevoElement.ts +5 -0
  188. package/ts/types/Interface/api/card/QueryUserCards.ts +5 -0
  189. package/ts/types/Interface/api/prestation/Query.ts +11 -0
  190. package/ts/types/Interface/api/user/CreateCoworker.ts +0 -11
  191. package/ts/types/Interface/api/webex/GetWebinarsParams.ts +20 -0
  192. package/ts/types/Interface/api/webex/PaginatedWebinars.ts +7 -0
  193. package/ts/types/Interface/api/webex/WebexMeeting.ts +21 -0
  194. package/ts/types/Interface/api/webex/WebexRegistrant.ts +34 -0
  195. package/ts/types/Interface/models/IUser.ts +0 -1
  196. package/ts/types/index.ts +5 -0
  197. package/ts/utils/documents.ts +1 -1
  198. package/ts/utils/prestation.ts +2 -1
  199. package/ts/utils/societyApproval.ts +11 -0
  200. package/dist/cjs/utils/transforms/number.transform.d.ts +0 -3
  201. package/dist/cjs/utils/transforms/number.transform.d.ts.map +0 -1
  202. package/dist/cjs/utils/transforms/number.transform.js +0 -36
  203. package/dist/cjs/utils/transforms/number.transform.js.map +0 -1
  204. package/dist/mjs/utils/transforms/number.transform.d.ts +0 -3
  205. package/dist/mjs/utils/transforms/number.transform.d.ts.map +0 -1
  206. package/dist/mjs/utils/transforms/number.transform.js +0 -33
  207. package/dist/mjs/utils/transforms/number.transform.js.map +0 -1
  208. package/ts/utils/transforms/number.transform.ts +0 -38
@@ -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];\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, 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 +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":"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"}
@@ -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 < 80 ||
66
+ (currentPrestation?.exercices[0].ExercicePrestation?.totalPrestation < 72 ||
67
67
  //@ts-expect-error
68
68
  currentPrestation?.exercices[0].ExercicePrestation?.monthNumber !== 1)) {
69
69
  return 0;
@@ -200,6 +200,7 @@ 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;
203
204
  }
204
205
  else {
205
206
  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 < 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"]}
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 +1 @@
1
- {"version":3,"file":"societyApproval.d.ts","sourceRoot":"","sources":["../../../ts/utils/societyApproval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAE7B,+BAA+B,EAChC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAO9E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,CAE9F;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,iBAAiB,GAC7B,6BAA6B,GAAG,SAAS,CAE3C;AAED;;;;;GAKG;AAEH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,iBAAiB,EAC9B,cAAc,EAAE,2BAA2B,GAC1C,MAAM,GAAG,SAAS,CAIpB;AAYD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,iBAAiB,EAC9B,cAAc,EAAE,2BAA2B,GAC1C,+BAA+B,GAAG,SAAS,CAG7C;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA+ChH"}
1
+ {"version":3,"file":"societyApproval.d.ts","sourceRoot":"","sources":["../../../ts/utils/societyApproval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAE7B,+BAA+B,EAChC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAQ9E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,CAE9F;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,iBAAiB,GAC7B,6BAA6B,GAAG,SAAS,CAE3C;AAED;;;;;GAKG;AAEH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,iBAAiB,EAC9B,cAAc,EAAE,2BAA2B,GAC1C,MAAM,GAAG,SAAS,CAIpB;AAYD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,iBAAiB,EAC9B,cAAc,EAAE,2BAA2B,GAC1C,+BAA+B,GAAG,SAAS,CAG7C;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyDhH"}
@@ -5,6 +5,7 @@ import { getBrand } from './brands';
5
5
  import { convertNumberToLetter } from './amount';
6
6
  import * as dayjs from 'dayjs';
7
7
  import { CityOfGreffeDetail } from '../types/Enum/CityOfGreffe';
8
+ import { siretToSiren } from './siretValidation';
8
9
  /**
9
10
  * Récupère le nom de la forme juridique
10
11
  * @param idLegalForm - L'identifiant de la forme juridique
@@ -95,12 +96,22 @@ export function buildApprovalTemplateData(existingApproval, style) {
95
96
  .toUpperCase(),
96
97
  }
97
98
  : {}),
99
+ ...(existingApproval?.generatingDatas?.approvalDividendsPaymentDate
100
+ ? {
101
+ approvalDividendsPaymentDate: dayjs(existingApproval?.generatingDatas?.approvalDividendsPaymentDate)
102
+ .locale('fr')
103
+ .format('DD MMMM YYYY'),
104
+ }
105
+ : {}),
98
106
  },
99
107
  exercice: {
100
108
  ...existingApproval?.exercice,
101
109
  society: {
102
110
  ...existingApproval?.exercice?.society,
103
111
  cityOfGreffe: getCityOfGreffeName(existingApproval?.exercice?.society?.idCityOfGreffe).toUpperCase(),
112
+ siren: existingApproval?.exercice?.society?.siret
113
+ ? siretToSiren(existingApproval.exercice.society.siret)
114
+ : null,
104
115
  },
105
116
  endDate: dayjs(existingApproval?.exercice?.endDate).locale('fr').format('DD MMMM YYYY').toLowerCase(),
106
117
  },
@@ -1 +1 @@
1
- {"version":3,"file":"societyApproval.js","sourceRoot":"","sources":["../../../ts/utils/societyApproval.ts"],"names":[],"mappings":"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","sourcesContent":["import { LegalForm, LegalFormTypeEnum } from '../types/Enum/LegalForm';\nimport {\n SocietyApprovalDocumentType,\n SocietyApprovalDocumentConfig,\n SocietyApprovalDocumentsByLegalForm,\n SocietyApprovalDocumentTemplate,\n} from '../types/Enum/SocietyApproval';\nimport { ISocietyApproval } from '../types/Interface/models/ISocietyApproval';\nimport { QualityList } from '../types/Enum/Quality';\nimport { getBrand } from './brands';\nimport { convertNumberToLetter } from './amount';\nimport * as dayjs from 'dayjs';\nimport { CityOfGreffeDetail } from '../types/Enum/CityOfGreffe';\n\n/**\n * Récupère le nom de la forme juridique\n * @param idLegalForm - L'identifiant de la forme juridique\n * @param fallback - Valeur par défaut si non trouvée\n * @returns Le nom de la forme juridique\n */\nexport function getLegalFormName(idLegalForm: LegalFormTypeEnum, fallback: string = ''): string {\n return Object.values(LegalForm).find((lf) => lf.id === idLegalForm)?.name ?? fallback;\n}\n\n/**\n * Récupère la configuration des documents d'approbation pour une forme juridique donnée\n * @param idLegalForm - L'identifiant de la forme juridique\n * @returns La configuration des documents ou undefined si non trouvée\n */\nexport function getApprovalDocumentsByLegalForm(\n idLegalForm: LegalFormTypeEnum,\n): SocietyApprovalDocumentConfig | undefined {\n return SocietyApprovalDocumentsByLegalForm.find((config) => config.idLegalForm === idLegalForm);\n}\n\n/**\n * Récupère le nom du template pour un document spécifique et une forme juridique\n * @param idLegalForm - L'identifiant de la forme juridique\n * @param idDocumentType - Le type de document d'approbation\n * @returns Le nom du template ou undefined si non trouvé\n */\n//@deprecated use getApprovalDocumentInfos instead\nexport function getApprovalDocumentTemplateName(\n idLegalForm: LegalFormTypeEnum,\n idDocumentType: SocietyApprovalDocumentType,\n): string | undefined {\n const config = getApprovalDocumentsByLegalForm(idLegalForm);\n const document = config?.documents.find((doc) => doc.idDocumentType === idDocumentType);\n return document?.templateName;\n}\n\n/**\n * Récupère le texte de la ville du greffe\n * @param idCityOfGreffe - L'identifiant de la ville du greffe\n * @returns Le texte de la ville ou une chaîne vide\n */\nfunction getCityOfGreffeName(idCityOfGreffe: number | null | undefined): string {\n if (!idCityOfGreffe) return '';\n return CityOfGreffeDetail.find((c) => c.id === idCityOfGreffe)?.text ?? '';\n}\n\n/**\n * Récupère le nom du template pour un document spécifique et une forme juridique\n * @param idLegalForm - L'identifiant de la forme juridique\n * @param idDocumentType - Le type de document d'approbation\n * @returns Le nom du template ou undefined si non trouvé\n */\nexport function getApprovalDocumentInfos(\n idLegalForm: LegalFormTypeEnum,\n idDocumentType: SocietyApprovalDocumentType,\n): SocietyApprovalDocumentTemplate | undefined {\n const config = getApprovalDocumentsByLegalForm(idLegalForm);\n return config?.documents.find((doc) => doc.idDocumentType === idDocumentType);\n}\n\n/**\n * Construit les données formatées pour le template d'approbation\n * @param existingApproval - Les données d'approbation de la société\n * @param style - Le style HTML pour le document\n * @returns L'objet de données formaté pour le template\n */\nexport function buildApprovalTemplateData(existingApproval: ISocietyApproval, style: string): Record<string, any> {\n const yearInText = convertNumberToLetter(+dayjs().format('YYYY')).toLowerCase();\n const dayAndMonthInText = `${convertNumberToLetter(+dayjs().format('D'))} ${dayjs().locale('fr').format('MMMM').toLowerCase()}`;\n const brand = getBrand();\n return {\n // Variables globales\n style,\n yearInText,\n dayAndMonthInText,\n date: dayjs().locale('fr').format('DD MMMM YYYY'),\n companyInformation: {\n rcs: brand?.companyInformation?.rcs,\n nomRaisonSociale: brand?.companyInformation?.nomRaisonSociale,\n city: brand?.companyInformation?.city,\n postalAddress: brand?.companyInformation?.postalAddress,\n montantCapital: brand?.companyInformation?.montantCapital,\n statut: brand?.companyInformation?.statut,\n ECOrderCity: brand?.companyInformation?.ECOrderCity,\n },\n owner: {\n identity: `${existingApproval?.exercice?.society?.users?.[0]?.idCivility === 1 ? 'Monsieur' : 'Madame'} ${existingApproval?.exercice?.society?.users?.[0]?.firstname} ${existingApproval?.exercice?.society?.users?.[0]?.lastname} `,\n quality: QualityList.find(\n (ql) => ql.id === existingApproval?.exercice?.society?.users?.[0]?.businessPartners?.[0]?.idQuality,\n )?.label,\n },\n // Variables stockées en base\n ...existingApproval,\n generatingDatas: {\n ...existingApproval?.generatingDatas,\n ...(existingApproval?.generatingDatas?.approvalDate\n ? {\n approvalDate: dayjs(existingApproval?.generatingDatas?.approvalDate)\n .locale('fr')\n .format('DD MMMM YYYY')\n .toUpperCase(),\n }\n : {}),\n },\n exercice: {\n ...existingApproval?.exercice,\n society: {\n ...existingApproval?.exercice?.society,\n cityOfGreffe: getCityOfGreffeName(existingApproval?.exercice?.society?.idCityOfGreffe).toUpperCase(),\n },\n endDate: dayjs(existingApproval?.exercice?.endDate).locale('fr').format('DD MMMM YYYY').toLowerCase(),\n },\n };\n}\n"]}
1
+ {"version":3,"file":"societyApproval.js","sourceRoot":"","sources":["../../../ts/utils/societyApproval.ts"],"names":[],"mappings":"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","sourcesContent":["import { LegalForm, LegalFormTypeEnum } from '../types/Enum/LegalForm';\nimport {\n SocietyApprovalDocumentType,\n SocietyApprovalDocumentConfig,\n SocietyApprovalDocumentsByLegalForm,\n SocietyApprovalDocumentTemplate,\n} from '../types/Enum/SocietyApproval';\nimport { ISocietyApproval } from '../types/Interface/models/ISocietyApproval';\nimport { QualityList } from '../types/Enum/Quality';\nimport { getBrand } from './brands';\nimport { convertNumberToLetter } from './amount';\nimport * as dayjs from 'dayjs';\nimport { CityOfGreffeDetail } from '../types/Enum/CityOfGreffe';\nimport { siretToSiren } from './siretValidation';\n\n/**\n * Récupère le nom de la forme juridique\n * @param idLegalForm - L'identifiant de la forme juridique\n * @param fallback - Valeur par défaut si non trouvée\n * @returns Le nom de la forme juridique\n */\nexport function getLegalFormName(idLegalForm: LegalFormTypeEnum, fallback: string = ''): string {\n return Object.values(LegalForm).find((lf) => lf.id === idLegalForm)?.name ?? fallback;\n}\n\n/**\n * Récupère la configuration des documents d'approbation pour une forme juridique donnée\n * @param idLegalForm - L'identifiant de la forme juridique\n * @returns La configuration des documents ou undefined si non trouvée\n */\nexport function getApprovalDocumentsByLegalForm(\n idLegalForm: LegalFormTypeEnum,\n): SocietyApprovalDocumentConfig | undefined {\n return SocietyApprovalDocumentsByLegalForm.find((config) => config.idLegalForm === idLegalForm);\n}\n\n/**\n * Récupère le nom du template pour un document spécifique et une forme juridique\n * @param idLegalForm - L'identifiant de la forme juridique\n * @param idDocumentType - Le type de document d'approbation\n * @returns Le nom du template ou undefined si non trouvé\n */\n//@deprecated use getApprovalDocumentInfos instead\nexport function getApprovalDocumentTemplateName(\n idLegalForm: LegalFormTypeEnum,\n idDocumentType: SocietyApprovalDocumentType,\n): string | undefined {\n const config = getApprovalDocumentsByLegalForm(idLegalForm);\n const document = config?.documents.find((doc) => doc.idDocumentType === idDocumentType);\n return document?.templateName;\n}\n\n/**\n * Récupère le texte de la ville du greffe\n * @param idCityOfGreffe - L'identifiant de la ville du greffe\n * @returns Le texte de la ville ou une chaîne vide\n */\nfunction getCityOfGreffeName(idCityOfGreffe: number | null | undefined): string {\n if (!idCityOfGreffe) return '';\n return CityOfGreffeDetail.find((c) => c.id === idCityOfGreffe)?.text ?? '';\n}\n\n/**\n * Récupère le nom du template pour un document spécifique et une forme juridique\n * @param idLegalForm - L'identifiant de la forme juridique\n * @param idDocumentType - Le type de document d'approbation\n * @returns Le nom du template ou undefined si non trouvé\n */\nexport function getApprovalDocumentInfos(\n idLegalForm: LegalFormTypeEnum,\n idDocumentType: SocietyApprovalDocumentType,\n): SocietyApprovalDocumentTemplate | undefined {\n const config = getApprovalDocumentsByLegalForm(idLegalForm);\n return config?.documents.find((doc) => doc.idDocumentType === idDocumentType);\n}\n\n/**\n * Construit les données formatées pour le template d'approbation\n * @param existingApproval - Les données d'approbation de la société\n * @param style - Le style HTML pour le document\n * @returns L'objet de données formaté pour le template\n */\nexport function buildApprovalTemplateData(existingApproval: ISocietyApproval, style: string): Record<string, any> {\n const yearInText = convertNumberToLetter(+dayjs().format('YYYY')).toLowerCase();\n const dayAndMonthInText = `${convertNumberToLetter(+dayjs().format('D'))} ${dayjs().locale('fr').format('MMMM').toLowerCase()}`;\n const brand = getBrand();\n return {\n // Variables globales\n style,\n yearInText,\n dayAndMonthInText,\n date: dayjs().locale('fr').format('DD MMMM YYYY'),\n companyInformation: {\n rcs: brand?.companyInformation?.rcs,\n nomRaisonSociale: brand?.companyInformation?.nomRaisonSociale,\n city: brand?.companyInformation?.city,\n postalAddress: brand?.companyInformation?.postalAddress,\n montantCapital: brand?.companyInformation?.montantCapital,\n statut: brand?.companyInformation?.statut,\n ECOrderCity: brand?.companyInformation?.ECOrderCity,\n },\n owner: {\n identity: `${existingApproval?.exercice?.society?.users?.[0]?.idCivility === 1 ? 'Monsieur' : 'Madame'} ${existingApproval?.exercice?.society?.users?.[0]?.firstname} ${existingApproval?.exercice?.society?.users?.[0]?.lastname} `,\n quality: QualityList.find(\n (ql) => ql.id === existingApproval?.exercice?.society?.users?.[0]?.businessPartners?.[0]?.idQuality,\n )?.label,\n },\n // Variables stockées en base\n ...existingApproval,\n generatingDatas: {\n ...existingApproval?.generatingDatas,\n ...(existingApproval?.generatingDatas?.approvalDate\n ? {\n approvalDate: dayjs(existingApproval?.generatingDatas?.approvalDate)\n .locale('fr')\n .format('DD MMMM YYYY')\n .toUpperCase(),\n }\n : {}),\n ...(existingApproval?.generatingDatas?.approvalDividendsPaymentDate\n ? {\n approvalDividendsPaymentDate: dayjs(existingApproval?.generatingDatas?.approvalDividendsPaymentDate)\n .locale('fr')\n .format('DD MMMM YYYY'),\n }\n : {}),\n },\n exercice: {\n ...existingApproval?.exercice,\n society: {\n ...existingApproval?.exercice?.society,\n cityOfGreffe: getCityOfGreffeName(existingApproval?.exercice?.society?.idCityOfGreffe).toUpperCase(),\n siren: existingApproval?.exercice?.society?.siret\n ? siretToSiren(existingApproval.exercice.society.siret)\n : null,\n },\n endDate: dayjs(existingApproval?.exercice?.endDate).locale('fr').format('DD MMMM YYYY').toLowerCase(),\n },\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.3.199-8",
3
+ "version": "1.3.199",
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,9 +23,6 @@ import {
23
23
  BasePaginate,
24
24
  QueryGetAllUsersPaginated,
25
25
  QueryUpdatePassword,
26
- CreateCollaboraterDetail,
27
- IWorkingSchedule,
28
- ICollaboraterDetail,
29
26
  } from '../../types';
30
27
 
31
28
  export class User extends Resource {
@@ -41,28 +38,6 @@ export class User extends Resource {
41
38
  coworker(data: CreateCoworker): Promise<IUser> {
42
39
  return this.axios.$post('user/coworker', data);
43
40
  }
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
- if (file){
59
- formData.append('file', file);
60
- }
61
- return this.axios.$post('user/coworker/complete', formData, {
62
- headers: { 'Content-Type': 'multipart/form-data' },
63
- });
64
- }
65
-
66
41
  updateCoworker(idUser: number, params: UpdateCorworker): Promise<IUser> {
67
42
  const formData = new FormData();
68
43
  Object.entries(params).forEach(([key, value]) => {
@@ -81,26 +56,6 @@ export class User extends Resource {
81
56
  });
82
57
  }
83
58
 
84
- updateCompletCoworker(idUser: number, data: UpdateCorworker, file?: File): Promise<IUser> {
85
- const formData = new FormData();
86
- Object.entries(data).forEach(([key, value]) => {
87
- if (value || value === false || value === 0) {
88
- if (Array.isArray(value)) {
89
- value.forEach((v: number | string) => {
90
- formData.append(`${key}[]`, `${v}`);
91
- });
92
- } else if (key === 'file') formData.append('file', value);
93
- else formData.append(key, `${value}`);
94
- }
95
- });
96
- if (file){
97
- formData.append('file', file);
98
- }
99
- return this.axios.$put(`/user/coworker/complete/${idUser}`, formData, {
100
- headers: { 'Content-Type': 'multipart/form-data' },
101
- });
102
- }
103
-
104
59
  sendNewCode(id: number): Promise<IUser> {
105
60
  return this.axios.$put(`user/${id}/sendNewSmsCode`);
106
61
  }
@@ -189,24 +144,4 @@ export class User extends Resource {
189
144
  registerProspect(body: RegisterProspectBody): Promise<RegisterProspectResponse> {
190
145
  return this.axios.$post('users/prospect', body);
191
146
  }
192
-
193
- updateCoworkerWorkingSchedules(idUser: number, workingSchedules: IWorkingSchedule[]): Promise<IWorkingSchedule[]> {
194
- return this.axios.$post(`users/coworker/${idUser}/working-schedules`, workingSchedules);
195
- }
196
-
197
- createCoworkerWorkingSchedules(idUser: number, workingSchedules: Omit<IWorkingSchedule, 'id'>[]): Promise<IWorkingSchedule[]> {
198
- return this.axios.$post(`users/coworker/${idUser}/working-schedules`, workingSchedules);
199
- }
200
-
201
- createCollaboraterDetail(params: CreateCollaboraterDetail): Promise<ICollaboraterDetail> {
202
- return this.axios.$post('collaboraters-details', params);
203
- }
204
-
205
- getCollaboraterDetail(idUser: number): Promise<ICollaboraterDetail> {
206
- return this.axios.$get(`collaboraters-details/user/${idUser}`);
207
- }
208
-
209
- updateCollaboraterDetail(id: number, params: Partial<ICollaboraterDetail>): Promise<ICollaboraterDetail> {
210
- return this.axios.$put(`collaboraters-details/${id}`, params);
211
- }
212
147
  }
@@ -0,0 +1,16 @@
1
+ import { AddWebexRegistrantBody, GetWebinarsParams, PaginatedWebinars, WebexRegistrant } from '../../types';
2
+ import { Resource } from '../Resource';
3
+
4
+ export class Webex extends Resource {
5
+ getWebinars(params?: GetWebinarsParams): Promise<PaginatedWebinars> {
6
+ return this.axios.$get('/connectors/webex/webinars', { params });
7
+ }
8
+
9
+ getWebinarById(meetingId: string): Promise<any> {
10
+ return this.axios.$get(`/connectors/webex/webinars/${meetingId}`);
11
+ }
12
+
13
+ addRegistrant(meetingId: string, registrant: AddWebexRegistrantBody): Promise<WebexRegistrant> {
14
+ return this.axios.$post(`/connectors/webex/webinars/${meetingId}/registrants`, registrant);
15
+ }
16
+ }
@@ -6,7 +6,6 @@ import {
6
6
  ReadWorkingSchedule,
7
7
  SpecialHours,
8
8
  TimeSlots,
9
- IWorkingSchedule
10
9
  } from '../..';
11
10
 
12
11
  export class WorkingSchedule extends Resource {
@@ -37,10 +36,6 @@ export class WorkingSchedule extends Resource {
37
36
  return this.axios.$get(`workingSchedule/${id}`);
38
37
  }
39
38
 
40
- deleteAndCreate(idUser: number, workingSchedules: Omit<IWorkingSchedule, 'id'>[]): Promise<WorkingSchedule[]> {
41
- return this.axios.$post(`workingSchedule/delete-and-create/${idUser}`, workingSchedules);
42
- }
43
-
44
39
  getAvailableTimeSlots(params: QueryAvailableTimeSlot): Promise<TimeSlots[]> {
45
40
  return this.axios.$get('workingSchedule/available-time-slots', {
46
41
  params,
@@ -33,9 +33,9 @@ export enum CardState {
33
33
  TODO = 1,
34
34
  IN_PROGRESS = 2,
35
35
  DONE = 3,
36
- NOT_DONE = 4,
36
+ INCOMPLETE = 4,
37
37
  WAITING_CLIENT = 5,
38
- INCOMPLETE = 6
38
+ NOT_DONE = 6
39
39
  }
40
40
 
41
41
  export enum CardGroupEnum {
@@ -0,0 +1,14 @@
1
+ export enum EbookIntention {
2
+ FACTU_ONLY = 'Facturation uniquement',
3
+ FACTU_COMPTA = 'Facturation + comptabilité',
4
+ INFO_REFORME = 'Je cherche juste à comprendre la réforme',
5
+ // prettier-ignore
6
+ CHANGE_TOOL = 'Je dois changer d\'outil rapidement',
7
+ }
8
+
9
+ export const BrevoEbookIntentionMapping: Record<EbookIntention, string> = {
10
+ [EbookIntention.FACTU_ONLY]: 'FACTU_ONLY',
11
+ [EbookIntention.FACTU_COMPTA]: 'FACTU_COMPTA',
12
+ [EbookIntention.INFO_REFORME]: 'INFO_REFORME',
13
+ [EbookIntention.CHANGE_TOOL]: 'CHANGE_TOOL',
14
+ };
@@ -20,76 +20,61 @@ export const EquipmentTypeDetail = [
20
20
  {
21
21
  id: EquipmentType.LAPTOP,
22
22
  label: 'Ordinateur portable',
23
- icon: 'i-lucide-laptop'
24
23
  },
25
24
  {
26
25
  id: EquipmentType.PRINTER,
27
26
  label: 'Imprimante',
28
- icon: 'i-lucide-printer'
29
27
  },
30
28
  {
31
29
  id: EquipmentType.PHONE,
32
30
  label: 'Téléphone',
33
- icon: 'i-lucide-smartphone'
34
31
  },
35
32
  {
36
33
  id: EquipmentType.KEYBOARD,
37
34
  label: 'Clavier',
38
- icon: 'i-lucide-keyboard'
39
35
  },
40
36
  {
41
37
  id: EquipmentType.MOUSE,
42
38
  label: 'Souris',
43
- icon: 'i-lucide-mouse'
44
39
  },
45
40
  {
46
41
  id: EquipmentType.SCREEN,
47
42
  label: 'Écran',
48
- icon: 'i-lucide-monitor'
49
43
  },
50
44
  {
51
45
  id: EquipmentType.HEADPHONE,
52
46
  label: 'Casque',
53
- icon: 'i-lucide-headphones'
54
47
  },
55
48
  {
56
49
  id: EquipmentType.ADAPTER,
57
50
  label: 'Adaptateur',
58
- icon: 'i-lucide-box'
59
51
  },
60
52
  {
61
53
  id: EquipmentType.WIRELESS_HEADPHONE,
62
54
  label: 'Casque sans fil',
63
- icon: 'i-lucide-headphones'
64
55
  },
65
56
  {
66
57
  id: EquipmentType.POCKET,
67
58
  label: 'Pochette',
68
- icon: 'i-lucide-box'
69
59
  },
70
60
  {
71
61
  id: EquipmentType.BADGE,
72
62
  label: 'Badge',
73
- icon: 'i-lucide-badge'
74
63
  },
75
64
  {
76
65
  id: EquipmentType.CALCULATOR,
77
66
  label: 'Calculatrice',
78
- icon: 'i-lucide-calculator'
79
67
  },
80
68
  {
81
69
  id: EquipmentType.USB_HUB,
82
70
  label: 'Hub USB',
83
- icon: 'i-lucide-box'
84
71
  },
85
72
  {
86
73
  id: EquipmentType.NUMPAD,
87
74
  label: 'Pavé numérique',
88
- icon: 'i-lucide-box'
89
75
  },
90
76
  {
91
77
  id: EquipmentType.EXTERN_SUPPORT,
92
78
  label: 'Support externe',
93
- icon: 'i-lucide-box'
94
79
  },
95
80
  ] 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 affectifs',
700
+ name: 'Déclaration des bénéficiaires effectifs',
701
701
  idGedFolder: GedFolder.KBIS,
702
702
  typeFile: TypeFile.DBE2,
703
703
  },