@hed-hog/finance 0.0.227 → 0.0.229

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.
@@ -0,0 +1,15 @@
1
+ import { FinanceService } from './finance.service';
2
+ export declare class FinanceStatementsController {
3
+ private readonly financeService;
4
+ constructor(financeService: FinanceService);
5
+ listBankStatements(bankAccountId?: string): Promise<{
6
+ id: string;
7
+ contaBancariaId: string;
8
+ data: string;
9
+ descricao: string;
10
+ valor: number;
11
+ tipo: string;
12
+ statusConciliacao: any;
13
+ }[]>;
14
+ }
15
+ //# sourceMappingURL=finance-statements.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finance-statements.controller.d.ts","sourceRoot":"","sources":["../src/finance-statements.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAEa,2BAA2B;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAGrD,kBAAkB,CAA2B,aAAa,CAAC,EAAE,MAAM;;;;;;;;;CAS1E"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.FinanceStatementsController = void 0;
16
+ const api_1 = require("@hed-hog/api");
17
+ const common_1 = require("@nestjs/common");
18
+ const finance_service_1 = require("./finance.service");
19
+ let FinanceStatementsController = class FinanceStatementsController {
20
+ constructor(financeService) {
21
+ this.financeService = financeService;
22
+ }
23
+ async listBankStatements(bankAccountId) {
24
+ const parsedBankAccountId = bankAccountId
25
+ ? Number.parseInt(bankAccountId, 10)
26
+ : undefined;
27
+ return this.financeService.listBankStatements(Number.isNaN(parsedBankAccountId) ? undefined : parsedBankAccountId);
28
+ }
29
+ };
30
+ exports.FinanceStatementsController = FinanceStatementsController;
31
+ __decorate([
32
+ (0, common_1.Get)('statements'),
33
+ __param(0, (0, common_1.Query)('bank_account_id')),
34
+ __metadata("design:type", Function),
35
+ __metadata("design:paramtypes", [String]),
36
+ __metadata("design:returntype", Promise)
37
+ ], FinanceStatementsController.prototype, "listBankStatements", null);
38
+ exports.FinanceStatementsController = FinanceStatementsController = __decorate([
39
+ (0, api_1.Role)(),
40
+ (0, common_1.Controller)('finance'),
41
+ __metadata("design:paramtypes", [finance_service_1.FinanceService])
42
+ ], FinanceStatementsController);
43
+ //# sourceMappingURL=finance-statements.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finance-statements.controller.js","sourceRoot":"","sources":["../src/finance-statements.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sCAAoC;AACpC,2CAAwD;AACxD,uDAAmD;AAI5C,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACtC,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAGzD,AAAN,KAAK,CAAC,kBAAkB,CAA2B,aAAsB;QACvE,MAAM,mBAAmB,GAAG,aAAa;YACvC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAC3C,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CACpE,CAAC;IACJ,CAAC;CACF,CAAA;AAbY,kEAA2B;AAIhC;IADL,IAAA,YAAG,EAAC,YAAY,CAAC;IACQ,WAAA,IAAA,cAAK,EAAC,iBAAiB,CAAC,CAAA;;;;qEAQjD;sCAZU,2BAA2B;IAFvC,IAAA,UAAI,GAAE;IACN,IAAA,mBAAU,EAAC,SAAS,CAAC;qCAEyB,gCAAc;GADhD,2BAA2B,CAavC"}
@@ -1 +1 @@
1
- {"version":3,"file":"finance.module.d.ts","sourceRoot":"","sources":["../src/finance.module.ts"],"names":[],"mappings":"AAUA,qBAea,aAAa;CAAG"}
1
+ {"version":3,"file":"finance.module.d.ts","sourceRoot":"","sources":["../src/finance.module.ts"],"names":[],"mappings":"AAWA,qBAgBa,aAAa;CAAG"}
@@ -15,6 +15,7 @@ const config_1 = require("@nestjs/config");
15
15
  const finance_bank_accounts_controller_1 = require("./finance-bank-accounts.controller");
16
16
  const finance_data_controller_1 = require("./finance-data.controller");
17
17
  const finance_installments_controller_1 = require("./finance-installments.controller");
18
+ const finance_statements_controller_1 = require("./finance-statements.controller");
18
19
  const finance_service_1 = require("./finance.service");
19
20
  let FinanceModule = class FinanceModule {
20
21
  };
