From bb218a9ad5c26bc6a61054b4b757d07fb6833f47 Mon Sep 17 00:00:00 2001 From: williamfl2007 Date: Thu, 29 Feb 2024 16:22:11 -0300 Subject: [PATCH] ajustando job remssa --- .../repository/transacao.repository.ts | 0 src/bigquery/service/transacao.service.ts | 0 src/cnab/dto/detalhe-a.dto.ts | 19 ++++++ src/cnab/dto/detalhe-b.dto.ts | 6 ++ src/cnab/dto/header-arquivo.dto.ts | 19 ++++++ src/cnab/dto/header-lote.dto.ts | 12 ++++ src/cnab/entities/detalhe-a.entity.ts | 26 -------- src/cnab/entities/detalhe-b.entiy.ts | 13 ---- src/cnab/entities/header-arquivo.entity.ts | 26 -------- src/cnab/entities/header-lote.entity.ts | 18 ------ src/cnab/entities/item-transacao.entity.ts | 21 ------- .../entities/transacao-cliente-item.entity.ts | 6 -- src/cnab/entity/detalhe-a.entity.ts | 26 ++++++-- src/cnab/entity/detalhe-b.entiy.ts | 13 ++-- src/cnab/entity/header-arquivo.entity.ts | 27 +++++---- src/cnab/entity/header-lote.entity.ts | 18 ++++-- src/cnab/listener/arquivo-remessa.listener.ts | 7 +++ src/cnab/repository/detalhe-a.repository.ts | 42 +++++++++++++ src/cnab/repository/detalhe-b.repository.ts | 42 +++++++++++++ .../repository/header-arquivo.repository.ts | 42 +++++++++++++ src/cnab/repository/header-lote.repository.ts | 42 +++++++++++++ src/cnab/service/Item-transacao.service.ts | 1 + src/cnab/service/detalhe-a.service.ts | 51 ++++++++++++++++ src/cnab/service/detalhe-b.service.ts | 47 +++++++++++++++ src/cnab/service/header-arquivo.service.ts | 60 +++++++++++++++++++ src/cnab/service/header-lote.service.ts | 51 ++++++++++++++++ src/cnab/service/transacao.service.ts | 50 ++-------------- 27 files changed, 504 insertions(+), 181 deletions(-) create mode 100644 src/bigquery/repository/transacao.repository.ts create mode 100644 src/bigquery/service/transacao.service.ts create mode 100644 src/cnab/dto/detalhe-a.dto.ts create mode 100644 src/cnab/dto/detalhe-b.dto.ts create mode 100644 src/cnab/dto/header-arquivo.dto.ts create mode 100644 src/cnab/dto/header-lote.dto.ts delete mode 100644 src/cnab/entities/detalhe-a.entity.ts delete mode 100644 src/cnab/entities/detalhe-b.entiy.ts delete mode 100644 src/cnab/entities/header-arquivo.entity.ts delete mode 100644 src/cnab/entities/header-lote.entity.ts delete mode 100644 src/cnab/entities/item-transacao.entity.ts delete mode 100644 src/cnab/entities/transacao-cliente-item.entity.ts diff --git a/src/bigquery/repository/transacao.repository.ts b/src/bigquery/repository/transacao.repository.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/bigquery/service/transacao.service.ts b/src/bigquery/service/transacao.service.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/cnab/dto/detalhe-a.dto.ts b/src/cnab/dto/detalhe-a.dto.ts new file mode 100644 index 00000000..e5738ecb --- /dev/null +++ b/src/cnab/dto/detalhe-a.dto.ts @@ -0,0 +1,19 @@ +export class DetalheADTO{ + id_detalhe_a:number; + id_header_lote :number; + lote_servico :string; + id_cliente_favorecido :number; + tipo_finalidade_conta :string; + dt_vencimento: Date; + tipo_moeda :string; + qtde_moeda :number; + valor_lancamento: number; + num_doc_lancamento :string; + qtde_parcelas :number; + indicador_bloqueio :string; + indicador_forma_parcelamento :string; + periodo_vencimento:Date; + num_parcela :number; + data_efetivacao: Date; + valor_real_efetivado:number +} \ No newline at end of file diff --git a/src/cnab/dto/detalhe-b.dto.ts b/src/cnab/dto/detalhe-b.dto.ts new file mode 100644 index 00000000..a68939ed --- /dev/null +++ b/src/cnab/dto/detalhe-b.dto.ts @@ -0,0 +1,6 @@ +export class DetalheBDTO{ + id_detalhe_b:number; + id_detalhe_a :number; + nsr:string; + data_vencimento: Date; +} \ No newline at end of file diff --git a/src/cnab/dto/header-arquivo.dto.ts b/src/cnab/dto/header-arquivo.dto.ts new file mode 100644 index 00000000..fe8838b5 --- /dev/null +++ b/src/cnab/dto/header-arquivo.dto.ts @@ -0,0 +1,19 @@ + +export class HeaderArquivoDTO{ + id_header_arquivo:number; + tipo_arquivo :string; + cod_banco :string; + tipo_inscricao:string; + num_inscricao :string; + cod_convenio :string; + param_transmissao :string; + agencia :string; + dv_agencia:string; + num_conta :string; + dv_conta:string; + nome_empresa:string; + dt_geracao: Date; + @Column({ arg0: { type: 'timestamp' } }) + hr_geracao: Date; + id_transacao:number; +} \ No newline at end of file diff --git a/src/cnab/dto/header-lote.dto.ts b/src/cnab/dto/header-lote.dto.ts new file mode 100644 index 00000000..3300097a --- /dev/null +++ b/src/cnab/dto/header-lote.dto.ts @@ -0,0 +1,12 @@ + +export class HeaderLoteDTO{ + id_header_lote:number; + id_header_arquivo:number; + lote_servico:string; + tipo_inscricao:string; + num_inscricao:string; + cod_convenio_banco:string; + tipo_compromisso:string; + param_transmissao:string; + id_pagadora:number; +} \ No newline at end of file diff --git a/src/cnab/entities/detalhe-a.entity.ts b/src/cnab/entities/detalhe-a.entity.ts deleted file mode 100644 index fef0479e..00000000 --- a/src/cnab/entities/detalhe-a.entity.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { EntityHelper } from '../../utils/entity-helper'; - -@Entity() -export class DetalheA extends EntityHelper { - id_detalhe_a: number; - id_header_lote: number; - lote_servico: string; - id_cliente_favorecido: number; - tipo_finalidade_conta: string; - dt_vencimento: Date; - tipo_moeda: string; - qtde_moeda: number; - valor_lancamento: number; - num_doc_lancamento: string; - qtde_parcelas: number; - indicador_bloqueio: string; - indicador_forma_parcelamento: string; - periodo_vencimento: Date; - num_parcela: number; - data_efetivacao: Date; - valor_real_efetivado: number; -} - -function Entity(): (target: typeof DetalheA) => void | typeof DetalheA { - throw new Error('Function not implemented.'); -} diff --git a/src/cnab/entities/detalhe-b.entiy.ts b/src/cnab/entities/detalhe-b.entiy.ts deleted file mode 100644 index 4aa8370c..00000000 --- a/src/cnab/entities/detalhe-b.entiy.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { EntityHelper } from 'src/utils/entity-helper'; - -@Entity() -export class DetalheB extends EntityHelper { - id_detalhe_b: number; - id_detalhe_a: number; - nsr: string; - data_vencimento: Date; -} - -function Entity(): (target: typeof DetalheB) => void | typeof DetalheB { - throw new Error('Function not implemented.'); -} diff --git a/src/cnab/entities/header-arquivo.entity.ts b/src/cnab/entities/header-arquivo.entity.ts deleted file mode 100644 index 12ac4760..00000000 --- a/src/cnab/entities/header-arquivo.entity.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { EntityHelper } from 'src/utils/entity-helper'; - -@Entity() -export class HeaderArquivo extends EntityHelper { - id_header_arquivo: number; - tipo_arquivo: string; - cod_banco: string; - tipo_inscricao: string; - num_inscricao: string; - cod_convenio: string; - param_transmissao: string; - agencia: string; - dv_agencia: string; - num_conta: string; - dv_conta: string; - nome_empresa: string; - dt_geracao: Date; - hr_geracao: Date; - id_transacao: number; -} - -function Entity(): ( - target: typeof HeaderArquivo, -) => void | typeof HeaderArquivo { - throw new Error('Function not implemented.'); -} diff --git a/src/cnab/entities/header-lote.entity.ts b/src/cnab/entities/header-lote.entity.ts deleted file mode 100644 index d49e4d42..00000000 --- a/src/cnab/entities/header-lote.entity.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { EntityHelper } from 'src/utils/entity-helper'; - -@Entity() -export class HeaderLote extends EntityHelper { - id_header_lote: number; - id_header_arquivo: number; - lote_servico: string; - tipo_inscricao: string; - num_inscricao: string; - cod_convenio_banco: string; - tipo_compromisso: string; - param_transmissao: string; - id_pagadora: number; -} - -function Entity(): (target: typeof HeaderLote) => void | typeof HeaderLote { - throw new Error('Function not implemented.'); -} diff --git a/src/cnab/entities/item-transacao.entity.ts b/src/cnab/entities/item-transacao.entity.ts deleted file mode 100644 index a2679f86..00000000 --- a/src/cnab/entities/item-transacao.entity.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { EntityHelper } from 'src/utils/entity-helper'; - -@Entity() -export class ItemTransacao extends EntityHelper { - id_item_transacao: number; - dt_transacao: Date; - dt_processamentoDate; - dt_capturaDate; - modo: string; - nome_consorcio: string; - id_tipo_pagamento: number; - tipo_transacao: string; - valor_item_transacao: number; - id_transacao: number; -} - -function Entity(): ( - target: typeof ItemTransacao, -) => void | typeof ItemTransacao { - throw new Error('Function not implemented.'); -} diff --git a/src/cnab/entities/transacao-cliente-item.entity.ts b/src/cnab/entities/transacao-cliente-item.entity.ts deleted file mode 100644 index f7b736e3..00000000 --- a/src/cnab/entities/transacao-cliente-item.entity.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { EntityHelper } from 'src/utils/entity-helper'; - -export class TransacaoClienteItem extends EntityHelper { - id_item_transacao: number; - id_cliente_favorecido: number; -} diff --git a/src/cnab/entity/detalhe-a.entity.ts b/src/cnab/entity/detalhe-a.entity.ts index ca8d716e..09b230a8 100644 --- a/src/cnab/entity/detalhe-a.entity.ts +++ b/src/cnab/entity/detalhe-a.entity.ts @@ -1,26 +1,42 @@ +import { EntityHelper } from "src/utils/entity-helper"; +import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; -import { EntityHelper } from './../../utils/entity-helper'; @Entity() -class DetalheA extends EntityHelper{ +export class DetalheA extends EntityHelper{ + @PrimaryGeneratedColumn() id_detalhe_a:number; + @Column({ type: Number, unique: false, nullable: true }) id_header_lote :number; + @Column({ type: String, unique: false, nullable: true }) lote_servico :string; + @Column({ type: Number, unique: false, nullable: true }) id_cliente_favorecido :number; + @Column({ type: String, unique: false, nullable: true }) tipo_finalidade_conta :string; + @Column({ type: Date, unique: false, nullable: true }) dt_vencimento: Date; + @Column({ type: String, unique: false, nullable: true }) tipo_moeda :string; + @Column({ type: String, unique: false, nullable: true }) qtde_moeda :number; + @Column({ type: String, unique: false, nullable: true }) valor_lancamento: number; + @Column({ type: String, unique: false, nullable: true }) num_doc_lancamento :string; + @Column({ type: String, unique: false, nullable: true }) qtde_parcelas :number; + @Column({ type: String, unique: false, nullable: true }) indicador_bloqueio :string; + @Column({ type: String, unique: false, nullable: true }) indicador_forma_parcelamento :string; + @Column({ type: Date, unique: false, nullable: true }) periodo_vencimento:Date; + @Column({ type: String, unique: false, nullable: true }) num_parcela :number; + @Column({ type: Date, unique: false, nullable: true }) data_efetivacao: Date; + @Column({ type: Number, unique: false, nullable: true }) valor_real_efetivado:number } -function Entity(): (target: typeof DetalheA) => void | typeof DetalheA { - throw new Error("Function not implemented."); -} + diff --git a/src/cnab/entity/detalhe-b.entiy.ts b/src/cnab/entity/detalhe-b.entiy.ts index d4cce995..b1f4f6cd 100644 --- a/src/cnab/entity/detalhe-b.entiy.ts +++ b/src/cnab/entity/detalhe-b.entiy.ts @@ -1,13 +1,14 @@ import { EntityHelper } from "src/utils/entity-helper"; +import { Column, Entity , PrimaryGeneratedColumn} from 'typeorm'; @Entity() -class DetalheB extends EntityHelper{ +export class DetalheB extends EntityHelper{ + @PrimaryGeneratedColumn() id_detalhe_b:number; + @Column({ type: Number, unique: false, nullable: true }) id_detalhe_a :number; + @Column({ type: String, unique: false, nullable: true }) nsr:string; + @Column({ type: Date, unique: false, nullable: true }) data_vencimento: Date; -} - -function Entity(): (target: typeof DetalheB) => void | typeof DetalheB { - throw new Error("Function not implemented."); -} +} \ No newline at end of file diff --git a/src/cnab/entity/header-arquivo.entity.ts b/src/cnab/entity/header-arquivo.entity.ts index 749d2081..847bb0f6 100644 --- a/src/cnab/entity/header-arquivo.entity.ts +++ b/src/cnab/entity/header-arquivo.entity.ts @@ -1,31 +1,38 @@ import { EntityHelper } from "src/utils/entity-helper"; +import { Column, Entity , PrimaryGeneratedColumn} from 'typeorm'; @Entity() -class HeaderArquivo extends EntityHelper{ +export class HeaderArquivo extends EntityHelper{ + @PrimaryGeneratedColumn() id_header_arquivo:number; + @Column({ type: Number, unique: false, nullable: true }) tipo_arquivo :string; + @Column({ type: String, unique: false, nullable: true }) cod_banco :string; + @Column({ type: String, unique: false, nullable: true }) tipo_inscricao:string; + @Column({ type: String, unique: false, nullable: true }) num_inscricao :string; + @Column({ type: String, unique: false, nullable: true }) cod_convenio :string; + @Column({ type: String, unique: false, nullable: true }) param_transmissao :string; + @Column({ type: String, unique: false, nullable: true }) agencia :string; + @Column({ type: String, unique: false, nullable: true }) dv_agencia:string; + @Column({ type: String, unique: false, nullable: true }) num_conta :string; + @Column({ type: String, unique: false, nullable: true }) dv_conta:string; + @Column({ type: String, unique: false, nullable: true }) nome_empresa:string; + @Column({ type: String, unique: false, nullable: true }) dt_geracao: Date; - @Column({ arg0: { type: 'timestamp' } }) + @Column({ type: String, unique: false, nullable: true }) hr_geracao: Date; + @Column({ type: Number, unique: false, nullable: true }) id_transacao:number; } -function Entity(): (target: typeof HeaderArquivo) => void | typeof HeaderArquivo { - throw new Error("Function not implemented."); -} - -function Column(arg0: { arg0: { type: string; }; }): (target: HeaderArquivo, propertyKey: "hr_geracao") => void { - throw new Error("Function not implemented."); -} - diff --git a/src/cnab/entity/header-lote.entity.ts b/src/cnab/entity/header-lote.entity.ts index c6502ccf..7ecbadc5 100644 --- a/src/cnab/entity/header-lote.entity.ts +++ b/src/cnab/entity/header-lote.entity.ts @@ -1,18 +1,24 @@ import { EntityHelper } from "src/utils/entity-helper"; +import { Column, Entity , PrimaryGeneratedColumn} from 'typeorm'; @Entity() -class HeaderLote extends EntityHelper{ +export class HeaderLote extends EntityHelper{ + @PrimaryGeneratedColumn() id_header_lote:number; + @Column({ type: Number, unique: false, nullable: true }) id_header_arquivo:number; + @Column({ type: String, unique: false, nullable: true }) lote_servico:string; + @Column({ type: String, unique: false, nullable: true }) tipo_inscricao:string; + @Column({ type: String, unique: false, nullable: true }) num_inscricao:string; + @Column({ type: String, unique: false, nullable: true }) cod_convenio_banco:string; + @Column({ type: String, unique: false, nullable: true }) tipo_compromisso:string; + @Column({ type: String, unique: false, nullable: true }) param_transmissao:string; + @Column({ type: Number, unique: false, nullable: true }) id_pagadora:number; -} - -function Entity(): (target: typeof HeaderLote) => void | typeof HeaderLote { - throw new Error("Function not implemented."); -} +} \ No newline at end of file diff --git a/src/cnab/listener/arquivo-remessa.listener.ts b/src/cnab/listener/arquivo-remessa.listener.ts index e69de29b..c948b3ac 100644 --- a/src/cnab/listener/arquivo-remessa.listener.ts +++ b/src/cnab/listener/arquivo-remessa.listener.ts @@ -0,0 +1,7 @@ +export class ArquivoRemssaListener{ + +//var arquivo = insertHeaderArquivo() + +//envioSftp(arquivo); + +} \ No newline at end of file diff --git a/src/cnab/repository/detalhe-a.repository.ts b/src/cnab/repository/detalhe-a.repository.ts index e69de29b..e5f31949 100644 --- a/src/cnab/repository/detalhe-a.repository.ts +++ b/src/cnab/repository/detalhe-a.repository.ts @@ -0,0 +1,42 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { EntityCondition } from 'src/utils/types/entity-condition.type'; +import { NullableType } from 'src/utils/types/nullable.type'; +import { + Repository, + UpdateResult +} from 'typeorm'; +import { DetalheA } from '../entity/detalhe-a.entity'; +import { DetalheADTO } from '../dto/detalhe-a.dto'; + + +@Injectable() +export class DetalheARepository { + private logger: Logger = new Logger('DetalheARepository', { timestamp: true }); + + constructor( + @InjectRepository(DetalheA) + private DetalheARepository: Repository, + ) { } + + public async save(dto: DetalheADTO): Promise { + return await this.DetalheARepository.save(dto); + } + + public async findOne( + fields: EntityCondition | EntityCondition[], + ): Promise> { + return await this.DetalheARepository.findOne({ + where: fields, + }); + } + + public async findMany( + fields: EntityCondition | EntityCondition[], + ): Promise { + return await this.DetalheARepository.find({ + where: fields, + }); + } + +} \ No newline at end of file diff --git a/src/cnab/repository/detalhe-b.repository.ts b/src/cnab/repository/detalhe-b.repository.ts index e69de29b..0a5e670a 100644 --- a/src/cnab/repository/detalhe-b.repository.ts +++ b/src/cnab/repository/detalhe-b.repository.ts @@ -0,0 +1,42 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { EntityCondition } from 'src/utils/types/entity-condition.type'; +import { NullableType } from 'src/utils/types/nullable.type'; +import { + Repository, + UpdateResult +} from 'typeorm'; +import { DetalheB } from '../entity/detalhe-b.entity'; +import { DetalheBDTO } from '../dto/detalhe-b.dto'; + + +@Injectable() +export class DetalheBRepository { + private logger: Logger = new Logger('DetalheBRepository', { timestamp: true }); + + constructor( + @InjectRepository(DetalheB) + private DetalheBRepository: Repository, + ) { } + + public async save(dto: DetalheBDTO): Promise { + return await this.DetalheBRepository.save(dto); + } + + public async findOne( + fields: EntityCondition | EntityCondition[], + ): Promise> { + return await this.DetalheBRepository.findOne({ + where: fields, + }); + } + + public async findMany( + fields: EntityCondition | EntityCondition[], + ): Promise { + return await this.DetalheBRepository.find({ + where: fields, + }); + } + +} \ No newline at end of file diff --git a/src/cnab/repository/header-arquivo.repository.ts b/src/cnab/repository/header-arquivo.repository.ts index e69de29b..15613d65 100644 --- a/src/cnab/repository/header-arquivo.repository.ts +++ b/src/cnab/repository/header-arquivo.repository.ts @@ -0,0 +1,42 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { EntityCondition } from 'src/utils/types/entity-condition.type'; +import { NullableType } from 'src/utils/types/nullable.type'; +import { + Repository, + UpdateResult +} from 'typeorm'; +import { HeaderArquivo } from '../entity/header-arquivo.entity'; +import { HeaderArquivoDTO } from '../dto/header-arquivo.dto'; + + +@Injectable() +export class HeaderArquivoRepository { + private logger: Logger = new Logger('HeaderArquivoRepository', { timestamp: true }); + + constructor( + @InjectRepository(HeaderArquivo) + private HeaderArquivoRepository: Repository, + ) { } + + public async save(dto: HeaderArquivoDto): Promise { + return await this.HeaderArquivoRepository.save(dto); + } + + public async findOne( + fields: EntityCondition | EntityCondition[], + ): Promise> { + return await this.HeaderArquivoRepository.findOne({ + where: fields, + }); + } + + public async findMany( + fields: EntityCondition | EntityCondition[], + ): Promise { + return await this.HeaderArquivoRepository.find({ + where: fields, + }); + } + +} \ No newline at end of file diff --git a/src/cnab/repository/header-lote.repository.ts b/src/cnab/repository/header-lote.repository.ts index e69de29b..3a363e61 100644 --- a/src/cnab/repository/header-lote.repository.ts +++ b/src/cnab/repository/header-lote.repository.ts @@ -0,0 +1,42 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { EntityCondition } from 'src/utils/types/entity-condition.type'; +import { NullableType } from 'src/utils/types/nullable.type'; +import { + Repository, + UpdateResult +} from 'typeorm'; +import { HeaderLote } from '../entity/header-lote.entity'; +import { HeaderLoteDTO } from '../dto/header-lote.dto'; + + +@Injectable() +export class HeaderLoteRepository { + private logger: Logger = new Logger('HeaderLoteRepository', { timestamp: true }); + + constructor( + @InjectRepository(HeaderLote) + private HeaderLoteRepository: Repository, + ) { } + + public async save(dto: HeaderLoteDTO): Promise { + return await this.HeaderLoteRepository.save(dto); + } + + public async findOne( + fields: EntityCondition | EntityCondition[], + ): Promise> { + return await this.HeaderLoteRepository.findOne({ + where: fields, + }); + } + + public async findMany( + fields: EntityCondition | EntityCondition[], + ): Promise { + return await this.HeaderLoteRepository.find({ + where: fields, + }); + } + +} \ No newline at end of file diff --git a/src/cnab/service/Item-transacao.service.ts b/src/cnab/service/Item-transacao.service.ts index e69de29b..d3f5a12f 100644 --- a/src/cnab/service/Item-transacao.service.ts +++ b/src/cnab/service/Item-transacao.service.ts @@ -0,0 +1 @@ + diff --git a/src/cnab/service/detalhe-a.service.ts b/src/cnab/service/detalhe-a.service.ts index e69de29b..a0f6ab29 100644 --- a/src/cnab/service/detalhe-a.service.ts +++ b/src/cnab/service/detalhe-a.service.ts @@ -0,0 +1,51 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { InjectService } from '@nestjs/typeorm'; +import { EntityCondition } from 'src/utils/types/entity-condition.type'; +import { NullableType } from 'src/utils/types/nullable.type'; +import { + Service, + UpdateResult +} from 'typeorm'; +import { DetalheA } from '../entity/detalhe-a.entity'; +import { DetalheADTO } from '../dto/detalhe-a.dto'; +import { DetalheARepository } from '../repository/detalhe-a.repository'; + + +@Injectable() +export class DetalheAService { + private logger: Logger = new Logger('DetalheAService', { timestamp: true }); + + constructor( + @InjectService(DetalheA) + private detalheARepository: DetalheARepository + ) { } + + public async save(dto: DetalheADTO): Promise { + await this.detalheARepository.save(dto); + } + + + public async findOne( + fields: EntityCondition | EntityCondition[], + ): Promise> { + return await this.detalheARepository.findOne({ + where: fields, + }); + } + + public async findMany( + fields: EntityCondition | EntityCondition[], + ): Promise { + return await this.detalheARepository.find({ + where: fields, + }); + } + + private validateDTO(dto:DetalheADTO):boolean{ + return true; + } + +} + + + diff --git a/src/cnab/service/detalhe-b.service.ts b/src/cnab/service/detalhe-b.service.ts index e69de29b..002597ce 100644 --- a/src/cnab/service/detalhe-b.service.ts +++ b/src/cnab/service/detalhe-b.service.ts @@ -0,0 +1,47 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { InjectService } from '@nestjs/typeorm'; +import { EntityCondition } from 'src/utils/types/entity-condition.type'; +import { NullableType } from 'src/utils/types/nullable.type'; +import { DetalheB } from '../entity/detalhe-b.entity'; +import { DetalheBDTO } from '../dto/detalhe-b.dto'; +import { DetalheBRepository } from '../repository/detalhe-b.repository'; + + +@Injectable() +export class DetalheBService { + private logger: Logger = new Logger('DetalheBService', { timestamp: true }); + + constructor( + @InjectService(DetalheB) + private detalheBRepository: DetalheBRepository + ) { } + + public async save(dto: DetalheBDTO): Promise { + await this.detalheBRepository.save(dto); + } + + + public async findOne( + fields: EntityCondition | EntityCondition[], + ): Promise> { + return await this.detalheBRepository.findOne({ + where: fields, + }); + } + + public async findMany( + fields: EntityCondition | EntityCondition[], + ): Promise { + return await this.detalheBRepository.find({ + where: fields, + }); + } + + private validateDTO(dto:DetalheBDTO):boolean{ + return true; + } + +} + + + diff --git a/src/cnab/service/header-arquivo.service.ts b/src/cnab/service/header-arquivo.service.ts index e69de29b..a4b9e76c 100644 --- a/src/cnab/service/header-arquivo.service.ts +++ b/src/cnab/service/header-arquivo.service.ts @@ -0,0 +1,60 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { InjectService } from '@nestjs/typeorm'; +import { EntityCondition } from 'src/utils/types/entity-condition.type'; +import { NullableType } from 'src/utils/types/nullable.type'; +import { HeaderArquivo } from '../entity/header-arquivo.entity'; +import { HeaderArquivoDTO } from '../dto/header-arquivo.dto'; +import { HeaderArquivoRepository } from '../repository/header-arquivo.repository'; +import { TransacaoService } from './transacao.service'; +import { Transacao } from '../entity/transacao.entity'; +import { ItemTransacaoService } from './Item-transacao.service'; + + +@Injectable() +export class HeaderArquivoService { + private logger: Logger = new Logger('HeaderArquivoService', { timestamp: true }); + + constructor( + @InjectService(HeaderArquivo) + private headerArquivoRepository: HeaderArquivoRepository, + private transacaoService:TransacaoService, + private itemTransacaoService:ItemTransacaoService + ) { } + + public async save(dto: HeaderArquivoDTO): Promise { + var listAllTransacao = await this.transacaoService.getAllTransacao(); + listAllTransacao.forEach(transacao=>{ + var listItem = itemTransacaoService.getByTransacao(transacao.id_transacao); + listItem.forEach(item => { + + }); + }); + await this.headerArquivoRepository.save(dto); + + } + + + public async findOne( + fields: EntityCondition | EntityCondition[], + ): Promise> { + return await this.headerArquivoRepository.findOne({ + where: fields, + }); + } + + public async findMany( + fields: EntityCondition | EntityCondition[], + ): Promise { + return await this.headerArquivoRepository.find({ + where: fields, + }); + } + + private validateDTO(dto:HeaderArquivoDTO):boolean{ + return true; + } + +} + + + diff --git a/src/cnab/service/header-lote.service.ts b/src/cnab/service/header-lote.service.ts index e69de29b..96b5927c 100644 --- a/src/cnab/service/header-lote.service.ts +++ b/src/cnab/service/header-lote.service.ts @@ -0,0 +1,51 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { InjectService } from '@nestjs/typeorm'; +import { EntityCondition } from 'src/utils/types/entity-condition.type'; +import { NullableType } from 'src/utils/types/nullable.type'; +import { + Service, + UpdateResult +} from 'typeorm'; +import { HeaderLote } from '../entity/header-lote.entity'; +import { HeaderLoteDTO } from '../dto/header-lote.dto'; +import { HeaderLoteRepository } from '../repository/header-lote.repository'; + + +@Injectable() +export class HeaderLoteService { + private logger: Logger = new Logger('HeaderLoteService', { timestamp: true }); + + constructor( + @InjectService(HeaderLote) + private headerLoteRepository: HeaderLoteRepository + ) { } + + public async save(dto: HeaderLoteDTO): Promise { + await this.headerLoteRepository.save(dto); + } + + + public async findOne( + fields: EntityCondition | EntityCondition[], + ): Promise> { + return await this.headerLoteRepository.findOne({ + where: fields, + }); + } + + public async findMany( + fields: EntityCondition | EntityCondition[], + ): Promise { + return await this.headerLoteRepository.find({ + where: fields, + }); + } + + private validateDTO(dto:HeaderLoteDTO):boolean{ + return true; + } + +} + + + diff --git a/src/cnab/service/transacao.service.ts b/src/cnab/service/transacao.service.ts index 78673f54..7a35eedf 100644 --- a/src/cnab/service/transacao.service.ts +++ b/src/cnab/service/transacao.service.ts @@ -1,47 +1,9 @@ +import { Transacao } from "../entity/transacao.entity"; -class TransacaoService{ +export class TransacaoService{ - - private transacoesRepository: TransacoesRepository; - - private itemTransacaoRepository: ItemTransacoesRepository; - - private clienteFavorecidoService: ClienteFavorecidoService; - - private pagadorService: PagadorService; - - function insereTransacoes(){ - //metodo de inserir cliente Favorecido - var listaCliente = clienteFavorecidoService.insere(); - //TransacoesFernanda buscar - var transacoesFernanda = buscar; - - //percorrer todas a transações e inserir na tabela transacao - for(transacaoFernada : transacoesFernanda) { - - //metodo de consultar o pagador - var pagador = pagadorService.getPagador(2):Pagador; - transacao.idPagador = idPagador; - transacao.nome = transacaoFernanda.nome; - //preencher o objeto transacao e inserir na base (id_pagador parte desse obj) - - var id_transacao = transacoesRepository.insert(transacao) - - //buscar todas as ordens de pagamento por idTransacaoFernanda - var ordensPgto = buscarOrder(transacaoFernada.idTransacaoFernanda); - for(ordemPgto:ordensPgto){ - - var id_cliente_favorecido = listaCliente.findByCPFCNPJ(ordemPgto.cpf_enpj); - itemTransacao.id_cliente_favorecido = id_cliente_favorecido; - //insere o item detalhamento - itemTransacao.id_transacao = id_transacao; - itemTransacao.idClientFavorecido = idClienteFavorecido; - itemTransacao.dt_transacao = ordemPgto.dt_transacao; - - itemTransacaoRepository.insere(itemTransacao); - } - - } - - } + public async getAllTransacao(): Promise (){ + return await null; + } + }