@silexpert/core 1.1.173 → 1.1.175

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 (104) hide show
  1. package/dist/cjs/api/resources/ExercicePrestation.d.ts +11 -0
  2. package/dist/cjs/api/resources/ExercicePrestation.d.ts.map +1 -0
  3. package/dist/cjs/api/resources/ExercicePrestation.js +16 -0
  4. package/dist/cjs/api/resources/ExercicePrestation.js.map +1 -0
  5. package/dist/cjs/api/resources/Notion.d.ts +5 -4
  6. package/dist/cjs/api/resources/Notion.d.ts.map +1 -1
  7. package/dist/cjs/api/resources/Notion.js +1 -1
  8. package/dist/cjs/api/resources/Notion.js.map +1 -1
  9. package/dist/cjs/api/resources/Survey.js +2 -2
  10. package/dist/cjs/api/resources/Survey.js.map +1 -1
  11. package/dist/cjs/api/resources.d.ts +2 -2
  12. package/dist/cjs/api/resources.d.ts.map +1 -1
  13. package/dist/cjs/api/resources.js +2 -2
  14. package/dist/cjs/api/resources.js.map +1 -1
  15. package/dist/cjs/types/Enum/BrandClementine.js +11 -11
  16. package/dist/cjs/types/Enum/BrandClementine.js.map +1 -1
  17. package/dist/cjs/types/Enum/PrestationOption.js +4 -4
  18. package/dist/cjs/types/Enum/PrestationOption.js.map +1 -1
  19. package/dist/cjs/types/Enum/PrestationType.d.ts +1 -2
  20. package/dist/cjs/types/Enum/PrestationType.d.ts.map +1 -1
  21. package/dist/cjs/types/Enum/PrestationType.js +0 -19
  22. package/dist/cjs/types/Enum/PrestationType.js.map +1 -1
  23. package/dist/cjs/types/Interface/api/exercicePrestation/Query.d.ts +7 -0
  24. package/dist/cjs/types/Interface/api/exercicePrestation/Query.d.ts.map +1 -0
  25. package/dist/cjs/types/Interface/api/exercicePrestation/Query.js +28 -0
  26. package/dist/cjs/types/Interface/api/exercicePrestation/Query.js.map +1 -0
  27. package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts +1537 -0
  28. package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -0
  29. package/dist/cjs/types/Interface/api/notion/NotionResponse.js +3 -0
  30. package/dist/cjs/types/Interface/api/notion/NotionResponse.js.map +1 -0
  31. package/dist/cjs/types/Interface/models/IRegulate.d.ts +1 -0
  32. package/dist/cjs/types/Interface/models/IRegulate.d.ts.map +1 -1
  33. package/dist/cjs/types/Interface/models/IRegulate.js.map +1 -1
  34. package/dist/cjs/types/index.d.ts +2 -0
  35. package/dist/cjs/types/index.d.ts.map +1 -1
  36. package/dist/cjs/types/index.js +2 -0
  37. package/dist/cjs/types/index.js.map +1 -1
  38. package/dist/cjs/utils/prestation.d.ts +1 -0
  39. package/dist/cjs/utils/prestation.d.ts.map +1 -1
  40. package/dist/cjs/utils/prestation.js +2 -2
  41. package/dist/cjs/utils/prestation.js.map +1 -1
  42. package/dist/mjs/api/resources/ExercicePrestation.d.ts +11 -0
  43. package/dist/mjs/api/resources/ExercicePrestation.d.ts.map +1 -0
  44. package/dist/mjs/api/resources/ExercicePrestation.js +12 -0
  45. package/dist/mjs/api/resources/ExercicePrestation.js.map +1 -0
  46. package/dist/mjs/api/resources/Notion.d.ts +5 -4
  47. package/dist/mjs/api/resources/Notion.d.ts.map +1 -1
  48. package/dist/mjs/api/resources/Notion.js +1 -1
  49. package/dist/mjs/api/resources/Notion.js.map +1 -1
  50. package/dist/mjs/api/resources/Survey.js +2 -2
  51. package/dist/mjs/api/resources/Survey.js.map +1 -1
  52. package/dist/mjs/api/resources.d.ts +2 -2
  53. package/dist/mjs/api/resources.d.ts.map +1 -1
  54. package/dist/mjs/api/resources.js +2 -2
  55. package/dist/mjs/api/resources.js.map +1 -1
  56. package/dist/mjs/types/Enum/BrandClementine.js +11 -11
  57. package/dist/mjs/types/Enum/BrandClementine.js.map +1 -1
  58. package/dist/mjs/types/Enum/PrestationOption.js +4 -4
  59. package/dist/mjs/types/Enum/PrestationOption.js.map +1 -1
  60. package/dist/mjs/types/Enum/PrestationType.d.ts +1 -2
  61. package/dist/mjs/types/Enum/PrestationType.d.ts.map +1 -1
  62. package/dist/mjs/types/Enum/PrestationType.js +0 -19
  63. package/dist/mjs/types/Enum/PrestationType.js.map +1 -1
  64. package/dist/mjs/types/Interface/api/exercicePrestation/Query.d.ts +7 -0
  65. package/dist/mjs/types/Interface/api/exercicePrestation/Query.d.ts.map +1 -0
  66. package/dist/mjs/types/Interface/api/exercicePrestation/Query.js +26 -0
  67. package/dist/mjs/types/Interface/api/exercicePrestation/Query.js.map +1 -0
  68. package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts +1537 -0
  69. package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -0
  70. package/dist/mjs/types/Interface/api/notion/NotionResponse.js +2 -0
  71. package/dist/mjs/types/Interface/api/notion/NotionResponse.js.map +1 -0
  72. package/dist/mjs/types/Interface/models/IRegulate.d.ts +1 -0
  73. package/dist/mjs/types/Interface/models/IRegulate.d.ts.map +1 -1
  74. package/dist/mjs/types/Interface/models/IRegulate.js.map +1 -1
  75. package/dist/mjs/types/index.d.ts +2 -0
  76. package/dist/mjs/types/index.d.ts.map +1 -1
  77. package/dist/mjs/types/index.js +2 -0
  78. package/dist/mjs/types/index.js.map +1 -1
  79. package/dist/mjs/utils/prestation.d.ts +1 -0
  80. package/dist/mjs/utils/prestation.d.ts.map +1 -1
  81. package/dist/mjs/utils/prestation.js +2 -2
  82. package/dist/mjs/utils/prestation.js.map +1 -1
  83. package/package.json +1 -1
  84. package/ts/api/resources/ExercicePrestation.ts +16 -0
  85. package/ts/api/resources/Notion.ts +6 -5
  86. package/ts/api/resources/Survey.ts +2 -2
  87. package/ts/api/resources.ts +2 -2
  88. package/ts/types/Enum/BrandClementine.ts +11 -11
  89. package/ts/types/Enum/PrestationOption.ts +4 -4
  90. package/ts/types/Enum/PrestationType.ts +0 -19
  91. package/ts/types/Interface/api/exercicePrestation/Query.ts +14 -0
  92. package/ts/types/Interface/api/notion/NotionResponse.ts +1288 -0
  93. package/ts/types/Interface/models/IRegulate.ts +1 -0
  94. package/ts/types/index.ts +3 -0
  95. package/ts/utils/prestation.ts +3 -3
  96. package/dist/cjs/api/resources/Country.d.ts +0 -7
  97. package/dist/cjs/api/resources/Country.d.ts.map +0 -1
  98. package/dist/cjs/api/resources/Country.js +0 -14
  99. package/dist/cjs/api/resources/Country.js.map +0 -1
  100. package/dist/mjs/api/resources/Country.d.ts +0 -7
  101. package/dist/mjs/api/resources/Country.d.ts.map +0 -1
  102. package/dist/mjs/api/resources/Country.js +0 -10
  103. package/dist/mjs/api/resources/Country.js.map +0 -1
  104. package/ts/api/resources/Country.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"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","sourcesContent":["import { IPrestation, IPrestationList } from '../types';\nimport { intersection } from './noLodash';\nimport { PrestationDetail, PrestationType } from '../types/Enum/PrestationType';\nimport { PrestationOptionType, PrestationOption } from '../types/Enum/PrestationOption';\nimport { PriceGridClementine } from '../types/Enum/PriceGridClementine';\nimport { PriceGridPourcentage } from '../types/Enum/PriceGridPourcentage';\nimport { PriceGridLegalstart } from '../types/Enum/PriceGridLegalstart';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\n\ntype priceGridBrand = {\n idTypeBrand: number,\n price: priceGrid[]\n};\n\ntype priceGrid = {\n idPrestationList: number[],\n minimumMonthlyPayment?: monthlyPayment[],\n maximumMonthlyPayment?: monthlyPayment[],\n turnoverCreatedYear?: turnover[],\n turnoverPastYear?: turnover[],\n turnoverMonthly?: turnover[],\n turnoverYearly?: turnover[],\n employee?: employee[],\n partner?: employee[],\n properties?: propertie[],\n vatRegimeMonthly?: vatRegime[],\n vatRegimeYearly?: vatRegime[],\n taxSystem?: taxSystem[],\n};\n\ntype monthlyPayment = {\n id: number,\n month: number,\n};\n\ntype turnover = {\n turnoverValue: number,\n price: number,\n};\n\ntype employee = {\n amountMinimum: number,\n amountMaximum: number,\n price: number,\n};\n\ntype propertie = {\n amount: number,\n price: number,\n};\n\ntype vatRegime = {\n type: number,\n price: number,\n};\n\ntype taxSystem = {\n id: number,\n price: number,\n};\n\nconst isOtherAccountingMissions = (idPrestationList: number): boolean => [\n PrestationType.PREVISIONNEL,\n PrestationType.BILAN_INTERMEDIAIRE,\n PrestationType.AVANCE_OU_ABANDON_COMPTE_COURANT_ASSOCIE,\n PrestationType.AUTRE_MISSION_COMPTABLE,\n PrestationType.TVS,\n PrestationType.ETUDE_FISCALE,\n PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique:boolean, isCatalog:boolean, idPrestationList: number): boolean => idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean => idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden:boolean, isCatalog:boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL)).length;\n\nconst isOnlySocial = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]):boolean => !!intersection(idPrestationList, [PrestationType.CREATION_SOCIETE, PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE]).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 calculateScoringOfPrestation = (idPrestationType: PrestationType, prestations: IPrestation[]): number => {\n const prestationsSignedPaid = prestations.filter((prestation) => prestation.paid && prestation.signed && prestation.terminationList === null);\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter((p) => p.isComptable && !p.isCatalog);\n const prestationHalfPriceIds = prestationHalfPriceList.map((t) => t.id);\n\n // Get the number of points for the new prestation\n const prestaDetails = Object.values(PrestationDetail).find((prestaDetail) => prestaDetail.id === idPrestationType);\n const numberPoint = prestaDetails?.point || 0;\n\n // Get list of prestations that are already done and check if one of them is in the list of prestations that are half price\n const prestationsExistIds = prestationsSignedPaid.map((prestation) => prestation.idPrestationList);\n const prestationHalfPriceAlreadyDoneIds = prestationsExistIds.filter((id) => prestationHalfPriceIds.includes(id));\n\n // If one of the prestations already done is in the list of prestations that are half price and if the idPrestationType is in prestationHalfPriceIds, return 50% of points\n if (prestationHalfPriceAlreadyDoneIds.length && prestationHalfPriceIds.includes(idPrestationType)) return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nconst getPriceGrid = (idTypeBrand: number, idPrestationList: number): priceGrid | undefined => {\n let currentBrandPriceGrid: priceGridBrand | undefined;\n let currentPriceGrid: priceGrid | undefined;\n\n const currentEnvName = getBrandNameByNodeEnv(process.env.NODE_ENV);\n const listEnvEnum = {\n PriceGridClementine, PriceGridPourcentage, PriceGridLegalstart,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile) currentBrandPriceGrid = currentPriceGridFile.find((priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand);\n if (currentBrandPriceGrid) currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) => price.idPrestationList.includes(idPrestationList));\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (idPrestationList: number, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, isYearly: boolean, totalMonth: number, idTaxSystem: number): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let monthNbr: number = NbrMonth;\n let yearlyPrice: number | undefined;\n let finalMonthlyPrice: number | undefined;\n let canBeCreated: boolean = true;\n let recalculateMonthly: boolean = false;\n\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n \n if (currentPriceGrid) {\n let monthlyPrice: number | undefined;\n let vatRegimePrice: number | undefined;\n let taxSystemPrice: number | undefined;\n\n /* Gestion du régime de TVA */\n if (currentPriceGrid.vatRegimeMonthly && !isYearly) vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find(regime => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly) vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find(regime => regime.type === idVatRegime)?.price;\n\n /* Gestion du Régime d'imposition */\n if (currentPriceGrid.taxSystem && idTaxSystem) taxSystemPrice = currentPriceGrid.taxSystem?.find(tax => tax.id === idTaxSystem)?.price;\n\n /* Gestion des montants */\n if (currentPriceGrid.turnoverMonthly && !isYearly) monthlyPrice = currentPriceGrid.turnoverMonthly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties) monthlyPrice = currentPriceGrid.properties?.find(property => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) monthlyPrice = currentPriceGrid.employee?.find(emp => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber)?.price;\n else if (currentPriceGrid.turnoverYearly && isYearly) yearlyPrice = currentPriceGrid.turnoverYearly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear) yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear) yearlyPrice = currentPriceGrid.turnoverPastYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner) yearlyPrice = currentPriceGrid.partner?.find(part => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber)?.price;\n finalMonthlyPrice = (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0) + (taxSystemPrice ? taxSystemPrice : 0);\n\n /* Gestion des mois */\n let cloturedPast: boolean = false;\n if (dayjs(endDate, 'YYYY-MM-DD').subtract(15, 'day').isBefore(dayjs())) cloturedPast = true;\n const minimumMonth: number | undefined = currentPriceGrid.minimumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n const maximumMonth: number | undefined = currentPriceGrid.maximumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n if (totalMonth > 0) monthNbr = monthNbr - totalMonth;\n if (minimumMonth && monthNbr < minimumMonth) {\n monthNbr = minimumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n if (maximumMonth && monthNbr > maximumMonth) {\n monthNbr = maximumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n\n reduceMonth = (monthNbr === NbrMonth - totalMonth ? totalMonth : 0);\n \n /* Prix Final */\n totalPrestation = (yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr);\n }\n return { totalPrestation, reduceMonth, canBeCreated, monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr, price: yearlyPrice ? yearlyPrice : recalculateMonthly ? (totalPrestation / NbrMonth) : (finalMonthlyPrice ? finalMonthlyPrice : 0) };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList.price || 0;\n\n return totalPrestation;\n};\n\nconst calculatePrestationPrice = (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, isWithApplicationFees: boolean, idTaxSystem: number, isYearly: boolean = false): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, calculDetail: string, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let canBeCreated: boolean = true;\n let monthNbr: number = 0;\n let price: number = 0;\n let totalWithReduce: { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } = { totalPrestation: 0, reduceMonth: 0, canBeCreated: true, monthNbr: 0, price: 0 };\n\n /* Gestion du prix en fonction de la prestation */\n if (\n [\n PrestationType.COMPTA_PRO,\n PrestationType.COMPTA_PRO_EXPRESS,\n PrestationType.COMPTA_ENTREPRISE,\n PrestationType.COMPTA_ENTREPRISE_EXPRESS,\n PrestationType.COMPTA_SCI,\n PrestationType.COMPTA_SCI_EXPRESS,\n PrestationType.BILAN_PREVISIONNEL,\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n PrestationType.COMPTA_POURCENTAGE,\n PrestationType.COMPTA_POURCENTAGE_EXPRESS,\n PrestationType.SOCIAL,\n PrestationType.GESTION_JURIDIQUE,\n PrestationType.COMPTA_PRO_COMPTASTART,\n PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,\n ].includes(idPrestationList)\n ) {\n totalWithReduce = calculatePrestationPriceWithPriceGrid(idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth, idTaxSystem);\n totalPrestation = totalWithReduce.totalPrestation;\n reduceMonth = totalWithReduce.reduceMonth;\n canBeCreated = totalWithReduce.canBeCreated;\n monthNbr = totalWithReduce.monthNbr;\n price = totalWithReduce.price;\n } else {\n totalPrestation = calculatePrestationPriceWithPrestationList(prestationList);\n }\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n if (totalPercentage > 0) totalPrestation = totalPrestation - (totalPrestation * (totalPercentage / 100));\n if (prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice) totalPrestation = prestationList.minimumPrice;\n /* Gestion des options */\n let OptionTotalPrice: number = 0;\n if (optionsList.length) {\n optionsList.forEach((optionId) => {\n const optionPrice: number | undefined = Object.values(PrestationOption).find((option) => option.id === optionId)?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += (OptionTotalPrice ? OptionTotalPrice : 0);\n\n if (isWithApplicationFees) totalPrestation += 50;\n\n const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + price + '€' : price + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;\n\n return { totalPrestation, reduceMonth, canBeCreated, calculDetail, price };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter(option => option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)));\n return PrestationOptionList.filter(option => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (idTypeBrand: number, idPrestationList: number, turnover: number, pastBalanceSheet: boolean): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n // @ts-ignore\n if ([PrestationType.COMPTA_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && !pastBalanceSheet && currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && pastBalanceSheet && currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover) return true;\n else return false;\n }\n return false;\n\n};\n\nexport {\n isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isExpress, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice,\n};"]}
