@silexpert/core 1.3.206-esm-2 → 1.3.206

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 (134) hide show
  1. package/dist/cjs/types/Enum/TaskResponseType.d.ts.map +1 -1
  2. package/dist/cjs/types/Enum/TaskResponseType.js +0 -11
  3. package/dist/cjs/types/Enum/TaskResponseType.js.map +1 -1
  4. package/dist/cjs/types/Enum/Unit.js +1 -1
  5. package/dist/cjs/types/Enum/Unit.js.map +1 -1
  6. package/dist/cjs/utils/checkup.d.ts.map +1 -1
  7. package/dist/cjs/utils/checkup.js +2 -3
  8. package/dist/cjs/utils/checkup.js.map +1 -1
  9. package/dist/cjs/utils/commercialManagement/document.js +4 -4
  10. package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
  11. package/dist/cjs/utils/commercialManagement/recurrence.js +7 -7
  12. package/dist/cjs/utils/commercialManagement/recurrence.js.map +1 -1
  13. package/dist/cjs/utils/commercialOffer.d.ts.map +1 -1
  14. package/dist/cjs/utils/commercialOffer.js +4 -6
  15. package/dist/cjs/utils/commercialOffer.js.map +1 -1
  16. package/dist/cjs/utils/date.d.ts.map +1 -1
  17. package/dist/cjs/utils/date.js +8 -15
  18. package/dist/cjs/utils/date.js.map +1 -1
  19. package/dist/cjs/utils/documents.js +3 -3
  20. package/dist/cjs/utils/documents.js.map +1 -1
  21. package/dist/cjs/utils/email.js +1 -1
  22. package/dist/cjs/utils/email.js.map +1 -1
  23. package/dist/cjs/utils/exercice.js +7 -7
  24. package/dist/cjs/utils/exercice.js.map +1 -1
  25. package/dist/cjs/utils/payment.js +23 -23
  26. package/dist/cjs/utils/payment.js.map +1 -1
  27. package/dist/cjs/utils/prestation.js +3 -3
  28. package/dist/cjs/utils/prestation.js.map +1 -1
  29. package/dist/cjs/utils/quotation.js +2 -2
  30. package/dist/cjs/utils/quotation.js.map +1 -1
  31. package/dist/cjs/utils/societyApproval.js +7 -7
  32. package/dist/cjs/utils/societyApproval.js.map +1 -1
  33. package/dist/cjs/utils/tests/payment.spec.js +42 -42
  34. package/dist/cjs/utils/tests/payment.spec.js.map +1 -1
  35. package/dist/cjs/utils/vat/3310/century24.js +8 -8
  36. package/dist/cjs/utils/vat/3310/century24.js.map +1 -1
  37. package/dist/cjs/utils/vat/3310/century25.js +8 -8
  38. package/dist/cjs/utils/vat/3310/century25.js.map +1 -1
  39. package/dist/cjs/utils/vat/3310/century26.js +8 -8
  40. package/dist/cjs/utils/vat/3310/century26.js.map +1 -1
  41. package/dist/cjs/utils/vat/3514/century22.js +5 -5
  42. package/dist/cjs/utils/vat/3514/century22.js.map +1 -1
  43. package/dist/cjs/utils/vat/3517/century25.js +66 -66
  44. package/dist/cjs/utils/vat/3517/century25.js.map +1 -1
  45. package/dist/cjs/utils/vat/3517/century26.js +13 -13
  46. package/dist/cjs/utils/vat/3517/century26.js.map +1 -1
  47. package/dist/cjs/utils/vat/3519/century17.js +3 -3
  48. package/dist/cjs/utils/vat/3519/century17.js.map +1 -1
  49. package/dist/cjs/utils/vat/3519/century23.js +3 -3
  50. package/dist/cjs/utils/vat/3519/century23.js.map +1 -1
  51. package/dist/cjs/utils/vat/centuries.js +7 -7
  52. package/dist/cjs/utils/vat/centuries.js.map +1 -1
  53. package/dist/cjs/utils/vat/registration.js +4 -4
  54. package/dist/cjs/utils/vat/registration.js.map +1 -1
  55. package/dist/mjs/types/Enum/TaskResponseType.d.ts.map +1 -1
  56. package/dist/mjs/types/Enum/TaskResponseType.js +0 -11
  57. package/dist/mjs/types/Enum/TaskResponseType.js.map +1 -1
  58. package/dist/mjs/types/Enum/Unit.js +1 -1
  59. package/dist/mjs/types/Enum/Unit.js.map +1 -1
  60. package/dist/mjs/utils/checkup.d.ts.map +1 -1
  61. package/dist/mjs/utils/checkup.js +1 -2
  62. package/dist/mjs/utils/checkup.js.map +1 -1
  63. package/dist/mjs/utils/commercialManagement/document.js +1 -1
  64. package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
  65. package/dist/mjs/utils/commercialManagement/recurrence.js +5 -5
  66. package/dist/mjs/utils/commercialManagement/recurrence.js.map +1 -1
  67. package/dist/mjs/utils/commercialOffer.d.ts.map +1 -1
  68. package/dist/mjs/utils/commercialOffer.js +4 -6
  69. package/dist/mjs/utils/commercialOffer.js.map +1 -1
  70. package/dist/mjs/utils/date.d.ts.map +1 -1
  71. package/dist/mjs/utils/date.js +5 -12
  72. package/dist/mjs/utils/date.js.map +1 -1
  73. package/dist/mjs/utils/documents.js +1 -1
  74. package/dist/mjs/utils/documents.js.map +1 -1
  75. package/dist/mjs/utils/email.js +1 -1
  76. package/dist/mjs/utils/email.js.map +1 -1
  77. package/dist/mjs/utils/exercice.js +1 -1
  78. package/dist/mjs/utils/exercice.js.map +1 -1
  79. package/dist/mjs/utils/payment.js +1 -1
  80. package/dist/mjs/utils/payment.js.map +1 -1
  81. package/dist/mjs/utils/prestation.js +1 -1
  82. package/dist/mjs/utils/prestation.js.map +1 -1
  83. package/dist/mjs/utils/quotation.js +1 -1
  84. package/dist/mjs/utils/quotation.js.map +1 -1
  85. package/dist/mjs/utils/societyApproval.js +1 -1
  86. package/dist/mjs/utils/societyApproval.js.map +1 -1
  87. package/dist/mjs/utils/tests/payment.spec.js +1 -1
  88. package/dist/mjs/utils/tests/payment.spec.js.map +1 -1
  89. package/dist/mjs/utils/vat/3310/century24.js +1 -1
  90. package/dist/mjs/utils/vat/3310/century24.js.map +1 -1
  91. package/dist/mjs/utils/vat/3310/century25.js +1 -1
  92. package/dist/mjs/utils/vat/3310/century25.js.map +1 -1
  93. package/dist/mjs/utils/vat/3310/century26.js +1 -1
  94. package/dist/mjs/utils/vat/3310/century26.js.map +1 -1
  95. package/dist/mjs/utils/vat/3514/century22.js +3 -3
  96. package/dist/mjs/utils/vat/3514/century22.js.map +1 -1
  97. package/dist/mjs/utils/vat/3517/century25.js +54 -54
  98. package/dist/mjs/utils/vat/3517/century25.js.map +1 -1
  99. package/dist/mjs/utils/vat/3517/century26.js +1 -1
  100. package/dist/mjs/utils/vat/3517/century26.js.map +1 -1
  101. package/dist/mjs/utils/vat/3519/century17.js +1 -1
  102. package/dist/mjs/utils/vat/3519/century17.js.map +1 -1
  103. package/dist/mjs/utils/vat/3519/century23.js +1 -1
  104. package/dist/mjs/utils/vat/3519/century23.js.map +1 -1
  105. package/dist/mjs/utils/vat/centuries.js +1 -1
  106. package/dist/mjs/utils/vat/centuries.js.map +1 -1
  107. package/dist/mjs/utils/vat/registration.js +1 -1
  108. package/dist/mjs/utils/vat/registration.js.map +1 -1
  109. package/package.json +3 -3
  110. package/ts/types/Enum/TaskResponseType.ts +0 -11
  111. package/ts/types/Enum/Unit.ts +1 -1
  112. package/ts/utils/checkup.ts +1 -2
  113. package/ts/utils/commercialManagement/document.ts +1 -1
  114. package/ts/utils/commercialManagement/recurrence.ts +5 -5
  115. package/ts/utils/commercialOffer.ts +3 -4
  116. package/ts/utils/date.ts +4 -9
  117. package/ts/utils/documents.ts +1 -1
  118. package/ts/utils/email.ts +1 -1
  119. package/ts/utils/exercice.ts +1 -1
  120. package/ts/utils/payment.ts +1 -1
  121. package/ts/utils/prestation.ts +1 -1
  122. package/ts/utils/quotation.ts +1 -1
  123. package/ts/utils/societyApproval.ts +1 -1
  124. package/ts/utils/tests/payment.spec.ts +1 -1
  125. package/ts/utils/vat/3310/century24.ts +1 -1
  126. package/ts/utils/vat/3310/century25.ts +1 -1
  127. package/ts/utils/vat/3310/century26.ts +1 -1
  128. package/ts/utils/vat/3514/century22.ts +3 -3
  129. package/ts/utils/vat/3517/century25.ts +54 -54
  130. package/ts/utils/vat/3517/century26.ts +1 -1
  131. package/ts/utils/vat/3519/century17.ts +1 -1
  132. package/ts/utils/vat/3519/century23.ts +1 -1
  133. package/ts/utils/vat/centuries.ts +1 -1
  134. package/ts/utils/vat/registration.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"quotation.js","sourceRoot":"","sources":["../../../ts/utils/quotation.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\nimport { ForbidenDomain, BasicDomain } from '../types/Enum/MailDomainType';\nimport { Activity } from '../types/Enum/Activity';\nimport { ComptaType } from '../types/Enum/ComptaType';\nimport { ISociety } from '../types/Interface/models/ISociety';\nimport { ICotation } from '../types/Interface/models/ICotation';\nimport { BasePaginate, IPayment, IRating, IReport, ISocietyProceding, ReadClientQuotation } from '../types';\n\ntype getLeadQuotationParams = {\n firstname: string;\n lastname: string;\n phone: string;\n mail: string;\n annualTurnover: number;\n source: number;\n alreadyExist: boolean;\n activitySector: number;\n};\n\nexport function getLeadQuotation(params: getLeadQuotationParams): number {\n const { firstname, lastname, phone, mail, annualTurnover, source, alreadyExist, activitySector } = params;\n if (\n firstname === 'test' ||\n lastname === 'test' ||\n mail?.includes('test') ||\n ['606060606', '707070707', '612345678', '712345678', '687654321', '787654321'].includes(phone)\n ) {\n return 0;\n }\n let quotation = 0;\n\n /* cotation du prénom */\n if (firstname) quotation += 5;\n\n /* cotation du nom */\n if (lastname) quotation += 5;\n\n /* cotation du numéro de téléphone */\n if (phone && ['6', '7'].includes(phone.substr(0, 1))) {\n quotation += 15;\n } else {\n quotation += 5;\n }\n\n /* cotation de l'adresse email */\n if (BasicDomain.find((domain) => mail?.includes(domain))) {\n quotation += 5;\n } else if (!ForbidenDomain.find((domain) => mail?.includes(domain))) {\n quotation += 15;\n }\n\n /* cotation du CA annuel */\n if ([0, 150000, 400000, 783000, 783001].includes(annualTurnover)) {\n quotation += 10;\n } else if ([50000, 234000].includes(annualTurnover)) {\n quotation += 5;\n }\n\n /* cotation de la date d'ajout */\n if ([1, 2, 3, 4, 5].includes(new Date().getDay())) {\n const dateTime = new Date();\n const year = dateTime.getFullYear();\n const month = dateTime.getMonth();\n const day = dateTime.getDate();\n const startTime = new Date(`${year}-${month + 1}-${day} 08:45:00`);\n const endTime = new Date(`${year}-${month + 1}-${day} 18:45:00`);\n if (startTime.getTime() <= dateTime.getTime() && endTime.getTime() >= dateTime.getTime()) {\n quotation += 15;\n } else {\n quotation += 5;\n }\n } else {\n quotation += 5;\n }\n\n /* cotation de la source */\n /* Parrainage */\n if (source === 49) {\n quotation += 10;\n\n /* calendly, appel entrant */\n } else if (source === 2) {\n quotation += 8;\n\n /* adWords, Bing, Formulaire */\n } else if (source === 4) {\n quotation += 6;\n\n /* Chat, Whatsapp */\n } else if ([29, 92].includes(source)) {\n quotation += 2;\n }\n\n /* cotation de la qualité (nombre de champs remplis) */\n const fieldNumber = [firstname, lastname, phone, mail, annualTurnover, activitySector].filter(\n (data) => !!data,\n ).length;\n switch (fieldNumber) {\n case 6:\n quotation += 10;\n break;\n case 5:\n quotation += 8;\n break;\n case 4:\n quotation += 6;\n break;\n case 3:\n quotation += 4;\n break;\n case 2:\n quotation += 2;\n break;\n default:\n break;\n }\n\n /* cotation de l'existence du lead (déjà existant ou non) */\n if (alreadyExist) quotation += 8;\n\n /* cotation du secteur d'activité */\n if ([Activity.INFORMATIQUE, Activity.CONSEIL].includes(activitySector)) {\n quotation += 10;\n } else if (\n [\n Activity.TRANSPORT,\n Activity.BTP,\n Activity.RESTAURATION,\n Activity.COMMERCANT,\n Activity.MEDICAL,\n Activity.PROF_LIB,\n ].includes(activitySector)\n ) {\n quotation += 5;\n }\n\n return quotation;\n}\n\n/* besoin en entré de la société concerné avec les différents imports (society), ainsi que la liste des autres sociétés ou l'owner est owner (otherSocieties) */\nexport function getClientQuotation(\n society: ISociety,\n otherSocieties: ISociety[],\n lastNotice: BasePaginate<IRating>,\n unpaidDetails: [],\n reports: IReport[],\n societyProcedings: ISocietyProceding[],\n tabBankAccount: any,\n firstPaiement: IPayment[],\n): ReadClientQuotation {\n let quotationPositive = 0;\n let quotationNegative = 0;\n let quotation = 0;\n const detailQuotation = {\n signature: 0,\n seniority: 0,\n additionalBenefits: 0,\n additionalCompanies: 0,\n unpayed: 0,\n updatedAnnotations: 0,\n bankSynchronization: 0,\n rating: 0,\n labRefused: 0,\n ongoingProceedings: 0,\n report: 0,\n termination: 0,\n created: 0,\n };\n\n // calcul de l'ancienneté de la société\n const anciennete =\n firstPaiement?.length > 0 ? dayjs().diff(dayjs(firstPaiement[0].datePayment, 'YYYY-MM-DD'), 'years') : 0;\n const ponderation = anciennete * 0.1 + 1;\n\n /* Type de comptabilité du client (Tresorerie (+10) / Engagement (+15)) */\n if (society.idComptaType) {\n if (\n [ComptaType.CASH_BASED, ComptaType.CASH_BASED_ASSISTANCE, ComptaType.CASH_BASED_SEIZURE].includes(\n society.idComptaType,\n )\n ) {\n quotationPositive += 10;\n detailQuotation.signature += 10;\n } else if (\n [ComptaType.ACCRUALS, ComptaType.ACCRUALS_ASSISTANCE, ComptaType.ACCRUALS_SEIZURE].includes(society.idComptaType)\n ) {\n quotationPositive += 15;\n detailQuotation.signature += 15;\n }\n }\n\n /* Ancienneté (1 ans < firstPaiement < 2 ans (+10) / 2 ans < firstPaiement (+20 / année)) */\n if (firstPaiement?.length > 0) {\n const yearAsClient =\n Number(new Date().getFullYear()) - Number(new Date(firstPaiement[0].datePayment).getFullYear());\n if (yearAsClient === 1) {\n quotationPositive += 10;\n detailQuotation.seniority += 10;\n } else if (yearAsClient > 1) {\n quotationPositive += 20 * (yearAsClient - 1) + 10;\n detailQuotation.seniority += 20 * (yearAsClient - 1) + 10;\n }\n }\n\n /* Prestations Complémentaires (+5 / prestation) */\n if (society.prestationsSocieties?.length) {\n const prestationsCompl = society.prestationsSocieties.filter((prestation) => prestation.idPrestationComplementary);\n prestationsCompl.forEach(() => {\n quotationPositive += Math.ceil(5 * ponderation);\n detailQuotation.additionalBenefits += Math.ceil(5 * ponderation);\n });\n }\n\n /* Sociétés supplémentaires (+8 / société) */\n if (otherSocieties.length) {\n quotationPositive += Math.ceil(8 * otherSocieties.length * ponderation);\n detailQuotation.additionalCompanies += Math.ceil(8 * otherSocieties.length * ponderation);\n }\n\n /* Impayés (-15 / mois) */\n if (unpaidDetails.length) {\n quotationNegative -= Math.ceil(15 * unpaidDetails.length * ponderation);\n detailQuotation.unpayed -= Math.ceil(15 * unpaidDetails.length * ponderation);\n }\n\n /* annotations à jour */\n if (tabBankAccount.societyAccountingTransactions?.length) {\n // on check s'il y a 80% des lignes annotées (dateLocked)\n let countNotAnnoted = 0;\n let percentageAnnotations = 100;\n tabBankAccount.societyAccountingTransactions.map((na: any) => {\n if (na.dateLocked === null) {\n countNotAnnoted += 1;\n }\n return countNotAnnoted;\n });\n if (countNotAnnoted !== 0)\n percentageAnnotations = (countNotAnnoted / tabBankAccount.societyAccountingTransactions?.length) * 100;\n if (percentageAnnotations >= 80) {\n quotationPositive += Math.ceil(12 * ponderation);\n detailQuotation.updatedAnnotations += Math.ceil(12 * ponderation);\n } else {\n quotationNegative -= Math.ceil(12 * ponderation);\n detailQuotation.updatedAnnotations -= Math.ceil(12 * ponderation);\n }\n }\n\n /* synchronisation bancaire */\n if (tabBankAccount.societyActivatedBankAccounts?.length) {\n // comptes synchro\n const synchro = tabBankAccount.societyActivatedBankAccounts.length - tabBankAccount.desactivatedBankAccount.length;\n quotationPositive += Math.ceil(12 * synchro * ponderation);\n detailQuotation.bankSynchronization += Math.ceil(12 * synchro * ponderation);\n\n // comptes desynchro\n quotationNegative -= Math.ceil(12 * tabBankAccount.desactivatedBankAccount.length * ponderation);\n detailQuotation.bankSynchronization -= Math.ceil(12 * tabBankAccount.desactivatedBankAccount.length * ponderation);\n }\n\n /* avis */\n if (lastNotice && lastNotice.data.length === 1) {\n if (lastNotice.data[0].average === 5) {\n quotationPositive += Math.ceil(10 * ponderation);\n detailQuotation.rating += Math.ceil(10 * ponderation);\n } else {\n quotationNegative -= 10;\n detailQuotation.rating -= 10;\n }\n }\n\n /* LAB refusée */\n if (society?.societyDetail) {\n if (!society.societyDetail?.acceptation) {\n quotationNegative -= 10;\n detailQuotation.labRefused -= 10;\n }\n }\n\n /* Cessation de paiement - redressement judiciaire - procédure en cours / signalements / résiliation */\n if (societyProcedings?.length) {\n quotationNegative -= 5 * societyProcedings.length;\n detailQuotation.ongoingProceedings -= 5 * societyProcedings.length;\n }\n\n if (reports?.length) {\n quotationNegative -= 10;\n detailQuotation.report -= 10;\n }\n\n if (society.isWaitingEnd) {\n quotationNegative -= 50;\n detailQuotation.termination -= 50;\n }\n\n /* Création chez nous */\n if (society.prestationsSocieties?.length) {\n const prestationsCreation = society.prestationsSocieties.filter((prestation) => prestation.idPrestationList === 15); // creation pas d'enum\n prestationsCreation.forEach(() => {\n quotationPositive += 10;\n detailQuotation.created += 10;\n });\n }\n\n if (quotationPositive > 100) quotationPositive = 100;\n if (quotationNegative > 100) quotationNegative = 100;\n\n quotation = quotationPositive + quotationNegative;\n\n if (quotation < 0) quotation = 0;\n\n return {\n cotation: quotation,\n data: detailQuotation,\n idSociety: society.id ?? 0,\n };\n}\n\nexport function compareTwoCotation(cotations: ICotation[]): boolean | null {\n // on recupere les 2 dernieres cotations de la societe\n const higher = false;\n if (cotations[0].cotation === cotations[1].cotation) {\n return null;\n }\n if (cotations[0].cotation > cotations[1].cotation) {\n return true;\n }\n return higher;\n}\n"]}