@@ -31,6 +32,7 @@ exports.FinanceModule = FinanceModule = __decorate([
31
32
  finance_data_controller_1.FinanceDataController,
32
33
  finance_installments_controller_1.FinanceInstallmentsController,
33
34
  finance_bank_accounts_controller_1.FinanceBankAccountsController,
35
+ finance_statements_controller_1.FinanceStatementsController,
34
36
  ],
35
37
  providers: [finance_service_1.FinanceService],
36
38
  exports: [finance_service_1.FinanceService],
@@ -1 +1 @@
1
- {"version":3,"file":"finance.module.js","sourceRoot":"","sources":["../src/finance.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAmD;AACnD,4DAA2D;AAC3D,oDAAmD;AACnD,2CAAoD;AACpD,2CAA8C;AAC9C,yFAAmF;AACnF,uEAAkE;AAClE,uFAAkF;AAClF,uDAAmD;AAiB5C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAfzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,qBAAY,CAAC,OAAO,EAAE;YACtB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,iCAAgB,CAAC;YAClC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;SAC/B;QACD,WAAW,EAAE;YACX,+CAAqB;YACrB,+DAA6B;YAC7B,gEAA6B;SAC9B;QACD,SAAS,EAAE,CAAC,gCAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
1
+ {"version":3,"file":"finance.module.js","sourceRoot":"","sources":["../src/finance.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAmD;AACnD,4DAA2D;AAC3D,oDAAmD;AACnD,2CAAoD;AACpD,2CAA8C;AAC9C,yFAAmF;AACnF,uEAAkE;AAClE,uFAAkF;AAClF,mFAA8E;AAC9E,uDAAmD;AAkB5C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAhBzB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,qBAAY,CAAC,OAAO,EAAE;YACtB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,iCAAgB,CAAC;YAClC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;SAC/B;QACD,WAAW,EAAE;YACX,+CAAqB;YACrB,+DAA6B;YAC7B,gEAA6B;YAC7B,2DAA2B;SAC5B;QACD,SAAS,EAAE,CAAC,gCAAc,CAAC;QAC3B,OAAO,EAAE,CAAC,gCAAc,CAAC;KAC1B,CAAC;GACW,aAAa,CAAG"}
@@ -291,6 +291,15 @@ export declare class FinanceService {
291
291
  saldoConciliado: number;
292
292
  ativo: boolean;
293
293
  }[]>;
294
+ listBankStatements(bankAccountId?: number): Promise<{
295
+ id: string;
296
+ contaBancariaId: string;
297
+ data: string;
298
+ descricao: string;
299
+ valor: number;
300
+ tipo: string;
301
+ statusConciliacao: any;
302
+ }[]>;
294
303
  createBankAccount(data: CreateBankAccountDto, userId?: number): Promise<{
295
304
  id: string;
296
305
  codigo: any;
@@ -336,6 +345,7 @@ export declare class FinanceService {
336
345
  private mapAccountTypeToPt;
337
346
  private mapAccountTypeFromPt;
338
347
  private mapBankAccountToFront;
348
+ private mapStatementStatusToPt;
339
349
  private generateBankAccountCode;
340
350
  private toCents;
341
351
  private fromCents;
@@ -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;AAMpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAIrE,qBACa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,MAAM,EAAE,aAAa,EACrB,iBAAiB,EAAE,iBAAiB;IAGjD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoDP,+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,6BAA6B,CACjC,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,gBAAgB;;;;;;;;;;;;IAgBhB,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;IAwD7D,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;;;;;;;;;;;;IAiCxD,iBAAiB,CAAC,EAAE,EAAE,MAAM;;;YAoBpB,UAAU;YAyBV,YAAY;YAsBZ,WAAW;YAyGX,UAAU;YAUV,UAAU;YAqBV,cAAc;YAmBd,eAAe;YAaf,gBAAgB;YAgBhB,QAAQ;YAYR,aAAa;IAmB3B,OAAO,CAAC,eAAe;IAyEvB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;CAGlB"}
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;AAMpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAIrE,qBACa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,MAAM,EAAE,aAAa,EACrB,iBAAiB,EAAE,iBAAiB;IAGjD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoDP,+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,6BAA6B,CACjC,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKX,gBAAgB;;;;;;;;;;;;IAgBhB,kBAAkB,CAAC,aAAa,CAAC,EAAE,MAAM;;;;;;;;;IA0BzC,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;IAwD7D,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;;;;;;;;;;;;IAiCxD,iBAAiB,CAAC,EAAE,EAAE,MAAM;;;YAoBpB,UAAU;YAyBV,YAAY;YAsBZ,WAAW;YAyGX,UAAU;YAUV,UAAU;YAqBV,cAAc;YAmBd,eAAe;YAaf,gBAAgB;YAgBhB,QAAQ;YAYR,aAAa;IAmB3B,OAAO,CAAC,eAAe;IAyEvB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;CAGlB"}
@@ -94,6 +94,28 @@ let FinanceService = class FinanceService {
94
94
  });
95
95
  return bankAccounts.map((bankAccount) => this.mapBankAccountToFront(bankAccount));
96
96
  }
97
+ async listBankStatements(bankAccountId) {
98
+ const statements = await this.prisma.bank_statement_line.findMany({
99
+ where: Object.assign({}, (bankAccountId ? { bank_account_id: bankAccountId } : {})),
100
+ include: {
101
+ bank_account: {
102
+ select: {
103
+ id: true,
104
+ },
105
+ },
106
+ },
107
+ orderBy: [{ posted_date: 'desc' }, { id: 'desc' }],
108
+ });
109
+ return statements.map((statement) => ({
110
+ id: String(statement.id),
111
+ contaBancariaId: String(statement.bank_account_id),
112
+ data: statement.posted_date.toISOString(),
113
+ descricao: statement.description,
114
+ valor: this.fromCents(statement.amount_cents),
115
+ tipo: statement.amount_cents >= 0 ? 'entrada' : 'saida',
116
+ statusConciliacao: this.mapStatementStatusToPt(statement.status),
117
+ }));
118
+ }
97
119
  async createBankAccount(data, userId) {
98
120
  var _a;
99
121
  const accountType = this.mapAccountTypeFromPt(data.type);
@@ -547,6 +569,15 @@ let FinanceService = class FinanceService {
547
569
  ativo: bankAccount.status === 'active',
548
570
  };
549
571
  }
572
+ mapStatementStatusToPt(status) {
573
+ const statusMap = {
574
+ pending: 'pendente',
575
+ reconciled: 'conciliado',
576
+ adjusted: 'ajustado',
577
+ ignored: 'estornado',
578
+ };
579
+ return statusMap[status] || 'pendente';
580
+ }
550
581
  generateBankAccountCode(bankName, accountNumber) {
551
582
  const bankPrefix = (bankName || 'ACC')
552
583
  .replace(/[^A-Za-z0-9]/g, '')
@@ -1 +1 @@
1
- {"version":3,"file":"finance.service.js","sourceRoot":"","sources":["../src/finance.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finance.service.js","sourceRoot":"","sources":["../src/finance.service.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './dto/create-financial-title.dto';
2
2
  export * from './finance-bank-accounts.controller';
3
3
  export * from './finance-data.controller';
4
4
  export * from './finance-installments.controller';
5
+ export * from './finance-statements.controller';
5
6
  export * from './finance.module';
6
7
  export * from './finance.service';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ __exportStar(require("./dto/create-financial-title.dto"), exports);
18
18
  __exportStar(require("./finance-bank-accounts.controller"), exports);
19
19
  __exportStar(require("./finance-data.controller"), exports);
20
20
  __exportStar(require("./finance-installments.controller"), exports);
21
+ __exportStar(require("./finance-statements.controller"), exports);
21
22
  __exportStar(require("./finance.module"), exports);
22
23
  __exportStar(require("./finance.service"), exports);
23
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,qEAAmD;AACnD,4DAA0C;AAC1C,oEAAkD;AAClD,mDAAiC;AACjC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,qEAAmD;AACnD,4DAA0C;AAC1C,oEAAkD;AAClD,kEAAgD;AAChD,mDAAiC;AACjC,oDAAkC"}
@@ -90,6 +90,15 @@
90
90
 
91
91
  - url: /finance/bank-accounts/:id
92
92
  method: DELETE
93
+ relations:
94
+ role:
95
+ - where:
96
+ slug: admin
97
+ - where:
98
+ slug: admin-finance
99
+
100
+ - url: /finance/statements
101
+ method: GET
93
102
  relations:
94
103
  role:
95
104
  - where:
@@ -551,14 +551,16 @@ export default function ContasBancariasPage() {
551
551
  </span>
552
552
  </div>
553
553
  )}
554
- <div className="flex gap-2 pt-2">
554
+ <div className="flex flex-wrap gap-2 pt-2">
555
555
  <Button
556
556
  variant="outline"
557
557
  size="sm"
558
- className="flex-1 bg-transparent"
558
+ className="min-w-0 flex-1 basis-[calc(50%-0.25rem)] bg-transparent"
559
559
  asChild
560
560
  >
561
- <Link href="/finance/cash-and-banks/statements">
561
+ <Link
562
+ href={`/finance/cash-and-banks/statements?bank_account_id=${conta.id}`}
563
+ >
562
564
  <Eye className="mr-2 h-4 w-4" />
563
565
  {t('accountCard.statement')}
564
566
  </Link>
@@ -566,31 +568,35 @@ export default function ContasBancariasPage() {
566
568
  <Button
567
569
  variant="outline"
568
570
  size="sm"
569
- className="flex-1 bg-transparent"
571
+ className="min-w-0 flex-1 basis-[calc(50%-0.25rem)] bg-transparent"
570
572
  asChild
571
573
  >
572
- <Link href="/finance/cash-and-banks/bank-reconciliation">
574
+ <Link
575
+ href={`/finance/cash-and-banks/bank-reconciliation?bank_account_id=${conta.id}`}
576
+ >
573
577
  <RefreshCw className="mr-2 h-4 w-4" />
574
578
  {t('accountCard.reconcile')}
575
579
  </Link>
576
580
  </Button>
577
- <Button variant="outline" size="sm">
578
- <Upload className="h-4 w-4" />
579
- </Button>
580
- <Button
581
- variant="outline"
582
- size="sm"
583
- onClick={() => handleEdit(conta)}
584
- >
585
- <Pencil className="h-4 w-4" />
586
- </Button>
587
- <Button
588
- variant="outline"
589
- size="sm"
590
- onClick={() => handleDelete(conta.id)}
591
- >
592
- <Trash2 className="h-4 w-4" />
593
- </Button>
581
+ <div className="ml-auto flex shrink-0 gap-2">
582
+ <Button variant="outline" size="sm">
583
+ <Upload className="h-4 w-4" />
584
+ </Button>
585
+ <Button
586
+ variant="outline"
587
+ size="sm"
588
+ onClick={() => handleEdit(conta)}
589
+ >
590
+ <Pencil className="h-4 w-4" />
591
+ </Button>
592
+ <Button
593
+ variant="outline"
594
+ size="sm"
595
+ onClick={() => handleDelete(conta.id)}
596
+ >
597
+ <Trash2 className="h-4 w-4" />
598
+ </Button>
599
+ </div>
594
600
  </div>
595
601
  </div>
596
602
  </CardContent>
@@ -35,7 +35,8 @@ import {
35
35
  import { StatusBadge } from '@/components/ui/status-badge';
36
36
  import { Check, DollarSign, Link2, RefreshCw } from 'lucide-react';
37
37
  import { useTranslations } from 'next-intl';
38
- import { useState } from 'react';
38
+ import { usePathname, useRouter, useSearchParams } from 'next/navigation';
39
+ import { useEffect, useState } from 'react';
39
40
  import { formatarData, formatarMoeda } from '../../_lib/formatters';
40
41
  import { useFinanceData } from '../../_lib/use-finance-data';
41
42
 
@@ -101,6 +102,10 @@ function CriarAjusteDialog({ t }: { t: ReturnType<typeof useTranslations> }) {
101
102
 
102
103
  export default function ConciliacaoPage() {
103
104
  const t = useTranslations('finance.BankReconciliationPage');
105
+ const pathname = usePathname();
106
+ const router = useRouter();
107
+ const searchParams = useSearchParams();
108
+ const bankAccountIdFromUrl = searchParams.get('bank_account_id');
104
109
  const { data } = useFinanceData();
105
110
  const { extratos, titulosPagar, titulosReceber, contasBancarias, pessoas } =
106
111
  data;
@@ -138,10 +143,43 @@ export default function ConciliacaoPage() {
138
143
  ),
139
144
  ];
140
145
 
141
- const [contaFilter, setContaFilter] = useState<string>('1');
146
+ const [contaFilter, setContaFilter] = useState<string>('');
142
147
  const [selectedExtrato, setSelectedExtrato] = useState<string | null>(null);
143
148
  const [selectedTitulo, setSelectedTitulo] = useState<string | null>(null);
144
149
 
150
+ useEffect(() => {
151
+ const firstAccount = contasBancarias[0];
152
+
153
+ if (!firstAccount) {
154
+ return;
155
+ }
156
+
157
+ const hasAccountFromUrl =
158
+ !!bankAccountIdFromUrl &&
159
+ contasBancarias.some((account) => account.id === bankAccountIdFromUrl);
160
+
161
+ const nextAccountId = hasAccountFromUrl
162
+ ? (bankAccountIdFromUrl as string)
163
+ : firstAccount.id;
164
+
165
+ if (contaFilter !== nextAccountId) {
166
+ setContaFilter(nextAccountId);
167
+ }
168
+
169
+ if (bankAccountIdFromUrl !== nextAccountId) {
170
+ const params = new URLSearchParams(searchParams.toString());
171
+ params.set('bank_account_id', nextAccountId);
172
+ router.replace(`${pathname}?${params.toString()}`);
173
+ }
174
+ }, [
175
+ bankAccountIdFromUrl,
176
+ contaFilter,
177
+ contasBancarias,
178
+ pathname,
179
+ router,
180
+ searchParams,
181
+ ]);
182
+
145
183
  const extratosFiltered = extratosPendentes.filter(
146
184
  (e) => e.contaBancariaId === contaFilter
147
185
  );
@@ -171,8 +209,17 @@ export default function ConciliacaoPage() {
171
209
  />
172
210
 
173
211
  <div className="flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between">
174
- <Select value={contaFilter} onValueChange={setContaFilter}>
175
- <SelectTrigger className="w-[280px]">
212
+ <Select
213
+ value={contaFilter}
214
+ onValueChange={(value) => {
215
+ setContaFilter(value);
216
+
217
+ const params = new URLSearchParams(searchParams.toString());
218
+ params.set('bank_account_id', value);
219
+ router.replace(`${pathname}?${params.toString()}`);
220
+ }}
221
+ >
222
+ <SelectTrigger className="w-full sm:w-[280px]">
176
223
  <SelectValue placeholder={t('filters.selectAccount')} />
177
224
  </SelectTrigger>
178
225
  <SelectContent>
@@ -38,11 +38,34 @@ import {
38
38
  TableHeader,
39
39
  TableRow,
40
40
  } from '@/components/ui/table';
41
+ import { useApp, useQuery } from '@hed-hog/next-app-provider';
41
42
  import { ArrowDownRight, ArrowUpRight, Download, Upload } from 'lucide-react';
42
43
  import { useTranslations } from 'next-intl';
43
- import { useState } from 'react';
44
+ import { usePathname, useRouter, useSearchParams } from 'next/navigation';
45
+ import { useEffect, useMemo, useState } from 'react';
44
46
  import { formatarData } from '../../_lib/formatters';
45
- import { useFinanceData } from '../../_lib/use-finance-data';
47
+
48
+ type BankAccount = {
49
+ id: string;
50
+ banco: string;
51
+ descricao: string;
52
+ saldoAtual: number;
53
+ };
54
+
55
+ type Statement = {
56
+ id: string;
57
+ contaBancariaId: string;
58
+ data: string;
59
+ descricao: string;
60
+ valor: number;
61
+ tipo: 'entrada' | 'saida';
62
+ statusConciliacao:
63
+ | 'importado'
64
+ | 'pendente'
65
+ | 'conciliado'
66
+ | 'estornado'
67
+ | 'ajustado';
68
+ };
46
69
 
47
70
  function ImportarExtratoDialog({
48
71
  contasBancarias,
@@ -101,20 +124,86 @@ function ImportarExtratoDialog({
101
124
 
102
125
  export default function ExtratosPage() {
103
126
  const t = useTranslations('finance.StatementsPage');
104
- const { data } = useFinanceData();
105
- const { extratos, contasBancarias } = data;
127
+ const { request } = useApp();
128
+ const pathname = usePathname();
129
+ const router = useRouter();
130
+ const searchParams = useSearchParams();
131
+ const bankAccountIdFromUrl = searchParams.get('bank_account_id');
106
132
 
107
- const [contaFilter, setContaFilter] = useState<string>('1');
133
+ const [contaFilter, setContaFilter] = useState<string>('');
108
134
  const [search, setSearch] = useState('');
109
135
 
110
- const filteredExtratos = extratos.filter((extrato) => {
111
- const matchesConta = extrato.contaBancariaId === contaFilter;
112
- const matchesSearch = extrato.descricao
113
- .toLowerCase()
114
- .includes(search.toLowerCase());
115
- return matchesConta && matchesSearch;
136
+ const { data: contasBancarias } = useQuery<BankAccount[]>({
137
+ queryKey: ['finance-bank-accounts'],
138
+ queryFn: async () => {
139
+ const response = await request({
140
+ url: '/finance/bank-accounts',
141
+ method: 'GET',
142
+ });
143
+
144
+ return (response?.data || []) as BankAccount[];
145
+ },
146
+ initialData: [],
147
+ });
148
+
149
+ useEffect(() => {
150
+ const firstAccount = contasBancarias[0];
151
+
152
+ if (!firstAccount) {
153
+ return;
154
+ }
155
+
156
+ const hasAccountFromUrl =
157
+ !!bankAccountIdFromUrl &&
158
+ contasBancarias.some((account) => account.id === bankAccountIdFromUrl);
159
+
160
+ const nextAccountId = hasAccountFromUrl
161
+ ? (bankAccountIdFromUrl as string)
162
+ : firstAccount.id;
163
+
164
+ if (contaFilter !== nextAccountId) {
165
+ setContaFilter(nextAccountId);
166
+ }
167
+
168
+ if (bankAccountIdFromUrl !== nextAccountId) {
169
+ const params = new URLSearchParams(searchParams.toString());
170
+ params.set('bank_account_id', nextAccountId);
171
+ router.replace(`${pathname}?${params.toString()}`);
172
+ }
173
+ }, [
174
+ bankAccountIdFromUrl,
175
+ contaFilter,
176
+ contasBancarias,
177
+ pathname,
178
+ router,
179
+ searchParams,
180
+ ]);
181
+
182
+ const { data: extratos } = useQuery<Statement[]>({
183
+ queryKey: ['finance-statements', contaFilter],
184
+ queryFn: async () => {
185
+ if (!contaFilter) {
186
+ return [];
187
+ }
188
+
189
+ const response = await request({
190
+ url: `/finance/statements?bank_account_id=${contaFilter}`,
191
+ method: 'GET',
192
+ });
193
+
194
+ return (response?.data || []) as Statement[];
195
+ },
196
+ initialData: [],
116
197
  });
117
198
 
199
+ const filteredExtratos = useMemo(
200
+ () =>
201
+ extratos.filter((extrato) =>
202
+ extrato.descricao.toLowerCase().includes(search.toLowerCase())
203
+ ),
204
+ [extratos, search]
205
+ );
206
+
118
207
  const conta = contasBancarias.find((item) => item.id === contaFilter);
119
208
  const totalEntradas = filteredExtratos
120
209
  .filter((e) => e.tipo === 'entrada')
@@ -145,8 +234,17 @@ export default function ExtratosPage() {
145
234
  />
146
235
 
147
236
  <div className="flex flex-col gap-4 sm:flex-row sm:items-center">
148
- <Select value={contaFilter} onValueChange={setContaFilter}>
149
- <SelectTrigger className="w-[280px]">
237
+ <Select
238
+ value={contaFilter}
239
+ onValueChange={(value) => {
240
+ setContaFilter(value);
241
+
242
+ const params = new URLSearchParams(searchParams.toString());
243
+ params.set('bank_account_id', value);
244
+ router.replace(`${pathname}?${params.toString()}`);
245
+ }}
246
+ >
247
+ <SelectTrigger className="w-full sm:w-[280px]">
150
248
  <SelectValue placeholder={t('filters.selectAccount')} />
151
249
  </SelectTrigger>
152
250
  <SelectContent>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/finance",
3
- "version": "0.0.227",
3
+ "version": "0.0.229",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -10,11 +10,11 @@
10
10
  "@nestjs/jwt": "^11",
11
11
  "@nestjs/mapped-types": "*",
12
12
  "@hed-hog/api-prisma": "0.0.4",
13
- "@hed-hog/api-pagination": "0.0.5",
14
13
  "@hed-hog/api-locale": "0.0.11",
14
+ "@hed-hog/api-pagination": "0.0.5",
15
15
  "@hed-hog/tag": "0.0.223",
16
- "@hed-hog/api-types": "0.0.1",
17
16
  "@hed-hog/api": "0.0.3",
17
+ "@hed-hog/api-types": "0.0.1",
18
18
  "@hed-hog/contact": "0.0.223"
19
19
  },
20
20
  "exports": {
@@ -0,0 +1,20 @@
1
+ import { Role } from '@hed-hog/api';
2
+ import { Controller, Get, Query } from '@nestjs/common';
3
+ import { FinanceService } from './finance.service';
4
+
5
+ @Role()
6
+ @Controller('finance')
7
+ export class FinanceStatementsController {
8
+ constructor(private readonly financeService: FinanceService) {}
9
+
10
+ @Get('statements')
11
+ async listBankStatements(@Query('bank_account_id') bankAccountId?: string) {
12
+ const parsedBankAccountId = bankAccountId
13
+ ? Number.parseInt(bankAccountId, 10)
14
+ : undefined;
15
+
16
+ return this.financeService.listBankStatements(
17
+ Number.isNaN(parsedBankAccountId) ? undefined : parsedBankAccountId,
18
+ );
19
+ }
20
+ }
@@ -6,6 +6,7 @@ import { ConfigModule } from '@nestjs/config';
6
6
  import { FinanceBankAccountsController } from './finance-bank-accounts.controller';
7
7
  import { FinanceDataController } from './finance-data.controller';
8
8
  import { FinanceInstallmentsController } from './finance-installments.controller';
9
+ import { FinanceStatementsController } from './finance-statements.controller';
9
10
  import { FinanceService } from './finance.service';
10
11
 
11
12
  @Module({
@@ -19,6 +20,7 @@ import { FinanceService } from './finance.service';
19
20
  FinanceDataController,
20
21
  FinanceInstallmentsController,
21
22
  FinanceBankAccountsController,
23
+ FinanceStatementsController,
22
24
  ],
23
25
  providers: [FinanceService],
24
26
  exports: [FinanceService],
@@ -127,6 +127,32 @@ export class FinanceService {
127
127
  return bankAccounts.map((bankAccount) => this.mapBankAccountToFront(bankAccount));
128
128
  }
129
129
 
130
+ async listBankStatements(bankAccountId?: number) {
131
+ const statements = await this.prisma.bank_statement_line.findMany({
132
+ where: {
133
+ ...(bankAccountId ? { bank_account_id: bankAccountId } : {}),
134
+ },
135
+ include: {
136
+ bank_account: {
137
+ select: {
138
+ id: true,
139
+ },
140
+ },
141
+ },
142
+ orderBy: [{ posted_date: 'desc' }, { id: 'desc' }],
143
+ });
144
+
145
+ return statements.map((statement) => ({
146
+ id: String(statement.id),
147
+ contaBancariaId: String(statement.bank_account_id),
148
+ data: statement.posted_date.toISOString(),
149
+ descricao: statement.description,
150
+ valor: this.fromCents(statement.amount_cents),
151
+ tipo: statement.amount_cents >= 0 ? 'entrada' : 'saida',
152
+ statusConciliacao: this.mapStatementStatusToPt(statement.status),
153
+ }));
154
+ }
155
+
130
156
  async createBankAccount(data: CreateBankAccountDto, userId?: number) {
131
157
  const accountType = this.mapAccountTypeFromPt(data.type);
132
158
 
@@ -698,6 +724,17 @@ export class FinanceService {
698
724
  };
699
725
  }
700
726
 
727
+ private mapStatementStatusToPt(status?: string | null) {
728
+ const statusMap = {
729
+ pending: 'pendente',
730
+ reconciled: 'conciliado',
731
+ adjusted: 'ajustado',
732
+ ignored: 'estornado',
733
+ };
734
+
735
+ return statusMap[status] || 'pendente';
736
+ }
737
+
701
738
  private generateBankAccountCode(bankName?: string, accountNumber?: string) {
702
739
  const bankPrefix = (bankName || 'ACC')
703
740
  .replace(/[^A-Za-z0-9]/g, '')
package/src/index.ts CHANGED
@@ -2,6 +2,7 @@ export * from './dto/create-financial-title.dto';
2
2
  export * from './finance-bank-accounts.controller';
3
3
  export * from './finance-data.controller';
4
4
  export * from './finance-installments.controller';
5
+ export * from './finance-statements.controller';
5
6
  export * from './finance.module';
6
7
  export * from './finance.service';
7
8