@silexpert/core 1.1.186 → 1.1.188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/resources/Card.d.ts +2 -2
- package/dist/cjs/api/resources/Card.d.ts.map +1 -1
- package/dist/cjs/api/resources/Card.js +2 -2
- package/dist/cjs/api/resources/Card.js.map +1 -1
- package/dist/cjs/api/resources/GeneralLedger.d.ts +8 -0
- package/dist/cjs/api/resources/GeneralLedger.d.ts.map +1 -1
- package/dist/cjs/api/resources/GeneralLedger.js +32 -0
- package/dist/cjs/api/resources/GeneralLedger.js.map +1 -1
- package/dist/cjs/api/resources/IncomeStatement.d.ts +2 -0
- package/dist/cjs/api/resources/IncomeStatement.d.ts.map +1 -1
- package/dist/cjs/api/resources/IncomeStatement.js +10 -0
- package/dist/cjs/api/resources/IncomeStatement.js.map +1 -1
- package/dist/cjs/api/resources/Journal.d.ts +2 -0
- package/dist/cjs/api/resources/Journal.d.ts.map +1 -1
- package/dist/cjs/api/resources/Journal.js +7 -0
- package/dist/cjs/api/resources/Journal.js.map +1 -1
- package/dist/cjs/api/resources/prestation.d.ts +2 -1
- package/dist/cjs/api/resources/prestation.d.ts.map +1 -1
- package/dist/cjs/api/resources/prestation.js +3 -0
- package/dist/cjs/api/resources/prestation.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/Enum/Card.d.ts +1 -1
- package/dist/cjs/types/Enum/Card.js +1 -1
- package/dist/cjs/types/Enum/Card.js.map +1 -1
- package/dist/cjs/types/Interface/api/card/UpdateCard.d.ts +2 -1
- package/dist/cjs/types/Interface/api/card/UpdateCard.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/card/UpdateCard.js +9 -2
- package/dist/cjs/types/Interface/api/card/UpdateCard.js.map +1 -1
- package/dist/cjs/types/Interface/api/prestation/CreatePrestation.d.ts +5 -0
- package/dist/cjs/types/Interface/api/prestation/CreatePrestation.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/prestation/CreatePrestation.js +19 -1
- package/dist/cjs/types/Interface/api/prestation/CreatePrestation.js.map +1 -1
- package/dist/cjs/types/Interface/models/ICard.d.ts +11 -1
- package/dist/cjs/types/Interface/models/ICard.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/ICard.js.map +1 -1
- package/dist/cjs/types/Interface/models/IPrestationComplementary.d.ts +21 -20
- package/dist/cjs/types/Interface/models/IPrestationComplementary.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IPrestationComplementary.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/document.d.ts +0 -1
- package/dist/cjs/utils/commercialManagement/document.d.ts.map +1 -1
- package/dist/cjs/utils/commercialManagement/document.js +1 -41
- package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/templates/common.d.ts.map +1 -1
- package/dist/cjs/utils/commercialManagement/templates/common.js +34 -46
- package/dist/cjs/utils/commercialManagement/templates/common.js.map +1 -1
- package/dist/mjs/api/resources/Card.d.ts +2 -2
- package/dist/mjs/api/resources/Card.d.ts.map +1 -1
- package/dist/mjs/api/resources/Card.js +4 -2
- package/dist/mjs/api/resources/Card.js.map +1 -1
- package/dist/mjs/api/resources/GeneralLedger.d.ts +8 -0
- package/dist/mjs/api/resources/GeneralLedger.d.ts.map +1 -1
- package/dist/mjs/api/resources/GeneralLedger.js +32 -0
- package/dist/mjs/api/resources/GeneralLedger.js.map +1 -1
- package/dist/mjs/api/resources/IncomeStatement.d.ts +2 -0
- package/dist/mjs/api/resources/IncomeStatement.d.ts.map +1 -1
- package/dist/mjs/api/resources/IncomeStatement.js +10 -0
- package/dist/mjs/api/resources/IncomeStatement.js.map +1 -1
- package/dist/mjs/api/resources/Journal.d.ts +2 -0
- package/dist/mjs/api/resources/Journal.d.ts.map +1 -1
- package/dist/mjs/api/resources/Journal.js +7 -0
- package/dist/mjs/api/resources/Journal.js.map +1 -1
- package/dist/mjs/api/resources/prestation.d.ts +2 -1
- package/dist/mjs/api/resources/prestation.d.ts.map +1 -1
- package/dist/mjs/api/resources/prestation.js +3 -0
- package/dist/mjs/api/resources/prestation.js.map +1 -1
- package/dist/mjs/index.d.ts +1 -0
- package/dist/mjs/index.d.ts.map +1 -1
- package/dist/mjs/index.js +1 -0
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/types/Enum/Card.d.ts +1 -1
- package/dist/mjs/types/Enum/Card.js +1 -1
- package/dist/mjs/types/Enum/Card.js.map +1 -1
- package/dist/mjs/types/Interface/api/card/UpdateCard.d.ts +2 -1
- package/dist/mjs/types/Interface/api/card/UpdateCard.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/card/UpdateCard.js +11 -3
- package/dist/mjs/types/Interface/api/card/UpdateCard.js.map +1 -1
- package/dist/mjs/types/Interface/api/prestation/CreatePrestation.d.ts +5 -0
- package/dist/mjs/types/Interface/api/prestation/CreatePrestation.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/prestation/CreatePrestation.js +20 -0
- package/dist/mjs/types/Interface/api/prestation/CreatePrestation.js.map +1 -1
- package/dist/mjs/types/Interface/models/ICard.d.ts +11 -1
- package/dist/mjs/types/Interface/models/ICard.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/ICard.js.map +1 -1
- package/dist/mjs/types/Interface/models/IPrestationComplementary.d.ts +21 -20
- package/dist/mjs/types/Interface/models/IPrestationComplementary.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IPrestationComplementary.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/document.d.ts +0 -1
- package/dist/mjs/utils/commercialManagement/document.d.ts.map +1 -1
- package/dist/mjs/utils/commercialManagement/document.js +1 -76
- package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/templates/common.d.ts.map +1 -1
- package/dist/mjs/utils/commercialManagement/templates/common.js +34 -46
- package/dist/mjs/utils/commercialManagement/templates/common.js.map +1 -1
- package/package.json +1 -1
- package/ts/api/resources/Card.ts +5 -3
- package/ts/api/resources/GeneralLedger.ts +36 -0
- package/ts/api/resources/IncomeStatement.ts +13 -0
- package/ts/api/resources/Journal.ts +9 -0
- package/ts/api/resources/prestation.ts +6 -0
- package/ts/index.ts +1 -0
- package/ts/types/Enum/Card.ts +1 -1
- package/ts/types/Interface/api/card/UpdateCard.ts +9 -3
- package/ts/types/Interface/api/prestation/CreatePrestation.ts +14 -0
- package/ts/types/Interface/models/ICard.ts +9 -1
- package/ts/types/Interface/models/IPrestationComplementary.ts +21 -20
- package/ts/utils/commercialManagement/document.ts +1 -93
- package/ts/utils/commercialManagement/templates/common.ts +34 -46
|
@@ -2,31 +2,32 @@ import { IUser } from './IUser';
|
|
|
2
2
|
import { IPaymentExpectation } from './IPaymentExpectation';
|
|
3
3
|
import { IGedFile } from './IGedFile';
|
|
4
4
|
import { IPrestation } from './IPrestation';
|
|
5
|
+
import { AcceptationAdmin } from '../../Enum/AdditionnalSells';
|
|
5
6
|
export interface IPrestationComplementary {
|
|
6
7
|
id?: number;
|
|
7
8
|
generateLink: boolean;
|
|
8
|
-
deadline
|
|
9
|
-
dateEstimateSigned
|
|
10
|
-
dateSendToClient
|
|
11
|
-
dateInvoice
|
|
12
|
-
datePayment
|
|
13
|
-
dateTransmission
|
|
14
|
-
idGedFile
|
|
15
|
-
idCollaborater
|
|
16
|
-
idUser
|
|
17
|
-
idPaymentExpectation
|
|
18
|
-
description
|
|
19
|
-
note
|
|
20
|
-
forOtherMission
|
|
21
|
-
statePrestationJuridique
|
|
22
|
-
acceptationAdmin:
|
|
9
|
+
deadline?: Date | null;
|
|
10
|
+
dateEstimateSigned?: Date | null;
|
|
11
|
+
dateSendToClient?: Date | null;
|
|
12
|
+
dateInvoice?: Date | null;
|
|
13
|
+
datePayment?: Date | null;
|
|
14
|
+
dateTransmission?: Date | null;
|
|
15
|
+
idGedFile?: number | null;
|
|
16
|
+
idCollaborater?: number | null;
|
|
17
|
+
idUser?: number | null;
|
|
18
|
+
idPaymentExpectation?: number | null;
|
|
19
|
+
description?: string | null;
|
|
20
|
+
note?: string | null;
|
|
21
|
+
forOtherMission?: string | null;
|
|
22
|
+
statePrestationJuridique?: number | null;
|
|
23
|
+
acceptationAdmin: AcceptationAdmin;
|
|
23
24
|
createdAt?: Date | null;
|
|
24
25
|
updatedAt?: Date | null;
|
|
25
26
|
deletedAt?: Date | null;
|
|
26
|
-
prestationUser
|
|
27
|
-
prestationCollaborater
|
|
28
|
-
prestationPaymentExpectation
|
|
29
|
-
prestationGedFile
|
|
30
|
-
prestation
|
|
27
|
+
prestationUser?: IUser;
|
|
28
|
+
prestationCollaborater?: IUser;
|
|
29
|
+
prestationPaymentExpectation?: IPaymentExpectation;
|
|
30
|
+
prestationGedFile?: IGedFile;
|
|
31
|
+
prestation?: IPrestation;
|
|
31
32
|
}
|
|
32
33
|
//# sourceMappingURL=IPrestationComplementary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPrestationComplementary.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestationComplementary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"IPrestationComplementary.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestationComplementary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,MAAM,WAAW,wBAAwB;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,kBAAkB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,gBAAgB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAGxB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,sBAAsB,CAAC,EAAE,KAAK,CAAC;IAC/B,4BAA4B,CAAC,EAAE,mBAAmB,CAAC;IACnD,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPrestationComplementary.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestationComplementary.ts"],"names":[],"mappings":"","sourcesContent":["import { IUser } from './IUser';\nimport { IPaymentExpectation } from './IPaymentExpectation';\nimport { IGedFile } from './IGedFile';\nimport { IPrestation } from './IPrestation';\n\n// prestationsCompl\nexport interface IPrestationComplementary {\n id?: number;\n generateLink: boolean;\n deadline
|
|
1
|
+
{"version":3,"file":"IPrestationComplementary.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestationComplementary.ts"],"names":[],"mappings":"","sourcesContent":["import { IUser } from './IUser';\nimport { IPaymentExpectation } from './IPaymentExpectation';\nimport { IGedFile } from './IGedFile';\nimport { IPrestation } from './IPrestation';\nimport { AcceptationAdmin } from '../../Enum/AdditionnalSells';\n\n// prestationsCompl\nexport interface IPrestationComplementary {\n id?: number;\n generateLink: boolean;\n deadline?: Date | null;\n dateEstimateSigned?: Date | null;\n dateSendToClient?: Date | null;\n dateInvoice?: Date | null;\n datePayment?: Date | null;\n dateTransmission?: Date | null;\n idGedFile?: number | null;\n idCollaborater?: number | null;\n idUser?: number | null;\n idPaymentExpectation?: number | null;\n description?: string | null;\n note?: string | null;\n forOtherMission?: string | null;\n statePrestationJuridique?: number | null;\n acceptationAdmin: AcceptationAdmin;\n createdAt?: Date | null;\n updatedAt?: Date | null;\n deletedAt?: Date | null;\n\n // Associations\n prestationUser?: IUser;\n prestationCollaborater?: IUser;\n prestationPaymentExpectation?: IPaymentExpectation;\n prestationGedFile?: IGedFile;\n prestation?: IPrestation;\n}\n"]}
|
|
@@ -2,6 +2,5 @@ import { ReadCommercialDocumentTemplate } from '../../types/Interface/api/commer
|
|
|
2
2
|
import { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';
|
|
3
3
|
import { CreateInvoiceDocument, CreateMailHeader, CreatePreSaleDocument, ReadCommercialMailTemplate } from '../../types';
|
|
4
4
|
export declare function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument, shouldHideBrandName?: boolean, nodeEnv?: string | undefined): ReadCommercialDocumentTemplate;
|
|
5
|
-
export declare function generateAdvanceDocument(payload: CreateInvoiceDocument, shouldHideBrandName?: boolean, nodeEnv?: string | undefined): ReadCommercialDocumentTemplate;
|
|
6
5
|
export declare function generateMailHeader(params: CreateMailHeader, shouldHideBrandName?: boolean, nodeEnv?: string | undefined): ReadCommercialMailTemplate;
|
|
7
6
|
//# sourceMappingURL=document.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAuB,MAAM,qDAAqD,CAAC;AAI1H,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EACL,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EAC3F,MAAM,aAAa,CAAC;AAgBrB,wBAAgB,0BAA0B,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,mBAAmB,UAAQ,EAAE,OAAO,GAAE,MAAM,GAAG,SAAqB,GAAG,8BAA8B,CAyFnP;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAuB,MAAM,qDAAqD,CAAC;AAI1H,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EACL,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EAC3F,MAAM,aAAa,CAAC;AAgBrB,wBAAgB,0BAA0B,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,mBAAmB,UAAQ,EAAE,OAAO,GAAE,MAAM,GAAG,SAAqB,GAAG,8BAA8B,CAyFnP;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,UAAQ,EAAE,OAAO,GAAE,MAAM,GAAG,SAAqB,GAAG,0BAA0B,CAuB7J"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateMailHeader = exports.
|
|
3
|
+
exports.generateMailHeader = exports.generateCommercialDocument = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
const dayjs = require("dayjs");
|
|
6
6
|
const CommercialManagement_1 = require("../../types/Enum/CommercialManagement");
|
|
@@ -58,46 +58,6 @@ function generateCommercialDocument(idEstimateInvoiceType, payload, shouldHideBr
|
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
60
|
exports.generateCommercialDocument = generateCommercialDocument;
|
|
61
|
-
function generateAdvanceDocument(payload, shouldHideBrandName = false, nodeEnv = undefined) {
|
|
62
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
63
|
-
if (!payload.deposit)
|
|
64
|
-
throw new Error('Aucun acompte défini');
|
|
65
|
-
const data = Object.assign(Object.assign({}, payload), { title: (_a = payload.title) !== null && _a !== void 0 ? _a : null, paymentLink: (_b = payload.paymentLink) !== null && _b !== void 0 ? _b : '#', idEstimateInvoiceType: EstimateInvoice_1.EstimateInvoiceType.ACOMPTE, phoneContact: (_d = (_c = payload.settings) === null || _c === void 0 ? void 0 : _c.phoneContact) !== null && _d !== void 0 ? _d : null, products: [], vats: [], totalTaxExcluded: payload.deposit, totalTaxIncluded: payload.deposit, totalTaxAndDiscountIncluded: payload.deposit, generalDiscountFormatted: null, depositFormatted: (0, amount_1.integerToFormattedAmountString)(payload.deposit), totalTaxExcludedFormatted: (0, amount_1.integerToFormattedAmountString)(payload.deposit), totalTaxIncludedFormatted: (0, amount_1.integerToFormattedAmountString)(payload.deposit), totalTaxAndDiscountIncludedFormatted: (0, amount_1.integerToFormattedAmountString)(payload.deposit), totalVatAmountFormatted: (0, amount_1.integerToFormattedAmountString)(0), font: {
|
|
66
|
-
id: (_f = (_e = payload.settings) === null || _e === void 0 ? void 0 : _e.idFont) !== null && _f !== void 0 ? _f : CommercialManagement_1.FontIds.CIRCULAR_STD,
|
|
67
|
-
name: (_h = (_g = CommercialManagement_1.fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _g === void 0 ? void 0 : _g.name) !== null && _h !== void 0 ? _h : CommercialManagement_1.fontList[0].name,
|
|
68
|
-
url: (_k = (_j = CommercialManagement_1.fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _j === void 0 ? void 0 : _j.link) !== null && _k !== void 0 ? _k : CommercialManagement_1.fontList[0].link,
|
|
69
|
-
}, capitalFormatted: payload.capital
|
|
70
|
-
? `${payload.capital}`
|
|
71
|
-
.split('')
|
|
72
|
-
.reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')
|
|
73
|
-
.trim()
|
|
74
|
-
: null, dueDateFormatted: payload.dueDate
|
|
75
|
-
? dayjs(payload.dueDate).format('DD/MM/YYYY')
|
|
76
|
-
: null, expirationDateFormatted: payload.expirationDate
|
|
77
|
-
? dayjs(payload.expirationDate).format('DD/MM/YYYY')
|
|
78
|
-
: null, emissionDateFormatted: payload.emissionDate
|
|
79
|
-
? dayjs(payload.emissionDate).format('DD/MM/YYYY')
|
|
80
|
-
: null, shouldDisplayDiscountColumn: false, disableVat: true,
|
|
81
|
-
// @ts-ignore
|
|
82
|
-
marginVats: (0, lodash_1.uniq)(((_l = payload.assetMarginVatIds) !== null && _l !== void 0 ? _l : []).map((m) => { var _a, _b; return (_b = (_a = CommercialManagement_1.VatMarginCategyList.find((c) => c.id === m)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : null; })), accountingCategoryFormatted: (_o = (_m = CommercialManagement_1.AccountingCategoryList.find((a) => a.id === payload.accountingCategory)) === null || _m === void 0 ? void 0 : _m.label) !== null && _o !== void 0 ? _o : null,
|
|
83
|
-
// @ts-ignore
|
|
84
|
-
brandColors: (0, brands_1.getBrandConfig)({ objectWaited: 'colors', nodeEnv }), brandName: `${(0, brands_1.getBrandConfig)({ objectWaited: 'name', nodeEnv })}`, shouldHideBrandName });
|
|
85
|
-
const commonTemplate = new common_1.CommercialDocumentCommonHTML();
|
|
86
|
-
return {
|
|
87
|
-
header: ejs === null || ejs === void 0 ? void 0 : ejs.render(commonTemplate.header, data),
|
|
88
|
-
body: ejs === null || ejs === void 0 ? void 0 : ejs.render(body_1.bodyTemplate, Object.assign(Object.assign({}, data), { comment: data.comment && typeof data.comment === 'string'
|
|
89
|
-
? (_p = data.comment) === null || _p === void 0 ? void 0 : _p.replace(/\n/g, '<br/>')
|
|
90
|
-
: null, products: data.products.map((p) => {
|
|
91
|
-
var _a;
|
|
92
|
-
return (Object.assign(Object.assign({}, p), { comment: p.comment && typeof p.comment === 'string'
|
|
93
|
-
? (_a = p.comment) === null || _a === void 0 ? void 0 : _a.replace(/\n/g, '<br/>')
|
|
94
|
-
: null }));
|
|
95
|
-
}) })),
|
|
96
|
-
footer: ejs === null || ejs === void 0 ? void 0 : ejs.render(commonTemplate.footer, Object.assign(Object.assign({}, data), { freeText: (_r = (_q = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _q === void 0 ? void 0 : _q.freeInvoiceText) !== null && _r !== void 0 ? _r : null })),
|
|
97
|
-
data,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
exports.generateAdvanceDocument = generateAdvanceDocument;
|
|
101
61
|
function generateMailHeader(params, shouldHideBrandName = false, nodeEnv = undefined) {
|
|
102
62
|
dayjs.locale('fr');
|
|
103
63
|
const data = Object.assign(Object.assign({}, params.payload), { totalTaxExcludedFormatted: (0, amount_1.integerToFormattedAmountObject)(params.payload.totalTaxExcluded), totalTaxIncludedFormatted: (0, amount_1.integerToFormattedAmountObject)(params.payload.totalTaxIncluded), totalVatFormatted: (0, amount_1.integerToFormattedAmountObject)(params.payload.totalTaxIncluded - params.payload.totalTaxExcluded), dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null, hasVat: params.hasVat, hostS3: params.hostS3, logoUrl: params.logoUrl, companyName: params.companyName, fileUrl: params.fileUrl,
|
|
@@ -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 {\n AccountingCategoryList, FontIds, fontList, VatMarginCategyList,\n} from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport {\n CreateInvoiceDocument, CreateMailHeader, CreatePreSaleDocument, ReadCommercialMailTemplate,\n} from '../../types';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty';\nimport { getBrandConfig } from '../brands';\n\nconst ejs = require('ejs');\nrequire('dayjs/locale/fr');\n\ntype brandColorType = {\n primary: string,\n primary50: string,\n primary100: string,\n primary300: string,\n primary500: string,\n primary700: string\n};\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): 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 thirdParty = thirdPartyToReadThirdPartyEditing(payload.thirdParty);\n\n const data: ReadDocumentEditing & { brandColors: brandColorType, brandName: string, shouldHideBrandName: boolean } = {\n ...payload,\n thirdParty,\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'),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount')),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\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\n ? `${payload.capital}`.split('')\n .reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')\n .trim()\n : 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(\n (p) => p.discount2 && p.discount2 > 0,\n ),\n // @ts-ignore\n marginVats: _uniq(\n products\n .filter((p) => p.marginVatFormatted !== null)\n .map((p) => p.marginVatFormatted),\n ),\n accountingCategoryFormatted:\n AccountingCategoryList.find((a) => a.id === payload.accountingCategory)\n ?.label ?? null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv })}`,\n shouldHideBrandName,\n paymentType: payload.paymentType,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [\n EstimateInvoiceType.DEVIS,\n EstimateInvoiceType.BON,\n ].includes(idEstimateInvoiceType)\n ? payload?.settings?.freeEstimateText\n : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? data.comment?.replace(/\\n/g, '<br/>')\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? p.comment?.replace(/\\n/g, '<br/>')\n : null,\n })),\n }),\n footer: ejs.render(commonTemplate.footer, {\n ...data,\n freeText: documentFreeText ?? null,\n }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing & { brandColors: brandColorType, brandName: string, shouldHideBrandName: boolean } = {\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(\n payload.deposit,\n ),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\n name:\n fontList.find((f) => f.id === payload.settings?.idFont)?.name\n ?? fontList[0].name,\n url:\n fontList.find((f) => f.id === payload.settings?.idFont)?.link\n ?? fontList[0].link,\n },\n capitalFormatted: payload.capital\n ? `${payload.capital}`\n .split('')\n .reduceRight(\n (acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`,\n '',\n )\n .trim()\n : null,\n dueDateFormatted: payload.dueDate\n ? dayjs(payload.dueDate).format('DD/MM/YYYY')\n : null,\n expirationDateFormatted: payload.expirationDate\n ? dayjs(payload.expirationDate).format('DD/MM/YYYY')\n : null,\n emissionDateFormatted: payload.emissionDate\n ? dayjs(payload.emissionDate).format('DD/MM/YYYY')\n : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq(\n (payload.assetMarginVatIds ?? []).map(\n (m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null,\n ),\n ),\n accountingCategoryFormatted:\n AccountingCategoryList.find((a) => a.id === payload.accountingCategory)\n ?.label ?? null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv })}`,\n shouldHideBrandName,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs?.render(commonTemplate.header, data),\n body: ejs?.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? data.comment?.replace(/\\n/g, '<br/>')\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? p.comment?.replace(/\\n/g, '<br/>')\n : null,\n })),\n }),\n footer: ejs?.render(commonTemplate.footer, {\n ...data,\n freeText: payload?.settings?.freeInvoiceText ?? null,\n }),\n data,\n };\n}\n\nexport function generateMailHeader(params: CreateMailHeader, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialMailTemplate {\n dayjs.locale('fr');\n const data = {\n ...params.payload,\n totalTaxExcludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxExcluded),\n totalTaxIncludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded),\n totalVatFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded - params.payload.totalTaxExcluded),\n dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null,\n hasVat: params.hasVat,\n hostS3: params.hostS3,\n logoUrl: params.logoUrl,\n companyName: params.companyName,\n fileUrl: params.fileUrl,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n shouldHideBrandName,\n };\n\n const mailTemplate = new CommercialDocumentMailHTML();\n\n return {\n header: ejs.render(mailTemplate.header, 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 {\n AccountingCategoryList, FontIds, fontList,\n} from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport {\n CreateInvoiceDocument, CreateMailHeader, CreatePreSaleDocument, ReadCommercialMailTemplate,\n} from '../../types';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty';\nimport { getBrandConfig } from '../brands';\n\nconst ejs = require('ejs');\nrequire('dayjs/locale/fr');\n\ntype brandColorType = {\n primary: string,\n primary50: string,\n primary100: string,\n primary300: string,\n primary500: string,\n primary700: string\n};\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): 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 thirdParty = thirdPartyToReadThirdPartyEditing(payload.thirdParty);\n\n const data: ReadDocumentEditing & { brandColors: brandColorType, brandName: string, shouldHideBrandName: boolean } = {\n ...payload,\n thirdParty,\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'),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount')),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\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\n ? `${payload.capital}`.split('')\n .reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')\n .trim()\n : 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(\n (p) => p.discount2 && p.discount2 > 0,\n ),\n // @ts-ignore\n marginVats: _uniq(\n products\n .filter((p) => p.marginVatFormatted !== null)\n .map((p) => p.marginVatFormatted),\n ),\n accountingCategoryFormatted:\n AccountingCategoryList.find((a) => a.id === payload.accountingCategory)\n ?.label ?? null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv })}`,\n shouldHideBrandName,\n paymentType: payload.paymentType,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [\n EstimateInvoiceType.DEVIS,\n EstimateInvoiceType.BON,\n ].includes(idEstimateInvoiceType)\n ? payload?.settings?.freeEstimateText\n : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? data.comment?.replace(/\\n/g, '<br/>')\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? p.comment?.replace(/\\n/g, '<br/>')\n : null,\n })),\n }),\n footer: ejs.render(commonTemplate.footer, {\n ...data,\n freeText: documentFreeText ?? null,\n }),\n data,\n };\n}\n\nexport function generateMailHeader(params: CreateMailHeader, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialMailTemplate {\n dayjs.locale('fr');\n const data = {\n ...params.payload,\n totalTaxExcludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxExcluded),\n totalTaxIncludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded),\n totalVatFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded - params.payload.totalTaxExcluded),\n dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null,\n hasVat: params.hasVat,\n hostS3: params.hostS3,\n logoUrl: params.logoUrl,\n companyName: params.companyName,\n fileUrl: params.fileUrl,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n shouldHideBrandName,\n };\n\n const mailTemplate = new CommercialDocumentMailHTML();\n\n return {\n header: ejs.render(mailTemplate.header, data),\n };\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/templates/common.ts"],"names":[],"mappings":"AAMA,qBAAa,4BAA4B;IACvC,MAAM,SAIG;IAET,MAAM,SAcE;IAER,IAAI,SAEI;IAER,OAAO,SAMiF;IAExF,QAAQ,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/templates/common.ts"],"names":[],"mappings":"AAMA,qBAAa,4BAA4B;IACvC,MAAM,SAIG;IAET,MAAM,SAcE;IAER,IAAI,SAEI;IAER,OAAO,SAMiF;IAExF,QAAQ,SAiCA;IAER,iBAAiB,SAeP;IAEV,oBAAoB,SA+CZ;IAER,aAAa,SAUD;IAEZ,KAAK,SA6HI;IAET,YAAY,SAeV;CACH;AAED,qBAAa,0BAA0B;IACrC,KAAK,SAWL;IAEA,MAAM,SA0FJ;CACH"}
|
|
@@ -46,16 +46,6 @@ class CommercialDocumentCommonHTML {
|
|
|
46
46
|
<td>Montant <%= disableVat !== true ? 'HT' : ''%></td>
|
|
47
47
|
</tr>
|
|
48
48
|
</thead>
|
|
49
|
-
<% if (idEstimateInvoiceType === ${EstimateInvoice_1.EstimateInvoiceType.ACOMPTE}) { %>
|
|
50
|
-
<tr>
|
|
51
|
-
<td class="product-title">
|
|
52
|
-
<%= title %>
|
|
53
|
-
</td>
|
|
54
|
-
<td class="product-quantity">1</td>
|
|
55
|
-
<td class="product-price-without-vat"><%= depositFormatted %>€</td>
|
|
56
|
-
<td class="product-total-price-without-vat"><%= depositFormatted %>€</td>
|
|
57
|
-
</tr>
|
|
58
|
-
<% } %>
|
|
59
49
|
<% if (products) { %>
|
|
60
50
|
<% products.forEach(function (product) { %>
|
|
61
51
|
<tr>
|
|
@@ -101,42 +91,40 @@ class CommercialDocumentCommonHTML {
|
|
|
101
91
|
<td colspan="2">Récapitulatif</td>
|
|
102
92
|
</tr>
|
|
103
93
|
</thead>
|
|
104
|
-
<% if (
|
|
105
|
-
|
|
106
|
-
<
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
<
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
<
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
<
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
<
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
<
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
</tr>
|
|
139
|
-
<% } %>
|
|
94
|
+
<% if (disableVat !== true) { %>
|
|
95
|
+
<tr>
|
|
96
|
+
<td>Total HT</td>
|
|
97
|
+
<td><%= totalTaxExcludedFormatted %>€</td>
|
|
98
|
+
</tr>
|
|
99
|
+
<% } %>
|
|
100
|
+
<% if (generalDiscountFormatted) { %>
|
|
101
|
+
<tr>
|
|
102
|
+
<td>Remise</td>
|
|
103
|
+
<td><%= generalDiscountFormatted %>€</td>
|
|
104
|
+
</tr>
|
|
105
|
+
<% } %>
|
|
106
|
+
<% if (disableVat !== true) { %>
|
|
107
|
+
<tr>
|
|
108
|
+
<td>TVA</td>
|
|
109
|
+
<td><%= totalVatAmountFormatted %>€</td>
|
|
110
|
+
</tr>
|
|
111
|
+
<% } %>
|
|
112
|
+
<% if (disableVat !== true || generalDiscountFormatted || depositFormatted) { %>
|
|
113
|
+
<tr>
|
|
114
|
+
<td>Total <%= disableVat !== true ? 'TTC' : ''%></td>
|
|
115
|
+
<td><%= totalTaxIncludedFormatted %>€</td>
|
|
116
|
+
</tr>
|
|
117
|
+
<% } else if (disableVat === true && ![${EstimateInvoice_1.EstimateInvoiceType.FACTURE}, ${EstimateInvoice_1.EstimateInvoiceType.RESTE}, ${EstimateInvoice_1.EstimateInvoiceType.ACOMPTE}].includes(idEstimateInvoiceType)) { %>
|
|
118
|
+
<tr>
|
|
119
|
+
<td>Total</td>
|
|
120
|
+
<td><%= totalTaxIncludedFormatted %>€</td>
|
|
121
|
+
</tr>
|
|
122
|
+
<% } %>
|
|
123
|
+
<% if (depositFormatted) { %>
|
|
124
|
+
<tr>
|
|
125
|
+
<td>Acompte</td>
|
|
126
|
+
<td><%= depositFormatted %>€</td>
|
|
127
|
+
</tr>
|
|
140
128
|
<% } %>
|
|
141
129
|
<% if ([${EstimateInvoice_1.EstimateInvoiceType.FACTURE}, ${EstimateInvoice_1.EstimateInvoiceType.RESTE}, ${EstimateInvoice_1.EstimateInvoiceType.ACOMPTE}].includes(idEstimateInvoiceType)) { %>
|
|
142
130
|
<tr>
|