1
+ {"version":3,"file":"quotation.js","sourceRoot":"","sources":["../../../ts/utils/quotation.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { ForbidenDomain, BasicDomain } from '../types/Enum/MailDomainType';\nimport { Activity } from '../types/Enum/Activity';\nimport { ComptaType } from '../types/Enum/ComptaType';\nimport { ISociety } from '../types/Interface/models/ISociety';\nimport { ICotation } from '../types/Interface/models/ICotation';\nimport { BasePaginate, IPayment, IRating, IReport, ISocietyProceding, ReadClientQuotation } from '../types';\n\ntype getLeadQuotationParams = {\n firstname: string;\n lastname: string;\n phone: string;\n mail: string;\n annualTurnover: number;\n source: number;\n alreadyExist: boolean;\n activitySector: number;\n};\n\nexport function getLeadQuotation(params: getLeadQuotationParams): number {\n const { firstname, lastname, phone, mail, annualTurnover, source, alreadyExist, activitySector } = params;\n if (\n firstname === 'test' ||\n lastname === 'test' ||\n mail?.includes('test') ||\n ['606060606', '707070707', '612345678', '712345678', '687654321', '787654321'].includes(phone)\n ) {\n return 0;\n }\n let quotation = 0;\n\n /* cotation du prénom */\n if (firstname) quotation += 5;\n\n /* cotation du nom */\n if (lastname) quotation += 5;\n\n /* cotation du numéro de téléphone */\n if (phone && ['6', '7'].includes(phone.substr(0, 1))) {\n quotation += 15;\n } else {\n quotation += 5;\n }\n\n /* cotation de l'adresse email */\n if (BasicDomain.find((domain) => mail?.includes(domain))) {\n quotation += 5;\n } else if (!ForbidenDomain.find((domain) => mail?.includes(domain))) {\n quotation += 15;\n }\n\n /* cotation du CA annuel */\n if ([0, 150000, 400000, 783000, 783001].includes(annualTurnover)) {\n quotation += 10;\n } else if ([50000, 234000].includes(annualTurnover)) {\n quotation += 5;\n }\n\n /* cotation de la date d'ajout */\n if ([1, 2, 3, 4, 5].includes(new Date().getDay())) {\n const dateTime = new Date();\n const year = dateTime.getFullYear();\n const month = dateTime.getMonth();\n const day = dateTime.getDate();\n const startTime = new Date(`${year}-${month + 1}-${day} 08:45:00`);\n const endTime = new Date(`${year}-${month + 1}-${day} 18:45:00`);\n if (startTime.getTime() <= dateTime.getTime() && endTime.getTime() >= dateTime.getTime()) {\n quotation += 15;\n } else {\n quotation += 5;\n }\n } else {\n quotation += 5;\n }\n\n /* cotation de la source */\n /* Parrainage */\n if (source === 49) {\n quotation += 10;\n\n /* calendly, appel entrant */\n } else if (source === 2) {\n quotation += 8;\n\n /* adWords, Bing, Formulaire */\n } else if (source === 4) {\n quotation += 6;\n\n /* Chat, Whatsapp */\n } else if ([29, 92].includes(source)) {\n quotation += 2;\n }\n\n /* cotation de la qualité (nombre de champs remplis) */\n const fieldNumber = [firstname, lastname, phone, mail, annualTurnover, activitySector].filter(\n (data) => !!data,\n ).length;\n switch (fieldNumber) {\n case 6:\n quotation += 10;\n break;\n case 5:\n quotation += 8;\n break;\n case 4:\n quotation += 6;\n break;\n case 3:\n quotation += 4;\n break;\n case 2:\n quotation += 2;\n break;\n default:\n break;\n }\n\n /* cotation de l'existence du lead (déjà existant ou non) */\n if (alreadyExist) quotation += 8;\n\n /* cotation du secteur d'activité */\n if ([Activity.INFORMATIQUE, Activity.CONSEIL].includes(activitySector)) {\n quotation += 10;\n } else if (\n [\n Activity.TRANSPORT,\n Activity.BTP,\n Activity.RESTAURATION,\n Activity.COMMERCANT,\n Activity.MEDICAL,\n Activity.PROF_LIB,\n ].includes(activitySector)\n ) {\n quotation += 5;\n }\n\n return quotation;\n}\n\n/* besoin en entré de la société concerné avec les différents imports (society), ainsi que la liste des autres sociétés ou l'owner est owner (otherSocieties) */\nexport function getClientQuotation(\n society: ISociety,\n otherSocieties: ISociety[],\n lastNotice: BasePaginate<IRating>,\n unpaidDetails: [],\n reports: IReport[],\n societyProcedings: ISocietyProceding[],\n tabBankAccount: any,\n firstPaiement: IPayment[],\n): ReadClientQuotation {\n let quotationPositive = 0;\n let quotationNegative = 0;\n let quotation = 0;\n const detailQuotation = {\n signature: 0,\n seniority: 0,\n additionalBenefits: 0,\n additionalCompanies: 0,\n unpayed: 0,\n updatedAnnotations: 0,\n bankSynchronization: 0,\n rating: 0,\n labRefused: 0,\n ongoingProceedings: 0,\n report: 0,\n termination: 0,\n created: 0,\n };\n\n // calcul de l'ancienneté de la société\n const anciennete =\n firstPaiement?.length > 0 ? dayjs().diff(dayjs(firstPaiement[0].datePayment, 'YYYY-MM-DD'), 'years') : 0;\n const ponderation = anciennete * 0.1 + 1;\n\n /* Type de comptabilité du client (Tresorerie (+10) / Engagement (+15)) */\n if (society.idComptaType) {\n if (\n [ComptaType.CASH_BASED, ComptaType.CASH_BASED_ASSISTANCE, ComptaType.CASH_BASED_SEIZURE].includes(\n society.idComptaType,\n )\n ) {\n quotationPositive += 10;\n detailQuotation.signature += 10;\n } else if (\n [ComptaType.ACCRUALS, ComptaType.ACCRUALS_ASSISTANCE, ComptaType.ACCRUALS_SEIZURE].includes(society.idComptaType)\n ) {\n quotationPositive += 15;\n detailQuotation.signature += 15;\n }\n }\n\n /* Ancienneté (1 ans < firstPaiement < 2 ans (+10) / 2 ans < firstPaiement (+20 / année)) */\n if (firstPaiement?.length > 0) {\n const yearAsClient =\n Number(new Date().getFullYear()) - Number(new Date(firstPaiement[0].datePayment).getFullYear());\n if (yearAsClient === 1) {\n quotationPositive += 10;\n detailQuotation.seniority += 10;\n } else if (yearAsClient > 1) {\n quotationPositive += 20 * (yearAsClient - 1) + 10;\n detailQuotation.seniority += 20 * (yearAsClient - 1) + 10;\n }\n }\n\n /* Prestations Complémentaires (+5 / prestation) */\n if (society.prestationsSocieties?.length) {\n const prestationsCompl = society.prestationsSocieties.filter((prestation) => prestation.idPrestationComplementary);\n prestationsCompl.forEach(() => {\n quotationPositive += Math.ceil(5 * ponderation);\n detailQuotation.additionalBenefits += Math.ceil(5 * ponderation);\n });\n }\n\n /* Sociétés supplémentaires (+8 / société) */\n if (otherSocieties.length) {\n quotationPositive += Math.ceil(8 * otherSocieties.length * ponderation);\n detailQuotation.additionalCompanies += Math.ceil(8 * otherSocieties.length * ponderation);\n }\n\n /* Impayés (-15 / mois) */\n if (unpaidDetails.length) {\n quotationNegative -= Math.ceil(15 * unpaidDetails.length * ponderation);\n detailQuotation.unpayed -= Math.ceil(15 * unpaidDetails.length * ponderation);\n }\n\n /* annotations à jour */\n if (tabBankAccount.societyAccountingTransactions?.length) {\n // on check s'il y a 80% des lignes annotées (dateLocked)\n let countNotAnnoted = 0;\n let percentageAnnotations = 100;\n tabBankAccount.societyAccountingTransactions.map((na: any) => {\n if (na.dateLocked === null) {\n countNotAnnoted += 1;\n }\n return countNotAnnoted;\n });\n if (countNotAnnoted !== 0)\n percentageAnnotations = (countNotAnnoted / tabBankAccount.societyAccountingTransactions?.length) * 100;\n if (percentageAnnotations >= 80) {\n quotationPositive += Math.ceil(12 * ponderation);\n detailQuotation.updatedAnnotations += Math.ceil(12 * ponderation);\n } else {\n quotationNegative -= Math.ceil(12 * ponderation);\n detailQuotation.updatedAnnotations -= Math.ceil(12 * ponderation);\n }\n }\n\n /* synchronisation bancaire */\n if (tabBankAccount.societyActivatedBankAccounts?.length) {\n // comptes synchro\n const synchro = tabBankAccount.societyActivatedBankAccounts.length - tabBankAccount.desactivatedBankAccount.length;\n quotationPositive += Math.ceil(12 * synchro * ponderation);\n detailQuotation.bankSynchronization += Math.ceil(12 * synchro * ponderation);\n\n // comptes desynchro\n quotationNegative -= Math.ceil(12 * tabBankAccount.desactivatedBankAccount.length * ponderation);\n detailQuotation.bankSynchronization -= Math.ceil(12 * tabBankAccount.desactivatedBankAccount.length * ponderation);\n }\n\n /* avis */\n if (lastNotice && lastNotice.data.length === 1) {\n if (lastNotice.data[0].average === 5) {\n quotationPositive += Math.ceil(10 * ponderation);\n detailQuotation.rating += Math.ceil(10 * ponderation);\n } else {\n quotationNegative -= 10;\n detailQuotation.rating -= 10;\n }\n }\n\n /* LAB refusée */\n if (society?.societyDetail) {\n if (!society.societyDetail?.acceptation) {\n quotationNegative -= 10;\n detailQuotation.labRefused -= 10;\n }\n }\n\n /* Cessation de paiement - redressement judiciaire - procédure en cours / signalements / résiliation */\n if (societyProcedings?.length) {\n quotationNegative -= 5 * societyProcedings.length;\n detailQuotation.ongoingProceedings -= 5 * societyProcedings.length;\n }\n\n if (reports?.length) {\n quotationNegative -= 10;\n detailQuotation.report -= 10;\n }\n\n if (society.isWaitingEnd) {\n quotationNegative -= 50;\n detailQuotation.termination -= 50;\n }\n\n /* Création chez nous */\n if (society.prestationsSocieties?.length) {\n const prestationsCreation = society.prestationsSocieties.filter((prestation) => prestation.idPrestationList === 15); // creation pas d'enum\n prestationsCreation.forEach(() => {\n quotationPositive += 10;\n detailQuotation.created += 10;\n });\n }\n\n if (quotationPositive > 100) quotationPositive = 100;\n if (quotationNegative > 100) quotationNegative = 100;\n\n quotation = quotationPositive + quotationNegative;\n\n if (quotation < 0) quotation = 0;\n\n return {\n cotation: quotation,\n data: detailQuotation,\n idSociety: society.id ?? 0,\n };\n}\n\nexport function compareTwoCotation(cotations: ICotation[]): boolean | null {\n // on recupere les 2 dernieres cotations de la societe\n const higher = false;\n if (cotations[0].cotation === cotations[1].cotation) {\n return null;\n }\n if (cotations[0].cotation > cotations[1].cotation) {\n return true;\n }\n return higher;\n}\n"]}
@@ -10,7 +10,7 @@ const SocietyApproval_1 = require("../types/Enum/SocietyApproval");
10
10
  const Quality_1 = require("../types/Enum/Quality");
