@silexpert/core 1.0.54 → 1.0.55

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.
@@ -14,7 +14,7 @@ export function generateCommercialDocument(idEstimateInvoiceType, payload) {
14
14
  const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));
15
15
  const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);
16
16
  const data = Object.assign(Object.assign({}, payload), { paymentLink: (_a = payload.paymentLink) !== null && _a !== void 0 ? _a : '#', idEstimateInvoiceType, title: (_b = payload.title) !== null && _b !== void 0 ? _b : null, penalties: (_c = payload.penalties) !== null && _c !== void 0 ? _c : null, compensation: (_d = payload.compensation) !== null && _d !== void 0 ? _d : null, discount: (_e = payload.discount) !== null && _e !== void 0 ? _e : null, vatMention: (_f = payload.vatMention) !== null && _f !== void 0 ? _f : null, phoneContact: (_h = (_g = payload.settings) === null || _g === void 0 ? void 0 : _g.phoneContact) !== null && _h !== void 0 ? _h : null, products,
17
- vats, totalTaxExcluded: _sumBy(products, 'totalTaxExcluded') - ((_j = payload.deposit) !== null && _j !== void 0 ? _j : 0), totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - ((_k = payload.deposit) !== null && _k !== void 0 ? _k : 0), totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - ((_l = payload.generalDiscount2) !== null && _l !== void 0 ? _l : 0) - ((_m = payload.deposit) !== null && _m !== void 0 ? _m : 0), generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null, depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null, totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') - ((_o = payload.deposit) !== null && _o !== void 0 ? _o : 0)), totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - ((_p = payload.deposit) !== null && _p !== void 0 ? _p : 0)), totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - ((_q = payload.generalDiscount2) !== null && _q !== void 0 ? _q : 0) - ((_r = payload.deposit) !== null && _r !== void 0 ? _r : 0)), totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')), font: {
17
+ vats, totalTaxExcluded: _sumBy(products, 'totalTaxExcluded') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? ((_j = payload.deposit) !== null && _j !== void 0 ? _j : 0) : 0), totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? ((_k = payload.deposit) !== null && _k !== void 0 ? _k : 0) : 0), totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - ((_l = payload.generalDiscount2) !== null && _l !== void 0 ? _l : 0) - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? ((_m = payload.deposit) !== null && _m !== void 0 ? _m : 0) : 0), generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null, depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null, totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? ((_o = payload.deposit) !== null && _o !== void 0 ? _o : 0) : 0)), totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? ((_p = payload.deposit) !== null && _p !== void 0 ? _p : 0) : 0)), totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - ((_q = payload.generalDiscount2) !== null && _q !== void 0 ? _q : 0) - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? ((_r = payload.deposit) !== null && _r !== void 0 ? _r : 0) : 0)), totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')), font: {
18
18
  name: (_t = (_s = fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _s === void 0 ? void 0 : _s.name) !== null && _t !== void 0 ? _t : fontList[0].name,
19
19
  url: (_v = (_u = fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _u === void 0 ? void 0 : _u.link) !== null && _v !== void 0 ? _v : fontList[0].link,
20
20
  }, capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null, dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null, expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null, emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null, shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport { AccountingCategoryList, fontList, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { CommercialDocumentCommonHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport { CreateInvoiceDocument, CreatePreSaleDocument } from '../../types';\n\nconst ejs = require('ejs');\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties ?? null,\n compensation: payload.compensation ?? null,\n discount: payload.discount ?? null,\n vatMention: payload.vatMention ?? null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded') - (payload.deposit ?? 0),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') - (payload.deposit ?? 0)),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0)),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: _uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n accountingCategoryFormatted: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType) ? payload?.settings?.freeEstimateText : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: documentFreeText ?? null }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing = {\n ...payload,\n title: payload.title ?? null,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType: EstimateInvoiceType.ACOMPTE,\n phoneContact: payload.settings?.phoneContact ?? null,\n products: [],\n vats: [],\n totalTaxExcluded: payload.deposit,\n totalTaxIncluded: payload.deposit,\n totalTaxAndDiscountIncluded: payload.deposit,\n generalDiscountFormatted: null,\n depositFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxExcludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq((payload.assetMarginVatIds ?? []).map((m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null)),\n accountingCategoryFormatted: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs?.render(commonTemplate.header, data),\n body: ejs?.render(bodyTemplate, data),\n footer: ejs?.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),\n data,\n };\n}"]}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport { AccountingCategoryList, fontList, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { CommercialDocumentCommonHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport { CreateInvoiceDocument, CreatePreSaleDocument } from '../../types';\n\nconst ejs = require('ejs');\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties ?? null,\n compensation: payload.compensation ?? null,\n discount: payload.discount ?? null,\n vatMention: payload.vatMention ?? null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0)),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0)),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: _uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n accountingCategoryFormatted: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType) ? payload?.settings?.freeEstimateText : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: documentFreeText ?? null }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing = {\n ...payload,\n title: payload.title ?? null,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType: EstimateInvoiceType.ACOMPTE,\n phoneContact: payload.settings?.phoneContact ?? null,\n products: [],\n vats: [],\n totalTaxExcluded: payload.deposit,\n totalTaxIncluded: payload.deposit,\n totalTaxAndDiscountIncluded: payload.deposit,\n generalDiscountFormatted: null,\n depositFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxExcludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq((payload.assetMarginVatIds ?? []).map((m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null)),\n accountingCategoryFormatted: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs?.render(commonTemplate.header, data),\n body: ejs?.render(bodyTemplate, data),\n footer: ejs?.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),\n data,\n };\n}"]}
