@hed-hog/finance 0.0.246 → 0.0.250
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/finance-data.controller.d.ts +4 -0
- package/dist/finance-data.controller.d.ts.map +1 -1
- package/dist/finance.service.d.ts +10 -0
- package/dist/finance.service.d.ts.map +1 -1
- package/dist/finance.service.js +77 -9
- package/dist/finance.service.js.map +1 -1
- package/hedhog/frontend/app/_lib/use-finance-data.ts.ejs +5 -0
- package/hedhog/frontend/app/cash-and-banks/statements/page.tsx.ejs +192 -55
- package/hedhog/frontend/app/page.tsx.ejs +19 -3
- package/package.json +5 -5
- package/src/finance.service.ts +121 -8
|
@@ -143,6 +143,10 @@ export declare class FinanceDataController {
|
|
|
143
143
|
historicoContatos: any[];
|
|
144
144
|
entradasPrevistas: any[];
|
|
145
145
|
saidasPrevistas: any[];
|
|
146
|
+
periodoAberto: {
|
|
147
|
+
inicio: string;
|
|
148
|
+
fim: string;
|
|
149
|
+
};
|
|
146
150
|
}>;
|
|
147
151
|
}
|
|
148
152
|
//# sourceMappingURL=finance-data.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finance-data.controller.d.ts","sourceRoot":"","sources":["../src/finance-data.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAEa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAGrD,OAAO
|
|
1
|
+
{"version":3,"file":"finance-data.controller.d.ts","sourceRoot":"","sources":["../src/finance-data.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAEa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAGrD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGd"}
|
|
@@ -198,7 +198,16 @@ export declare class FinanceService {
|
|
|
198
198
|
historicoContatos: any[];
|
|
199
199
|
entradasPrevistas: any[];
|
|
200
200
|
saidasPrevistas: any[];
|
|
201
|
+
periodoAberto: {
|
|
202
|
+
inicio: string;
|
|
203
|
+
fim: string;
|
|
204
|
+
};
|
|
201
205
|
}>;
|
|
206
|
+
private calculateDashboardKpis;
|
|
207
|
+
private extractOpenInstallments;
|
|
208
|
+
private sumInstallmentsDueBetween;
|
|
209
|
+
private startOfDay;
|
|
210
|
+
private addDays;
|
|
202
211
|
listAccountsPayableInstallments(paginationParams: PaginationDTO, status?: string): Promise<{
|
|
203
212
|
total: any;
|
|
204
213
|
lastPage: number;
|
|
@@ -972,6 +981,7 @@ export declare class FinanceService {
|
|
|
972
981
|
private loadBankAccounts;
|
|
973
982
|
private loadTags;
|
|
974
983
|
private loadAuditLogs;
|
|
984
|
+
private loadOpenPeriod;
|
|
975
985
|
private resolvePaymentMethodId;
|
|
976
986
|
private assertDateNotInClosedPeriod;
|
|
977
987
|
private resolveInstallmentStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finance.service.d.ts","sourceRoot":"","sources":["../src/finance.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAWvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,KAAK,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAe1C,qBACa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAEnB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAGvC,MAAM,EAAE,aAAa,EACrB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,SAAS,EAEb,WAAW,EAAE,WAAW;IAGrC,2BAA2B,CAC/B,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,GAAE,SAAqB;;;;;;;;;;;;;;;;;;;;;YAuHpB,uBAAuB;IA8NrC,OAAO,CAAC,iCAAiC;IA+CzC,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,2BAA2B;IA2BnC,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,WAAW;YAgCL,aAAa;YAqBb,eAAe;YAqBf,iBAAiB;IAqB/B,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,gBAAgB;IAwClB,OAAO
|
|
1
|
+
{"version":3,"file":"finance.service.d.ts","sourceRoot":"","sources":["../src/finance.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAWvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,KAAK,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAe1C,qBACa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAEnB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAGvC,MAAM,EAAE,aAAa,EACrB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,SAAS,EAEb,WAAW,EAAE,WAAW;IAGrC,2BAA2B,CAC/B,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,GAAE,SAAqB;;;;;;;;;;;;;;;;;;;;;YAuHpB,uBAAuB;IA8NrC,OAAO,CAAC,iCAAiC;IA+CzC,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,2BAA2B;IA2BnC,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,WAAW;YAgCL,aAAa;YAqBb,eAAe;YAqBf,iBAAiB;IAqB/B,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,gBAAgB;IAwClB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0Gb,OAAO,CAAC,sBAAsB;IAoD9B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,OAAO;IAMT,+BAA+B,CACnC,gBAAgB,EAAE,aAAa,EAC/B,MAAM,CAAC,EAAE,MAAM;;;;;;;;;IAKX,kCAAkC,CACtC,gBAAgB,EAAE,aAAa,EAC/B,MAAM,CAAC,EAAE,MAAM;;;;;;;;;IAKX,6BAA6B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKxD,gCAAgC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK3D,0BAA0B,CAC9B,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,0BAA0B,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,2BAA2B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIvE,0BAA0B,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,0BAA0B,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,gCAAgC,CACpC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,gCAAgC,CACpC,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYX,6BAA6B,CACjC,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,6BAA6B,CACjC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,8BAA8B,CAClC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,6BAA6B,CACjC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,mCAAmC,CACvC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,mCAAmC,CACvC,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYX,SAAS,CAAC,IAAI,EAAE,mBAAmB;;;;;IA8CnC,oCAAoC,CACxC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKV,uCAAuC,CAC3C,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKV,gBAAgB;;;;;;;;;;;;IAgBhB,eAAe;;;;;;;IAQf,aAAa,CACjB,gBAAgB,KAAA,EAChB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;KACb;;;;;;;IAmFG,qBAAqB;;;;;;;;;IAQrB,eAAe,CACnB,gBAAgB,EAAE,aAAa,EAC/B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;KACb;;;;;;;IAmGG,kBAAkB,CAAC,aAAa,CAAC,EAAE,MAAM;;;;;;;;;IA0BzC,uBAAuB,CAAC,aAAa,EAAE,MAAM;;;;IAsC7C,oBAAoB,CACxB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;IAoIjB,OAAO,CAAC,yBAAyB;YAuBnB,mBAAmB;IAmBjC,OAAO,CAAC,kBAAkB;IAkH1B,OAAO,CAAC,kBAAkB;IAgD1B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAOf,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;IAwD7D,gBAAgB,CAAC,IAAI,EAAE,mBAAmB;;;;;;;IAc1C,qBAAqB,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;IAkBpD,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;IAmD7D,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;;;;;;;;;;;;IAiCxD,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB;;;;;;;IAqBtD,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB;;;;;;;;;IA4BhE,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB;;;IAiD5D,iBAAiB,CAAC,EAAE,EAAE,MAAM;;;IAoB5B,gBAAgB,CAAC,EAAE,EAAE,MAAM;;;IAoB3B,qBAAqB,CAAC,EAAE,EAAE,MAAM;;;YAoBxB,UAAU;YAyBV,YAAY;YAsBZ,WAAW;YAgKX,gBAAgB;IAyP9B,OAAO,CAAC,gCAAgC;YAqE1B,YAAY;YAwEZ,WAAW;YA4EX,WAAW;YA4EX,sBAAsB;YAiNtB,sBAAsB;YA6JtB,eAAe;YAyFf,UAAU;YAUV,UAAU;YAaV,cAAc;YAmBd,eAAe;YAaf,gBAAgB;YAgBhB,QAAQ;YAYR,aAAa;YAmBb,cAAc;YAwBd,sBAAsB;YAoBtB,2BAA2B;IA+BzC,OAAO,CAAC,wBAAwB;IA8BhC,OAAO,CAAC,iCAAiC;YAoC3B,sBAAsB;YAyCtB,cAAc;IAyB5B,OAAO,CAAC,eAAe;IAyFvB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,uBAAuB;YAcjB,sBAAsB;YAmBtB,2BAA2B;YAW3B,2BAA2B;YAW3B,4BAA4B;IAwB1C,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;CAGlB"}
|
package/dist/finance.service.js
CHANGED
|
@@ -504,7 +504,7 @@ let FinanceService = FinanceService_1 = class FinanceService {
|
|
|
504
504
|
return Number.isFinite(num) ? num : null;
|
|
505
505
|
}
|
|
506
506
|
async getData() {
|
|
507
|
-
const [payablesResult, receivablesResult, peopleResult, categoriesResult, costCentersResult, bankAccountsResult, tagsResult, auditLogsResult,] = await Promise.allSettled([
|
|
507
|
+
const [payablesResult, receivablesResult, peopleResult, categoriesResult, costCentersResult, bankAccountsResult, tagsResult, auditLogsResult, openPeriodResult,] = await Promise.allSettled([
|
|
508
508
|
this.loadTitles('payable'),
|
|
509
509
|
this.loadTitles('receivable'),
|
|
510
510
|
this.loadPeople(),
|
|
@@ -513,6 +513,7 @@ let FinanceService = FinanceService_1 = class FinanceService {
|
|
|
513
513
|
this.loadBankAccounts(),
|
|
514
514
|
this.loadTags(),
|
|
515
515
|
this.loadAuditLogs(),
|
|
516
|
+
this.loadOpenPeriod(),
|
|
516
517
|
]);
|
|
517
518
|
const payables = payablesResult.status === 'fulfilled' ? payablesResult.value : [];
|
|
518
519
|
const receivables = receivablesResult.status === 'fulfilled' ? receivablesResult.value : [];
|
|
@@ -522,6 +523,7 @@ let FinanceService = FinanceService_1 = class FinanceService {
|
|
|
522
523
|
const bankAccounts = bankAccountsResult.status === 'fulfilled' ? bankAccountsResult.value : [];
|
|
523
524
|
const tags = tagsResult.status === 'fulfilled' ? tagsResult.value : [];
|
|
524
525
|
const auditLogs = auditLogsResult.status === 'fulfilled' ? auditLogsResult.value : [];
|
|
526
|
+
const openPeriod = openPeriodResult.status === 'fulfilled' ? openPeriodResult.value : null;
|
|
525
527
|
if (payablesResult.status === 'rejected') {
|
|
526
528
|
this.logger.error('Failed to load finance payables', payablesResult.reason);
|
|
527
529
|
}
|
|
@@ -546,6 +548,9 @@ let FinanceService = FinanceService_1 = class FinanceService {
|
|
|
546
548
|
if (auditLogsResult.status === 'rejected') {
|
|
547
549
|
this.logger.error('Failed to load finance audit logs', auditLogsResult.reason);
|
|
548
550
|
}
|
|
551
|
+
if (openPeriodResult.status === 'rejected') {
|
|
552
|
+
this.logger.error('Failed to load finance open period', openPeriodResult.reason);
|
|
553
|
+
}
|
|
549
554
|
const aprovacoesPendentes = payables
|
|
550
555
|
.filter((title) => title.status === 'rascunho')
|
|
551
556
|
.map((title) => ({
|
|
@@ -557,15 +562,9 @@ let FinanceService = FinanceService_1 = class FinanceService {
|
|
|
557
562
|
urgencia: 'media',
|
|
558
563
|
dataSolicitacao: title.criadoEm,
|
|
559
564
|
}));
|
|
565
|
+
const kpis = this.calculateDashboardKpis(payables, receivables, bankAccounts);
|
|
560
566
|
return {
|
|
561
|
-
kpis
|
|
562
|
-
saldoCaixa: 0,
|
|
563
|
-
aPagar30dias: 0,
|
|
564
|
-
aPagar7dias: 0,
|
|
565
|
-
aReceber30dias: 0,
|
|
566
|
-
aReceber7dias: 0,
|
|
567
|
-
inadimplencia: 0,
|
|
568
|
-
},
|
|
567
|
+
kpis,
|
|
569
568
|
fluxoCaixaPrevisto: [],
|
|
570
569
|
titulosPagar: payables,
|
|
571
570
|
titulosReceber: receivables,
|
|
@@ -585,8 +584,55 @@ let FinanceService = FinanceService_1 = class FinanceService {
|
|
|
585
584
|
historicoContatos: [],
|
|
586
585
|
entradasPrevistas: [],
|
|
587
586
|
saidasPrevistas: [],
|
|
587
|
+
periodoAberto: openPeriod,
|
|
588
|
+
};
|
|
589
|
+
}
|
|
590
|
+
calculateDashboardKpis(payables, receivables, bankAccounts) {
|
|
591
|
+
const today = this.startOfDay(new Date());
|
|
592
|
+
const day7 = this.addDays(today, 7);
|
|
593
|
+
const day30 = this.addDays(today, 30);
|
|
594
|
+
const payableInstallments = this.extractOpenInstallments(payables);
|
|
595
|
+
const receivableInstallments = this.extractOpenInstallments(receivables);
|
|
596
|
+
const saldoCaixa = (bankAccounts || [])
|
|
597
|
+
.filter((account) => (account === null || account === void 0 ? void 0 : account.ativo) !== false)
|
|
598
|
+
.reduce((acc, account) => acc + Number((account === null || account === void 0 ? void 0 : account.saldoAtual) || 0), 0);
|
|
599
|
+
const aPagar7dias = this.sumInstallmentsDueBetween(payableInstallments, today, day7);
|
|
600
|
+
const aPagar30dias = this.sumInstallmentsDueBetween(payableInstallments, today, day30);
|
|
601
|
+
const aReceber7dias = this.sumInstallmentsDueBetween(receivableInstallments, today, day7);
|
|
602
|
+
const aReceber30dias = this.sumInstallmentsDueBetween(receivableInstallments, today, day30);
|
|
603
|
+
const inadimplencia = receivableInstallments
|
|
604
|
+
.filter((installment) => this.startOfDay(new Date(installment.vencimento)) < today)
|
|
605
|
+
.reduce((acc, installment) => acc + Number(installment.valor || 0), 0);
|
|
606
|
+
return {
|
|
607
|
+
saldoCaixa: Number(saldoCaixa.toFixed(2)),
|
|
608
|
+
aPagar30dias: Number(aPagar30dias.toFixed(2)),
|
|
609
|
+
aPagar7dias: Number(aPagar7dias.toFixed(2)),
|
|
610
|
+
aReceber30dias: Number(aReceber30dias.toFixed(2)),
|
|
611
|
+
aReceber7dias: Number(aReceber7dias.toFixed(2)),
|
|
612
|
+
inadimplencia: Number(inadimplencia.toFixed(2)),
|
|
588
613
|
};
|
|
589
614
|
}
|
|
615
|
+
extractOpenInstallments(titles) {
|
|
616
|
+
return (titles || []).flatMap((title) => ((title === null || title === void 0 ? void 0 : title.parcelas) || []).filter((installment) => (installment === null || installment === void 0 ? void 0 : installment.status) === 'aberto' ||
|
|
617
|
+
(installment === null || installment === void 0 ? void 0 : installment.status) === 'vencido' ||
|
|
618
|
+
(installment === null || installment === void 0 ? void 0 : installment.status) === 'parcial'));
|
|
619
|
+
}
|
|
620
|
+
sumInstallmentsDueBetween(installments, startDate, endDate) {
|
|
621
|
+
return (installments || [])
|
|
622
|
+
.filter((installment) => {
|
|
623
|
+
const dueDate = this.startOfDay(new Date(installment.vencimento));
|
|
624
|
+
return dueDate >= startDate && dueDate <= endDate;
|
|
625
|
+
})
|
|
626
|
+
.reduce((acc, installment) => acc + Number(installment.valor || 0), 0);
|
|
627
|
+
}
|
|
628
|
+
startOfDay(date) {
|
|
629
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
630
|
+
}
|
|
631
|
+
addDays(date, days) {
|
|
632
|
+
const next = new Date(date);
|
|
633
|
+
next.setDate(next.getDate() + days);
|
|
634
|
+
return next;
|
|
635
|
+
}
|
|
590
636
|
async listAccountsPayableInstallments(paginationParams, status) {
|
|
591
637
|
return this.listTitles('payable', paginationParams, status);
|
|
592
638
|
}
|
|
@@ -2438,6 +2484,28 @@ let FinanceService = FinanceService_1 = class FinanceService {
|
|
|
2438
2484
|
data: log.created_at.toISOString(),
|
|
2439
2485
|
}));
|
|
2440
2486
|
}
|
|
2487
|
+
async loadOpenPeriod() {
|
|
2488
|
+
var _a, _b, _c, _d;
|
|
2489
|
+
const openPeriod = await this.prisma.period_close.findFirst({
|
|
2490
|
+
where: {
|
|
2491
|
+
status: 'open',
|
|
2492
|
+
},
|
|
2493
|
+
orderBy: {
|
|
2494
|
+
period_start: 'desc',
|
|
2495
|
+
},
|
|
2496
|
+
select: {
|
|
2497
|
+
period_start: true,
|
|
2498
|
+
period_end: true,
|
|
2499
|
+
},
|
|
2500
|
+
});
|
|
2501
|
+
if (!openPeriod) {
|
|
2502
|
+
return null;
|
|
2503
|
+
}
|
|
2504
|
+
return {
|
|
2505
|
+
inicio: ((_b = (_a = openPeriod.period_start) === null || _a === void 0 ? void 0 : _a.toISOString) === null || _b === void 0 ? void 0 : _b.call(_a)) || null,
|
|
2506
|
+
fim: ((_d = (_c = openPeriod.period_end) === null || _c === void 0 ? void 0 : _c.toISOString) === null || _d === void 0 ? void 0 : _d.call(_c)) || null,
|
|
2507
|
+
};
|
|
2508
|
+
}
|
|
2441
2509
|
async resolvePaymentMethodId(tx, paymentChannel) {
|
|
2442
2510
|
const paymentType = this.mapPaymentMethodFromPt(paymentChannel);
|
|
2443
2511
|
if (!paymentType) {
|