1
+ {"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"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","sourcesContent":["import { IPrestation, IPrestationList } from '../types';\nimport { intersection } from './noLodash';\nimport { PrestationDetail, PrestationType } from '../types/Enum/PrestationType';\nimport { PrestationOptionType, PrestationOption } from '../types/Enum/PrestationOption';\nimport { PriceGridClementine } from '../types/Enum/PriceGridClementine';\nimport { PriceGridPourcentage } from '../types/Enum/PriceGridPourcentage';\nimport { PriceGridLegalstart } from '../types/Enum/PriceGridLegalstart';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\n\ntype priceGridBrand = {\n idTypeBrand: number,\n price: priceGrid[]\n};\n\ntype priceGrid = {\n idPrestationList: number[],\n minimumMonthlyPayment?: monthlyPayment[],\n maximumMonthlyPayment?: monthlyPayment[],\n turnoverCreatedYear?: turnover[],\n turnoverPastYear?: turnover[],\n turnoverMonthly?: turnover[],\n turnoverYearly?: turnover[],\n employee?: employee[],\n partner?: employee[],\n properties?: propertie[],\n vatRegimeMonthly?: vatRegime[],\n vatRegimeYearly?: vatRegime[],\n taxSystem?: taxSystem[],\n};\n\ntype monthlyPayment = {\n id: number,\n month: number,\n};\n\ntype turnover = {\n turnoverValue: number,\n price: number,\n};\n\ntype employee = {\n amountMinimum: number,\n amountMaximum: number,\n price: number,\n};\n\ntype propertie = {\n amount: number,\n price: number,\n};\n\ntype vatRegime = {\n type: number,\n price: number,\n};\n\ntype taxSystem = {\n id: number,\n price: number,\n};\n\nconst isOtherAccountingMissions = (idPrestationList: number): boolean => [\n PrestationType.PREVISIONNEL,\n PrestationType.BILAN_INTERMEDIAIRE,\n PrestationType.AVANCE_OU_ABANDON_COMPTE_COURANT_ASSOCIE,\n PrestationType.AUTRE_MISSION_COMPTABLE,\n PrestationType.TVS,\n PrestationType.ETUDE_FISCALE,\n PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique:boolean, isCatalog:boolean, idPrestationList: number): boolean => idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean => idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden:boolean, isCatalog:boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL)).length;\n\nconst isOnlySocial = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]):boolean => !!intersection(idPrestationList, [PrestationType.CREATION_SOCIETE, PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE]).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 calculateScoringOfPrestation = (idPrestationType: PrestationType, prestations: IPrestation[]): number => {\n const prestationsSignedPaid = prestations.filter((prestation) => prestation.paid && prestation.signed && prestation.terminationList === null);\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter((p) => p.isComptable && !p.isCatalog);\n const prestationHalfPriceIds = prestationHalfPriceList.map((t) => t.id);\n\n // Get the number of points for the new prestation\n const prestaDetails = Object.values(PrestationDetail).find((prestaDetail) => prestaDetail.id === idPrestationType);\n const numberPoint = prestaDetails?.point || 0;\n\n // Get list of prestations that are already done and check if one of them is in the list of prestations that are half price\n const prestationsExistIds = prestationsSignedPaid.map((prestation) => prestation.idPrestationList);\n const prestationHalfPriceAlreadyDoneIds = prestationsExistIds.filter((id) => prestationHalfPriceIds.includes(id));\n\n // If one of the prestations already done is in the list of prestations that are half price and if the idPrestationType is in prestationHalfPriceIds, return 50% of points\n if (prestationHalfPriceAlreadyDoneIds.length && prestationHalfPriceIds.includes(idPrestationType)) return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nconst getPriceGrid = (idTypeBrand: number, idPrestationList: number): priceGrid | undefined => {\n let currentBrandPriceGrid: priceGridBrand | undefined;\n let currentPriceGrid: priceGrid | undefined;\n\n const currentEnvName = getBrandNameByNodeEnv(process.env.NODE_ENV);\n const listEnvEnum = {\n PriceGridClementine, PriceGridPourcentage, PriceGridLegalstart,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile) currentBrandPriceGrid = currentPriceGridFile.find((priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand);\n if (currentBrandPriceGrid) currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) => price.idPrestationList.includes(idPrestationList));\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (idPrestationList: number, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, isYearly: boolean, totalMonth: number, idTaxSystem: number): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let monthNbr: number = NbrMonth;\n let yearlyPrice: number | undefined;\n let finalMonthlyPrice: number | undefined;\n let canBeCreated: boolean = true;\n let recalculateMonthly: boolean = false;\n\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n \n if (currentPriceGrid) {\n let monthlyPrice: number | undefined;\n let vatRegimePrice: number | undefined;\n let taxSystemPrice: number | undefined;\n\n /* Gestion du régime de TVA */\n if (currentPriceGrid.vatRegimeMonthly && !isYearly) vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find(regime => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly) vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find(regime => regime.type === idVatRegime)?.price;\n\n /* Gestion du Régime d'imposition */\n if (currentPriceGrid.taxSystem && idTaxSystem) taxSystemPrice = currentPriceGrid.taxSystem?.find(tax => tax.id === idTaxSystem)?.price;\n\n /* Gestion des montants */\n if (currentPriceGrid.turnoverMonthly && !isYearly) monthlyPrice = currentPriceGrid.turnoverMonthly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties) monthlyPrice = currentPriceGrid.properties?.find(property => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) monthlyPrice = currentPriceGrid.employee?.find(emp => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber)?.price;\n else if (currentPriceGrid.turnoverYearly && isYearly) yearlyPrice = currentPriceGrid.turnoverYearly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear) yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear) yearlyPrice = currentPriceGrid.turnoverPastYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner) yearlyPrice = currentPriceGrid.partner?.find(part => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber)?.price;\n finalMonthlyPrice = (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0) + (taxSystemPrice ? taxSystemPrice : 0);\n\n /* Gestion des mois */\n let cloturedPast: boolean = false;\n if (dayjs(endDate, 'YYYY-MM-DD').subtract(15, 'day').isBefore(dayjs())) cloturedPast = true;\n const minimumMonth: number | undefined = currentPriceGrid.minimumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n const maximumMonth: number | undefined = currentPriceGrid.maximumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n if (totalMonth > 0) monthNbr = monthNbr - totalMonth;\n if (minimumMonth && monthNbr < minimumMonth) {\n monthNbr = minimumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n if (maximumMonth && monthNbr > maximumMonth) {\n monthNbr = maximumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n\n reduceMonth = (monthNbr === NbrMonth - totalMonth ? totalMonth : 0);\n \n /* Prix Final */\n totalPrestation = (yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr);\n }\n return { totalPrestation, reduceMonth, canBeCreated, monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr, price: yearlyPrice ? yearlyPrice : recalculateMonthly ? (totalPrestation / NbrMonth) : (finalMonthlyPrice ? finalMonthlyPrice : 0) };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList.price || 0;\n\n return totalPrestation;\n};\n\nconst calculatePrestationPrice = (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, isWithApplicationFees: boolean, idTaxSystem: number, isYearly: boolean = false): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, calculDetail: string, monthlyPrice: string, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let canBeCreated: boolean = true;\n let monthNbr: number = 0;\n let price: number = 0;\n let totalWithReduce: { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } = { totalPrestation: 0, reduceMonth: 0, canBeCreated: true, monthNbr: 0, price: 0 };\n\n /* Gestion du prix en fonction de la prestation */\n if (\n [\n PrestationType.COMPTA_PRO,\n PrestationType.COMPTA_PRO_EXPRESS,\n PrestationType.COMPTA_ENTREPRISE,\n PrestationType.COMPTA_ENTREPRISE_EXPRESS,\n PrestationType.COMPTA_SCI,\n PrestationType.COMPTA_SCI_EXPRESS,\n PrestationType.BILAN_PREVISIONNEL,\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n PrestationType.COMPTA_POURCENTAGE,\n PrestationType.COMPTA_POURCENTAGE_EXPRESS,\n PrestationType.SOCIAL,\n PrestationType.GESTION_JURIDIQUE,\n PrestationType.COMPTA_PRO_COMPTASTART,\n PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,\n ].includes(idPrestationList)\n ) {\n totalWithReduce = calculatePrestationPriceWithPriceGrid(idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth, idTaxSystem);\n totalPrestation = totalWithReduce.totalPrestation;\n reduceMonth = totalWithReduce.reduceMonth;\n canBeCreated = totalWithReduce.canBeCreated;\n monthNbr = totalWithReduce.monthNbr;\n price = totalWithReduce.price;\n } else {\n totalPrestation = calculatePrestationPriceWithPrestationList(prestationList);\n }\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n if (totalPercentage > 0) totalPrestation = totalPrestation - (totalPrestation * (totalPercentage / 100));\n if (prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice) totalPrestation = prestationList.minimumPrice;\n /* Gestion des options */\n let OptionTotalPrice: number = 0;\n if (optionsList.length) {\n optionsList.forEach((optionId) => {\n const optionPrice: number | undefined = Object.values(PrestationOption).find((option) => option.id === optionId)?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += (OptionTotalPrice ? OptionTotalPrice : 0);\n\n if (isWithApplicationFees) totalPrestation += 50;\n\n const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + (Math.round(price * 100) / 100) + '€' : (Math.round(price * 100) / 100) + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;\n\n return { totalPrestation, reduceMonth, canBeCreated, calculDetail, monthlyPrice: monthNbr > 0 ? price + '€/mois' : price + '€', price };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter(option => option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)));\n return PrestationOptionList.filter(option => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (idTypeBrand: number, idPrestationList: number, turnover: number, pastBalanceSheet: boolean): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n // @ts-ignore\n if ([PrestationType.COMPTA_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && !pastBalanceSheet && currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && pastBalanceSheet && currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover) return true;\n else return false;\n }\n return false;\n\n};\n\nexport {\n isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isExpress, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice,\n};"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.1.173",
3
+ "version": "1.1.175",
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",
@@ -0,0 +1,16 @@
1
+ import { Resource } from '../Resource';
2
+ import {
3
+ IExercicePrestation, QueryCreateExercicePrestation,
4
+ } from '../../types';
5
+
6
+ export class ExercicePrestation extends Resource {
7
+
8
+ /**
9
+ * Crée un exercicePrestation tous les éléments lié à celle-ci.
10
+ * @param { QueryCreateExercicePrestation } params
11
+ * @returns { IExercicePrestation }
12
+ */
13
+ public create(params: QueryCreateExercicePrestation): Promise<IExercicePrestation> {
14
+ return this.axios.$post('/exercice-prestation', params);
15
+ }
16
+ }
@@ -1,19 +1,20 @@
1
+ import { NotionArticle, NotionFilteredArticle, NotionLatestArticle, NotionSubCategories } from '../../types';
1
2
  import { Resource } from '../Resource';
2
3
 
3
4
  export class Notion extends Resource {
4
- getArticle(id: string): Promise<any> {
5
+ getArticle(id: string): Promise<NotionArticle> {
5
6
  return this.axios.$get(`notion/articles/${id}`);
6
7
  }
7
8
 
8
- getArticles(params: { search?: string }): Promise<any> {
9
+ getArticles(params: { search?: string }): Promise<NotionFilteredArticle[]> {
9
10
  return this.axios.$get('notion/articles', { params });
10
11
  }
11
12
 
12
- getLatestArticles(): Promise<any> {
13
- return this.axios.$get('notion/latest-articles');
13
+ getLatestArticles(): Promise<NotionLatestArticle[]> {
14
+ return this.axios.$get('notion/articles/latest');
14
15
  }
15
16
 
16
- getSubCategories(): Promise<any> {
17
+ getSubCategories(): Promise<NotionSubCategories[]> {
17
18
  return this.axios.$get('notion/sub-categories');
18
19
  }
19
20
  }
@@ -14,10 +14,10 @@ export class Survey extends Resource {
14
14
 
15
15
  update(params: UpdateSurvey): Promise<ReadSurvey> {
16
16
  const { id, ...body } = params;
17
- return this.axios.$put(`/survey/${id}`, body);
17
+ return this.axios.$put(`/surveys/${id}`, body);
18
18
  }
19
19
 
20
20
  create(params: CreateSurvey): Promise<ReadSurvey> {
21
- return this.axios.$post('/survey', params);
21
+ return this.axios.$post('/surveys', params);
22
22
  }
23
23
  }
@@ -1,4 +1,3 @@
1
- import { Country } from './resources/Country';
2
1
  import { Simulation } from './resources/Simulation';
3
2
  import { PaymentExpectationCustomer } from './resources/PaymentExpectationCustomer';
4
3
  import { Payment } from './resources/Payment';
@@ -142,11 +141,11 @@ import { CommercialOffer } from './resources/CommercialOffer';
142
141
  import { DubiousCustomer } from './resources/DubiousCustomer';
143
142
  import { Notion } from './resources/Notion';
144
143
  import { TimeTracking } from './resources/TimeTracking';
144
+ import { ExercicePrestation } from './resources/ExercicePrestation';
145
145
 
146
146
  export const resources = {
147
147
  simulation: Simulation,
148
148
  budgetInsight: BudgetInsight,
149
- country: Country,
150
149
  paymentExpectationCustomer: PaymentExpectationCustomer,
151
150
  payment: Payment,
152
151
  immobilization: Immobilization,
@@ -288,4 +287,5 @@ export const resources = {
288
287
  dubiousCustomer: DubiousCustomer,
289
288
  notion: Notion,
290
289
  timeTracking: TimeTracking,
290
+ exercicePrestation: ExercicePrestation,
291
291
  };
@@ -513,28 +513,28 @@ export const BrandClementine = [
513
513
  name: 'page_intro',
514
514
  needBgImage: true,
515
515
  versionable: false,
516
- idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL_KLEMS],
516
+ idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL],
517
517
  },
518
518
  {
519
519
  label: 'Page chiffres',
520
520
  name: 'page_numbers',
521
521
  needBgImage: true,
522
522
  versionable: false,
523
- idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL_KLEMS],
523
+ idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL],
524
524
  },
525
525
  {
526
526
  label: 'Page simplifié',
527
527
  name: 'page_simplified',
528
528
  needBgImage: true,
529
529
  versionable: false,
530
- idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL_KLEMS],
530
+ idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL],
531
531
  },