@@ -50,14 +50,14 @@ function generateCommercialDocument(idEstimateInvoiceType, payload) {
50
50
  phoneContact: (_h = (_g = payload.settings) === null || _g === void 0 ? void 0 : _g.phoneContact) !== null && _h !== void 0 ? _h : null,
51
51
  products,
52
52
  vats,
53
- totalTaxExcluded: (0, _lodash.sumBy)(products, 'totalTaxExcluded') - ((_j = payload.deposit) !== null && _j !== void 0 ? _j : 0),
54
- totalTaxIncluded: (0, _lodash.sumBy)(products, 'totalTaxExcluded') + (0, _lodash.sumBy)(vats, 'amount') - ((_k = payload.deposit) !== null && _k !== void 0 ? _k : 0),
55
- totalTaxAndDiscountIncluded: (0, _lodash.sumBy)(products, 'totalTaxExcluded') + (0, _lodash.sumBy)(vats, 'amount') - ((_l = payload.generalDiscount2) !== null && _l !== void 0 ? _l : 0) - ((_m = payload.deposit) !== null && _m !== void 0 ? _m : 0),
53
+ totalTaxExcluded: (0, _lodash.sumBy)(products, 'totalTaxExcluded') - (idEstimateInvoiceType === _EstimateInvoice.EstimateInvoiceType.RESTE ? (_j = payload.deposit) !== null && _j !== void 0 ? _j : 0 : 0),
54
+ totalTaxIncluded: (0, _lodash.sumBy)(products, 'totalTaxExcluded') + (0, _lodash.sumBy)(vats, 'amount') - (idEstimateInvoiceType === _EstimateInvoice.EstimateInvoiceType.RESTE ? (_k = payload.deposit) !== null && _k !== void 0 ? _k : 0 : 0),
55
+ totalTaxAndDiscountIncluded: (0, _lodash.sumBy)(products, 'totalTaxExcluded') + (0, _lodash.sumBy)(vats, 'amount') - ((_l = payload.generalDiscount2) !== null && _l !== void 0 ? _l : 0) - (idEstimateInvoiceType === _EstimateInvoice.EstimateInvoiceType.RESTE ? (_m = payload.deposit) !== null && _m !== void 0 ? _m : 0 : 0),
56
56
  generalDiscountFormatted: payload.generalDiscount2 ? (0, _amount.integerToFormattedAmountString)(payload.generalDiscount2) : null,
57
57
  depositFormatted: payload.deposit ? (0, _amount.integerToFormattedAmountString)(payload.deposit) : null,
58
- totalTaxExcludedFormatted: (0, _amount.integerToFormattedAmountString)((0, _lodash.sumBy)(products, 'totalTaxExcluded') - ((_o = payload.deposit) !== null && _o !== void 0 ? _o : 0)),
59
- totalTaxIncludedFormatted: (0, _amount.integerToFormattedAmountString)((0, _lodash.sumBy)(products, 'totalTaxExcluded') + (0, _lodash.sumBy)(vats, 'amount') - ((_p = payload.deposit) !== null && _p !== void 0 ? _p : 0)),
60
- totalTaxAndDiscountIncludedFormatted: (0, _amount.integerToFormattedAmountString)((0, _lodash.sumBy)(products, 'totalTaxExcluded') + (0, _lodash.sumBy)(vats, 'amount') - ((_q = payload.generalDiscount2) !== null && _q !== void 0 ? _q : 0) - ((_r = payload.deposit) !== null && _r !== void 0 ? _r : 0)),
58
+ totalTaxExcludedFormatted: (0, _amount.integerToFormattedAmountString)((0, _lodash.sumBy)(products, 'totalTaxExcluded') - (idEstimateInvoiceType === _EstimateInvoice.EstimateInvoiceType.RESTE ? (_o = payload.deposit) !== null && _o !== void 0 ? _o : 0 : 0)),
59
+ totalTaxIncludedFormatted: (0, _amount.integerToFormattedAmountString)((0, _lodash.sumBy)(products, 'totalTaxExcluded') + (0, _lodash.sumBy)(vats, 'amount') - (idEstimateInvoiceType === _EstimateInvoice.EstimateInvoiceType.RESTE ? (_p = payload.deposit) !== null && _p !== void 0 ? _p : 0 : 0)),
60
+ totalTaxAndDiscountIncludedFormatted: (0, _amount.integerToFormattedAmountString)((0, _lodash.sumBy)(products, 'totalTaxExcluded') + (0, _lodash.sumBy)(vats, 'amount') - ((_q = payload.generalDiscount2) !== null && _q !== void 0 ? _q : 0) - (idEstimateInvoiceType === _EstimateInvoice.EstimateInvoiceType.RESTE ? (_r = payload.deposit) !== null && _r !== void 0 ? _r : 0 : 0)),
61
61
  totalVatAmountFormatted: (0, _amount.integerToFormattedAmountString)((0, _lodash.sumBy)(vats, 'amount')),
62
62
  font: {
63
63
  name: (_t = (_s = _CommercialManagement.fontList.find(f => {
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","mappings":"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","names":["generateCommercialDocument","generateAdvanceDocument","dayjs","ejs","require","idEstimateInvoiceType","payload","products","map","product","vats","Object","values","v","filter","id","Vat","MARGE","data","paymentLink","_a","title","_b","penalties","_c","compensation","_d","discount","_e","vatMention","_f","phoneContact","settings","_g","_h","totalTaxExcluded","deposit","_j","totalTaxIncluded","_k","totalTaxAndDiscountIncluded","generalDiscount2","_l","_m","generalDiscountFormatted","depositFormatted","totalTaxExcludedFormatted","_o","totalTaxIncludedFormatted","_p","totalTaxAndDiscountIncludedFormatted","_q","_r","totalVatAmountFormatted","font","name","find","f","idFont","_s","_t","fontList","url","_u","link","_v","capitalFormatted","capital","split","reduceRight","acc","char","i","length","trim","dueDateFormatted","dueDate","format","expirationDateFormatted","expirationDate","emissionDateFormatted","emissionDate","shouldDisplayDiscountColumn","p","discount2","marginVats","marginVatFormatted","accountingCategoryFormatted","a","accountingCategory","_w","label","_x","commonTemplate","CommercialDocumentCommonHTML","documentFreeText","EstimateInvoiceType","DEVIS","BON","includes","_y","freeEstimateText","_z","freeInvoiceText","header","render","body","bodyTemplate","footer","freeText","Error","ACOMPTE","disableVat","assetMarginVatIds","m","c"],"sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport { AccountingCategoryList, fontList, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { CommercialDocumentCommonHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport { CreateInvoiceDocument, CreatePreSaleDocument } from '../../types';\n\nconst ejs = require('ejs');\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties ?? null,\n compensation: payload.compensation ?? null,\n discount: payload.discount ?? null,\n vatMention: payload.vatMention ?? null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded') - (payload.deposit ?? 0),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') - (payload.deposit ?? 0)),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0)),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: _uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n accountingCategoryFormatted: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType) ? payload?.settings?.freeEstimateText : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: documentFreeText ?? null }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing = {\n ...payload,\n title: payload.title ?? null,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType: EstimateInvoiceType.ACOMPTE,\n phoneContact: payload.settings?.phoneContact ?? null,\n products: [],\n vats: [],\n totalTaxExcluded: payload.deposit,\n totalTaxIncluded: payload.deposit,\n totalTaxAndDiscountIncluded: payload.deposit,\n generalDiscountFormatted: null,\n depositFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxExcludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq((payload.assetMarginVatIds ?? []).map((m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null)),\n accountingCategoryFormatted: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs?.render(commonTemplate.header, data),\n body: ejs?.render(bodyTemplate, data),\n footer: ejs?.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),\n data,\n };\n}"]}
1
+ {"version":3,"file":"document.js","mappings":";;;;;QAiBgBA,0B,GAAAA,0B;QAiDAC,uB,GAAAA,uB;;AAlEhB;;AAGA;;IAAYC,K;;AAEZ;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAGA,MAAMC,GAAG,GAAGC,OAAO,CAAC,KAAD,CAAnB;;AAEM,SAAUJ,0BAAV,CAAqCK,qBAArC,EAAiFC,OAAjF,EAAuI;;;EAC3I,MAAMC,QAAQ,GAAG,qBAASD,OAAO,CAACC,QAAR,CAAiBC,GAAjB,CAAsBC,OAAD,IAAa,0CAA4BA,OAA5B,CAAlC,EAAwE,SAAxE,CAAT,CAAjB;EACA,MAAMC,IAAI,GAAG,qBAASC,MAAM,CAACC,MAAP,CAAc,qBAASL,QAAT,EAAmB,cAAnB,CAAd,EAAkDC,GAAlD,CAAuDK,CAAD,IAAQ,8BAAoBA,CAApB,CAA9D,EAAuF,OAAvF,CAAT,EAA0GC,MAA1G,CAAkHD,CAAD,IAAOA,CAAC,CAACE,EAAF,KAASC,SAAIC,KAAJ,CAAUF,EAA3I,CAAb;EACA,MAAMG,IAAI,mCACLZ,OADK,GACE;IACVa,WAAW,EAAE,aAAO,CAACA,WAAR,MAAmB,IAAnB,IAAmBC,aAAnB,GAAmBA,EAAnB,GAAuB,GAD1B;IAEVf,qBAFU;IAGVgB,KAAK,EAAE,aAAO,CAACA,KAAR,MAAa,IAAb,IAAaC,aAAb,GAAaA,EAAb,GAAiB,IAHd;IAIVC,SAAS,EAAE,aAAO,CAACA,SAAR,MAAiB,IAAjB,IAAiBC,aAAjB,GAAiBA,EAAjB,GAAqB,IAJtB;IAKVC,YAAY,EAAE,aAAO,CAACA,YAAR,MAAoB,IAApB,IAAoBC,aAApB,GAAoBA,EAApB,GAAwB,IAL5B;IAMVC,QAAQ,EAAE,aAAO,CAACA,QAAR,MAAgB,IAAhB,IAAgBC,aAAhB,GAAgBA,EAAhB,GAAoB,IANpB;IAOVC,UAAU,EAAE,aAAO,CAACA,UAAR,MAAkB,IAAlB,IAAkBC,aAAlB,GAAkBA,EAAlB,GAAsB,IAPxB;IAQVC,YAAY,EAAE,mBAAO,CAACC,QAAR,MAAgB,IAAhB,IAAgBC,aAAhB,GAAgB,MAAhB,GAAgBA,GAAEF,YAAlB,MAA8B,IAA9B,IAA8BG,aAA9B,GAA8BA,EAA9B,GAAkC,IARtC;IASV3B,QATU;IAUVG,IAVU;IAWVyB,gBAAgB,EAAE,mBAAO5B,QAAP,EAAiB,kBAAjB,KAAwCF,qBAAqB,KAAK+B,qCAAoBC,KAA9C,GAAuD,aAAO,CAACC,OAAR,MAAe,IAAf,IAAeC,aAAf,GAAeA,EAAf,GAAmB,CAA1E,GAA+E,CAAvH,CAXR;IAYVC,gBAAgB,EAAE,mBAAOjC,QAAP,EAAiB,kBAAjB,IAAuC,mBAAOG,IAAP,EAAa,QAAb,CAAvC,IAAiEL,qBAAqB,KAAK+B,qCAAoBC,KAA9C,GAAuD,aAAO,CAACC,OAAR,MAAe,IAAf,IAAeG,aAAf,GAAeA,EAAf,GAAmB,CAA1E,GAA+E,CAAhJ,CAZR;IAaVC,2BAA2B,EAAE,mBAAOnC,QAAP,EAAiB,kBAAjB,IAAuC,mBAAOG,IAAP,EAAa,QAAb,CAAvC,IAAiE,aAAO,CAACiC,gBAAR,MAAwB,IAAxB,IAAwBC,aAAxB,GAAwBA,EAAxB,GAA4B,CAA7F,KAAmGvC,qBAAqB,KAAK+B,qCAAoBC,KAA9C,GAAuD,aAAO,CAACC,OAAR,MAAe,IAAf,IAAeO,aAAf,GAAeA,EAAf,GAAmB,CAA1E,GAA+E,CAAlL,CAbnB;IAcVC,wBAAwB,EAAExC,OAAO,CAACqC,gBAAR,GAA2B,4CAA+BrC,OAAO,CAACqC,gBAAvC,CAA3B,GAAsF,IAdtG;IAeVI,gBAAgB,EAAEzC,OAAO,CAACgC,OAAR,GAAkB,4CAA+BhC,OAAO,CAACgC,OAAvC,CAAlB,GAAoE,IAf5E;IAgBVU,yBAAyB,EAAE,4CAA+B,mBAAOzC,QAAP,EAAiB,kBAAjB,KAAwCF,qBAAqB,KAAK+B,qCAAoBC,KAA9C,GAAuD,aAAO,CAACC,OAAR,MAAe,IAAf,IAAeW,aAAf,GAAeA,EAAf,GAAmB,CAA1E,GAA+E,CAAvH,CAA/B,CAhBjB;IAiBVC,yBAAyB,EAAE,4CAA+B,mBAAO3C,QAAP,EAAiB,kBAAjB,IAAuC,mBAAOG,IAAP,EAAa,QAAb,CAAvC,IAAiEL,qBAAqB,KAAK+B,qCAAoBC,KAA9C,GAAuD,aAAO,CAACC,OAAR,MAAe,IAAf,IAAea,aAAf,GAAeA,EAAf,GAAmB,CAA1E,GAA+E,CAAhJ,CAA/B,CAjBjB;IAkBVC,oCAAoC,EAAE,4CAA+B,mBAAO7C,QAAP,EAAiB,kBAAjB,IAAuC,mBAAOG,IAAP,EAAa,QAAb,CAAvC,IAAiE,aAAO,CAACiC,gBAAR,MAAwB,IAAxB,IAAwBU,aAAxB,GAAwBA,EAAxB,GAA4B,CAA7F,KAAmGhD,qBAAqB,KAAK+B,qCAAoBC,KAA9C,GAAuD,aAAO,CAACC,OAAR,MAAe,IAAf,IAAegB,aAAf,GAAeA,EAAf,GAAmB,CAA1E,GAA+E,CAAlL,CAA/B,CAlB5B;IAmBVC,uBAAuB,EAAE,4CAA+B,mBAAO7C,IAAP,EAAa,QAAb,CAA/B,CAnBf;IAoBV8C,IAAI,EAAE;MACJC,IAAI,EAAE,2CAASC,IAAT,CAAeC,CAAD,IAAM;QAAA;;QAAC,QAAC,CAAC5C,EAAF,MAAS,aAAO,CAACiB,QAAR,MAAgB,IAAhB,IAAgBZ,aAAhB,GAAgB,MAAhB,GAAgBA,GAAEwC,MAA3B;MAAiC,CAAtD,OAAuD,IAAvD,IAAuDC,aAAvD,GAAuD,MAAvD,GAAuDA,GAAEJ,IAAzD,MAA6D,IAA7D,IAA6DK,aAA7D,GAA6DA,EAA7D,GAAiEC,+BAAS,CAAT,EAAYN,IAD/E;MAEJO,GAAG,EAAE,2CAASN,IAAT,CAAeC,CAAD,IAAM;QAAA;;QAAC,QAAC,CAAC5C,EAAF,MAAS,aAAO,CAACiB,QAAR,MAAgB,IAAhB,IAAgBZ,aAAhB,GAAgB,MAAhB,GAAgBA,GAAEwC,MAA3B;MAAiC,CAAtD,OAAuD,IAAvD,IAAuDK,aAAvD,GAAuD,MAAvD,GAAuDA,GAAEC,IAAzD,MAA6D,IAA7D,IAA6DC,aAA7D,GAA6DA,EAA7D,GAAiEJ,+BAAS,CAAT,EAAYG;IAF9E,CApBI;IAwBVE,gBAAgB,EAAE9D,OAAO,CAAC+D,OAAR,GAAkB,GAAG/D,OAAO,CAAC+D,OAAO,EAAlB,CAAqBC,KAArB,CAA2B,EAA3B,EAA+BC,WAA/B,CAA2C,CAACC,GAAD,EAAMC,IAAN,EAAYC,CAAZ,EAAe;MAAEC;IAAF,CAAf,KAA8B,GAAGF,IAAI,GAAG,CAACE,MAAM,IAAID,CAAC,GAAG,CAAR,CAAP,IAAqB,CAArB,KAA2B,CAA3B,GAA+B,GAA/B,GAAqC,EAAE,GAAGF,GAAG,EAAhI,EAAoI,EAApI,EAAwII,IAAxI,EAAlB,GAAmK,IAxB3K;IAyBVC,gBAAgB,EAAEvE,OAAO,CAACwE,OAAR,GAAkB5E,KAAK,CAACI,OAAO,CAACwE,OAAT,CAAL,CAAuBC,MAAvB,CAA8B,YAA9B,CAAlB,GAAgE,IAzBxE;IA0BVC,uBAAuB,EAAE1E,OAAO,CAAC2E,cAAR,GAAyB/E,KAAK,CAACI,OAAO,CAAC2E,cAAT,CAAL,CAA8BF,MAA9B,CAAqC,YAArC,CAAzB,GAA8E,IA1B7F;IA2BVG,qBAAqB,EAAE5E,OAAO,CAAC6E,YAAR,GAAuBjF,KAAK,CAACI,OAAO,CAAC6E,YAAT,CAAL,CAA4BJ,MAA5B,CAAmC,YAAnC,CAAvB,GAA0E,IA3BvF;IA4BVK,2BAA2B,EAAE,CAAC,CAAC7E,QAAQ,CAACmD,IAAT,CAAe2B,CAAD,IAAOA,CAAC,CAACC,SAAF,IAAeD,CAAC,CAACC,SAAF,GAAc,CAAlD,CA5BrB;IA6BV;IACAC,UAAU,EAAE,kBAAMhF,QAAQ,CAACO,MAAT,CAAiBuE,CAAD,IAAOA,CAAC,CAACG,kBAAF,KAAyB,IAAhD,EAAsDhF,GAAtD,CAA2D6E,CAAD,IAAOA,CAAC,CAACG,kBAAnE,CAAN,CA9BF;IA+BVC,2BAA2B,EAAE,yDAAuB/B,IAAvB,CAA6BgC,CAAD,IAAOA,CAAC,CAAC3E,EAAF,KAAST,OAAO,CAACqF,kBAApD,OAAuE,IAAvE,IAAuEC,aAAvE,GAAuE,MAAvE,GAAuEA,GAAEC,KAAzE,MAA8E,IAA9E,IAA8EC,aAA9E,GAA8EA,EAA9E,GAAkF;EA/BrG,CADF,CAAV;EAmCA,MAAMC,cAAc,GAAG,IAAIC,oCAAJ,EAAvB;EACA,MAAMC,gBAAgB,GAAG,CAAC7D,qCAAoB8D,KAArB,EAA4B9D,qCAAoB+D,GAAhD,EAAqDC,QAArD,CAA8D/F,qBAA9D,IAAuF,aAAO,SAAP,WAAO,WAAP,GAAO,MAAP,UAAO,CAAE2B,QAAT,MAAiB,IAAjB,IAAiBqE,aAAjB,GAAiB,MAAjB,GAAiBA,GAAEC,gBAA1G,GAA6H,aAAO,SAAP,WAAO,WAAP,GAAO,MAAP,UAAO,CAAEtE,QAAT,MAAiB,IAAjB,IAAiBuE,aAAjB,GAAiB,MAAjB,GAAiBA,GAAEC,eAAzK;EAEA,OAAO;IACLC,MAAM,EAAEtG,GAAG,CAACuG,MAAJ,CAAWX,cAAc,CAACU,MAA1B,EAAkCvF,IAAlC,CADH;IAELyF,IAAI,EAAExG,GAAG,CAACuG,MAAJ,CAAWE,kBAAX,EAAyB1F,IAAzB,CAFD;IAGL2F,MAAM,EAAE1G,GAAG,CAACuG,MAAJ,CAAWX,cAAc,CAACc,MAA1B,EAAgClG,gCAAOO,IAAP,GAAW;MAAE4F,QAAQ,EAAEb,gBAAgB,SAAhB,oBAAgB,WAAhB,sBAAoB;IAAhC,CAAX,CAAhC,CAHH;IAIL/E;EAJK,CAAP;AAMD;;AAEK,SAAUjB,uBAAV,CAAkCK,OAAlC,EAAgE;;;EACpE,IAAI,CAACA,OAAO,CAACgC,OAAb,EAAsB,MAAM,IAAIyE,KAAJ,CAAU,sBAAV,CAAN;EAEtB,MAAM7F,IAAI,mCACLZ,OADK,GACE;IACVe,KAAK,EAAE,aAAO,CAACA,KAAR,MAAa,IAAb,IAAaD,aAAb,GAAaA,EAAb,GAAiB,IADd;IAEVD,WAAW,EAAE,aAAO,CAACA,WAAR,MAAmB,IAAnB,IAAmBG,aAAnB,GAAmBA,EAAnB,GAAuB,GAF1B;IAGVjB,qBAAqB,EAAE+B,qCAAoB4E,OAHjC;IAIVjF,YAAY,EAAE,mBAAO,CAACC,QAAR,MAAgB,IAAhB,IAAgBR,aAAhB,GAAgB,MAAhB,GAAgBA,GAAEO,YAAlB,MAA8B,IAA9B,IAA8BL,aAA9B,GAA8BA,EAA9B,GAAkC,IAJtC;IAKVnB,QAAQ,EAAE,EALA;IAMVG,IAAI,EAAE,EANI;IAOVyB,gBAAgB,EAAE7B,OAAO,CAACgC,OAPhB;IAQVE,gBAAgB,EAAElC,OAAO,CAACgC,OARhB;IASVI,2BAA2B,EAAEpC,OAAO,CAACgC,OAT3B;IAUVQ,wBAAwB,EAAE,IAVhB;IAWVC,gBAAgB,EAAE,4CAA+BzC,OAAO,CAACgC,OAAvC,CAXR;IAYVU,yBAAyB,EAAE,4CAA+B1C,OAAO,CAACgC,OAAvC,CAZjB;IAaVY,yBAAyB,EAAE,4CAA+B5C,OAAO,CAACgC,OAAvC,CAbjB;IAcVc,oCAAoC,EAAE,4CAA+B9C,OAAO,CAACgC,OAAvC,CAd5B;IAeViB,uBAAuB,EAAE,4CAA+B,CAA/B,CAff;IAgBVC,IAAI,EAAE;MACJC,IAAI,EAAE,2CAASC,IAAT,CAAeC,CAAD,IAAM;QAAA;;QAAC,QAAC,CAAC5C,EAAF,MAAS,aAAO,CAACiB,QAAR,MAAgB,IAAhB,IAAgBZ,aAAhB,GAAgB,MAAhB,GAAgBA,GAAEwC,MAA3B;MAAiC,CAAtD,OAAuD,IAAvD,IAAuDhC,aAAvD,GAAuD,MAAvD,GAAuDA,GAAE6B,IAAzD,MAA6D,IAA7D,IAA6D3B,aAA7D,GAA6DA,EAA7D,GAAiEiC,+BAAS,CAAT,EAAYN,IAD/E;MAEJO,GAAG,EAAE,2CAASN,IAAT,CAAeC,CAAD,IAAM;QAAA;;QAAC,QAAC,CAAC5C,EAAF,MAAS,aAAO,CAACiB,QAAR,MAAgB,IAAhB,IAAgBZ,aAAhB,GAAgB,MAAhB,GAAgBA,GAAEwC,MAA3B;MAAiC,CAAtD,OAAuD,IAAvD,IAAuD3B,aAAvD,GAAuD,MAAvD,GAAuDA,GAAEiC,IAAzD,MAA6D,IAA7D,IAA6DhC,aAA7D,GAA6DA,EAA7D,GAAiE6B,+BAAS,CAAT,EAAYG;IAF9E,CAhBI;IAoBVE,gBAAgB,EAAE9D,OAAO,CAAC+D,OAAR,GAAkB,GAAG/D,OAAO,CAAC+D,OAAO,EAAlB,CAAqBC,KAArB,CAA2B,EAA3B,EAA+BC,WAA/B,CAA2C,CAACC,GAAD,EAAMC,IAAN,EAAYC,CAAZ,EAAe;MAAEC;IAAF,CAAf,KAA8B,GAAGF,IAAI,GAAG,CAACE,MAAM,IAAID,CAAC,GAAG,CAAR,CAAP,IAAqB,CAArB,KAA2B,CAA3B,GAA+B,GAA/B,GAAqC,EAAE,GAAGF,GAAG,EAAhI,EAAoI,EAApI,EAAwII,IAAxI,EAAlB,GAAmK,IApB3K;IAqBVC,gBAAgB,EAAEvE,OAAO,CAACwE,OAAR,GAAkB5E,KAAK,CAACI,OAAO,CAACwE,OAAT,CAAL,CAAuBC,MAAvB,CAA8B,YAA9B,CAAlB,GAAgE,IArBxE;IAsBVC,uBAAuB,EAAE1E,OAAO,CAAC2E,cAAR,GAAyB/E,KAAK,CAACI,OAAO,CAAC2E,cAAT,CAAL,CAA8BF,MAA9B,CAAqC,YAArC,CAAzB,GAA8E,IAtB7F;IAuBVG,qBAAqB,EAAE5E,OAAO,CAAC6E,YAAR,GAAuBjF,KAAK,CAACI,OAAO,CAAC6E,YAAT,CAAL,CAA4BJ,MAA5B,CAAmC,YAAnC,CAAvB,GAA0E,IAvBvF;IAwBVK,2BAA2B,EAAE,KAxBnB;IAyBV6B,UAAU,EAAE,IAzBF;IA0BV;IACA1B,UAAU,EAAE,kBAAM,CAAC,aAAO,CAAC2B,iBAAR,MAAyB,IAAzB,IAAyB3E,aAAzB,GAAyBA,EAAzB,GAA6B,EAA9B,EAAkC/B,GAAlC,CAAuC2G,CAAD,IAAM;MAAA;;MAAC,6DAAoBzD,IAApB,CAA0B0D,CAAD,IAAOA,CAAC,CAACrG,EAAF,KAASoG,CAAzC,OAA2C,IAA3C,IAA2C/F,aAA3C,GAA2C,MAA3C,GAA2CA,GAAEyE,KAA7C,MAAkD,IAAlD,IAAkDvE,aAAlD,GAAkDA,EAAlD,GAAsD,IAAtD;IAA0D,CAAvG,CAAN,CA3BF;IA4BVmE,2BAA2B,EAAE,yDAAuB/B,IAAvB,CAA6BgC,CAAD,IAAOA,CAAC,CAAC3E,EAAF,KAAST,OAAO,CAACqF,kBAApD,OAAuE,IAAvE,IAAuElD,aAAvE,GAAuE,MAAvE,GAAuEA,GAAEoD,KAAzE,MAA8E,IAA9E,IAA8EjD,aAA9E,GAA8EA,EAA9E,GAAkF;EA5BrG,CADF,CAAV;EAgCA,MAAMmD,cAAc,GAAG,IAAIC,oCAAJ,EAAvB;EAEA,OAAO;IACLS,MAAM,EAAEtG,GAAG,SAAH,OAAG,WAAH,GAAG,MAAH,MAAG,CAAEuG,MAAL,CAAYX,cAAc,CAACU,MAA3B,EAAmCvF,IAAnC,CADH;IAELyF,IAAI,EAAExG,GAAG,SAAH,OAAG,WAAH,GAAG,MAAH,MAAG,CAAEuG,MAAL,CAAYE,kBAAZ,EAA0B1F,IAA1B,CAFD;IAGL2F,MAAM,EAAE1G,GAAG,SAAH,OAAG,WAAH,GAAG,MAAH,MAAG,CAAEuG,MAAL,CAAYX,cAAc,CAACc,MAA3B,EAAiClG,gCAAOO,IAAP,GAAW;MAAE4F,QAAQ,EAAE,mBAAO,SAAP,WAAO,WAAP,GAAO,MAAP,UAAO,CAAE9E,QAAT,MAAiB,IAAjB,IAAiBa,aAAjB,GAAiB,MAAjB,GAAiBA,GAAE2D,eAAnB,MAAkC,IAAlC,IAAkCvD,aAAlC,GAAkCA,EAAlC,GAAsC;IAAlD,CAAX,CAAjC,CAHH;IAIL/B;EAJK,CAAP;AAMD","names":["generateCommercialDocument","generateAdvanceDocument","dayjs","ejs","require","idEstimateInvoiceType","payload","products","map","product","vats","Object","values","v","filter","id","Vat","MARGE","data","paymentLink","_a","title","_b","penalties","_c","compensation","_d","discount","_e","vatMention","_f","phoneContact","settings","_g","_h","totalTaxExcluded","EstimateInvoiceType","RESTE","deposit","_j","totalTaxIncluded","_k","totalTaxAndDiscountIncluded","generalDiscount2","_l","_m","generalDiscountFormatted","depositFormatted","totalTaxExcludedFormatted","_o","totalTaxIncludedFormatted","_p","totalTaxAndDiscountIncludedFormatted","_q","_r","totalVatAmountFormatted","font","name","find","f","idFont","_s","_t","fontList","url","_u","link","_v","capitalFormatted","capital","split","reduceRight","acc","char","i","length","trim","dueDateFormatted","dueDate","format","expirationDateFormatted","expirationDate","emissionDateFormatted","emissionDate","shouldDisplayDiscountColumn","p","discount2","marginVats","marginVatFormatted","accountingCategoryFormatted","a","accountingCategory","_w","label","_x","commonTemplate","CommercialDocumentCommonHTML","documentFreeText","DEVIS","BON","includes","_y","freeEstimateText","_z","freeInvoiceText","header","render","body","bodyTemplate","footer","freeText","Error","ACOMPTE","disableVat","assetMarginVatIds","m","c"],"sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport { AccountingCategoryList, fontList, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { CommercialDocumentCommonHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport { CreateInvoiceDocument, CreatePreSaleDocument } from '../../types';\n\nconst ejs = require('ejs');\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties ?? null,\n compensation: payload.compensation ?? null,\n discount: payload.discount ?? null,\n vatMention: payload.vatMention ?? null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0)),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0)),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: _uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n accountingCategoryFormatted: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType) ? payload?.settings?.freeEstimateText : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: documentFreeText ?? null }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing = {\n ...payload,\n title: payload.title ?? null,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType: EstimateInvoiceType.ACOMPTE,\n phoneContact: payload.settings?.phoneContact ?? null,\n products: [],\n vats: [],\n totalTaxExcluded: payload.deposit,\n totalTaxIncluded: payload.deposit,\n totalTaxAndDiscountIncluded: payload.deposit,\n generalDiscountFormatted: null,\n depositFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxExcludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq((payload.assetMarginVatIds ?? []).map((m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null)),\n accountingCategoryFormatted: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs?.render(commonTemplate.header, data),\n body: ejs?.render(bodyTemplate, data),\n footer: ejs?.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),\n data,\n };\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.0.54",
3
+ "version": "1.0.55",
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": "js/index.js",
@@ -30,14 +30,14 @@ export function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoic
30
30
  phoneContact: payload.settings?.phoneContact ?? null,
31
31
  products,
32
32
  vats,
33
- totalTaxExcluded: _sumBy(products, 'totalTaxExcluded') - (payload.deposit ?? 0),
34
- totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0),
35
- totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0),
33
+ totalTaxExcluded: _sumBy(products, 'totalTaxExcluded') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0),
34
+ totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0),
35
+ totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0),
36
36
  generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,
37
37
  depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,
38
- totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') - (payload.deposit ?? 0)),
39
- totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0)),
40
- totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),
38
+ totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0)),
39
+ totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0)),
40
+ totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (idEstimateInvoiceType === EstimateInvoiceType.RESTE ? (payload.deposit ?? 0) : 0)),
41
41
  totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),
42
42
  font: {
43
43
  name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,