{ "version": 3, "sources": ["src/app/part-manager/atualizar-estoque/atualizar-estoque.service.ts", "src/app/part-manager/atualizar-estoque/atualizar-estoque.component.ts", "src/app/part-manager/atualizar-estoque/atualizar-estoque.component.html", "src/app/part-manager/configurar-cashback/configurar-cashback.service.ts", "src/app/part-manager/configurar-cashback/configurar-cashback.component.ts", "src/app/part-manager/configurar-cashback/configurar-cashback.component.html", "src/app/part-manager/configurar-fornecimento/configurar-fornecimento.service.ts", "src/app/part-manager/_componentes/configurar-forma-pagamento/configurar-forma-pagamento.component.ts", "src/app/part-manager/_componentes/configurar-forma-pagamento/configurar-forma-pagamento.component.html", "src/app/part-manager/_componentes/configurar-frete/configurar-frete.component.ts", "src/app/part-manager/_componentes/configurar-frete/configurar-frete.component.html", "src/app/part-manager/_componentes/configurar-prazo-entrega/configurar-prazo-entrega.component.ts", "src/app/part-manager/_componentes/configurar-prazo-entrega/configurar-prazo-entrega.component.html", "src/app/part-manager/configurar-fornecimento/configurar-fornecimento.component.ts", "src/app/part-manager/configurar-fornecimento/configurar-fornecimento.component.html", "src/app/part-manager/configurar-rebate/configurar-rebate.service.ts", "src/app/part-manager/configurar-rebate/configurar-rebate.component.ts", "src/app/part-manager/configurar-rebate/configurar-rebate.component.html", "src/app/part-manager/gerenciar-vendedores/gerenciar-vendedores.component.ts", "src/app/part-manager/gerenciar-vendedores/gerenciar-vendedores.component.html", "src/app/part-manager/relatorio-financeiro/relatorio-financeiro.service.ts", "src/app/part-manager/relatorio-financeiro/relatorio-financeiro.component.ts", "src/app/part-manager/relatorio-financeiro/relatorio-financeiro.component.html", "src/app/part-manager/part-manager.route.ts", "src/app/part-manager/part-manager.module.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\r\nimport { EMPTY } from 'rxjs';\r\n\r\nimport { AccountService } from 'app/account/account.service';\r\nimport { BaseService } from 'app/_services/base.service';\r\nimport { SettingsService } from 'app/_services/settings.service';\r\n\r\nimport { HoldingFTP } from '../_models/holdingFtp';\r\n\r\ndeclare const isEmpty: any;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PartManagerAtualizarEstoqueService extends BaseService\r\n{\r\n private _domain: string = '/part-manager/inventories';\r\n \r\n constructor(private accountService: AccountService, private config: SettingsService) { super(); }\r\n\r\n public atualizarEstoque(holdingFtp: HoldingFTP, base64file: string, filename: string) {\r\n let body: any = Object.assign({}, holdingFtp);\r\n body.base64file = base64file;\r\n body.filename = filename;\r\n\r\n return this.config.executePost({ url: this._domain, body });\r\n }\r\n\r\n public atualizarEstoqueAlternativo(holding_ftp_id: string, holding_id: number, part_type_id: number, base64file: string, filename: string) {\r\n const body = { id: holding_ftp_id, holding_id: holding_id, part_type_id: part_type_id, base64file, filename };\r\n return this.config.executePost({ url: `${this._domain}/alternative`, body });\r\n }\r\n\r\n public carregarDadosHolding() {\r\n let usuarioLogado = this.usuarioLogado;\r\n\r\n if (isEmpty(usuarioLogado)) {\r\n this.accountService.logout();\r\n return EMPTY;\r\n }\r\n\r\n const holding_id = usuarioLogado.holding_id;\r\n\r\n return this.config.executeGet({ url: `${this._domain}/holdings/${holding_id}` });\r\n }\r\n\r\n public obterColunas(base64file, filename, extensao) {\r\n const body = { base64file, filename, extensao };\r\n\r\n return this.config.executePost({ url: `${this._domain}/columns`, body });\r\n }\r\n}\r\n", "import { Component, OnInit, ElementRef, ViewChild, ViewChildren } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormBuilder, FormControlName } from '@angular/forms';\r\n\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\n\r\nimport { AccountService } from '../../account/account.service';\r\nimport { NotificationService } from '../../_services/notification.service';\r\nimport { PartManagerAtualizarEstoqueService } from './atualizar-estoque.service';\r\n\r\nimport { ApiResponseModel } from 'app/_models/apiResponseModel';\r\nimport { Globals } from '../../_models/globals';\r\nimport { HoldingFTP } from '../_models/holdingFtp';\r\nimport { UpdateInventoryHolding } from '../_models/updateInventoryHolding';\r\nimport { UpdateInventoryColumn } from '../_models/updateInventoryColumn';\r\nimport { User } from '../../_models/user';\r\nimport { Validators } from 'ngx-editor';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { StepperSelectionEvent } from '@angular/cdk/stepper';\r\nimport { fileSizeToMB } from 'app/_utils/general-utils';\r\n\r\ndeclare const $: any;\r\ndeclare const dynamicDownloadByHtmlTag: any;\r\ndeclare const isEmpty: any;\r\ndeclare const toBase64: any;\r\n\r\n@Component({\r\n selector: 'app-atualizar-estoque', templateUrl: './atualizar-estoque.component.html', styleUrls: ['./atualizar-estoque.component.scss'],\r\n standalone: false\r\n})\r\nexport class PartManagerAtualizarEstoqueComponent implements OnInit\r\n{\r\n @ViewChild('stepper') stepper: MatStepper;\r\n @ViewChildren(FormControlName, { read: ElementRef }) formInputElements: ElementRef[];\r\n\r\n uploadFormatAccepted: string;\r\n uploadMaxSizeAccepted: number;\r\n\r\n configUpload: any;\r\n currentUser: User;\r\n\r\n base64file: string = '';\r\n filename: string = '';\r\n fileSelected: boolean = false;\r\n\r\n coluna: any;\r\n colunas: string[];\r\n dados_holding_ftp: HoldingFTP;\r\n hasFile: boolean;\r\n hasSelectedColumns: boolean;\r\n hasListeners: boolean;\r\n logErro: string;\r\n is_feedbacking: boolean;\r\n selected_step: number;\r\n tem_txt_posicional: boolean = false;\r\n tipo_resultado: number;\r\n tipo_peca_padrao: number;\r\n last_update: Date;\r\n\r\n colunasForm: UntypedFormGroup;\r\n errors: any[] = [];\r\n\r\n constructor(private accountService: AccountService,\r\n private notificationService: NotificationService,\r\n private estoqueService: PartManagerAtualizarEstoqueService,\r\n private globals: Globals,\r\n private elRef: ElementRef,\r\n private fb: UntypedFormBuilder,\r\n private ngxLoader: NgxUiLoaderService) {\r\n this.currentUser = this.accountService.obterUsuario();\r\n\r\n this.uploadFormatAccepted = \".csv,.txt,.zip\";\r\n this.uploadMaxSizeAccepted = 4;\r\n\r\n this.configUpload = {\r\n multiple: false, formatsAllowed: \".csv,.txt,.zip\", maxSize: \"4\",\r\n replaceTexts: {\r\n selectFileBtn: this.globals.translate('part-manager.atualizar-estoque.passos.passo-2.botao.sem-arquivo'),\r\n resetBtn: this.globals.translate('part-manager.atualizar-estoque.passos.passo-2.botao.limpar'),\r\n uploadBtn: this.globals.translate('part-manager.atualizar-estoque.passos.passo-2.botao.upload'),\r\n sizeLimit: this.globals.translate('part-manager.atualizar-estoque.passos.passo-2.mensagens.tamanho')\r\n },\r\n uploadAPI: { method: 'uploadArquivo' }\r\n };\r\n\r\n this.tipo_peca_padrao = this.checarPartType(1) ? 1 : (this.checarPartType(2) ? 2 : 4);\r\n\r\n this.coluna = { padrao_habilitado_fixo: this.checarPartType(1) };\r\n this.colunasForm = this.fb.group({ desconto: [0], descricao: [0], marca: [0], marca_cod: [0], montadora: [0], padrao_habilitado: [false], part_number: [0], preco: [0], quantidade: [0], tipo_peca: [0], tipo_peca_padrao: [this.tipo_peca_padrao] });\r\n\r\n this.colunasForm.patchValue({ padrao_habilitado: this.coluna.padrao_habilitado_fixo });\r\n\r\n this.colunas = [];\r\n this.hasFile = false;\r\n this.hasListeners = false;\r\n this.is_feedbacking = false;\r\n this.logErro = '';\r\n this.selected_step = 0;\r\n this.tipo_resultado = 0;\r\n this.last_update = null;\r\n }\r\n\r\n fileTypeForm: UntypedFormGroup;\r\n isEditable = true;\r\n\r\n ngOnInit(): void {\r\n this.fileTypeForm = this.fb.group({\r\n fileType: ['', Validators.required],\r\n });\r\n\r\n this.carregarTela();\r\n }\r\n\r\n atualizarColunas_MudarInteiro(c) {\r\n return !isNaN(c[1]) ? parseInt(c[1]) : 0;\r\n }\r\n\r\n ajustarDadosHolding(objeto: HoldingFTP, adicionar: boolean) {\r\n let valor = adicionar ? 1 : -1;\r\n\r\n objeto.brand_index = objeto.brand_index + valor;\r\n objeto.brand_id_index = objeto.brand_id_index + valor;\r\n objeto.desconto_index = objeto.has_linear_discount ? -1 : objeto.desconto_index + valor;\r\n objeto.part_factory_number_index = objeto.part_factory_number_index + valor;\r\n objeto.part_number_index = objeto.part_number_index + valor;\r\n objeto.part_type_id_index = objeto.part_type_id_index + valor;\r\n objeto.peca_index = objeto.peca_index + valor;\r\n objeto.preco_index = objeto.preco_index + valor;\r\n objeto.quantidade_index = objeto.quantidade_index + valor;\r\n }\r\n\r\n async atualizarEstoque() {\r\n if (!(await this.notificationService.showConfirmationDialog('part-manager.atualizar-estoque.mensagens.alerta')))\r\n return;\r\n\r\n this.is_feedbacking = true;\r\n\r\n this.ngxLoader.startLoader('loader-principal');\r\n\r\n let holdingFTP: HoldingFTP = {\r\n id: this.dados_holding_ftp.id,\r\n holding_id: this.dados_holding_ftp.holding_id,\r\n has_linear_discount: this.dados_holding_ftp.has_linear_discount,\r\n desconto_linear: this.dados_holding_ftp.desconto_linear,\r\n brand_index: parseInt(this.colunasForm.value.montadora),\r\n brand_id_index: parseInt(this.colunasForm.value.marca),\r\n desconto_index: parseInt(this.colunasForm.value.desconto),\r\n tem_txt_posicional: false,\r\n is_active: true,\r\n part_factory_number_index: parseInt(this.colunasForm.value.marca_cod),\r\n part_number_index: parseInt(this.colunasForm.value.part_number),\r\n peca_index: parseInt(this.colunasForm.value.descricao),\r\n preco_index: parseInt(this.colunasForm.value.preco),\r\n quantidade_index: parseInt(this.colunasForm.value.quantidade),\r\n part_type_id_index: parseInt(this.colunasForm.value.tipo_peca),\r\n part_type_id: this.colunasForm.value.tipo_peca_padrao,\r\n password_ftp: this.dados_holding_ftp.password_ftp,\r\n username_ftp: this.dados_holding_ftp.username_ftp\r\n };\r\n\r\n this.ajustarDadosHolding(holdingFTP, false);\r\n\r\n this.estoqueService.atualizarEstoque(holdingFTP, this.base64file, this.filename).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n this.tipo_resultado = (response && response.success) ? (isEmpty(response.result) ? 1 : 2) : 3;\r\n this.logErro = response.result;\r\n\r\n this.carregarDadosHolding(0, () => this.inicializarTela(this.tipo_resultado, undefined));\r\n this.ngxLoader.stopLoader('loader-principal');\r\n },\r\n error: (error: any) =>\r\n {\r\n console.log(error);\r\n\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.atualizar-estoque.mensagens.erro.salvar.corpo'));\r\n\r\n this.tipo_resultado = 3;\r\n this.logErro = JSON.stringify(error);\r\n this.carregarDadosHolding(0, () => this.inicializarTela(this.tipo_resultado, undefined));\r\n this.ngxLoader.stopLoader('loader-principal');\r\n }\r\n });\r\n }\r\n\r\n atualizarEstoque_BaixarLogErro()\r\n {\r\n dynamicDownloadByHtmlTag('log_erro.txt', this.logErro);\r\n }\r\n\r\n atualizarEstoque_Reiniciar()\r\n {\r\n this.is_feedbacking = false;\r\n this.selected_step = 0;\r\n this.stepper.reset();\r\n }\r\n\r\n async atualizarEstoqueAlternativo()\r\n {\r\n if (!(await this.notificationService.showConfirmationDialog('part-manager.atualizar-estoque.mensagens.alerta')))\r\n return;\r\n\r\n let holding_ftp_id = this.dados_holding_ftp.id;\r\n let holding_id = this.dados_holding_ftp.holding_id;\r\n let part_type_id = this.dados_holding_ftp.part_type_id;\r\n\r\n this.is_feedbacking = true;\r\n\r\n this.ngxLoader.startLoader('loader-principal');\r\n\r\n this.estoqueService.atualizarEstoqueAlternativo(holding_ftp_id, holding_id, part_type_id, this.base64file, this.fileTypeForm.value.fileType).subscribe({\r\n next: (response: ApiResponseModel) =>\r\n {\r\n this.tipo_resultado = (response && response.success) ? (isEmpty(response.result) ? 1 : 2) : 3;\r\n this.logErro = response.result;\r\n\r\n this.carregarDadosHolding(0, () => this.inicializarTela(this.tipo_resultado, '.txt'));\r\n this.ngxLoader.stopLoader('loader-principal');\r\n },\r\n error: error =>\r\n {\r\n console.log(error);\r\n\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.atualizar-estoque.mensagens.erro.salvar.corpo'));\r\n\r\n this.tipo_resultado = 3;\r\n this.logErro = JSON.stringify(error);\r\n this.carregarDadosHolding(0, () => this.inicializarTela(this.tipo_resultado, '.txt'));\r\n this.ngxLoader.stopLoader('loader-principal');\r\n }\r\n });\r\n }\r\n\r\n carregarDadosHolding(nAttempts: number, callback) {\r\n this.estoqueService.carregarDadosHolding().subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (response && response.success) {\r\n this.dados_holding_ftp = response.result.holdingFtp;\r\n\r\n if (!isEmpty(this.dados_holding_ftp))\r\n {\r\n this.tem_txt_posicional = this.dados_holding_ftp.tem_txt_posicional;\r\n\r\n if (this.tem_txt_posicional)\r\n this.fileTypeForm.value.fileType = '.txt';\r\n }\r\n\r\n this.last_update = response.result.lastUpdate;\r\n\r\n this.ajustarDadosHolding(this.dados_holding_ftp, true);\r\n\r\n if (!this.tem_txt_posicional)\r\n this.hasListeners = true;\r\n\r\n if (typeof callback === 'function')\r\n callback();\r\n }\r\n\r\n this.ngxLoader.stopLoader('loader-principal');\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5)\r\n {\r\n this.ngxLoader.stopLoader('loader-principal');\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.atualizar-estoque.mensagens.erro.carregamento.corpo'));\r\n return;\r\n }\r\n\r\n this.carregarDadosHolding(++nAttempts, callback);\r\n }\r\n });\r\n }\r\n\r\n carregarTela() {\r\n this.ngxLoader.startLoader('loader-principal');\r\n this.carregarDadosHolding(0, undefined);\r\n }\r\n\r\n checarPartType(part_type: number) {\r\n if (this.currentUser === undefined || this.currentUser.holding_type_id == undefined)\r\n return false;\r\n\r\n return (part_type === 1 && this.currentUser.holding_type_id === 2) || (part_type > 1 && (this.currentUser.part_type & part_type) === part_type);\r\n }\r\n\r\n habilitarPreenchimentoPadrao() {\r\n this.colunasForm.patchValue({ tipo_peca: 0, tipo_peca_padrao: this.tipo_peca_padrao });\r\n }\r\n\r\n inicializarColunas() {\r\n this.colunasForm.patchValue({\r\n padrao_habilitado: this.coluna.padrao_habilitado_fixo,\r\n tipo_peca_padrao: this.tipo_peca_padrao,\r\n\r\n desconto: this.dados_holding_ftp.desconto_index >= this.colunas.length ? '0' : this.dados_holding_ftp.desconto_index,\r\n descricao: this.dados_holding_ftp.peca_index >= this.colunas.length ? '0' : this.dados_holding_ftp.peca_index,\r\n part_number: this.dados_holding_ftp.part_number_index >= this.colunas.length ? '0' : this.dados_holding_ftp.part_number_index,\r\n preco: this.dados_holding_ftp.preco_index >= this.colunas.length ? '0' : this.dados_holding_ftp.preco_index,\r\n quantidade: this.dados_holding_ftp.quantidade_index >= this.colunas.length ? '0' : this.dados_holding_ftp.quantidade_index,\r\n\r\n marca: isEmpty(this.dados_holding_ftp.brand_id_index) || this.dados_holding_ftp.brand_id_index >= this.colunas.length ? '0' : this.dados_holding_ftp.brand_id_index,\r\n marca_cod: isEmpty(this.dados_holding_ftp.part_factory_number_index) || this.dados_holding_ftp.part_factory_number_index >= this.colunas.length ? '0' : this.dados_holding_ftp.part_factory_number_index,\r\n montadora: isEmpty(this.dados_holding_ftp.brand_index) || this.dados_holding_ftp.brand_index >= this.colunas.length ? '0' : this.dados_holding_ftp.brand_index,\r\n tipo_peca: isEmpty(this.dados_holding_ftp.part_type_id_index) || this.dados_holding_ftp.part_type_id_index >= this.colunas.length ? '0' : this.dados_holding_ftp.part_type_id_index\r\n });\r\n }\r\n\r\n inicializarTela(tipo_resultado: number, fileType) {\r\n this.colunas = [];\r\n\r\n this.fileTypeForm.value.fileType = fileType;\r\n this.hasFile = false;\r\n this.selected_step = 0;\r\n\r\n this.inicializarColunas();\r\n\r\n this.stepper.reset();\r\n this.uploadLimpar();\r\n\r\n if (tipo_resultado === 1)\r\n setTimeout(() => { this.is_feedbacking = false; this.selected_step = 0; }, 4000);\r\n }\r\n\r\n showPreviousStep() {\r\n this.stepper.previous();\r\n this.selected_step--;\r\n }\r\n\r\n async showNextStep() {\r\n switch (this.selected_step) {\r\n case 0:\r\n if (isEmpty(this.fileTypeForm.value.fileType)) {\r\n await this.notificationService.showWarning('part-manager.atualizar-estoque.passos.passo-1.erro.corpo', 'part-manager.atualizar-estoque.passos.passo-1.erro.titulo');\r\n return;\r\n }\r\n\r\n break;\r\n case 1:\r\n if (!this.hasFile) {\r\n await this.notificationService.showWarning('part-manager.atualizar-estoque.passos.passo-2.erro.corpo', 'part-manager.atualizar-estoque.passos.passo-2.erro.titulo');\r\n return;\r\n }\r\n\r\n this.inicializarColunas();\r\n break;\r\n case 2:\r\n if (!await this.validarFormulario())\r\n return;\r\n break;\r\n }\r\n\r\n this.stepper.selected.completed = true;\r\n this.stepper.next();\r\n this.selected_step++;\r\n }\r\n\r\n stepChanged(args: StepperSelectionEvent) {\r\n switch (args.selectedIndex) {\r\n case 0:\r\n this.uploadLimpar();\r\n break;\r\n case 1:\r\n this.uploadFormatAccepted = (this.fileTypeForm.value.fileType === \".csv\" ? '.csv,.zip' : '.txt,.zip');\r\n break;\r\n }\r\n }\r\n\r\n async selectArquivo() {\r\n var files = (document.getElementById('fileUpload')).files;\r\n\r\n if (files.length === 0)\r\n return;\r\n\r\n let file = files[0];\r\n let fileSizeMB = fileSizeToMB(file);\r\n\r\n if (fileSizeMB > this.uploadMaxSizeAccepted) {\r\n await this.notificationService.showWarning('part-manager.atualizar-estoque.passos.passo-2.mensagens.erro.tamanho', 'part-manager.atualizar-estoque.passos.passo-2.mensagens.erro.titulo');\r\n return;\r\n }\r\n\r\n if (!file.name.endsWith(this.fileTypeForm.value.fileType) && !file.name.endsWith(\".zip\")) {\r\n await this.notificationService.showWarning('part-manager.atualizar-estoque.passos.passo-2.mensagens.erro.formato', 'part-manager.atualizar-estoque.passos.passo-2.mensagens.erro.titulo');\r\n return;\r\n }\r\n\r\n let b64file = (await toBase64(file));\r\n\r\n this.base64file = b64file.indexOf(',') > -1 ? b64file.split(',')[1] : b64file;\r\n this.filename = file.name;\r\n this.fileSelected = true;\r\n }\r\n\r\n async uploadArquivo($event) {\r\n this.ngxLoader.startLoader('loader-principal');\r\n\r\n this.estoqueService.obterColunas(this.base64file, this.filename, this.fileTypeForm.value.fileType).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (response && response.success) {\r\n this.hasFile = true;\r\n\r\n if (!this.dados_holding_ftp.tem_txt_posicional) {\r\n this.colunas = response.result.colunas;\r\n this.colunas.unshift(this.globals.translate('elemento.generico-select.selecione'));\r\n\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.atualizar-estoque.passos.passo-2.mensagens.sucesso.corpo'));\r\n } else {\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.atualizar-estoque.passos.passo-2-alternativo.mensagens.sucesso.corpo'));\r\n }\r\n }\r\n\r\n this.ngxLoader.stopLoader('loader-principal');\r\n },\r\n error: (error: ApiResponseModel) => {\r\n console.log(error);\r\n\r\n let msgErro = 'part-manager.atualizar-estoque.passos.passo-2.mensagens.erro.desconhecido';\r\n\r\n if (error && error.success) {\r\n msgErro = error.result.status === 1 ? 'part-manager.atualizar-estoque.passos.passo-2.mensagens.erro.upload-erro' :\r\n (error.result.status === 2 ? 'part-manager.atualizar-estoque.passos.passo-2.mensagens.erro.extensao-invalida' :\r\n 'part-manager.atualizar-estoque.passos.passo-2.mensagens.erro.desconhecido');\r\n\r\n this.uploadLimpar();\r\n }\r\n\r\n this.notificationService.showErrorToastr(this.globals.translate(msgErro));\r\n this.ngxLoader.stopLoader('loader-principal');\r\n }\r\n });\r\n }\r\n\r\n uploadLimpar() {\r\n this.hasFile = false;\r\n this.fileSelected = false;\r\n this.filename = null;\r\n this.base64file = null;\r\n }\r\n\r\n async validarFormulario() {\r\n let formulario = this.colunasForm.value;\r\n this.hasSelectedColumns = false;\r\n\r\n // Valida se tem campo não preenchido\r\n if (formulario.part_number <= 0 || formulario.preco <= 0\r\n || (formulario.desconto <= 0 && !this.dados_holding_ftp.has_linear_discount)\r\n || formulario.quantidade <= 0 || (formulario.tipo_peca <= 0 && !formulario.padrao_habilitado)\r\n ) {\r\n await this.notificationService.showWarning('part-manager.atualizar-estoque.passos.passo-3.erro.obrigatorio.corpo', 'part-manager.atualizar-estoque.passos.passo-3.erro.obrigatorio.titulo');\r\n return this.hasSelectedColumns;\r\n }\r\n\r\n // Valida se tem coluna repetida\r\n let findDuplicates = arr => arr.filter((item, index) => item > 0 && item !== null && !isNaN(item) && arr.indexOf(item) !== index);\r\n\r\n let propriedadesObj = Object.getOwnPropertyNames(formulario).filter(prop => prop !== 'padrao_habilitado' && prop !== 'tipo_peca_padrao');\r\n let valoresObj = arr => arr.map((item) => parseInt(formulario[item]));\r\n\r\n if ((findDuplicates(valoresObj(propriedadesObj))).length > 0)\r\n {\r\n await this.notificationService.showWarning('part-manager.atualizar-estoque.passos.passo-3.erro.repetido.corpo', 'part-manager.atualizar-estoque.passos.passo-3.erro.repetido.titulo');\r\n return this.hasSelectedColumns;\r\n }\r\n\r\n this.hasSelectedColumns = true;\r\n return this.hasSelectedColumns;\r\n }\r\n}\r\n", "
\r\n \r\n @if (last_update) {\r\n {{ 'part-manager.atualizar-estoque.ultima-atualizacao' | translate}}
{{last_update | date:'dd/MM/yyyy HH:mm'}}
\r\n }\r\n \r\n @if (!tem_txt_posicional) {\r\n
\r\n \r\n \r\n {{ 'part-manager.atualizar-estoque.passos.passo-1.subtitulo' | translate}}\r\n \r\n
\r\n @if (is_feedbacking) {\r\n
\r\n {{ (tipo_resultado === 1 ? 'part-manager.atualizar-estoque.passos.passo-1.sucesso.titulo' : (tipo_resultado === 2 ? 'part-manager.atualizar-estoque.passos.passo-1.erro-upload.titulo-aviso' : 'part-manager.atualizar-estoque.passos.passo-1.erro-upload.titulo-erro')) | translate}}\r\n
\r\n {{ (tipo_resultado === 1 ? 'part-manager.atualizar-estoque.passos.passo-1.sucesso.subtitulo' : 'part-manager.atualizar-estoque.passos.passo-1.erro-upload.subtitulo') | translate}}\r\n @if (tipo_resultado > 1) {\r\n
\r\n
\r\n \r\n }\r\n
\r\n } @else {\r\n
\r\n {{ 'part-manager.atualizar-estoque.passos.passo-1.subtitulo' | translate}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n @if (!is_feedbacking) {\r\n \r\n }\r\n
\r\n
\r\n \r\n {{ 'part-manager.atualizar-estoque.passos.passo-2.subtitulo' | translate}}\r\n \r\n
\r\n
\r\n {{ 'part-manager.atualizar-estoque.passos.passo-2.subtitulo' | translate}}\r\n
\r\n
\r\n
\r\n {{'part-manager.atualizar-estoque.passos.passo-2.dica-transformar-zip' | translate}}\r\n
\r\n
\r\n
\r\n @if (!fileSelected) {\r\n \r\n {{'part-manager.atualizar-estoque.passos.passo-2.botao.sem-arquivo' | translate}}\r\n \r\n \r\n } @else {\r\n
\r\n \r\n @if (!hasFile) {\r\n \r\n }\r\n
\r\n }\r\n

\r\n {{ fileSelected ? filename : ('part-manager.atualizar-estoque.passos.passo-2.mensagens.tamanho' | translate: { fileTypesAllowed: uploadFormatAccepted, size: uploadMaxSizeAccepted }) }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{ 'part-manager.atualizar-estoque.passos.passo-3.subtitulo' | translate}}\r\n \r\n
\r\n
\r\n {{ 'part-manager.atualizar-estoque.passos.passo-3.subtitulo' | translate}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n @if (dados_holding_ftp?.has_linear_discount) {\r\n {{ 'part-manager.atualizar-estoque.passos.passo-3.colunas.desconto.linear' | translate}} {{ dados_holding_ftp?.desconto_linear | currency:' ' }}%\r\n } @else {\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{ 'part-manager.atualizar-estoque.passos.passo-3.colunas.tipo-peca.padrao' | translate}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n @if (colunasForm.value.padrao_habilitado && !coluna.padrao_habilitado_fixo) {\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{ 'part-manager.atualizar-estoque.passos.passo-4.subtitulo' | translate }}\r\n
\r\n @if (!is_feedbacking) {\r\n
\r\n {{ 'part-manager.atualizar-estoque.passos.passo-4.subtitulo' | translate}}\r\n
\r\n
\r\n
\r\n •\r\n \r\n {{ (this.fileTypeForm.value.fileType === '.csv' ? 'part-manager.atualizar-estoque.passos.passo-1.opcao-1' : 'part-manager.atualizar-estoque.passos.passo-1.opcao-2') | translate}}\r\n
\r\n
\r\n •\r\n \r\n {{ filename != null ? filename : '' }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n •\r\n \r\n {{ colunas[colunasForm.value.part_number] }} ({{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.posicao' | translate}} {{colunasForm.value.part_number}})\r\n
\r\n
\r\n •\r\n \r\n {{ colunas[colunasForm.value.preco] }} ({{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.posicao' | translate}} {{colunasForm.value.preco}})\r\n
\r\n
\r\n
\r\n
\r\n •\r\n \r\n @if (!dados_holding_ftp?.has_linear_discount) {\r\n {{ colunas[colunasForm.value.desconto] }} ({{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.posicao' | translate}} {{colunasForm.value.desconto}})\r\n } @else {\r\n {{ 'part-manager.atualizar-estoque.passos.passo-3.colunas.desconto.linear' | translate}} {{ dados_holding_ftp?.desconto_linear | currency:' ' }}%\r\n }\r\n
\r\n
\r\n @if (colunasForm.value.montadora > 0) {\r\n
\r\n •\r\n \r\n {{ colunas[colunasForm.value.montadora] }} ({{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.posicao' | translate}} {{colunasForm.value.montadora}})\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n •\r\n \r\n {{ colunas[colunasForm.value.quantidade] }} ({{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.posicao' | translate}} {{colunasForm.value.quantidade}})\r\n
\r\n
\r\n •\r\n \r\n @if (colunasForm.value.descricao > 0) {\r\n {{ colunas[colunasForm.value.descricao] }} ({{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.posicao' | translate}} {{colunasForm.value.descricao}})\r\n } @else {\r\n {{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.vazio' | translate}}\r\n }\r\n
\r\n
\r\n
\r\n
\r\n @if (!colunasForm.value.padrao_habilitado) {\r\n
\r\n •\r\n \r\n @if (colunasForm.value.marca > 0) {\r\n {{ colunas[colunasForm.value.marca] }} ({{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.posicao' | translate}} {{colunasForm.value.marca}})\r\n } @else {\r\n {{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.vazio-marca' | translate}}\r\n }\r\n
\r\n }\r\n
\r\n
\r\n @if (!colunasForm.value.padrao_habilitado) {\r\n
\r\n •\r\n \r\n @if (colunasForm.value.marca > 0) {\r\n {{ colunas[colunasForm.value.marca_cod] }} ({{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.posicao' | translate}} {{colunasForm.value.marca_cod}})\r\n } @else {\r\n {{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.vazio' | translate}}\r\n }\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n •\r\n \r\n @if (!colunasForm.value.padrao_habilitado) {\r\n {{ colunas[colunasForm.value.tipo_peca] }} ({{ 'part-manager.atualizar-estoque.passos.passo-4.dados-confirmacao.posicao' | translate}} {{colunasForm.value.tipo_peca}})\r\n } @else {\r\n {{ (colunasForm.value.tipo_peca_padrao == '1' ? 'elemento.tipo-pecas.genuina' : (colunasForm.value.tipo_peca_padrao == '2' ? 'elemento.tipo-pecas.original' : 'elemento.tipo-pecas.alternativa')) | translate }}\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n } @else {\r\n
\r\n \r\n \r\n {{ 'part-manager.atualizar-estoque.passos.passo-1.subtitulo' | translate}}\r\n \r\n
\r\n @if (is_feedbacking) {\r\n
\r\n {{ (tipo_resultado === 1 ? 'part-manager.atualizar-estoque.passos.passo-1.sucesso.titulo' : (tipo_resultado === 2 ? 'part-manager.atualizar-estoque.passos.passo-1.erro-upload.titulo-aviso' : 'part-manager.atualizar-estoque.passos.passo-1.erro-upload.titulo-erro')) | translate}}\r\n
\r\n {{ (tipo_resultado === 1 ? 'part-manager.atualizar-estoque.passos.passo-1.sucesso.subtitulo' : 'part-manager.atualizar-estoque.passos.passo-1.erro-upload.subtitulo') | translate}}\r\n @if (tipo_resultado > 1) {\r\n
\r\n
\r\n \r\n }\r\n
\r\n } @else {\r\n
\r\n {{ 'part-manager.atualizar-estoque.passos.passo-1.subtitulo' | translate}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n @if (!is_feedbacking) {\r\n \r\n }\r\n
\r\n
\r\n \r\n {{ 'part-manager.atualizar-estoque.passos.passo-2.subtitulo' | translate}}\r\n \r\n
\r\n
\r\n {{ 'part-manager.atualizar-estoque.passos.passo-2-alternativo.subtitulo' | translate}}\r\n
\r\n
\r\n
\r\n {{'part-manager.atualizar-estoque.passos.passo-2.dica-transformar-zip' | translate}}\r\n
\r\n
\r\n
\r\n @if (!fileSelected) {\r\n \r\n {{'part-manager.atualizar-estoque.passos.passo-2.botao.sem-arquivo' | translate}}\r\n \r\n \r\n } @else {\r\n
\r\n \r\n @if (!hasFile) {\r\n \r\n }\r\n
\r\n }\r\n

\r\n {{ fileSelected ? filename : ('part-manager.atualizar-estoque.passos.passo-2.mensagens.tamanho' | translate: { fileTypesAllowed: uploadFormatAccepted, size: uploadMaxSizeAccepted }) }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n", "import { Injectable } from '@angular/core';\r\nimport { EMPTY } from 'rxjs';\r\n\r\nimport { AccountService } from 'app/account/account.service';\r\nimport { BaseService } from 'app/_services/base.service';\r\nimport { SettingsService } from 'app/_services/settings.service';\r\n\r\ndeclare const isEmpty: any;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PartManagerConfigurarCashbackService extends BaseService\r\n{\r\n private _domain: string = '/part-manager/cashback-settings';\r\n\r\n constructor(private accountService: AccountService, private config: SettingsService) {\r\n super();\r\n }\r\n\r\n public carregarDadosHolding() {\r\n return this.config.executeGet({ url: `${this._domain}` });\r\n }\r\n\r\n public salvar(has_cashback: boolean, cashback_profit_margin: number) {\r\n let usuarioLogado = this.usuarioLogado;\r\n\r\n if (isEmpty(usuarioLogado)) {\r\n this.accountService.logout();\r\n return EMPTY;\r\n }\r\n\r\n const holding_id = usuarioLogado.holding_id;\r\n const body = { holding_id, has_cashback, cashback_profit_margin };\r\n\r\n return this.config.executePost({ url: `${this._domain}`, body });\r\n }\r\n}\r\n", "import { Component, OnInit, ElementRef, ViewChildren } from '@angular/core';\r\nimport { UntypedFormGroup, FormControlName, UntypedFormBuilder, Validators } from '@angular/forms';\r\n\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\n\r\nimport { ApiResponseModel } from 'app/_models/apiResponseModel';\r\nimport { Globals } from '../../_models/globals';\r\nimport { GenericValidator, ValidationMessages, DisplayMessage } from '../../_utils/generic-form-validation';\r\nimport { HoldingCashback } from '../_models/holdingCashback';\r\n\r\nimport { NotificationService } from '../../_services/notification.service';\r\nimport { PartManagerConfigurarCashbackService } from './configurar-cashback.service';\r\n\r\ndeclare const isEmpty: any;\r\n\r\n@Component({\r\n selector: 'app-configurar-cashback', templateUrl: './configurar-cashback.component.html', styleUrls: ['./configurar-cashback.component.scss'],\r\n standalone: false\r\n})\r\nexport class PartManagerConfigurarCashbackComponent implements OnInit\r\n{\r\n @ViewChildren(FormControlName, { read: ElementRef }) formInputElements: ElementRef[];\r\n\r\n cashback: any;\r\n\r\n cashbackForm: UntypedFormGroup;\r\n displayMessage: DisplayMessage = {};\r\n errors: any[] = [];\r\n genericValidator: GenericValidator;\r\n validationMessages: ValidationMessages;\r\n\r\n constructor(private notificationService: NotificationService, private cashbackService: PartManagerConfigurarCashbackService, private globals: Globals, private fb: UntypedFormBuilder, private ngxLoader: NgxUiLoaderService) { }\r\n\r\n ngOnInit(): void\r\n {\r\n this.cashbackForm = this.fb.group(\r\n {\r\n has_cashback: [false],\r\n cashback_profit_margin: [0, [Validators.max(10), Validators.min(0)]]\r\n });\r\n\r\n this.cashback = { com_cashback: 300, desconto_cashback: 0, desconto_original: 30, imposto: 15, taxa_partsfy: 40, valor_peca: 1000, valor_venda_cashback: 1000, valor_venda_original: 700 };\r\n\r\n this.carregarTela(0);\r\n }\r\n\r\n ngAfterViewChecked(): void\r\n {\r\n if (this.cashbackForm.value.cashback_profit_margin > 20)\r\n this.cashbackForm.patchValue({ cashback_profit_margin: 20 });\r\n }\r\n\r\n calcularDetalhamento()\r\n {\r\n let imposto_descontado = (300 * this.cashback.imposto / 100);\r\n let cashback_sem_imposto = 300 - imposto_descontado;\r\n let taxa_vendedor = this.cashbackForm.get('cashback_profit_margin').value;\r\n\r\n let cashback_partsfy = cashback_sem_imposto * (this.cashback.taxa_partsfy / 100);\r\n let cashback_vendedor = (cashback_sem_imposto - cashback_partsfy) * taxa_vendedor / 100;\r\n let cashback_comprador = (cashback_sem_imposto - cashback_partsfy) - cashback_vendedor;\r\n\r\n this.cashback.partsfy = cashback_partsfy;\r\n this.cashback.cashback_efetivo = cashback_sem_imposto;\r\n this.cashback.imposto_descontado = imposto_descontado;\r\n this.cashback.comprador = cashback_comprador;\r\n this.cashback.vendedor = cashback_vendedor;\r\n this.cashback.vendedor_margem = cashback_vendedor * 100 / cashback_sem_imposto;\r\n }\r\n\r\n carregarTela(nAttempts: number) {\r\n this.ngxLoader.startLoader('loader-principal');\r\n\r\n this.cashbackService.carregarDadosHolding().subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success) {\r\n this.cashbackForm.patchValue({ has_cashback: response.result.holdingInfo.has_cashback, cashback_profit_margin: response.result.holdingInfo.cashback_profit_margin });\r\n this.cashbackForm.markAsDirty();\r\n\r\n // Deve setar o imposto atual, taxa_partsfy e depois fazer o cálculo\r\n this.cashback.imposto = response.result.holdingInfo.tax;\r\n this.cashback.taxa_partsfy = response.result.partsfyCommission;\r\n\r\n this.calcularDetalhamento();\r\n }\r\n\r\n this.ngxLoader.stopLoader('loader-principal');\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.ngxLoader.stopLoader('loader-principal');\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-cashback.mensagens.erro.carregamento.corpo'));\r\n return;\r\n }\r\n\r\n this.carregarTela(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n salvar(nAttempts: number) {\r\n if (this.cashbackForm.dirty && this.cashbackForm.valid) {\r\n this.ngxLoader.startLoader('loader-principal');\r\n\r\n let has_cashback = this.cashbackForm.value.has_cashback;\r\n let cashback_profit_margin = has_cashback ? this.cashbackForm.value.cashback_profit_margin : 0;\r\n\r\n this.cashbackService.salvar(has_cashback, cashback_profit_margin).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success) {\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-cashback.mensagens.sucesso.salvar.corpo'));\r\n }\r\n\r\n this.ngxLoader.stopLoader('loader-principal');\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.ngxLoader.stopLoader('loader-principal');\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-cashback.mensagens.erro.carregamento.corpo'));\r\n return;\r\n }\r\n\r\n this.carregarTela(++nAttempts);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n get has_cashback(): boolean { return this.cashbackForm.get('has_cashback').value; }\r\n\r\n set has_cashback(value)\r\n {\r\n if (value)\r\n this.cashbackForm.patchValue({ cashback_profit_margin: 0 });\r\n }\r\n}\r\n", "
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n @if (has_cashback) {\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n @if (has_cashback) {\r\n
\r\n
\r\n {{ 'part-manager.configurar-cashback.detalhamento.legend.titulo' | translate}} \r\n
\r\n
\r\n
    \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.sem.titulo' | translate}}
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.sem.valor-peca' | translate}}: {{cashback.valor_peca | currency:\"R$ \"}}
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.sem.desconto' | translate}}: {{cashback.desconto_original}}%
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.sem.valor-venda' | translate}}: {{cashback.valor_venda_original | currency:\"R$ \"}}
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.com.titulo' | translate}}
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.com.valor-peca' | translate}}: {{cashback.valor_peca | currency:\"R$ \"}}
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.com.desconto' | translate}}: {{cashback.desconto_cashback | currency:\" \"}}%
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.com.valor-venda' | translate}}: {{cashback.valor_venda_cashback | currency:\"R$ \"}}
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.analise.titulo' | translate}}
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.analise.com-cashback.parte-1' | translate}} {{ 'part-manager.configurar-cashback.detalhamento.analise.com-cashback.parte-2' | translate}}: {{ 'part-manager.configurar-cashback.detalhamento.analise.com-cashback.parte-3' | translate}} {{cashback.com_cashback | currency:\"R$\"}}
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.analise.desconta-imposto' | translate}} ({{cashback.imposto | currency:\" \"}}%): -{{cashback.imposto_descontado | currency:\"R$ \"}}
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.analise.cashback-efetivo' | translate}}: {{cashback.cashback_efetivo | currency:\"R$ \"}}
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.analise.devolve-comprador' | translate}}: {{cashback.comprador | currency:\"R$ \"}}
  • \r\n
  • {{ 'part-manager.configurar-cashback.detalhamento.analise.taxa-partsfy' | translate }} ({{cashback.taxa_partsfy | currency:\" \"}}%): {{cashback.partsfy | currency:\"R$ \"}}
  • \r\n
  • = 0 ? 'text-success' : 'text-danger'\">{{ 'part-manager.configurar-cashback.detalhamento.analise.lucro-extra' | translate}}: {{cashback.vendedor | currency:\"R$ \"}}
  • \r\n
  • = 0 ? 'text-success' : 'text-danger'\">{{ 'part-manager.configurar-cashback.detalhamento.analise.margem-extra' | translate}}: {{cashback.vendedor_margem | currency:\" \"}}%
  • \r\n
  • \r\n @if (cashbackForm.valid) {\r\n {{ 'part-manager.configurar-cashback.detalhamento.analise.clique-salvar' | translate}}\r\n }\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n", "import { Injectable } from '@angular/core';\r\nimport { EMPTY } from 'rxjs';\r\n\r\nimport { AccountService } from 'app/account/account.service';\r\nimport { BaseService } from 'app/_services/base.service';\r\nimport { SettingsService } from 'app/_services/settings.service';\r\n\r\nimport { HoldingDeliveryTime } from '../_models/holdingDeliveryTime';\r\nimport { HoldingPaymentType } from '../_models/holdingPaymentType';\r\nimport { HoldingShipping } from '../_models/holdingShipping';\r\n\r\ndeclare const isEmpty: any;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PartManagerConfigurarFornecimentoService extends BaseService\r\n{\r\n private _domain: string = '/part-manager/supply-settings';\r\n\r\n constructor(private accountService: AccountService, private config: SettingsService) {\r\n super();\r\n }\r\n\r\n public formaPagamentoAdicionar(formaPagamento: HoldingPaymentType) {\r\n return this.config.executePost({ url: `${this._domain}/forma-pagamento`, body: formaPagamento });\r\n }\r\n\r\n public formaPagamentoCarregar() {\r\n return this.config.executeGet({ url: `${this._domain}/forma-pagamento` });\r\n }\r\n\r\n public formaPagamentoRemover(payment_type_id: number) {\r\n return this.config.executeDelete({ url: `${this._domain}/forma-pagamento/${payment_type_id}` });\r\n }\r\n\r\n public freteAdicionar(frete: HoldingShipping) {\r\n return this.config.executePost({ url: `${this._domain}/frete`, body: frete });\r\n }\r\n\r\n public freteCarregar() {\r\n return this.config.executeGet({ url: `${this._domain}/frete` });\r\n }\r\n\r\n public freteRemover(region_id: number) {\r\n return this.config.executeDelete({ url: `${this._domain}/frete/${region_id}` });\r\n }\r\n\r\n public geralDadosAlterar(dias_pedido_fabrica: number, resposta_automatica: boolean) {\r\n if (isEmpty(this.usuarioLogado))\r\n {\r\n this.accountService.logout();\r\n return EMPTY;\r\n }\r\n\r\n const holding_id = this.usuarioLogado.holding_id;\r\n const body = { holding_id, dias_pedido_fabrica, resposta_automatica };\r\n\r\n return this.config.executePost({ url: `${this._domain}/general`, body });\r\n }\r\n\r\n public geralCarregar() {\r\n return this.config.executeGet({ url: `${this._domain}/general` });\r\n }\r\n\r\n public prazoEntregaAdicionar(prazo: HoldingDeliveryTime) {\r\n return this.config.executePost({ url: `${this._domain}/prazo-entrega`, body: prazo });\r\n }\r\n\r\n public prazoEntregaCarregar() {\r\n return this.config.executeGet({ url: `${this._domain}/prazo-entrega` });\r\n }\r\n\r\n public prazoEntregaRemover(region_id: number) {\r\n return this.config.executeDelete({ url: `${this._domain}/prazo-entrega/${region_id}` });\r\n }\r\n}\r\n", "import { Component, OnInit, Input } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { AccountService } from '../../../account/account.service';\r\nimport { NotificationService } from '../../../_services/notification.service';\r\nimport { PartManagerConfigurarFornecimentoService } from '../../configurar-fornecimento/configurar-fornecimento.service';\r\n\r\nimport { Globals } from '../../../_models/globals';\r\nimport { HoldingPaymentType } from '../../_models/holdingPaymentType';\r\nimport { ApiResponseModel } from 'app/_models/apiResponseModel';\r\n\r\ndeclare const isEmpty: any;\r\ndeclare const sort_by: any;\r\n\r\n@Component({\r\n selector: 'app-configurar-forma-pagamento', templateUrl: './configurar-forma-pagamento.component.html', styleUrls: ['./configurar-forma-pagamento.component.scss'],\r\n standalone: false\r\n})\r\nexport class PartManagerConfigurarFormaPagamentoComponent implements OnInit\r\n{\r\n @Input() formas: HoldingPaymentType[];\r\n @Input() inicializar: Subject;\r\n @Input() formas_pagamento: any;\r\n\r\n adicionando: boolean;\r\n formaPagamentoForm: UntypedFormGroup;\r\n holding_id: number;\r\n\r\n constructor(\r\n private accountService: AccountService,\r\n private notificationService: NotificationService,\r\n private fornecimentoService: PartManagerConfigurarFornecimentoService,\r\n private globals: Globals,\r\n private fb: UntypedFormBuilder) {\r\n this.holding_id = this.accountService.obterUsuario().holding_id;\r\n\r\n this.formas = [];\r\n this.formas_pagamento = [];\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formaPagamentoForm = this.fb.group(\r\n {\r\n payment_type_id: [0, [Validators.required, Validators.min(1)]],\r\n start_value: [0, [Validators.min(0)]]\r\n });\r\n\r\n this.adicionando = true;\r\n\r\n if (!isEmpty(this.formas_pagamento))\r\n this.resetForm(0);\r\n\r\n this.inicializar.subscribe(() => this.resetForm(0));\r\n }\r\n\r\n adicionar(nAttempts: number) {\r\n this.adicionando = true;\r\n let payment_type_id = parseInt(this.formaPagamentoForm.value.payment_type_id);\r\n\r\n let payment_type_name = this.formas_pagamento.find(f => f.id === payment_type_id).texto_x;\r\n\r\n let forma_pagamento: HoldingPaymentType = { holding_id: this.holding_id, payment_type_id, payment_type_name, start_value: this.formaPagamentoForm.value.start_value, is_active: true };\r\n this.formas.push(forma_pagamento);\r\n this.formas.sort(sort_by([{ name: 'payment_type_id' }]));\r\n\r\n this.fornecimentoService.formaPagamentoAdicionar(forma_pagamento).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success) {\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-fornecimento.forma-pagamento.mensagens.sucesso.adicionar.corpo'));\r\n this.resetForm(0);\r\n } else {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.forma-pagamento.mensagens.erro.adicionar.corpo'));\r\n this.remover(payment_type_id, 0);\r\n }\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.forma-pagamento.mensagens.erro.adicionar.corpo'));\r\n return;\r\n }\r\n\r\n this.remover(payment_type_id, 0);\r\n this.adicionar(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n remover(payment_type_id: number, nAttempts: number) {\r\n let forma = this.formas.find(f => f.payment_type_id === payment_type_id);\r\n\r\n if (isEmpty(forma))\r\n return;\r\n\r\n var idx = this.formas.indexOf(forma);\r\n this.formas.splice(idx, 1);\r\n\r\n this.fornecimentoService.formaPagamentoRemover(forma.payment_type_id).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success)\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-fornecimento.forma-pagamento.mensagens.sucesso.remover.corpo'));\r\n\r\n this.resetForm(0);\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.forma-pagamento.mensagens.erro.remover.corpo'));\r\n return;\r\n }\r\n\r\n this.remover(payment_type_id, ++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n resetForm(nAttempts: number) {\r\n this.formaPagamentoForm.reset();\r\n this.formaPagamentoForm.patchValue({ start_value: 0 });\r\n\r\n let filtradas = this.formasFiltradas;\r\n\r\n if (filtradas.length > 0)\r\n this.formaPagamentoForm.patchValue({ payment_type_id: filtradas[0].id });\r\n else {\r\n if (nAttempts < 5)\r\n setTimeout(() => this.resetForm(++nAttempts), 200);\r\n\r\n this.formaPagamentoForm.patchValue({ payment_type_id: 0 });\r\n return;\r\n }\r\n\r\n this.adicionando = false;\r\n }\r\n\r\n\r\n get formasFiltradas() {\r\n if (isEmpty(this.formas_pagamento))\r\n return [];\r\n\r\n return this.formas_pagamento.filter(p => this.formas.filter(f => f.payment_type_id === p.id).length <= 0).sort(sort_by([{ name: 'texto_x' }]));\r\n }\r\n}\r\n", "
\r\n
\r\n
\r\n
\r\n
{{'part-manager.configurar-fornecimento.forma-pagamento.colunas.forma' | translate}}
\r\n
{{'part-manager.configurar-fornecimento.forma-pagamento.colunas.valor-de' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n R$\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n @if (formas?.length <= 0) {\r\n
\r\n {{'part-manager.configurar-fornecimento.forma-pagamento.vazio' | translate}}\r\n
\r\n } @else {\r\n @for (forma of formas; track forma) {\r\n
\r\n
{{ forma.payment_type_name }}
\r\n
{{ forma.start_value | currency:'R$ ' }}
\r\n
\r\n \r\n
\r\n
\r\n }\r\n }\r\n
\r\n
\r\n
\r\n
\r\n", "import { Component, OnInit, Input } from '@angular/core';\r\nimport { UntypedFormGroup, Validators, UntypedFormBuilder } from '@angular/forms';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { AccountService } from '../../../account/account.service';\r\nimport { NotificationService } from '../../../_services/notification.service';\r\nimport { PartManagerConfigurarFornecimentoService } from '../../configurar-fornecimento/configurar-fornecimento.service';\r\n\r\nimport { Globals } from '../../../_models/globals';\r\nimport { HoldingShipping } from '../../_models/holdingShipping';\r\nimport { ApiResponseModel } from 'app/_models/apiResponseModel';\r\n\r\ndeclare const isEmpty: any;\r\ndeclare const sort_by: any;\r\n\r\n@Component({\r\n selector: 'app-configurar-frete', templateUrl: './configurar-frete.component.html', styleUrls: ['./configurar-frete.component.scss'],\r\n standalone: false\r\n})\r\nexport class PartManagerConfigurarFreteComponent implements OnInit\r\n{\r\n @Input() fretes: HoldingShipping[];\r\n @Input() inicializar: Subject;\r\n @Input() regioes: any;\r\n\r\n adicionando: boolean;\r\n freteForm: UntypedFormGroup;\r\n holding_id: number;\r\n\r\n constructor(\r\n private accountService: AccountService,\r\n private notificationService: NotificationService,\r\n private fornecimentoService: PartManagerConfigurarFornecimentoService,\r\n private globals: Globals,\r\n private fb: UntypedFormBuilder) {\r\n this.holding_id = this.accountService.obterUsuario().holding_id;\r\n\r\n this.fretes = [];\r\n this.regioes = [];\r\n }\r\n\r\n ngOnInit(): void {\r\n this.freteForm = this.fb.group(\r\n {\r\n regiao: [0, [Validators.required, Validators.min(1)]],\r\n frete_gratuito: [0, [Validators.min(0)]],\r\n frete: [0, [Validators.min(0)]],\r\n frete_conta_comprador: [2, [Validators.required]]\r\n });\r\n\r\n this.adicionando = true;\r\n\r\n if (!isEmpty(this.regioes))\r\n this.resetForm(0);\r\n\r\n this.inicializar.subscribe(() => this.resetForm(0));\r\n }\r\n\r\n adicionar(nAttempts: number) {\r\n this.adicionando = true;\r\n let region_id = parseInt(this.freteForm.value.regiao);\r\n\r\n let region_name = this.regioes.find(r => r.region_id === region_id).region_name;\r\n let frete_conta_comprador = this.freteForm.value.frete_conta_comprador === '1';\r\n\r\n let frete: HoldingShipping = { id: 0, holding_id: this.holding_id, region_id, region_name, min_value: this.freteForm.value.frete_gratuito, shipping_cost: this.freteForm.value.frete, buyer_payer: frete_conta_comprador, is_active: true };\r\n this.fretes.push(frete);\r\n this.fretes.sort(sort_by([{ name: 'region_name' }]));\r\n\r\n this.fornecimentoService.freteAdicionar(frete).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success) {\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-fornecimento.frete.mensagens.sucesso.adicionar.corpo'));\r\n\r\n let n_frete = this.fretes.find(f => f.region_id === region_id);\r\n\r\n if (!isEmpty(n_frete))\r\n n_frete.id = response.result;\r\n\r\n this.resetForm(0);\r\n }\r\n else {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.frete.mensagens.erro.adicionar.corpo'));\r\n this.remover(region_id, 0);\r\n }\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.frete.mensagens.erro.adicionar.corpo'));\r\n return;\r\n }\r\n\r\n this.remover(region_id, 0);\r\n this.adicionar(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n mudarContaComprador() {\r\n if (this.freteForm.value.frete_conta_comprador !== '1')\r\n return;\r\n\r\n this.freteForm.patchValue({ frete_gratuito: 0, frete: 0 });\r\n }\r\n\r\n remover(region_id: number, nAttempts: number) {\r\n let frete = this.fretes.find(f => f.region_id === region_id);\r\n\r\n if (isEmpty(frete))\r\n return;\r\n\r\n var idx = this.fretes.indexOf(frete);\r\n this.fretes.splice(idx, 1);\r\n\r\n this.fornecimentoService.freteRemover(frete.region_id).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success)\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-fornecimento.frete.mensagens.sucesso.remover.corpo'));\r\n\r\n this.resetForm(0);\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5)\r\n {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.frete.mensagens.erro.remover.corpo'));\r\n return;\r\n }\r\n\r\n this.remover(region_id, ++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n resetForm(nAttempts: number) {\r\n this.freteForm.reset();\r\n this.freteForm.patchValue({ frete_gratuito: 0, frete: 0, frete_conta_comprador: '2' });\r\n\r\n let filtradas = this.regioesFiltradas;\r\n\r\n if (filtradas.length > 0)\r\n this.freteForm.patchValue({ regiao: filtradas[0].region_id });\r\n else {\r\n if (nAttempts < 5)\r\n setTimeout(() => this.resetForm(++nAttempts), 200);\r\n\r\n this.freteForm.patchValue({ regiao: 0 });\r\n return;\r\n }\r\n\r\n this.adicionando = false;\r\n }\r\n\r\n validarFreteGratuito() {\r\n if (this.freteForm.value.frete <= 0)\r\n this.freteForm.patchValue({ frete_gratuito: 0 });\r\n }\r\n\r\n\r\n get regioesFiltradas() {\r\n if (isEmpty(this.regioes))\r\n return [];\r\n\r\n return this.regioes.filter(r => this.fretes.filter(f => f.region_id === r.region_id).length <= 0).sort(sort_by([{ name: 'region_name' }]));\r\n }\r\n}\r\n", "
\r\n
\r\n
\r\n
\r\n
{{'part-manager.configurar-fornecimento.frete.colunas.regiao' | translate}}
\r\n
{{'part-manager.configurar-fornecimento.frete.colunas.conta-comprador' | translate}}
\r\n
{{'part-manager.configurar-fornecimento.frete.colunas.valor-frete' | translate}}
\r\n
{{'part-manager.configurar-fornecimento.frete.colunas.valor-minimo-gratis' | translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n R$\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n R$\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n @if (fretes?.length <= 0) {\r\n
\r\n {{'part-manager.configurar-fornecimento.frete.vazio' | translate}}\r\n
\r\n } @else {\r\n @for (frete of fretes; track frete) {\r\n
\r\n
{{ frete.region_name }}
\r\n
{{ (frete.buyer_payer ? 'elemento.generico-select.sim' : 'elemento.generico-select.nao') | translate }}
\r\n
{{ frete.shipping_cost | currency:'R$ ' }}
\r\n
{{ frete.min_value | currency:'R$ ' }}
\r\n
\r\n \r\n
\r\n
\r\n }\r\n }\r\n
\r\n
\r\n
\r\n
\r\n", "import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\r\n\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { AccountService } from '../../../account/account.service';\r\nimport { NotificationService } from '../../../_services/notification.service';\r\nimport { PartManagerConfigurarFornecimentoService } from '../../configurar-fornecimento/configurar-fornecimento.service';\r\n\r\nimport { ApiResponseModel } from 'app/_models/apiResponseModel';\r\nimport { Globals } from '../../../_models/globals';\r\nimport { HoldingDeliveryTime } from '../../_models/holdingDeliveryTime';\r\n\r\ndeclare const isEmpty: any;\r\ndeclare const sort_by: any;\r\n\r\n@Component({\r\n selector: 'app-configurar-prazo-entrega', templateUrl: './configurar-prazo-entrega.component.html', styleUrls: ['./configurar-prazo-entrega.component.scss'],\r\n standalone: false\r\n})\r\nexport class PartManagerConfigurarPrazoEntregaComponent implements OnInit\r\n{\r\n @Input() dados: { alterando: boolean, dias_pedido_fabrica: number, resposta_automatica: boolean };\r\n @Input() prazos: HoldingDeliveryTime[];\r\n @Input() prazos_entrega: any;\r\n @Input() inicializar: Subject;\r\n @Input() regioes: any;\r\n @Output() alterarGeral = new EventEmitter();\r\n\r\n adicionando: boolean;\r\n prazoForm: UntypedFormGroup;\r\n holding_id: number;\r\n\r\n constructor(\r\n private accountService: AccountService,\r\n private notificationService: NotificationService,\r\n private fornecimentoService: PartManagerConfigurarFornecimentoService,\r\n private globals: Globals,\r\n private fb: UntypedFormBuilder) {\r\n this.holding_id = this.accountService.obterUsuario().holding_id;\r\n\r\n this.prazos = [];\r\n this.prazos_entrega = [];\r\n this.regioes = [];\r\n }\r\n\r\n ngOnInit(): void {\r\n this.prazoForm = this.fb.group(\r\n {\r\n region_id: [0, [Validators.required, Validators.min(1)]],\r\n delivery_time_id: [0, [Validators.min(0)]]\r\n });\r\n\r\n this.adicionando = true;\r\n\r\n if (!isEmpty(this.regioes))\r\n this.resetForm(0);\r\n\r\n this.inicializar.subscribe(() => this.resetForm(0));\r\n }\r\n\r\n adicionar(nAttempts: number) {\r\n this.adicionando = true;\r\n let region_id = parseInt(this.prazoForm.value.region_id);\r\n let region_name = this.regioes.find(r => r.region_id === region_id).region_name;\r\n\r\n let delivery_time_id = parseInt(this.prazoForm.value.delivery_time_id);\r\n let delivery_time_name = this.prazos_entrega.find(p => p.delivery_time_id === delivery_time_id).delivery_time_name;\r\n\r\n let prazo: HoldingDeliveryTime = { id: 0, holding_id: this.holding_id, region_id, region_name, delivery_time_id: delivery_time_id, delivery_time_name: delivery_time_name, is_active: true };\r\n this.prazos.push(prazo);\r\n this.prazos.sort(sort_by([{ name: 'region_name' }]));\r\n\r\n this.fornecimentoService.prazoEntregaAdicionar(prazo).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success) {\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-fornecimento.prazo-entrega.mensagens.sucesso.adicionar.corpo'));\r\n\r\n let n_prazo = this.prazos.find(f => f.region_id === region_id);\r\n\r\n if (!isEmpty(n_prazo))\r\n n_prazo.id = response.result;\r\n\r\n this.resetForm(0);\r\n }\r\n else {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.prazo-entrega.mensagens.erro.adicionar.corpo'));\r\n this.remover(region_id, 0);\r\n }\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.prazo-entrega.mensagens.erro.adicionar.corpo'));\r\n return;\r\n }\r\n\r\n this.remover(region_id, 0);\r\n this.adicionar(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n alterar() {\r\n this.alterarGeral.emit({ diasPedidoFabrica: this.dados.dias_pedido_fabrica, respostaSemRevisao: this.dados.resposta_automatica, tipo: '-dias-pedido-fabrica' });\r\n }\r\n\r\n remover(region_id: number, nAttempts: number) {\r\n let prazo = this.prazos.find(f => f.region_id === region_id);\r\n\r\n if (isEmpty(prazo))\r\n return;\r\n\r\n var idx = this.prazos.indexOf(prazo);\r\n this.prazos.splice(idx, 1);\r\n\r\n this.fornecimentoService.prazoEntregaRemover(prazo.region_id).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success)\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-fornecimento.prazo-entrega.mensagens.sucesso.remover.corpo'));\r\n\r\n this.resetForm(0);\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.prazo-entrega.mensagens.erro.remover.corpo'));\r\n return;\r\n }\r\n\r\n this.remover(region_id, ++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n resetForm(nAttempts: number) {\r\n this.prazoForm.reset();\r\n this.prazoForm.patchValue({ delivery_time_id: 1 });\r\n\r\n let filtradas = this.regioesFiltradas;\r\n\r\n if (filtradas.length > 0)\r\n this.prazoForm.patchValue({ region_id: filtradas[0].region_id });\r\n else {\r\n if (nAttempts < 5)\r\n setTimeout(() => this.resetForm(++nAttempts), 200);\r\n\r\n this.prazoForm.patchValue({ region_id: 0 });\r\n return;\r\n }\r\n\r\n this.adicionando = false;\r\n }\r\n\r\n\r\n get alterando(): boolean {\r\n return this.dados.alterando;\r\n }\r\n\r\n get dias_pedido_fabrica() : string {\r\n return this.dados.dias_pedido_fabrica.toString();\r\n }\r\n\r\n set dias_pedido_fabrica(valor) {\r\n this.dados.dias_pedido_fabrica = parseInt(valor);\r\n }\r\n\r\n get regioesFiltradas() {\r\n if (isEmpty(this.regioes))\r\n return [];\r\n\r\n return this.regioes.filter(r =>\r\n this.prazos.filter(f => f.region_id === r.region_id).length <= 0).sort(sort_by([{ name: 'region_name' }]));\r\n }\r\n}\r\n", "
\r\n
\r\n
\r\n
\r\n
{{'part-manager.configurar-fornecimento.prazo-entrega.colunas.regiao' | translate}}
\r\n
{{'part-manager.configurar-fornecimento.prazo-entrega.colunas.prazo' | translate}}
\r\n
\r\n
\r\n \r\n {{'part-manager.configurar-fornecimento.prazo-entrega.colunas.pedido-fabrica.label' | translate}}\r\n \r\n\r\n \r\n\r\n \r\n \r\n {{ (dias_pedido_fabrica===\"0\" ? 'part-manager.configurar-fornecimento.prazo-entrega.colunas.pedido-fabrica.ne' : (dias_pedido_fabrica===\"1\" ? 'part-manager.configurar-fornecimento.prazo-entrega.colunas.pedido-fabrica.du' : 'part-manager.configurar-fornecimento.prazo-entrega.colunas.pedido-fabrica.dus')) | translate}}\r\n
\r\n @if (alterando) {\r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n @if (prazos?.length <= 0) {\r\n
\r\n {{'part-manager.configurar-fornecimento.prazo-entrega.vazio' | translate}}\r\n
\r\n } @else {\r\n @for (prazo of prazos; track prazo) {\r\n
\r\n
{{ prazo.region_name }}
\r\n
{{ prazo.delivery_time_name }}
\r\n
\r\n \r\n
\r\n
\r\n }\r\n }\r\n
\r\n
\r\n
\r\n
\r\n", "import { Component, OnInit } from '@angular/core';\r\n\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { Globals } from '../../_models/globals';\r\nimport { HoldingDeliveryTime } from '../_models/holdingDeliveryTime';\r\nimport { HoldingPaymentType } from '../_models/holdingPaymentType';\r\nimport { HoldingShipping } from '../_models/holdingShipping';\r\n\r\nimport { NotificationService } from '../../_services/notification.service';\r\nimport { PartManagerConfigurarFornecimentoService } from './configurar-fornecimento.service';\r\nimport { ApiResponseModel } from 'app/_models/apiResponseModel';\r\nimport { PaymentType } from 'app/_models/paymentType';\r\nimport { DeliveryTimeDetailed } from 'app/_models/deliveryTime';\r\n\r\ndeclare const isEmpty: any;\r\n\r\n@Component({\r\n selector: 'app-configurar-fornecimento', templateUrl: './configurar-fornecimento.component.html', styleUrls: ['./configurar-fornecimento.component.scss'],\r\n standalone: false\r\n})\r\nexport class PartManagerConfigurarFornecimentoComponent implements OnInit\r\n{\r\n active: number;\r\n geral_dados: { alterando: boolean, dias_pedido_fabrica: number, resposta_automatica: boolean };\r\n\r\n loading_ctr: number;\r\n loading: Subject = new Subject();\r\n inicializarFormaPagamento: Subject = new Subject();\r\n inicializarFrete: Subject = new Subject();\r\n inicializarPrazo: Subject = new Subject();\r\n\r\n formas: HoldingPaymentType[];\r\n formas_pagamento: any;\r\n fretes: HoldingShipping[];\r\n prazos: HoldingDeliveryTime[];\r\n prazos_entrega: any;\r\n regioes: any;\r\n\r\n constructor(\r\n private notificationService: NotificationService,\r\n private fornecimentoService: PartManagerConfigurarFornecimentoService,\r\n private globals: Globals,\r\n private ngxLoader: NgxUiLoaderService) {\r\n this.formas = [];\r\n this.fretes = [];\r\n this.prazos = [];\r\n this.geral_dados = { alterando: false, dias_pedido_fabrica: 0, resposta_automatica: false };\r\n }\r\n\r\n ngOnInit(): void {\r\n this.active = 1;\r\n this.loading_ctr = 0;\r\n this.loading.subscribe((valor) =>\r\n {\r\n if (valor)\r\n this.loading_ctr++;\r\n\r\n if (!valor || this.loading_ctr >= 4)\r\n this.ngxLoader.stopLoader('loader-principal');\r\n });\r\n\r\n this.carregarTela();\r\n }\r\n\r\n alterarGeral(param, nAttempts: number) {\r\n let diasPedidoFabrica: number = param.diasPedidoFabrica;\r\n let respostaSemRevisao: boolean = param.respostaSemRevisao;\r\n let tipo: string = param.tipo;\r\n\r\n this.geral_dados.alterando = true;\r\n\r\n this.fornecimentoService.geralDadosAlterar(diasPedidoFabrica, respostaSemRevisao).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success)\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-fornecimento.geral.mensagens.sucesso.alterar' + tipo + '.corpo'));\r\n\r\n this.geral_dados.alterando = false;\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.geral_dados.alterando = false;\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.geral.mensagens.erro.alterar' + tipo + '.corpo'));\r\n return;\r\n }\r\n\r\n this.alterarGeral(param, ++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n carregarFormaPagamento(nAttempts: number) {\r\n this.fornecimentoService.formaPagamentoCarregar().subscribe({\r\n next: (response: ApiResponseModel<{formas: HoldingPaymentType[], formasPagamento: PaymentType[] }>) => {\r\n if (!isEmpty(response) && response.success) {\r\n this.formas = response.result.formas;\r\n this.formas_pagamento = response.result.formasPagamento;\r\n this.inicializarFormaPagamento.next(true);\r\n this.loading.next(true);\r\n }\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.loading.next(false);\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.forma-pagamento.mensagens.erro.carregamento.corpo'));\r\n return;\r\n }\r\n\r\n this.carregarFormaPagamento(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n carregarFrete(nAttempts: number) {\r\n this.fornecimentoService.freteCarregar().subscribe({\r\n next: (response: ApiResponseModel<{fretes: HoldingShipping[], regioes: { region_id: number, region_name: string }[]}>) => {\r\n if (!isEmpty(response) && response.success) {\r\n this.fretes = response.result.fretes;\r\n this.regioes = response.result.regioes;\r\n this.inicializarFrete.next(true);\r\n\r\n this.loading_ctr++;\r\n this.loading.next(true);\r\n }\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.loading_ctr = 10;\r\n this.loading.next(false);\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.frete.mensagens.erro.carregamento.corpo'));\r\n return;\r\n }\r\n\r\n this.carregarFrete(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n carregarGeral(nAttempts: number) {\r\n this.fornecimentoService.geralCarregar().subscribe({\r\n next: (response: ApiResponseModel<{diasPedidoFabrica: number, respostaAutomatica: boolean}>) => {\r\n if (!isEmpty(response) && response.success) {\r\n this.geral_dados.alterando = false;\r\n this.geral_dados.dias_pedido_fabrica = response.result.diasPedidoFabrica;\r\n this.geral_dados.resposta_automatica = response.result.respostaAutomatica;\r\n\r\n this.loading_ctr++;\r\n this.loading.next(true);\r\n }\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.loading_ctr = 10;\r\n this.loading.next(false);\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.geral.mensagens.erro.carregamento.corpo'));\r\n return;\r\n }\r\n\r\n this.carregarGeral(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n carregarPrazoEntrega(nAttempts: number) {\r\n this.fornecimentoService.prazoEntregaCarregar().subscribe({\r\n next: (response: ApiResponseModel<{prazos: HoldingDeliveryTime[], prazosEntrega: DeliveryTimeDetailed[], regioes: {region_id: number, region_name: string}}>) => {\r\n if (!isEmpty(response) && response.success) {\r\n this.prazos = response.result.prazos;\r\n this.prazos_entrega = response.result.prazosEntrega;\r\n this.regioes = response.result.regioes;\r\n this.inicializarPrazo.next(true);\r\n\r\n this.loading_ctr++;\r\n this.loading.next(true);\r\n }\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.loading_ctr = 10;\r\n this.loading.next(false);\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-fornecimento.prazo-entrega.mensagens.erro.carregamento.corpo'));\r\n return;\r\n }\r\n\r\n this.carregarPrazoEntrega(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n carregarTela() {\r\n this.ngxLoader.startLoader('loader-principal');\r\n this.carregarFormaPagamento(0);\r\n this.carregarFrete(0);\r\n this.carregarGeral(0);\r\n this.carregarPrazoEntrega(0);\r\n }\r\n\r\n openTutorial() {\r\n window.open(\"https://partsfy.crisp.help/pt-br/article/como-configurar-meu-fornecimento-egc93r/?bust=1713223494930\", \"_blank\");\r\n }\r\n}\r\n", "
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n", "import { Injectable } from '@angular/core';\r\nimport { EMPTY } from 'rxjs';\r\n\r\nimport { AccountService } from 'app/account/account.service';\r\nimport { BaseService } from 'app/_services/base.service';\r\nimport { SettingsService } from 'app/_services/settings.service';\r\n\r\ndeclare const isEmpty: any;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PartManagerConfigurarRebateService extends BaseService\r\n{\r\n private _domain: string = '/part-manager/rebate-settings';\r\n\r\n constructor(private accountService: AccountService, private config: SettingsService) {\r\n super();\r\n }\r\n\r\n public adicionarIncentivo(holding_id_repairer, rebate) {\r\n if (isEmpty(this.usuarioLogado)) {\r\n this.accountService.logout();\r\n return EMPTY;\r\n }\r\n\r\n const holding_id_supplier = this.usuarioLogado.holding_id;\r\n const body = { holding_id_supplier, holding_id_repairer, rebate };\r\n\r\n return this.config.executePost({ url: `${this._domain}/repairer`, body });\r\n }\r\n\r\n public carregarDadosHolding() {\r\n return this.config.executeGet({ url: `${this._domain}` });\r\n }\r\n\r\n public removerIncentivo(holding_id_repairer) {\r\n return this.config.executeDelete({ url: `${this._domain}/repairer/${holding_id_repairer}` });\r\n }\r\n\r\n public salvar(rebate: number)\r\n {\r\n if (isEmpty(this.usuarioLogado)) {\r\n this.accountService.logout();\r\n return EMPTY;\r\n }\r\n\r\n const holding_id_supplier = this.usuarioLogado.holding_id;\r\n const body = { holding_id_supplier, holding_id_repairer: 0, rebate };\r\n\r\n return this.config.executePost({ url: `${this._domain}`, body });\r\n }\r\n}\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { formatPercent } from '@angular/common';\r\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\r\n\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\n\r\nimport { Globals } from '../../_models/globals';\r\nimport { User } from '../../_models/user';\r\n\r\nimport { AccountService } from '../../account/account.service';\r\nimport { BaseService } from '../../_services/base.service';\r\nimport { NotificationService } from '../../_services/notification.service';\r\nimport { PartManagerConfigurarRebateService } from './configurar-rebate.service';\r\nimport { ApiResponseModel } from 'app/_models/apiResponseModel';\r\nimport { RebateSettings, RebateSettingsRepairer } from './_models/rebateSettings';\r\n\r\ndeclare const $: any;\r\ndeclare const isEmpty: any;\r\ndeclare const sort_by: any;\r\n\r\n@Component({\r\n selector: 'app-configurar-rebate', templateUrl: './configurar-rebate.component.html', styleUrls: ['./configurar-rebate.component.scss'],\r\n standalone: false\r\n})\r\nexport class PartManagerConfigurarRebateComponent implements OnInit\r\n{\r\n rebate_inativo: boolean;\r\n visivel: boolean = false;\r\n oficinas: RebateSettingsRepairer[];\r\n rebateForm: UntypedFormGroup;\r\n rebateOficinaForm: UntypedFormGroup;\r\n usuarioLocal: User;\r\n\r\n constructor(\r\n private accountService: AccountService,\r\n private baseService: BaseService,\r\n private notificationService: NotificationService,\r\n private rebateService: PartManagerConfigurarRebateService,\r\n private globals: Globals,\r\n private fb: UntypedFormBuilder,\r\n private ngxLoader: NgxUiLoaderService) { }\r\n\r\n ngOnInit(): void {\r\n this.usuarioLocal = this.baseService.usuarioLocal;\r\n\r\n if (isEmpty(this.usuarioLocal)) {\r\n this.accountService.logout();\r\n return;\r\n }\r\n\r\n this.rebate_inativo = true;\r\n this.oficinas = [];\r\n\r\n this.rebateForm = this.fb.group({ rebate: [1, [Validators.max(20), Validators.min(1)]] });\r\n this.rebateOficinaForm = this.fb.group({ holding_id: [0, [Validators.required]], rebate: [1, [Validators.max(20), Validators.min(1)]] });\r\n this.carregarTela(0);\r\n }\r\n\r\n carregarTela(nAttempts: number) {\r\n this.ngxLoader.startLoader('loader-principal');\r\n\r\n this.rebateService.carregarDadosHolding().subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success) {\r\n let rebate = response.result.rebate;\r\n this.rebateForm.patchValue({ rebate: rebate });\r\n this.rebateForm.markAsDirty();\r\n this.rebate_inativo = isEmpty(rebate) || rebate < 1;\r\n\r\n this.oficinas = response.result.oficinas;\r\n\r\n if (this.oficinasNaoSelecionadas.length > 0) {\r\n this.rebateOficinaForm.patchValue({ holding_id: this.oficinasNaoSelecionadas[0].holdingId });\r\n this.rebateOficinaForm.markAsDirty();\r\n }\r\n }\r\n\r\n this.visivel = true;\r\n this.ngxLoader.stopLoader('loader-principal');\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.ngxLoader.stopLoader('loader-principal');\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-rebate.mensagens.erro.carregamento.corpo'));\r\n return;\r\n }\r\n\r\n this.carregarTela(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n async incentivo_AdicionarOficina(nAttempts: number, ignorarConfirm: boolean) {\r\n if (this.rebateOficinaForm.dirty && this.rebateOficinaForm.valid) {\r\n let oficina = this.oficinas.find(o => o.holdingId === parseInt(this.rebateOficinaForm.value.holding_id));\r\n\r\n if (isEmpty(oficina))\r\n return;\r\n\r\n let rebate = this.rebateOficinaForm.value.rebate;\r\n\r\n if (rebate > 1 && !ignorarConfirm) {\r\n let increase = formatPercent(((rebate - 1) / 100), 'pt-BR', '1.1-2');\r\n let confirmMessage = this.globals.translate('part-manager.configurar-rebate.area-incentivo.mensagens.confirm').replace('x%', `${increase}`);\r\n confirmMessage = confirmMessage.replace('{system}', this.globals.translate('geral.sistema'));\r\n\r\n if (!(await this.notificationService.showConfirmationDialog(confirmMessage, null, false)))\r\n return;\r\n }\r\n\r\n oficina.rebate = rebate;\r\n\r\n this.rebateService.adicionarIncentivo(oficina.holdingId, rebate).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success) {\r\n const newHoldingId = $('.oficinas').val();\r\n this.rebateOficinaForm.patchValue({ rebate: 1, holding_id: newHoldingId });\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-rebate.area-incentivo.mensagens.sucesso.adicionar-incentivo.corpo'));\r\n }\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-rebate.area-incentivo.mensagens.erro.adicionar-incentivo.corpo'));\r\n this.carregarTela(0);\r\n return;\r\n }\r\n\r\n this.incentivo_AdicionarOficina(++nAttempts, true);\r\n }\r\n });\r\n }\r\n }\r\n\r\n async incentivo_RemoverOficina(holding_id_repairer: number, nAttempts: number, ignoreConfirmation: boolean = false) {\r\n if (!ignoreConfirmation && !(await this.notificationService.showConfirmationDialog('part-manager.configurar-rebate.area-incentivo.mensagens.confirm-remove')))\r\n return;\r\n\r\n let oficina = this.oficinas.find(o => o.holdingId === holding_id_repairer);\r\n\r\n if (isEmpty(oficina))\r\n return;\r\n\r\n oficina.rebate = null;\r\n\r\n this.rebateService.removerIncentivo(holding_id_repairer).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success)\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-rebate.area-incentivo.mensagens.sucesso.remover-incentivo.corpo'));\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-rebate.area-incentivo.mensagens.erro.remover-incentivo.corpo'));\r\n this.carregarTela(0);\r\n return;\r\n }\r\n\r\n this.incentivo_RemoverOficina(holding_id_repairer, ++nAttempts, true);\r\n }\r\n });\r\n }\r\n\r\n async salvar(nAttempts: number, ignorarConfirm: boolean) {\r\n if (this.rebateForm.dirty && this.rebateForm.valid) {\r\n let rebate = this.rebateForm.value.rebate;\r\n\r\n if (rebate > 1 && !ignorarConfirm) {\r\n let increase = formatPercent(((rebate - 1) / 100), 'pt-BR', '1.1-2');\r\n let confirmMessage = this.globals.translate('part-manager.configurar-rebate.mensagens.confirm').replace('x%', `${increase}`);\r\n confirmMessage = confirmMessage.replace('{system}', this.globals.translate('geral.sistema'));\r\n\r\n if (!(await this.notificationService.showConfirmationDialog(confirmMessage, null, false)))\r\n return;\r\n }\r\n\r\n this.ngxLoader.startLoader('loader-principal');\r\n\r\n this.rebateService.salvar(rebate).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (!isEmpty(response) && response.success)\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.configurar-rebate.mensagens.sucesso.salvar.corpo'));\r\n\r\n this.ngxLoader.stopLoader('loader-principal');\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.ngxLoader.stopLoader('loader-principal');\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.configurar-rebate.mensagens.erro.salvar.corpo'));\r\n return;\r\n }\r\n\r\n this.salvar(++nAttempts, true);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n get oficinasNaoSelecionadas() {\r\n if (isEmpty(this.oficinas))\r\n return [];\r\n\r\n return this.oficinas.filter(o => isEmpty(o.rebate) || o.rebate < 1).sort(sort_by({ name: 'fantasy_name' }));\r\n }\r\n\r\n get oficinasSelecionadas() {\r\n if (isEmpty(this.oficinas))\r\n return [];\r\n\r\n return this.oficinas.filter(o => !isEmpty(o.rebate) && o.rebate >= 1).sort(sort_by({ name: 'fantasy_name' }));\r\n }\r\n}\r\n", "
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n @if (rebate_inativo && visivel) {\r\n
\r\n \r\n {{ 'part-manager.configurar-rebate.inativo.botao' | translate}}\r\n
\r\n }\r\n\r\n @if (!rebate_inativo && usuarioLocal.plan === 2) {\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n\r\n @if (!rebate_inativo && usuarioLocal.plan === 3) {\r\n
\r\n
\r\n {{ 'part-manager.configurar-rebate.area-incentivo.titulo' | translate}}\r\n {{ 'part-manager.configurar-rebate.area-incentivo.subtitulo' | translate}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{ 'part-manager.configurar-rebate.area-incentivo.tabela.oficina' | translate}}\r\n
\r\n
\r\n {{ 'part-manager.configurar-rebate.area-incentivo.tabela.rebate' | translate}} {{ 'part-manager.configurar-rebate.valor-padrao.min-max' | translate}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n @if (oficinasSelecionadas?.length > 0) {\r\n
\r\n \r\n @for (oficina of oficinasSelecionadas; track oficina) {\r\n
\r\n
{{ oficina.fantasyName }}
\r\n
{{ oficina.rebate | currency:' '}}%
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n } @else {\r\n
\r\n
\r\n {{ 'part-manager.configurar-rebate.area-incentivo.vazio' | translate}}\r\n
\r\n
\r\n }\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n", "import { Component, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { SupportGerenciarVendedoresInternoComponent } from '../../support/_componentes/gerenciar-vendedores/gerenciar-vendedores-interno.component';\r\nimport { BaseService } from '../../_services/base.service';\r\n\r\n@Component({\r\n selector: 'app-gerenciar-vendedores', templateUrl: './gerenciar-vendedores.component.html', styleUrls: ['./gerenciar-vendedores.component.scss'],\r\n standalone: false\r\n})\r\nexport class PartManagerGerenciarVendedoresComponent implements OnInit\r\n{\r\n @ViewChild(SupportGerenciarVendedoresInternoComponent) interno: SupportGerenciarVendedoresInternoComponent;\r\n\r\n holdingSelecionada: any;\r\n holdingSelecionadaId: number;\r\n\r\n constructor(private baseService: BaseService) { }\r\n\r\n ngOnInit(): void\r\n {\r\n this.carregarTela();\r\n }\r\n\r\n carregarTela()\r\n {\r\n let usuarioLocal = this.baseService.usuarioLocal;\r\n this.holdingSelecionada = { id: usuarioLocal.holding_id, is_billable: usuarioLocal.is_billable };\r\n this.holdingSelecionadaId = this.holdingSelecionada.id;\r\n\r\n setTimeout(() => this.interno.listarEmpresasAssociadas(this.holdingSelecionada.id, this.holdingSelecionada.is_billable), 500);\r\n }\r\n\r\n exportarCSV()\r\n {\r\n this.interno.exportarCSV();\r\n }\r\n}\r\n", "
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n", "import { Injectable } from '@angular/core';\r\nimport { EMPTY } from 'rxjs';\r\n\r\nimport { AccountService } from 'app/account/account.service';\r\nimport { BaseService } from 'app/_services/base.service';\r\nimport { SettingsService } from 'app/_services/settings.service';\r\n\r\ndeclare const isEmpty: any;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PartManagerRelatorioFinanceiroService extends BaseService\r\n{\r\n private _domain: string = '/part-manager/reports';\r\n\r\n constructor(private accountService: AccountService, private config: SettingsService) {\r\n super();\r\n }\r\n\r\n public carregarDadosHolding() {\r\n return this.config.executeGet({ url: `${this._domain}/info` });\r\n }\r\n\r\n public carregarRelatorio(ano_mes: string) {\r\n if (!ano_mes)\r\n return this.config.executeGet({ url: `${this._domain}` });\r\n\r\n return this.config.executeGet({ url: `${this._domain}/${ano_mes}` });\r\n }\r\n\r\n public contestar(pecas, motivo, ano_mes) {\r\n if (isEmpty(this.usuarioLogado)) {\r\n this.accountService.logout();\r\n return EMPTY;\r\n }\r\n\r\n const user_company_id = this.usuarioLogado.user_company_id;\r\n const body = { user_company_id, pecas, motivo, ano_mes };\r\n\r\n return this.config.executePost({ url: `${this._domain}/contestacoes`, body });\r\n }\r\n\r\n public listarMeses() {\r\n const quantity = 12;\r\n return this.config.executeGet({ url: `${this._domain}/months/${quantity}` });\r\n }\r\n}\r\n", "import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\n\r\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\r\nimport { NgxUiLoaderService } from 'ngx-ui-loader';\r\n\r\nimport { GeneralService } from 'app/_services/general.service';\r\nimport { NotificationService } from 'app/_services/notification.service';\r\nimport { SettingsService } from 'app/_services/settings.service';\r\nimport { PartManagerRelatorioFinanceiroService } from './relatorio-financeiro.service';\r\n\r\nimport { ApiResponseModel } from 'app/_models/apiResponseModel';\r\nimport { Globals } from 'app/_models/globals';\r\nimport { NotaFiscal, PedidoNotaFiscal } from 'app/_componentes/notafiscal/_models/pedidonotafiscal';\r\nimport { SweetAlertParams } from 'app/_models/notificationParams.model';\r\n\r\ndeclare const $: any;\r\ndeclare const isEmpty: any;\r\ndeclare const numberToPtBr: any;\r\ndeclare const numberToReal: any;\r\ndeclare const obterNomeMesAno: any;\r\n\r\n@Component({\r\n selector: 'app-relatorio-financeiro', templateUrl: './relatorio-financeiro.component.html', styleUrls: ['./relatorio-financeiro.component.scss'],\r\n standalone: false\r\n})\r\nexport class PartManagerRelatorioFinanceiroComponent implements OnInit\r\n{\r\n @ViewChild('templateNotasFiscais') templateNotasFiscais: TemplateRef;\r\n modalNFRef: BsModalRef;\r\n\r\n lista: any;\r\n lista_participando: any;\r\n lista_pecas_selecionadas: number[];\r\n pedido_notas: PedidoNotaFiscal;\r\n mes_selecionado: number;\r\n meses: any;\r\n payment_type: number;\r\n periodo_selecionado: string;\r\n tem_cashback: boolean;\r\n\r\n custo_por_cotacao: number;\r\n custo_comissao_total: number;\r\n custo_pelo_pedido_total: number;\r\n custo_total: number;\r\n mensalidade: number;\r\n reembolso: number;\r\n repasse_total: number;\r\n total_oportunidades: number;\r\n valor_pedido_total: number;\r\n\r\n constructor(\r\n private generalService: GeneralService,\r\n private notificationService: NotificationService,\r\n private relatorioService: PartManagerRelatorioFinanceiroService,\r\n private settingService: SettingsService,\r\n private globals: Globals,\r\n private modalService: BsModalService,\r\n private ngxLoader: NgxUiLoaderService) {\r\n this.lista = [];\r\n this.lista_participando = [];\r\n this.lista_pecas_selecionadas = [];\r\n this.pedido_notas = { can_upload_nf: false, notasFiscais: [], quotation_id: 0 };\r\n this.mes_selecionado = null;\r\n this.meses = [];\r\n this.payment_type = 3;\r\n this.periodo_selecionado = '';\r\n this.tem_cashback = true;\r\n\r\n this.custo_por_cotacao = 2;\r\n this.custo_comissao_total = 0;\r\n this.custo_pelo_pedido_total = 0;\r\n this.custo_total = 0;\r\n this.mensalidade = 0;\r\n this.reembolso = 0;\r\n this.repasse_total = 0;\r\n this.total_oportunidades = 0;\r\n this.valor_pedido_total = 0;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.carregarDadosHolding(0);\r\n this.carregarRelatorio(0);\r\n this.listarMeses(0);\r\n\r\n window.onafterprint = function () {\r\n $('html,body').css('height', 'auto')\r\n }\r\n }\r\n\r\n abrirMaisDetalhes(item) {\r\n console.log(item);\r\n var imposto = item.taxa_fornecedor;\r\n var diferenca = item.valor_pedido - item.valor_pedido_desconto_original;\r\n var valor_imposto = diferenca * item.taxa_fornecedor / 100;\r\n var repasse = this.calcularRepasse(item);\r\n\r\n //var lucro_extra = parseFloat((recebeu_mais - repasse).toFixed(2));\r\n\r\n var html = \"
\";\r\n\r\n if (diferenca > 0) {\r\n html += \"
\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.legend.cashback') + \"\";\r\n html += \"
\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.valor-peca') + \" \" + numberToReal(item.valor_pedido_desconto_original) + \"
\";\r\n html += \"
\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.valor-pago') + \" \" + numberToReal(item.valor_pedido) + \"
\";\r\n html += \"
\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.diferenca') + \" \" + numberToReal(diferenca) + \"
\";\r\n html += \"
\";\r\n html += \"
\";\r\n html += \"\";\r\n html += \"\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.imposto') + \" (\" + numberToPtBr(imposto) + \"%): \" + numberToReal(valor_imposto);\r\n html += \"
\";\r\n html += \"
(\" + numberToReal(diferenca) + \" x \" + numberToPtBr(imposto) + \"% = \" + numberToReal(valor_imposto) + \")
\";\r\n html += \"
\";\r\n html += \"
\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.repasse') + \" \" + numberToReal(repasse) + \"
\";\r\n\r\n html += \"
\";\r\n html += \"
\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.mensagem-consolidada.p1') + \"\" + numberToReal(diferenca) + \"\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.mensagem-consolidada.p2') + \"\" + numberToReal(repasse) + \"\" + \"
\";\r\n\r\n //if (lucro_extra > 0.05)\r\n //{\r\n // html += \"
\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.lucro-extra') + \" \" + numberToReal(lucro_extra) + \"
\";\r\n //}\r\n\r\n html += \"
\";\r\n } else {\r\n html += \"
\" + this.globals.translate('part-manager.relatorio-financeiro.lista.detalhes.legend.rebate') + \" \" + numberToReal(repasse) + \"
\";\r\n }\r\n\r\n html += \"
\";\r\n\r\n let params: SweetAlertParams = {\r\n title: item.veiculo,\r\n notTranslateTitle: true,\r\n message: html,\r\n isHtml: true,\r\n icon: 'warning'\r\n }\r\n\r\n this.notificationService.showInfoWithoutButtons(params)\r\n }\r\n\r\n calcularRepasse(item) {\r\n var repasse = !item.tem_cashback ? 0 : item.cashback_comprador + item.cashback_partsfy;\r\n\r\n return repasse;\r\n }\r\n\r\n carregarDadosHolding(nAttempts: number) {\r\n this.ngxLoader.startLoader('loader-principal');\r\n\r\n this.relatorioService.carregarDadosHolding().subscribe({\r\n next: (response: ApiResponseModel<{ custoCotacao: number, tipoPedido: number, mensalidade: number }>) => {\r\n if (response && response.success) {\r\n this.custo_por_cotacao = response.result.custoCotacao;\r\n this.payment_type = response.result.tipoPedido;\r\n this.mensalidade = response.result.mensalidade;\r\n }\r\n },\r\n error: (error: any) => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.relatorio-financeiro.mensagens.erro.carregamento-dados-holding.corpo'));\r\n this.ngxLoader.stopLoader('loader-principal');\r\n return;\r\n }\r\n\r\n this.carregarDadosHolding(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n carregarRelatorio(nAttempts: number)\r\n {\r\n this.ngxLoader.startLoader('loader-principal');\r\n\r\n this.relatorioService.carregarRelatorio(this.mes_selecionado?.toString()).subscribe({\r\n next: (response: ApiResponseModel<{ lista: any, reembolso: number}>) => {\r\n if (response && response.success) {\r\n this.lista_participando = response.result.lista;\r\n this.reembolso = response.result.reembolso;\r\n\r\n this.definirRebate();\r\n this.setTotals();\r\n }\r\n\r\n this.ngxLoader.stopLoader('loader-principal');\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.ngxLoader.stopLoader('loader-principal');\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.relatorio-financeiro.mensagens.erro.carregamento-relatorio.corpo'));\r\n return;\r\n }\r\n\r\n this.carregarRelatorio(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n contestacao_Enviar(pedido, motivo: string, nAttempts: number)\r\n {\r\n let contestacaoInicial = pedido.contestacao;\r\n let idsPecasSelecionadas = this.lista_pecas_selecionadas;\r\n let pecasSelecionadas = idsPecasSelecionadas.map(item_id => {\r\n let peca = pedido.pecas.find(p => p.item_id == item_id);\r\n peca.contestacao_aprovada = 0;\r\n return { item_id: peca.item_id, valor_cashback: peca.valor_cashback, valor_comissao: peca.valor_comissao, valor_pedido: peca.valor_pedido };\r\n });\r\n\r\n pedido.contestacao = 1;\r\n\r\n this.relatorioService.contestar(pecasSelecionadas, motivo, this.mes_selecionado).subscribe({\r\n next: (response: ApiResponseModel) => {\r\n if (response && response.success) {\r\n this.notificationService.showSuccessToastr(this.globals.translate('part-manager.relatorio-financeiro.mensagens.sucesso.contestar.corpo'));\r\n }\r\n },\r\n error: error =>\r\n {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5)\r\n {\r\n pedido.contestacao = contestacaoInicial;\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.relatorio-financeiro.mensagens.erro.contestar.corpo'));\r\n return;\r\n }\r\n\r\n this.contestacao_Enviar(pedido, motivo, ++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n contestacao_ListarPecasSelecionadas() {\r\n let checkboxes = $('[name=\"rf-peca\"]');\r\n let pecasSelecionadas = [];\r\n\r\n for (var i = 0, n = checkboxes.length; i < n; i++) {\r\n let check = $(checkboxes[i]);\r\n\r\n if (check.is(':checked')) {\r\n let item_id = check.attr('itemId');\r\n pecasSelecionadas.push(item_id);\r\n }\r\n }\r\n\r\n return pecasSelecionadas;\r\n }\r\n\r\n contestacao_VerificarPecaSelecionada() {\r\n return this.contestacao_ListarPecasSelecionadas().length > 0;\r\n }\r\n\r\n definirRebate() {\r\n this.lista_participando.forEach(item => {\r\n item.tem_rebate_extra = item.rebate_percentage > 0;\r\n item.comissao_extra = item.rebate_percentage;\r\n });\r\n }\r\n\r\n async exibirPecas(pedido) {\r\n let hoje = new Date();\r\n let primeiroDiaMesPassado = new Date(hoje.getFullYear(), hoje.getMonth() - 1, 1);\r\n\r\n let ano_mes_selec = (isEmpty(this.mes_selecionado) ? this.meses[0].ano_mes : this.mes_selecionado);\r\n\r\n let ano_selec = ano_mes_selec.toString().substring(0, 4);\r\n let mes_selec = ano_mes_selec.toString().substring(4, 6);\r\n\r\n let periodo_selec = new Date(parseInt(ano_selec), parseInt(mes_selec), 0);\r\n let mes_permitido = primeiroDiaMesPassado <= periodo_selec;\r\n\r\n this.lista_pecas_selecionadas = [];\r\n let podeContestar = pedido.pecas.some(p => p.contestacao_aprovada === null) && mes_permitido; // mes atual ou passado\r\n let verColunaContestacao = pedido.contestacao > 0 || podeContestar;\r\n let html = \"\";\r\n\r\n html += \"
\";\r\n\r\n html += '
';\r\n\r\n html += '
';\r\n html += '
';\r\n html += '
' + this.globals.translate('part-manager.relatorio-financeiro.lista.pecas.peca') + '
';\r\n html += '
' + this.globals.translate('part-manager.relatorio-financeiro.lista.pecas.valor-pedido') + '
';\r\n html += '
' + this.globals.translate('part-manager.relatorio-financeiro.lista.pecas.valor-comissao') + '
';\r\n html += '
' + this.globals.translate('part-manager.relatorio-financeiro.lista.pecas.valor-cashback') + '
';\r\n\r\n if (verColunaContestacao) {\r\n html += `
`;\r\n\r\n if (podeContestar) {\r\n html += '
';\r\n }\r\n\r\n html += '
';\r\n }\r\n\r\n html += '
';\r\n\r\n html += '
';\r\n\r\n for (var i = 0; i <= pedido.pecas.length - 1; i++) {\r\n let peca = pedido.pecas[i];\r\n\r\n html += '
';\r\n\r\n html += '
' + peca.peca + '
';\r\n html += '
' + peca.valor_pedido_formatado + '
';\r\n html += '
' + peca.valor_comissao_formatado + '
';\r\n html += '
' + peca.valor_cashback_formatado + '
';\r\n\r\n if (verColunaContestacao) {\r\n html += `
`;\r\n\r\n if (peca.contestacao_aprovada === null && podeContestar)\r\n html += '
';\r\n else if (peca.contestacao_aprovada === 1)\r\n html += '
' + this.globals.translate('part-manager.relatorio-financeiro.lista.pecas.status.aprovada') + '
';\r\n else if (peca.contestacao_aprovada === 0)\r\n html += '
' + this.globals.translate('part-manager.relatorio-financeiro.lista.pecas.status.aguardando') + '
';\r\n\r\n html += '
';\r\n }\r\n\r\n html += '
';\r\n }\r\n\r\n html += '
';\r\n\r\n html += '
';\r\n\r\n let params: SweetAlertParams = {\r\n title: (this.settingService.isMercadoPartsfy(pedido.veiculo) ? '' : '#' + pedido.order_id + ' - ') + pedido.veiculo,\r\n notTranslateTitle: true,\r\n customClass: { input: 'swal-hidden' },\r\n showConfirmButton: podeContestar,\r\n cancelButtonText: 'elemento.generico-botao.fechar',\r\n confirmButtonText: 'part-manager.relatorio-financeiro.botao.contestar',\r\n message: html,\r\n isHtml: true,\r\n bigSwall: true,\r\n footer: '
',\r\n input: 'textarea',\r\n inputValidator: () => {\r\n if (!this.contestacao_VerificarPecaSelecionada()) {\r\n return this.globals.translate('part-manager.relatorio-financeiro.lista.pecas.obrigatorio.peca');\r\n }\r\n }\r\n }\r\n\r\n this.notificationService.showConfirm(params).then((result) => {\r\n if (result.isConfirmed) {\r\n this.lista_pecas_selecionadas = this.contestacao_ListarPecasSelecionadas();\r\n\r\n let paramsMotivo: SweetAlertParams = {\r\n title: 'part-manager.relatorio-financeiro.lista.pecas.defina-motivo',\r\n input: 'textarea',\r\n inputValidator: (value) => {\r\n if (!value) {\r\n return this.globals.translate('part-manager.relatorio-financeiro.lista.pecas.obrigatorio.motivo');\r\n }\r\n }\r\n }\r\n\r\n this.notificationService.showConfirm(paramsMotivo).then((result) => {\r\n let motivo = $('.swal2-textarea').val();\r\n\r\n if (result.isDismissed || isEmpty(motivo))\r\n return;\r\n\r\n this.contestacao_Enviar(pedido, motivo, 0);\r\n });\r\n }\r\n });\r\n }\r\n\r\n exportarCSV() {\r\n if (!this.lista_participando || this.lista_participando.length === 0)\r\n return;\r\n\r\n let payment_type = this.payment_type;\r\n let tem_cashback = this.tem_cashback;\r\n\r\n const cabecalhoCotacaoPedido = (payment_type !== 2) ? 'part-manager.relatorio-financeiro.lista.cabecalho.pedido' : 'part-manager.relatorio-financeiro.lista.cabecalho.cotacao';\r\n\r\n let separador = ';';\r\n let csvString =\r\n '#' + separador +\r\n this.globals.translate(cabecalhoCotacaoPedido).toString().removeAccent() + separador +\r\n this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.data').toString().removeAccent() + separador +\r\n this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.oficina').toString().removeAccent() + separador +\r\n this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.cnpj').toString().removeAccent() + separador +\r\n this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.veiculo').toString().removeAccent();\r\n\r\n if (payment_type !== 2)\r\n csvString += separador + this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.valor-pedido').toString().removeAccent();\r\n\r\n if (payment_type === 1)\r\n csvString += separador + this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.custo-comissao').toString().removeAccent() + ' (' + this.custo_por_cotacao + '%)';\r\n\r\n if (payment_type > 2)\r\n csvString += separador + this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.custo-pedido').toString().removeAccent();\r\n\r\n if (tem_cashback)\r\n csvString += separador + this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.custo-cashback.titulo').toString().removeAccent();\r\n\r\n csvString += '\\n';\r\n\r\n $.each(this.lista_participando, function (i, item) {\r\n csvString +=\r\n (i + 1) + separador +\r\n (item.order_id) + separador +\r\n (item.data_formatada) + separador +\r\n (item.oficina.removeAccent()) + separador +\r\n (item.cnpj_formatado) + separador +\r\n (item.veiculo.removeAccent());\r\n\r\n if (payment_type !== 2)\r\n csvString += separador + (item.valor_pedido_formatado);\r\n\r\n if (payment_type === 1)\r\n csvString += separador + (item.custo_comissao_formatado);\r\n\r\n if (payment_type > 2)\r\n csvString += separador + (item.custo_pelo_pedido_formatado);\r\n\r\n if (tem_cashback && item.repasse > 0)\r\n csvString += separador + ('R$' + numberToPtBr(item.repasse));\r\n\r\n csvString += '\\n';\r\n });\r\n\r\n let filename = \"relatorio_\" + (isEmpty(this.mes_selecionado) ? this.meses[0].ano_mes : this.mes_selecionado) + \".csv\";\r\n\r\n var a = $('', { style: 'display:none', href: 'data:text/csv;charset=utf-8,' + encodeURIComponent(csvString), download: filename }).appendTo('body');\r\n a[0].click();\r\n a.remove();\r\n }\r\n\r\n listarMeses(nAttempts: number) {\r\n this.relatorioService.listarMeses().subscribe({\r\n next: (response: ApiResponseModel<{ months: { month: number, year: number }[]}>) => {\r\n if (response && response.success) {\r\n if (isEmpty(response.result))\r\n return;\r\n\r\n this.meses = response.result.months.map(m => {\r\n let ano_mes = parseInt(m.year.toString() + m.month.toString().padStart(2, '0'));\r\n return { ano_mes: ano_mes, nome: obterNomeMesAno(ano_mes) };\r\n });\r\n\r\n if (this.meses.length > 0 && isEmpty(this.periodo_selecionado))\r\n this.periodo_selecionado = this.meses[0].nome;\r\n }\r\n },\r\n error: error => {\r\n nAttempts = nAttempts || 1;\r\n console.log(error, nAttempts);\r\n\r\n if (nAttempts >= 5) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.relatorio-financeiro.mensagens.erro.carregamento-meses.corpo'));\r\n return;\r\n }\r\n\r\n this.listarMeses(++nAttempts);\r\n }\r\n });\r\n }\r\n\r\n imprimir($event) {\r\n this.ngxLoader.startLoader('loader-principal');\r\n $event.preventDefault();\r\n\r\n if (!this.lista_participando || this.lista_participando.length === 0)\r\n return;\r\n\r\n let payment_type = this.payment_type;\r\n let tem_cashback = this.tem_cashback;\r\n\r\n let jsonData = [];\r\n const headers = this.imprimirGetHeaders();\r\n\r\n $.each(this.lista_participando, function (i, item) {\r\n let row = { };\r\n row['#'] = (i + 1);\r\n row[headers.cabecalhoPedido] = (item.order_id);\r\n row[headers.cabecalhoData] = (item.data_formatada);\r\n row[headers.cabecalhoOficina] = (item.oficina.removeAccent());\r\n row[headers.cabecalhoCnpj] = (item.cnpj_formatado);\r\n row[headers.cabecalhoVeiculo] = (item.veiculo.removeAccent());\r\n\r\n if (payment_type !== 2)\r\n row[headers.cabecalhoValorPedido] = (item.valor_pedido_formatado);\r\n\r\n if (payment_type === 1)\r\n row[headers.cabecalhoCustoComissao] = (item.custo_comissao_formatado);\r\n\r\n if (payment_type > 2)\r\n row[headers.cabecalhoCustoPedido] = (item.custo_pelo_pedido_formatado);\r\n\r\n if (tem_cashback)\r\n row[headers.cabecalhoCustoCashback] = item.repasse > 0 ? ('R$' + numberToPtBr(item.repasse)) : 'R$ 0,00';\r\n\r\n jsonData.push(row);\r\n });\r\n\r\n const footer = this.imprimirGetFooter(payment_type, tem_cashback);\r\n jsonData.push(footer);\r\n\r\n let printPageData = {\r\n type: 'print-rel-financeiro',\r\n header: $('.app-header > div:not(.no-print)')[0].outerHTML,\r\n data: jsonData,\r\n footer: $('.sumario')[0].outerHTML\r\n };\r\n\r\n this.generalService.printPageData = printPageData;\r\n\r\n $('#printView').attr('src', '/imprimir');\r\n this.ngxLoader.stopLoader('loader-principal');\r\n }\r\n\r\n imprimirGetFooter(payment_type: number, tem_cashback: boolean) {\r\n const headers = this.imprimirGetHeaders();\r\n\r\n let row = { };\r\n row['#'] = '';\r\n row[headers.cabecalhoPedido] = '';\r\n row[headers.cabecalhoData] = '';\r\n row[headers.cabecalhoOficina] = '';\r\n row[headers.cabecalhoCnpj] = '';\r\n row[headers.cabecalhoVeiculo] = '';\r\n\r\n if (payment_type !== 2)\r\n row[headers.cabecalhoValorPedido] = numberToReal(this.valor_pedido_total);\r\n\r\n if (payment_type === 1)\r\n row[headers.cabecalhoCustoComissao] = numberToReal(this.custo_comissao_total);\r\n\r\n if (payment_type > 2)\r\n row[headers.cabecalhoCustoPedido] = numberToReal(this.custo_pelo_pedido_total);\r\n\r\n if (tem_cashback)\r\n row[headers.cabecalhoCustoCashback] = numberToReal(this.repasse_total);\r\n\r\n return row;\r\n }\r\n\r\n imprimirGetHeaders() {\r\n const cabecalhoCotacaoPedido = (this.payment_type !== 2) ? 'part-manager.relatorio-financeiro.lista.cabecalho.pedido' : 'part-manager.relatorio-financeiro.lista.cabecalho.cotacao';\r\n\r\n let cabecalhoPedido = this.globals.translate(cabecalhoCotacaoPedido).toString().removeAccent();\r\n let cabecalhoData = this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.data').toString().removeAccent();\r\n let cabecalhoOficina = this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.oficina').toString().removeAccent();\r\n let cabecalhoCnpj = this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.cnpj').toString().removeAccent();\r\n let cabecalhoVeiculo = this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.veiculo').toString().removeAccent();\r\n let cabecalhoValorPedido = this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.valor-pedido').toString().removeAccent();\r\n let cabecalhoCustoComissao = this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.custo-comissao').toString().removeAccent();\r\n let cabecalhoCustoPedido = this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.custo-pedido').toString().removeAccent();\r\n let cabecalhoCustoCashback = this.globals.translate('part-manager.relatorio-financeiro.lista.cabecalho.custo-cashback.titulo').toString().removeAccent();\r\n\r\n return { cabecalhoPedido, cabecalhoData, cabecalhoOficina, cabecalhoCnpj, cabecalhoVeiculo, cabecalhoValorPedido, cabecalhoCustoComissao, cabecalhoCustoPedido, cabecalhoCustoCashback };\r\n }\r\n\r\n selecionarMes($event) {\r\n this.mes_selecionado = $($event.target).val();\r\n this.periodo_selecionado = $($event.target).find(\"option:selected\").text();\r\n this.carregarRelatorio(0);\r\n }\r\n\r\n setTotals = function () {\r\n this.valor_pedido_total = 0;\r\n this.custo_pelo_pedido_total = 0;\r\n this.custo_comissao_total = 0;\r\n this.repasse_total = 0;\r\n this.total_oportunidades = 0;\r\n\r\n var tem_cashback = false;\r\n\r\n this.lista_participando.forEach(item => {\r\n item.tem_cashback = (item.valor_pedido > item.valor_pedido_desconto_original);\r\n item.diferenca = item.valor_pedido - item.valor_pedido_desconto_original;\r\n item.repasse = this.calcularRepasse(item);\r\n\r\n item.lucro_extra = item.diferenca - item.repasse;\r\n\r\n this.valor_pedido_total += item.valor_pedido;\r\n this.custo_pelo_pedido_total += item.custo_pelo_pedido;\r\n this.custo_comissao_total += item.custo_comissao;\r\n this.repasse_total += item.repasse;\r\n this.total_oportunidades++;\r\n\r\n if (item.tem_cashback)\r\n tem_cashback = true;\r\n\r\n if (item.taxa_comissao_original > 0 && item.taxa_comissao !== item.taxa_comissao_original)\r\n item.exibir_taxa_comissao = true;\r\n });\r\n\r\n this.tem_cashback = tem_cashback;\r\n\r\n switch (this.payment_type) {\r\n case 1:\r\n this.custo_total = this.mensalidade + this.custo_comissao_total + this.repasse_total;\r\n break;\r\n case 2:\r\n this.custo_total = this.mensalidade + (this.total_oportunidades * this.custo_por_cotacao) + this.repasse_total;\r\n break;\r\n case 3:\r\n this.custo_total = this.mensalidade + this.custo_pelo_pedido_total + this.repasse_total;\r\n break;\r\n default:\r\n }\r\n\r\n this.custo_total -= this.reembolso;\r\n };\r\n\r\n modal_notas_fiscais_abrir(orderId: number) {\r\n const pedido = this.lista_participando.find(item => item.order_id === orderId);\r\n\r\n let nfs = pedido.notas_fiscais.filter(nf => nf.url.endsWith(\".pdf\"));\r\n let notasFiscais: NotaFiscal[] = nfs.map((nf) => { return { numero: nf.numero, url: nf.url } });\r\n let notas_fiscais: PedidoNotaFiscal = { quotation_id: orderId, can_upload_nf: false, notasFiscais };\r\n\r\n this.pedido_notas = notas_fiscais\r\n\r\n let options: ModalOptions = { backdrop: 'static', class: 'gray modal-lg', keyboard: false };\r\n this.modalNFRef = this.modalService.show(this.templateNotasFiscais, options);\r\n }\r\n\r\n modal_notas_fiscais_fechar() {\r\n this.modalNFRef.hide();\r\n }\r\n\r\n modal_notas_fiscais_onError(error: any) {\r\n this.notificationService.showErrorToastr(this.globals.translate('part-manager.relatorio-financeiro.mensagens.erro.carregamento-nota-fiscal.corpo'));\r\n }\r\n}\r\n", "
\r\n \r\n
\r\n @if (lista_participando.length > 0) {\r\n \r\n }\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n @if (lista_participando.length <= 0) {\r\n
{{ (payment_type == 1 ? 'part-manager.relatorio-financeiro.vazio.comissoes' : (payment_type == 2 ? 'part-manager.relatorio-financeiro.vazio.oportunidades' : 'part-manager.relatorio-financeiro.vazio.pedidos')) | translate}}
\r\n } @else {\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n @if (payment_type !== 2) {\r\n \r\n }\r\n @if (payment_type === 1) {\r\n \r\n }\r\n @if (payment_type > 2) {\r\n \r\n }\r\n @if (tem_cashback) {\r\n \r\n }\r\n \r\n \r\n \r\n @for (item of lista_participando; track item; let i = $index) {\r\n \r\n \r\n \r\n \r\n \r\n \r\n @if (payment_type !== 2) {\r\n \r\n \r\n }\r\n @if (payment_type === 2) {\r\n \r\n }\r\n @if (payment_type === 1) {\r\n \r\n }\r\n @if (payment_type > 2) {\r\n \r\n }\r\n @if (tem_cashback) {\r\n @if (item.repasse > 0) {\r\n \r\n } @else {\r\n \r\n }\r\n }\r\n \r\n }\r\n \r\n @if (payment_type !== 2) {\r\n \r\n \r\n \r\n \r\n \r\n \r\n @if (payment_type === 1) {\r\n \r\n }\r\n @if (payment_type > 2) {\r\n \r\n }\r\n @if (tem_cashback) {\r\n \r\n }\r\n \r\n \r\n }\r\n
#{{ (payment_type !== 2 ? 'part-manager.relatorio-financeiro.lista.cabecalho.pedido' : 'part-manager.relatorio-financeiro.lista.cabecalho.cotacao') | translate}}{{ 'part-manager.relatorio-financeiro.lista.cabecalho.data' | translate}}{{ 'part-manager.relatorio-financeiro.lista.cabecalho.oficina' | translate}}{{ 'part-manager.relatorio-financeiro.lista.cabecalho.cnpj' | translate}}{{ 'part-manager.relatorio-financeiro.lista.cabecalho.veiculo' | translate}}{{ 'part-manager.relatorio-financeiro.lista.cabecalho.valor-pedido' | translate}}{{ 'part-manager.relatorio-financeiro.lista.cabecalho.custo-comissao' | translate}} ({{custo_por_cotacao}}%){{ 'part-manager.relatorio-financeiro.lista.cabecalho.custo-pedido' | translate}}{{ 'part-manager.relatorio-financeiro.lista.cabecalho.custo-cashback.titulo' | translate}}
{{i + 1}}\r\n @if (payment_type !== 2) {\r\n
\r\n @if (item.tem_nota_fiscal) {\r\n {{item.order_id}}\r\n } @else {\r\n {{ 'part-manager.relatorio-financeiro.lista.sem-nf.label' | translate}}\r\n }\r\n
\r\n }\r\n @if (payment_type === 2) {\r\n
\r\n {{item.quotation_id}}\r\n
\r\n }\r\n
{{item.data_formatada}}{{item.oficina}}{{item.cnpj_formatado}}\r\n {{item.veiculo}}\r\n @if (item.contestacao > 0) {\r\n \r\n }\r\n {{item.valor_pedido_formatado}}{{item.veiculo}}\r\n
\r\n {{item.custo_comissao_formatado}}\r\n
\r\n @if (item.tem_rebate_extra || item.exibir_taxa_comissao) {\r\n \r\n
\r\n @if (item.exibir_taxa_comissao) {\r\n {{ 'part-manager.relatorio-financeiro.lista.detalhes.comissao.customizada' | translate: { value: (item.taxa_comissao_sem_rebate | number) } }}\r\n }\r\n\r\n @if (item.tem_rebate_extra) {\r\n {{ 'part-manager.relatorio-financeiro.lista.detalhes.comissao.acrescimo-cashback' | translate: { value: (item.comissao_extra | number:'1.2-2') } }}\r\n {{ 'part-manager.relatorio-financeiro.lista.detalhes.comissao.total' | translate: { value: (item.taxa_comissao | number) } }}\r\n }\r\n
\r\n
\r\n \r\n }\r\n
{{item.custo_pelo_pedido_formatado}}\r\n {{item.repasse | currency : 'R$'}}\r\n \r\n \r\n {{item.repasse | currency : 'R$'}}\r\n
{{ 'part-manager.relatorio-financeiro.lista.total' | translate}}:R$ {{valor_pedido_total | currency : ' '}}R$ {{custo_comissao_total | currency : ' ' }}R$ {{custo_pelo_pedido_total | currency : ' ' }}{{repasse_total | currency:\"R$ \"}}
\r\n
\r\n }\r\n
\r\n {{ 'part-manager.relatorio-financeiro.sumario.titulo' | translate}}\r\n
\r\n \r\n \r\n
\r\n @switch (payment_type) {\r\n @case (1) {\r\n
\r\n \r\n \r\n
\r\n }\r\n @case (2) {\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n }\r\n @case (3) {\r\n
\r\n \r\n \r\n
\r\n }\r\n }\r\n @if (tem_cashback) {\r\n
\r\n \r\n \r\n
\r\n }\r\n @if (reembolso > 0) {\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n

{{ 'seller.dashboard.detalhes.notas-fiscais.titulo' | translate}}{{pedido_notas?.quotation_id}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n", "import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { MasterPageComponent } from '../general/master-page/master-page.component';\r\n\r\nimport { PartManagerAtualizarEstoqueComponent } from './atualizar-estoque/atualizar-estoque.component';\r\nimport { PartManagerConfigurarCashbackComponent } from './configurar-cashback/configurar-cashback.component';\r\nimport { PartManagerConfigurarFornecimentoComponent } from './configurar-fornecimento/configurar-fornecimento.component';\r\nimport { PartManagerConfigurarRebateComponent } from './configurar-rebate/configurar-rebate.component';\r\nimport { PartManagerGerenciarVendedoresComponent } from './gerenciar-vendedores/gerenciar-vendedores.component';\r\nimport { PartManagerRelatorioFinanceiroComponent } from './relatorio-financeiro/relatorio-financeiro.component';\r\nimport { SellerCockpitComponent } from '../seller/cockpit/cockpit.component';\r\nimport { SellerDocumentacaoComponent } from '../seller/documentacao/documentacao.component';\r\n\r\nconst partManagerRouterConfig: Routes = [\r\n {\r\n path: '', component: MasterPageComponent,\r\n children: [\r\n { path: 'atualizar-estoque', component: PartManagerAtualizarEstoqueComponent },\r\n { path: 'configurar-cashback', component: PartManagerConfigurarCashbackComponent },\r\n { path: 'configurar-fornecimento', component: PartManagerConfigurarFornecimentoComponent },\r\n { path: 'configurar-rebate', component: PartManagerConfigurarRebateComponent },\r\n { path: 'cockpit', component: SellerCockpitComponent },\r\n { path: 'documentacao', component: SellerDocumentacaoComponent },\r\n { path: 'gerenciar-vendedores', component: PartManagerGerenciarVendedoresComponent},\r\n { path: 'relatorio-financeiro', component: PartManagerRelatorioFinanceiroComponent }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports:\r\n [\r\n RouterModule.forChild(partManagerRouterConfig)\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class PartManagerRoutingModule { }\r\n\r\n", "import { NgModule, LOCALE_ID } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\nimport { NgbAccordionModule, NgbCollapseModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxCurrencyDirective } from \"ngx-currency\";\r\nimport { NgxLoadingModule } from 'ngx-loading';\r\nimport { NgxUiLoaderModule } from 'ngx-ui-loader';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\r\nimport { TooltipModule } from 'ng2-tooltip-directive';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\n\r\nimport { NotaFiscalModule } from '../_componentes/notafiscal/notafiscal.module';\r\nimport { PartManagerAtualizarEstoqueComponent } from './atualizar-estoque/atualizar-estoque.component';\r\nimport { PartManagerConfigurarCashbackComponent } from './configurar-cashback/configurar-cashback.component';\r\nimport { PartManagerConfigurarFormaPagamentoComponent } from './_componentes/configurar-forma-pagamento/configurar-forma-pagamento.component';\r\nimport { PartManagerConfigurarFornecimentoComponent } from './configurar-fornecimento/configurar-fornecimento.component';\r\nimport { PartManagerConfigurarFreteComponent } from './_componentes/configurar-frete/configurar-frete.component';\r\nimport { PartManagerConfigurarGeralComponent } from './_componentes/configurar-geral/configurar-geral.component';\r\nimport { PartManagerConfigurarPrazoEntregaComponent } from './_componentes/configurar-prazo-entrega/configurar-prazo-entrega.component';\r\nimport { PartManagerConfigurarRebateComponent } from './configurar-rebate/configurar-rebate.component';\r\nimport { PartManagerGerenciarVendedoresComponent } from './gerenciar-vendedores/gerenciar-vendedores.component';\r\nimport { PartManagerRelatorioFinanceiroComponent } from './relatorio-financeiro/relatorio-financeiro.component';\r\n\r\nimport { PartManagerRoutingModule } from './part-manager.route';\r\nimport { SupportGerenciarVendedoresModule } from '../support/_componentes/gerenciar-vendedores/gerenciar-vendedores.module';\r\n\r\nimport { SettingsService } from '../_services/settings.service';\r\nimport { SharedModule } from 'app/_modules/shared.module';\r\nimport { NG_SCROLLBAR_OPTIONS, NgScrollbarModule } from 'ngx-scrollbar';\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http); }\r\n\r\n@NgModule({\r\n declarations:\r\n [\r\n PartManagerAtualizarEstoqueComponent,\r\n PartManagerConfigurarCashbackComponent,\r\n PartManagerConfigurarFormaPagamentoComponent,\r\n PartManagerConfigurarFornecimentoComponent,\r\n PartManagerConfigurarFreteComponent,\r\n PartManagerConfigurarGeralComponent,\r\n PartManagerConfigurarPrazoEntregaComponent,\r\n PartManagerConfigurarRebateComponent,\r\n PartManagerGerenciarVendedoresComponent,\r\n PartManagerRelatorioFinanceiroComponent\r\n ],\r\n imports:\r\n [\r\n SharedModule,\r\n CommonModule,\r\n FormsModule,\r\n NgbNavModule,\r\n NgbModule,\r\n NgbAccordionModule,\r\n NgbCollapseModule,\r\n NgxCurrencyDirective,\r\n NgxLoadingModule,\r\n NgxUiLoaderModule,\r\n MatStepperModule,\r\n PdfViewerModule,\r\n NgScrollbarModule,\r\n ReactiveFormsModule,\r\n TooltipModule,\r\n TranslateModule.forChild({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] } }),\r\n\r\n NotaFiscalModule,\r\n PartManagerRoutingModule,\r\n SupportGerenciarVendedoresModule,\r\n ],\r\n providers: [\r\n SettingsService,\r\n { provide: LOCALE_ID, deps: [SettingsService], useFactory: (settingsService) => settingsService.getLocale() },\r\n { provide: NG_SCROLLBAR_OPTIONS, useValue: { visibility: 'hover' } }\r\n ],\r\n bootstrap: []\r\n})\r\nexport class PartManagerModule { }\r\n"], "mappings": "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", "names": ["PartManagerAtualizarEstoqueService", "BaseService", "accountService", "config", "_domain", "constructor", "atualizarEstoque", "holdingFtp", "base64file", "filename", "body", "Object", "assign", "executePost", "url", "atualizarEstoqueAlternativo", "holding_ftp_id", "holding_id", "part_type_id", "id", "carregarDadosHolding", "usuarioLogado", "isEmpty", "logout", "EMPTY", "executeGet", "obterColunas", "extensao", "\u0275\u0275inject", "AccountService", "SettingsService", "factory", "\u0275fac", "providedIn", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275pipeBind2", "ctx_r0", "last_update", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "atualizarEstoque_Reiniciar", "atualizarEstoque_BaixarLogErro", "\u0275\u0275template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_7_Conditional_8_Template", "\u0275\u0275property", "tipo_resultado", "\u0275\u0275conditional", "fileTypeForm", "_r4", "showNextStep", "_r5", "selectArquivo", "\u0275\u0275textInterpolate1", "uploadFormatAccepted", "$event", "_r7", "uploadArquivo", "_r6", "uploadLimpar", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_26_Conditional_4_Template", "hasFile", "\u0275\u0275propertyInterpolate", "\u0275$index_185_r9", "coluna_r8", "\u0275$index_202_r11", "coluna_r10", "\u0275$index_216_r13", "coluna_r12", "\u0275$index_233_r15", "coluna_r14", "\u0275\u0275textInterpolate2", "dados_holding_ftp", "desconto_linear", "\u0275$index_259_r17", "coluna_r16", "\u0275\u0275repeaterCreate", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_94_For_2_Template", "\u0275\u0275repeaterTrackByIdentity", "\u0275\u0275repeater", "colunas", "\u0275$index_276_r19", "coluna_r18", "\u0275$index_293_r21", "coluna_r20", "\u0275$index_313_r23", "coluna_r22", "\u0275$index_344_r25", "coluna_r24", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_147_Conditional_6_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_147_Conditional_7_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_147_Conditional_8_Template", "coluna", "padrao_habilitado_fixo", "checarPartType", "colunasForm", "value", "desconto", "montadora", "descricao", "marca", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_74_Conditional_5_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_74_Conditional_6_Template", "marca_cod", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_76_Conditional_5_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_76_Conditional_6_Template", "tipo_peca", "tipo_peca_padrao", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_49_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_50_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_52_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_70_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_71_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_74_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_76_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_83_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Conditional_84_Template", "fileType", "filename", "part_number", "preco", "has_linear_discount", "quantidade", "padrao_habilitado", "_r2", "stepChanged", "PartManagerAtualizarEstoqueComponent_Conditional_4_ng_template_4_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_7_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_8_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_10_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_ng_template_12_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_25_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_26_Template", "showPreviousStep", "PartManagerAtualizarEstoqueComponent_Conditional_4_ng_template_38_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_For_56_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_For_66_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_For_74_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_For_84_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_93_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_94_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_For_104_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_For_114_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_For_125_Template", "habilitarPreenchimentoPadrao", "PartManagerAtualizarEstoqueComponent_Conditional_4_For_143_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_147_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_ng_template_156_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Conditional_159_Template", "atualizarEstoque", "is_feedbacking", "fileSelected", "\u0275\u0275pureFunction2", "_c1", "uploadMaxSizeAccepted", "hasSelectedColumns", "_r27", "PartManagerAtualizarEstoqueComponent_Conditional_5_Conditional_7_Conditional_8_Template", "_r28", "_r29", "_r31", "_r30", "PartManagerAtualizarEstoqueComponent_Conditional_5_Conditional_26_Conditional_4_Template", "_r26", "PartManagerAtualizarEstoqueComponent_Conditional_5_ng_template_4_Template", "PartManagerAtualizarEstoqueComponent_Conditional_5_Conditional_7_Template", "PartManagerAtualizarEstoqueComponent_Conditional_5_Conditional_8_Template", "PartManagerAtualizarEstoqueComponent_Conditional_5_Conditional_10_Template", "PartManagerAtualizarEstoqueComponent_Conditional_5_ng_template_12_Template", "PartManagerAtualizarEstoqueComponent_Conditional_5_Conditional_25_Template", "PartManagerAtualizarEstoqueComponent_Conditional_5_Conditional_26_Template", "atualizarEstoqueAlternativo", "PartManagerAtualizarEstoqueComponent", "accountService", "notificationService", "estoqueService", "globals", "elRef", "fb", "ngxLoader", "stepper", "formInputElements", "configUpload", "currentUser", "base64file", "hasListeners", "logErro", "selected_step", "tem_txt_posicional", "errors", "constructor", "obterUsuario", "multiple", "formatsAllowed", "maxSize", "replaceTexts", "selectFileBtn", "translate", "resetBtn", "uploadBtn", "sizeLimit", "uploadAPI", "method", "group", "patchValue", "isEditable", "ngOnInit", "Validators", "required", "carregarTela", "atualizarColunas_MudarInteiro", "c", "isNaN", "parseInt", "ajustarDadosHolding", "objeto", "adicionar", "valor", "brand_index", "brand_id_index", "desconto_index", "part_factory_number_index", "part_number_index", "part_type_id_index", "peca_index", "preco_index", "quantidade_index", "__async", "showConfirmationDialog", "startLoader", "holdingFTP", "id", "holding_id", "is_active", "part_type_id", "password_ftp", "username_ftp", "subscribe", "next", "response", "success", "isEmpty", "result", "carregarDadosHolding", "inicializarTela", "undefined", "stopLoader", "error", "console", "log", "showErrorToastr", "JSON", "stringify", "dynamicDownloadByHtmlTag", "reset", "holding_ftp_id", "nAttempts", "callback", "holdingFtp", "lastUpdate", "part_type", "holding_type_id", "inicializarColunas", "length", "setTimeout", "previous", "showWarning", "validarFormulario", "selected", "completed", "args", "selectedIndex", "files", "document", "getElementById", "file", "fileSizeToMB", "name", "endsWith", "b64file", "toBase64", "indexOf", "split", "obterColunas", "showSuccessToastr", "unshift", "msgErro", "status", "formulario", "findDuplicates", "arr", "filter", "item", "index", "propriedadesObj", "Object", "getOwnPropertyNames", "prop", "map", "\u0275\u0275directiveInject", "AccountService", "NotificationService", "PartManagerAtualizarEstoqueService", "Globals", "ElementRef", "UntypedFormBuilder", "NgxUiLoaderService", "selectors", "viewQuery", "rf", "ctx", "FormControlName", "PartManagerAtualizarEstoqueComponent_Conditional_3_Template", "PartManagerAtualizarEstoqueComponent_Conditional_4_Template", "PartManagerAtualizarEstoqueComponent_Conditional_5_Template", "PartManagerConfigurarCashbackService", "BaseService", "accountService", "config", "_domain", "constructor", "carregarDadosHolding", "executeGet", "url", "salvar", "has_cashback", "cashback_profit_margin", "usuarioLogado", "isEmpty", "logout", "EMPTY", "body", "holding_id", "executePost", "\u0275\u0275inject", "AccountService", "SettingsService", "factory", "\u0275fac", "providedIn", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "calcularDetalhamento", "\u0275\u0275element", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate", "\u0275\u0275property", "\u0275\u0275pureFunction0", "_c0", "_r3", "salvar", "\u0275\u0275template", "PartManagerConfigurarCashbackComponent_Conditional_23_Conditional_115_Template", "\u0275\u0275pipeBind2", "cashback", "valor_peca", "desconto_original", "valor_venda_original", "desconto_cashback", "valor_venda_cashback", "\u0275\u0275textInterpolate2", "com_cashback", "imposto", "imposto_descontado", "cashback_efetivo", "comprador", "taxa_partsfy", "partsfy", "vendedor", "vendedor_margem", "\u0275\u0275conditional", "cashbackForm", "valid", "PartManagerConfigurarCashbackComponent", "notificationService", "cashbackService", "globals", "fb", "ngxLoader", "formInputElements", "displayMessage", "errors", "genericValidator", "validationMessages", "constructor", "ngOnInit", "group", "has_cashback", "cashback_profit_margin", "Validators", "max", "min", "carregarTela", "ngAfterViewChecked", "value", "patchValue", "cashback_sem_imposto", "taxa_vendedor", "get", "cashback_partsfy", "cashback_vendedor", "cashback_comprador", "nAttempts", "startLoader", "carregarDadosHolding", "subscribe", "next", "response", "isEmpty", "success", "result", "holdingInfo", "markAsDirty", "tax", "partsfyCommission", "stopLoader", "error", "console", "log", "showErrorToastr", "translate", "dirty", "showSuccessToastr", "\u0275\u0275directiveInject", "NotificationService", "PartManagerConfigurarCashbackService", "Globals", "UntypedFormBuilder", "NgxUiLoaderService", "selectors", "viewQuery", "rf", "ctx", "FormControlName", "ElementRef", "PartManagerConfigurarCashbackComponent_Conditional_16_Template", "PartManagerConfigurarCashbackComponent_Conditional_23_Template", "PartManagerConfigurarFornecimentoService", "BaseService", "accountService", "config", "_domain", "constructor", "formaPagamentoAdicionar", "formaPagamento", "executePost", "url", "body", "formaPagamentoCarregar", "executeGet", "formaPagamentoRemover", "payment_type_id", "executeDelete", "freteAdicionar", "frete", "freteCarregar", "freteRemover", "region_id", "geralDadosAlterar", "dias_pedido_fabrica", "resposta_automatica", "isEmpty", "usuarioLogado", "logout", "EMPTY", "holding_id", "geralCarregar", "prazoEntregaAdicionar", "prazo", "prazoEntregaCarregar", "prazoEntregaRemover", "\u0275\u0275inject", "AccountService", "SettingsService", "factory", "\u0275fac", "providedIn", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275propertyInterpolate", "forma_r1", "id", "texto_x", "\u0275\u0275repeaterCreate", "PartManagerConfigurarFormaPagamentoComponent_Conditional_16_For_1_Template", "\u0275\u0275repeaterTrackByIdentity", "\u0275\u0275repeater", "ctx_r1", "formasFiltradas", "\u0275\u0275textInterpolate1", "\u0275\u0275listener", "forma_r4", "\u0275\u0275restoreView", "_r3", "$implicit", "\u0275\u0275nextContext", "\u0275\u0275resetView", "remover", "payment_type_id", "\u0275\u0275element", "payment_type_name", "\u0275\u0275pipeBind2", "start_value", "PartManagerConfigurarFormaPagamentoComponent_Conditional_29_For_1_Template", "formas", "PartManagerConfigurarFormaPagamentoComponent", "accountService", "notificationService", "fornecimentoService", "globals", "fb", "inicializar", "formas_pagamento", "adicionando", "formaPagamentoForm", "holding_id", "constructor", "obterUsuario", "ngOnInit", "group", "Validators", "required", "min", "isEmpty", "resetForm", "subscribe", "adicionar", "nAttempts", "parseInt", "value", "find", "f", "forma_pagamento", "is_active", "push", "sort", "sort_by", "name", "formaPagamentoAdicionar", "next", "response", "success", "showSuccessToastr", "translate", "showErrorToastr", "error", "console", "log", "forma", "idx", "indexOf", "splice", "formaPagamentoRemover", "reset", "patchValue", "filtradas", "length", "setTimeout", "filter", "p", "\u0275\u0275directiveInject", "AccountService", "NotificationService", "PartManagerConfigurarFornecimentoService", "Globals", "UntypedFormBuilder", "selectors", "inputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "PartManagerConfigurarFormaPagamentoComponent_Conditional_15_Template", "PartManagerConfigurarFormaPagamentoComponent_Conditional_16_Template", "PartManagerConfigurarFormaPagamentoComponent_Conditional_28_Template", "PartManagerConfigurarFormaPagamentoComponent_Conditional_29_Template", "\u0275\u0275property", "\u0275\u0275conditional", "\u0275\u0275pureFunction0", "_c0", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275propertyInterpolate", "regiao_r1", "region_id", "region_name", "\u0275\u0275repeaterCreate", "PartManagerConfigurarFreteComponent_Conditional_22_For_1_Template", "\u0275\u0275repeaterTrackByIdentity", "\u0275\u0275repeater", "ctx_r1", "regioesFiltradas", "\u0275\u0275textInterpolate1", "\u0275\u0275listener", "frete_r4", "\u0275\u0275restoreView", "_r3", "$implicit", "\u0275\u0275nextContext", "\u0275\u0275resetView", "remover", "\u0275\u0275element", "buyer_payer", "\u0275\u0275pipeBind2", "shipping_cost", "min_value", "PartManagerConfigurarFreteComponent_Conditional_49_For_1_Template", "fretes", "PartManagerConfigurarFreteComponent", "accountService", "notificationService", "fornecimentoService", "globals", "fb", "inicializar", "regioes", "adicionando", "freteForm", "holding_id", "constructor", "obterUsuario", "ngOnInit", "group", "regiao", "Validators", "required", "min", "frete_gratuito", "frete", "frete_conta_comprador", "isEmpty", "resetForm", "subscribe", "adicionar", "nAttempts", "parseInt", "value", "find", "r", "id", "is_active", "push", "sort", "sort_by", "name", "freteAdicionar", "next", "response", "success", "showSuccessToastr", "translate", "n_frete", "f", "result", "showErrorToastr", "error", "console", "log", "mudarContaComprador", "patchValue", "idx", "indexOf", "splice", "freteRemover", "reset", "filtradas", "length", "setTimeout", "validarFreteGratuito", "filter", "\u0275\u0275directiveInject", "AccountService", "NotificationService", "PartManagerConfigurarFornecimentoService", "Globals", "UntypedFormBuilder", "selectors", "inputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "PartManagerConfigurarFreteComponent_Conditional_21_Template", "PartManagerConfigurarFreteComponent_Conditional_22_Template", "PartManagerConfigurarFreteComponent_Conditional_48_Template", "PartManagerConfigurarFreteComponent_Conditional_49_Template", "\u0275\u0275property", "\u0275\u0275conditional", "\u0275\u0275pureFunction0", "_c0", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275text", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275propertyInterpolate", "regiao_r1", "region_id", "region_name", "\u0275\u0275repeaterCreate", "PartManagerConfigurarPrazoEntregaComponent_Conditional_69_For_1_Template", "\u0275\u0275repeaterTrackByIdentity", "\u0275\u0275repeater", "ctx_r1", "regioesFiltradas", "prazo_r3", "delivery_time_id", "delivery_time_name", "\u0275\u0275textInterpolate1", "\u0275\u0275listener", "prazo_r5", "\u0275\u0275restoreView", "_r4", "$implicit", "\u0275\u0275nextContext", "\u0275\u0275resetView", "remover", "PartManagerConfigurarPrazoEntregaComponent_Conditional_80_For_1_Template", "prazos", "PartManagerConfigurarPrazoEntregaComponent", "accountService", "notificationService", "fornecimentoService", "globals", "fb", "dados", "prazos_entrega", "inicializar", "regioes", "alterarGeral", "EventEmitter", "adicionando", "prazoForm", "holding_id", "constructor", "obterUsuario", "ngOnInit", "group", "Validators", "required", "min", "isEmpty", "resetForm", "subscribe", "adicionar", "nAttempts", "parseInt", "value", "find", "r", "p", "prazo", "id", "is_active", "push", "sort", "sort_by", "name", "prazoEntregaAdicionar", "next", "response", "success", "showSuccessToastr", "translate", "n_prazo", "f", "result", "showErrorToastr", "error", "console", "log", "alterar", "emit", "diasPedidoFabrica", "dias_pedido_fabrica", "respostaSemRevisao", "resposta_automatica", "tipo", "idx", "indexOf", "splice", "prazoEntregaRemover", "reset", "patchValue", "filtradas", "length", "setTimeout", "alterando", "toString", "valor", "filter", "\u0275\u0275directiveInject", "AccountService", "NotificationService", "PartManagerConfigurarFornecimentoService", "Globals", "UntypedFormBuilder", "selectors", "inputs", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275twoWayListener", "$event", "i0", "\u0275\u0275twoWayBindingSet", "\u0275\u0275template", "PartManagerConfigurarPrazoEntregaComponent_Conditional_63_Template", "PartManagerConfigurarPrazoEntregaComponent_Conditional_68_Template", "PartManagerConfigurarPrazoEntregaComponent_Conditional_69_Template", "PartManagerConfigurarPrazoEntregaComponent_For_73_Template", "PartManagerConfigurarPrazoEntregaComponent_Conditional_79_Template", "PartManagerConfigurarPrazoEntregaComponent_Conditional_80_Template", "\u0275\u0275twoWayProperty", "\u0275\u0275conditional", "\u0275\u0275property", "\u0275\u0275element", "\u0275\u0275property", "ctx_r1", "formas", "formas_pagamento", "inicializarFormaPagamento", "fretes", "regioes", "inicializarFrete", "\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "alterarGeral", "\u0275\u0275elementEnd", "geral_dados", "prazos", "prazos_entrega", "inicializarPrazo", "PartManagerConfigurarFornecimentoComponent", "notificationService", "fornecimentoService", "globals", "ngxLoader", "active", "loading_ctr", "loading", "Subject", "constructor", "alterando", "dias_pedido_fabrica", "resposta_automatica", "ngOnInit", "subscribe", "valor", "stopLoader", "carregarTela", "param", "nAttempts", "diasPedidoFabrica", "respostaSemRevisao", "tipo", "geralDadosAlterar", "next", "response", "isEmpty", "success", "showSuccessToastr", "translate", "error", "console", "log", "showErrorToastr", "carregarFormaPagamento", "formaPagamentoCarregar", "result", "formasPagamento", "carregarFrete", "freteCarregar", "carregarGeral", "geralCarregar", "respostaAutomatica", "carregarPrazoEntrega", "prazoEntregaCarregar", "prazosEntrega", "startLoader", "openTutorial", "window", "open", "\u0275\u0275directiveInject", "NotificationService", "PartManagerConfigurarFornecimentoService", "Globals", "NgxUiLoaderService", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "i0", "_r1", "\u0275\u0275text", "\u0275\u0275twoWayListener", "\u0275\u0275twoWayBindingSet", "\u0275\u0275template", "PartManagerConfigurarFornecimentoComponent_ng_template_13_Template", "PartManagerConfigurarFornecimentoComponent_ng_template_18_Template", "PartManagerConfigurarFornecimentoComponent_ng_template_23_Template", "\u0275\u0275advance", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate", "\u0275\u0275twoWayProperty", "nav_r4", "PartManagerConfigurarRebateService", "BaseService", "accountService", "config", "_domain", "constructor", "adicionarIncentivo", "holding_id_repairer", "rebate", "isEmpty", "usuarioLogado", "logout", "EMPTY", "body", "holding_id_supplier", "holding_id", "executePost", "url", "carregarDadosHolding", "executeGet", "removerIncentivo", "executeDelete", "salvar", "\u0275\u0275inject", "AccountService", "SettingsService", "factory", "\u0275fac", "providedIn", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "salvar", "\u0275\u0275element", "\u0275\u0275property", "rebateForm", "\u0275\u0275textInterpolate1", "\u0275\u0275pureFunction0", "_c0", "valid", "dirty", "\u0275\u0275propertyInterpolate", "oficina_r4", "holdingId", "fantasyName", "oficina_r6", "_r5", "$implicit", "incentivo_RemoverOficina", "\u0275\u0275pipeBind2", "rebate", "\u0275\u0275repeaterCreate", "PartManagerConfigurarRebateComponent_Conditional_25_Conditional_36_For_3_Template", "\u0275\u0275repeaterTrackByIdentity", "\u0275\u0275repeater", "oficinasSelecionadas", "_r3", "incentivo_AdicionarOficina", "PartManagerConfigurarRebateComponent_Conditional_25_For_26_Template", "\u0275\u0275template", "PartManagerConfigurarRebateComponent_Conditional_25_Conditional_36_Template", "PartManagerConfigurarRebateComponent_Conditional_25_Conditional_37_Template", "rebateOficinaForm", "oficinasNaoSelecionadas", "\u0275\u0275conditional", "length", "PartManagerConfigurarRebateComponent", "accountService", "baseService", "notificationService", "rebateService", "globals", "fb", "ngxLoader", "rebate_inativo", "visivel", "oficinas", "usuarioLocal", "constructor", "ngOnInit", "isEmpty", "logout", "group", "Validators", "max", "min", "holding_id", "required", "carregarTela", "nAttempts", "startLoader", "carregarDadosHolding", "subscribe", "next", "response", "success", "result", "patchValue", "markAsDirty", "stopLoader", "error", "console", "log", "showErrorToastr", "translate", "ignorarConfirm", "__async", "oficina", "find", "o", "parseInt", "value", "increase", "formatPercent", "confirmMessage", "replace", "showConfirmationDialog", "adicionarIncentivo", "newHoldingId", "$", "val", "showSuccessToastr", "holding_id_repairer", "ignoreConfirmation", "removerIncentivo", "filter", "sort", "sort_by", "name", "\u0275\u0275directiveInject", "AccountService", "BaseService", "NotificationService", "PartManagerConfigurarRebateService", "Globals", "UntypedFormBuilder", "NgxUiLoaderService", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "PartManagerConfigurarRebateComponent_Conditional_23_Template", "PartManagerConfigurarRebateComponent_Conditional_24_Template", "PartManagerConfigurarRebateComponent_Conditional_25_Template", "plan", "PartManagerGerenciarVendedoresComponent", "baseService", "interno", "holdingSelecionada", "holdingSelecionadaId", "constructor", "ngOnInit", "carregarTela", "usuarioLocal", "id", "holding_id", "is_billable", "setTimeout", "listarEmpresasAssociadas", "exportarCSV", "\u0275\u0275directiveInject", "BaseService", "selectors", "viewQuery", "rf", "ctx", "SupportGerenciarVendedoresInternoComponent", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275element", "\u0275\u0275property", "\u0275\u0275advance", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate", "PartManagerRelatorioFinanceiroService", "BaseService", "accountService", "config", "_domain", "constructor", "carregarDadosHolding", "executeGet", "url", "carregarRelatorio", "ano_mes", "contestar", "pecas", "motivo", "isEmpty", "usuarioLogado", "logout", "EMPTY", "body", "user_company_id", "executePost", "listarMeses", "\u0275\u0275inject", "AccountService", "SettingsService", "factory", "\u0275fac", "providedIn", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "exportarCSV", "\u0275\u0275element", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275propertyInterpolate", "mes_r4", "ano_mes", "\u0275\u0275textInterpolate", "nome", "payment_type", "custo_por_cotacao", "_r5", "item_r6", "$implicit", "modal_notas_fiscais_abrir", "order_id", "\u0275\u0275propertyInterpolate2", "\u0275\u0275template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_4_Conditional_1_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_4_Conditional_2_Template", "\u0275\u0275conditional", "tem_nota_fiscal", "quotation_id", "\u0275\u0275property", "\u0275\u0275pureFunction2", "_c1", "contestacao", "_r7", "exibirPecas", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_12_Conditional_4_Template", "veiculo", "valor_pedido_formatado", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction1", "_c2", "taxa_comissao_sem_rebate", "comissao_extra", "taxa_comissao", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_14_Conditional_3_ng_template_0_Conditional_1_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_14_Conditional_3_ng_template_0_Conditional_2_Template", "exibir_taxa_comissao", "tem_rebate_extra", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_14_Conditional_3_ng_template_0_Template", "\u0275\u0275templateRefExtractor", "tipContent_r8", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_14_Conditional_3_Template", "custo_comissao_formatado", "custo_pelo_pedido_formatado", "_r9", "abrirMaisDetalhes", "repasse", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_16_Conditional_0_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_16_Conditional_1_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_4_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_5_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_12_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_13_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_14_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_15_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Conditional_16_Template", "\u0275$index_118_r10", "data_formatada", "oficina", "cnpj_formatado", "tem_cashback", "custo_comissao_total", "custo_pelo_pedido_total", "repasse_total", "PartManagerRelatorioFinanceiroComponent_Conditional_18_Conditional_34_Conditional_10_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_Conditional_34_Conditional_11_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_Conditional_34_Conditional_12_Template", "valor_pedido_total", "PartManagerRelatorioFinanceiroComponent_Conditional_18_Conditional_27_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_Conditional_28_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_Conditional_29_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_Conditional_30_Template", "\u0275\u0275repeaterCreate", "PartManagerRelatorioFinanceiroComponent_Conditional_18_For_33_Template", "\u0275\u0275repeaterTrackByIdentity", "PartManagerRelatorioFinanceiroComponent_Conditional_18_Conditional_34_Template", "\u0275\u0275repeater", "lista_participando", "total_oportunidades", "\u0275\u0275propertyInterpolate1", "reembolso", "_r11", "modal_notas_fiscais_fechar", "\u0275\u0275textInterpolate2", "pedido_notas", "PartManagerRelatorioFinanceiroComponent", "generalService", "notificationService", "relatorioService", "settingService", "globals", "modalService", "ngxLoader", "templateNotasFiscais", "modalNFRef", "lista", "lista_pecas_selecionadas", "mes_selecionado", "meses", "periodo_selecionado", "custo_total", "mensalidade", "constructor", "can_upload_nf", "notasFiscais", "ngOnInit", "carregarDadosHolding", "carregarRelatorio", "listarMeses", "window", "onafterprint", "$", "css", "item", "console", "log", "imposto", "taxa_fornecedor", "diferenca", "valor_pedido", "valor_pedido_desconto_original", "valor_imposto", "calcularRepasse", "html", "translate", "numberToReal", "numberToPtBr", "params", "title", "notTranslateTitle", "message", "isHtml", "icon", "showInfoWithoutButtons", "cashback_comprador", "cashback_partsfy", "nAttempts", "startLoader", "subscribe", "next", "response", "success", "result", "custoCotacao", "tipoPedido", "error", "showErrorToastr", "stopLoader", "toString", "definirRebate", "setTotals", "contestacao_Enviar", "pedido", "motivo", "contestacaoInicial", "pecasSelecionadas", "map", "item_id", "peca", "pecas", "find", "p", "contestacao_aprovada", "valor_cashback", "valor_comissao", "contestar", "showSuccessToastr", "contestacao_ListarPecasSelecionadas", "checkboxes", "i", "n", "length", "check", "is", "attr", "push", "contestacao_VerificarPecaSelecionada", "forEach", "rebate_percentage", "__async", "hoje", "Date", "primeiroDiaMesPassado", "getFullYear", "getMonth", "ano_mes_selec", "isEmpty", "ano_selec", "substring", "mes_selec", "periodo_selec", "parseInt", "mes_permitido", "podeContestar", "some", "verColunaContestacao", "valor_comissao_formatado", "valor_cashback_formatado", "isMercadoPartsfy", "customClass", "input", "showConfirmButton", "cancelButtonText", "confirmButtonText", "bigSwall", "footer", "inputValidator", "showConfirm", "then", "isConfirmed", "paramsMotivo", "value", "val", "isDismissed", "cabecalhoCotacaoPedido", "separador", "csvString", "removeAccent", "each", "filename", "a", "style", "href", "encodeURIComponent", "download", "appendTo", "click", "remove", "months", "m", "year", "month", "padStart", "obterNomeMesAno", "imprimir", "$event", "preventDefault", "jsonData", "headers", "imprimirGetHeaders", "row", "cabecalhoPedido", "cabecalhoData", "cabecalhoOficina", "cabecalhoCnpj", "cabecalhoVeiculo", "cabecalhoValorPedido", "cabecalhoCustoComissao", "cabecalhoCustoPedido", "cabecalhoCustoCashback", "imprimirGetFooter", "printPageData", "type", "header", "outerHTML", "data", "selecionarMes", "target", "text", "lucro_extra", "custo_pelo_pedido", "custo_comissao", "taxa_comissao_original", "orderId", "notas_fiscais", "filter", "nf", "url", "endsWith", "numero", "options", "backdrop", "class", "keyboard", "show", "hide", "modal_notas_fiscais_onError", "\u0275\u0275directiveInject", "GeneralService", "NotificationService", "PartManagerRelatorioFinanceiroService", "SettingsService", "Globals", "BsModalService", "NgxUiLoaderService", "selectors", "viewQuery", "rf", "ctx", "PartManagerRelatorioFinanceiroComponent_Conditional_5_Template", "i0", "_r1", "PartManagerRelatorioFinanceiroComponent_For_12_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_17_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_18_Template", "PartManagerRelatorioFinanceiroComponent_Case_29_Template", "PartManagerRelatorioFinanceiroComponent_Case_30_Template", "PartManagerRelatorioFinanceiroComponent_Case_31_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_32_Template", "PartManagerRelatorioFinanceiroComponent_Conditional_33_Template", "PartManagerRelatorioFinanceiroComponent_ng_template_41_Template", "tmp_12_0", "partManagerRouterConfig", "path", "component", "MasterPageComponent", "children", "PartManagerAtualizarEstoqueComponent", "PartManagerConfigurarCashbackComponent", "PartManagerConfigurarFornecimentoComponent", "PartManagerConfigurarRebateComponent", "SellerCockpitComponent", "SellerDocumentacaoComponent", "PartManagerGerenciarVendedoresComponent", "PartManagerRelatorioFinanceiroComponent", "PartManagerRoutingModule", "RouterModule", "forChild", "HttpLoaderFactory", "http", "TranslateHttpLoader", "PartManagerModule", "SettingsService", "provide", "LOCALE_ID", "deps", "useFactory", "settingsService", "getLocale", "NG_SCROLLBAR_OPTIONS", "useValue", "visibility", "imports", "SharedModule", "CommonModule", "FormsModule", "NgbNavModule", "NgbModule", "NgbAccordionModule", "NgbCollapseModule", "NgxLoadingModule", "NgxUiLoaderModule", "MatStepperModule", "PdfViewerModule", "NgScrollbarModule", "ReactiveFormsModule", "TooltipModule", "TranslateModule", "forChild", "loader", "TranslateLoader", "HttpClient", "NotaFiscalModule", "PartManagerRoutingModule", "SupportGerenciarVendedoresModule"] }