532
532
  {
533
533
  label: 'Détail de la lettre de mission',
534
534
  name: 'page_detail_ldm',
535
535
  needBgImage: false,
536
536
  versionable: false,
537
- idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.BILAN_PREVISIONNEL_KLEMS].includes(p.id!)).map(({ id }) => id), // Prestations non express
537
+ idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.BILAN_PREVISIONNEL].includes(p.id!)).map(({ id }) => id), // Prestations non express
538
538
  },
539
539
  {
540
540
  label: 'Détail de la lettre de mission (express)',
@@ -614,9 +614,9 @@ export const BrandClementine = [
614
614
  },
615
615
  {
616
616
  label: 'Bilan Prévisionnel Klems',
617
- name: 'bloc_bilan_previsionnel_klems',
617
+ name: 'bloc_bilan_previsionnel',
618
618
  needBgImage: false,
619
- idPrestationType: [PrestationType.BILAN_PREVISIONNEL_KLEMS],
619
+ idPrestationType: [PrestationType.BILAN_PREVISIONNEL],
620
620
  versionable: true,
621
621
  keyName: 'prestationOptions',
622
622
  },
@@ -624,35 +624,35 @@ export const BrandClementine = [
624
624
  label: 'Signature',
625
625
  name: 'bloc_sign',
626
626
  needBgImage: false,
627
- idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL_KLEMS],
627
+ idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL],
628
628
  versionable: false,