11
11
  const brands_1 = require("./brands");
12
12
  const amount_1 = require("./amount");
13
- const dayjs_1 = require("dayjs");
13
+ const dayjs = require("dayjs");
14
14
  const CityOfGreffe_1 = require("../types/Enum/CityOfGreffe");
15
15
  const siretValidation_1 = require("./siretValidation");
16
16
  /**
@@ -72,8 +72,8 @@ function getApprovalDocumentInfos(idLegalForm, idDocumentType) {
72
72
  */
73
73
  function buildApprovalTemplateData(existingApproval, style) {
74
74
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10;
75
- const yearInText = (0, amount_1.convertNumberToLetter)(+(0, dayjs_1.default)(((_a = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _a === void 0 ? void 0 : _a.approvalDate) || null).format('YYYY')).toLowerCase();
76
- const dayAndMonthInText = `${(0, amount_1.convertNumberToLetter)(+(0, dayjs_1.default)(((_b = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _b === void 0 ? void 0 : _b.approvalDate) || null).format('D'))} ${(0, dayjs_1.default)(((_c = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _c === void 0 ? void 0 : _c.approvalDate) || null)
75
+ const yearInText = (0, amount_1.convertNumberToLetter)(+dayjs(((_a = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _a === void 0 ? void 0 : _a.approvalDate) || null).format('YYYY')).toLowerCase();
76
+ const dayAndMonthInText = `${(0, amount_1.convertNumberToLetter)(+dayjs(((_b = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _b === void 0 ? void 0 : _b.approvalDate) || null).format('D'))} ${dayjs(((_c = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _c === void 0 ? void 0 : _c.approvalDate) || null)
77
77
  .locale('fr')
78
78
  .format('MMMM')
79
79
  .toLowerCase()}`;
@@ -89,7 +89,7 @@ function buildApprovalTemplateData(existingApproval, style) {
89
89
  socialSecurityContributions: 0.186, //= csg + solidarity + crds
90
90
  }, style,
91
91
  yearInText,
92
- dayAndMonthInText, date: (0, dayjs_1.default)().locale('fr').format('DD MMMM YYYY'), companyInformation: {
92
+ dayAndMonthInText, date: dayjs().locale('fr').format('DD MMMM YYYY'), companyInformation: {
93
93
  rcs: (_d = brand === null || brand === void 0 ? void 0 : brand.companyInformation) === null || _d === void 0 ? void 0 : _d.rcs,
94
94
  nomRaisonSociale: (_e = brand === null || brand === void 0 ? void 0 : brand.companyInformation) === null || _e === void 0 ? void 0 : _e.nomRaisonSociale,
95
95
  city: (_f = brand === null || brand === void 0 ? void 0 : brand.companyInformation) === null || _f === void 0 ? void 0 : _f.city,
@@ -102,19 +102,19 @@ function buildApprovalTemplateData(existingApproval, style) {
102
102
  quality: (_y = Quality_1.QualityList.find((ql) => { var _a, _b, _c, _d, _e, _f; return ql.id === ((_f = (_e = (_d = (_c = (_b = (_a = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.exercice) === null || _a === void 0 ? void 0 : _a.society) === null || _b === void 0 ? void 0 : _b.users) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.businessPartners) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.idQuality); })) === null || _y === void 0 ? void 0 : _y.label,
103
103
  } }, existingApproval), { generatingDatas: Object.assign(Object.assign(Object.assign({}, existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas), (((_z = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _z === void 0 ? void 0 : _z.approvalDate)
104
104
  ? {
105
- approvalDate: (0, dayjs_1.default)((_0 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _0 === void 0 ? void 0 : _0.approvalDate)
105
+ approvalDate: dayjs((_0 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _0 === void 0 ? void 0 : _0.approvalDate)
106
106
  .locale('fr')
107
107
  .format('DD MMMM YYYY')
108
108
  .toUpperCase(),
109
109
  }
110
110
  : {})), (((_1 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _1 === void 0 ? void 0 : _1.approvalDividendsPaymentDate)
111
111
  ? {
112
- approvalDividendsPaymentDate: (0, dayjs_1.default)((_2 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _2 === void 0 ? void 0 : _2.approvalDividendsPaymentDate)
112
+ approvalDividendsPaymentDate: dayjs((_2 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.generatingDatas) === null || _2 === void 0 ? void 0 : _2.approvalDividendsPaymentDate)
113
113
  .locale('fr')
114
114
  .format('DD MMMM YYYY'),
115
115
  }
116
116
  : {})), exercice: Object.assign(Object.assign({}, existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.exercice), { society: Object.assign(Object.assign({}, (_3 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.exercice) === null || _3 === void 0 ? void 0 : _3.society), { cityOfGreffe: getCityOfGreffeName((_5 = (_4 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.exercice) === null || _4 === void 0 ? void 0 : _4.society) === null || _5 === void 0 ? void 0 : _5.idCityOfGreffe).toUpperCase(), siren: ((_7 = (_6 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.exercice) === null || _6 === void 0 ? void 0 : _6.society) === null || _7 === void 0 ? void 0 : _7.siret)
117
117
  ? ((_9 = (_8 = (0, siretValidation_1.siretToSiren)(existingApproval.exercice.society.siret)) === null || _8 === void 0 ? void 0 : _8.replace(/(\d{3})(\d{3})(\d{3})/, '$1 $2 $3')) !== null && _9 !== void 0 ? _9 : null)
118
- : null }), endDate: (0, dayjs_1.default)((_10 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.exercice) === null || _10 === void 0 ? void 0 : _10.endDate).locale('fr').format('DD MMMM YYYY').toLowerCase() }) });
118
+ : null }), endDate: dayjs((_10 = existingApproval === null || existingApproval === void 0 ? void 0 : existingApproval.exercice) === null || _10 === void 0 ? void 0 : _10.endDate).locale('fr').format('DD MMMM YYYY').toLowerCase() }) });
119
119
  }
120
120
  //# sourceMappingURL=societyApproval.js.map
@@ -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 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(\n +dayjs(existingApproval?.generatingDatas?.approvalDate || null).format('YYYY'),\n ).toLowerCase();\n const dayAndMonthInText = `${convertNumberToLetter(+dayjs(existingApproval?.generatingDatas?.approvalDate || null).format('D'))} ${dayjs(\n existingApproval?.generatingDatas?.approvalDate || null,\n )\n .locale('fr')\n .format('MMMM')\n .toLowerCase()}`;\n const brand = getBrand();\n return {\n // Variables globales\n rates: {\n flatTax: 0.314,\n flatLevy: 0.128, //prelevement forfaitaire\n csg: 0.106,\n solidarity: 0.075,\n crds: 0.005,\n socialSecurityContributions: 0.186, //= csg + solidarity + crds\n },\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)?.replace(/(\\d{3})(\\d{3})(\\d{3})/, '$1 $2 $3') ??\n null)\n : null,\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":";;AAqBA,4CAEC;AAOD,0EAIC;AASD,0EAOC;AAkBD,4DAMC;AAQD,8DAyEC;AA3JD,uDAAuE;AACvE,mEAKuC;AAEvC,mDAAoD;AACpD,qCAAoC;AACpC,qCAAiD;AACjD,+BAA+B;AAC/B,6DAAgE;AAChE,uDAAiD;AAEjD;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,WAA8B,EAAE,WAAmB,EAAE;;IACpF,OAAO,MAAA,MAAA,MAAM,CAAC,MAAM,CAAC,qBAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,0CAAE,IAAI,mCAAI,QAAQ,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,SAAgB,+BAA+B,CAC7C,WAA8B;IAE9B,OAAO,qDAAmC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;AAClG,CAAC;AAED;;;;;GAKG;AACH,kDAAkD;AAClD,SAAgB,+BAA+B,CAC7C,WAA8B,EAC9B,cAA2C;IAE3C,MAAM,MAAM,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,cAAc,CAAC,CAAC;IACxF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,cAAyC;;IACpE,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAC/B,OAAO,MAAA,MAAA,iCAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,0CAAE,IAAI,mCAAI,EAAE,CAAC;AAC7E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,WAA8B,EAC9B,cAA2C;IAE3C,MAAM,MAAM,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IAC5D,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,cAAc,CAAC,CAAC;AAChF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,gBAAkC,EAAE,KAAa;;IACzF,MAAM,UAAU,GAAG,IAAA,8BAAqB,EACtC,CAAC,KAAK,CAAC,CAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,0CAAE,YAAY,KAAI,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAC/E,CAAC,WAAW,EAAE,CAAC;IAChB,MAAM,iBAAiB,GAAG,GAAG,IAAA,8BAAqB,EAAC,CAAC,KAAK,CAAC,CAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,0CAAE,YAAY,KAAI,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CACtI,CAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,0CAAE,YAAY,KAAI,IAAI,CACxD;SACE,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,MAAM,CAAC;SACd,WAAW,EAAE,EAAE,CAAC;IACnB,MAAM,KAAK,GAAG,IAAA,iBAAQ,GAAE,CAAC;IACzB;QACE,qBAAqB;QACrB,KAAK,EAAE;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK,EAAE,yBAAyB;YAC1C,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,KAAK;YACX,2BAA2B,EAAE,KAAK,EAAE,2BAA2B;SAChE,EACD,KAAK;QACL,UAAU;QACV,iBAAiB,EACjB,IAAI,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,EACjD,kBAAkB,EAAE;YAClB,GAAG,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,0CAAE,GAAG;YACnC,gBAAgB,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,0CAAE,gBAAgB;YAC7D,IAAI,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,0CAAE,IAAI;YACrC,aAAa,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,0CAAE,aAAa;YACvD,cAAc,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,0CAAE,cAAc;YACzD,MAAM,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,0CAAE,MAAM;YACzC,WAAW,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,0CAAE,WAAW;SACpD,EACD,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG,CAAA,MAAA,MAAA,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,0CAAE,OAAO,0CAAE,KAAK,0CAAG,CAAC,CAAC,0CAAE,UAAU,MAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAA,MAAA,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,0CAAE,OAAO,0CAAE,KAAK,0CAAG,CAAC,CAAC,0CAAE,SAAS,IAAI,MAAA,MAAA,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,0CAAE,OAAO,0CAAE,KAAK,0CAAG,CAAC,CAAC,0CAAE,QAAQ,GAAG;YACpO,OAAO,EAAE,MAAA,qBAAW,CAAC,IAAI,CACvB,CAAC,EAAE,EAAE,EAAE,+BAAC,OAAA,EAAE,CAAC,EAAE,MAAK,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,0CAAE,OAAO,0CAAE,KAAK,0CAAG,CAAC,CAAC,0CAAE,gBAAgB,0CAAG,CAAC,CAAC,0CAAE,SAAS,CAAA,CAAA,EAAA,CACpG,0CAAE,KAAK;SACT,IAEE,gBAAgB,KACnB,eAAe,gDACV,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,GACjC,CAAC,CAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,0CAAE,YAAY;YACjD,CAAC,CAAC;gBACE,YAAY,EAAE,KAAK,CAAC,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,0CAAE,YAAY,CAAC;qBACjE,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,cAAc,CAAC;qBACtB,WAAW,EAAE;aACjB;YACH,CAAC,CAAC,EAAE,CAAC,GACJ,CAAC,CAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,0CAAE,4BAA4B;YACjE,CAAC,CAAC;gBACE,4BAA4B,EAAE,KAAK,CAAC,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,eAAe,0CAAE,4BAA4B,CAAC;qBACjG,MAAM,CAAC,IAAI,CAAC;qBACZ,MAAM,CAAC,cAAc,CAAC;aAC1B;YACH,CAAC,CAAC,EAAE,CAAC,GAET,QAAQ,kCACH,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,KAC7B,OAAO,kCACF,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,0CAAE,OAAO,KACtC,YAAY,EAAE,mBAAmB,CAAC,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,0CAAE,OAAO,0CAAE,cAAc,CAAC,CAAC,WAAW,EAAE,EACpG,KAAK,EAAE,CAAA,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,0CAAE,OAAO,0CAAE,KAAK;oBAC/C,CAAC,CAAC,CAAC,MAAA,MAAA,IAAA,8BAAY,EAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,0CAAE,OAAO,CAAC,uBAAuB,EAAE,UAAU,CAAC,mCACpG,IAAI,CAAC;oBACP,CAAC,CAAC,IAAI,KAEV,OAAO,EAAE,KAAK,CAAC,OAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,4CAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,OAEvG;AACJ,CAAC","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(\n +dayjs(existingApproval?.generatingDatas?.approvalDate || null).format('YYYY'),\n ).toLowerCase();\n const dayAndMonthInText = `${convertNumberToLetter(+dayjs(existingApproval?.generatingDatas?.approvalDate || null).format('D'))} ${dayjs(\n existingApproval?.generatingDatas?.approvalDate || null,\n )\n .locale('fr')\n .format('MMMM')\n .toLowerCase()}`;\n const brand = getBrand();\n return {\n // Variables globales\n rates: {\n flatTax: 0.314,\n flatLevy: 0.128, //prelevement forfaitaire\n csg: 0.106,\n solidarity: 0.075,\n crds: 0.005,\n socialSecurityContributions: 0.186, //= csg + solidarity + crds\n },\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)?.replace(/(\\d{3})(\\d{3})(\\d{3})/, '$1 $2 $3') ??\n null)\n : null,\n },\n endDate: dayjs(existingApproval?.exercice?.endDate).locale('fr').format('DD MMMM YYYY').toLowerCase(),\n },\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const dayjs_1 = require("dayjs");
3
+ const dayjs = require("dayjs");
4
4
  const types_1 = require("../../types");
5
5
  const mockdate_1 = require("mockdate");
6
6
  const payment_1 = require("../payment");
@@ -11,7 +11,7 @@ describe('Payment', () => {
11
11
  const yearlyAmountNonExpress = 1800;
12
12
  const nextYearlyAmountNonExpress = 1800;
13
13
  const appCost = 14.9;
14
- const firstExerciceNonExpresssEndDate = (0, dayjs_1.default)().add(11, 'month').endOf('month').toDate();
14
+ const firstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate();
15
15
  const prestationList = {
16
16
  id: 34,
17
17
  name: 'Compta Pro',
@@ -33,14 +33,14 @@ describe('Payment', () => {
33
33
  const idVat = types_1.Vat.TX_10.id;
34
34
  const listPartialExercicePrestationExpress = [
35
35
  {
36
- startDate: (0, dayjs_1.default)().subtract(2, 'year').startOf('month').toDate(),
37
- endDate: (0, dayjs_1.default)().subtract(13, 'month').endOf('month').toDate(),
36
+ startDate: dayjs().subtract(2, 'year').startOf('month').toDate(),
37
+ endDate: dayjs().subtract(13, 'month').endOf('month').toDate(),
38
38
  countExpressMonthlyPayment: 2,
39
39
  totalAmount: 1200,
40
40
  },
41
41
  {
42
- startDate: (0, dayjs_1.default)().subtract(1, 'year').startOf('month').toDate(),
43
- endDate: (0, dayjs_1.default)().subtract(1, 'month').endOf('month').toDate(),
42
+ startDate: dayjs().subtract(1, 'year').startOf('month').toDate(),
43
+ endDate: dayjs().subtract(1, 'month').endOf('month').toDate(),
44
44
  countExpressMonthlyPayment: 2,
45
45
  totalAmount: 1800,
46
46
  },
@@ -116,9 +116,9 @@ describe('Payment', () => {
116
116
  yearlyAmountNonExpress,
117
117
  nextYearlyAmountNonExpress,
118
118
  });
119
- const firstExpressDatePayment = payments.filter((p) => (0, dayjs_1.default)(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0)[0].datePayment;
120
- const firstNonExpressDatePayment = payments.filter((p) => (0, dayjs_1.default)(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)[0].datePayment;
121
- expect((0, dayjs_1.default)(firstNonExpressDatePayment).diff(firstExpressDatePayment, 'month')).toStrictEqual(0);
119
+ const firstExpressDatePayment = payments.filter((p) => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0)[0].datePayment;
120
+ const firstNonExpressDatePayment = payments.filter((p) => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)[0].datePayment;
121
+ expect(dayjs(firstNonExpressDatePayment).diff(firstExpressDatePayment, 'month')).toStrictEqual(0);
122
122
  });
123
123
  test('if more than one express, monthly payments of actual exo should be in a row of express monthly payments and smoothed, smoothed in number of remaining months after express monthly payments (mini 3 months) (if in 3 last month of exercice)', () => {
124
124
  var _a, _b, _c, _d;
@@ -136,17 +136,17 @@ describe('Payment', () => {
136
136
  nextYearlyAmountNonExpress,
137
137
  });
138
138
  const lastExpressDatePayment = (_b = (_a = payments
139
- .filter((p) => (0, dayjs_1.default)(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0)
139
+ .filter((p) => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0)
140
140
  .splice(-1)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.datePayment;
141
- const firstNonExpressDatePayment = (_d = (_c = payments.filter((p) => (0, dayjs_1.default)(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.datePayment;
142
- expect((0, dayjs_1.default)(firstNonExpressDatePayment).diff(lastExpressDatePayment, 'month')).toStrictEqual(1);
141
+ const firstNonExpressDatePayment = (_d = (_c = payments.filter((p) => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.datePayment;
142
+ expect(dayjs(firstNonExpressDatePayment).diff(lastExpressDatePayment, 'month')).toStrictEqual(1);
143
143
  });
144
144
  // non express
145
145
  test('should return a number of payments equal to nb of remaining months in exercice (if not in 3 last months)', () => {
146
- const mockedDate = (0, dayjs_1.default)('2024-05-15').toDate();
146
+ const mockedDate = dayjs('2024-05-15').toDate();
147
147
  mockdate_1.default.set(mockedDate);
148
148
  const nbMonthDelay = 6;
149
- const newFirstExerciceNonExpresssEndDate = (0, dayjs_1.default)().add(nbMonthDelay, 'month').endOf('month').toDate();
149
+ const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();
150
150
  const payments = (0, payment_1.calculatePaymentsAuto)({
151
151
  idTypeBrand: 1,
152
152
  firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate,
@@ -166,13 +166,13 @@ describe('Payment', () => {
166
166
  nextYearlyAmountNonExpress,
167
167
  });
168
168
  // const listNonExpressPayments = payments.filter(p => p.closingDate === newFirstExerciceNonExpresssEndDate);
169
- const listNonExpressPayments = payments.filter((p) => (0, dayjs_1.default)(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
169
+ const listNonExpressPayments = payments.filter((p) => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
170
170
  expect(listNonExpressPayments.length).toStrictEqual(1 + nbMonthDelay); //On ajoute 1 pour les frais de dossier
171
171
  mockdate_1.default.reset();
172
172
  });
173
173
  test('should return a number of payments equal to 3 (if in 3 last month of exercice)', () => {
174
174
  const nbMonthDelay = 1;
175
- const newFirstExerciceNonExpresssEndDate = (0, dayjs_1.default)().add(nbMonthDelay, 'month').endOf('month').toDate();
175
+ const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();
176
176
  const payments = (0, payment_1.calculatePaymentsAuto)({
177
177
  idTypeBrand: 1,
178
178
  firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate,
@@ -191,14 +191,14 @@ describe('Payment', () => {
191
191
  yearlyAmountNonExpress,
192
192
  nextYearlyAmountNonExpress,
193
193
  });
194
- const listNonExpressPayments = payments.filter((p) => (0, dayjs_1.default)(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
194
+ const listNonExpressPayments = payments.filter((p) => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
195
195
  expect(listNonExpressPayments.length).toStrictEqual(1 + 3); //On ajoute 1 pour les frais de dossier
196
196
  });
197
197
  test('should (yearlyAmountNonExpress - sum of listRegulations) / count of monthly payments be equal to monthly payment amount (if not in 3 last month)', () => {
198
- const mockedDate = (0, dayjs_1.default)('2024-05-15').toDate();
198
+ const mockedDate = dayjs('2024-05-15').toDate();
199
199
  mockdate_1.default.set(mockedDate);
200
200
  const nbMonthDelay = 6;
201
- const newFirstExerciceNonExpresssEndDate = (0, dayjs_1.default)().add(nbMonthDelay, 'month').endOf('month').toDate();
201
+ const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();
202
202
  const newListRegulations = [
203
203
  {
204
204
  amount: 50,
@@ -226,7 +226,7 @@ describe('Payment', () => {
226
226
  });
227
227
  test('should (totalAmount - firstPaymentAmount) / 3 be equal to monthly payment amount (if in 3 last month of exercice)', () => {
228
228
  const nbMonthDelay = 1;
229
- const newFirstExerciceNonExpresssEndDate = (0, dayjs_1.default)().add(nbMonthDelay, 'month').endOf('month').toDate();
229
+ const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();
230
230
  const newListRegulations = [
231
231
  {
232
232
  amount: 50,
@@ -253,9 +253,9 @@ describe('Payment', () => {
253
253
  });
254
254
  // annual price increase
255
255
  test('should apply annual price increase (2,75%) if signed before last 3 months of civil year', () => {
256
- const mockedDate = (0, dayjs_1.default)('2024-08-15').toDate();
256
+ const mockedDate = dayjs('2024-08-15').toDate();
257
257
  mockdate_1.default.set(mockedDate);
258
- const newFirstExerciceNonExpresssEndDate = (0, dayjs_1.default)().add(11, 'month').endOf('month').toDate();
258
+ const newFirstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate();
259
259
  const payments = (0, payment_1.calculatePaymentsAuto)({
260
260
  idTypeBrand: 1,
261
261
  firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate,
@@ -274,15 +274,15 @@ describe('Payment', () => {
274
274
  yearlyAmountNonExpress,
275
275
  nextYearlyAmountNonExpress,
276
276
  });
277
- const listNonExpressPayments = payments.filter((p) => (0, dayjs_1.default)(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
277
+ const listNonExpressPayments = payments.filter((p) => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
278
278
  const firstPaymentWithTaxRateForced = listNonExpressPayments[1].amount * 1.0275;
279
279
  expect(firstPaymentWithTaxRateForced - listNonExpressPayments.splice(-2)[0].amount).toBeLessThanOrEqual(0.01); //Permet de gérer le pb d'arrondi
280
280
  mockdate_1.default.reset();
281
281
  });
282
282
  test('should not apply annual price increase (2,75%) if signed in last 3 months of civil year', () => {
283
- const mockedDate = (0, dayjs_1.default)('2024-11-15').toDate();
283
+ const mockedDate = dayjs('2024-11-15').toDate();
284
284
  mockdate_1.default.set(mockedDate);
285
- const newFirstExerciceNonExpresssEndDate = (0, dayjs_1.default)().add(11, 'month').endOf('month').toDate();
285
+ const newFirstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate();
286
286
  const payments = (0, payment_1.calculatePaymentsAuto)({
287
287
  idTypeBrand: 1,
288
288
  firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate,
@@ -301,15 +301,15 @@ describe('Payment', () => {
301
301
  yearlyAmountNonExpress,
302
302
  nextYearlyAmountNonExpress,
303
303
  });
304
- const listNonExpressPayments = payments.filter((p) => (0, dayjs_1.default)(p.datePayment).diff((0, dayjs_1.default)('2025-06-01')) === 0);
304
+ const listNonExpressPayments = payments.filter((p) => dayjs(p.datePayment).diff(dayjs('2025-06-01')) === 0);
305
305
  expect(listNonExpressPayments[0].amount).toStrictEqual(listNonExpressPayments.splice(-2)[0].amount);
306
306
  mockdate_1.default.reset();
307
307
  });
308
308
  test('should apply 14,9€ HT increase for the second exercice created (only offered on first exo) (no rules for 3 last months)', () => {
309
309
  var _a, _b;
310
- const mockedDate = (0, dayjs_1.default)('2024-06-15').toDate();
310
+ const mockedDate = dayjs('2024-06-15').toDate();
311
311
  mockdate_1.default.set(mockedDate);
312
- const newFirstExerciceNonExpresssEndDate = (0, dayjs_1.default)().add(12, 'month').endOf('month').toDate();
312
+ const newFirstExerciceNonExpresssEndDate = dayjs().add(12, 'month').endOf('month').toDate();
313
313
  const payments = (0, payment_1.calculatePaymentsAuto)({
314
314
  idTypeBrand: 1,
315
315
  firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate,
@@ -328,8 +328,8 @@ describe('Payment', () => {
328
328
  yearlyAmountNonExpress,
329
329
  nextYearlyAmountNonExpress,
330
330
  });
331
- const paymentsOfFirstExo = (_a = payments.filter((p) => (0, dayjs_1.default)(p.datePayment).diff((0, dayjs_1.default)('2025-06-01')) === 0)[0].amount) !== null && _a !== void 0 ? _a : 0;
332
- const paymentsOfSecondExo = (_b = payments.filter((p) => (0, dayjs_1.default)(p.datePayment).diff((0, dayjs_1.default)('2025-07-01')) === 0).splice(-1)[0].amount) !== null && _b !== void 0 ? _b : 0;
331
+ const paymentsOfFirstExo = (_a = payments.filter((p) => dayjs(p.datePayment).diff(dayjs('2025-06-01')) === 0)[0].amount) !== null && _a !== void 0 ? _a : 0;
332
+ const paymentsOfSecondExo = (_b = payments.filter((p) => dayjs(p.datePayment).diff(dayjs('2025-07-01')) === 0).splice(-1)[0].amount) !== null && _b !== void 0 ? _b : 0;
333
333
  expect(Math.round(100 * (paymentsOfFirstExo + (0, types_1.getTaxesIncludedAmount)(appCost, idVat) * 1.0275)) / 100).toStrictEqual(paymentsOfSecondExo);
334
334
  mockdate_1.default.reset();
335
335
  });
@@ -337,8 +337,8 @@ describe('Payment', () => {
337
337
  test('should payments been generated sorted by exercices start date', () => {
338
338
  var _a;
339
339
  const listPartialExercicePrestationExpressCloned = [...listPartialExercicePrestationExpress];
340
- listPartialExercicePrestationExpressCloned[0] = Object.assign(Object.assign({}, listPartialExercicePrestationExpress[0]), { startDate: (0, dayjs_1.default)().add(1, 'year').startOf('month').toDate() });
341
- listPartialExercicePrestationExpressCloned[1] = Object.assign(Object.assign({}, listPartialExercicePrestationExpress[1]), { startDate: (0, dayjs_1.default)().startOf('month').toDate() });
340
+ listPartialExercicePrestationExpressCloned[0] = Object.assign(Object.assign({}, listPartialExercicePrestationExpress[0]), { startDate: dayjs().add(1, 'year').startOf('month').toDate() });
341
+ listPartialExercicePrestationExpressCloned[1] = Object.assign(Object.assign({}, listPartialExercicePrestationExpress[1]), { startDate: dayjs().startOf('month').toDate() });
342
342
  const payments = (0, payment_1.calculatePaymentsAuto)({
343
343
  idTypeBrand: 1,
344
344
  firstExerciceNonExpresssEndDate,
@@ -353,10 +353,10 @@ describe('Payment', () => {
353
353
  nextYearlyAmountNonExpress,
354
354
  });
355
355
  expect(payments.length).toBeGreaterThanOrEqual(4);
356
- expect((0, dayjs_1.default)(payments[payments.length - 1].datePayment).diff((0, dayjs_1.default)((_a = payments === null || payments === void 0 ? void 0 : payments[0]) === null || _a === void 0 ? void 0 : _a.datePayment), 'month')).toBeGreaterThan(0);
356
+ expect(dayjs(payments[payments.length - 1].datePayment).diff(dayjs((_a = payments === null || payments === void 0 ? void 0 : payments[0]) === null || _a === void 0 ? void 0 : _a.datePayment), 'month')).toBeGreaterThan(0);
357
357
  });
358
358
  test('if regulations are bigger than sum exercice prestation amounts, should pass some exercice payments', () => {
359
- const mockedDate = (0, dayjs_1.default)('2024-03-15').toDate();
359
+ const mockedDate = dayjs('2024-03-15').toDate();
360
360
  mockdate_1.default.set(mockedDate);
361
361
  const payments = (0, payment_1.calculatePaymentsAuto)({
362
362
  idTypeBrand: 1,
@@ -395,7 +395,7 @@ describe('Payment', () => {
395
395
  });
396
396
  test('should not consider actual month if signed in last 3 days of month', () => {
397
397
  var _a;
398
- const mockedDate = (0, dayjs_1.default)('2024-03-29').toDate();
398
+ const mockedDate = dayjs('2024-03-29').toDate();
399
399
  mockdate_1.default.set(mockedDate);
400
400
  const payments = (0, payment_1.calculatePaymentsAuto)({
401
401
  idTypeBrand: 1,
@@ -411,11 +411,11 @@ describe('Payment', () => {
411
411
  nextYearlyAmountNonExpress,
412
412
  });
413
413
  expect(payments.length).toBeGreaterThanOrEqual(4);
414
- expect((_a = payments === null || payments === void 0 ? void 0 : payments[1]) === null || _a === void 0 ? void 0 : _a.datePayment).toStrictEqual((0, dayjs_1.default)().add(2, 'month').startOf('month').toDate());
414
+ expect((_a = payments === null || payments === void 0 ? void 0 : payments[1]) === null || _a === void 0 ? void 0 : _a.datePayment).toStrictEqual(dayjs().add(2, 'month').startOf('month').toDate());
415
415
  mockdate_1.default.reset();
416
416
  });
417
417
  test('last payment returned should be last of a year (12/XX)', () => {
418
- const mockedDate = (0, dayjs_1.default)('2024-03-29').toDate();
418
+ const mockedDate = dayjs('2024-03-29').toDate();
419
419
  mockdate_1.default.set(mockedDate);
420
420
  const payments = (0, payment_1.calculatePaymentsAuto)({
421
421
  idTypeBrand: 1,
@@ -431,7 +431,7 @@ describe('Payment', () => {
431
431
  nextYearlyAmountNonExpress,
432
432
  });
433
433
  expect(payments.length).toBeGreaterThanOrEqual(4);
434
- expect((0, dayjs_1.default)(payments[payments.length - 1].datePayment).month()).toStrictEqual(11);
434
+ expect(dayjs(payments[payments.length - 1].datePayment).month()).toStrictEqual(11);
435
435
  });
436
436
  test('first payment and last payment should have at least one year difference (ex. : 23 - 24)', () => {
437
437
  var _a, _b, _c;
@@ -448,13 +448,13 @@ describe('Payment', () => {
448
448
  yearlyAmountNonExpress,
449
449
  nextYearlyAmountNonExpress,
450
450
  });
451
- expect((0, dayjs_1.default)((_b = (_a = payments.slice(-1)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.datePayment).diff((0, dayjs_1.default)((_c = payments === null || payments === void 0 ? void 0 : payments[0]) === null || _c === void 0 ? void 0 : _c.datePayment), 'year', true)).toBeGreaterThan(1);
451
+ expect(dayjs((_b = (_a = payments.slice(-1)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.datePayment).diff(dayjs((_c = payments === null || payments === void 0 ? void 0 : payments[0]) === null || _c === void 0 ? void 0 : _c.datePayment), 'year', true)).toBeGreaterThan(1);
452
452
  });
453
453
  test('real case : idSociety 114440', () => {
454
454
  var _a, _b, _c;
455
455
  const payments = (0, payment_1.calculatePaymentsAuto)({
456
456
  idTypeBrand: 1,
457
- firstExerciceNonExpresssEndDate: (0, dayjs_1.default)('2024-12-31').toDate(),
457
+ firstExerciceNonExpresssEndDate: dayjs('2024-12-31').toDate(),
458
458
  idPrestation,
459
459
  // isWithApplicationFees: true,
460
460
  // idLegalForm: LegalFormTypeEnum.SARL,
@@ -465,7 +465,7 @@ describe('Payment', () => {
465
465
  {
466
466
  amount: 1006.8,
467
467
  amountUsed: 0,
468
- date: (0, dayjs_1.default)('2024-06-06').toDate(),
468
+ date: dayjs('2024-06-06').toDate(),
469
469
  processed: false,
470
470
  idPaymentMethod: types_1.PaymentMethod.BANK_CARD.id,
471
471
  idSociety,
@@ -474,7 +474,7 @@ describe('Payment', () => {
474
474
  yearlyAmountNonExpress: 1433,
475
475
  nextYearlyAmountNonExpress: 1433,
476
476
  });
477
- expect((0, dayjs_1.default)((_b = (_a = payments.slice(-1)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.datePayment).diff((0, dayjs_1.default)((_c = payments === null || payments === void 0 ? void 0 : payments[0]) === null || _c === void 0 ? void 0 : _c.datePayment), 'year', true)).toBeGreaterThan(1);
477
+ expect(dayjs((_b = (_a = payments.slice(-1)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.datePayment).diff(dayjs((_c = payments === null || payments === void 0 ? void 0 : payments[0]) === null || _c === void 0 ? void 0 : _c.datePayment), 'year', true)).toBeGreaterThan(1);
478
478
  });
479
479
  });
480
480
  });