@silexpert/core 1.1.174 → 1.1.176
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.
- package/dist/cjs/api/resources/Card.d.ts +10 -0
- package/dist/cjs/api/resources/Card.d.ts.map +1 -0
- package/dist/cjs/api/resources/Card.js +23 -0
- package/dist/cjs/api/resources/Card.js.map +1 -0
- package/dist/cjs/api/resources/ExercicePrestation.d.ts +11 -0
- package/dist/cjs/api/resources/ExercicePrestation.d.ts.map +1 -0
- package/dist/cjs/api/resources/ExercicePrestation.js +16 -0
- package/dist/cjs/api/resources/ExercicePrestation.js.map +1 -0
- package/dist/cjs/api/resources/Notion.d.ts +5 -4
- package/dist/cjs/api/resources/Notion.d.ts.map +1 -1
- package/dist/cjs/api/resources/Notion.js +1 -1
- package/dist/cjs/api/resources/Notion.js.map +1 -1
- package/dist/cjs/api/resources.d.ts +4 -0
- package/dist/cjs/api/resources.d.ts.map +1 -1
- package/dist/cjs/api/resources.js +4 -0
- package/dist/cjs/api/resources.js.map +1 -1
- package/dist/cjs/types/Enum/BrandPourcentage.js +14 -14
- package/dist/cjs/types/Enum/BrandPourcentage.js.map +1 -1
- package/dist/cjs/types/Enum/Card.d.ts +77 -0
- package/dist/cjs/types/Enum/Card.d.ts.map +1 -0
- package/dist/cjs/types/Enum/Card.js +94 -0
- package/dist/cjs/types/Enum/Card.js.map +1 -0
- package/dist/cjs/types/Enum/Comment.d.ts +2 -1
- package/dist/cjs/types/Enum/Comment.d.ts.map +1 -1
- package/dist/cjs/types/Enum/Comment.js +1 -0
- package/dist/cjs/types/Enum/Comment.js.map +1 -1
- package/dist/cjs/types/Enum/PrestationType.d.ts.map +1 -1
- package/dist/cjs/types/Enum/PrestationType.js +175 -0
- package/dist/cjs/types/Enum/PrestationType.js.map +1 -1
- package/dist/cjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.d.ts +1 -0
- package/dist/cjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.js +6 -0
- package/dist/cjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.js.map +1 -1
- package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEvent.d.ts +1 -0
- package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEvent.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEvent.js +4 -0
- package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEvent.js.map +1 -1
- package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts +1 -0
- package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.js +4 -0
- package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.js.map +1 -1
- package/dist/cjs/types/Interface/api/card/QueryUserCards.d.ts +10 -0
- package/dist/cjs/types/Interface/api/card/QueryUserCards.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/card/QueryUserCards.js +53 -0
- package/dist/cjs/types/Interface/api/card/QueryUserCards.js.map +1 -0
- package/dist/cjs/types/Interface/api/card/QueryUserCardsStats.d.ts +6 -0
- package/dist/cjs/types/Interface/api/card/QueryUserCardsStats.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/card/QueryUserCardsStats.js +33 -0
- package/dist/cjs/types/Interface/api/card/QueryUserCardsStats.js.map +1 -0
- package/dist/cjs/types/Interface/api/card/UpdateCard.d.ts +10 -0
- package/dist/cjs/types/Interface/api/card/UpdateCard.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/card/UpdateCard.js +57 -0
- package/dist/cjs/types/Interface/api/card/UpdateCard.js.map +1 -0
- package/dist/cjs/types/Interface/api/exercicePrestation/Query.d.ts +7 -0
- package/dist/cjs/types/Interface/api/exercicePrestation/Query.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/exercicePrestation/Query.js +28 -0
- package/dist/cjs/types/Interface/api/exercicePrestation/Query.js.map +1 -0
- package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts +1537 -0
- package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/notion/NotionResponse.js +3 -0
- package/dist/cjs/types/Interface/api/notion/NotionResponse.js.map +1 -0
- package/dist/cjs/types/Interface/api/webmail/GetPaginatedWhereObjectParams.d.ts +1 -0
- package/dist/cjs/types/Interface/api/webmail/GetPaginatedWhereObjectParams.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/webmail/GetPaginatedWhereObjectParams.js +6 -0
- package/dist/cjs/types/Interface/api/webmail/GetPaginatedWhereObjectParams.js.map +1 -1
- package/dist/cjs/types/Interface/models/IBalanceSheet.d.ts +16 -13
- package/dist/cjs/types/Interface/models/IBalanceSheet.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IBalanceSheet.js.map +1 -1
- package/dist/cjs/types/Interface/models/ICalendarEvent.d.ts +3 -0
- package/dist/cjs/types/Interface/models/ICalendarEvent.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/ICalendarEvent.js.map +1 -1
- package/dist/cjs/types/Interface/models/ICard.d.ts +29 -0
- package/dist/cjs/types/Interface/models/ICard.d.ts.map +1 -0
- package/dist/cjs/types/Interface/models/ICard.js +3 -0
- package/dist/cjs/types/Interface/models/ICard.js.map +1 -0
- package/dist/cjs/types/Interface/models/ICardHistory.d.ts +17 -0
- package/dist/cjs/types/Interface/models/ICardHistory.d.ts.map +1 -0
- package/dist/cjs/types/Interface/models/ICardHistory.js +3 -0
- package/dist/cjs/types/Interface/models/ICardHistory.js.map +1 -0
- package/dist/cjs/types/Interface/models/IComment.d.ts +3 -1
- package/dist/cjs/types/Interface/models/IComment.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IComment.js.map +1 -1
- package/dist/cjs/types/Interface/models/IPrestationList.d.ts +1 -0
- package/dist/cjs/types/Interface/models/IPrestationList.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IPrestationList.js.map +1 -1
- package/dist/cjs/types/Interface/models/ISociety.d.ts +9 -0
- package/dist/cjs/types/Interface/models/ISociety.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/ISociety.js.map +1 -1
- package/dist/cjs/types/Interface/models/IUser.d.ts +2 -0
- package/dist/cjs/types/Interface/models/IUser.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IUser.js.map +1 -1
- package/dist/cjs/types/Interface/models/IUserBrand.d.ts +6 -0
- package/dist/cjs/types/Interface/models/IUserBrand.d.ts.map +1 -0
- package/dist/cjs/types/Interface/models/IUserBrand.js +3 -0
- package/dist/cjs/types/Interface/models/IUserBrand.js.map +1 -0
- package/dist/cjs/types/index.d.ts +9 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +9 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils/prestation.d.ts +1 -0
- package/dist/cjs/utils/prestation.d.ts.map +1 -1
- package/dist/cjs/utils/prestation.js +2 -2
- package/dist/cjs/utils/prestation.js.map +1 -1
- package/dist/cjs/utils/quotation.js +1 -1
- package/dist/cjs/utils/quotation.js.map +1 -1
- package/dist/mjs/api/resources/Card.d.ts +10 -0
- package/dist/mjs/api/resources/Card.d.ts.map +1 -0
- package/dist/mjs/api/resources/Card.js +19 -0
- package/dist/mjs/api/resources/Card.js.map +1 -0
- package/dist/mjs/api/resources/ExercicePrestation.d.ts +11 -0
- package/dist/mjs/api/resources/ExercicePrestation.d.ts.map +1 -0
- package/dist/mjs/api/resources/ExercicePrestation.js +12 -0
- package/dist/mjs/api/resources/ExercicePrestation.js.map +1 -0
- package/dist/mjs/api/resources/Notion.d.ts +5 -4
- package/dist/mjs/api/resources/Notion.d.ts.map +1 -1
- package/dist/mjs/api/resources/Notion.js +1 -1
- package/dist/mjs/api/resources/Notion.js.map +1 -1
- package/dist/mjs/api/resources.d.ts +4 -0
- package/dist/mjs/api/resources.d.ts.map +1 -1
- package/dist/mjs/api/resources.js +4 -0
- package/dist/mjs/api/resources.js.map +1 -1
- package/dist/mjs/types/Enum/BrandPourcentage.js +14 -14
- package/dist/mjs/types/Enum/BrandPourcentage.js.map +1 -1
- package/dist/mjs/types/Enum/Card.d.ts +77 -0
- package/dist/mjs/types/Enum/Card.d.ts.map +1 -0
- package/dist/mjs/types/Enum/Card.js +91 -0
- package/dist/mjs/types/Enum/Card.js.map +1 -0
- package/dist/mjs/types/Enum/Comment.d.ts +2 -1
- package/dist/mjs/types/Enum/Comment.d.ts.map +1 -1
- package/dist/mjs/types/Enum/Comment.js +1 -0
- package/dist/mjs/types/Enum/Comment.js.map +1 -1
- package/dist/mjs/types/Enum/PrestationType.d.ts.map +1 -1
- package/dist/mjs/types/Enum/PrestationType.js +175 -0
- package/dist/mjs/types/Enum/PrestationType.js.map +1 -1
- package/dist/mjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.d.ts +1 -0
- package/dist/mjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.js +7 -0
- package/dist/mjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.js.map +1 -1
- package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEvent.d.ts +1 -0
- package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEvent.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEvent.js +5 -0
- package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEvent.js.map +1 -1
- package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts +1 -0
- package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.js +5 -0
- package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.js.map +1 -1
- package/dist/mjs/types/Interface/api/card/QueryUserCards.d.ts +10 -0
- package/dist/mjs/types/Interface/api/card/QueryUserCards.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/card/QueryUserCards.js +55 -0
- package/dist/mjs/types/Interface/api/card/QueryUserCards.js.map +1 -0
- package/dist/mjs/types/Interface/api/card/QueryUserCardsStats.d.ts +6 -0
- package/dist/mjs/types/Interface/api/card/QueryUserCardsStats.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/card/QueryUserCardsStats.js +32 -0
- package/dist/mjs/types/Interface/api/card/QueryUserCardsStats.js.map +1 -0
- package/dist/mjs/types/Interface/api/card/UpdateCard.d.ts +10 -0
- package/dist/mjs/types/Interface/api/card/UpdateCard.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/card/UpdateCard.js +59 -0
- package/dist/mjs/types/Interface/api/card/UpdateCard.js.map +1 -0
- package/dist/mjs/types/Interface/api/exercicePrestation/Query.d.ts +7 -0
- package/dist/mjs/types/Interface/api/exercicePrestation/Query.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/exercicePrestation/Query.js +26 -0
- package/dist/mjs/types/Interface/api/exercicePrestation/Query.js.map +1 -0
- package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts +1537 -0
- package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/notion/NotionResponse.js +2 -0
- package/dist/mjs/types/Interface/api/notion/NotionResponse.js.map +1 -0
- package/dist/mjs/types/Interface/api/webmail/GetPaginatedWhereObjectParams.d.ts +1 -0
- package/dist/mjs/types/Interface/api/webmail/GetPaginatedWhereObjectParams.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/webmail/GetPaginatedWhereObjectParams.js +7 -0
- package/dist/mjs/types/Interface/api/webmail/GetPaginatedWhereObjectParams.js.map +1 -1
- package/dist/mjs/types/Interface/models/IBalanceSheet.d.ts +16 -13
- package/dist/mjs/types/Interface/models/IBalanceSheet.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IBalanceSheet.js.map +1 -1
- package/dist/mjs/types/Interface/models/ICalendarEvent.d.ts +3 -0
- package/dist/mjs/types/Interface/models/ICalendarEvent.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/ICalendarEvent.js.map +1 -1
- package/dist/mjs/types/Interface/models/ICard.d.ts +29 -0
- package/dist/mjs/types/Interface/models/ICard.d.ts.map +1 -0
- package/dist/mjs/types/Interface/models/ICard.js +2 -0
- package/dist/mjs/types/Interface/models/ICard.js.map +1 -0
- package/dist/mjs/types/Interface/models/ICardHistory.d.ts +17 -0
- package/dist/mjs/types/Interface/models/ICardHistory.d.ts.map +1 -0
- package/dist/mjs/types/Interface/models/ICardHistory.js +2 -0
- package/dist/mjs/types/Interface/models/ICardHistory.js.map +1 -0
- package/dist/mjs/types/Interface/models/IComment.d.ts +3 -1
- package/dist/mjs/types/Interface/models/IComment.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IComment.js.map +1 -1
- package/dist/mjs/types/Interface/models/IPrestationList.d.ts +1 -0
- package/dist/mjs/types/Interface/models/IPrestationList.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IPrestationList.js.map +1 -1
- package/dist/mjs/types/Interface/models/ISociety.d.ts +9 -0
- package/dist/mjs/types/Interface/models/ISociety.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/ISociety.js.map +1 -1
- package/dist/mjs/types/Interface/models/IUser.d.ts +2 -0
- package/dist/mjs/types/Interface/models/IUser.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IUser.js.map +1 -1
- package/dist/mjs/types/Interface/models/IUserBrand.d.ts +6 -0
- package/dist/mjs/types/Interface/models/IUserBrand.d.ts.map +1 -0
- package/dist/mjs/types/Interface/models/IUserBrand.js +2 -0
- package/dist/mjs/types/Interface/models/IUserBrand.js.map +1 -0
- package/dist/mjs/types/index.d.ts +9 -0
- package/dist/mjs/types/index.d.ts.map +1 -1
- package/dist/mjs/types/index.js +9 -0
- package/dist/mjs/types/index.js.map +1 -1
- package/dist/mjs/utils/prestation.d.ts +1 -0
- package/dist/mjs/utils/prestation.d.ts.map +1 -1
- package/dist/mjs/utils/prestation.js +2 -2
- package/dist/mjs/utils/prestation.js.map +1 -1
- package/dist/mjs/utils/quotation.js +1 -1
- package/dist/mjs/utils/quotation.js.map +1 -1
- package/package.json +1 -1
- package/ts/api/resources/Card.ts +25 -0
- package/ts/api/resources/ExercicePrestation.ts +16 -0
- package/ts/api/resources/Notion.ts +6 -5
- package/ts/api/resources.ts +4 -0
- package/ts/types/Enum/BrandPourcentage.ts +15 -15
- package/ts/types/Enum/Card.ts +110 -0
- package/ts/types/Enum/Comment.ts +1 -0
- package/ts/types/Enum/PrestationType.ts +175 -0
- package/ts/types/Interface/api/balanceSheet/UpdateBalanceSheet.ts +5 -0
- package/ts/types/Interface/api/calendarEvent/createCalendarEvent.ts +3 -0
- package/ts/types/Interface/api/calendarEvent/createCalendarEventForUsers.ts +3 -0
- package/ts/types/Interface/api/card/QueryUserCards.ts +33 -0
- package/ts/types/Interface/api/card/QueryUserCardsStats.ts +16 -0
- package/ts/types/Interface/api/card/UpdateCard.ts +38 -0
- package/ts/types/Interface/api/exercicePrestation/Query.ts +14 -0
- package/ts/types/Interface/api/notion/NotionResponse.ts +1288 -0
- package/ts/types/Interface/api/webmail/GetPaginatedWhereObjectParams.ts +5 -0
- package/ts/types/Interface/models/IBalanceSheet.ts +16 -13
- package/ts/types/Interface/models/ICalendarEvent.ts +3 -0
- package/ts/types/Interface/models/ICard.ts +31 -0
- package/ts/types/Interface/models/ICardHistory.ts +19 -0
- package/ts/types/Interface/models/IComment.ts +3 -1
- package/ts/types/Interface/models/IPrestationList.ts +1 -0
- package/ts/types/Interface/models/ISociety.ts +9 -0
- package/ts/types/Interface/models/IUser.ts +2 -0
- package/ts/types/Interface/models/IUserBrand.ts +7 -0
- package/ts/types/index.ts +11 -0
- package/ts/utils/prestation.ts +3 -3
- package/ts/utils/quotation.ts +1 -1
|
@@ -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};"]}
|
|
@@ -18,7 +18,7 @@ export function getLeadQuotation(params) {
|
|
|
18
18
|
if (lastname)
|
|
19
19
|
quotation += 5;
|
|
20
20
|
/* cotation du numéro de téléphone */
|
|
21
|
-
if (['6', '7'].includes(phone.substr(0, 1))) {
|
|
21
|
+
if (phone && ['6', '7'].includes(phone.substr(0, 1))) {
|
|
22
22
|
quotation += 15;
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
@@ -1 +1 @@
|
|
|
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 {\n BasePaginate,\n IPayment,\n IRating, IReport, ISocietyProceding, ReadClientQuotation,\n} 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 {\n firstname, lastname, phone, mail, annualTurnover, source, alreadyExist, activitySector,\n } = 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 (['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\n 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((data) => !!data).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 ([Activity.TRANSPORT, Activity.BTP, Activity.RESTAURATION, Activity.COMMERCANT, Activity.MEDICAL, Activity.PROF_LIB].includes(activitySector)) {\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(society: ISociety, otherSocieties: ISociety[], lastNotice: BasePaginate<IRating>, unpaidDetails: [], reports: IReport[], societyProcedings: ISocietyProceding[], tabBankAccount: any, firstPaiement: IPayment[]): 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 = 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 ([ComptaType.CASH_BASED, ComptaType.CASH_BASED_ASSISTANCE, ComptaType.CASH_BASED_SEIZURE].includes(society.idComptaType)) {\n quotationPositive += 10;\n detailQuotation.signature += 10;\n } else if ([ComptaType.ACCRUALS, ComptaType.ACCRUALS_ASSISTANCE, ComptaType.ACCRUALS_SEIZURE].includes(society.idComptaType)) {\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 = 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) 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 as number,\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 } if (cotations[0].cotation > cotations[1].cotation) {\n return true;\n }\n return higher;\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 {\n BasePaginate,\n IPayment,\n IRating, IReport, ISocietyProceding, ReadClientQuotation,\n} 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 {\n firstname, lastname, phone, mail, annualTurnover, source, alreadyExist, activitySector,\n } = 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\n 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((data) => !!data).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 ([Activity.TRANSPORT, Activity.BTP, Activity.RESTAURATION, Activity.COMMERCANT, Activity.MEDICAL, Activity.PROF_LIB].includes(activitySector)) {\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(society: ISociety, otherSocieties: ISociety[], lastNotice: BasePaginate<IRating>, unpaidDetails: [], reports: IReport[], societyProcedings: ISocietyProceding[], tabBankAccount: any, firstPaiement: IPayment[]): 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 = 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 ([ComptaType.CASH_BASED, ComptaType.CASH_BASED_ASSISTANCE, ComptaType.CASH_BASED_SEIZURE].includes(society.idComptaType)) {\n quotationPositive += 10;\n detailQuotation.signature += 10;\n } else if ([ComptaType.ACCRUALS, ComptaType.ACCRUALS_ASSISTANCE, ComptaType.ACCRUALS_SEIZURE].includes(society.idComptaType)) {\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 = 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) 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 as number,\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 } if (cotations[0].cotation > cotations[1].cotation) {\n return true;\n }\n return higher;\n}"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silexpert/core",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.176",
|
|
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,25 @@
|
|
|
1
|
+
import { Resource } from '../Resource';
|
|
2
|
+
import { ICard, QueryUserCards, QueryUserCardsStats, UserCardsStatsGroup, UpdateCard } from '../../types';
|
|
3
|
+
|
|
4
|
+
export class Card extends Resource {
|
|
5
|
+
getById(id: number): Promise<ICard> {
|
|
6
|
+
return this.axios.$get(`/cards/${id}`);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
getAll(params: QueryUserCards): Promise<ICard[]> {
|
|
10
|
+
return this.axios.$get('/cards', { params });
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
getStats(params: QueryUserCardsStats): Promise<UserCardsStatsGroup[]> {
|
|
14
|
+
return this.axios.$get('/cards/stats', { params });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
update(id: number, data: UpdateCard): Promise<ICard> {
|
|
18
|
+
return this.axios.$put(`/cards/${id}`, data);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
delete(id: number): Promise<void> {
|
|
22
|
+
return this.axios.$delete(`/cards/${id}`);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
}
|
|
@@ -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<
|
|
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<
|
|
9
|
+
getArticles(params: { search?: string }): Promise<NotionFilteredArticle[]> {
|
|
9
10
|
return this.axios.$get('notion/articles', { params });
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
getLatestArticles(): Promise<
|
|
13
|
-
return this.axios.$get('notion/latest
|
|
13
|
+
getLatestArticles(): Promise<NotionLatestArticle[]> {
|
|
14
|
+
return this.axios.$get('notion/articles/latest');
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
getSubCategories(): Promise<
|
|
17
|
+
getSubCategories(): Promise<NotionSubCategories[]> {
|
|
17
18
|
return this.axios.$get('notion/sub-categories');
|
|
18
19
|
}
|
|
19
20
|
}
|
package/ts/api/resources.ts
CHANGED
|
@@ -138,9 +138,11 @@ import { LeadsToPartners } from './resources/LeadsToPartners';
|
|
|
138
138
|
import { ChangeLog } from './resources/ChangeLog';
|
|
139
139
|
import { ConstitutionHistory } from './resources/ConstitutionHistory';
|
|
140
140
|
import { CommercialOffer } from './resources/CommercialOffer';
|
|
141
|
+
import { Card } from './resources/Card';
|
|
141
142
|
import { DubiousCustomer } from './resources/DubiousCustomer';
|
|
142
143
|
import { Notion } from './resources/Notion';
|
|
143
144
|
import { TimeTracking } from './resources/TimeTracking';
|
|
145
|
+
import { ExercicePrestation } from './resources/ExercicePrestation';
|
|
144
146
|
|
|
145
147
|
export const resources = {
|
|
146
148
|
simulation: Simulation,
|
|
@@ -283,7 +285,9 @@ export const resources = {
|
|
|
283
285
|
constitutionHistory: ConstitutionHistory,
|
|
284
286
|
das: Das,
|
|
285
287
|
commercialOffer: CommercialOffer,
|
|
288
|
+
card: Card,
|
|
286
289
|
dubiousCustomer: DubiousCustomer,
|
|
287
290
|
notion: Notion,
|
|
288
291
|
timeTracking: TimeTracking,
|
|
292
|
+
exercicePrestation: ExercicePrestation,
|
|
289
293
|
};
|
|
@@ -908,7 +908,7 @@ export const BrandPourcentage = [
|
|
|
908
908
|
idTypeBrand: 7,
|
|
909
909
|
urlS3: 'https://s3.eu-west-3.amazonaws.com/resources-pourcentage/',
|
|
910
910
|
logoS3: 'config/pourcentage-logo.png',
|
|
911
|
-
name: 'Pourcentage ECF', // Pourcentage Nice 2
|
|
911
|
+
name: 'Pourcentage ECF', // Pourcentage Nice 2 / LANDRA
|
|
912
912
|
commercialName: 'Pourcentage',
|
|
913
913
|
colors: {
|
|
914
914
|
primary: '#1e6f5c',
|
|
@@ -953,7 +953,7 @@ export const BrandPourcentage = [
|
|
|
953
953
|
ECName: 'M. Jean-Louis BOICHÉ',
|
|
954
954
|
ECOrderCity: 'Nancy',
|
|
955
955
|
ECPosition: 'Président',
|
|
956
|
-
phone: '
|
|
956
|
+
phone: '',
|
|
957
957
|
postalAddress: '9, avenue du Rhin',
|
|
958
958
|
rcs: '891 501 181',
|
|
959
959
|
statut: 'SAS',
|
|
@@ -970,24 +970,24 @@ export const BrandPourcentage = [
|
|
|
970
970
|
urlExpert: 'https://pro.pourcentage.fr',
|
|
971
971
|
urlClient: 'https://www.pourcentage.fr',
|
|
972
972
|
bank: {
|
|
973
|
-
IBAN: '',
|
|
974
|
-
BIC: '',
|
|
975
|
-
Name: '',
|
|
973
|
+
IBAN: 'FR7616106010019602875853438',
|
|
974
|
+
BIC: 'AGRIFRPP861',
|
|
975
|
+
Name: 'SAS EXPERTISE CHOIX F',
|
|
976
976
|
Id: '',
|
|
977
977
|
},
|
|
978
978
|
internalInvoicing: {
|
|
979
|
-
statut: '
|
|
980
|
-
name: '
|
|
981
|
-
address: '
|
|
982
|
-
zipCode: '
|
|
983
|
-
city: '
|
|
979
|
+
statut: 'SAS',
|
|
980
|
+
name: 'EXPERTISE CHOIX F',
|
|
981
|
+
address: '8 Bd Jean Jaurès',
|
|
982
|
+
zipCode: '06 300',
|
|
983
|
+
city: 'NICE',
|
|
984
984
|
country: 'FRANCE',
|
|
985
|
-
montantCapital: '
|
|
986
|
-
siret: '
|
|
985
|
+
montantCapital: '10 000',
|
|
986
|
+
siret: '98284846700014',
|
|
987
987
|
ape: '6920Z',
|
|
988
|
-
rcs: '
|
|
989
|
-
phone: '
|
|
990
|
-
vatIntracom: '
|
|
988
|
+
rcs: '982 848 467',
|
|
989
|
+
phone: '',
|
|
990
|
+
vatIntracom: 'FR38982848467',
|
|
991
991
|
email: 'facturation@pourcentage.fr',
|
|
992
992
|
},
|
|
993
993
|
webmail: {
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
export enum CardType {
|
|
2
|
+
BALANCE_SHEET = 1,
|
|
3
|
+
BALANCE_SHEET_INTERMEDIATE = 2,
|
|
4
|
+
BALANCE_SHEET_PREVISIONAL = 3,
|
|
5
|
+
BALANCE_SHEET_LIQUIDATION = 4,
|
|
6
|
+
BALANCE_SHEET_EXPRESS = 5,
|
|
7
|
+
VAT = 6,
|
|
8
|
+
// REINFORCED_CHECKLIST = 7,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export enum CardState {
|
|
12
|
+
TODO = 1,
|
|
13
|
+
IN_PROGRESS = 2,
|
|
14
|
+
DONE = 3,
|
|
15
|
+
// ETAT "Calculer" pour le front mais pas en base
|
|
16
|
+
// - Non Fait => si date passé et tjs dans l'état A faire ou En cours
|
|
17
|
+
// - Non Terminée => Sélectionable si l'état est en cours et qu'on arrive à la fin de journée pour reportée. Et passe donc en A faire un jour suivant
|
|
18
|
+
// - Reportée => Toutes les cards avec au moins 2 history et dans l'était Todo ou In progress
|
|
19
|
+
// - Non Plannifiable => Toutes les cards A faire non plannifiée
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export enum CardGroupEnum {
|
|
23
|
+
BALANCE_SHEET_GROUP = 1,
|
|
24
|
+
VAT_GROUP = 2,
|
|
25
|
+
// REINFORCED_CHECKLIST_GROUP = 3,
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const CardGroup = [
|
|
29
|
+
{
|
|
30
|
+
id: CardGroupEnum.BALANCE_SHEET_GROUP,
|
|
31
|
+
label: 'Bilans',
|
|
32
|
+
types: [CardType.BALANCE_SHEET, CardType.BALANCE_SHEET_INTERMEDIATE, CardType.BALANCE_SHEET_PREVISIONAL, CardType.BALANCE_SHEET_LIQUIDATION, CardType.BALANCE_SHEET_EXPRESS] as CardType[],
|
|
33
|
+
maxByDay: 3,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: CardGroupEnum.VAT_GROUP,
|
|
37
|
+
label: 'Déclaration',
|
|
38
|
+
types: [CardType.VAT] as CardType[],
|
|
39
|
+
maxByDay: 6,
|
|
40
|
+
},
|
|
41
|
+
// {
|
|
42
|
+
// id: CardGroupEnum.REINFORCED_CHECKLIST_GROUP,
|
|
43
|
+
// label: 'Checklist',
|
|
44
|
+
// types: [CardType.REINFORCED_CHECKLIST],
|
|
45
|
+
// maxByDay: 6,
|
|
46
|
+
// },
|
|
47
|
+
] as const;
|
|
48
|
+
|
|
49
|
+
export const CardTypeLabel = [
|
|
50
|
+
{
|
|
51
|
+
id: CardType.BALANCE_SHEET,
|
|
52
|
+
label: 'Bilan',
|
|
53
|
+
refLabel: 'B',
|
|
54
|
+
groupId: CardGroupEnum.BALANCE_SHEET_GROUP,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: CardType.BALANCE_SHEET_INTERMEDIATE,
|
|
58
|
+
label: 'Bilan inter.',
|
|
59
|
+
refLabel: 'BI',
|
|
60
|
+
groupId: CardGroupEnum.BALANCE_SHEET_GROUP,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: CardType.BALANCE_SHEET_PREVISIONAL,
|
|
64
|
+
label: 'Bilan prévi.',
|
|
65
|
+
refLabel: 'BP',
|
|
66
|
+
groupId: CardGroupEnum.BALANCE_SHEET_GROUP,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: CardType.BALANCE_SHEET_LIQUIDATION,
|
|
70
|
+
label: 'Bilan liquid.',
|
|
71
|
+
refLabel: 'BL',
|
|
72
|
+
groupId: CardGroupEnum.BALANCE_SHEET_GROUP,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: CardType.BALANCE_SHEET_EXPRESS,
|
|
76
|
+
label: 'Bilan express',
|
|
77
|
+
refLabel: 'BE',
|
|
78
|
+
groupId: CardGroupEnum.BALANCE_SHEET_GROUP,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
id: CardType.VAT,
|
|
82
|
+
label: 'TVA',
|
|
83
|
+
refLabel: 'TVA',
|
|
84
|
+
groupId: CardGroupEnum.VAT_GROUP,
|
|
85
|
+
},
|
|
86
|
+
// {
|
|
87
|
+
// id: CardType.REINFORCED_CHECKLIST,
|
|
88
|
+
// label: 'Checklist',
|
|
89
|
+
// groupId: CardGroupEnum.REINFORCED_CHECKLIST_GROUP,
|
|
90
|
+
// },
|
|
91
|
+
] as const;
|
|
92
|
+
|
|
93
|
+
export interface UserCardsStats {
|
|
94
|
+
idType: CardType;
|
|
95
|
+
nbTodo: number;
|
|
96
|
+
nbDone: number;
|
|
97
|
+
nbInProgress: number;
|
|
98
|
+
nbNotDone: number;
|
|
99
|
+
nbPostponed: number;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export interface UserCardsStatsGroup {
|
|
103
|
+
idGroup: CardGroupEnum;
|
|
104
|
+
totalTodo: number;
|
|
105
|
+
totalDone: number;
|
|
106
|
+
totalInProgress: number;
|
|
107
|
+
totalNotDone: number;
|
|
108
|
+
totalPostponed: number;
|
|
109
|
+
details: UserCardsStats[];
|
|
110
|
+
}
|