629
629
  },
630
630
  {
631
631
  label: 'Conditions Générals de Vente (CGV) 1/2',
632
632
  name: 'bloc_cgv_first',
633
633
  needBgImage: false,
634
- idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL_KLEMS],
634
+ idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL],
635
635
  versionable: false,
636
636
  },
637
637
  {
638
638
  label: 'Conditions Générals de Vente (CGV) 2/2',
639
639
  name: 'bloc_cgv_second',
640
640
  needBgImage: false,
641
- idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL_KLEMS],
641
+ idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL],
642
642
  versionable: false,
643
643
  },
644
644
  {
645
645
  label: 'Mandat de prélèvement SEPA',
646
646
  name: 'bloc_sepa',
647
647
  needBgImage: false,
648
- idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL_KLEMS],
648
+ idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL],
649
649
  versionable: false,
650
650
  },
651
651
  {
652
652
  label: 'Pièces à nous envoyer',
653
653
  name: 'bloc_send_files',
654
654
  needBgImage: false,
655
- idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL_KLEMS],
655
+ idPrestationType: [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS, PrestationType.BILAN_PREVISIONNEL],
656
656
  versionable: false,
657
657
  },
658
658
  ],
@@ -16,7 +16,7 @@ export const PrestationOption = {
16
16
  description: 'Version supplémentaire établie demandée suite à des modifications du questionnaire',
17
17
  price: 99,
18
18
  brand: ['Clementine', 'Klems'],
19
- prestationList: [PrestationType.BILAN_PREVISIONNEL, PrestationType.CREATION_SOCIETE, PrestationType.BILAN_PREVISIONNEL_KLEMS],
19
+ prestationList: [PrestationType.BILAN_PREVISIONNEL, PrestationType.CREATION_SOCIETE],
20
20
  },
