@silexpert/core 1.1.307 → 1.1.309
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/CommercialDocument.d.ts +3 -1
- package/dist/cjs/api/resources/CommercialDocument.d.ts.map +1 -1
- package/dist/cjs/api/resources/CommercialDocument.js +9 -0
- package/dist/cjs/api/resources/CommercialDocument.js.map +1 -1
- package/dist/cjs/types/Enum/Card.d.ts +24 -2
- package/dist/cjs/types/Enum/Card.d.ts.map +1 -1
- package/dist/cjs/types/Enum/Card.js +26 -0
- package/dist/cjs/types/Enum/Card.js.map +1 -1
- package/dist/cjs/types/Enum/EstimateInvoice.d.ts +4 -0
- package/dist/cjs/types/Enum/EstimateInvoice.d.ts.map +1 -1
- package/dist/cjs/types/Enum/EstimateInvoice.js +27 -1
- package/dist/cjs/types/Enum/EstimateInvoice.js.map +1 -1
- package/dist/cjs/types/Enum/PriceGridClementine.js +1 -1
- package/dist/cjs/types/Enum/PriceGridClementine.js.map +1 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Query.d.ts +6 -0
- package/dist/cjs/types/Interface/api/commercialManagement/Query.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Query.js +26 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Query.js.map +1 -1
- package/dist/cjs/types/Interface/api/payment/Util.d.ts +3 -0
- package/dist/cjs/types/Interface/api/payment/Util.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/payment/Util.js.map +1 -1
- package/dist/cjs/types/Interface/models/IPrestation.d.ts +1 -0
- package/dist/cjs/types/Interface/models/IPrestation.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IPrestation.js.map +1 -1
- package/dist/cjs/utils/payment.d.ts +2 -0
- package/dist/cjs/utils/payment.d.ts.map +1 -1
- package/dist/cjs/utils/payment.js +84 -33
- package/dist/cjs/utils/payment.js.map +1 -1
- package/dist/cjs/utils/tests/payment.spec.js +36 -0
- package/dist/cjs/utils/tests/payment.spec.js.map +1 -1
- package/dist/mjs/api/resources/CommercialDocument.d.ts +3 -1
- package/dist/mjs/api/resources/CommercialDocument.d.ts.map +1 -1
- package/dist/mjs/api/resources/CommercialDocument.js +9 -0
- package/dist/mjs/api/resources/CommercialDocument.js.map +1 -1
- package/dist/mjs/types/Enum/Card.d.ts +24 -2
- package/dist/mjs/types/Enum/Card.d.ts.map +1 -1
- package/dist/mjs/types/Enum/Card.js +26 -0
- package/dist/mjs/types/Enum/Card.js.map +1 -1
- package/dist/mjs/types/Enum/EstimateInvoice.d.ts +4 -0
- package/dist/mjs/types/Enum/EstimateInvoice.d.ts.map +1 -1
- package/dist/mjs/types/Enum/EstimateInvoice.js +26 -0
- package/dist/mjs/types/Enum/EstimateInvoice.js.map +1 -1
- package/dist/mjs/types/Enum/PriceGridClementine.js +1 -1
- package/dist/mjs/types/Enum/PriceGridClementine.js.map +1 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Query.d.ts +6 -0
- package/dist/mjs/types/Interface/api/commercialManagement/Query.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Query.js +29 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Query.js.map +1 -1
- package/dist/mjs/types/Interface/api/payment/Util.d.ts +3 -0
- package/dist/mjs/types/Interface/api/payment/Util.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/payment/Util.js.map +1 -1
- package/dist/mjs/types/Interface/models/IPrestation.d.ts +1 -0
- package/dist/mjs/types/Interface/models/IPrestation.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IPrestation.js.map +1 -1
- package/dist/mjs/utils/payment.d.ts +2 -0
- package/dist/mjs/utils/payment.d.ts.map +1 -1
- package/dist/mjs/utils/payment.js +84 -34
- package/dist/mjs/utils/payment.js.map +1 -1
- package/dist/mjs/utils/tests/payment.spec.js +37 -1
- package/dist/mjs/utils/tests/payment.spec.js.map +1 -1
- package/package.json +1 -1
- package/ts/api/resources/CommercialDocument.ts +11 -0
- package/ts/types/Enum/Card.ts +27 -0
- package/ts/types/Enum/EstimateInvoice.ts +28 -1
- package/ts/types/Enum/PriceGridClementine.ts +1 -1
- package/ts/types/Interface/api/commercialManagement/Query.ts +21 -1
- package/ts/types/Interface/api/payment/Util.ts +3 -0
- package/ts/types/Interface/models/IPrestation.ts +1 -0
- package/ts/utils/payment.ts +87 -34
- package/ts/utils/tests/payment.spec.ts +37 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.spec.js","sourceRoot":"","sources":["../../../../ts/utils/tests/payment.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { IRegulation, Vat, PaymentMethod } from '../../types';\nimport MockDate from 'mockdate';\n\nimport { calculatePaymentsAuto } from '../payment';\nimport { PartialExercicePrestationExpress } from '../../types/Interface/api/payment/Util';\n\ndescribe('Payment', () => {\n describe('calculatePayments', () => {\n const idPrestation = 1;\n const idSociety = 1;\n const yearlyAmountNonExpress = 1800;\n const nextYearlyAmountNonExpress = 1800;\n const appCost = 14.9;\n\n const firstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate(); \n const prestationList = {\n id: 34,\n name: 'Compta Pro',\n isComptable: true,\n isJuridique: false,\n isSocial: false,\n isAttestation: false,\n inAverageCart: true,\n isBack: false,\n minimumPrice: null,\n price: null,\n isCatalog: false,\n isPlannable: false,\n hidden: false,\n isComplementary: false,\n signaturePosition: '400,54,569,90',\n signaturePage: 7,\n };\n const idVat = Vat.TX_10.id;\n const vatRate = Object.values(Vat).find(v => v.id === idVat)?.value ?? 20;\n const listPartialExercicePrestationExpress:PartialExercicePrestationExpress[] = [\n {\n startDate: dayjs().subtract(2, 'year').startOf('month').toDate(), \n endDate: dayjs().subtract(13, 'month').endOf('month').toDate(), \n countExpressMonthlyPayment: 2,\n totalAmount: 1200,\n },\n {\n startDate: dayjs().subtract(1, 'year').startOf('month').toDate(), \n endDate: dayjs().subtract(1, 'month').endOf('month').toDate(), \n countExpressMonthlyPayment: 2,\n totalAmount: 1800,\n },\n ];\n const listRegulations:IRegulation[] = [{\n amount: 600,\n amountUsed: 0,\n date: new Date(),\n processed: true,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }, {\n amount: 300,\n amountUsed: 0,\n date: new Date(),\n processed: true,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }, {\n amount: 300,\n amountUsed: 300,\n date: new Date(),\n processed: true,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }];\n\n // =====================\n // errors handling\n // =====================\n test('should return error if prestationList doesn\\'t correspond (!hidden, isCatalog, isComptable)', () => {\n expect.assertions(2);\n try {\n prestationList.hidden = true;\n calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList: {\n ...prestationList,\n isCatalog: true,\n },\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n } catch (error) {\n expect(error).toBeInstanceOf(Error);\n // @ts-ignore\n expect(error.message).toStrictEqual('Ce type de prestation ne correspond pas aux conditions attendues.');\n }\n });\n test('should return error if listRegulations is empty', () => {\n expect.assertions(2);\n try {\n calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations: [],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n } catch (error) {\n expect(error).toBeInstanceOf(Error);\n // @ts-ignore\n expect(error.message).toStrictEqual('List of regulations can not be empty');\n }\n });\n test('should listRegulations contain amount and amountUsed', () => {\n expect.assertions(2);\n try {\n calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations: [{ processed: true } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n } catch (error) {\n expect(error).toBeInstanceOf(Error);\n // @ts-ignore\n expect(error.message).toStrictEqual('Amount and amountUsed are missing for regulations');\n }\n });\n\n // =====================\n // logical\n // =====================\n // express\n test('if only one express, monthly payments of actual exo should be in parallel of express monthly payments, smoothed in number of remaining months (mini 3 months) (if not in 3 last month)', async () => {\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [listPartialExercicePrestationExpress[0]],\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const firstExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0)[0].datePayment;\n const firstNonExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)[0].datePayment;\n expect(dayjs(firstNonExpressDatePayment).diff(firstExpressDatePayment, 'month')).toStrictEqual(0);\n });\n test('if more than one express, monthly payments of actual exo should be in a row of express monthly payments and smoothed, smoothed in number of remaining months after express monthly payments (mini 3 months) (if in 3 last month of exercice)', async () => {\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const lastExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0).splice(-1)?.[0]?.datePayment;\n const firstNonExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)?.[0]?.datePayment;\n expect(dayjs(firstNonExpressDatePayment).diff(lastExpressDatePayment, 'month')).toStrictEqual(1);\n });\n // non express\n test('should return a number of payments equal to nb of remaining months in exercice (if not in 3 last months)', async () => {\n const mockedDate = dayjs('2024-05-15').toDate();\n MockDate.set(mockedDate);\n \n const nbMonthDelay = 6;\n const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n // const listNonExpressPayments = payments.filter(p => p.closingDate === newFirstExerciceNonExpresssEndDate);\n const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);\n expect(listNonExpressPayments.length).toStrictEqual(nbMonthDelay);\n \n MockDate.reset();\n });\n test('should return a number of payments equal to 3 (if in 3 last month of exercice)', async () => {\n const nbMonthDelay = 1;\n const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);\n expect(listNonExpressPayments.length).toStrictEqual(3);\n });\n test('should (yearlyAmountNonExpress - sum of listRegulations) / count of monthly payments be equal to monthly payment amount (if not in 3 last month)', async () => {\n const mockedDate = dayjs('2024-05-15').toDate();\n MockDate.set(mockedDate);\n \n const nbMonthDelay = 6;\n const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();\n const newListRegulations = [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation];\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: newListRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n \n const diff = yearlyAmountNonExpress - newListRegulations.reduce((acc, r:IRegulation) => acc + r.amount - r.amountUsed, 0);\n const amount = Math.round(100 * diff / nbMonthDelay) / 100;\n\n expect(payments[0].amount).toStrictEqual(Math.round(100 * amount * ((100 + vatRate) / 100)) / 100);\n \n MockDate.reset();\n });\n test('should (totalAmount - firstPaymentAmount) / 3 be equal to monthly payment amount (if in 3 last month of exercice)', async () => {\n const nbMonthDelay = 1;\n const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();\n const newListRegulations = [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation];\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: newListRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const diff = yearlyAmountNonExpress - newListRegulations.reduce((acc, r:IRegulation) => acc + r.amount - r.amountUsed, 0);\n const amount = Math.round(100 * diff / 3) / 100;\n\n expect(payments[0].amount).toStrictEqual(Math.round(100 * amount * ((100 + vatRate) / 100)) / 100);\n });\n // annual price increase\n test('should apply annual price increase (2,75%) if signed before last 3 months of civil year', async () => {\n const mockedDate = dayjs('2024-08-15').toDate();\n MockDate.set(mockedDate);\n\n const newFirstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate();\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);\n expect(Math.round(100 * listNonExpressPayments[0].amount * 1.0275) / 100).toStrictEqual(listNonExpressPayments.splice(-2)[0].amount);\n\n MockDate.reset();\n });\n test('should not apply annual price increase (2,75%) if signed in last 3 months of civil year', async () => {\n const mockedDate = dayjs('2024-11-15').toDate();\n MockDate.set(mockedDate);\n \n const newFirstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate();\n \n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n \n const listNonExpressPayments = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-06-01')) === 0);\n expect(listNonExpressPayments[0].amount).toStrictEqual(listNonExpressPayments.splice(-2)[0].amount);\n \n MockDate.reset();\n });\n\n test('should apply 14,9€ HT increase for the second exercice created (only offered on first exo) (no rules for 3 last months)', async () => {\n const mockedDate = dayjs('2024-06-15').toDate();\n MockDate.set(mockedDate);\n \n const newFirstExerciceNonExpresssEndDate = dayjs().add(12, 'month').endOf('month').toDate();\n \n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 50,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n \n const paymentsOfFirstExo = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-06-01')) === 0).splice(-1)[0].amount ?? 0;\n const paymentsOfSecondExo = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-07-01')) === 0).splice(-1)[0].amount ?? 0;\n expect(paymentsOfFirstExo + appCost * ((100 + vatRate) / 100)).toStrictEqual(paymentsOfSecondExo);\n \n MockDate.reset();\n });\n \n // misc\n test('should payments been generated sorted by exercices start date', async () => {\n const listPartialExercicePrestationExpressCloned = [...listPartialExercicePrestationExpress];\n listPartialExercicePrestationExpressCloned[0] = { \n ...listPartialExercicePrestationExpress[0],\n startDate: dayjs().add(1, 'year').startOf('month').toDate(), \n };\n listPartialExercicePrestationExpressCloned[1] = { \n ...listPartialExercicePrestationExpress[1],\n startDate: dayjs().startOf('month').toDate(), \n };\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: listPartialExercicePrestationExpressCloned,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(payments.length).toBeGreaterThanOrEqual(4);\n expect(dayjs(payments[payments.length - 1].datePayment).diff(dayjs(payments?.[0]?.datePayment), 'month')).toBeGreaterThan(0);\n });\n test('if regulations are bigger than sum exercice prestation amounts, should pass some exercice payments', async () => {\n const mockedDate = dayjs('2024-03-15').toDate();\n MockDate.set(mockedDate);\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations: [{\n amount: 2000,\n amountUsed: 0,\n date: new Date(),\n processed: true,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(payments.length).toBeGreaterThanOrEqual(2);\n expect(payments[0]).toMatchObject(\n {\n amount: 550,\n datePayment: dayjs(mockedDate).add(1, 'month').startOf('month').toDate(),\n idPrestation: 1,\n idPaymentMethod: 1,\n });\n expect(payments[1]).toMatchObject(\n {\n amount: 550,\n datePayment: dayjs(mockedDate).add(2, 'month').startOf('month').toDate(),\n idPrestation: 1,\n idPaymentMethod: 1,\n });\n MockDate.reset();\n });\n test('should not consider actual month if signed in last 3 days of month', async () => {\n const mockedDate = dayjs('2024-03-29').toDate();\n MockDate.set(mockedDate);\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(payments.length).toBeGreaterThanOrEqual(4);\n expect(payments?.[0]?.datePayment).toStrictEqual(dayjs(mockedDate).add(2, 'month').startOf('month').toDate());\n MockDate.reset();\n });\n test('last payment returned should be last of a year (12/XX)', async () => {\n const mockedDate = dayjs('2024-03-29').toDate();\n MockDate.set(mockedDate);\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(payments.length).toBeGreaterThanOrEqual(4);\n expect(dayjs(payments[payments.length - 1].datePayment).month()).toStrictEqual(11);\n });\n test('first payment and last payment should have at least one year difference (ex. : 23 - 24)', async () => {\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(dayjs(payments.slice(-1)?.[0]?.datePayment).diff(dayjs(payments?.[0]?.datePayment), 'year', true)).toBeGreaterThan(1);\n });\n test('real case : idSociety 114440', async () => {\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: dayjs('2024-12-31').toDate(), \n idPrestation,\n prestationList,\n idVat: Vat.TX_20.id,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 1006.8,\n amountUsed: 0,\n date: dayjs('2024-06-06').toDate(), \n processed: false,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }],\n yearlyAmountNonExpress: 1433, nextYearlyAmountNonExpress: 1433 });\n expect(dayjs(payments.slice(-1)?.[0]?.datePayment).diff(dayjs(payments?.[0]?.datePayment), 'year', true)).toBeGreaterThan(1);\n });\n });\n});"]}
|
|
1
|
+
{"version":3,"file":"payment.spec.js","sourceRoot":"","sources":["../../../../ts/utils/tests/payment.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { IRegulation, Vat, PaymentMethod, LegalFormTypeEnum } from '../../types';\nimport MockDate from 'mockdate';\n\nimport { calculatePaymentsAuto } from '../payment';\nimport { PartialExercicePrestationExpress } from '../../types/Interface/api/payment/Util';\n\ndescribe('Payment', () => {\n describe('calculatePayments', () => {\n const idPrestation = 1;\n const idSociety = 1;\n const yearlyAmountNonExpress = 1800;\n const nextYearlyAmountNonExpress = 1800;\n const appCost = 14.9;\n\n const firstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate(); \n const prestationList = {\n id: 34,\n name: 'Compta Pro',\n isComptable: true,\n isJuridique: false,\n isSocial: false,\n isAttestation: false,\n inAverageCart: true,\n isBack: false,\n minimumPrice: null,\n price: null,\n isCatalog: false,\n isPlannable: false,\n hidden: false,\n isComplementary: false,\n signaturePosition: '400,54,569,90',\n signaturePage: 7,\n };\n const idVat = Vat.TX_10.id;\n const vatRate = Object.values(Vat).find(v => v.id === idVat)?.value ?? 20;\n const listPartialExercicePrestationExpress:PartialExercicePrestationExpress[] = [\n {\n startDate: dayjs().subtract(2, 'year').startOf('month').toDate(), \n endDate: dayjs().subtract(13, 'month').endOf('month').toDate(), \n countExpressMonthlyPayment: 2,\n totalAmount: 1200,\n },\n {\n startDate: dayjs().subtract(1, 'year').startOf('month').toDate(), \n endDate: dayjs().subtract(1, 'month').endOf('month').toDate(), \n countExpressMonthlyPayment: 2,\n totalAmount: 1800,\n },\n ];\n const listRegulations:IRegulation[] = [{\n amount: 600,\n amountUsed: 0,\n date: new Date(),\n processed: true,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }, {\n amount: 300,\n amountUsed: 0,\n date: new Date(),\n processed: true,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }, {\n amount: 300,\n amountUsed: 300,\n date: new Date(),\n processed: true,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }];\n\n // =====================\n // errors handling\n // =====================\n test('should return error if prestationList doesn\\'t correspond (!hidden, isCatalog, isComptable)', () => {\n expect.assertions(2);\n try {\n prestationList.hidden = true;\n calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList: {\n ...prestationList,\n isCatalog: true,\n },\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n } catch (error) {\n expect(error).toBeInstanceOf(Error);\n // @ts-ignore\n expect(error.message).toStrictEqual('Ce type de prestation ne correspond pas aux conditions attendues.');\n }\n });\n test('should return error if listRegulations is empty', () => {\n expect.assertions(2);\n try {\n calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations: [],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n } catch (error) {\n expect(error).toBeInstanceOf(Error);\n // @ts-ignore\n expect(error.message).toStrictEqual('List of regulations can not be empty');\n }\n });\n test('should listRegulations contain amount and amountUsed', () => {\n expect.assertions(2);\n try {\n calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations: [{ processed: true } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n } catch (error) {\n expect(error).toBeInstanceOf(Error);\n // @ts-ignore\n expect(error.message).toStrictEqual('Amount and amountUsed are missing for regulations');\n }\n });\n\n // =====================\n // logical\n // =====================\n // express\n test('if only one express, monthly payments of actual exo should be in parallel of express monthly payments, smoothed in number of remaining months (mini 3 months) (if not in 3 last month)', async () => {\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [listPartialExercicePrestationExpress[0]],\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const firstExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0)[0].datePayment;\n const firstNonExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)[0].datePayment;\n expect(dayjs(firstNonExpressDatePayment).diff(firstExpressDatePayment, 'month')).toStrictEqual(0);\n });\n test('if more than one express, monthly payments of actual exo should be in a row of express monthly payments and smoothed, smoothed in number of remaining months after express monthly payments (mini 3 months) (if in 3 last month of exercice)', async () => {\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const lastExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0).splice(-1)?.[0]?.datePayment;\n const firstNonExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)?.[0]?.datePayment;\n expect(dayjs(firstNonExpressDatePayment).diff(lastExpressDatePayment, 'month')).toStrictEqual(1);\n });\n // non express\n test('should return a number of payments equal to nb of remaining months in exercice (if not in 3 last months)', async () => {\n const mockedDate = dayjs('2024-05-15').toDate();\n MockDate.set(mockedDate);\n \n const nbMonthDelay = 6;\n const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n // const listNonExpressPayments = payments.filter(p => p.closingDate === newFirstExerciceNonExpresssEndDate);\n const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);\n expect(listNonExpressPayments.length).toStrictEqual(nbMonthDelay);\n \n MockDate.reset();\n });\n test('should return a number of payments equal to 3 (if in 3 last month of exercice)', async () => {\n const nbMonthDelay = 1;\n const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);\n expect(listNonExpressPayments.length).toStrictEqual(3);\n });\n test('should (yearlyAmountNonExpress - sum of listRegulations) / count of monthly payments be equal to monthly payment amount (if not in 3 last month)', async () => {\n const mockedDate = dayjs('2024-05-15').toDate();\n MockDate.set(mockedDate);\n \n const nbMonthDelay = 6;\n const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();\n const newListRegulations = [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation];\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: newListRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n \n const diff = yearlyAmountNonExpress - newListRegulations.reduce((acc, r:IRegulation) => acc + r.amount - r.amountUsed, 0);\n const amount = Math.round(100 * diff / nbMonthDelay) / 100;\n\n expect(payments[0].amount).toStrictEqual(Math.round(100 * amount * ((100 + vatRate) / 100)) / 100);\n \n MockDate.reset();\n });\n test('should (totalAmount - firstPaymentAmount) / 3 be equal to monthly payment amount (if in 3 last month of exercice)', async () => {\n const nbMonthDelay = 1;\n const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();\n const newListRegulations = [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation];\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: newListRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const diff = yearlyAmountNonExpress - newListRegulations.reduce((acc, r:IRegulation) => acc + r.amount - r.amountUsed, 0);\n const amount = Math.round(100 * diff / 3) / 100;\n\n expect(payments[0].amount).toStrictEqual(Math.round(100 * amount * ((100 + vatRate) / 100)) / 100);\n });\n // annual price increase\n test('should apply annual price increase (2,75%) if signed before last 3 months of civil year', async () => {\n const mockedDate = dayjs('2024-08-15').toDate();\n MockDate.set(mockedDate);\n\n const newFirstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate();\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n\n const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);\n expect(Math.round(100 * listNonExpressPayments[0].amount * 1.0275) / 100).toStrictEqual(listNonExpressPayments.splice(-2)[0].amount);\n\n MockDate.reset();\n });\n test('should not apply annual price increase (2,75%) if signed in last 3 months of civil year', async () => {\n const mockedDate = dayjs('2024-11-15').toDate();\n MockDate.set(mockedDate);\n \n const newFirstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate();\n \n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 0,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n \n const listNonExpressPayments = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-06-01')) === 0);\n expect(listNonExpressPayments[0].amount).toStrictEqual(listNonExpressPayments.splice(-2)[0].amount);\n \n MockDate.reset();\n });\n\n test('should apply 14,9€ HT increase for the second exercice created (only offered on first exo) (no rules for 3 last months)', async () => {\n const mockedDate = dayjs('2024-06-15').toDate();\n MockDate.set(mockedDate);\n \n const newFirstExerciceNonExpresssEndDate = dayjs().add(12, 'month').endOf('month').toDate();\n \n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 50,\n amountUsed: 50,\n } as IRegulation],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n \n const paymentsOfFirstExo = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-06-01')) === 0).splice(-1)[0].amount ?? 0;\n const paymentsOfSecondExo = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-07-01')) === 0).splice(-1)[0].amount ?? 0;\n expect(paymentsOfFirstExo + appCost * ((100 + vatRate) / 100)).toStrictEqual(paymentsOfSecondExo);\n \n MockDate.reset();\n });\n \n // misc\n test('should payments been generated sorted by exercices start date', async () => {\n const listPartialExercicePrestationExpressCloned = [...listPartialExercicePrestationExpress];\n listPartialExercicePrestationExpressCloned[0] = { \n ...listPartialExercicePrestationExpress[0],\n startDate: dayjs().add(1, 'year').startOf('month').toDate(), \n };\n listPartialExercicePrestationExpressCloned[1] = { \n ...listPartialExercicePrestationExpress[1],\n startDate: dayjs().startOf('month').toDate(), \n };\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: listPartialExercicePrestationExpressCloned,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(payments.length).toBeGreaterThanOrEqual(4);\n expect(dayjs(payments[payments.length - 1].datePayment).diff(dayjs(payments?.[0]?.datePayment), 'month')).toBeGreaterThan(0);\n });\n test('if regulations are bigger than sum exercice prestation amounts, should pass some exercice payments', async () => {\n const mockedDate = dayjs('2024-03-15').toDate();\n MockDate.set(mockedDate);\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations: [{\n amount: 2000,\n amountUsed: 0,\n date: new Date(),\n processed: true,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }],\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(payments.length).toBeGreaterThanOrEqual(2);\n expect(payments[0]).toMatchObject(\n {\n amount: 550,\n datePayment: dayjs(mockedDate).add(1, 'month').startOf('month').toDate(),\n idPrestation: 1,\n idPaymentMethod: 1,\n });\n expect(payments[1]).toMatchObject(\n {\n amount: 550,\n datePayment: dayjs(mockedDate).add(2, 'month').startOf('month').toDate(),\n idPrestation: 1,\n idPaymentMethod: 1,\n });\n MockDate.reset();\n });\n test('should not consider actual month if signed in last 3 days of month', async () => {\n const mockedDate = dayjs('2024-03-29').toDate();\n MockDate.set(mockedDate);\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(payments.length).toBeGreaterThanOrEqual(4);\n expect(payments?.[0]?.datePayment).toStrictEqual(dayjs(mockedDate).add(2, 'month').startOf('month').toDate());\n MockDate.reset();\n });\n test('last payment returned should be last of a year (12/XX)', async () => {\n const mockedDate = dayjs('2024-03-29').toDate();\n MockDate.set(mockedDate);\n\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress,\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(payments.length).toBeGreaterThanOrEqual(4);\n expect(dayjs(payments[payments.length - 1].datePayment).month()).toStrictEqual(11);\n });\n test('first payment and last payment should have at least one year difference (ex. : 23 - 24)', async () => {\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate, \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat,\n listPartialExercicePrestationExpress: [],\n listRegulations,\n yearlyAmountNonExpress,\n nextYearlyAmountNonExpress });\n expect(dayjs(payments.slice(-1)?.[0]?.datePayment).diff(dayjs(payments?.[0]?.datePayment), 'year', true)).toBeGreaterThan(1);\n });\n test('real case : idSociety 114440', async () => {\n const payments = calculatePaymentsAuto({ \n idTypeBrand: 1,\n goToClient: dayjs('2024-06-06').toDate(),\n firstExerciceNonExpresssEndDate: dayjs('2024-12-31').toDate(), \n idPrestation,\n isWithApplicationFees: true,\n idLegalForm: LegalFormTypeEnum.SARL,\n prestationList,\n idVat: Vat.TX_20.id,\n listPartialExercicePrestationExpress: [],\n listRegulations: [{\n amount: 1006.8,\n amountUsed: 0,\n date: dayjs('2024-06-06').toDate(), \n processed: false,\n idPaymentMethod: PaymentMethod.BANK_CARD.id,\n idSociety,\n }],\n yearlyAmountNonExpress: 1433, nextYearlyAmountNonExpress: 1433 });\n expect(dayjs(payments.slice(-1)?.[0]?.datePayment).diff(dayjs(payments?.[0]?.datePayment), 'year', true)).toBeGreaterThan(1);\n });\n });\n});"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { CancelToken } from 'axios';
|
|
2
3
|
import { Resource } from '../Resource';
|
|
3
|
-
import { BasePaginate, CreateInvoiceDocument, CreatePreSaleDocument, CreateRegenerateDocument, EstimateInvoiceType, IEstimateInvoice, QueryCountByStatus, QueryDocumentPaginated, QueryNextReference, QueryPaginate, ReadCountDocumentByStatus, ReadEstimateInvoice, ReadPreview, UpdateCommercialDocument } from '../../types';
|
|
4
|
+
import { BasePaginate, CreateInvoiceDocument, CreatePreSaleDocument, CreateRegenerateDocument, EstimateInvoiceType, IEstimateInvoice, QueryCountByStatus, QueryDocumentPaginated, QueryExportCommercialManagementIntoCSV, QueryNextReference, QueryPaginate, ReadCountDocumentByStatus, ReadEstimateInvoice, ReadPreview, UpdateCommercialDocument } from '../../types';
|
|
4
5
|
export declare class CommercialDocument extends Resource {
|
|
5
6
|
get(id: number): Promise<ReadEstimateInvoice>;
|
|
6
7
|
update(id: number, payload: UpdateCommercialDocument): Promise<{
|
|
@@ -18,5 +19,6 @@ export declare class CommercialDocument extends Resource {
|
|
|
18
19
|
getFormValues(id: number): Promise<CreatePreSaleDocument>;
|
|
19
20
|
getDefaultFormValues(idEstimateInvoiceType: EstimateInvoiceType): Promise<CreatePreSaleDocument>;
|
|
20
21
|
getStatistics(idSociety: number, params: QueryCountByStatus): Promise<ReadCountDocumentByStatus>;
|
|
22
|
+
export(payload: QueryExportCommercialManagementIntoCSV): Promise<Buffer>;
|
|
21
23
|
}
|
|
22
24
|
//# sourceMappingURL=CommercialDocument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommercialDocument.d.ts","sourceRoot":"","sources":["../../../../ts/api/resources/CommercialDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAErB,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI7C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAI1F,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7D,YAAY,CACV,MAAM,EAAE,sBAAsB,GAAG,aAAa,EAC9C,WAAW,CAAC,EAAE,WAAW,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAQ7C,cAAc,CACZ,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,GAC5D,OAAO,CAAC,gBAAgB,CAAC;IAO5B,WAAW,CACT,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,GAC5D,OAAO,CAAC,gBAAgB,CAAC;IAO5B,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAI5B,WAAW,CACT,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAI5B,OAAO,CACL,qBAAqB,EAAE,mBAAmB,EAC1C,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,GACrD,OAAO,CAAC,WAAW,CAAC;IAOvB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIpF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIzD,oBAAoB,CAClB,qBAAqB,EAAE,mBAAmB,GACzC,OAAO,CAAC,qBAAqB,CAAC;IAMjC,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"CommercialDocument.d.ts","sourceRoot":"","sources":["../../../../ts/api/resources/CommercialDocument.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,sCAAsC,EACtC,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAErB,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI7C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAI1F,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7D,YAAY,CACV,MAAM,EAAE,sBAAsB,GAAG,aAAa,EAC9C,WAAW,CAAC,EAAE,WAAW,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAQ7C,cAAc,CACZ,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,GAC5D,OAAO,CAAC,gBAAgB,CAAC;IAO5B,WAAW,CACT,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,GAC5D,OAAO,CAAC,gBAAgB,CAAC;IAO5B,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAI5B,WAAW,CACT,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAI5B,OAAO,CACL,qBAAqB,EAAE,mBAAmB,EAC1C,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,GACrD,OAAO,CAAC,WAAW,CAAC;IAOvB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIpF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIzD,oBAAoB,CAClB,qBAAqB,EAAE,mBAAmB,GACzC,OAAO,CAAC,qBAAqB,CAAC;IAMjC,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,yBAAyB,CAAC;IAOrC,MAAM,CAAC,OAAO,EAAE,sCAAsC,GAAG,OAAO,CAAC,MAAM,CAAC;CASzE"}
|
|
@@ -60,5 +60,14 @@ export class CommercialDocument extends Resource {
|
|
|
60
60
|
getStatistics(idSociety, params) {
|
|
61
61
|
return this.axios.$get(`/commercial-management/societies/${idSociety}/statistics`, { params });
|
|
62
62
|
}
|
|
63
|
+
export(payload) {
|
|
64
|
+
return this.axios.$get('/commercial-management/exports/csv', {
|
|
65
|
+
params: payload,
|
|
66
|
+
responseType: 'arraybuffer',
|
|
67
|
+
headers: {
|
|
68
|
+
Accept: 'application/csv',
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
}
|
|
63
72
|
}
|
|
64
73
|
//# sourceMappingURL=CommercialDocument.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommercialDocument.js","sourceRoot":"","sources":["../../../../ts/api/resources/CommercialDocument.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAKL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"CommercialDocument.js","sourceRoot":"","sources":["../../../../ts/api/resources/CommercialDocument.ts"],"names":[],"mappings":"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","sourcesContent":["import { CancelToken } from 'axios';\nimport { Resource } from '../Resource';\nimport {\n BasePaginate,\n CreateInvoiceDocument,\n CreatePreSaleDocument,\n CreateRegenerateDocument,\n EstimateInvoiceType,\n IEstimateInvoice,\n QueryCountByStatus,\n QueryDocumentPaginated,\n QueryExportCommercialManagementIntoCSV,\n QueryNextReference,\n QueryPaginate,\n ReadCountDocumentByStatus,\n ReadEstimateInvoice,\n ReadPreview,\n UpdateCommercialDocument,\n} from '../../types';\n\nexport class CommercialDocument extends Resource {\n get(id: number): Promise<ReadEstimateInvoice> {\n return this.axios.$get(`/commercial-management/documents/${id}`);\n }\n\n update(id: number, payload: UpdateCommercialDocument): Promise<{ data: IEstimateInvoice }> {\n return this.axios.patch(`/commercial-management/documents/${id}`, payload);\n }\n\n delete(id: number): Promise<true> {\n return this.axios.$delete(`/commercial-management/documents/${id}`);\n }\n\n getNextReference(params: QueryNextReference): Promise<string> {\n return this.axios.$get('/commercial-management/documents/references', {\n params,\n });\n }\n\n getPaginated(\n params: QueryDocumentPaginated & QueryPaginate,\n cancelToken?: CancelToken,\n signal?: AbortSignal,\n ): Promise<BasePaginate<ReadEstimateInvoice>> {\n return this.axios.$get('/commercial-management/documents', {\n ...(cancelToken ? { cancelToken } : {}),\n ...(signal ? { signal } : {}),\n params,\n });\n }\n\n createEstimate(\n payload: Omit<CreatePreSaleDocument, 'idEstimateInvoiceType'>,\n ): Promise<IEstimateInvoice> {\n return this.axios.$post('/commercial-management/estimates', {\n ...payload,\n idEstimateInvoiceType: EstimateInvoiceType.DEVIS,\n });\n }\n\n createOrder(\n payload: Omit<CreatePreSaleDocument, 'idEstimateInvoiceType'>,\n ): Promise<IEstimateInvoice> {\n return this.axios.$post('/commercial-management/orders', {\n ...payload,\n idEstimateInvoiceType: EstimateInvoiceType.BON,\n });\n }\n\n updateEstimate(\n id: number,\n payload: CreatePreSaleDocument,\n ): Promise<IEstimateInvoice> {\n return this.axios.$put(`/commercial-management/estimates/${id}`, payload);\n }\n\n updateOrder(\n id: number,\n payload: CreatePreSaleDocument,\n ): Promise<IEstimateInvoice> {\n return this.axios.$put(`/commercial-management/orders/${id}`, payload);\n }\n\n preview(\n idEstimateInvoiceType: EstimateInvoiceType,\n payload: CreatePreSaleDocument | CreateInvoiceDocument,\n ): Promise<ReadPreview> {\n return this.axios.$post('/commercial-management/preview', {\n ...payload,\n idEstimateInvoiceType,\n });\n }\n\n regenerate(id: number, payload: CreateRegenerateDocument): Promise<IEstimateInvoice> {\n return this.axios.$post(`/commercial-management/documents/${id}/regenerate`, payload);\n }\n\n getFormValues(id: number): Promise<CreatePreSaleDocument> {\n return this.axios.$get(`/commercial-management/documents/${id}/inputs`);\n }\n\n getDefaultFormValues(\n idEstimateInvoiceType: EstimateInvoiceType,\n ): Promise<CreatePreSaleDocument> {\n return this.axios.$get('/commercial-management/documents/inputs', {\n params: { idEstimateInvoiceType },\n });\n }\n\n getStatistics(\n idSociety: number,\n params: QueryCountByStatus,\n ): Promise<ReadCountDocumentByStatus> {\n return this.axios.$get(\n `/commercial-management/societies/${idSociety}/statistics`,\n { params },\n );\n }\n\n export(payload: QueryExportCommercialManagementIntoCSV): Promise<Buffer> {\n return this.axios.$get('/commercial-management/exports/csv', {\n params: payload,\n responseType: 'arraybuffer',\n headers: {\n Accept: 'application/csv',\n },\n });\n }\n}\n"]}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import { Role } from './Role';
|
|
1
2
|
export declare enum CardType {
|
|
2
3
|
BALANCE_SHEET = 1,
|
|
3
4
|
BALANCE_SHEET_INTERMEDIATE = 2,
|
|
4
5
|
BALANCE_SHEET_PREVISIONAL = 3,
|
|
5
6
|
BALANCE_SHEET_LIQUIDATION = 4,
|
|
6
7
|
BALANCE_SHEET_EXPRESS = 5,
|
|
7
|
-
VAT = 6
|
|
8
|
+
VAT = 6,
|
|
9
|
+
CHECK_BALANCE_ANNOTATION_NEW_CLIENT = 8,
|
|
10
|
+
CHECK_BALANCE_ANNOTATION = 9
|
|
8
11
|
}
|
|
9
12
|
export declare enum CardState {
|
|
10
13
|
TODO = 1,
|
|
@@ -13,18 +16,27 @@ export declare enum CardState {
|
|
|
13
16
|
}
|
|
14
17
|
export declare enum CardGroupEnum {
|
|
15
18
|
BALANCE_SHEET_GROUP = 1,
|
|
16
|
-
VAT_GROUP = 2
|
|
19
|
+
VAT_GROUP = 2,
|
|
20
|
+
ACCEPTATION_GROUP = 4
|
|
17
21
|
}
|
|
18
22
|
export declare const CardGroup: readonly [{
|
|
19
23
|
readonly id: CardGroupEnum.BALANCE_SHEET_GROUP;
|
|
20
24
|
readonly label: "Bilans";
|
|
21
25
|
readonly types: CardType[];
|
|
26
|
+
readonly roles: readonly [Role.FRONT_OFFICE];
|
|
22
27
|
readonly maxByDay: 3;
|
|
23
28
|
}, {
|
|
24
29
|
readonly id: CardGroupEnum.VAT_GROUP;
|
|
25
30
|
readonly label: "Déclarations";
|
|
26
31
|
readonly types: CardType[];
|
|
32
|
+
readonly roles: readonly [Role.FRONT_OFFICE];
|
|
27
33
|
readonly maxByDay: 6;
|
|
34
|
+
}, {
|
|
35
|
+
readonly id: CardGroupEnum.ACCEPTATION_GROUP;
|
|
36
|
+
readonly label: "Contrôle solde bancaire & annotations";
|
|
37
|
+
readonly types: CardType[];
|
|
38
|
+
readonly roles: readonly [Role.DATA_OFFICER];
|
|
39
|
+
readonly maxByDay: 25;
|
|
28
40
|
}];
|
|
29
41
|
export declare const CardTypeLabel: readonly [{
|
|
30
42
|
readonly id: CardType.BALANCE_SHEET;
|
|
@@ -56,6 +68,16 @@ export declare const CardTypeLabel: readonly [{
|
|
|
56
68
|
readonly label: "TVA";
|
|
57
69
|
readonly refLabel: "TVA";
|
|
58
70
|
readonly groupId: CardGroupEnum.VAT_GROUP;
|
|
71
|
+
}, {
|
|
72
|
+
readonly id: CardType.CHECK_BALANCE_ANNOTATION_NEW_CLIENT;
|
|
73
|
+
readonly label: "Contrôle solde bancaire & mise en place annotation nouveau client";
|
|
74
|
+
readonly refLabel: "LABNC";
|
|
75
|
+
readonly groupId: CardGroupEnum.ACCEPTATION_GROUP;
|
|
76
|
+
}, {
|
|
77
|
+
readonly id: CardType.CHECK_BALANCE_ANNOTATION;
|
|
78
|
+
readonly label: "Contrôle solde bancaire & contrôle annotations client";
|
|
79
|
+
readonly refLabel: "LABC";
|
|
80
|
+
readonly groupId: CardGroupEnum.ACCEPTATION_GROUP;
|
|
59
81
|
}];
|
|
60
82
|
export interface UserCardsStats {
|
|
61
83
|
idType: CardType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/Card.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,aAAa,IAAI;IACjB,0BAA0B,IAAI;IAC9B,yBAAyB,IAAI;IAC7B,yBAAyB,IAAI;IAC7B,qBAAqB,IAAI;IACzB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,oBAAY,QAAQ;IAClB,aAAa,IAAI;IACjB,0BAA0B,IAAI;IAC9B,yBAAyB,IAAI;IAC7B,yBAAyB,IAAI;IAC7B,qBAAqB,IAAI;IACzB,GAAG,IAAI;IAEP,mCAAmC,IAAI;IACvC,wBAAwB,IAAI;CAC7B;AAED,oBAAY,SAAS;IACnB,IAAI,IAAI;IACR,WAAW,IAAI;IACf,IAAI,IAAI;CAMT;AAED,oBAAY,aAAa;IACvB,mBAAmB,IAAI;IACvB,SAAS,IAAI;IAEb,iBAAiB,IAAI;CACtB;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;EA6BZ,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDhB,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Role } from './Role';
|
|
1
2
|
export var CardType;
|
|
2
3
|
(function (CardType) {
|
|
3
4
|
CardType[CardType["BALANCE_SHEET"] = 1] = "BALANCE_SHEET";
|
|
@@ -7,6 +8,8 @@ export var CardType;
|
|
|
7
8
|
CardType[CardType["BALANCE_SHEET_EXPRESS"] = 5] = "BALANCE_SHEET_EXPRESS";
|
|
8
9
|
CardType[CardType["VAT"] = 6] = "VAT";
|
|
9
10
|
// REINFORCED_CHECKLIST = 7,
|
|
11
|
+
CardType[CardType["CHECK_BALANCE_ANNOTATION_NEW_CLIENT"] = 8] = "CHECK_BALANCE_ANNOTATION_NEW_CLIENT";
|
|
12
|
+
CardType[CardType["CHECK_BALANCE_ANNOTATION"] = 9] = "CHECK_BALANCE_ANNOTATION";
|
|
10
13
|
})(CardType || (CardType = {}));
|
|
11
14
|
export var CardState;
|
|
12
15
|
(function (CardState) {
|
|
@@ -24,26 +27,37 @@ export var CardGroupEnum;
|
|
|
24
27
|
CardGroupEnum[CardGroupEnum["BALANCE_SHEET_GROUP"] = 1] = "BALANCE_SHEET_GROUP";
|
|
25
28
|
CardGroupEnum[CardGroupEnum["VAT_GROUP"] = 2] = "VAT_GROUP";
|
|
26
29
|
// REINFORCED_CHECKLIST_GROUP = 3,
|
|
30
|
+
CardGroupEnum[CardGroupEnum["ACCEPTATION_GROUP"] = 4] = "ACCEPTATION_GROUP";
|
|
27
31
|
})(CardGroupEnum || (CardGroupEnum = {}));
|
|
28
32
|
export const CardGroup = [
|
|
29
33
|
{
|
|
30
34
|
id: CardGroupEnum.BALANCE_SHEET_GROUP,
|
|
31
35
|
label: 'Bilans',
|
|
32
36
|
types: [CardType.BALANCE_SHEET, CardType.BALANCE_SHEET_INTERMEDIATE, CardType.BALANCE_SHEET_PREVISIONAL, CardType.BALANCE_SHEET_LIQUIDATION, CardType.BALANCE_SHEET_EXPRESS],
|
|
37
|
+
roles: [Role.FRONT_OFFICE],
|
|
33
38
|
maxByDay: 3,
|
|
34
39
|
},
|
|
35
40
|
{
|
|
36
41
|
id: CardGroupEnum.VAT_GROUP,
|
|
37
42
|
label: 'Déclarations',
|
|
38
43
|
types: [CardType.VAT],
|
|
44
|
+
roles: [Role.FRONT_OFFICE],
|
|
39
45
|
maxByDay: 6,
|
|
40
46
|
},
|
|
41
47
|
// {
|
|
42
48
|
// id: CardGroupEnum.REINFORCED_CHECKLIST_GROUP,
|
|
43
49
|
// label: 'Checklist',
|
|
44
50
|
// types: [CardType.REINFORCED_CHECKLIST],
|
|
51
|
+
// roles: [Role.FRONT_OFFICE],
|
|
45
52
|
// maxByDay: 6,
|
|
46
53
|
// },
|
|
54
|
+
{
|
|
55
|
+
id: CardGroupEnum.ACCEPTATION_GROUP,
|
|
56
|
+
label: 'Contrôle solde bancaire & annotations',
|
|
57
|
+
types: [CardType.CHECK_BALANCE_ANNOTATION_NEW_CLIENT, CardType.CHECK_BALANCE_ANNOTATION],
|
|
58
|
+
roles: [Role.DATA_OFFICER],
|
|
59
|
+
maxByDay: 25,
|
|
60
|
+
},
|
|
47
61
|
];
|
|
48
62
|
export const CardTypeLabel = [
|
|
49
63
|
{
|
|
@@ -87,5 +101,17 @@ export const CardTypeLabel = [
|
|
|
87
101
|
// label: 'Checklist',
|
|
88
102
|
// groupId: CardGroupEnum.REINFORCED_CHECKLIST_GROUP,
|
|
89
103
|
// },
|
|
104
|
+
{
|
|
105
|
+
id: CardType.CHECK_BALANCE_ANNOTATION_NEW_CLIENT,
|
|
106
|
+
label: 'Contrôle solde bancaire & mise en place annotation nouveau client',
|
|
107
|
+
refLabel: 'LABNC',
|
|
108
|
+
groupId: CardGroupEnum.ACCEPTATION_GROUP,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
id: CardType.CHECK_BALANCE_ANNOTATION,
|
|
112
|
+
label: 'Contrôle solde bancaire & contrôle annotations client',
|
|
113
|
+
refLabel: 'LABC',
|
|
114
|
+
groupId: CardGroupEnum.ACCEPTATION_GROUP,
|
|
115
|
+
},
|
|
90
116
|
];
|
|
91
117
|
//# sourceMappingURL=Card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../../ts/types/Enum/Card.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../../ts/types/Enum/Card.ts"],"names":[],"mappings":"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","sourcesContent":["import { Role } from './Role';\n\nexport enum CardType {\n BALANCE_SHEET = 1,\n BALANCE_SHEET_INTERMEDIATE = 2,\n BALANCE_SHEET_PREVISIONAL = 3,\n BALANCE_SHEET_LIQUIDATION = 4,\n BALANCE_SHEET_EXPRESS = 5,\n VAT = 6,\n // REINFORCED_CHECKLIST = 7,\n CHECK_BALANCE_ANNOTATION_NEW_CLIENT = 8,\n CHECK_BALANCE_ANNOTATION = 9,\n}\n\nexport enum CardState {\n TODO = 1,\n IN_PROGRESS = 2,\n DONE = 3,\n // ETAT \"Calculer\" pour le front mais pas en base\n // - Non Fait => si date passé et tjs dans l'état A faire ou En cours\n // - 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\n // - Reportée => Toutes les cards avec au moins 2 history et dans l'était Todo ou In progress\n // - Non Plannifiable => Toutes les cards A faire non plannifiée\n}\n\nexport enum CardGroupEnum {\n BALANCE_SHEET_GROUP = 1,\n VAT_GROUP = 2,\n // REINFORCED_CHECKLIST_GROUP = 3,\n ACCEPTATION_GROUP = 4,\n}\n\nexport const CardGroup = [\n {\n id: CardGroupEnum.BALANCE_SHEET_GROUP,\n label: 'Bilans',\n types: [CardType.BALANCE_SHEET, CardType.BALANCE_SHEET_INTERMEDIATE, CardType.BALANCE_SHEET_PREVISIONAL, CardType.BALANCE_SHEET_LIQUIDATION, CardType.BALANCE_SHEET_EXPRESS] as CardType[],\n roles: [Role.FRONT_OFFICE],\n maxByDay: 3,\n },\n {\n id: CardGroupEnum.VAT_GROUP,\n label: 'Déclarations',\n types: [CardType.VAT] as CardType[],\n roles: [Role.FRONT_OFFICE],\n maxByDay: 6,\n },\n // {\n // id: CardGroupEnum.REINFORCED_CHECKLIST_GROUP,\n // label: 'Checklist',\n // types: [CardType.REINFORCED_CHECKLIST],\n // roles: [Role.FRONT_OFFICE],\n // maxByDay: 6,\n // },\n {\n id: CardGroupEnum.ACCEPTATION_GROUP,\n label: 'Contrôle solde bancaire & annotations',\n types: [CardType.CHECK_BALANCE_ANNOTATION_NEW_CLIENT, CardType.CHECK_BALANCE_ANNOTATION] as CardType[],\n roles: [Role.DATA_OFFICER],\n maxByDay: 25,\n },\n] as const;\n\nexport const CardTypeLabel = [\n {\n id: CardType.BALANCE_SHEET,\n label: 'Bilan',\n refLabel: 'B',\n groupId: CardGroupEnum.BALANCE_SHEET_GROUP,\n },\n {\n id: CardType.BALANCE_SHEET_INTERMEDIATE,\n label: 'Bilan inter.',\n refLabel: 'BI',\n groupId: CardGroupEnum.BALANCE_SHEET_GROUP,\n },\n {\n id: CardType.BALANCE_SHEET_PREVISIONAL,\n label: 'Bilan prévi.',\n refLabel: 'BP',\n groupId: CardGroupEnum.BALANCE_SHEET_GROUP,\n },\n {\n id: CardType.BALANCE_SHEET_LIQUIDATION,\n label: 'Bilan liquid.',\n refLabel: 'BL',\n groupId: CardGroupEnum.BALANCE_SHEET_GROUP,\n },\n {\n id: CardType.BALANCE_SHEET_EXPRESS,\n label: 'Bilan express',\n refLabel: 'BE',\n groupId: CardGroupEnum.BALANCE_SHEET_GROUP,\n },\n {\n id: CardType.VAT,\n label: 'TVA',\n refLabel: 'TVA',\n groupId: CardGroupEnum.VAT_GROUP,\n },\n // {\n // id: CardType.REINFORCED_CHECKLIST,\n // label: 'Checklist',\n // groupId: CardGroupEnum.REINFORCED_CHECKLIST_GROUP,\n // },\n {\n id: CardType.CHECK_BALANCE_ANNOTATION_NEW_CLIENT,\n label: 'Contrôle solde bancaire & mise en place annotation nouveau client',\n refLabel: 'LABNC',\n groupId: CardGroupEnum.ACCEPTATION_GROUP,\n },\n {\n id: CardType.CHECK_BALANCE_ANNOTATION,\n label: 'Contrôle solde bancaire & contrôle annotations client',\n refLabel: 'LABC',\n groupId: CardGroupEnum.ACCEPTATION_GROUP,\n },\n] as const;\n\nexport interface UserCardsStats {\n idType: CardType;\n nbTodo: number;\n nbDone: number;\n nbInProgress: number;\n nbNotDone: number;\n nbPostponed: number;\n}\n\nexport interface UserCardsStatsGroup {\n idGroup: CardGroupEnum;\n totalTodo: number;\n totalDone: number;\n totalInProgress: number;\n totalNotDone: number;\n totalPostponed: number;\n details: UserCardsStats[];\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EstimateInvoice.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/EstimateInvoice.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,OAAO,IAAI;IACX,KAAK,IAAI;IACT,GAAG,IAAI;IACP,KAAK,IAAI;IACT,KAAK,IAAI;IACT,OAAO,IAAI;CACZ"}
|
|
1
|
+
{"version":3,"file":"EstimateInvoice.d.ts","sourceRoot":"","sources":["../../../../ts/types/Enum/EstimateInvoice.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,OAAO,IAAI;IACX,KAAK,IAAI;IACT,GAAG,IAAI;IACP,KAAK,IAAI;IACT,KAAK,IAAI;IACT,OAAO,IAAI;CACZ;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;CAAE,CAyBtF,CAAC"}
|
|
@@ -7,4 +7,30 @@ export var EstimateInvoiceType;
|
|
|
7
7
|
EstimateInvoiceType[EstimateInvoiceType["RESTE"] = 5] = "RESTE";
|
|
8
8
|
EstimateInvoiceType[EstimateInvoiceType["ACOMPTE"] = 6] = "ACOMPTE";
|
|
9
9
|
})(EstimateInvoiceType || (EstimateInvoiceType = {}));
|
|
10
|
+
export const EstimateInvoiceTypeList = [
|
|
11
|
+
{
|
|
12
|
+
id: EstimateInvoiceType.FACTURE,
|
|
13
|
+
label: 'Facture',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: EstimateInvoiceType.DEVIS,
|
|
17
|
+
label: 'Devis',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: EstimateInvoiceType.BON,
|
|
21
|
+
label: 'Bon de commande',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: EstimateInvoiceType.AVOIR,
|
|
25
|
+
label: 'Avoir',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: EstimateInvoiceType.RESTE,
|
|
29
|
+
label: 'Facture de solde',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: EstimateInvoiceType.ACOMPTE,
|
|
33
|
+
label: 'Facture d\'acompte',
|
|
34
|
+
},
|
|
35
|
+
];
|
|
10
36
|
//# sourceMappingURL=EstimateInvoice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EstimateInvoice.js","sourceRoot":"","sources":["../../../../ts/types/Enum/EstimateInvoice.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,mEAAW,CAAA;IACX,+DAAS,CAAA;IACT,2DAAO,CAAA;IACP,+DAAS,CAAA;IACT,+DAAS,CAAA;IACT,mEAAW,CAAA;AACb,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B","sourcesContent":["export enum EstimateInvoiceType {\n FACTURE = 1,\n DEVIS = 2,\n BON = 3,\n AVOIR = 4,\n RESTE = 5,\n ACOMPTE = 6,\n}"]}
|
|
1
|
+
{"version":3,"file":"EstimateInvoice.js","sourceRoot":"","sources":["../../../../ts/types/Enum/EstimateInvoice.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,mEAAW,CAAA;IACX,+DAAS,CAAA;IACT,2DAAO,CAAA;IACP,+DAAS,CAAA;IACT,+DAAS,CAAA;IACT,mEAAW,CAAA;AACb,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAuD;IACzF;QACE,EAAE,EAAE,mBAAmB,CAAC,OAAO;QAC/B,KAAK,EAAE,SAAS;KACjB;IACD;QACE,EAAE,EAAE,mBAAmB,CAAC,KAAK;QAC7B,KAAK,EAAE,OAAO;KACf;IACD;QACE,EAAE,EAAE,mBAAmB,CAAC,GAAG;QAC3B,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,EAAE,EAAE,mBAAmB,CAAC,KAAK;QAC7B,KAAK,EAAE,OAAO;KACf;IACD;QACE,EAAE,EAAE,mBAAmB,CAAC,KAAK;QAC7B,KAAK,EAAE,kBAAkB;KAC1B;IACD;QACE,EAAE,EAAE,mBAAmB,CAAC,OAAO;QAC/B,KAAK,EAAE,oBAAoB;KAC5B;CACF,CAAC","sourcesContent":["export enum EstimateInvoiceType {\n FACTURE = 1,\n DEVIS = 2,\n BON = 3,\n AVOIR = 4,\n RESTE = 5,\n ACOMPTE = 6,\n}\n\nexport const EstimateInvoiceTypeList: Array<{ id: EstimateInvoiceType; label: string; }> = [\n {\n id: EstimateInvoiceType.FACTURE,\n label: 'Facture',\n },\n {\n id: EstimateInvoiceType.DEVIS,\n label: 'Devis',\n },\n {\n id: EstimateInvoiceType.BON,\n label: 'Bon de commande',\n },\n {\n id: EstimateInvoiceType.AVOIR,\n label: 'Avoir',\n },\n {\n id: EstimateInvoiceType.RESTE,\n label: 'Facture de solde',\n },\n {\n id: EstimateInvoiceType.ACOMPTE,\n label: 'Facture d\\'acompte',\n },\n];"]}
|
|
@@ -478,7 +478,7 @@ export const PriceGridClementine = [
|
|
|
478
478
|
],
|
|
479
479
|
},
|
|
480
480
|
{
|
|
481
|
-
/* Compta
|
|
481
|
+
/* Compta LMNP Clems */
|
|
482
482
|
idPrestationList: [PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS],
|
|
483
483
|
priceWithTaxesIncluded: true,
|
|
484
484
|
applicationCost: 0,
|