21
21
  BUSINESS_PLAN_OPTION_2: {
22
22
  id: 2,
@@ -24,7 +24,7 @@ export const PrestationOption = {
24
24
  description: 'Prévisionnel sur 60 mois',
25
25
  price: 139,
26
26
  brand: ['Clementine', 'Klems'],
27
- prestationList: [PrestationType.BILAN_PREVISIONNEL, PrestationType.CREATION_SOCIETE, PrestationType.BILAN_PREVISIONNEL_KLEMS],
27
+ prestationList: [PrestationType.BILAN_PREVISIONNEL, PrestationType.CREATION_SOCIETE],
28
28
  },
29
29
  BUSINESS_PLAN_OPTION_3: {
30
30
  id: 3,
@@ -32,7 +32,7 @@ export const PrestationOption = {
32
32
  description: 'Aide au choix du statut juridique, fiscal et social',
33
33
  price: 99,
34
34
  brand: ['Clementine', 'Klems'],
35
- prestationList: [PrestationType.BILAN_PREVISIONNEL, PrestationType.CREATION_SOCIETE, PrestationType.BILAN_PREVISIONNEL_KLEMS],
35
+ prestationList: [PrestationType.BILAN_PREVISIONNEL, PrestationType.CREATION_SOCIETE],
36
36
  },
37
37
  BUSINESS_PLAN_OPTION_4: {
38
38
  id: 4,
@@ -40,7 +40,7 @@ export const PrestationOption = {
40
40
  description: 'Prévisionnel express en 8 jours ouvrables après retour questionnaire rempli de 35 questions simples',
41
41
  price: 99,
42
42
  brand: ['Clementine', 'Klems'],
43
- prestationList: [PrestationType.BILAN_PREVISIONNEL, PrestationType.CREATION_SOCIETE, PrestationType.BILAN_PREVISIONNEL_KLEMS],
43
+ prestationList: [PrestationType.BILAN_PREVISIONNEL, PrestationType.CREATION_SOCIETE],
44
44
  },
45
45
  BUSINESS_PLAN_OPTION_1_POURCENTAGE: {
46
46
  id: 5,
@@ -176,7 +176,6 @@ export enum PrestationType {
176
176
  COMPTA_MICRO_KLEMS_EXPRESS = 219,
177
177
  COMPTA_EI_KLEMS_EXPRESS = 220,
178
178
  COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS = 221,
179
- BILAN_PREVISIONNEL_KLEMS = 222,
180
179
  }
181
180
 
182
181
  // Liste des prestations avec une lettre de mission à signer
@@ -3350,22 +3349,4 @@ export const PrestationDetail: PrestationDetailEnum = {
3350
3349
  signaturePage: null,
3351
3350
  point: 200,
3352
3351
  },
3353
- BILAN_PREVISIONNEL_KLEMS: {
3354
- id: PrestationType.BILAN_PREVISIONNEL_KLEMS,
3355
- name: 'Bilan prévisionnel Klems',
3356
- isComptable: true,
3357
- isJuridique: false,
3358
- isSocial: false,
3359
- isAttestation: false,
3360
- inAverageCart: true,
3361
- isBack: false,
3362
- minimumPrice: null,
3363
- price: 239,
3364
- isCatalog: true,
3365
- hidden: false,
3366
- isComplementary: false,
3367
- signaturePosition: '400,54,569,90',
3368
- signaturePage: 5,
3369
- point: 0,
3370
- },
3371
3352
  };
@@ -0,0 +1,14 @@
1
+ import { IsArray, IsObject } from 'class-validator';
2
+ import { ApiProperty, ApiPropertyOptional } from '../../../../utils';
3
+ import { ICommercialOffer } from '../../models/ICommercialOffer';
4
+ import { IExercicePrestation } from '../../models/IExercicePrestation';
5
+
6
+ export class QueryCreateExercicePrestation {
7
+ @ApiProperty()
8
+ @IsObject()
9
+ exercicePrestation: IExercicePrestation;
10
+
11
+ @ApiPropertyOptional()
12
+ @IsArray()
13
+ commercialOffers: ICommercialOffer[];
14
+ }