{"version":3,"file":"main.js","mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/auth/app.auth.token.ts","./src/app/components/components.module.ts","./src/app/components/customSearch/customsearch.component.ts","./src/app/components/customSearch/customsearch.component.html","./src/app/components/datimepicker/app.component.datimepicker.model.ts","./src/app/components/datimepicker/app.component.datimepicker.ts","./src/app/components/datimepicker/app.component.datimepicker.html","./src/app/components/footer/footer.component.ts","./src/app/components/footer/footer.component.html","./src/app/components/master/master.component.ts","./src/app/components/master/master.component.html","./src/app/components/master/master.content.component.ts","./src/app/components/master/master.content.service.ts","./src/app/components/master/master.module.ts","./src/app/components/master/master.placeholder.component.ts","./src/app/components/navbar/navbar.component.ts","./src/app/components/navbar/navbar.component.html","./src/app/components/sidebar/sidebar.component.ts","./src/app/components/sidebar/sidebar.component.html","./src/app/components/sidebar/sidebar.grupo.component.ts","./src/app/constantes/app.eacao.const.ts","./src/app/constantes/app.egrupo.const.ts","./src/app/constantes/app.eorderby.const.ts","./src/app/constantes/app.esituacao.const.ts","./src/app/constantes/app.etipodado.const.ts","./src/app/constantes/app.etipodestinatario.const.ts","./src/app/constantes/app.etipoliberacao.const.ts","./src/app/constantes/app.etipoplaca.const.ts","./src/app/constantes/app.euf.const.ts","./src/app/directives/app.directives.module.ts","./src/app/directives/app.sortable.directive.ts","./src/app/guard/autentication.guard.ts","./src/app/helper/app.block.utils.ts","./src/app/helper/app.dialog.util.ts","./src/app/helper/app.tipocampo.utils.ts","./src/app/helper/app.toast.utils.ts","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/model/app.acao.model.ts","./src/app/model/app.agrupador.model.ts","./src/app/model/app.alerta.model.ts","./src/app/model/app.alertaeventoatualizacaodfe.model.ts","./src/app/model/app.alertahistorico.model.ts","./src/app/model/app.alertanotificacao.model.ts","./src/app/model/app.alertaparametrosaida.model.ts","./src/app/model/app.chefeunidadefiscal.model.ts","./src/app/model/app.comportamentoregra.model.ts","./src/app/model/app.condicionante.model.ts","./src/app/model/app.dashboard.model.ts","./src/app/model/app.equipamentos.model.ts","./src/app/model/app.filtroentrada.model.ts","./src/app/model/app.formdinamico.model.ts","./src/app/model/app.grupo.model.ts","./src/app/model/app.icone.model.ts","./src/app/model/app.localizacaoevento.model.ts","./src/app/model/app.modeloregra.model.ts","./src/app/model/app.modulo.model.ts","./src/app/model/app.moduloperfil.model.ts","./src/app/model/app.operador.model.ts","./src/app/model/app.parametroentrada.model.ts","./src/app/model/app.parametrosaida.model.ts","./src/app/model/app.perfil.model.ts","./src/app/model/app.placas.dto.ts","./src/app/model/app.regra.model.ts","./src/app/model/app.regrafiltroentrada.model.ts","./src/app/model/app.regraparametroentrada.model.ts","./src/app/model/app.regraunidadefiscal.model.ts","./src/app/model/app.tipodado.model.ts","./src/app/model/app.tipodestinatario.model.ts","./src/app/model/app.token.model.ts","./src/app/model/app.unidadefiscal.model.ts","./src/app/model/app.usuario.model.ts","./src/app/model/index.ts","./src/app/pages/alerta/alerta.component.ts","./src/app/pages/alerta/alerta.component.html","./src/app/pages/alerta/alerta.module.ts","./src/app/pages/alerta/alerta.routing.ts","./src/app/pages/alerta/atender/alerta.atender.component.ts","./src/app/pages/alerta/atender/alerta.atender.component.html","./src/app/pages/alerta/visualizar/alerta.visualizar.component.ts","./src/app/pages/alerta/visualizar/alerta.visualizar.component.html","./src/app/pages/condicionante/cadastro/condicionante.cadastro.component.ts","./src/app/pages/condicionante/cadastro/condicionante.cadastro.component.html","./src/app/pages/condicionante/condicionante.component.ts","./src/app/pages/condicionante/condicionante.component.html","./src/app/pages/condicionante/condicionante.module.ts","./src/app/pages/condicionante/condicionantes.routing.ts","./src/app/pages/condicionante/editar/condicionante.editar.component.ts","./src/app/pages/condicionante/editar/condicionante.editar.component.html","./src/app/pages/condicionante/visualizar/condicionante.visualizar.component.ts","./src/app/pages/condicionante/visualizar/condicionante.visualizar.component.html","./src/app/pages/consultarplacas/consultarplacas.component.ts","./src/app/pages/consultarplacas/consultarplacas.component.html","./src/app/pages/consultarplacas/consultarplacas.module.ts","./src/app/pages/consultarplacas/consultarplacas.routing.ts","./src/app/pages/dashboard/dashboard.component.ts","./src/app/pages/dashboard/dashboard.component.html","./src/app/pages/dashboard/dashboard.module.ts","./src/app/pages/dashboard/dashboard.routing.ts","./src/app/pages/filtroentrada/cadastro/filtroentrada.cadastro.component.ts","./src/app/pages/filtroentrada/cadastro/filtroentrada.cadastro.component.html","./src/app/pages/filtroentrada/editar/filtroentrada.editar.component.ts","./src/app/pages/filtroentrada/editar/filtroentrada.editar.component.html","./src/app/pages/filtroentrada/filtroentrada.component.ts","./src/app/pages/filtroentrada/filtroentrada.component.html","./src/app/pages/filtroentrada/filtroentrada.module.ts","./src/app/pages/filtroentrada/filtroentrada.routing.ts","./src/app/pages/filtroentrada/visualização/filtroentrada.visualizar.component.ts","./src/app/pages/filtroentrada/visualização/filtroentrada.visualizar.component.html","./src/app/pages/localizacaoevento/localizacaoevento.component.ts","./src/app/pages/localizacaoevento/localizacaoevento.component.html","./src/app/pages/localizacaoevento/localizacaoevento.module.ts","./src/app/pages/localizacaoevento/localizacaoevento.routing.ts","./src/app/pages/localizacaoevento/visualizar/localizacaoevento.visualizar.component.ts","./src/app/pages/localizacaoevento/visualizar/localizacaoevento.visualizar.component.html","./src/app/pages/localizacaomapa/localizacaomapa.component.ts","./src/app/pages/localizacaomapa/localizacaomapa.component.html","./src/app/pages/localizacaomapa/localizacaomapa.module.ts","./src/app/pages/localizacaomapa/localizacaomapa.routing.ts","./src/app/pages/localizacaomapa/localizacaomapa.service.ts","./src/app/pages/menu/cadastro/modulo.cadastro.component.ts","./src/app/pages/menu/cadastro/modulo.cadastro.component.html","./src/app/pages/menu/editar/modulo.editar.component.ts","./src/app/pages/menu/editar/modulo.editar.component.html","./src/app/pages/menu/modulo.component.ts","./src/app/pages/menu/modulo.component.html","./src/app/pages/menu/modulo.module.ts","./src/app/pages/menu/modulo.routing.ts","./src/app/pages/menu/visualizar/modulo.visualizar.component.ts","./src/app/pages/menu/visualizar/modulo.visualizar.component.html","./src/app/pages/modeloregra/cadastro/modeloregra.cadastro.component.ts","./src/app/pages/modeloregra/cadastro/modeloregra.cadastro.component.html","./src/app/pages/modeloregra/editar/modeloregra.editar.component.ts","./src/app/pages/modeloregra/editar/modeloregra.editar.component.html","./src/app/pages/modeloregra/modeloregra.component.ts","./src/app/pages/modeloregra/modeloregra.component.html","./src/app/pages/modeloregra/modeloregra.module.ts","./src/app/pages/modeloregra/modeloregra.routing.ts","./src/app/pages/modeloregra/visualizar/modeloregra.visualizar.component.ts","./src/app/pages/modeloregra/visualizar/modeloregra.visualizar.component.html","./src/app/pages/parametroentrada/cadastro/parametroentrada.cadastro.component.ts","./src/app/pages/parametroentrada/cadastro/parametroentrada.cadastro.component.html","./src/app/pages/parametroentrada/editar/parametroentrada.editar.component.ts","./src/app/pages/parametroentrada/editar/parametroentrada.editar.component.html","./src/app/pages/parametroentrada/parametroentrada.component.ts","./src/app/pages/parametroentrada/parametroentrada.component.html","./src/app/pages/parametroentrada/parametroentrada.module.ts","./src/app/pages/parametroentrada/parametroentrada.routing.ts","./src/app/pages/parametroentrada/visualizar/parametroentrada.visualizar.component.ts","./src/app/pages/parametroentrada/visualizar/parametroentrada.visualizar.component.html","./src/app/pages/parametrosaida/cadastro/parametrosaida.cadastro.component.ts","./src/app/pages/parametrosaida/cadastro/parametrosaida.cadastro.component.html","./src/app/pages/parametrosaida/editar/parametrosaida.editar.component.ts","./src/app/pages/parametrosaida/editar/parametrosaida.editar.component.html","./src/app/pages/parametrosaida/parametrosaida.component.ts","./src/app/pages/parametrosaida/parametrosaida.component.html","./src/app/pages/parametrosaida/parametrosaida.module.ts","./src/app/pages/parametrosaida/parametrosaida.routing.ts","./src/app/pages/parametrosaida/visualizar/parametrosaida.visualizar.component.ts","./src/app/pages/parametrosaida/visualizar/parametrosaida.visualizar.component.html","./src/app/pages/perfil/cadastro/perfil.cadastro.component.ts","./src/app/pages/perfil/cadastro/perfil.cadastro.component.html","./src/app/pages/perfil/editar/perfil.editar.component.ts","./src/app/pages/perfil/editar/perfil.editar.component.html","./src/app/pages/perfil/perfil.component.ts","./src/app/pages/perfil/perfil.component.html","./src/app/pages/perfil/perfil.module.ts","./src/app/pages/perfil/perfil.routing.ts","./src/app/pages/perfil/visualizar/perfil.visualizar.component.ts","./src/app/pages/perfil/visualizar/perfil.visualizar.component.html","./src/app/pages/permissoes.pages.ts","./src/app/pages/regra/cadastro/passo1modeloregra/passo1modeloregra.component.ts","./src/app/pages/regra/cadastro/passo1modeloregra/passo1modeloregra.component.html","./src/app/pages/regra/cadastro/passo2destinatario/passo2destinatario.component.ts","./src/app/pages/regra/cadastro/passo2destinatario/passo2destinatario.component.html","./src/app/pages/regra/cadastro/passo3comportamento/passo3comportamento.component.ts","./src/app/pages/regra/cadastro/passo3comportamento/passo3comportamento.component.html","./src/app/pages/regra/cadastro/passo4periodo/passo4periodo.component.ts","./src/app/pages/regra/cadastro/passo4periodo/passo4periodo.component.html","./src/app/pages/regra/cadastro/passo5justificativa/passo5justificativa.component.ts","./src/app/pages/regra/cadastro/passo5justificativa/passo5justificativa.component.html","./src/app/pages/regra/cadastro/regra.cadastro.component.ts","./src/app/pages/regra/cadastro/regra.cadastro.component.html","./src/app/pages/regra/cadastro/regra.cadastro.module.ts","./src/app/pages/regra/comum/campo/campo.component.ts","./src/app/pages/regra/comum/campo/campo.component.html","./src/app/pages/regra/comum/comum.module.ts","./src/app/pages/regra/editar/passo1modeloregra/passo1modeloregra.component.ts","./src/app/pages/regra/editar/passo1modeloregra/passo1modeloregra.component.html","./src/app/pages/regra/editar/passo2destinatario/passo2destinatario.component.ts","./src/app/pages/regra/editar/passo2destinatario/passo2destinatario.component.html","./src/app/pages/regra/editar/passo3comportamento/passo3comportamento.component.ts","./src/app/pages/regra/editar/passo3comportamento/passo3comportamento.component.html","./src/app/pages/regra/editar/passo4periodo/passo4periodo.component.ts","./src/app/pages/regra/editar/passo4periodo/passo4periodo.component.html","./src/app/pages/regra/editar/passo5justificativa/passo5justificativa.component.ts","./src/app/pages/regra/editar/passo5justificativa/passo5justificativa.component.html","./src/app/pages/regra/editar/regra.editar.component.ts","./src/app/pages/regra/editar/regra.editar.component.html","./src/app/pages/regra/editar/regra.editar.module.ts","./src/app/pages/regra/modal/cancelar-regra.component.ts","./src/app/pages/regra/modal/parar-atualizacao-regra.component.ts","./src/app/pages/regra/regra.component.ts","./src/app/pages/regra/regra.component.html","./src/app/pages/regra/regra.module.ts","./src/app/pages/regra/regra.routing.ts","./src/app/pages/regra/visualizar/regra.visualizar.component.ts","./src/app/pages/regra/visualizar/regra.visualizar.component.html","./src/app/pages/usuario/editar/usuario.editar.component.ts","./src/app/pages/usuario/editar/usuario.editar.component.html","./src/app/pages/usuario/usuario.component.ts","./src/app/pages/usuario/usuario.component.html","./src/app/pages/usuario/usuario.module.ts","./src/app/pages/usuario/usuario.routing.ts","./src/app/pages/usuario/visualizar/usuario.visualizar.component.ts","./src/app/pages/usuario/visualizar/usuario.visualizar.component.html","./src/app/pages/usuarioconectado/dto/localizacaousuario.dto.ts","./src/app/pages/usuarioconectado/mapa/mapa.component.ts","./src/app/pages/usuarioconectado/mapa/mapa.component.html","./src/app/pages/usuarioconectado/usuarioconectado.component.ts","./src/app/pages/usuarioconectado/usuarioconectado.component.html","./src/app/pages/usuarioconectado/usuarioconectado.module.ts","./src/app/pages/usuarioconectado/usuarioconectado.routing.ts","./src/app/pipes/app.cnpj.pipe.ts","./src/app/pipes/app.cpf.pipe.ts","./src/app/pipes/app.cpfcnpj.pipe.ts","./src/app/pipes/app.datetime.pipe.ts","./src/app/pipes/app.inscricaoestadual.pipe.ts","./src/app/pipes/app.pipes.module.ts","./src/app/pipes/app.placa.pipe.ts","./src/app/pipes/app.stringlimit.pipe.ts","./src/app/services/app.alerta.service.ts","./src/app/services/app.comum.service.ts","./src/app/services/app.condicionante.service.ts","./src/app/services/app.excel.service.ts","./src/app/services/app.filtroentrada.service.ts","./src/app/services/app.localizacaoevento.service.ts","./src/app/services/app.localizacaousuario.service.ts","./src/app/services/app.login.service.ts","./src/app/services/app.modeloregra.service.ts","./src/app/services/app.modulo.service.ts","./src/app/services/app.parametrosentrada.service.ts","./src/app/services/app.parametrossaida.service.ts","./src/app/services/app.perfil.service.ts","./src/app/services/app.placa.service.ts","./src/app/services/app.regra.service.ts","./src/app/services/app.usuario.service.ts","./src/app/services/app.utils.service.ts","./src/app/services/app.utilsacessoproducao.service.ts","./src/app/validators/atender.alerta.validator.ts","./src/app/validators/condicionante.validator.ts","./src/app/validators/filtroentrada.validator.ts","./src/app/validators/modeloregra.validator.ts","./src/app/validators/modulo.validator.ts","./src/app/validators/parametroentrada.validator.ts","./src/app/validators/parametrosaida.validator.ts","./src/app/validators/passo1regra.validator.ts","./src/app/validators/passo2regra.validator.ts","./src/app/validators/passo3regra.validator.ts","./src/app/validators/passo4regra.validator.ts","./src/app/validators/passo5regra.validator.ts","./src/app/validators/perfil.validator.ts","./src/app/validators/regra.validator.ts","./src/app/validators/usuario.validator.ts","./src/environments/environment.hom.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { Component } from '@angular/core';\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n constructor() {\n }\n}\n","\n","import { NgxMaskModule } from 'ngx-mask';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { CUSTOM_ELEMENTS_SCHEMA, LOCALE_ID, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { RouterModule } from '@angular/router';\nimport { NgbDateParserFormatter, NgbDatepickerI18n, NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { CommonModule, registerLocaleData } from '@angular/common';\nimport { ToastrModule } from 'ngx-toastr';\nimport { BlockUIModule } from 'ng-block-ui';\nimport { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\nimport { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { AppRoutingModule } from './app.routing';\nimport { ComponentsModule } from './components/components.module';\n\nimport { AppComponent } from './app.component';\n\nimport { CondicionanteModule } from './pages/condicionante/condicionante.module';\nimport { UtilService } from './services/app.utils.service';\nimport { ComunService } from './services/app.comum.service';\nimport { AuthenticationProvider } from './auth/app.auth.token';\nimport { ParametroEntradaModule } from './pages/parametroentrada/parametroentrada.module';\nimport { FiltroEntradaModule } from './pages/filtroentrada/filtroentrada.module';\nimport { ParametroSaidaModule } from './pages/parametrosaida/parametrosaida.module';\nimport { DialogContainer } from './helper/app.dialog.util';\nimport { PipesModule } from './pipes/app.pipes.module';\nimport { ModeloRegraModule } from './pages/modeloregra/modeloregra.module';\nimport { RegraModule } from './pages/regra/regra.module';\nimport { PerfilModule } from './pages/perfil/perfil.module';\nimport { LoginComponent } from './login/login.component';\nimport { UsuarioModule } from './pages/usuario/usuario.module';\nimport { ModuloModule } from './pages/menu/modulo.module';\nimport { AlertaModule } from './pages/alerta/alerta.module';\nimport { DashboardModule } from './pages/dashboard/dashboard.module';\nimport { UsuarioConectadoModule } from './pages/usuarioconectado/usuarioconectado.module';\nimport { UtilAcessoProducaoService } from './services/app.utilsacessoproducao.service';\nimport { LocalizacaoEventoModule } from './pages/localizacaoevento/localizacaoevento.module';\nimport { faCalendar, faClock } from \"@fortawesome/free-regular-svg-icons\";\nimport localePt from '@angular/common/locales/pt';\nimport { LocalizacaoMapaModule } from './pages/localizacaomapa/localizacaomapa.module';\nimport { ConsultarplacasModule } from './pages/consultarplacas/consultarplacas.module';\n\nregisterLocaleData(localePt);\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n ComponentsModule,\n RouterModule,\n AppRoutingModule,\n NgbModule,\n CommonModule,\n NgxMaskModule.forRoot(),\n ToastrModule.forRoot(),\n BlockUIModule.forRoot(),\n NgbDatepickerModule,\n CondicionanteModule,\n ParametroEntradaModule,\n FiltroEntradaModule,\n ParametroSaidaModule,\n ModeloRegraModule,\n PipesModule,\n FontAwesomeModule,\n RegraModule,\n PerfilModule,\n UsuarioModule,\n ModuloModule,\n PipesModule,\n AlertaModule,\n DashboardModule,\n UsuarioConectadoModule,\n LocalizacaoEventoModule,\n LocalizacaoMapaModule,\n ConsultarplacasModule\n ],\n declarations: [AppComponent, DialogContainer, LoginComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n providers: [\n AuthenticationProvider,\n UtilService,\n ComunService,\n BlockUtil,\n UtilAcessoProducaoService,\n ComponentsModule,\n { provide: LOCALE_ID, useValue: 'pt' }\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {\n constructor(library: FaIconLibrary) {\n library.addIcons(faCalendar, faClock);\n }\n}\n","import { LoginComponent } from './login/login.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { EntradaRoutes } from './pages/parametroentrada/parametroentrada.routing';\nimport { CondicionantesRoutes } from './pages/condicionante/condicionantes.routing';\nimport { FiltroEntradaRoutes } from './pages/filtroentrada/filtroentrada.routing';\nimport { SaidaRoutes } from './pages/parametrosaida/parametrosaida.routing';\nimport { ModelosRegraComponentRoutes } from './pages/modeloregra/modeloregra.routing';\nimport { RegrasComponentRoutes } from './pages/regra/regra.routing';\nimport { PerfilComponentRoutes } from './pages/perfil/perfil.routing';\nimport { UsuarioComponentRoutes } from './pages/usuario/usuario.routing';\nimport { ModuloComponentRoutes } from './pages/menu/modulo.routing';\nimport { AlertasRoutes } from './pages/alerta/alerta.routing';\nimport { DashboardRoutes } from './pages/dashboard/dashboard.routing';\nimport { UsuarioConectadoRoutes } from './pages/usuarioconectado/usuarioconectado.routing';\nimport { LocalizacaoEventoRoutes } from './pages/localizacaoevento/localizacaoevento.routing';\nimport { ConsultarPlacasRoutes } from './pages/consultarplacas/consultarplacas.routing';\nimport { LocalizacaoMapaRoutes } from './pages/localizacaomapa/localizacaomapa.routing';\n\nconst routes: Routes = [\n {\n path: '',\n redirectTo: 'dashboard',\n pathMatch: 'full',\n },\n {\n path: 'login',\n component: LoginComponent,\n },\n ...EntradaRoutes,\n ...CondicionantesRoutes,\n ...FiltroEntradaRoutes,\n ...SaidaRoutes,\n ...ModelosRegraComponentRoutes,\n ...RegrasComponentRoutes,\n ...PerfilComponentRoutes,\n ...UsuarioComponentRoutes,\n ...ModuloComponentRoutes,\n ...AlertasRoutes,\n ...DashboardRoutes,\n ...UsuarioConectadoRoutes,\n ...LocalizacaoEventoRoutes,\n ...LocalizacaoMapaRoutes,\n ...ConsultarPlacasRoutes,\n {\n path: '**',\n redirectTo: 'dashboard',\n //resolve: [AuthTokenResolver]\n },\n];\n\n@NgModule({\n imports: [CommonModule, BrowserModule, RouterModule.forRoot(routes)],\n exports: [],\n})\nexport class AppRoutingModule { }\n","import { of } from 'rxjs';\nimport { Observable } from 'rxjs';\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { tap, catchError, retry, map } from 'rxjs/operators';\nimport { environment } from './../../environments/environment';\nimport { Token } from '../model/app.token.model';\n\n\n@Injectable()\nexport class AuthenticationProvider {\n private token: Token;\n\n constructor(private http: HttpClient) { }\n\n GetToken(): Observable {\n if (this.token)\n return of(this.token);\n\n const clientSecret = `client_secret=${environment.clientSecret}`;\n const clientId = `client_id=${environment.clientId}`;\n const grantType = 'grant_type=client_credentials';\n const data = `${grantType}&${clientId}&${clientSecret}`;\n const headers = new HttpHeaders({\n 'content-type': 'application/x-www-form-urlencoded',\n 'Accept': 'application/json, text/plain, */*'\n });\n\n return this.http.post(environment.tokenUrl, data, { headers, responseType: \"json\" })\n .pipe(\n retry(2),\n map((token: Token) => {\n this.token = token;\n setTimeout(() => { this.token = null }, this.token.expires_in * 1000);\n return token;\n }),\n catchError((erro, souce) => {\n console.log(erro);\n return of(null);\n })\n );\n\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { FooterComponent } from './footer/footer.component';\nimport { NavbarComponent } from './navbar/navbar.component';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { MasterComponent } from './master/master.component';\nimport { MasterModule } from './master/master.module';\nimport { GrupoComponent } from './sidebar/sidebar.grupo.component';\nimport { DateTimePickerComponent } from './datimepicker/app.component.datimepicker';\nimport { FormsModule } from '@angular/forms';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { CustomSearchComponent, InputsComponent } from './customSearch/customsearch.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n MasterModule,\n NgbModule,\n FormsModule,\n FontAwesomeModule,\n NgxMaskModule.forRoot(),\n ],\n declarations: [\n FooterComponent,\n NavbarComponent,\n SidebarComponent,\n MasterComponent,\n GrupoComponent,\n DateTimePickerComponent,\n CustomSearchComponent,\n InputsComponent\n \n ],\n exports: [\n FooterComponent,\n NavbarComponent,\n SidebarComponent,\n DateTimePickerComponent,\n CustomSearchComponent,\n InputsComponent\n\n ],\n providers: [\n MasterComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ComponentsModule { }\n","import { ChangeDetectorRef, Component, Input, OnInit, EventEmitter, Output } from \"@angular/core\";\nimport { Alerta, Perfil } from '../../model/index';\nimport { FormBuilder, FormControl, FormGroup, UntypedFormControl, Validators } from \"@angular/forms\";\nimport { ConfigurableFocusTrap } from \"@angular/cdk/a11y\";\nimport { AlertaService } from \"src/app/services/app.alerta.service\";\nimport { RegraService } from \"src/app/services/app.regra.service\";\n\n\n@Component({\n selector: 'app-inputs',\n template: `\n \n
\n \n \n
\n
\n \n
\n \n \n
\n
\n \n
\n \n \n
\n
\n \n
\n

De

\n \n

até

\n \n \n
\n
\n \n \n `,\n})\nexport class InputsComponent implements OnInit {\n @Input() inputProp: any;\n @Output() delete = new EventEmitter();\n @Input() body: any;\n @Input() limpar: Function;\n\n ehData: boolean = false;\n ehBoleano: boolean = false;\n ehSelect: boolean = false;\n\n periodo: any = {\n dataInicial: '',\n dataFinal: ''\n }\n\n\n constructor() {\n\n }\n\n get control(): string {\n return this.inputProp.control;\n }\n\n get options(): Array {\n return this.inputProp.options;\n }\n\n ngOnInit(): void {\n if (this.inputProp?.type?.includes('dateTime')) {\n this.ehData = true;\n }\n\n if (this.inputProp?.type?.includes('bool')) {\n this.ehBoleano = true;\n\n }\n\n if (this.inputProp?.type?.includes('string') && this.inputProp?.options.length > 0) {\n this.ehSelect = true;\n\n }\n\n\n }\n\n onBlur(event) {\n this.body[this.inputProp.control] = event.target.value;\n }\n\n\n onBlurData(event, tipo) {\n\n if (tipo == 1) {\n\n this.periodo.dataInicial = event.target.value;\n } else if (this.periodo.dataInicial && tipo == 2) {\n\n this.periodo.dataFinal = event.target.value;\n\n this.body[this.inputProp.control] = this.periodo;\n\n }\n }\n\n selectChange(event){\n \n this.body[this.inputProp.control] = event.target.value;\n }\n\n excluir(event) {\n this.body[this.inputProp.control] = \"\";\n\n\n this.delete.emit(event);\n }\n\n}\n\n\n@Component({\n selector: 'app-inputsearch',\n templateUrl: './customsearch.component.html',\n styleUrls: ['./customsearch.component.scss']\n})\n\n\nexport class CustomSearchComponent {\n @Input() colsGrid: Array;\n @Input() module?: string;\n @Input() service: any;\n @Output() closeSearch = new EventEmitter();\n @Output() cleanSearch = new EventEmitter();\n\n\n public form: FormGroup;\n public inputs: any = [];\n public body: any = {};\n\n constructor(\n private formBuilder: FormBuilder,\n private cdr: ChangeDetectorRef,\n public alertaService: AlertaService,\n public regraService: RegraService,\n\n ) { }\n\n selectChange(event) {\n\n let col = this.colsGrid.filter(c => c.colKey == event.target.value);\n\n if (!this.inputs.some(i => i.control == col[0].colKey)) {\n this.inputs.push(\n {\n control: col[0]?.colKey,\n placeHolder: `Digite ${col[0]?.colName}`,\n type: col[0].type,\n options: col[0].options\n });\n }\n }\n\n closer() {\n this.closeSearch.emit(false);\n }\n\n delete(event) {\n\n this.inputs.splice(event, 1);\n\n }\n\n search() {\n this.body['filtroGenerico'] =''\n \n this.service.get(this.body);\n this.body = {};\n }\n\n limpar() {\n const el: HTMLFormElement = document.getElementById('pesquisaAvancadaForm') as any;\n\n\n el.reset();\n\n this.cleanSearch.emit();\n\n }\n\n}\n\n","
\n
\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n \n \n
\n
\n\n
\n
","import { NgbTimeStruct, NgbDateStruct } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DatePipe } from \"@angular/common\";\n\nexport interface NgbDateTimeStruct extends NgbDateStruct, NgbTimeStruct { }\n\nexport class DateTimeModel implements NgbDateTimeStruct {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n\n timeZoneOffset: number;\n\n public constructor(init?: Partial) {\n Object.assign(this, init);\n }\n\n public static fromLocalString(dateString: string): DateTimeModel {\n const date = new Date(dateString);\n\n const isValidDate = !isNaN(date.valueOf());\n\n if (!dateString || !isValidDate) {\n return null;\n }\n\n return new DateTimeModel({\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n second: date.getSeconds(),\n timeZoneOffset: date.getTimezoneOffset()\n });\n }\n\n private isInteger(value: any): value is number {\n return (\n typeof value === \"number\" &&\n isFinite(value) &&\n Math.floor(value) === value\n );\n }\n\n public toString(): string {\n if (\n this.isInteger(this.year) &&\n this.isInteger(this.month) &&\n this.isInteger(this.day)\n ) {\n const year = this.year.toString().padStart(2, \"0\");\n const month = this.month.toString().padStart(2, \"0\");\n const day = this.day.toString().padStart(2, \"0\");\n\n if (!this.hour) {\n this.hour = 0;\n }\n if (!this.minute) {\n this.minute = 0;\n }\n if (!this.second) {\n this.second = 0;\n }\n if (!this.timeZoneOffset) {\n this.timeZoneOffset = new Date().getTimezoneOffset();\n }\n\n const hour = this.hour.toString().padStart(2, \"0\");\n const minute = this.minute.toString().padStart(2, \"0\");\n const second = this.second.toString().padStart(2, \"0\");\n\n const tzo = -this.timeZoneOffset;\n const dif = tzo >= 0 ? \"+\" : \"-\",\n pad = function (num) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? \"0\" : \"\") + norm;\n };\n\n const isoString = `${pad(year)}-${pad(month)}-${pad(day)}T${pad(\n hour\n )}:${pad(minute)}:${pad(second)}${dif}${pad(tzo / 60)}:${pad(tzo % 60)}`;\n return isoString;\n }\n\n return null;\n }\n}\n","import {\n Component,\n OnInit,\n Input,\n forwardRef,\n ViewChild,\n AfterViewInit,\n Injector,\n ChangeDetectionStrategy\n} from \"@angular/core\";\nimport {\n NgbTimeStruct,\n NgbDateStruct,\n NgbPopoverConfig,\n NgbPopover,\n NgbDatepicker\n} from \"@ng-bootstrap/ng-bootstrap\";\nimport {\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n NgControl\n} from \"@angular/forms\";\nimport { DatePipe } from \"@angular/common\";\nimport { noop } from \"rxjs\";\nimport { DateTimeModel } from \"./app.component.datimepicker.model\";\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: \"app-date-time-picker\",\n templateUrl: \"./app.component.datimepicker.html\",\n styleUrls: [\"./app.component.datimepicker.scss\"],\n providers: [\n DatePipe,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DateTimePickerComponent),\n multi: true\n }\n ]\n})\nexport class DateTimePickerComponent\n implements ControlValueAccessor, OnInit, AfterViewInit {\n @Input()\n dateString: string;\n\n @Input()\n inputDatetimeFormat = \"dd/MM/yyyy HH:mm:ss\";\n @Input()\n hourStep = 1;\n @Input()\n minuteStep = 15;\n @Input()\n secondStep = 30;\n @Input()\n seconds = true;\n\n @Input()\n disabled = false;\n @Input()\n ehEdicao = false;\n\n @Input() set noSelectTime(_: any) {\n this.selectTime = false;\n }\n\n @Input() set internalClass(internalClass: string) {\n this.class = internalClass;\n }\n\n private showTimePickerToggle = false;\n\n public selectTime = true;\n public class: string = \"input-group mr-2\";\n private datetime: DateTimeModel = new DateTimeModel();\n private firstTimeAssign = false;\n public mask = this.inputDatetimeFormat.replace(/[a-zA-Z]/g, \"0\");\n\n @ViewChild(NgbPopover, { static: true })\n private popover: NgbPopover;\n\n private onTouched: () => void = noop;\n private onChange: (_: any) => void = noop;\n\n public ngControl: NgControl;\n\n constructor(private config: NgbPopoverConfig, private inj: Injector) {\n config.autoClose = \"outside\";\n config.placement = \"auto\";\n }\n\n ngOnInit(): void {\n this.ngControl = this.inj.get(NgControl);\n this.mask = this.inputDatetimeFormat.replace(/[a-zA-Z]/g, \"0\");\n }\n\n ngAfterViewInit(): void {\n this.popover.hidden.subscribe($event => this.showTimePickerToggle = false);\n }\n\n writeValue(newModel: string) {\n if (newModel) {\n this.datetime = Object.assign(\n this.datetime,\n DateTimeModel.fromLocalString(newModel)\n );\n this.dateString = newModel;\n this.setDateStringModel();\n } else\n this.datetime = new DateTimeModel();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n toggleDateTimeState($event) {\n this.showTimePickerToggle = !this.showTimePickerToggle;\n $event.stopPropagation();\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onInputChange($event: any) {\n const value = $event.target.value;\n const dt = DateTimeModel.fromLocalString(value);\n\n if (dt) {\n this.datetime = dt;\n this.setDateStringModel();\n } else if (value.trim() === \"\") {\n this.datetime = new DateTimeModel();\n this.dateString = \"\";\n this.onChange(this.dateString);\n } else\n this.onChange(value);\n }\n\n onDateChange($event: string | NgbDateStruct, dp: NgbDatepicker) {\n const date = new DateTimeModel($event);\n\n if (!date) {\n this.dateString = this.dateString;\n return;\n }\n\n if (!this.datetime)\n this.datetime = date;\n\n this.datetime.year = date.year;\n this.datetime.month = date.month;\n this.datetime.day = date.day;\n\n const adjustedDate = new Date(this.datetime.toString());\n if (this.datetime.timeZoneOffset !== adjustedDate.getTimezoneOffset()) {\n this.datetime.timeZoneOffset = adjustedDate.getTimezoneOffset();\n }\n\n this.setDateStringModel();\n this.popover.close(); \n }\n\n onTimeChange(event: NgbTimeStruct) {\n this.datetime.hour = event.hour;\n this.datetime.minute = event.minute;\n this.datetime.second = event.second;\n\n this.setDateStringModel();\n }\n\n setDateStringModel() {\n const dateString = this.datetime.toString();\n\n if (this.dateString == dateString)\n return;\n\n this.dateString = dateString;\n\n if (!this.firstTimeAssign)\n this.onChange(this.dateString);\n else if (this.dateString !== null)\n this.firstTimeAssign = false;\n }\n\n inputBlur($event) {\n this.onTouched();\n }\n}\n","
\n \n\n
\n \n
\n
\n\n\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent implements OnInit {\n test : Date = new Date();\n \n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","\n","import { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\nimport { Component, ViewChildren, QueryList } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\n@Component({\n selector: 'app-master',\n templateUrl: './master.component.html',\n providers: [DecimalPipe]\n})\nexport class MasterComponent {\n closeResult = '';\n advancedSearch = false;\n\n constructor(private modalService: NgbModal) {\n }\n\n setAdvancedSearch() {\n this.advancedSearch = true\n }\n\n closeAdvancedSearch() {\n this.advancedSearch = false\n }\n\n private getDismissReason(reason: any): string {\n if (reason === ModalDismissReasons.ESC) {\n return 'by pressing ESC';\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\n return 'by clicking on a backdrop';\n } else {\n return `with: ${reason}`;\n }\n }\n}\n","
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n \n \n
\n
","import { Component, Input, ElementRef } from '@angular/core';\nimport { ContentService } from \"./master.content.service\";\n\n@Component({\n selector: 'my-content',\n template: ''\n})\nexport class ContentComponent {\n @Input() placeholder: string;\n @Input() dateUpdate: any = {};\n\n constructor(\n private elementRef: ElementRef,\n private contentService: ContentService\n ) { }\n\n ngOnInit() {\n this.contentService.registerContent({\n placeholder: this.placeholder,\n elementRef: this.elementRef\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\nimport { ContentDescriptor } from './master.module';\n\n@Injectable()\nexport class ContentService {\n private contentInit$ = new Subject();\n\n contentInit(): Observable {\n return this.contentInit$.asObservable();\n }\n\n registerContent(content: ContentDescriptor) {\n this.contentInit$.next(content);\n }\n}\n","import { NgModule, ElementRef } from '@angular/core';\nimport { PlaceholderComponent } from './master.placeholder.component';\nimport { ContentComponent } from './master.content.component';\nimport { ContentService } from './master.content.service';\n\nexport interface ContentDescriptor {\n placeholder: string;\n elementRef: ElementRef;\n}\n\n@NgModule({\n declarations: [PlaceholderComponent, ContentComponent],\n exports: [PlaceholderComponent, ContentComponent],\n providers: [ContentService],\n})\nexport class MasterModule {\n\n}\n","import { Component, Input, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ContentService } from \"./master.content.service\";\nimport { ContentDescriptor } from './master.module';\n\n@Component({\n selector: 'my-placeholder',\n template: ''\n})\nexport class PlaceholderComponent {\n @Input() name: string;\n\n private subscription: Subscription;\n\n constructor(\n private containerRef: ViewContainerRef,\n private contentService: ContentService\n ) {\n this.subscription = contentService.contentInit().subscribe((content: ContentDescriptor) => {\n if (content.placeholder == this.name) {\n this.containerRef.clear();\n this.containerRef.element.nativeElement.appendChild(content.elementRef.nativeElement);\n }\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n","import { Component, OnInit, ElementRef } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { Usuario } from 'src/app/model';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.css']\n})\nexport class NavbarComponent implements OnInit {\n location: Location;\n mobile_menu_visible: any = 0;\n private toggleButton: any;\n private sidebarVisible: boolean;\n\n public isCollapsed = true;\n\n constructor(\n location: Location,\n private element: ElementRef,\n private router: Router,\n private accountService: AccountService) {\n this.location = location;\n this.sidebarVisible = false;\n }\n\n get usuario(): Usuario {\n return this.accountService.userValue;\n }\n\n ngOnInit() {\n const navbar: HTMLElement = this.element.nativeElement;\n this.toggleButton = navbar.getElementsByClassName('navbar-toggler')[0];\n this.router.events.subscribe((event) => {\n this.sidebarClose();\n var $layer: any = document.getElementsByClassName('close-layer')[0];\n if ($layer) {\n $layer.remove();\n this.mobile_menu_visible = 0;\n }\n });\n }\n\n collapse() {\n this.isCollapsed = !this.isCollapsed;\n const navbar = document.getElementsByTagName('nav')[0];\n console.log(navbar);\n if (!this.isCollapsed) {\n navbar.classList.remove('navbar-transparent');\n navbar.classList.add('bg-white');\n } else {\n navbar.classList.add('navbar-transparent');\n navbar.classList.remove('bg-white');\n }\n\n }\n\n sidebarOpen() {\n const toggleButton = this.toggleButton;\n const mainPanel = document.getElementsByClassName('main-panel')[0];\n const html = document.getElementsByTagName('html')[0];\n if (window.innerWidth < 991) {\n mainPanel.style.position = 'fixed';\n }\n\n setTimeout(function () {\n toggleButton.classList.add('toggled');\n }, 500);\n\n html.classList.add('nav-open');\n\n this.sidebarVisible = true;\n };\n sidebarClose() {\n const html = document.getElementsByTagName('html')[0];\n this.toggleButton.classList.remove('toggled');\n const mainPanel = document.getElementsByClassName('main-panel')[0];\n\n if (window.innerWidth < 991) {\n setTimeout(function () {\n mainPanel.style.position = '';\n }, 500);\n }\n this.sidebarVisible = false;\n html.classList.remove('nav-open');\n };\n sidebarToggle() {\n // const toggleButton = this.toggleButton;\n // const html = document.getElementsByTagName('html')[0];\n var $toggle = document.getElementsByClassName('navbar-toggler')[0];\n\n if (this.sidebarVisible === false) {\n this.sidebarOpen();\n } else {\n this.sidebarClose();\n }\n const html = document.getElementsByTagName('html')[0];\n\n if (this.mobile_menu_visible == 1) {\n // $('html').removeClass('nav-open');\n html.classList.remove('nav-open');\n if ($layer) {\n $layer.remove();\n }\n setTimeout(function () {\n $toggle.classList.remove('toggled');\n }, 400);\n\n this.mobile_menu_visible = 0;\n } else {\n setTimeout(function () {\n $toggle.classList.add('toggled');\n }, 430);\n\n var $layer = document.createElement('div');\n $layer.setAttribute('class', 'close-layer');\n\n\n if (html.querySelectorAll('.main-panel')) {\n document.getElementsByClassName('main-panel')[0].appendChild($layer);\n } else if (html.classList.contains('off-canvas-sidebar')) {\n document.getElementsByClassName('wrapper-full-page')[0].appendChild($layer);\n }\n\n setTimeout(function () {\n $layer.classList.add('visible');\n }, 100);\n\n $layer.onclick = function () { //asign a function\n html.classList.remove('nav-open');\n this.mobile_menu_visible = 0;\n $layer.classList.remove('visible');\n setTimeout(function () {\n $layer.remove();\n $toggle.classList.remove('toggled');\n }, 400);\n }.bind(this);\n\n html.classList.add('nav-open');\n this.mobile_menu_visible = 1;\n\n }\n };\n\n getTitle() {\n var titlee = this.location.prepareExternalUrl(this.location.path());\n if (titlee.charAt(0) === '#') {\n titlee = titlee.slice(2);\n }\n titlee = titlee.split('/').pop().replace(/\\?.[a-zA-Z0-9=&]+|#/g, '');\n\n return titlee;\n\n\n // for(var item = 0; item < this.listTitles.length; item++){\n // console.log(this.listTitles[item].path)\n // if(this.listTitles[item].path.split('/').pop() === titlee){\n // return this.listTitles[item].title;\n // }\n\n // }\n\n }\n\n logout(){\n this.accountService.Logout();\n }\n}\n","","import { filter, tap } from 'rxjs/operators';\nimport { Component, OnInit, Pipe } from '@angular/core';\nimport { Grupo } from 'src/app/model/app.grupo.model';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { EGrupo } from 'src/app/constantes/app.egrupo.const';\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.css']\n})\nexport class SidebarComponent implements OnInit {\n public grupos: Grupo[] = []\n\n constructor(\n private service: ComunService,\n private accountService: AccountService) {\n\n this.accountService.$user\n .pipe(\n filter(usuario => !!usuario)\n ).subscribe({\n next: usuario =>\n this.service.ObterModulosPorUsuario(usuario.usuarioId)\n .subscribe(modulos =>\n this.grupos = modulos.reduce((final, { grupoId: grupoID, grupoNome: nome }, i, modulos) => {\n if (!final.some(({ grupoId }) => grupoId == grupoID)) {\n const modulosGrupo = modulos.filter(({ grupoId }) => grupoId == grupoID);\n const ehUnico = modulosGrupo.length == 1;\n\n if (grupoID == EGrupo.DASHBOARD)\n final.unshift(new Grupo({ grupoID, nome, modulos: modulosGrupo, ehUnico }));\n else if (grupoID == EGrupo.ALERTA) {\n const regraIndex = final.findIndex(({ grupoId }) => grupoId == EGrupo.REGRAS);\n if (regraIndex != -1)\n final.splice(regraIndex + 1, 0, new Grupo({ grupoID, nome, modulos: modulosGrupo, ehUnico }))\n }\n else\n final.push(new Grupo({ grupoID, nome, modulos: modulosGrupo, ehUnico }));\n }\n return final;\n }, []))\n });\n\n }\n\n get modulosCarregados() { return !!this.grupos.length; }\n\n ngOnInit() {\n }\n\n isMobileMenu() {\n return window.innerWidth < 991;\n };\n}\n","\n
\n
    \n \n
\n
","import { Component, Input } from '@angular/core';\nimport { Modulo } from 'src/app/model';\nimport { Grupo } from 'src/app/model/app.grupo.model';\n\n@Component({\n selector: 'app-sidebar-grupo',\n template: `\n \n
  • \n \n \n \n

    {{grupo.nome}}

    \n
    \n
  • \n \n
    \n \n
  • \n \n \n \n \n

    {{grupo.modulos[0].titulo}}

    \n \n
    \n
  • \n
    \n `\n})\n\nexport class GrupoComponent {\n @Input() grupo: Grupo;\n private _estaAberto: boolean = false;\n\n get estaAberto() {\n return this._estaAberto;\n }\n\n set estaAberto(estaAberto: boolean) {\n this._estaAberto = estaAberto;\n }\n}\n","import { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nexport enum EAcao {\n PESQUISAR = 1,\n LIMPAR = 2,\n CADASTRAR = 3,\n ALTERAR = 4,\n VISUALIZAR = 5,\n EXCLUIR = 6\n}\nexport namespace EAcao {\n export function toString(acao: EAcao | number): string {\n switch (acao) {\n case EAcao.PESQUISAR: return 'PESQUISAR';\n case EAcao.LIMPAR: return 'LIMPAR';\n case EAcao.CADASTRAR: return 'CADASTRAR';\n case EAcao.ALTERAR: return 'ALTERAR';\n case EAcao.VISUALIZAR: return 'VISUALIZAR';\n case EAcao.EXCLUIR: return 'EXCLUIR';\n }\n }\n\n export function toList(): ListItem[] {\n return Object.keys(EAcao)\n .filter(value => isNaN(Number(value)) === false)\n .map(key => ({ acaoId: +key, nome: EAcao.toString(+key) }));\n }\n\n export function toObject(): any {\n return Object.keys(EAcao)\n .filter(value => isNaN(Number(value)) === false)\n .reduce((final, chave) => ({\n ...final,\n [EAcao.toString(+chave)]: false\n }), {});\n }\n}\n\n","import { ListItem } from \"../interfaces/app.utilservices.interface\";\n\nexport enum EGrupo {\n ADMINISTRATIVO = 1,\n REGRAS = 2,\n CONSULTA = 3,\n ALERTA = 4,\n DASHBOARD = 5\n}\n\nexport namespace EGrupo {\n export function toString(situacao: EGrupo | number): string {\n switch (situacao) {\n case EGrupo.ADMINISTRATIVO: return 'ADMINISTRATIVO';\n case EGrupo.REGRAS: return 'REGRAS';\n case EGrupo.CONSULTA: return 'CONSULTA';\n case EGrupo.ALERTA: return 'ALERTA';\n case EGrupo.DASHBOARD: return 'DASHBOARD';\n \n\n }\n }\n\n export function toListAll(): ListItem[] {\n return Object.keys(EGrupo)\n .filter((value) => isNaN(Number(value)) === false)\n .map((key) => ({ id: +key, nome: EGrupo.toString(+key) }))\n \n }\n}","export enum EOrderBy {\n ASC = 1,\n DESC = 2\n}\n","import { ListItem } from '../interfaces/app.utilservices.interface';\n\nexport enum ESituacao {\n ATIVO = 1,\n DESATIVADO = 2,\n EXCLUIDO = 3,\n PENDENTE = 4,\n ATRIBUIDO = 5,\n CANCELADO = 6,\n EM_ATENDIMENTO = 7,\n FINALIZADO = 8,\n DEVOLVER_ATENDIMENTO = 9,\n VINCULADO = 10\n}\n\nexport namespace ESituacao {\n export function toString(situacao: ESituacao | number): string {\n switch (situacao) {\n case ESituacao.ATIVO: return 'ATIVO';\n case ESituacao.DESATIVADO: return 'DESATIVADO';\n case ESituacao.EXCLUIDO: return 'EXCLUÍDO';\n case ESituacao.PENDENTE: return 'PENDENTE';\n case ESituacao.ATRIBUIDO: return 'ATRIBUÍDO';\n case ESituacao.CANCELADO: return 'CANCELADO';\n case ESituacao.EM_ATENDIMENTO: return 'EM ATENDIMENTO';\n case ESituacao.FINALIZADO: return 'FINALIZADO';\n case ESituacao.DEVOLVER_ATENDIMENTO: return 'DEVOLVER ATENDIMENTO';\n case ESituacao.VINCULADO: return 'VINCULADO';\n }\n }\n\n export function toList(): ListItem[] {\n return Object.keys(ESituacao)\n .filter((value) => isNaN(Number(value)) === false)\n .map((key) => ({ situacaoId: +key, nome: ESituacao.toString(+key) }))\n .filter(({ situacaoId }) => situacaoId != ESituacao.EXCLUIDO);\n }\n\n export function toListAll(): ListItem[] {\n return Object.keys(ESituacao)\n .filter((value) => isNaN(Number(value)) === false)\n .map((key) => ({ id: +key, nome: ESituacao.toString(+key) }))\n }\n}\n","import { ListItem } from \"../interfaces/app.utilservices.interface\";\n\nexport enum ETipoDado {\n TEXTO = 1,\n INTEIRO = 2,\n DECIMAL = 3,\n DATAHORA = 4,\n CNPJ = 5,\n INSCRICAO_ESTADUAL = 6,\n PLACA = 7,\n UF = 8,\n CPF = 9,\n KM = 9,\n EQUIPAMENTOS = 10,\n OUTROS = 13,\n}\n\nexport namespace ETipoDado {\n export function toString(situacao: ETipoDado | number): string {\n switch (situacao) {\n case ETipoDado.TEXTO: return 'TEXTO';\n case ETipoDado.INTEIRO: return 'INTEIRO';\n case ETipoDado.DECIMAL: return 'DECIMAL';\n case ETipoDado.DATAHORA: return 'DATAHORA';\n case ETipoDado.CNPJ: return 'CNPJ';\n case ETipoDado.INSCRICAO_ESTADUAL: return 'INSCRICAO_ESTADUAL';\n case ETipoDado.PLACA: return 'PLACA';\n case ETipoDado.UF: return 'UF';\n case ETipoDado.CPF: return 'CPF';\n case ETipoDado.KM: return 'KM';\n case ETipoDado.EQUIPAMENTOS: return 'EQUIPAMENTOS';\n case ETipoDado.OUTROS: return 'OUTROS';\n\n }\n }\n\n export function toListAll(): ListItem[] {\n return Object.keys(ETipoDado)\n .filter((value) => isNaN(Number(value)) === false)\n .map((key) => ({ id: +key, nome: ETipoDado.toString(+key) }))\n // .filter(({ tipoDadoId }) => tipoDadoId != ETipoDado.INTEIRO && tipoDadoId != ETipoDado.DECIMAL && tipoDadoId != ETipoDado.TEXTO );\n \n }\n}\n","import { ListItem } from '../interfaces/app.utilservices.interface';\n\nexport enum ETipoDestinatario {\n LOCALIZACAO = 1,\n //TODOS = 2,\n UNIDADE_FISCAL = 3,\n}\n\nexport namespace ETipoDestinatario {\n export function toString (situacao: ETipoDestinatario | number): string {\n switch (situacao) {\n case ETipoDestinatario.LOCALIZACAO:\n return 'LOCALIZAÇÃO';\n //case ETipoDestinatario.TODOS: return 'TODAS AS UNIDADES';\n case ETipoDestinatario.UNIDADE_FISCAL:\n return 'UNIDADE FISCAL';\n }\n }\n\n export function toList (): ListItem[] {\n return Object.keys(ETipoDestinatario)\n .filter(value => isNaN(Number(value)) === false)\n .map(key => ({ tipoDestinatarioId: +key, nome: ETipoDestinatario.toString(+key) }));\n }\n}\n","import { ListItem } from '../interfaces/app.utilservices.interface';\n\nexport enum ETipoLiberacao {\n SEM_IRREGULARIDADES = 1,\n TERMO_DE_APREENSAO = 2,\n TERMO_DE_VERIFICACAO_FISCAL = 3,\n ALIM = 4,\n OUTRAS_LIBERCOES = 5,\n REGISTRO_DE_PASSAGEM_ESTADUAL = 6\n}\n\nexport namespace ETipoLiberacao {\n export function toString(situacao: ETipoLiberacao | number): string {\n switch (situacao) {\n case ETipoLiberacao.SEM_IRREGULARIDADES: return 'SEM IRREGULARIDADES';\n case ETipoLiberacao.TERMO_DE_APREENSAO: return 'TERMO DE APREENSÃO';\n case ETipoLiberacao.TERMO_DE_VERIFICACAO_FISCAL: return 'TERMO DE VERIFICAÇÃO FISCAL';\n case ETipoLiberacao.ALIM: return 'ALIM';\n case ETipoLiberacao.OUTRAS_LIBERCOES: return 'OUTRAS LIBERAÇÕES';\n case ETipoLiberacao.REGISTRO_DE_PASSAGEM_ESTADUAL: return 'REGISTRO DE PASSAGEM ESTADUAL';\n }\n }\n\n export function toList(): ListItem[] {\n return Object.keys(ETipoLiberacao)\n .filter((value) => isNaN(Number(value)) === false)\n .map((key) => ({ tipoLiberacaoId: +key, nome: ETipoLiberacao.toString(+key) }));\n }\n}\n","export enum ETipoPlaca {\n MDFE = 1,\n RPE = 2,\n TA = 3,\n TVF = 4,\n RPA = 5\n}\n","import { ListItem } from \"../interfaces/app.utilservices.interface\";\n\n\nexport enum EUF {\n AC = 1,\n AL,\n AP,\n AM,\n BA,\n CE,\n DF,\n ES,\n GO,\n MA,\n MT,\n MS,\n MG,\n PA,\n PB,\n PR,\n PE,\n PI,\n RJ,\n RN,\n RS,\n RO,\n RR,\n SC,\n SP,\n SE,\n TO,\n EX\n}\n\nexport namespace EUF {\n\n export function toString(uf: EUF | number): string {\n switch (uf) {\n case EUF.AC: return 'Acre';\n case EUF.RO: return 'Rondônia';\n case EUF.AM: return 'Amazonas';\n case EUF.RR: return 'Roraima';\n case EUF.AP: return 'Amapá';\n case EUF.TO: return 'Tocantins';\n case EUF.MA: return 'Maranhão';\n case EUF.CE: return 'Ceará';\n case EUF.RN: return 'Rio Grande do Norte';\n case EUF.PB: return 'Paraíba';\n case EUF.PE: return 'Pernambuco';\n case EUF.PI: return 'Piauí';\n case EUF.PA: return 'Pará';\n case EUF.AL: return 'Alagoas';\n case EUF.SE: return 'Sergipe';\n case EUF.BA: return 'Bahia';\n case EUF.MG: return 'Minas Gerais';\n case EUF.ES: return 'Espírito Santo';\n case EUF.RJ: return 'Rio de Janeiro';\n case EUF.SP: return 'São Paulo';\n case EUF.PR: return 'Paraná';\n case EUF.SC: return 'Santa Catarina';\n case EUF.RS: return 'Rio Grande do Sul';\n case EUF.MS: return 'Mato Grosso do Sul';\n case EUF.MT: return 'Mato Grosso';\n case EUF.GO: return 'Goiás';\n case EUF.DF: return 'Distrito Federal';\n case EUF.EX: return 'Exterior';\n }\n }\n\n export function toList(): ListItem[] {\n return Object.keys(EUF)\n .filter(value => isNaN(Number(value)) === false)\n .map(key => ({ siglaUf: EUF[+key], nome: EUF.toString(+key) }));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NgbdSortableHeader } from './app.sortable.directive';\n\n@NgModule({\n imports: [],\n declarations: [NgbdSortableHeader],\n exports: [NgbdSortableHeader]\n})\nexport class DirectivesModule { }\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\n\nexport type SortColumn = keyof T | '';\nexport type SortDirection = EOrderBy.ASC | EOrderBy.DESC | '';\nconst rotate: { [key: string]: SortDirection } = { [EOrderBy.ASC]: EOrderBy.DESC, [EOrderBy.DESC]: '', '': EOrderBy.ASC };\n\nexport interface SortEvent {\n column: SortColumn;\n direction: SortDirection;\n}\n\n@Directive({\n selector: 'th[sortable]',\n host: {\n '[class.asc]': `direction === ${EOrderBy.ASC}`,\n '[class.desc]': `direction === ${EOrderBy.DESC}`,\n '(click)': 'rotate()'\n }\n})\nexport class NgbdSortableHeader {\n\n @Input() sortable: SortColumn = '';\n @Input() direction: SortDirection = '';\n @Output() sort = new EventEmitter>();\n\n rotate() {\n this.direction = rotate[this.direction];\n this.sort.emit({ column: this.sortable, direction: this.direction });\n }\n}\n","import { tap, switchMap, catchError } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { environment } from 'src/environments/environment';\n\nconst getParameterByName = (name: string, url: string = window.location.href) => {\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AutenticationGuard implements CanActivate {\n\n constructor(\n private router: Router,\n private accountService: AccountService\n ) { }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n\n const [caminho] = route.routeConfig.path.split(\"/\");\n const chave = getParameterByName(\"id\");\n\n if (String.isNullOrEmpty(chave) && !this.accountService.userLogged) {\n window.location.href = environment.efazendaUrl;\n return of(false);\n } else if (!this.accountService.userLogged) {\n\n return this.accountService.Login(chave)\n .pipe(\n switchMap(usuario => {\n console.log(usuario)\n return this.verifyPermissionScreen(caminho, route.data.permissao);\n }),\n catchError(() => this.router.navigate(['/login']))\n );\n }\n\n return this.verifyPermissionScreen(caminho, route.data.permissao);\n }\n\n verifyPermissionScreen(caminho: string, permissao: number): Observable {\n return this.accountService.CheckPermission(caminho, permissao)\n .pipe(\n tap(isValid => {\n if (!isValid)\n this.router.navigate(['/login']);\n })\n );\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { BlockUIService } from \"ng-block-ui\";\n\n@Injectable()\nexport class BlockUtil {\n blockName: string;\n\n constructor(private blockUIService: BlockUIService) { }\n\n bloquear(instanceName: string = null): void {\n this.blockUIService.start(instanceName || this.blockName);\n }\n\n desbloquear(instanceName: string = null): void {\n this.blockUIService.stop(instanceName || this.blockName);\n }\n}\n","import { Component, Injectable, Input } from '@angular/core';\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\nexport interface ButtonDialog {\n label: string;\n class: string | null;\n callback: Function | null;\n}\n\nexport interface DialogModal {\n title: string | null;\n text: string | null;\n btns: ButtonDialog[];\n}\n\n@Component({\n selector: 'ngbd-modal-content',\n template: `\n\t\t
    \n\t\t\t
    \n\t\t\t\t

    {{config.title}}

    \n\t\t\t\tx\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t
    \n\t\t`\n})\nexport class DialogContainer {\n @Input() config: DialogModal;\n @Input() exibirTitulo: boolean = false;\n @Input() exibirTexto: boolean;\n @Input() exibirBotoes: boolean;\n\n onClick(cb: Function | null) {\n cb?.();\n this.activeModal.close();\n }\n\n constructor(public activeModal: NgbActiveModal) {\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogUtil {\n constructor(private modalService: NgbModal) { }\n\n open(config: DialogModal) {\n const modalRef = this.modalService.open(DialogContainer);\n modalRef.componentInstance.config = config;\n modalRef.componentInstance.exibirTitulo = config.title != null && config.title != '';\n modalRef.componentInstance.exibirTexto = config.text != null && config.text != '';\n modalRef.componentInstance.exibirBotoes = config.btns.length > 0;\n }\n}\n","import { FormControl, UntypedFormControl, Validators } from '@angular/forms';\nimport { Injectable } from '@angular/core';\nimport { ETipoDado } from 'src/app/constantes/app.etipodado.const';\nimport { CpfPipe } from 'src/app/pipes/app.cpf.pipe';\nimport { CnpjPipe } from 'src/app/pipes/app.cnpj.pipe';\nimport { PlacaPipe } from 'src/app/pipes/app.placa.pipe';\nimport { InscricaoEstadualPipe } from 'src/app/pipes/app.inscricaoestadual.pipe';\n\n@Injectable()\nexport class FormControlUtil {\n\n private _tipoCampo: any;\n\n constructor(\n private cpfPipe: CpfPipe,\n private cnpjPipe: CnpjPipe,\n private placaPipe: PlacaPipe,\n private inscricaoEstadualPipe: InscricaoEstadualPipe\n ) {\n\n this._tipoCampo = {\n [ETipoDado.CPF]: {\n formControl: (value = {}) => new UntypedFormControl(value, [Validators.required, Validators.minLength(11), Validators.maxLength(14)]),\n transform: this.cpfPipe.transform\n },\n [ETipoDado.CNPJ]: {\n formControl: (value = {}) => new UntypedFormControl(value, [Validators.required, Validators.minLength(14), Validators.maxLength(18)]),\n transform: this.cnpjPipe.transform\n },\n [ETipoDado.INSCRICAO_ESTADUAL]: {\n formControl: (value = {}) => new UntypedFormControl(value, Validators.required),\n transform: this.inscricaoEstadualPipe.transform\n },\n [ETipoDado.PLACA]: {\n formControl: (value = {}) => new UntypedFormControl(value, [Validators.required, Validators.minLength(6)]),\n transform: this.placaPipe.transform\n },\n [ETipoDado.TEXTO]: { formControl: (value = '') => new UntypedFormControl(value, Validators.required) },\n [ETipoDado.INTEIRO]: { formControl: (value = '') => new UntypedFormControl(value, Validators.required) },\n [ETipoDado.DECIMAL]: { formControl: (value = '') => new UntypedFormControl(value, Validators.required) },\n [ETipoDado.DATAHORA]: { formControl: (value = '') => new UntypedFormControl(value, { validators: [DateTimeValidator, Validators.required] }) },\n [ETipoDado.UF]: { formControl: (value = '') => new UntypedFormControl(value, Validators.required) },\n [ETipoDado.EQUIPAMENTOS]: {\n formControl: (value = []) => new UntypedFormControl(value, Validators.required),\n transform: value => value ? ([value]) : ([])\n },\n [ETipoDado.OUTROS]: { formControl: (value = '') => new UntypedFormControl(value, Validators.required) }\n }\n }\n\n get tipo(): any { return this._tipoCampo; }\n}\n\nexport const DateTimeValidator = (fc: FormControl) => {\n const date = new Date(fc.value);\n const isValid = !isNaN(date.valueOf());\n\n return isValid ? null : {\n isValid: {\n valid: false\n }\n };\n};\n","import { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\n\nexport enum ToastType {\n\tDEFAULT = 0,\n\tSUCCESS = 1,\n\tINFO = 2,\t\n\tWARNING = 3,\n\tDANGER = 4,\n}\n\ninterface ToastMultiple {\n\ttype: ToastType;\n\tmessage: string;\n\ttitle?: string;\n}\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class ToastUtil {\n\n\tconstructor(public toastr: ToastrService) { }\n\n\tshowMultiple(messages: ToastMultiple[]) {\n\t\tfor (const { type, message, title } of messages) {\n\t\t\tswitch (type) {\n\t\t\t\tcase ToastType.DEFAULT:\n\t\t\t\t\tthis.showStandard(message, title);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ToastType.SUCCESS:\n\t\t\t\t\tthis.showSuccess(message, title);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ToastType.INFO:\n\t\t\t\t\tthis.showInfo(message, title);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ToastType.WARNING:\n\t\t\t\t\tthis.showWarning(message, title);\n\t\t\t\t\tbreak;\n\t\t\t\tcase ToastType.DANGER:\n\t\t\t\t\tthis.showDanger(message, title);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tshowStandard(message: string, titulo: string = null) {\n\t\tthis.toastr.show(message, titulo);\n\t}\n\n\tshowSuccess(message: string, titulo: string = 'Sucesso') {\n\t\tthis.toastr.success(message, titulo);\n\t}\n\n\tshowWarning(message: string, titulo: string = 'Atenção') {\n\t\tthis.toastr.warning(message, titulo);\n\t}\n\n\tshowInfo(message: string, titulo: string = 'Fique Atento') {\n\t\tthis.toastr.info(message, titulo);\n\t}\n\n\tshowDanger(message: string, titulo: string = 'Erro') {\n\t\tthis.toastr.error(message, titulo);\n\t}\n\n\tremove(toastId: number) {\n\t\tthis.toastr.remove(toastId);\n\t}\n\n\tclear() {\n\t\tthis.toastr.clear();\n\t}\n}\n","import { Component, OnInit } from '@angular/core';\nimport * as Chartist from 'chartist';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnInit {\n\n\n\n constructor() { }\n\n ngOnInit() {\n\n }\n}\n","
    \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \"\"\n

    Sistema ALERTA

    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n

    Esqueceu a senha?

    \n
    \n
    \n
    \n
    \n
    \n\n
    \n","export class Acao {\n acaoId: number;\n nome: string;\n\n constructor(grupoDto: any) {\n this.acaoId = grupoDto?.acaoID;\n this.nome = grupoDto?.nome?.replace(/[_]/g, ' ');\n }\n}\n","export class Agrupador {\n\n agrupadorId?: number;\n nome?: string;\n dataHoraInclusao?: Date;\n dataHoraAlteracao?: Date;\n usuarioIDInclusao?: number;\n usuarioNomeInclusao?: string;\n usuarioIDAlteracao?: number;\n usuarioNomeAlteracao?: string;\n situacaoId?: number;\n situacaoNome?: string;\n\n constructor(moduloDto: any) {\n this.agrupadorId = moduloDto?.agrupadorID ?? moduloDto?.agrupadorId;\n this.nome = moduloDto?.nome;\n this.dataHoraInclusao = moduloDto?.dataHoraInclusao;\n this.dataHoraAlteracao = moduloDto?.dataHoraAlteracao;\n this.usuarioIDInclusao = moduloDto?.usuarioIDInclusao;\n this.usuarioNomeInclusao = moduloDto?.usuarioNomeInclusao;\n this.usuarioIDAlteracao = moduloDto?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = moduloDto?.usuarioNomeAlteracao;\n this.situacaoId = moduloDto?.situacaoID;\n this.situacaoNome = moduloDto?.situacaoNome;\n }\n}\n","import { AlertaEventoAtualizacaoDfe } from './app.alertaeventoatualizacaodfe.model';\nimport { AlertaHistorico } from './app.alertahistorico.model';\nimport { AlertaImagemAtendimento } from './app.alertaimagematendimento.model';\nimport { AlertaNotificacao } from './app.alertanotificacao.model';\nimport { AlertaParametroSaida } from './app.alertaparametrosaida.model';\nimport { ModeloRegra } from \"./app.modeloregra.model\";\nimport { Regra } from \"./app.regra.model\";\nimport { RegraUnidadeFiscal } from \"./app.regraunidadefiscal.model\";\n\nexport class Alerta {\n alertaId: number;\n situacaoId: number;\n situacaoNome: string;\n modeloRegra: ModeloRegra;\n regra: Regra;\n motivo: string;\n serie: string;\n numeroDocumento: string;\n regraUnidadeFiscal: RegraUnidadeFiscal;\n alertaTipoLiberacaoId: number;\n alertaTipoLiberacaoNome: string;\n dataHoraInclusao: string;\n dataHoraAlteracao: string;\n usuarioIdInclusao: number;\n usuarioNomeInclusao: string;\n usuarioIdAlteracao: number;\n usuarioNomeAlteracao: string;\n alertaHistoricos: AlertaHistorico[];\n alertasParametroSaida: AlertaParametroSaida[];\n alertasNotificacao: AlertaNotificacao[];\n alertasEventoAtualizacaoDfe: AlertaEventoAtualizacaoDfe[];\n alertaImagemAtendimentoIds: number[];\n unidade: string;\n hashNIFI: string;\n alertaCustomizado: boolean;\n descricaoTipoAlerta: string;\n dataHoraInclusaoFormatado?: string;\n\n constructor(alertaDto: any) {\n this.alertaId = alertaDto?.alertaId ?? alertaDto?.alertaID;\n this.situacaoId = alertaDto?.situacaoID;\n this.situacaoNome = alertaDto?.situacaoNome;\n this.modeloRegra = new ModeloRegra(alertaDto?.modeloRegra);\n this.regra = new Regra(alertaDto?.regra);\n this.motivo = alertaDto?.motivo;\n this.serie = alertaDto?.serie;\n this.numeroDocumento = alertaDto?.numeroDocumento;\n this.regraUnidadeFiscal = new RegraUnidadeFiscal(alertaDto?.regraUnidadeFiscal);\n this.alertaTipoLiberacaoId = alertaDto?.alertaTipoLiberacaoID;\n this.alertaTipoLiberacaoNome = alertaDto?.alertaTipoLiberacaoNome;\n this.dataHoraInclusao = alertaDto?.dataHoraInclusao;\n this.dataHoraAlteracao = alertaDto?.dataHoraAlteracao;\n this.usuarioIdInclusao = alertaDto?.usuarioIDInclusao;\n this.usuarioNomeInclusao = alertaDto?.usuarioNomeInclusao;\n this.usuarioIdAlteracao = alertaDto?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = alertaDto?.usuarioNomeAlteracao;\n this.alertaHistoricos = alertaDto?.alertaHistoricos?.map(alertaHistorico => new AlertaHistorico(alertaHistorico)) ?? [];\n this.alertasParametroSaida = alertaDto?.alertasParametroSaida?.map(alertaParametroSaida => new AlertaParametroSaida(alertaParametroSaida)) ?? [];\n this.alertasNotificacao = alertaDto?.alertasNotificacao?.map(alertaNotificacao => new AlertaNotificacao(alertaNotificacao)) ?? [];\n this.alertasEventoAtualizacaoDfe = alertaDto?.alertasEventoAtualizacaoDfe?.map(alertaEventoAtualizacao => new AlertaEventoAtualizacaoDfe(alertaEventoAtualizacao)) ?? [];\n this.alertaImagemAtendimentoIds = alertaDto?.alertaImagemAtendimentoIDs ?? [];\n this.unidade = alertaDto?.unidade;\n this.hashNIFI = alertaDto.hashNIFI;\n this.alertaCustomizado = alertaDto?.alertaCustomizado;\n this.descricaoTipoAlerta = alertaDto.descricaoTipoAlerta;\n this.dataHoraInclusaoFormatado = alertaDto?.dataHoraInclusaoFormatado;\n }\n}\n","export class AlertaEventoAtualizacaoDfe {\n alertaEventoAtualizacaoDfeId: number;\n alertaId: number;\n situacaoId: number;\n hashNIFI: string;\n numeroEventoDfe: string;\n descricaoEventoDfe: string;\n dataHoraInclusao: string;\n dataHoraEvento: string;\n chaveAcessoDfe: string;\n fusoHorario: string;\n dataHoraPassagem: string;\n dataHoraPassagemFusoHorario: string;\n sentido: string;\n local: string;\n\n constructor(dto: any) {\n this.alertaEventoAtualizacaoDfeId = dto?.alertaEventoAtualizacaoDfeID;\n this.alertaId = dto?.alertaID;\n this.situacaoId = dto?.situacaoID;\n this.hashNIFI = dto?.hashNIFI;\n this.numeroEventoDfe = dto?.numeroEventoDfe;\n this.descricaoEventoDfe = dto?.descricaoEventoDfe;\n this.dataHoraInclusao = dto?.dataHoraInclusao;\n this.dataHoraEvento = dto?.dataHoraEvento;\n this.chaveAcessoDfe = dto?.chaveAcessoDfe;\n this.fusoHorario = dto?.fusoHorario;\n this.dataHoraPassagem = dto?.dataHoraPassagem;\n this.dataHoraPassagemFusoHorario = dto?.dataHoraPassagemFusoHorario;\n this.sentido = dto?.sentido;\n this.local = dto?.local;\n }\n}\n","export class AlertaHistorico {\n alertaHistoricoId: number;\n situacaoId: number;\n situacaoNome: string;\n dataHoraInclusao: string;\n usuarioIdInclusao: number;\n usuarioNomeInclusao: string;\n\n constructor(alertaHistoricoDto: any) {\n this.alertaHistoricoId = alertaHistoricoDto?.alertaHistoricoId ?? alertaHistoricoDto?.alertaHistoricoID;\n this.situacaoId = alertaHistoricoDto?.situacaoID;\n this.situacaoNome = alertaHistoricoDto?.situacaoNome;\n this.dataHoraInclusao = alertaHistoricoDto?.dataHoraInclusao;\n this.usuarioIdInclusao = alertaHistoricoDto?.usuarioIDInclusao;\n this.usuarioNomeInclusao = alertaHistoricoDto?.usuarioNomeInclusao;\n }\n}\n","export class AlertaNotificacao {\n alertaNotificacaoId: number;\n alertaId: number;\n usuarioIdInclusao: number;\n regraUnidadeFiscalId: number;\n situacaoId: number;\n hashNIFI: string;\n\n constructor(dto: any) {\n this.alertaNotificacaoId = dto?.alertaNotificacaoID;\n this.alertaId = dto?.alertaID;\n this.usuarioIdInclusao = dto?.usuarioIDInclusao;\n this.regraUnidadeFiscalId = dto?.regraUnidadeFiscalId;\n this.situacaoId = dto?.situacaoID;\n this.hashNIFI = dto?.hashNIFI;\n }\n}\n","export class AlertaParametroSaida {\n alertaParametroSaidaId: number;\n alertaId: number;\n modeloRegraParametroSaidaId: number;\n valor: string;\n nome: string;\n hashNIFI: string;\n compoeVisualizacao: boolean;\n dataHoraInclusao: string;\n edadosDoNovoHash: boolean\n\n constructor(dto: any) {\n this.alertaParametroSaidaId = dto?.alertaParametroSaidaID;\n this.alertaId = dto?.alertaID;\n this.modeloRegraParametroSaidaId = dto?.modeloRegraParametroSaidaID;\n this.valor = dto?.valor;\n this.nome = dto?.nome;\n this.hashNIFI = dto?.hashNIFI;\n this.compoeVisualizacao = dto?.compoeVisualizacao;\n this.dataHoraInclusao = dto?.dataHoraInclusao;\n this.edadosDoNovoHash = dto?.edadosDoNovoHash;\n }\n}\n","export class ChefeUnidadeFiscal {\n chefeUnidadeFiscalId: number;\n usuarioId: string;\n usuarioNome: string;\n unidadeFiscalId: number;\n unidadeFiscalNome: string;\n dataHoraInclusao: string;\n usuarioIdInclusao: number;\n usuarioNomeInclusao: string;\n dataHoraAlteracao: string;\n usuarioIdAlteracao: number;\n usuarioNomeAlteracao: string;\n SituacaoId:number;\n\n constructor(chefeUnidadeFiscalDto: any) {\n this.chefeUnidadeFiscalId = chefeUnidadeFiscalDto?.ChefeUnidadeFiscalID;\n this.usuarioId = chefeUnidadeFiscalDto?.usuarioID;\n this.usuarioNome = chefeUnidadeFiscalDto?.usuarioNome;\n this.unidadeFiscalId = chefeUnidadeFiscalDto?.unidadeFiscalID;\n this.unidadeFiscalNome = chefeUnidadeFiscalDto?.unidadeFiscalNome;\n this.dataHoraInclusao = chefeUnidadeFiscalDto?.dataHoraInclusao;\n this.usuarioIdInclusao = chefeUnidadeFiscalDto?.usuarioIDInclusao;\n this.usuarioNomeInclusao = chefeUnidadeFiscalDto?.usuarioNomeInclusao;\n this.dataHoraAlteracao = chefeUnidadeFiscalDto?.dataHoraAlteracao;\n this.usuarioIdAlteracao = chefeUnidadeFiscalDto?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = chefeUnidadeFiscalDto?.usuarioNomeAlteracao;\n this.SituacaoId = chefeUnidadeFiscalDto?.situacaoID;\n }\n}\n","export class ComportamentoRegra {\n comportamentoRegraId: number;\n nome: string;\n\n constructor(dtoComportamentoRegra: any) {\n this.comportamentoRegraId = dtoComportamentoRegra.comportamentoRegraID;\n this.nome = dtoComportamentoRegra.nome;\n }\n}\n","import { ModeloRegra } from 'src/app/model/app.modeloregra.model';\nexport class Condicionante {\n condicionanteId: number;\n descricao: string;\n situacaoId: number;\n situacaoNome: string;\n usuarioIdInclusao: number;\n usuarioNomeInclusao: string;\n usuarioIdAlteracao: number;\n usuarioNomeAlteracao: string;\n dataHoraInclusao: Date;\n dataHoraAlteracao: Date;\n ModeloRegra?: ModeloRegra;\n exibeRegra?: boolean;\n\n constructor(dtoCondicionante: any) {\n this.condicionanteId = dtoCondicionante.condicionanteID;\n this.descricao = dtoCondicionante.descricao;\n this.situacaoId = dtoCondicionante.situacaoID;\n this.situacaoNome = dtoCondicionante.situacaoNome;\n this.usuarioIdInclusao = dtoCondicionante.usuarioIDInclusao;\n this.usuarioNomeInclusao = dtoCondicionante.usuarioNomeInclusao;\n this.usuarioIdAlteracao = dtoCondicionante?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = dtoCondicionante.usuarioNomeAlteracao;\n this.dataHoraInclusao = dtoCondicionante.dataHoraInclusao;\n this.dataHoraAlteracao = dtoCondicionante?.dataHoraAlteracao;\n this.exibeRegra = dtoCondicionante?.exibeRegra;\n }\n}\n","export class Dashboard {\n qtdeAlertasPendentes: number;\n qtdeAlertasEmAtendimento: number;\n qtdeAlertasFinalizados: number;\n qtdeAlertasVinculados: number;\n totalQtdeRegras: number;\n totalQtdeAlertas: number;\n regrasSemAlertas: number;\n\n constructor(dashboardDto: any) {\n this.qtdeAlertasPendentes = dashboardDto?.qtdeAlertasPendentes;\n this.qtdeAlertasEmAtendimento = dashboardDto?.qtdeAlertasEmAtendimento;\n this.qtdeAlertasFinalizados = dashboardDto?.qtdeAlertasFinalizados;\n this.qtdeAlertasVinculados = dashboardDto?.qtdeAlertasVinculados;\n this.totalQtdeRegras = dashboardDto?.totalQtdeRegras;\n this.totalQtdeAlertas = dashboardDto?.totalQtdeAlertas;\n this.regrasSemAlertas = dashboardDto?.regrasSemAlertas;\n }\n}\n","export class Equipamento {\n equipamentoId: number;\n nome: string;\n unidadeNome: string;\n unidadeId: number;\n origem: string;\n destino: string;\n sentidoDaVia: number;\n sentidoDaLeitura: string;\n identificadorDoEquipamento: string;\n cnpjDoOperadorFormatado: string;\n local: Local;\n localId: number;\n tabela: string;\n descricao: string;\n usuarioInsercao: string;\n dataInsercao: string;\n situacaoId: number;\n motivoDaAlteracao: string;\n usuarioAlteracao: string;\n dataAlteracao: string;\n cnpjDoOperador: string;\n situacao: Situacao;\n\n constructor(equipamentoDto: any) {\n this.equipamentoId = equipamentoDto?.id;\n this.nome = equipamentoDto?.nome;\n this.unidadeNome = equipamentoDto?.unidadeNome;\n this.unidadeId = equipamentoDto?.unidadeId;\n this.origem = equipamentoDto?.origem;\n this.destino = equipamentoDto?.destino;\n this.sentidoDaVia = equipamentoDto?.sentidoDaVia;\n this.sentidoDaLeitura = equipamentoDto?.sentidoDaLeitura;\n this.identificadorDoEquipamento = equipamentoDto?.identificadorDoEquipamento;\n this.cnpjDoOperadorFormatado = equipamentoDto?.cnpjDoOperadorFormatado;\n this.local = this.obterLocalEquipamento(equipamentoDto?.local);\n this.localId = equipamentoDto?.localId;\n this.tabela = equipamentoDto?.tabela;\n this.descricao = equipamentoDto?.descricao;\n this.usuarioInsercao = equipamentoDto?.usuarioInsercao;\n this.dataInsercao = equipamentoDto?.dataInsercao;\n this.situacaoId = equipamentoDto?.situacaoId;\n this.motivoDaAlteracao = equipamentoDto?.motivoDaAlteracao;\n this.usuarioAlteracao = equipamentoDto?.usuarioAlteracao;\n this.dataAlteracao = equipamentoDto?.dataAlteracao;\n this.cnpjDoOperador = equipamentoDto?.cnpjDoOperador;\n this.situacao = equipamentoDto?.situacao ? new Situacao(equipamentoDto?.situacao) : null;\n }\n\n public obterLocalEquipamento(local: Local): Local {\n if (local)\n return new Local(local);\n else\n return null;\n }\n\n public equipamentoDeMS(local: Local): boolean {\n if(local)\n return local.uf === 'MS' || local.uf === 'ms'\n else \n return false;\n }\n}\n\nclass Local {\n id: number;\n nome: string;\n latitude: string;\n longitude: string;\n observacao: string;\n origem: number;\n uf: string;\n situacaoId: number;\n situacao: Situacao;\n\n constructor(localDto: any) {\n this.id = localDto?.id;\n this.nome = localDto?.nome;\n this.latitude = localDto?.latitude;\n this.longitude = localDto?.longitude;\n this.observacao = localDto?.observacao;\n this.origem = localDto?.origem;\n this.uf = localDto?.uf;\n this.situacaoId = localDto?.situacaoId;\n this.situacao = localDto?.situacao ? new Situacao(localDto?.situacao) : null;\n }\n}\n\nclass Situacao {\n id: number;\n nome: string;\n\n constructor(situacaoDto: any) {\n this.id = situacaoDto?.id;\n this.nome = situacaoDto?.nome;\n }\n}\n","export class FiltroEntrada {\n filtroEntradaId: number;\n nome: string;\n usuarioIdInclusao: number;\n usuarioNomeInclusao: string;\n dataHoraInclusao: Date;\n situacaoId: number;\n situacaoNome: string;\n usuarioIdAlteracao: number;\n usuarioNomeAlteracao: string;\n dataHoraAlteracao: Date;\n tipoDadoId: number;\n tipoDadoNome: string;\n caminhoMapeado: string;\n obrigatorio: boolean;\n valor?: string;\n localNome?: string;\n sentidoDaLeitura?: string;\n\n constructor(dtoFiltroEntrada: any) {\n this.filtroEntradaId = dtoFiltroEntrada.filtroEntradaID;\n this.nome = dtoFiltroEntrada.nome;\n this.usuarioIdInclusao = dtoFiltroEntrada.usuarioIDInclusao;\n this.usuarioNomeInclusao = dtoFiltroEntrada.usuarioNomeInclusao;\n this.dataHoraInclusao = dtoFiltroEntrada.dataHoraInclusao;\n this.situacaoId = dtoFiltroEntrada.situacaoID;\n this.situacaoNome = dtoFiltroEntrada.situacaoNome;\n this.usuarioIdAlteracao = dtoFiltroEntrada.usuarioIDInclusao;\n this.usuarioNomeAlteracao = dtoFiltroEntrada.usuarioNomeInclusao;\n this.dataHoraAlteracao = dtoFiltroEntrada.dataHoraInclusao;\n this.dataHoraAlteracao = dtoFiltroEntrada?.dataHoraAlteracao;\n this.tipoDadoId = dtoFiltroEntrada?.tipoDadoID;\n this.tipoDadoNome = dtoFiltroEntrada.tipoDadoNome;\n this.caminhoMapeado = dtoFiltroEntrada.caminhoMapeado;\n this.obrigatorio = dtoFiltroEntrada.obrigatorio;\n }\n}\n","import { ParametroEntrada, FiltroEntrada } from 'src/app/model';\nimport { Agrupador } from './app.agrupador.model';\nimport { Operador } from './app.operador.model';\nexport class FormDinamico {\n tipoDadoId?: number;\n tipoDadoNome?: string;\n ehValido?: boolean;\n item?: ParametroEntrada | FiltroEntrada;\n entradaId?: number;\n operador?: Operador;\n agrupador?: Agrupador;\n ehUltimo?: boolean;\n\n constructor(dto: any, entradaId: number = null) {\n this.entradaId = entradaId;\n this.tipoDadoId = dto?.tipoDadoID;\n this.tipoDadoNome = dto?.tipoDadoNome;\n this.item = dto?.item;\n this.operador = dto?.operador;\n this.agrupador = dto?.agrupador;\n this.ehValido = false;\n this.ehUltimo = false;\n }\n}\n","import { Modulo } from \"./app.modulo.model\";\n\nexport class Grupo {\n grupoId: number;\n nome: string;\n modulos: Modulo[];\n\n ehUnico: boolean = false;\n\n estaAberto: boolean = true;\n\n constructor(grupoDto: any) {\n this.grupoId = grupoDto?.grupoID;\n this.nome = grupoDto?.nome;\n this.modulos = grupoDto?.modulos;\n this.ehUnico = grupoDto?.ehUnico;\n this.estaAberto = true;\n }\n\n public AddModulo(modulo: Modulo) {\n this.modulos.push(modulo)\n }\n}\n","export class Icone {\n classe: string;\n nome: string;\n\n constructor(iconeDto: any) {\n this.classe = iconeDto?.Classe;\n this.nome = iconeDto?.Nome;\n }\n}\n","import { Alerta } from \"./app.alerta.model\";\nimport { Regra } from \"./app.regra.model\";\nimport { Usuario } from \"./app.usuario.model\";\n\nexport class LocalizacaoEvento {\n id: number;\n acaoID: number;\n acaoNome: string;\n modulo: string;\n menu: string;\n dataHora: string;\n usuario: Usuario;\n regra: Regra;\n alerta: Alerta;\n record: string;\n uuId?: string;\n latitude?: number;\n longitude?: number;\n localizacao?: string;\n\n constructor(localizacaoEventosDto: any) {\n this.id = localizacaoEventosDto?.id;\n this.acaoID = localizacaoEventosDto?.acaoID;\n this.acaoNome = localizacaoEventosDto?.acaoNome;\n this.modulo = localizacaoEventosDto?.modulo;\n this.menu = localizacaoEventosDto?.menu;\n this.dataHora = localizacaoEventosDto?.dataHoraFormatada;\n this.usuario = new Usuario(localizacaoEventosDto?.usuario);\n this.regra = localizacaoEventosDto?.regra ? new Regra(localizacaoEventosDto?.regra) : null;\n this.alerta = localizacaoEventosDto?.alerta ? new Alerta(localizacaoEventosDto?.alerta) : null;\n this.record = localizacaoEventosDto?.record;\n this.uuId = localizacaoEventosDto?.uUID;\n this.latitude = localizacaoEventosDto?.latitude;\n this.longitude = localizacaoEventosDto?.longitude;\n this.localizacao = this.latitude ? `${this.latitude}, ${this.longitude}` : '';\n }\n}\n\nexport interface LocalizacaoEventoSearch {\n id: number;\n acaoID: number;\n modulo: string;\n menu: string;\n dataHora: string;\n usuario: Usuario;\n record: string;\n uuId?: string;\n latitude?: number;\n longitude?: number;\n}\n","import { ParametroSaida } from './app.parametrosaida.model';\nimport { FiltroEntrada } from './app.filtroentrada.model';\nimport { ParametroEntrada } from './app.parametroentrada.model';\nexport class ModeloRegra {\n modeloRegraId: number;\n nome: string;\n condicionanteId: number;\n condicionanteDescricao?: string;\n situacaoId?: number;\n situacaoNome?: string;\n usuarioIdInclusao?: number;\n usuarioNomeInclusao?: string;\n usuarioIdAlteracao?: number;\n usuarioNomeAlteracao?: string;\n dataHoraInclusao: Date;\n dataHoraAlteracao?: Date;\n parametrosEntrada: ParametroEntrada[];\n filtrosEntrada: FiltroEntrada[];\n parametrosSaida: ParametroSaida[];\n estaConfiguradoComAQuintaCondicionante?: boolean;\n\n constructor(dtoModeloregra: any) {\n this.modeloRegraId = dtoModeloregra?.modeloRegraID;\n this.condicionanteId = dtoModeloregra?.condicionanteID;\n this.condicionanteDescricao = dtoModeloregra?.condicionanteDescricao;\n this.nome = dtoModeloregra?.nome;\n this.situacaoId = dtoModeloregra?.situacaoID;\n this.situacaoNome = dtoModeloregra?.situacaoNome;\n this.usuarioIdInclusao = dtoModeloregra?.usuarioIDInclusao;\n this.usuarioNomeInclusao = dtoModeloregra?.usuarioNomeInclusao;\n this.usuarioIdAlteracao = dtoModeloregra?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = dtoModeloregra?.usuarioNomeAlteracao;\n this.dataHoraInclusao = dtoModeloregra?.dataHoraInclusao;\n this.dataHoraAlteracao = dtoModeloregra?.dataHoraAlteracao;\n this.parametrosEntrada = dtoModeloregra?.parametrosEntrada?.map((modeloRegra: any) => new ParametroEntrada(modeloRegra)) as ParametroEntrada[];\n this.filtrosEntrada = dtoModeloregra?.filtrosEntrada?.map((modeloRegra: any) => new FiltroEntrada(modeloRegra)) as FiltroEntrada[];\n this.parametrosSaida = dtoModeloregra?.parametrosSaida?.map((modeloRegra: any) => new ParametroSaida(modeloRegra)) as ParametroSaida[];\n this.estaConfiguradoComAQuintaCondicionante = dtoModeloregra?.estaConfiguradoComAQuintaCondicionante;\n }\n}\n","export class Modulo {\n\n moduloId?: number;\n grupoId?: number;\n grupoNome?: string;\n titulo?: string;\n caminho?: string;\n icone?: string | any;\n ordem?: number;\n dataHoraInclusao?: Date;\n dataHoraAlteracao?: Date;\n usuarioIDInclusao?: number;\n usuarioNomeInclusao?: string;\n usuarioIDAlteracao?: number;\n usuarioNomeAlteracao?: string;\n situacaoId?: number;\n situacaoNome?: string;\n acoes?: any[];\n estaAtivo?: boolean = false;\n\n constructor(moduloDto: any) {\n this.moduloId = moduloDto?.moduloID ?? moduloDto?.moduloId;\n this.grupoId = moduloDto?.grupoID;\n this.grupoNome = moduloDto?.grupoNome?.toLowerCase().toCaptalize();\n this.titulo = moduloDto?.titulo;\n this.caminho = `/${moduloDto?.caminho}`;\n this.icone = moduloDto?.icone;\n this.ordem = moduloDto?.ordem;\n this.dataHoraInclusao = moduloDto?.dataHoraInclusao;\n this.dataHoraAlteracao = moduloDto?.dataHoraAlteracao;\n this.usuarioIDInclusao = moduloDto?.usuarioIDInclusao;\n this.usuarioNomeInclusao = moduloDto?.usuarioNomeInclusao;\n this.usuarioIDAlteracao = moduloDto?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = moduloDto?.usuarioNomeAlteracao;\n this.situacaoId = moduloDto?.situacaoID;\n this.situacaoNome = moduloDto?.situacaoNome;\n }\n}\n","export class ModuloPerfil {\n moduloPerfilId: number;\n perfilId: string | number;\n perfilNome: string;\n moduloId: number;\n moduloTitulo: string;\n acoes: any[];\n\n constructor(moduloPerfilDto: any) {\n this.moduloPerfilId = moduloPerfilDto?.moduloPerfilID;\n this.perfilId = moduloPerfilDto?.perfilID;\n this.perfilNome = moduloPerfilDto?.perfilNome;\n this.moduloId = moduloPerfilDto?.modulo.moduloID;\n this.moduloTitulo = moduloPerfilDto?.modulo.titulo;\n this.acoes = moduloPerfilDto?.acoes.map(({ acaoID, nome }) => ({ nome, acaoId: acaoID }));\n }\n}\n","export class Operador {\n\n operadorId?: number;\n nome?: string;\n dataHoraInclusao?: Date;\n dataHoraAlteracao?: Date;\n usuarioIDInclusao?: number;\n usuarioNomeInclusao?: string;\n usuarioIDAlteracao?: number;\n usuarioNomeAlteracao?: string;\n situacaoId?: number;\n situacaoNome?: string;\n\n constructor(moduloDto: any) {\n this.operadorId = moduloDto?.operadorID ?? moduloDto?.operadorId;\n this.nome = moduloDto?.nome;\n this.dataHoraInclusao = moduloDto?.dataHoraInclusao;\n this.dataHoraAlteracao = moduloDto?.dataHoraAlteracao;\n this.usuarioIDInclusao = moduloDto?.usuarioIDInclusao;\n this.usuarioNomeInclusao = moduloDto?.usuarioNomeInclusao;\n this.usuarioIDAlteracao = moduloDto?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = moduloDto?.usuarioNomeAlteracao;\n this.situacaoId = moduloDto?.situacaoID;\n this.situacaoNome = moduloDto?.situacaoNome;\n }\n}\n","export class ParametroEntrada {\n parametroEntradaId: number;\n nome: string;\n usuarioIdInclusao: number;\n usuarioNomeInclusao: string;\n dataHoraInclusao: Date;\n situacaoId: number;\n situacaoNome: string;\n usuarioIdAlteracao: number;\n usuarioNomeAlteracao: string;\n dataHoraAlteracao: Date;\n tipoDadoId: number;\n tipoDadoNome: string;\n caminhoMapeado: string;\n tratadoNoBigData: boolean;\n dataDeTratamento: Date = new Date();\n obrigatorio: boolean;\n valor?: string;\n localNome?: string;\n sentidoDaLeitura?: string;\n\n constructor(dtoParametroEntrada: any) {\n this.parametroEntradaId = dtoParametroEntrada.parametroEntradaID;\n this.nome = dtoParametroEntrada.nome;\n this.usuarioIdInclusao = dtoParametroEntrada.usuarioIdInclusao;\n this.usuarioNomeInclusao = dtoParametroEntrada.usuarioNomeInclusao;\n this.dataHoraInclusao = dtoParametroEntrada.dataHoraInclusao;\n this.situacaoId = dtoParametroEntrada.situacaoID;\n this.situacaoNome = dtoParametroEntrada.situacaoNome;\n this.usuarioIdAlteracao = dtoParametroEntrada.usuarioIdAlteracao;\n this.usuarioNomeAlteracao = dtoParametroEntrada.usuarioNomeAlteracao;\n this.dataHoraAlteracao = dtoParametroEntrada.dataHoraAlteracao;\n this.tipoDadoId = dtoParametroEntrada.tipoDadoID;\n this.tipoDadoNome = dtoParametroEntrada.tipoDadoNome;\n this.caminhoMapeado = dtoParametroEntrada.caminhoMapeado;\n this.tratadoNoBigData = dtoParametroEntrada.tratadoNoBigData;\n this.dataDeTratamento = dtoParametroEntrada.dataDeTratamento;\n this.obrigatorio = dtoParametroEntrada.obrigatorio;\n }\n}\n","export class ParametroSaida {\n parametroSaidaId: number;\n nome: string;\n usuarioIdInclusao: number;\n usuarioNomeInclusao: string;\n dataHoraInclusao: Date;\n situacaoId: number;\n situacaoNome: string;\n usuarioIdAlteracao: number;\n usuarioNomeAlteracao: string;\n dataHoraAlteracao: Date;\n tipoDadoId: number;\n tipoDadoNome: string;\n caminhoMapeado: string;\n compoeNotificacao?: boolean;\n compoeVisualizacao?: boolean;\n\n constructor(dtoParametroSaida: any) {\n this.parametroSaidaId = dtoParametroSaida.parametroSaidaID;\n this.nome = dtoParametroSaida.nome;\n this.usuarioIdInclusao = dtoParametroSaida.usuarioIdInclusao;\n this.usuarioNomeInclusao = dtoParametroSaida.usuarioNomeInclusao;\n this.dataHoraInclusao = dtoParametroSaida.dataHoraInclusao;\n this.situacaoId = dtoParametroSaida.situacaoID;\n this.situacaoNome = dtoParametroSaida.situacaoNome;\n this.usuarioIdAlteracao = dtoParametroSaida.usuarioIdAlteracao;\n this.usuarioNomeAlteracao = dtoParametroSaida.usuarioNomeAlteracao;\n this.dataHoraAlteracao = dtoParametroSaida.dataHoraAlteracao;\n this.tipoDadoId = dtoParametroSaida.tipoDadoID;\n this.tipoDadoNome = dtoParametroSaida.tipoDadoNome;\n this.caminhoMapeado = dtoParametroSaida.caminhoMapeado;\n this.compoeNotificacao = dtoParametroSaida.compoeNotificacao;\n this.compoeVisualizacao = dtoParametroSaida.compoeVisualizacao;\n }\n}\n","import { ModuloPerfil } from './app.moduloperfil.model';\nexport class Perfil {\n\n perfilId?: number;\n nome?: string;\n usuarioIdInclusao?: number;\n usuarioNomeInclusao?: string;\n usuarioIdAlteracao?: number;\n usuarioNomeAlteracao?: string;\n dataHoraInclusao?: Date;\n situacaoId?: number;\n situacaoNome?: string;\n dataHoraAlteracao?: Date;\n modulosPerfil?: ModuloPerfil[];\n\n constructor(dto: any) {\n this.perfilId = dto?.perfilID;\n this.nome = dto?.nome;\n this.usuarioIdInclusao = dto?.usuarioIDInclusao;\n this.usuarioNomeInclusao = dto?.usuarioNomeInclusao;\n this.usuarioIdAlteracao = dto?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = dto?.usuarioNomeAlteracao;\n this.dataHoraInclusao = dto?.dataHoraInclusao;\n this.dataHoraAlteracao = dto?.dataHoraAlteracao;\n this.situacaoId = dto?.situacaoID;\n this.situacaoNome = dto?.situacaoNome;\n this.modulosPerfil = dto?.modulosPerfil?.map(mod => new ModuloPerfil(mod));\n }\n}\n","import { ETipoPlaca } from \"../constantes/app.etipoplaca.const\";\n\nexport class Placa {\n tipoPlacaId: ETipoPlaca;\n tipoPlacaNome: string;\n numero: number;\n unidadeFiscalId: number;\n unidadeFiscalNome: string;\n dataHora: string;\n cpfMotorista: string;\n chaveDeAcesso: string;\n ufCarregamento: string;\n ufDescarregamento: string;\n ufsPercurso: string[];\n tipoMovimento: string;\n nomeEquipamento: string;\n ufEquipamento: string;\n cnpjOperador: string;\n foto: string;\n\n constructor(dto: any) {\n this.tipoPlacaId = dto?.tipoPlacaID;\n this.tipoPlacaNome = dto?.tipoPlacaNome;\n this.numero = dto?.numero;\n this.unidadeFiscalId = dto?.unidadeFiscalID;\n this.unidadeFiscalNome = dto?.unidadeFiscalNome;\n this.dataHora = dto?.dataHora;\n this.cpfMotorista = dto?.cpfMotorista;\n this.chaveDeAcesso = dto?.chaveDeAcesso;\n this.ufCarregamento = dto?.ufCarregamento;\n this.ufDescarregamento = dto?.ufDescarregamento;\n this.ufsPercurso = dto?.ufsPercurso;\n this.tipoMovimento = dto?.tipoMovimento;\n this.nomeEquipamento = dto?.nomeEquipamento;\n this.ufEquipamento = dto?.ufEquipamento;\n this.cnpjOperador = dto?.cnpjOperador;\n this.foto = dto?.foto;\n };\n};\n","import { ModeloRegra } from \"./app.modeloregra.model\";\nimport { RegraFiltroEntrada } from \"./app.regrafiltroentrada.model\";\nimport { RegraParametroEntrada } from \"./app.regraparametroentrada.model\";\nimport { RegraUnidadeFiscal } from \"./app.regraunidadefiscal.model\";\nimport { UnidadeFiscal } from \"./app.unidadefiscal.model\";\nimport { Usuario } from \"./app.usuario.model\";\n\nexport class Regra {\n regraId?: number;\n modeloRegra?: ModeloRegra;\n tipoDestinatarioId?: number;\n tipoDestinatarioNome?: string;\n comportamentoRegraId?: number;\n comportamentoRegraNome?: string;\n dataHoraInicioVigencia?: Date;\n dataHoraFimVigencia?: Date;\n justificativa?: string;\n dataHoraInclusao?: Date;\n dataHoraAlteracao?: Date;\n usuarioIDInclusao?: number;\n usuarioNomeInclusao?: string;\n usuarioIDAlteracao?: number;\n usuarioNomeAlteracao?: string;\n situacaoId?: number;\n situacaoNome?: string;\n regrasUnidadeFiscal?: RegraUnidadeFiscal[];\n regrasParametroEntrada?: RegraParametroEntrada[];\n regrasFiltroEntrada?: RegraFiltroEntrada[];\n unidades?: UnidadeFiscal[];\n usuarios?: Usuario[];\n exibirIconePararAtualizacao?: boolean;\n regraDoTipoCustomizada?: boolean;\n tipoRegraID?: number;\n tipoRegraDescricao?: string;\n dataHoraInicioVigenciaFormatado?: string;\n dataHoraFimVigenciaFormatado?: string;\n\n constructor(dtoRegra: any) {\n this.regraId = dtoRegra?.regraID;\n this.modeloRegra = new ModeloRegra(dtoRegra?.modeloRegra);\n this.tipoDestinatarioId = dtoRegra?.tipoDestinatarioID;\n this.tipoDestinatarioNome = dtoRegra?.tipoDestinatarioNome;\n this.comportamentoRegraId = dtoRegra?.comportamentoRegraID;\n this.comportamentoRegraNome = dtoRegra?.comportamentoRegraNome;\n this.dataHoraInicioVigencia = dtoRegra?.dataHoraInicioVigencia;\n this.dataHoraFimVigencia = dtoRegra?.dataHoraFimVigencia;\n this.justificativa = dtoRegra?.justificativa;\n this.dataHoraInclusao = dtoRegra?.dataHoraInclusao;\n this.dataHoraAlteracao = dtoRegra?.dataHoraAlteracao;\n this.usuarioIDInclusao = dtoRegra?.usuarioIDInclusao;\n this.usuarioNomeInclusao = dtoRegra?.usuarioNomeInclusao;\n this.usuarioIDAlteracao = dtoRegra?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = dtoRegra?.usuarioNomeAlteracao;\n this.situacaoId = dtoRegra?.situacaoID;\n this.situacaoNome = dtoRegra?.situacaoNome;\n this.regrasUnidadeFiscal = dtoRegra?.regrasUnidadeFiscal?.map((regra: any) => new RegraUnidadeFiscal(regra)) as RegraUnidadeFiscal[];\n this.regrasParametroEntrada = dtoRegra?.regrasParametroEntrada?.map((regra: any) => new RegraParametroEntrada(regra)) as RegraParametroEntrada[];\n this.regrasFiltroEntrada = dtoRegra?.regrasFiltroEntrada?.map((regra: any) => new RegraFiltroEntrada(regra)) as RegraFiltroEntrada[];\n this.exibirIconePararAtualizacao = dtoRegra?.exibirIconePararAtualizacao;\n this.regraDoTipoCustomizada = dtoRegra?.regraDoTipoCustomizada;\n this.tipoRegraID = dtoRegra?.tipoRegraID;\n this.tipoRegraDescricao = dtoRegra?.tipoRegraDescricao;\n this.dataHoraInicioVigenciaFormatado = dtoRegra?.dataHoraInicioVigenciaFormatado;\n this.dataHoraFimVigenciaFormatado = dtoRegra?.dataHoraFimVigenciaFormatado;\n }\n}\n","import { FormDinamico } from \"./app.formdinamico.model\";\n\nexport class RegraFiltroEntrada extends FormDinamico {\n regraFiltroEntradaId: number;\n filtroEntradaId: number;\n filtroEntradaNome: string;\n filtroEntradaTipoDadoId: number;\n filtroEntradaTipoDadoNome: string;\n operadorId?: number;\n operadorNome?: string;\n agrupadorId?: number;\n agrupadorNome?: string;\n valor: string;\n localNome?: string;\n sentidoDaLeitura?: string;\n\n constructor(dtoRegraFiltroEntrada: any) {\n super(dtoRegraFiltroEntrada?.filtroEntrada, dtoRegraFiltroEntrada?.regraFiltroEntradaID);\n this.regraFiltroEntradaId = dtoRegraFiltroEntrada?.regraFiltroEntradaID;\n this.filtroEntradaId = dtoRegraFiltroEntrada?.filtroEntrada?.filtroEntradaID;\n this.filtroEntradaNome = dtoRegraFiltroEntrada?.filtroEntrada?.nome;\n this.filtroEntradaTipoDadoId = dtoRegraFiltroEntrada?.filtroEntrada?.tipoDadoID;\n this.filtroEntradaTipoDadoNome = dtoRegraFiltroEntrada?.filtroEntrada?.tipoDadoNome;\n this.operadorId = dtoRegraFiltroEntrada?.operador?.operadorID;\n this.operadorNome = dtoRegraFiltroEntrada?.operador?.nome;\n this.agrupadorId = dtoRegraFiltroEntrada?.agrupador?.agrupadorID;\n this.agrupadorNome = dtoRegraFiltroEntrada?.agrupador?.nome;\n this.valor = dtoRegraFiltroEntrada?.valor;\n }\n}\n","import { FormDinamico } from \"./app.formdinamico.model\";\nimport { Operador } from \"./app.operador.model\";\n\nexport class RegraParametroEntrada extends FormDinamico {\n regraParametroEntradaId?: number;\n parametroEntradaId?: number;\n parametroEntradaNome?: string;\n parametroEntradaTipoDadoId?: number;\n parametroEntradaTipoDadoNome?: string;\n operadorId?: number;\n operadorNome?: string;\n agrupadorId?: number;\n agrupadorNome?: string;\n valor?: string;\n localNome?: string;\n sentidoDaLeitura?: string;\n\n constructor(dtoRegraParametroEntrada: any) {\n super(dtoRegraParametroEntrada?.parametroEntrada, dtoRegraParametroEntrada?.regraParametroEntradaID);\n this.regraParametroEntradaId = dtoRegraParametroEntrada?.regraParametroEntradaID;\n this.parametroEntradaId = dtoRegraParametroEntrada?.parametroEntrada?.parametroEntradaID;\n this.parametroEntradaNome = dtoRegraParametroEntrada?.parametroEntrada?.nome;\n this.parametroEntradaTipoDadoId = dtoRegraParametroEntrada?.parametroEntrada?.tipoDadoID;\n this.parametroEntradaTipoDadoNome = dtoRegraParametroEntrada?.parametroEntrada?.tipoDadoNome;\n this.operadorId = dtoRegraParametroEntrada?.operador?.operadorID;\n this.operadorNome = dtoRegraParametroEntrada?.operador?.nome;\n this.agrupadorId = dtoRegraParametroEntrada?.agrupador?.agrupadorID;\n this.agrupadorNome = dtoRegraParametroEntrada?.agrupador?.nome;\n this.valor = dtoRegraParametroEntrada?.valor;\n }\n}\n","export class RegraUnidadeFiscal {\n regraUnidadeFiscalId: number;\n unidadeFiscalId: number;\n unidadeFiscalNome?: string;\n usuarioId?: number;\n situacaoId?: number;\n situacaoNome?: string;\n\n constructor(dtoRegraUnidadeFiscal: any) {\n this.regraUnidadeFiscalId = dtoRegraUnidadeFiscal?.regraUnidadeFiscalID;\n this.unidadeFiscalId = dtoRegraUnidadeFiscal?.unidadeFiscalID;\n this.unidadeFiscalNome = dtoRegraUnidadeFiscal?.unidadeFiscalNome;\n this.usuarioId = dtoRegraUnidadeFiscal?.usuarioID;\n this.situacaoId = dtoRegraUnidadeFiscal?.situacaoID;\n this.situacaoNome = dtoRegraUnidadeFiscal?.situacaoNome;\n }\n}\n","export class TipoDado {\n tipoDadoId: number;\n nome: string;\n\n constructor(dtoTipoDado: any) {\n this.nome = dtoTipoDado.nome;\n this.tipoDadoId = dtoTipoDado.tipoDadoID;\n }\n}\n","export class TipoDestinatario {\n tipoDestinatarioId: number;\n nome: string;\n\n constructor(dtoTipoDestinatario: any) {\n this.tipoDestinatarioId = dtoTipoDestinatario.tipoDestinatarioID;\n this.nome = dtoTipoDestinatario.nome;\n }\n}\n","export class Token {\n access_token: string;\n token_type: string;\n expires_in: number;\n\n constructor({\n access_token,\n token_type,\n expires_in\n }: any) {\n this.access_token = access_token;\n this.token_type = token_type;\n this.expires_in = expires_in;\n }\n}\n","import { ESituacao } from \"../constantes/app.esituacao.const\";\nimport { Usuario } from \"./app.usuario.model\";\n\nexport class SubUnidade {\n nomeLocal: string;\n codigoLocal: number;\n codigoUnidade: number;\n ehSubUnidade: boolean = true;\n\n constructor(subUnidadeDto: any) {\n this.nomeLocal = subUnidadeDto?.nomeLocal;\n this.codigoLocal = subUnidadeDto?.codigoLocal;\n this.codigoUnidade = subUnidadeDto?.codigoUnidade;\n }\n}\n\nexport class Unidade {\n nomeLocal: string;\n codigoLocal: number;\n subUnidades: SubUnidade[];\n ehUnidade: boolean = true;\n campoFiscais: string;\n\n constructor(unidadeDto: any) {\n this.campoFiscais = `subUnidades${unidadeDto?.codigoLocal}`;\n this.nomeLocal = unidadeDto?.nomeLocal;\n this.codigoLocal = unidadeDto?.codigoLocal;\n this.subUnidades = unidadeDto?.subUnidades?.map(subUnidade => new SubUnidade(subUnidade));\n }\n}\n\nexport class UnidadeFiscal {\n unidadeFiscalId: number;\n nome: string;\n unidadeFiscalIdEfazenda: number;\n unidadeFiscalIdPaiEfazenda?: number;\n dataHoraInclusao?: string;\n UsuarioNomeInclusao: string;\n UsuarioIdInclusao: number;\n dataHoraAlteracao?: string;\n UsuarioNomeAlteracao?: string;\n UsuarioIdAlteracao?: number;\n coordenadas: string;\n situacaoId: ESituacao;\n situacaoNome: string;\n sigla: string;\n usuarios: Usuario[];\n isDisabled: boolean; \n\n ehUnidade: boolean = false;\n campoFiscais: string;\n subUnidades: UnidadeFiscal[];\n descricao?: string;\n\n constructor(unidadeFiscalDto: any, desabilitarUnidadesQueNaoPossuiUsuario: boolean = true) {\n this.unidadeFiscalId = unidadeFiscalDto?.unidadeFiscalID;\n this.nome = unidadeFiscalDto?.nome;\n this.unidadeFiscalIdEfazenda = unidadeFiscalDto?.unidadeFiscalIDEfazenda;\n this.unidadeFiscalIdPaiEfazenda = unidadeFiscalDto?.unidadeFiscalIDPaiEfazenda;\n this.dataHoraInclusao = unidadeFiscalDto?.dataHoraInclusao;\n this.UsuarioNomeInclusao = unidadeFiscalDto?.usuarioNomeInclusao;\n this.UsuarioIdInclusao = unidadeFiscalDto?.usuarioIDInclusao;\n this.dataHoraAlteracao = unidadeFiscalDto?.dataHoraAlteracao;\n this.UsuarioNomeAlteracao = unidadeFiscalDto?.usuarioNomeAlteracao;\n this.UsuarioIdAlteracao = unidadeFiscalDto?.usuarioIDAlteracao;\n this.coordenadas = unidadeFiscalDto?.coordenadas;\n this.situacaoId = unidadeFiscalDto?.situacaoId;\n this.situacaoNome = unidadeFiscalDto?.situacaoNome;\n this.sigla = unidadeFiscalDto?.sigla;\n this.usuarios = unidadeFiscalDto?.usuarios?.map(usuario => new Usuario(usuario)) || [];\n this.isDisabled = desabilitarUnidadesQueNaoPossuiUsuario ? this.usuarios.length == 0 : false;\n this.ehUnidade = unidadeFiscalDto?.unidadeFiscalIDPaiEfazenda == 23;\n this.campoFiscais = `fiscalUnidade${unidadeFiscalDto?.unidadeFiscalID}`;\n this.subUnidades = [];\n this.descricao = unidadeFiscalDto.descricao;\n }\n}\n","import { Perfil } from 'src/app/model/app.perfil.model';\nimport { ChefeUnidadeFiscal } from './app.chefeunidadefiscal.model';\nexport class Usuario {\n usuarioId?: number;\n nome?: string;\n login?: string;\n perfil?: Perfil;\n perfilId?: number;\n perfilNome?: string;\n dataHoraInclusao?: string;\n situacaoId?: number;\n situacaoNome?: string;\n unidadeFiscalId?: number;\n unidadeFiscalNome?: string;\n dataHoraAlteracao?: string;\n usuarioIdAlteracao?: number;\n usuarioNomeAlteracao?: string;\n chefeUnidadesFiscais?: ChefeUnidadeFiscal[];\n regraUnidadeFiscalId?: number;\n\n constructor(usuarioDto: any) {\n this.usuarioId = usuarioDto?.usuarioID || usuarioDto?.usuarioId;\n this.nome = usuarioDto?.nome;\n this.login = usuarioDto?.login;\n this.perfil = usuarioDto?.perfil ? new Perfil(usuarioDto?.perfil) : null;\n this.perfilNome = this.perfil?.nome;\n this.dataHoraInclusao = usuarioDto?.dataHoraInclusao;\n this.situacaoId = usuarioDto?.situacaoID;\n this.situacaoNome = usuarioDto?.situacaoNome;\n this.unidadeFiscalId = usuarioDto?.unidadeFiscalID;\n this.unidadeFiscalNome = usuarioDto?.unidadeFiscalNome;\n this.dataHoraAlteracao = usuarioDto?.dataHoraAlteracao;\n this.usuarioIdAlteracao = usuarioDto?.usuarioIDAlteracao;\n this.usuarioNomeAlteracao = usuarioDto?.usuarioNomeAlteracao;\n this.chefeUnidadesFiscais = usuarioDto?.chefeUnidadesFiscais?.map(chefeUnidadeFiscal => new ChefeUnidadeFiscal(chefeUnidadeFiscal));\n }\n}\n","import { Agrupador } from './app.agrupador.model';\nimport { Operador } from './app.operador.model';\nimport { Icone } from './app.icone.model';\nimport { Perfil } from 'src/app/model/app.perfil.model';\nimport { Grupo } from 'src/app/model/app.grupo.model';\nimport { Modulo } from 'src/app/model/app.modulo.model';\nimport { TipoDestinatario } from './app.tipodestinatario.model';\nimport { ComportamentoRegra } from './app.comportamentoregra.model';\nimport { RegraUnidadeFiscal } from './app.regraunidadefiscal.model';\nimport { RegraParametroEntrada } from './app.regraparametroentrada.model';\nimport { RegraFiltroEntrada } from './app.regrafiltroentrada.model';\nimport { Regra } from './app.regra.model';\nimport { Usuario } from './app.usuario.model';\nimport { Token } from './app.token.model';\nimport { TipoDado } from './app.tipodado.model';\nimport { ModeloRegra } from './app.modeloregra.model';\nimport { Condicionante } from './app.condicionante.model';\nimport { FiltroEntrada } from './app.filtroentrada.model';\nimport { ParametroSaida } from './app.parametrosaida.model';\nimport { ParametroEntrada } from './app.parametroentrada.model';\nimport { Alerta } from './app.alerta.model';\n\nexport {\n Condicionante,\n FiltroEntrada,\n ModeloRegra,\n ParametroEntrada,\n ParametroSaida,\n TipoDado,\n Token,\n Usuario,\n Regra,\n RegraFiltroEntrada,\n RegraParametroEntrada,\n RegraUnidadeFiscal,\n ComportamentoRegra,\n TipoDestinatario,\n Modulo,\n Grupo,\n Perfil,\n Icone,\n Operador,\n Agrupador,\n Alerta\n}\n","import { ParmissoesPagina } from '../permissoes.pages';\nimport { Alerta } from '../../model/app.alerta.model';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Observable, of, tap } from 'rxjs';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { AlertaService } from 'src/app/services/app.alerta.service';\nimport { ExcelService } from 'src/app/services/app.excel.service';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n@Component({\n selector: 'app-alertas',\n templateUrl: './alerta.component.html',\n styleUrls: ['./alerta.component.scss'],\n providers: [DialogUtil, BlockUtil, ExcelService],\n})\nexport class AlertaComponent extends ParmissoesPagina implements OnInit {\n public isMobile: boolean = false;\n public alertas$: Observable;\n public total$: Observable;\n public form: FormGroup;\n public eSituacao: ListItem[] = ESituacao.toList();\n public eSitucaoPendente: ESituacao = ESituacao.PENDENTE;\n public eSitucaoEmAtendimento: ESituacao = ESituacao.EM_ATENDIMENTO;\n public eSitucaoFinalizado: ESituacao = ESituacao.FINALIZADO;\n public pesquisaAvancadaAberta: boolean = false;\n public colsGrid: any = [\n {\n colKey: \"alertaID\",\n colName: \"Alerta\"\n },\n {\n colKey: \"regraID\",\n colName: \"Regra\"\n },\n {\n colKey: \"situacao\",\n colName: \"Situação\",\n type: 'string',\n options: ESituacao.toListAll()\n },\n {\n colKey: \"condicionante\",\n colName: \"Condicionante\"\n },\n {\n colKey: \"usuarioAtendimento\",\n colName: \"Usuário Atendimento\"\n },\n {\n colKey: \"tipoAlerta\",\n colName: \"Tipo Alerta\",\n type: 'bool',\n options: ['Customizada', 'Normal']\n\n },\n {\n colKey: \"periodo\",\n colName: \"Data de Geração\",\n type: 'dateTime'\n }\n ]\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n constructor(\n private router: Router,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private formBuilder: FormBuilder,\n public service: AlertaService,\n private toast: ToastUtil,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService,\n private excelService: ExcelService\n ) {\n super(router.url, accountService);\n\n this.blockUtil.blockName = \"alertasCadastrados\";\n this.service.blockUtil = this.blockUtil;\n this.alertas$ = this.service.alertas$;\n\n this.total$ = this.service.total$;\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl('')\n });\n\n this.breakpointObserver.observe(['(max-width: 768px)']).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true;\n } else {\n this.isMobile = false;\n }\n });\n }\n\n ngOnInit(): void {\n this.service.get({});\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column) {\n header.direction = '';\n }\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n\n this.service.get({\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n alerta: '',\n modeloRegraId: '',\n dataGeracao: '',\n dataHoraInclusao: '',\n situacaoId: '',\n unidadeFiscalNome: '',\n usuarioAtendimentoNome: '',\n alertaTipoLiberacaoId: '',\n alertaID: '',\n regraID: '',\n periodo: '',\n situacao: '',\n motivo: '',\n serie: '',\n condicionante: '',\n usuarioAtendimento: '',\n tipoAlerta: '',\n filtroGenerico: filtroGenerico ? filtroGenerico : ''\n });\n\n }\n\n onLink(data: Alerta) {\n this.dialogModal.open({\n title: data.modeloRegra.nome,\n text: `Deseja vincular esse Alerta a você.
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoNome = \"VINCULADO\";\n data.situacaoId = ESituacao.VINCULADO;\n this.service.putSituacao(data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Alerta vinculado!\");\n this.blockUtil.desbloquear();\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n onView({ alertaId }: any) {\n this.router.navigate(['alerta/visualizar'], { queryParams: { alertaId } });\n }\n\n onFinalize({ alertaId }: any) {\n this.router.navigate(['alerta/atender'], { queryParams: { alertaId } });\n }\n\n onFiscalizar({ id }: any) {\n //this.router.navigate(['alertas/visualizar'], { queryParams: { regraId: id } });\n this.dialogModal.open({\n title: 'Fiscalizar',\n text: 'Ação não implementada',\n btns: [],\n });\n }\n\n onLiberar({ id }: any) {\n //this.router.navigate(['alertas/visualizar'], { queryParams: { regraId: id } });\n this.dialogModal.open({\n title: 'Liberar',\n text: 'Ação não implementada',\n btns: [],\n });\n }\n\n exportExcel(): void {\n this.blockUtil.bloquear();\n const jsonData = this.service.alertas.map(({\n alertaId,\n regra,\n dataHoraInclusaoFormatado,\n situacaoNome,\n descricaoTipoAlerta,\n usuarioNomeAlteracao,\n }) => {\n return {\n \"Alerta\": alertaId,\n \"Regra\": regra.regraId,\n \"Data de Geração\": dataHoraInclusaoFormatado,\n \"Situação\": situacaoNome,\n \"Condicionante\": regra?.modeloRegra?.condicionanteDescricao,\n \"Usuário Atendimento\": usuarioNomeAlteracao,\n \"Tipo Alerta\": descricaoTipoAlerta\n };\n });\n this.excelService.exportExcel(jsonData, \"Alertas\");\n this.blockUtil.desbloquear();\n }\n\n pesquisaAvancada() {\n this.pesquisaAvancadaAberta = true;\n this.form.reset();\n }\n\n closeSearch() {\n this.search();\n this.pesquisaAvancadaAberta = false;\n }\n\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n this.search();\n\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Alertas
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n Alerta\n Regra\n Data de Geração\n \n Situação\n Condicionante\n \n Usuário Atendimento\n \n Tipo AlertaAções
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { AlertaService } from '../../services/app.alerta.service';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { DirectivesModule } from 'src/app/directives/app.directives.module';\nimport { AlertaComponent } from './alerta.component';\nimport { AlertaVisualizarComponent } from './visualizar/alerta.visualizar.component';\nimport { AlertaAtenderComponent } from './atender/alerta.atender.component';\nimport { PipesModule } from 'src/app/pipes/app.pipes.module';\nimport { BlockUIModule } from 'ng-block-ui';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { ComponentsModule } from 'src/app/components/components.module';\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n PipesModule,\n NgMultiSelectDropDownModule.forRoot(),\n BlockUIModule.forRoot(),\n ComponentsModule\n ],\n declarations: [\n AlertaComponent,\n AlertaVisualizarComponent,\n AlertaAtenderComponent,\n \n ],\n providers: [AlertaService],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class AlertaModule { }\n","import { AlertaComponent } from './alerta.component';\nimport { Routes } from '@angular/router';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { AlertaVisualizarComponent } from './visualizar/alerta.visualizar.component';\nimport { AlertaAtenderComponent } from './atender/alerta.atender.component';\n\nexport const AlertasRoutes: Routes = [\n {\n path: 'alerta',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: AlertaComponent,\n }\n ],\n },\n {\n path: 'alerta/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: AlertaVisualizarComponent,\n },\n ],\n },\n {\n path: 'alerta/atender',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: AlertaAtenderComponent,\n },\n ],\n },\n];\n","import { ETipoLiberacao } from './../../../constantes/app.etipoliberacao.const';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Component } from '@angular/core';\nimport { AlertaService } from 'src/app/services/app.alerta.service';\nimport { Alerta } from 'src/app/model/app.alerta.model';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { AtenderAlertaValidator } from 'src/app/validators/atender.alerta.validator';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { Regra, RegraFiltroEntrada, RegraParametroEntrada } from 'src/app/model';\nimport { RegraService } from 'src/app/services/app.regra.service';\nimport { combineLatest, switchMap } from 'rxjs';\nimport { filter, map, take } from 'rxjs/operators';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { Equipamento } from 'src/app/model/app.equipamentos.model';\n\n@Component({\n selector: 'app-alerta-atender',\n templateUrl: './alerta.atender.component.html',\n styleUrls: ['./alerta.atender.component.scss'],\n providers: [\n DialogUtil\n ]\n})\nexport class AlertaAtenderComponent {\n\n public form: FormGroup;\n public data: Alerta;\n public equipamentos: Equipamento[] = [];\n public eTipoLiberacao: ListItem[] = ETipoLiberacao.toList();\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: AlertaService,\n private serviceRegra: RegraService,\n private formBuilder: FormBuilder,\n private blockUtil: BlockUtil,\n private toast: ToastUtil,\n private validator: AtenderAlertaValidator,\n private dialogModal: DialogUtil,\n private comum: ComunService\n ) {\n\n this.form = this.formBuilder.group({\n alertaId: new FormControl(null),\n tipoLiberacao: new FormControl(''),\n motivo: new FormControl(null),\n serie: new FormControl(null),\n numeroDocumento: new FormControl(null),\n unidade: new FormControl(null),\n });\n\n const alertaId = +this.route.snapshot.queryParamMap.get(\"alertaId\");\n combineLatest({\n alerta: this.service.getById(alertaId),\n equipamentos: this.comum.ObterEquipamentos()\n .pipe(filter(equipamentos => !!equipamentos)),\n })\n .pipe(\n take(1),\n )\n .subscribe({\n next: ({ alerta, equipamentos }) => {\n const { motivo, serie, numeroDocumento, alertaTipoLiberacaoId, unidade } = alerta;\n this.data = alerta;\n this.equipamentos = equipamentos;\n const tipoLiberacao = this.eTipoLiberacao.find(tipoLiberacao => tipoLiberacao.tipoLiberacaoId == alertaTipoLiberacaoId) ?? '';\n this.onClear();\n this.form.patchValue({ alertaId, motivo, serie, numeroDocumento, tipoLiberacao, unidade });\n },\n error: () => this.data = null\n });\n }\n\n get estaFinalizado() { return this.data?.situacaoId == ESituacao.FINALIZADO; }\n get estaEmAtendimento() { return this.data?.situacaoId == ESituacao.EM_ATENDIMENTO; }\n get estaDevolvido() { return this.data?.situacaoId == ESituacao.DEVOLVER_ATENDIMENTO; }\n get estaDesativado() { return this.data?.situacaoId == ESituacao.DESATIVADO; }\n get estaPendente() { return this.data?.situacaoId == ESituacao.PENDENTE; }\n get estaVinculado() { return this.data?.situacaoId == ESituacao.VINCULADO; }\n\n get EmAtendimento() { return this.data?.alertaHistoricos.find(atendimentoHistorico => atendimentoHistorico.situacaoId == ESituacao.EM_ATENDIMENTO) }\n get Finalizado() { return this.data?.alertaHistoricos.find(atendimentoHistorico => atendimentoHistorico.situacaoId == ESituacao.FINALIZADO) }\n get Devolvido() { return this.data?.alertaHistoricos.find(atendimentoHistorico => atendimentoHistorico.situacaoId == ESituacao.DEVOLVER_ATENDIMENTO) }\n get Desativado() { return this.data?.alertaHistoricos.find(atendimentoHistorico => atendimentoHistorico.situacaoId == ESituacao.DESATIVADO) }\n\n get ehTermoDeApreensao() { return this.form.controls.tipoLiberacao.value?.tipoLiberacaoId == ETipoLiberacao.TERMO_DE_APREENSAO; }\n get ehTermoDeVerificacaoFiscal() { return this.form.controls.tipoLiberacao.value?.tipoLiberacaoId == ETipoLiberacao.TERMO_DE_VERIFICACAO_FISCAL; }\n get ehALIM() { return this.form.controls.tipoLiberacao.value?.tipoLiberacaoId == ETipoLiberacao.ALIM; }\n get ehOutrasLiberacoes() { return this.form.controls.tipoLiberacao.value?.tipoLiberacaoId == ETipoLiberacao.OUTRAS_LIBERCOES; }\n get ehRegistroPassagemEstadual() { return this.form.controls.tipoLiberacao.value?.tipoLiberacaoId == ETipoLiberacao.REGISTRO_DE_PASSAGEM_ESTADUAL; }\n\n get mostrarNumeroDocumento() { return this.ehTermoDeApreensao || this.ehTermoDeVerificacaoFiscal || this.ehALIM || this.ehRegistroPassagemEstadual; }\n get mostrarMotivo() { return this.ehOutrasLiberacoes; }\n get mostrarSerie() { return this.ehALIM; }\n get mostrarUnidade() { return this.ehTermoDeApreensao || this.ehTermoDeVerificacaoFiscal || this.ehRegistroPassagemEstadual; }\n\n get placa(): string { return this.data.alertasParametroSaida.find(({ nome }) => nome == \"Placa\")?.valor; }\n\n get regra(): Regra {\n return this.data?.regra;\n }\n\n get filtrosEntrada(): any {\n return (this.data?.regra.regrasFiltroEntrada || [])\n .map(filtroEntrada => {\n const { valor } = this.data.regra\n ?.regrasFiltroEntrada\n ?.find(({ filtroEntradaNome }) => filtroEntradaNome == filtroEntrada.filtroEntradaNome) || {};\n filtroEntrada.valor = valor;\n const { tipoDadoNome } = filtroEntrada;\n if (tipoDadoNome == 'EQUIPAMENTOS') {\n const { local, sentidoDaLeitura, nome } = this.equipamentos.find(({ identificadorDoEquipamento }) => identificadorDoEquipamento == filtroEntrada.valor) || {};\n filtroEntrada.localNome = local?.nome;\n filtroEntrada.sentidoDaLeitura = sentidoDaLeitura;\n }\n\n return filtroEntrada;\n });\n }\n\n get parametrosEntrada(): any {\n return (this.data?.regra.regrasParametroEntrada || [])\n .filter(parametroEntrada => {\n const isValid = this.data.regra\n ?.modeloRegra?.parametrosEntrada\n ?.some(({ nome }) => nome == parametroEntrada.parametroEntradaNome) || {};\n const { tipoDadoNome } = parametroEntrada;\n if (tipoDadoNome == 'EQUIPAMENTOS') {\n const { local, sentidoDaLeitura, nome } = this.equipamentos.find(({ identificadorDoEquipamento }) => identificadorDoEquipamento == parametroEntrada.valor) || {};\n parametroEntrada.localNome = local?.nome;\n parametroEntrada.sentidoDaLeitura = sentidoDaLeitura;\n }\n\n return parametroEntrada && isValid;\n });\n }\n\n onSubmit() {\n this.dialogModal.open({\n title: this.data.modeloRegra.nome,\n text: `Deseja finalizar o Alerta?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n this.validator.set = this.form;\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.onFinalizarAlerta(this.validator.atenderAlerta)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.service.get({});\n this.router.navigate(['alerta']);\n },\n error: (erro: string) => {\n this.toast.showWarning(erro.toString().replace('Error:', ''));\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n onFinalizeAndRules() {\n this.dialogModal.open({\n title: this.data.modeloRegra.nome,\n text: `Deseja finalizar o Alerta e Regra?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n this.validator.set = this.form;\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.onFinalizarAlertaERegra(this.validator.atenderAlerta)\n .pipe(\n switchMap(() => this.serviceRegra.putSituacao({\n regraId: this.data.regra.regraId,\n situacaoId: ESituacao.DESATIVADO\n })\n .pipe(\n map(() => \"Alerta e Regra finalizados com sucesso!\")\n )\n )\n )\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.service.get({});\n this.router.navigate(['alerta']);\n },\n error: (erro: string) => {\n this.toast.showWarning(erro.toString().replace('Error:', ''));\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n onClear() {\n this.form.patchValue({\n motivo: null,\n serie: null,\n numeroDocumento: null,\n unidade: null\n });\n }\n\n onConfirm() {\n this.dialogModal.open({\n title: this.data.modeloRegra.nome,\n text: `Deseja confirmar as informações do Alerta?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n this.validator.set = this.form;\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n const data = this.validator.atenderAlerta;\n data.situacaoId = this.data.situacaoId;\n this.service.atender(data)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess(\"Alerta confirmada com sucesso!\");\n this.blockUtil.desbloquear();\n this.service.get({});\n this.router.navigate(['alerta']);\n },\n error: (erro: string) => {\n this.toast.showWarning(erro.toString().replace('Error:', ''));\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n onGiveBack() {\n this.dialogModal.open({\n title: this.data.modeloRegra.nome,\n text: `Você está prestes a devolver o Alerta
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n this.data.situacaoId = ESituacao.PENDENTE;\n this.data.situacaoNome = ESituacao.PENDENTE.toString();\n this.service.devolverParaFilaDePendentes(this.data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Alerta devolvido com sucesso!\");\n this.blockUtil.desbloquear();\n this.service.get({});\n this.router.navigate(['alerta']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n voltar() {\n this.router.navigate(['alerta']);\n }\n\n formatarValorOperadorAgrupadorParametroEntrada(parametroEntrada: RegraParametroEntrada, valorFormatado: string): string[] {\n let retorno = new Array();\n retorno.push(parametroEntrada?.operadorNome);\n retorno.push(valorFormatado);\n if (parametroEntrada.agrupadorNome)\n retorno.push(parametroEntrada.agrupadorNome);\n\n return retorno;\n }\n\n formatarValorOperadorAgrupadorFiltroEntrada(filtroEntrada: RegraFiltroEntrada, valorFormatado: string): string[] {\n let retorno = new Array();\n retorno.push(filtroEntrada?.operadorNome);\n retorno.push(valorFormatado);\n if (filtroEntrada.agrupadorNome)\n retorno.push(filtroEntrada.agrupadorNome);\n\n return retorno;\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Alerta

    \n
    \n Dados do Alerta\n
    \n
    \n
    \n \n {{data.alertaId}}\n Finalizado\n Em\n Atendimento\n Devolvido\n Desativado\n Pendente\n
    \n
    \n
    \n
    \n \n {{data.dataHoraInclusao | date: 'dd/MM/yyyy'}} às\n {{data.dataHoraInclusao\n | date: 'hh:mm'}}\n
    \n
    \n
    \n
    \n \n {{data.descricaoTipoAlerta}}\n
    \n
    \n
    \n INFORMAÇÕES DE SAÍDA\n
    \n
    \n \n
    \n
    \n \n {{parametroSaida.dataHoraInclusao | date: 'dd/MM/yyyy'}} às\n {{parametroSaida.dataHoraInclusao\n | date: 'hh:mm'}}\n
    \n
    \n
    \n \n {{parametroSaida.nome}}\n
    \n
    \n \n {{parametroSaida.valor}}\n
    \n
    \n
    \n
    \n Dados do Evento\n
    \n
    \n
    \n
    \n \n {{evento.numeroEventoDfe}}\n
    \n
    \n
    \n
    \n \n {{evento.dataHoraInclusao | date: 'dd/MM/yyyy'}} às\n {{evento.dataHoraInclusao\n | date: 'hh:mm' }}\n no fuso horário: {{evento.fusoHorario}}\n
    \n
    \n
    \n
    \n \n {{evento.descricaoEventoDfe}}\n
    \n
    \n
    \n
    \n \n {{evento.dataHoraPassagem | date: 'dd/MM/yyyy'}}\n às\n {{evento.dataHoraPassagem | date: 'hh:mm' }} \n no fuso horário: {{evento.dataHoraPassagemFusoHorario}}\n
    \n
    \n
    \n
    \n \n {{evento.sentido}}\n
    \n
    \n
    \n
    \n \n {{evento.local}}\n
    \n
    \n
    \n
    \n Dados da Regra\n
    \n
    \n
    \n \n {{regra.regraId}}\n de {{regra.dataHoraInicioVigencia | date: 'dd/MM/yyyy'}}\n às\n {{\n regra.dataHoraInicioVigencia | date: 'hh:mm' }}\n até {{regra.dataHoraFimVigencia | date: 'dd/MM/yyyy'}} às {{\n regra.dataHoraFimVigencia | date: 'hh:mm' }}\n
    \n
    \n
    \n
    \n \n {{regra.usuarioNomeInclusao}}\n em {{regra.dataHoraInclusao | date: 'dd/MM/yyyy'}} às {{\n regra.dataHoraInclusao | date: 'hh:mm' }}\n
    \n
    \n
    \n
    \n \n {{regra.modeloRegra.condicionanteDescricao}}\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n {{regra.justificativa}}\n
    \n
    \n
    \n
    \n
    \n \n
      \n
    • \n
      \n
      \n {{ parametroEntrada.parametroEntradaNome }}\n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • {{parametroEntrada?.operadorNome}}
      • \n
      • Local:{{parametroEntrada.localNome}}
      • \n
      • Sentido:{{parametroEntrada.sentidoDaLeitura}}
      • \n
      • Equipamento:{{parametroEntrada.valor}}
      • \n
      • {{parametroEntrada.agrupadorNome}}
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}}\n
      • \n
      \n
      \n
      \n
      \n
    • \n
    \n
    \n
    \n
    \n
    \n \n
      \n
    • \n
      \n
      \n {{ filtroEntrada.filtroEntradaNome }}\n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • {{filtroEntrada?.operadorNome}}
      • \n
      • Local:{{filtroEntrada.localNome}}
      • \n
      • Sentido:{{filtroEntrada.sentidoDaLeitura}}
      • \n
      • Equipamento:{{filtroEntrada.valor}}
      • \n
      • {{filtroEntrada.agrupadorNome}}
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}}\n
      • \n
      \n
      \n
      \n
      \n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { ActivatedRoute, Router } from '@angular/router';\nimport { Component, Pipe } from '@angular/core';\nimport { ModuloService } from 'src/app/services/app.modulo.service';\nimport { AlertaService } from 'src/app/services/app.alerta.service';\nimport { Alerta } from 'src/app/model/app.alerta.model';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { Regra, RegraFiltroEntrada, RegraParametroEntrada } from 'src/app/model';\nimport { BehaviorSubject, combineLatest, filter, from, of, reduce, switchMap, take } from 'rxjs';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { Equipamento } from 'src/app/model/app.equipamentos.model';\nimport { UnidadeFiscal } from 'src/app/model/app.unidadefiscal.model';\nimport { RegraService } from 'src/app/services/app.regra.service';\nimport { map } from 'jquery';\nimport { AlertaImagem } from 'src/app/model/app.alertaimagematendimento.model';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\n\n@Component({\n selector: 'app-alerta-visualizar',\n templateUrl: './alerta.visualizar.component.html',\n styleUrls: ['./alerta.visualizar.component.scss'],\n providers: [\n ModuloService,\n BlockUtil\n ]\n})\nexport class AlertaVisualizarComponent {\n\n public data: Alerta;\n public equipamentos: Equipamento[] = [];\n public unidadesFiscais: UnidadeFiscal[] = [];\n public showImage: string = null;\n public imagens: AlertaImagem[] = [];\n\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: AlertaService,\n private regraService: RegraService,\n private blockUtil: BlockUtil,\n private comum: ComunService\n ) {\n this.blockUtil.blockName = \"alerta\";\n\n this.blockUtil.bloquear();\n const alertaId = +this.route.snapshot.queryParamMap.get(\"alertaId\");\n combineLatest({\n alerta: this.service.getById(alertaId),\n equipamentos: this.comum.ObterEquipamentos()\n .pipe(filter(equipamentos => !!equipamentos)),\n unidadesFiscais: this.comum.ObterTodasUnidadesFiscaisPorUsuario()\n .pipe(filter(unidades => !!unidades))\n })\n .pipe(\n take(1)\n )\n .subscribe({\n next: ({ unidadesFiscais, alerta, equipamentos }) => {\n this.data = alerta;\n this.equipamentos = equipamentos;\n this.unidadesFiscais = unidadesFiscais;\n\n this.blockUtil.desbloquear();\n from(alerta?.alertaImagemAtendimentoIds || [])\n .pipe(\n switchMap((alertaImagemAtendimentoId: number) => this.comum.ObterAlertaImagemPorAlertaImagemAtendimento(alertaImagemAtendimentoId))\n )\n .subscribe({\n next: (alertaImagem => this.imagens.push(alertaImagem))\n })\n\n },\n error: () => this.data = null\n });\n }\n\n get unidades(): UnidadeFiscal[] {\n\n const selecionadas = this.regra?.regrasUnidadeFiscal.filter(({ unidadeFiscalId, usuarioId, situacaoId }) => ({ unidadeFiscalId, usuarioId }) && situacaoId == ESituacao.ATIVO);\n\n return this.unidadesFiscais\n .filter(({ unidadeFiscalId }) => selecionadas.some(unidadeFiscal => unidadeFiscal.unidadeFiscalId == unidadeFiscalId))\n .map(unidade => {\n unidade.usuarios = unidade.usuarios.filter(({ usuarioId }) => selecionadas.some(unidadeFiscal => unidadeFiscal.usuarioId == usuarioId && unidadeFiscal.unidadeFiscalId == unidade.unidadeFiscalId));\n return unidade;\n });\n }\n\n get pathImagens() {\n return this.imagens.map(({ base64, tipo }) => {\n if (tipo.toLowerCase().trim() == 'png')\n return `data:image/png;base64,${base64}`;\n if (tipo.toLowerCase().trim() == 'jpg')\n return `data:image/png;base64,${base64}`;\n if (tipo.toLowerCase().trim() == 'jpeg')\n return `data:image/jpeg;base64,${base64}`;\n }) || [];\n }\n\n get EmAtendimento() { return this.data?.alertaHistoricos.find(atendimentoHistorico => atendimentoHistorico.situacaoId == ESituacao.EM_ATENDIMENTO) }\n get Finalizado() { return this.data?.alertaHistoricos.find(atendimentoHistorico => atendimentoHistorico.situacaoId == ESituacao.FINALIZADO) }\n get Devolvido() { return this.data?.alertaHistoricos.find(atendimentoHistorico => atendimentoHistorico.situacaoId == ESituacao.DEVOLVER_ATENDIMENTO) }\n get Desativado() { return this.data?.alertaHistoricos.find(atendimentoHistorico => atendimentoHistorico.situacaoId == ESituacao.DESATIVADO) }\n\n get estaFinalizado() { return this.data?.situacaoId == ESituacao.FINALIZADO; }\n get estaEmAtendimento() { return this.data?.situacaoId == ESituacao.EM_ATENDIMENTO; }\n get estaDevolvido() { return this.data?.situacaoId == ESituacao.DEVOLVER_ATENDIMENTO; }\n get estaDesativado() { return this.data?.situacaoId == ESituacao.DESATIVADO; }\n get estaPendente() { return this.data?.situacaoId == ESituacao.PENDENTE; }\n\n get placa(): string { return this.data.alertasParametroSaida.find(({ nome }) => nome == \"Placa\")?.valor; }\n\n get regra(): Regra {\n return this.data?.regra;\n }\n\n get unidadeGeracaoRegra() {\n return this.unidadesFiscais\n .find(({ usuarios }) => usuarios.some(u => u.usuarioId == this.regra.usuarioIDInclusao));\n }\n\n get filtrosEntrada(): any {\n return (this.data?.regra.regrasFiltroEntrada || [])\n .map(filtroEntrada => {\n const { valor } = this.data.regra\n ?.regrasFiltroEntrada\n ?.find(({ filtroEntradaNome }) => filtroEntradaNome == filtroEntrada.filtroEntradaNome) || {};\n filtroEntrada.valor = valor;\n const { tipoDadoNome } = filtroEntrada;\n if (tipoDadoNome == 'EQUIPAMENTOS') {\n const { local, sentidoDaLeitura, nome } = this.equipamentos.find(({ identificadorDoEquipamento }) => identificadorDoEquipamento == filtroEntrada.valor) || {};\n filtroEntrada.localNome = local?.nome;\n filtroEntrada.sentidoDaLeitura = sentidoDaLeitura;\n }\n\n return filtroEntrada;\n });\n }\n\n get parametrosEntrada(): any {\n return (this.data?.regra.regrasParametroEntrada || [])\n .filter(parametroEntrada => {\n const isValid = this.data.regra\n ?.modeloRegra?.parametrosEntrada\n ?.some(({ nome }) => nome == parametroEntrada.parametroEntradaNome) || {};\n const { tipoDadoNome } = parametroEntrada;\n if (tipoDadoNome == 'EQUIPAMENTOS') {\n const { local, sentidoDaLeitura, nome } = this.equipamentos.find(({ identificadorDoEquipamento }) => identificadorDoEquipamento == parametroEntrada.valor) || {};\n parametroEntrada.localNome = local?.nome;\n parametroEntrada.sentidoDaLeitura = sentidoDaLeitura;\n }\n\n return parametroEntrada && isValid;\n });\n }\n\n get showParametroEntrada(): boolean {\n return this.parametrosEntrada.some(p => !String.isNullOrEmpty(p.valor))\n }\n\n get showFiltroEntrada(): boolean {\n return this.filtrosEntrada.some(f => !String.isNullOrEmpty(f.valor))\n }\n\n verImagem(e: Event) {\n const image = (e.target as HTMLElement).closest(\"img\");\n if (!image) return;\n this.showImage = image.src;\n }\n\n fecharImagem(e: Event) {\n if (e.target !== e.currentTarget) return;\n this.showImage = null;\n }\n\n voltar() {\n this.router.navigate(['alerta']);\n }\n\n formatarValorOperadorAgrupadorParametroEntrada(parametroEntrada: RegraParametroEntrada, valorFormatado: string): string[] {\n let retorno = new Array();\n retorno.push(parametroEntrada?.operadorNome);\n retorno.push(valorFormatado);\n if (parametroEntrada.agrupadorNome)\n retorno.push(parametroEntrada.agrupadorNome);\n\n return retorno;\n }\n\n formatarValorOperadorAgrupadorFiltroEntrada(filtroEntrada: RegraFiltroEntrada, valorFormatado: string): string[] {\n let retorno = new Array();\n retorno.push(filtroEntrada?.operadorNome);\n retorno.push(valorFormatado);\n if (filtroEntrada.agrupadorNome)\n retorno.push(filtroEntrada.agrupadorNome);\n\n return retorno;\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Alerta

    \n
    \n Dados do Alerta\n
    \n
    \n
    \n \n {{data.alertaId}}\n Finalizado\n Em\n Atendimento\n Devolvido\n Desativado\n Pendente\n
    \n
    \n
    \n
    \n \n {{data.dataHoraInclusao | date: 'dd/MM/yyyy'}} às {{data.dataHoraInclusao\n | date: 'HH:mm'}}\n
    \n
    \n
    \n
    \n \n {{data.descricaoTipoAlerta}}\n
    \n
    \n
    \n DADOS DE SAÍDA\n
    \n \n
    \n \n
    \n
    \n \n {{parametroSaida.dataHoraInclusao | date: 'dd/MM/yyyy'}} às\n {{parametroSaida.dataHoraInclusao\n | date: 'HH:mm'}}\n
    \n
    \n
    \n \n {{parametroSaida.nome}}\n
    \n
    \n \n {{parametroSaida.valor}}\n
    \n
    \n
    \n
    \n
    \n Dados do Evento\n
    \n
    \n
    \n
    \n \n {{evento.numeroEventoDfe}}\n
    \n
    \n
    \n
    \n \n {{evento.dataHoraInclusao | date: 'dd/MM/yyyy'}} às\n {{evento.dataHoraInclusao\n | date: 'hh:mm'}}\n no fuso horário: {{evento.fusoHorario}}\n
    \n
    \n
    \n
    \n \n {{evento.descricaoEventoDfe}}\n
    \n
    \n
    \n
    \n \n {{evento.dataHoraPassagem | date: 'dd/MM/yyyy'}}\n às\n {{evento.dataHoraPassagem | date: 'hh:mm'}} \n no fuso horário: {{evento.dataHoraPassagemFusoHorario}}\n
    \n
    \n
    \n
    \n \n {{evento.sentido}}\n
    \n
    \n
    \n
    \n \n {{evento.local}}\n
    \n
    \n
    \n
    \n Dados da Regra\n
    \n
    \n
    \n \n {{regra.regraId}}\n de {{regra.dataHoraInicioVigencia | date: 'dd/MM/yyyy'}} às\n {{\n regra.dataHoraInicioVigencia | date: 'HH:mm' }}\n até {{regra.dataHoraFimVigencia | date: 'dd/MM/yyyy'}} às {{\n regra.dataHoraFimVigencia | date: 'HH:mm' }}\n
    \n
    \n
    \n
    \n \n {{regra.usuarioNomeInclusao}}\n em {{regra.dataHoraInclusao | date: 'dd/MM/yyyy'}} às {{\n regra.dataHoraInclusao | date: 'HH:mm' }}\n
    \n
    \n
    \n
    \n \n {{regra.modeloRegra.condicionanteDescricao}}\n
    \n
    \n
    \n
    \n \n {{ unidadeGeracaoRegra.nome}}\n
    \n
    \n
    \n
    \n \n {{regra.justificativa}}\n
    \n
    \n
    \n
    \n
    \n \n
      \n \n
    • \n
      \n {{ parametroEntrada.parametroEntradaNome }}\n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
        \n
      • {{parametroEntrada?.operadorNome}}
      • \n
      • Local:{{parametroEntrada.localNome}}\n
      • \n
      • Sentido:{{parametroEntrada.sentidoDaLeitura}}\n
      • \n
      • Equipamento:{{parametroEntrada.valor}}\n
      • \n
      • \n {{parametroEntrada.agrupadorNome}}
      • \n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
    • \n
      \n
    \n
    \n
    \n
    \n
    \n \n
      \n
    • \n
      \n
      \n {{ filtroEntrada.filtroEntradaNome }}\n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
        \n
      • {{filtroEntrada?.operadorNome}}
      • \n
      • Local:{{filtroEntrada.localNome}}\n
      • \n
      • Sentido:{{filtroEntrada.sentidoDaLeitura}}\n
      • \n
      • Equipamento:{{filtroEntrada.valor}}\n
      • \n
      • \n {{filtroEntrada.agrupadorNome}}
      • \n
      \n
      \n
      \n
        \n \n {{item}}\n \n
      \n
      \n
      \n
      \n
    • \n
    \n
    \n
    \n\n
    0\">\n
    \n \n
      \n
    • \n {{ unidade.nome }}\n
        \n
      • \n {{usuario.nome}}\n
      • \n
      \n
    • \n
    \n
    \n
    \n
    \n \n
    \n Dados do Atendimento\n
    \n
    \n
    \n
    \n \n {{EmAtendimento.usuarioNomeInclusao}}\n em {{EmAtendimento.dataHoraInclusao | date:\n 'dd/MM/yyyy'}} às {{\n EmAtendimento.dataHoraInclusao | date: 'HH:mm' }}\n
    \n
    \n \n em {{Finalizado.dataHoraInclusao | date:\n 'dd/MM/yyyy'}} às\n {{Finalizado.dataHoraInclusao\n | date: 'HH:mm'}}\n
    \n
    \n
    \n
    \n
    \n \n {{data.alertaTipoLiberacaoNome}}\n
    \n
    \n
    \n
    \n \n {{data.numeroDocumento}}\n
    \n
    \n
    \n
    \n \n {{data.motivo}}\n
    \n
    \n
    \n
    \n \n {{data.serie}}\n
    \n
    \n
    \n
    \n \n {{data.unidade}}\n
    \n
    \n
    \n Imagens Anexadas\n
    \n
    \n
    \n \n \"\"\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    ","import { ToastUtil } from '../../../helper/app.toast.utils';\nimport { ESituacao } from '../../../constantes/app.esituacao.const';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { CondicionanteValidator } from \"src/app/validators/condicionante.validator\";\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { CondicionanteService } from 'src/app/services/app.condicionante.service';\n\n@Component({\n selector: 'app-condicionante-cadastro',\n templateUrl: './condicionante.cadastro.component.html',\n styleUrls: ['./condicionante.cadastro.component.scss'],\n providers:[\n BlockUtil,\n CondicionanteService\n ]\n})\nexport class CondicionanteCadastroComponent implements OnInit {\n\n public form: FormGroup;\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private condicionanteValidator: CondicionanteValidator,\n private blockUtil: BlockUtil,\n public service: CondicionanteService,\n private toast: ToastUtil\n ) {\n this.form = this.formBuilder.group({\n descricao: new FormControl(null),\n situacaoId: ESituacao.ATIVO,\n });\n\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n\n this.blockUtil.bloquear();\n\n this.condicionanteValidator.set = this.form;\n\n if(!this.condicionanteValidator.isValid){\n this.blockUtil.desbloquear();\n\t\t\tthis.condicionanteValidator.showMessages();\n }else{\n this.service.new(this.condicionanteValidator.condicionante)\n .subscribe({\n next: (data) => {\n this._sucesso(data);\n\n this.blockUtil.desbloquear();\n this.clear();\n this.router.navigate(['condicionante']);\n },\n error: (erro) =>{\n this._erro(erro);\n\n this.blockUtil.desbloquear();\n return;\n }\n })\n }\n }\n\n cancel() {\n this.router.navigate(['condicionante']);\n }\n clear(){\n this.form.setValue({\n descricao: null,\n situacaoId: null,\n })\n }\n\n\n private _erro(message: string) {\n\t\tthis.toast.showDanger(message);\n\t}\n\n\tprivate _sucesso(message: string) {\n\t\tthis.toast.showSuccess(message);\n\t}\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { EAcao } from './../../constantes/app.eacao.const';\nimport { map, tap } from 'rxjs/operators';\nimport { ESituacao } from '../../constantes/app.esituacao.const';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { Condicionante } from 'src/app/model/app.condicionante.model';\nimport { CondicionanteService } from 'src/app/services/app.condicionante.service';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n@Component({\n selector: 'app-condicionantes',\n templateUrl: './condicionante.component.html',\n styleUrls: ['./condicionante.component.scss'],\n providers: [\n CondicionanteService,\n DialogUtil,\n BlockUtil\n ]\n})\nexport class CondicionantesComponent extends ParmissoesPagina implements OnInit {\n\n public isMobile: boolean = false;\n public condicionantes$: Observable;\n public condicionanteEditar = new BehaviorSubject(null);\n public total$: Observable;\n public form: FormGroup;\n public ATRIBUIDO: ESituacao = ESituacao.ATRIBUIDO;\n public pesquisaAvancadaAberta: boolean = false;\n\n public colsGrid: any = [\n {\n colKey: \"descricao\",\n colName: \"Descrição\"\n },\n {\n colKey: \"situacaoID\",\n colName: \"Situação\",\n type: 'string',\n options: ESituacao.toListAll()\n },\n\n\n ]\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n constructor(\n private router: Router,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private formBuilder: FormBuilder,\n public service: CondicionanteService,\n private toast: ToastUtil,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService\n ) {\n super(router.url, accountService);\n this.condicionantes$ = service.condicionantes$;\n this.total$ = service.total$;\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl('')\n });\n\n this.breakpointObserver.observe([\n \"(max-width: 768px)\"\n ]).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true\n } else {\n this.isMobile = false\n }\n });\n }\n\n ngOnInit(): void {\n this.service.get({});\n }\n\n onSort({ column, direction }: SortEvent) {\n // resetting other headers\n this.headers.forEach(header => {\n if (header.sortable !== column) {\n header.direction = '';\n }\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n this.service.get({\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n filtroGenerico: filtroGenerico?filtroGenerico:'',\n descricao: '',\n situacaoID: '',\n });\n }\n\n // clean() {\n // this.form.setValue({\n // descricao: '',\n // situacao: ''\n // });\n // this.service.get({});\n // }\n\n onView({ condicionanteId: condicionanteId }: any) {\n this.router.navigate(['condicionante/visualizar'], { queryParams: { condicionanteId } });\n }\n\n onEdit({ condicionanteId: condicionanteId }: any) {\n this.router.navigate(['condicionante/editar'], { queryParams: { condicionanteId } });\n }\n\n onDelete(data: Condicionante) {\n this.dialogModal.open({\n title: data.descricao,\n text: `Você está prestes a remover a condicionante!
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoId = ESituacao.EXCLUIDO;\n this.service.putSituacao(data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Condicionante Excluida com sucesso!\");\n this.blockUtil.desbloquear();\n },\n error: (erro) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n toInsert() {\n this.router.navigate(['condicionante/cadastro']);\n }\n\n pesquisaAvancada() {\n this.form.reset();\n\n this.pesquisaAvancadaAberta = true;\n }\n\n close() {\n this.pesquisaAvancadaAberta = false;\n this.search();\n\n\n }\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n\n this.search();\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Condicionantes
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Descrição\n Situação\n Ações
    \n \n \n \n \n \n \n
    \n\n \n Visualizar\n \n \n \n Editar\n \n \n \n Excluir\n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Condicionantes
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    Nome
    \n \n \n
    \n
    Condicionante
    \n \n \n
    \n
    Nome da Situação
    \n \n \n
    \n
    \n Ações\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { CondicionantesComponent } from './condicionante.component'\nimport { CondicionanteCadastroComponent } from './cadastro/condicionante.cadastro.component'\nimport { CondicionanteVisualizarComponent } from './visualizar/condicionante.visualizar.component';\nimport { CondicionanteEditarComponent } from \"./editar/condicionante.editar.component\";\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { ComponentsModule } from \"src/app/components/components.module\";\n\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n ComponentsModule\n ],\n declarations: [\n CondicionantesComponent,\n CondicionanteCadastroComponent,\n CondicionanteEditarComponent,\n CondicionanteVisualizarComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CondicionanteModule { }\n","import { CondicionanteVisualizarComponent } from './visualizar/condicionante.visualizar.component';\nimport { Routes } from '@angular/router';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { CondicionanteCadastroComponent } from './cadastro/condicionante.cadastro.component';\nimport { CondicionantesComponent } from './condicionante.component';\nimport { CondicionanteEditarComponent } from './editar/condicionante.editar.component';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\n\nexport const CondicionantesRoutes: Routes = [\n {\n path: 'condicionante',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: CondicionantesComponent\n }\n ]\n },\n {\n path: 'condicionante/cadastro',\n component: MasterComponent,\n data: { permissao: EAcao.CADASTRAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: CondicionanteCadastroComponent\n }\n ]\n },\n {\n path: 'condicionante/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: CondicionanteVisualizarComponent\n }\n ]\n },\n {\n path: 'condicionante/editar',\n component: MasterComponent,\n data: { permissao: EAcao.ALTERAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: CondicionanteEditarComponent\n }\n ]\n }\n];\n","import { switchMap } from 'rxjs/operators';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Router,ActivatedRoute } from '@angular/router';\nimport { CondicionanteService } from 'src/app/services/app.condicionante.service';\nimport { CondicionanteValidator } from 'src/app/validators/condicionante.validator';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\n\n@Component({\n selector: 'app-condicionante-editar',\n templateUrl: './condicionante.editar.component.html',\n styleUrls: ['./condicionante.editar.component.scss'],\n providers: [\n CondicionanteService,\n BlockUtil\n ]\n})\nexport class CondicionanteEditarComponent implements OnInit {\n\n public form: FormGroup;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private formBuilder: FormBuilder,\n private condicionanteValidator: CondicionanteValidator,\n private blockUtil: BlockUtil,\n public service: CondicionanteService,\n private toast: ToastUtil\n ) {\n this.form = this.formBuilder.group({\n condicionanteId: new FormControl(0),\n descricao: new FormControl(null)\n });\n\n const condicionanteId = +this.route.snapshot.queryParamMap.get(\"condicionanteId\");\n this.service.getById(condicionanteId)\n .subscribe((data: any) => {\n if (!data)\n return;\n\n const {condicionanteID: condicionanteId, descricao} = data;\n this.form.patchValue({\n condicionanteId,\n descricao\n });\n\n });\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n this.condicionanteValidator.set = this.form;\n\n if(!this.condicionanteValidator.isValid){\n this.blockUtil.desbloquear();\n\t\t\tthis.condicionanteValidator.showMessages();\n }\n else{\n this.service.put(this.condicionanteValidator.condicionante)\n .subscribe({\n next: () =>{\n this._sucesso(\"Condicionante atualizada com sucesso!\");\n\n this.blockUtil.desbloquear();\n this.clean();\n this.router.navigate(['condicionante']);\n },\n error: (erro) =>{\n this._erro(erro);\n this.blockUtil.desbloquear();\n return;\n }\n });\n }\n }\n\n cancel() {\n this.clean();\n this.router.navigate(['condicionante']);\n }\n\n clean(){\n this.form.setValue({\n condicionanteId: null,\n descricao: null\n });\n }\n\n private _erro(message: string) {\n\t\tthis.toast.showDanger(message);\n\t}\n\n\tprivate _sucesso(message: string) {\n\t\tthis.toast.showSuccess(message);\n\t}\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { CondicionanteService } from '../../../services/app.condicionante.service';\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\nimport { Component } from '@angular/core';\nimport { Condicionante } from 'src/app/model/app.condicionante.model';\n\n@Component({\n selector: 'app-condicionante-visualizar',\n templateUrl: './condicionante.visualizar.component.html',\n styleUrls: ['./condicionante.visualizar.component.scss'],\n providers: [\n CondicionanteService\n ]\n})\nexport class CondicionanteVisualizarComponent{\n\n public data: Condicionante;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: CondicionanteService\n ) {\n const condicionanteId = +this.route.snapshot.queryParamMap.get(\"condicionanteId\");\n this.service.getById(condicionanteId)\n .subscribe({\n next: (data: any) => this.data = data,\n error: () => this.data = null\n });\n }\n\n voltar() {\n this.router.navigate(['condicionante']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.descricao}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.situacaoNome}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraInclusao | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeInclusao}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraAlteracao |\n date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeAlteracao}}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ComunService } from 'src/app/services/app.comum.service';\nimport { Router } from '@angular/router';\nimport { Observable, tap } from 'rxjs';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { ExcelService } from 'src/app/services/app.excel.service';\nimport { PlacaService } from 'src/app/services/app.placa.service';\nimport { Equipamento } from 'src/app/model/app.equipamentos.model';\nimport { EUF } from 'src/app/constantes/app.euf.const';\nimport { Placa } from '../../model/app.placas.dto';\nimport { ETipoPlaca } from 'src/app/constantes/app.etipoplaca.const';\n\n@Component({\n selector: 'app-consultarplacas',\n templateUrl: './consultarplacas.component.html',\n styleUrls: ['./consultarplacas.component.scss'],\n providers: [\n BlockUtil,\n PlacaService,\n ExcelService\n ]\n})\nexport class ConsultarplacasComponent extends ParmissoesPagina implements OnInit {\n\n\n public form: FormGroup;\n public placas$: Observable;\n public total$: Observable;\n public placa: Placa;\n public buscaFoiRealizada = false;\n\n constructor(\n private router: Router,\n private toast: ToastUtil,\n private accountService: AccountService,\n private comunService: ComunService,\n private excelService: ExcelService,\n private formBuilder: FormBuilder,\n private blockUtil: BlockUtil,\n public service: PlacaService\n ) {\n\n super(router.url, accountService);\n\n this.blockUtil.blockName = \"placa\";\n this.service.blockUtil = this.blockUtil;\n\n\n this.total$ = service.total$;\n this.placas$ = service.placas$\n .pipe(tap(placas => {\n if (placas.length)\n this.blockUtil.desbloquear();\n }));\n\n this.form = this.formBuilder.group({\n placa: new FormControl(''),\n dataInicio: new FormControl(null, { validators: [DateTimeValidator] }),\n dataFim: new FormControl(null, { validators: [DateTimeValidator] }),\n }, { updateOn: 'change' });\n }\n\n get visualizar(): boolean { return !!this.placa; }\n get ehMDFE(): boolean { return this.placa?.tipoPlacaId == ETipoPlaca.MDFE; }\n get ehRPE(): boolean { return this.placa?.tipoPlacaId == ETipoPlaca.RPE; }\n get ehTA(): boolean { return this.placa?.tipoPlacaId == ETipoPlaca.TA; }\n get ehTVF(): boolean { return this.placa?.tipoPlacaId == ETipoPlaca.TVF; }\n get ehRPA(): boolean { return this.placa?.tipoPlacaId == ETipoPlaca.RPA; }\n get consultaRetornouResultado(): boolean {return this.service.consultaRetornouResultado}\n\n ngOnInit(): void {\n }\n\n search() {\n this.buscaFoiRealizada = true;\n const placa = this.form.controls.placa.value?.trim();\n const dataInicio = this.form.controls.dataInicio.value?.trim();\n const dataFim = this.form.controls.dataFim.value?.trim();\n\n this.service.get({ placa, dataInicio, dataFim });\n }\n\n limpar() {\n this.buscaFoiRealizada = false;\n this.form.controls.placa.patchValue(\"\");\n this.form.controls.dataInicio.patchValue(\"\");\n this.form.controls.dataFim.patchValue(\"\");\n\n this.placas$ = new Observable;\n }\n\n onView(placa: Placa) {\n this.placa = placa;\n }\n\n exportExcel(): void {\n const jsonData = this.service.placas.map(({\n tipoPlacaNome,\n numero,\n unidadeFiscalNome,\n dataHora\n }) => {\n const novaDataHora = new Date(dataHora);\n return {\n \"Tipo\": tipoPlacaNome,\n \"Número\": numero,\n \"Unidade Fiscal\": unidadeFiscalNome,\n \"Data e Hora\": novaDataHora.toLocaleString('pt-BR', { timeZone: 'UTC' })\n };\n });\n this.excelService.exportExcel(jsonData, \"Placas\");\n }\n\n voltar() {\n this.placa = null;\n }\n\n}\n\nexport const DateTimeValidator = (fc: FormControl) => {\n const date = new Date(fc.value);\n const isValid = !isNaN(date.valueOf());\n\n return isValid ? null : {\n isValid: {\n valid: false\n }\n };\n};\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    Consultar Placas
    \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    TipoNúmeroUnidade FiscalData e HoraAções
    Nenhum resultado encontrado!
    \n \n \n \n \n \n \n \n \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{placa.tipoPlacaNome}}

    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.numero }}

    \n
    \n
    \n
    \n
    \n \n

    {{ placa.cpfMotorista }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.chaveDeAcesso }}

    \n
    \n
    \n
    \n
    \n \n

    {{ placa.dataHora | date: 'dd/MM/yyyy' }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.ufCarregamento }}

    \n
    \n
    \n
    \n
    \n \n

    {{ placa.ufDescarregamento }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
      \n
    • {{ uf }}
    • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.numero }}

    \n
    \n
    \n
    \n
    \n \n

    {{ placa.unidadeFiscalNome }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.tipoMovimento }}

    \n
    \n
    \n
    \n
    \n \n

    {{ placa.dataHora | date: 'dd/MM/yyyy' }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.numero }}

    \n
    \n
    \n
    \n
    \n \n

    {{ placa.unidadeFiscalNome }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.dataHora | date: 'dd/MM/yyyy' }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.numero }}

    \n
    \n
    \n
    \n
    \n \n

    {{ placa.nomeEquipamento }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.ufEquipamento }}

    \n
    \n
    \n
    \n
    \n \n

    {{ placa.dataHora | date: 'dd/MM/yyyy' }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ placa.cnpjOperador }}

    \n
    \n
    \n
    \n
    \n \n

    {{ placa.foto }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { ConsultarplacasComponent } from './consultarplacas.component';\nimport { NgMultiSelectDropDownModule } from \"ng-multiselect-dropdown\";\nimport { ComponentsModule } from \"src/app/components/components.module\";\nimport { BlockUIModule } from \"ng-block-ui\";\n\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n NgbModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n ComponentsModule,\n BlockUIModule.forRoot(),\n ],\n declarations: [\n ConsultarplacasComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ConsultarplacasModule { }\n","import { Routes } from \"@angular/router\";\nimport { MasterComponent } from \"src/app/components/master/master.component\";\nimport { EAcao } from \"src/app/constantes/app.eacao.const\";\nimport { AutenticationGuard } from \"src/app/guard/autentication.guard\";\nimport { ConsultarplacasComponent } from \"./consultarplacas.component\";\n\nexport const ConsultarPlacasRoutes: Routes = [\n {\n path: 'consultarplacas',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ConsultarplacasComponent\n }\n ]\n }\n];","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { CondicionanteService } from 'src/app/services/app.condicionante.service';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { Dashboard } from 'src/app/model/app.dashboard.model';\n\nimport {\n ChartComponent,\n ApexAxisChartSeries,\n ApexChart,\n ApexXAxis,\n ApexDataLabels,\n ApexTitleSubtitle,\n ApexStroke,\n ApexGrid\n} from \"ng-apexcharts\";\n\n\nexport type ChartOptions = {\n series: ApexAxisChartSeries;\n chart: ApexChart;\n xaxis: ApexXAxis;\n dataLabels: ApexDataLabels;\n grid: ApexGrid;\n stroke: ApexStroke;\n title: ApexTitleSubtitle;\n};\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n providers: [\n CondicionanteService,\n DialogUtil,\n BlockUtil\n ]\n})\nexport class DashboardComponent extends ParmissoesPagina implements OnInit {\n\n public isMobile: boolean = false;\n public qtdesAlertas: any = [];\n public horas: number = 24;\n public motorOnline: boolean = true;\n public ultimaAtualizacao: Date = new Date();\n public regras: Dashboard = null;\n public chartOptions: Partial;\n\n constructor(\n private router: Router,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private formBuilder: FormBuilder,\n public service: CondicionanteService,\n private toast: ToastUtil,\n private comum: ComunService,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService\n ) {\n super(router.url, accountService);\n this.onGetDashboard();\n const horasHoje = (new Date()).getHours() + 1;\n this.comum.ObterDashboard(horasHoje)\n .subscribe(dashboard => this.regras = dashboard);\n\n this.breakpointObserver.observe(['(max-width: 768px)']).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true;\n } else {\n this.isMobile = false;\n }\n });\n\n this.chartOptions = {\n series: [\n {\n name: \"Pendentes\",\n data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n }\n ],\n chart: {\n height: 350,\n type: \"line\",\n zoom: {\n enabled: false\n }\n },\n dataLabels: {\n enabled: false\n },\n stroke: {\n curve: \"straight\"\n },\n // title: {\n // text: \"Alertas Pendentes\",\n // align: \"left\"\n // },\n grid: {\n row: {\n colors: [\"#f3f3f3\", \"transparent\"], // takes an array which will be repeated on columns\n opacity: 0.5\n }\n },\n xaxis: {\n categories: [\n \"Jan\",\n \"Fev\",\n \"Mar\",\n \"Abr\",\n \"Mai\",\n \"Jun\",\n \"Jul\",\n \"Ago\",\n \"Set\",\n \"Out\",\n \"Nov\",\n \"Dez\",\n ]\n }\n };\n }\n\n ngOnInit(): void {\n }\n\n onGetDashboard() {\n this.comum.ObterDashboard(this.horas)\n .subscribe(({\n qtdeAlertasPendentes,\n qtdeAlertasEmAtendimento,\n qtdeAlertasFinalizados,\n qtdeAlertasVinculados\n }) => {\n this.qtdesAlertas = [];\n this.qtdesAlertas.push({ icone: \"fas fa-exclamation-triangle text-danger\", situacaoNome: \"Alertas Pendentes\", qtde: qtdeAlertasPendentes })\n this.qtdesAlertas.push({ icone: \"fa-solid fa-link text-info\", situacaoNome: \"Alertas Vinculados\", qtde: qtdeAlertasVinculados })\n this.qtdesAlertas.push({ icone: \"fas fa-tasks text-warning\", situacaoNome: \"Alertas em Atendimento\", qtde: qtdeAlertasEmAtendimento })\n this.qtdesAlertas.push({ icone: \"fas fa-check text-success\", situacaoNome: \"Alertas Finalizados\", qtde: qtdeAlertasFinalizados }) \n });\n }\n}\n","\n
    \n
    \n
    \n Dashboard\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    {{qtde.situacaoNome}}
    \n
    \n
    \n

    {{qtde.qtde}}

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n Alertas Pendentes\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n Status Motor de Regras\n
    \n
    \n \n Online\n
    \n
    \n \n Offline\n
    \n
    \n Última atualização: {{ultimaAtualizacao |\n date: 'dd/MM/yyyy'}} às\n {{ultimaAtualizacao | date: 'hh:mm:ss'}}\n
    \n
    \n
    \n
    \n
    \n
    \n \n Regras\n
    \n
    \n Regras com alertas pendentes hoje: 0\n Alertas pendentes hoje: {{regras?.qtdeAlertasPendentes??0}}\n Total de regras cadastradas: {{regras?.totalQtdeRegras??0}}\n Regras sem alertas pendentes hoje: {{regras?.regrasSemAlertas??0}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { DashboardComponent } from \"./dashboard.component\";\n\nimport { NgApexchartsModule } from \"ng-apexcharts\";\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n NgApexchartsModule\n ],\n declarations: [\n DashboardComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class DashboardModule { }\n","import { Routes } from '@angular/router';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { DashboardComponent } from './dashboard.component';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\n\nexport const DashboardRoutes: Routes = [\n {\n path: 'dashboard',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: DashboardComponent\n }\n ]\n }\n];\n","import { FiltroEntradaService } from 'src/app/services/app.filtroentrada.service';\nimport { FiltroEntradaValidator } from 'src/app/validators/filtroentrada.validator';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { Observable } from 'rxjs';\nimport { ComunService } from 'src/app/services/app.comum.service';\n\n@Component({\n selector: 'app-filtroentrada-cadastro',\n templateUrl: './filtroentrada.cadastro.component.html',\n styleUrls: ['./filtroentrada.cadastro.component.scss']\n})\nexport class FiltroEntradaCadastroComponent implements OnInit {\n public form: FormGroup;\n public tipoDados: Observable;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private validator: FiltroEntradaValidator,\n private blockUtil: BlockUtil,\n public service: FiltroEntradaService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.tipoDados = this.comum.ObterTipoDado();\n\n this.form = this.formBuilder.group({\n nome: new FormControl(null),\n tipoDado: new FormControl(''),\n caminhoMapeado: new FormControl(null),\n });\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n let filtro = this.validator.filtroEntrada\n this.service.new(filtro)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.service.get({});\n this.router.navigate(['filtroentrada']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n cancel() {\n this.router.navigate(['filtroentrada']);\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { FiltroEntradaService } from 'src/app/services/app.filtroentrada.service';\nimport { FiltroEntradaValidator } from 'src/app/validators/filtroentrada.validator';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { ComunService } from 'src/app/services/app.comum.service';\n\n@Component({\n selector: 'app-entrada-editar',\n templateUrl: './filtroentrada.editar.component.html',\n styleUrls: ['./filtroentrada.editar.component.scss']\n})\nexport class FiltroEntradaEditarComponent implements OnInit {\n\n public form: FormGroup;\n public tipoDados: Observable;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private formBuilder: FormBuilder,\n private validator: FiltroEntradaValidator,\n private blockUtil: BlockUtil,\n public service: FiltroEntradaService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.form = this.formBuilder.group({\n filtroEntradaId: new FormControl(null),\n nome: new FormControl(null),\n tipoDado: new FormControl(''),\n caminhoMapeado: new FormControl(null),\n });\n\n const filtroEntradaId = +this.route.snapshot.queryParamMap.get(\"filtroEntradaId\");\n this.service.getById(filtroEntradaId)\n .subscribe((data: any) => {\n if (!data)\n return;\n const { filtroEntradaID: filtroEntradaId, nome, caminhoMapeado } = data;\n this.tipoDados = this.comum.ObterTipoDado()\n .pipe(\n tap((tiposDado: any) => {\n\n if (!tiposDado)\n return;\n const tipoDado = tiposDado.find(({ tipoDadoID }) => tipoDadoID == data.tipoDadoID);\n this.form.patchValue({\n filtroEntradaId,\n nome,\n tipoDado,\n caminhoMapeado\n });\n })\n );\n });\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.put(this.validator.filtroEntrada)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.router.navigate(['filtroentrada']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n cancel() {\n this.router.navigate(['filtroentrada']);\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { FiltroEntradaService } from 'src/app/services/app.filtroentrada.service';\nimport { FiltroEntrada } from 'src/app/model/app.filtroentrada.model';\nimport { ComunService } from '../../services/app.comum.service';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { ParametroEntrada } from 'src/app/model/app.parametroentrada.model';\nimport { ParametrosEntradaService as ParametroEntradaService } from 'src/app/services/app.parametrosentrada.service';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { ETipoDado } from 'src/app/constantes/app.etipodado.const';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n@Component({\n selector: 'app-filtroentrada',\n templateUrl: './filtroentrada.component.html',\n styleUrls: ['./filtroentrada.component.scss'],\n providers: [ParametroEntradaService]\n})\nexport class FiltroEntradaComponent extends ParmissoesPagina implements OnInit {\n public isMobile: boolean = false;\n public filtroEntrada$: Observable;\n public total$: Observable;\n public form: FormGroup;\n public eSituacao: ListItem[] = ESituacao.toList()\n public tipoDados: Observable;\n public pesquisaAvancadaAberta: boolean = false;\n\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n public service: FiltroEntradaService,\n private toast: ToastUtil,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private comum: ComunService,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService\n ) {\n super(router.url, accountService);\n this.filtroEntrada$ = service.filtroEntradas$;\n this.total$ = service.total$;\n this.tipoDados = this.comum.ObterTipoDado();\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl(null),\n\n });\n\n this.breakpointObserver.observe([\n \"(max-width: 768px)\"\n ]).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true\n } else {\n this.isMobile = false\n }\n });\n }\n public colsGrid: any = [\n {\n colKey: \"nome\",\n colName: \"Nome\"\n },\n {\n colKey: \"tipoDadoID\",\n colName: \"Tipo Dado\",\n type: \"string\",\n options: ETipoDado.toListAll()\n\n },\n {\n colKey: \"situacaoID\",\n colName: \"Situação\",\n type: 'string',\n options: ESituacao.toListAll()\n },\n ]\n\n ngOnInit(): void {\n this.service.get({});\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column)\n header.direction = '';\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n\n this.service.get({\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n situacaoID: '',\n tipoDadoID: '',\n filtroGenerico: filtroGenerico ? filtroGenerico : ''\n });\n }\n\n // clean() {\n // this.form.setValue({\n // nome: null,\n // situacao: '',\n // tipoDado: ''\n // });\n // this.service.get({});\n // }\n\n onView({ filtroEntradaId }: any) {\n this.router.navigate(['filtroentrada/visualizar'], {\n queryParams: { filtroEntradaId }\n });\n }\n\n onEdit({ filtroEntradaId }: any) {\n this.router.navigate(['filtroentrada/editar'], {\n queryParams: { filtroEntradaId }\n });\n }\n\n onDelete(data: FiltroEntrada) {\n this.dialogModal.open({\n title: data.nome,\n text: `Você está prestes a remover o filtro de Entrada!
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoId = ESituacao.EXCLUIDO;\n this.service.putSituacao(data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Filtro de entrada Excluido com sucesso!\");\n this.blockUtil.desbloquear();\n },\n error: (erro: string) => {\n let exibirMensagemDeAtencao = erro.toString().includes('Atenção!');\n if (exibirMensagemDeAtencao)\n this.toast.showWarning(erro.toString().replace('Error:', ''), '');\n else\n this.toast.showDanger(erro);\n \n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n toInsert() {\n this.router.navigate(['filtroentrada/cadastro']);\n }\n pesquisaAvancada() {\n this.form.reset();\n\n this.pesquisaAvancadaAberta = true;\n }\n\n close() {\n this.pesquisaAvancadaAberta = false;\n this.search();\n\n\n }\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n\n this.search();\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Filtros de Entrada
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Nome\n Tipo Dado\n Situação\n Ações
    \n \n \n \n \n \n \n \n \n \n
    \n \n Visualizar\n \n \n \n Editar\n \n \n \n Excluir\n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Filtros de Entrada
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    Nome
    \n \n \n
    \n
    Condicionante
    \n \n \n
    \n
    Nome da Situação
    \n \n \n
    \n
    \n Ações\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { VisualizarFiltroComponent } from \"./visualização/filtroentrada.visualizar.component\";\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { FiltroEntradaComponent } from \"./filtroentrada.component\";\nimport { FiltroEntradaCadastroComponent } from \"./cadastro/filtroentrada.cadastro.component\"\n\nimport { FiltroEntradaEditarComponent } from \"./editar/filtroentrada.editar.component\";\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { ComponentsModule } from \"src/app/components/components.module\";\n\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n ComponentsModule\n ],\n declarations: [\n FiltroEntradaComponent,\n FiltroEntradaCadastroComponent,\n FiltroEntradaEditarComponent,\n VisualizarFiltroComponent\n\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class FiltroEntradaModule { }\n","import { Routes } from '@angular/router';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { FiltroEntradaCadastroComponent } from './cadastro/filtroentrada.cadastro.component';\nimport { FiltroEntradaEditarComponent } from './editar/filtroentrada.editar.component';\nimport { VisualizarFiltroComponent } from './visualização/filtroentrada.visualizar.component';\nimport { FiltroEntradaComponent } from './filtroentrada.component';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\n\nexport const FiltroEntradaRoutes: Routes = [\n {\n path: 'filtroentrada',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: FiltroEntradaComponent\n }\n ]\n },\n {\n path: 'filtroentrada/cadastro',\n component: MasterComponent,\n data: { permissao: EAcao.CADASTRAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: FiltroEntradaCadastroComponent\n }\n ]\n },\n {\n path: 'filtroentrada/editar',\n component: MasterComponent,\n data: { permissao: EAcao.ALTERAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: FiltroEntradaEditarComponent\n }\n ]\n },\n {\n path: 'filtroentrada/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: VisualizarFiltroComponent\n }\n ]\n }\n];\n","import { FiltroEntradaService } from 'src/app/services/app.filtroentrada.service';\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\nimport { Component } from '@angular/core';\nimport { FiltroEntrada } from 'src/app/model/app.filtroentrada.model';\n\n@Component({\n selector: 'app-visualizar-filtro-cadastro',\n templateUrl: './filtroentrada.visualizar.component.html',\n styleUrls: ['./filtroentrada.visualizar.component.scss'],\n providers: [\n FiltroEntradaService\n ]\n})\nexport class VisualizarFiltroComponent {\n\n public data: FiltroEntrada;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: FiltroEntradaService\n ) {\n const filtroEntradaId = +this.route.snapshot.queryParamMap.get(\"filtroEntradaId\");\n this.service.getById(filtroEntradaId)\n .subscribe({\n next: (data: any) => this.data = data,\n error: () => this.data = null\n });\n }\n\n voltar() {\n this.router.navigate(['filtroentrada']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.tipoDadoNome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.nome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.caminhoMapeado}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.situacaoNome}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraInclusao | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeInclusao}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraAlteracao |\n date:'dd/MM/yyyy'}}\n

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeAlteracao}}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ComunService } from 'src/app/services/app.comum.service';\nimport { Router } from '@angular/router';\nimport { Observable, combineLatest, filter, take } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Usuario } from 'src/app/model/app.usuario.model';\nimport { UsuarioService } from 'src/app/services/app.usuario.service';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { LocalizacaoEventoService } from 'src/app/services/app.localizacaoevento.service';\nimport { LocalizacaoEvento, LocalizacaoEventoSearch } from 'src/app/model/app.localizacaoevento.model';\nimport { Acao } from 'src/app/model/app.acao.model';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { ExcelService } from 'src/app/services/app.excel.service';\n\n@Component({\n selector: 'app-localizacao-evento',\n templateUrl: './localizacaoevento.component.html',\n styleUrls: ['./localizacaoevento.component.scss'],\n providers: [\n BlockUtil,\n ExcelService\n ]\n})\nexport class LocalizacaoEventoComponent extends ParmissoesPagina implements OnInit {\n public isMobile: boolean = false;\n public localizacaoEventos$: Observable;\n public total$: Observable;\n public form: FormGroup;\n public usuarios: Usuario[] = [];\n public acoes: Acao[] = [];\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: true,\n allowSearchFilter: true,\n };\n\n public configuracoesUsuario: IDropdownSettings = {\n ...this.configuracoesPadrao,\n textField: 'nome',\n idField: 'usuarioId'\n };\n\n public configuracoesAcao: IDropdownSettings = {\n ...this.configuracoesPadrao,\n textField: 'nome',\n idField: 'acaoId'\n };\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n public service: LocalizacaoEventoService,\n private toast: ToastUtil,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private comum: ComunService,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService,\n private excelService: ExcelService\n ) {\n super(router.url, accountService);\n this.service.bloqueioTela = \"localizacaoEventos\";\n this.localizacaoEventos$ = service.localizacaoEventos$;\n this.total$ = service.total$;\n\n this.form = this.formBuilder.group({\n usuario: new FormControl([]),\n unidade: new FormControl(''),\n acao: new FormControl([]),\n dataHoraInicio: new FormControl(null, { validators: [DateTimeValidator] }),\n dataHoraFim: new FormControl(null, { validators: [DateTimeValidator] })\n }, { updateOn: 'change' });\n\n combineLatest({\n usuarios: this.comum.ObterUsuariosAtivos()\n .pipe(filter(usuarios => !!usuarios)),\n acoes: this.comum.ObterAcoes()\n .pipe(filter(acoes => !!acoes)),\n permissoes: this.accountService.PermissionOnModel(router.url)\n .pipe(filter(permissoes => !!permissoes))\n })\n .pipe(\n take(1),\n )\n .subscribe(({ usuarios, acoes, permissoes }) => {\n this.usuarios = usuarios;\n this.acoes = acoes;\n this.permissoes = permissoes;\n });\n\n this.breakpointObserver.observe([\n \"(max-width: 768px)\"\n ]).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true\n } else {\n this.isMobile = false\n }\n });\n }\n\n ngOnInit(): void {\n this.service.get({});\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column)\n header.direction = '';\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const usuarioId = this.form.controls.usuario.value?.at(0)?.usuarioId;\n const unidade = this.form.controls.unidade.value?.trim();\n const acaoID = this.form.controls.acao.value?.at(0)?.acaoId;\n const dataHoraInicio = this.form.controls.dataHoraInicio.value;\n const dataHoraFim = this.form.controls.dataHoraFim.value;\n this.service.get({ usuarioId, unidade, acaoID, dataHoraInicio, dataHoraFim });\n }\n\n clear() {\n this.service.get({});\n }\n\n onView({ id }: any) {\n this.router.navigate(['localizacaoevento/visualizar'], { queryParams: { id } });\n }\n\n exportExcel(): void {\n const jsonData = this.service.localizacaoEventos.map(({\n id,\n acaoNome,\n usuario,\n dataHora,\n regra,\n alerta\n }) => {\n return {\n \"ID\": id,\n \"Usuário\": usuario?.nome,\n \"Evento Localização\": acaoNome,\n \"Regra\": regra?.regraId,\n \"Alerta\": alerta?.alertaId,\n \"Data e Hora Evento\": dataHora\n }\n });\n\n this.excelService.exportExcel(jsonData, \"LocalizacaoEventos\");\n }\n}\n\nexport const DateTimeValidator = (fc: FormControl) => {\n const date = new Date(fc.value);\n const isValid = !isNaN(date.valueOf());\n\n return isValid ? null : {\n isValid: {\n valid: false\n }\n };\n};\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Localização de Eventos
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    IDUsuárioEvento LocalizaçãoRegraAlertaData e Hora EventoAções
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { LocalizacaoEventoComponent } from './localizacaoevento.component';\nimport { NgMultiSelectDropDownModule } from \"ng-multiselect-dropdown\";\nimport { ComponentsModule } from \"src/app/components/components.module\";\nimport { BlockUIModule } from \"ng-block-ui\";\nimport { LocalizacaoEventoVisualizarComponent } from \"./visualizar/localizacaoevento.visualizar.component\";\n\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n NgbModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n ComponentsModule,\n BlockUIModule.forRoot(),\n ],\n declarations: [\n LocalizacaoEventoComponent,\n LocalizacaoEventoVisualizarComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class LocalizacaoEventoModule { }\n","import { Routes } from '@angular/router';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { LocalizacaoEventoComponent } from './localizacaoevento.component';\nimport { LocalizacaoEventoVisualizarComponent } from './visualizar/localizacaoevento.visualizar.component';\n\nexport const LocalizacaoEventoRoutes: Routes = [\n {\n path: 'localizacaoevento',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: LocalizacaoEventoComponent\n }\n ]\n },\n {\n path: 'localizacaoevento/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: LocalizacaoEventoVisualizarComponent\n }\n ]\n }\n];\n","import { ActivatedRoute, ParamMap, Router } from '@angular/router';\nimport { Component } from '@angular/core';\nimport { ModuloService } from 'src/app/services/app.modulo.service';\nimport { Icone, Modulo } from 'src/app/model';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { LocalizacaoEvento } from 'src/app/model/app.localizacaoevento.model';\nimport { LocalizacaoEventoService } from 'src/app/services/app.localizacaoevento.service';\n\n@Component({\n selector: 'app-localizacaoevento-visualizar',\n templateUrl: './localizacaoevento.visualizar.component.html',\n styleUrls: ['./localizacaoevento.visualizar.component.scss'],\n providers: [\n ModuloService\n ]\n})\nexport class LocalizacaoEventoVisualizarComponent {\n\n public data: LocalizacaoEvento;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: LocalizacaoEventoService,\n private comum: ComunService\n ) {\n const id = +this.route.snapshot.queryParamMap.get(\"id\");\n this.service.getById(id)\n .subscribe({\n next: (data: LocalizacaoEvento) => {\n this.data = data;\n },\n error: () => this.data = null\n });\n }\n\n voltar() {\n this.router.navigate(['localizacaoevento']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.usuario.nome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.regra?.regraId}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.acaoNome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.alerta?.alertaId}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHora}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.regra?.modeloRegra.condicionante.descricao}}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { Component, Input, OnInit } from '@angular/core';\nimport * as mapboxgl from 'mapbox-gl';\nimport { Equipamento } from 'src/app/model/app.equipamentos.model';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { LocalizacaoMapaService } from './localizacaomapa.service';\n\n@Component({\n selector: 'app-localizacaomapa',\n templateUrl: './localizacaomapa.component.html',\n styleUrls: ['./localizacaomapa.component.scss']\n})\nexport class LocalizacaomapaComponent implements OnInit {\n map: mapboxgl.Map;\n\n public equipamentos: Equipamento[];\n\n exibirViasFerrea = true;\n exibirRodoviasEstaduais = true;\n exibirRodoviasFederais = true;\n\n constructor(private comunService: ComunService,\n private localizacaoMapaService: LocalizacaoMapaService) {\n }\n\n async controleExibirViaFerrea(exibir: boolean) {\n this.exibirViasFerrea = exibir;\n await this.abrirMapa();\n }\n\n async controleExibirRodoviasEstaduais(exibir: boolean) {\n this.exibirRodoviasEstaduais = exibir;\n await this.abrirMapa();\n }\n\n async controleExibirRodoviasFederais(exibir: boolean) {\n this.exibirRodoviasFederais = exibir;\n await this.abrirMapa();\n }\n\n async ngOnInit() {\n await this.abrirMapa();\n }\n\n async abrirMapa() {\n await this.criarMapa();\n await this.adicionarMalhaViaria();\n }\n\n async criarMapa() {\n (mapboxgl as typeof mapboxgl).accessToken = 'pk.eyJ1IjoiZGFuaWVsdHJpYm9uaSIsImEiOiJjbGZzc2w0MGQwOHo1M3NvMTV1c2dza21vIn0.o5plCFUF0qJmFRDTsZi5XA';\n this.map = new mapboxgl.Map({\n container: 'map',\n style: 'mapbox://styles/mapbox/streets-v12',\n zoom: 8,\n scrollZoom: false,\n center: [-54.64931380254392, -20.42205329420588]\n });\n\n this.map.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n\n this.adicionarLocalizacaoDeEquipamentos();\n this.adicionarUsuariosConectados();\n this.AdicionarUnidadesFiscais();\n }\n\n private adicionarLocalizacaoDeEquipamentos() {\n this.comunService.ObterEquipamentos()\n .pipe()\n .subscribe(response => {\n response.forEach(equipamento => {\n if (!equipamento.equipamentoDeMS(equipamento?.local))\n return;\n\n let longitude = +equipamento?.local?.longitude;\n let latitude = +equipamento?.local?.latitude;\n let nomeEquipamento = equipamento?.local?.nome;\n\n const popup = new mapboxgl.Popup({\n offset: 25\n }).setHTML(this.gerarTextoPopup(longitude, latitude, nomeEquipamento));\n\n const el = document.createElement('div');\n el.className = 'marker';\n el.style.backgroundImage = `url(../../../assets/img/equipamento-ms.png)`;\n el.style.backgroundColor = 'transparent'\n el.style.width = '25px';\n el.style.height = '30px';\n el.style.backgroundSize = '100%';\n\n new mapboxgl.Marker(el)\n .setLngLat([longitude, latitude])\n .setPopup(popup)\n .addTo(this.map);\n });\n });\n }\n\n private adicionarUsuariosConectados() {\n this.comunService.ObterUsuariosConectados()\n .pipe()\n .subscribe(response => {\n response.forEach(usuarioConectado => {\n let longitude = this.formatarDadosCoordenadas(usuarioConectado.Coordenadas, 1);\n let latitude = this.formatarDadosCoordenadas(usuarioConectado.Coordenadas, 0);\n const popup = new mapboxgl.Popup({\n offset: 25\n }).setHTML(this.gerarTextoPopup(longitude, latitude, usuarioConectado.NomeDoUsuario, usuarioConectado.UnidadeDoUsuario));\n\n const el = document.createElement('div');\n el.className = 'marker';\n el.style.backgroundImage = `url(../../../assets/img/usuario-conectado.png)`;\n el.style.backgroundColor = 'transparent'\n el.style.width = '60px';\n el.style.height = '70px';\n el.style.backgroundSize = '100%';\n\n new mapboxgl.Marker(el).setLngLat([longitude, latitude])\n .setPopup(popup)\n .addTo(this.map);\n });\n });\n }\n\n private AdicionarUnidadesFiscais() {\n this.comunService.ObterUnidadesESubunidadesFiscaisAtivas()\n .pipe()\n .subscribe(response => {\n response.forEach(unidadeFiscal => {\n let longitude = this.formatarDadosCoordenadas(unidadeFiscal.coordenadas, 1);\n let latitude = this.formatarDadosCoordenadas(unidadeFiscal.coordenadas, 0);\n \n const popup = new mapboxgl.Popup({\n offset: 25\n }).setHTML(this.gerarTextoPopup(longitude, latitude, unidadeFiscal.nome));\n\n const el = document.createElement('div');\n el.className = 'marker';\n el.style.backgroundImage = `url(../../../assets/img/unidade-fiscal.png)`;\n el.style.backgroundColor = 'transparent'\n el.style.width = '50px';\n el.style.height = '60px';\n el.style.backgroundSize = '100%';\n\n new mapboxgl.Marker(el).setLngLat([longitude, latitude])\n .setPopup(popup)\n .addTo(this.map);\n });\n });\n }\n\n private formatarDadosCoordenadas(coordenadas: string, posicaoDoArray: number): number {\n if (String.isNullOrEmpty(coordenadas))\n return null;\n\n return +coordenadas.replace('POINT', '').replace('(', '').replace(')', '').split(',')[posicaoDoArray] ?? null;\n }\n\n private gerarTextoPopup(longitude: number, latitude: number, nome: string, nomeUnidadeFiscal?: string): string {\n let coordenas = `${longitude}, ${latitude}`;\n\n return `${this.gerarUmaLinhaComTitutloEConteudo('Nome', nome)}\n ${this.gerarUmaLinhaComTitutloEConteudo('Coordenadas', coordenas)}\n ${!String.isNullOrEmpty(nomeUnidadeFiscal) ? this.gerarUmaLinhaComTitutloEConteudo('Unidade', nomeUnidadeFiscal) : ''}`;\n }\n\n private gerarUmaLinhaComTitutloEConteudo(titulo: string, conteudo: string, comQuebraDeLinha: boolean = true): string {\n let novaLinha = comQuebraDeLinha ? this.quebraDeLinha() : '';\n return `${this.textoEmNegrito(titulo)} ${conteudo} ${novaLinha}`;\n }\n\n private textoEmNegrito(texto: string): string {\n return `${texto}:`;\n }\n\n private quebraDeLinha(): string {\n return '
    ';\n }\n\n async adicionarMalhaViaria() {\n if (this.exibirViasFerrea)\n await this.adicionarMalhaViariaViasFerrea();\n\n if (this.exibirRodoviasEstaduais)\n await this.adicionarMalhaViariaRodoviasEstaduais();\n\n if (this.exibirRodoviasFederais)\n await this.adicionarMalhaViariaRodoviasFederais();\n }\n\n async adicionarMalhaViariaViasFerrea() {\n let idSource = 'viasFerrea';\n let cor = '#000000';\n\n this.map.on('load', () => {\n this.criarSource(idSource, this.malhaViariaMSViaFerrea());\n this.criarLayer(idSource, cor);\n });\n }\n\n async adicionarMalhaViariaRodoviasEstaduais() {\n let idSource = 'rodoviasEstaduais';\n let cor = '#0000ff';\n\n this.map.on('load', () => {\n this.criarSource(idSource, this.malhaViariaMSRodoviasEstaduais());\n this.criarLayer(idSource, cor);\n });\n }\n\n async adicionarMalhaViariaRodoviasFederais() {\n let idSource = 'rodoviasFederais';\n let cor = '#ffa500';\n\n this.map.on('load', () => {\n this.criarSource(idSource, this.malhaViariaMSRodoviasFederais());\n this.criarLayer(idSource, cor);\n });\n }\n\n private criarSource(idSource: string, malhaViaria: string) {\n this.map.addSource(idSource, {\n type: 'geojson',\n data: `${malhaViaria}` \n });\n }\n\n private criarLayer(idSource: string, cor: string) {\n this.map.addLayer({\n 'id': `layer_${idSource}`,\n 'type': 'line',\n 'source': idSource,\n 'layout': {\n 'line-join': 'round',\n 'line-cap': 'round'\n },\n 'paint': {\n 'line-color': cor,\n 'line-width': 2\n }\n });\n }\n\n private malhaViariaMSViaFerrea(): string {\n return this.localizacaoMapaService.obterLinkMalhaViariaMSViaFerrea()\n }\n\n private malhaViariaMSRodoviasEstaduais(): string {\n return this.localizacaoMapaService.obterLinkMalhaViariaMSRodoviasEstaduais();\n }\n\n private malhaViariaMSRodoviasFederais(): string {\n return this.localizacaoMapaService.obterLinkMalhaViariaMSRodoviasFederais(); \n }\n}\n","\n
    \n
    \n
    \n
    Localização Mapa
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n \n \n\n \n \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { LocalizacaomapaComponent } from \"./localizacaomapa.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { LocalizacaoMapaService } from \"./localizacaomapa.service\";\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n ],\n declarations:[LocalizacaomapaComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA],\n providers:[LocalizacaoMapaService]\n})\nexport class LocalizacaoMapaModule {}","import { Routes } from \"@angular/router\";\nimport { LocalizacaomapaComponent } from \"./localizacaomapa.component\";\nimport { EAcao } from \"src/app/constantes/app.eacao.const\";\nimport { AutenticationGuard } from \"src/app/guard/autentication.guard\";\nimport { MasterComponent } from \"src/app/components/master/master.component\";\n\nexport const LocalizacaoMapaRoutes: Routes = [\n {\n path: 'localizacaomapa',\n component: MasterComponent,\n data: {permissao: EAcao.PESQUISAR},\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: LocalizacaomapaComponent\n }\n ]\n }\n];","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class LocalizacaoMapaService {\n constructor() { }\n\n public obterLinkMalhaViariaMSViaFerrea(): string {\n let parte1 = 'https://www.pinms.ms.gov.br/arcgis/rest/services/AGRAER_SERVICOS/Viario_MS/MapServer/0/query?';\n let parte2 = 'where=1%3D1&text=&objectIds=&time=&timeRelation=esriTimeRelationOverlaps&geometry=&geometryType=esriGeometryEnvelope&inS';\n let parte3 = 'R=&spatialRel=esriSpatialRelIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=&returnGeometry=true&ret';\n let parte4 = 'urnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&havingClause=&returnIdsOnly=false&returnCountOnly=fals';\n let parte5 = 'e&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&historicMoment=&retu';\n let parte6 = 'rnDistinctValues=false&resultOffset=&resultRecordCount=&returnExtentOnly=false&sqlFormat=none&datumTransformation=¶m';\n let parte7 = 'eterValues=&rangeValues=&quantizationParameters=&featureEncoding=esriDefault&f=geojson';\n\n return parte1.concat(parte2, parte3, parte4, parte5, parte6, parte7);\n }\n\n public obterLinkMalhaViariaMSRodoviasEstaduais(): string {\n let parte1 = 'https://www.pinms.ms.gov.br/arcgis/rest/services/AGESUL/SRE_2024/MapServer/0/query?';\n let parte2 = 'where=1%3D1&text=&objectIds=&time=&timeRelation=esriTimeRelationOverlaps&geometry=&geometryType=esriGeometryEnvelope&inS';\n let parte3 = 'R=&spatialRel=esriSpatialRelIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=&returnGeometry=true&ret';\n let parte4 = 'urnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&havingClause=&returnIdsOnly=false&returnCountOnly=fals';\n let parte5 = 'e&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&historicMoment=&retu';\n let parte6 = 'rnDistinctValues=false&resultOffset=&resultRecordCount=&returnExtentOnly=false&sqlFormat=none&datumTransformation=¶m';\n let parte7 = 'eterValues=&rangeValues=&quantizationParameters=&featureEncoding=esriDefault&f=geojson';\n\n return parte1.concat(parte2, parte3, parte4, parte5, parte6, parte7);\n }\n\n public obterLinkMalhaViariaMSRodoviasFederais(): string {\n let parte1 = 'https://www.pinms.ms.gov.br/arcgis/rest/services/AGRAER_SERVICOS/Viario_MS/MapServer/2/query?';\n let parte2 = 'where=1%3D1&text=&objectIds=&time=&timeRelation=esriTimeRelationOverlaps&geometry=&geometryType=esriGeometryEnvelope&inS';\n let parte3 = 'R=&spatialRel=esriSpatialRelIntersects&distance=&units=esriSRUnit_Foot&relationParam=&outFields=&returnGeometry=true&ret';\n let parte4 = 'urnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&havingClause=&returnIdsOnly=false&returnCountOnly=fals';\n let parte5 = 'e&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&historicMoment=&retu';\n let parte6 = 'rnDistinctValues=false&resultOffset=&resultRecordCount=&returnExtentOnly=false&sqlFormat=none&datumTransformation=¶m';\n let parte7 = 'eterValues=&rangeValues=&quantizationParameters=&featureEncoding=esriDefault&f=geojson';\n\n return parte1.concat(parte2, parte3, parte4, parte5, parte6, parte7);\n }\n}","import { fromEvent, Observable, of } from 'rxjs';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ModuloValidator } from \"src/app/validators/modulo.validator\";\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ModuloService } from 'src/app/services/app.modulo.service';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Icone } from 'src/app/model';\nimport { catchError, debounceTime, filter, map, pluck, startWith, switchMap, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-modulo-cadastro',\n templateUrl: './modulo.cadastro.component.html',\n styleUrls: ['./modulo.cadastro.component.scss'],\n providers: [\n BlockUtil,\n ModuloService\n ]\n})\nexport class ModuloCadastroComponent implements OnInit {\n\n public form: FormGroup;\n public grupos: Observable;\n public _icones: Observable;\n public icones: Icone[];\n public filtro: string;\n public selecionar: boolean = false;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private validator: ModuloValidator,\n private blockUtil: BlockUtil,\n public service: ModuloService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.grupos = this.comum.ObterGrupos();\n this._icones = this.comum.ObterIcones()\n this._icones.subscribe(icones => this.icones = icones);\n\n this.form = this.formBuilder.group({\n grupo: new FormControl('', [Validators.required]),\n titulo: new FormControl(null, [Validators.required]),\n caminho: new FormControl(null, [Validators.required]),\n icone: new FormControl(null),\n ordem: new FormControl(null),\n filtro: new FormControl(null),\n });\n }\n\n get iconeSelecionado(): string {\n return this.form.controls.icone.value;\n }\n\n ngOnInit(): void {\n const input = fromEvent(document.querySelector(\"#filtro\"), \"input\");\n\n input\n .pipe(\n debounceTime(300),\n pluck(\"target\", \"value\"),\n map((evento: string) => evento.trim()),\n switchMap((termo: string) => {\n if (!termo || termo.length < 2)\n return this._icones;\n\n return this._icones\n .pipe(\n map((icones: any[]) => icones.filter(({ nome }) => nome.includes(termo)))\n )\n }),\n catchError((error, source) => source.pipe(startWith([])))\n )\n .subscribe(icones => this.icones = icones);\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.new(this.validator.modulo)\n .subscribe({\n next: (data) => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.clear();\n this.router.navigate(['menu']);\n },\n error: (erro) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n return;\n }\n })\n }\n }\n\n selectIcon(icone: String) {\n if (this.iconeSelecionado == icone)\n this.removeIcon();\n else\n this.form.patchValue({ icone });\n }\n\n removeIcon() {\n this.form.patchValue({ icone: null });\n }\n\n confirmIcon() {\n this.selecionar = false;\n this.clearFilter();\n }\n\n toogleSelectIcon() {\n this.selecionar = !this.selecionar;\n }\n\n cancel() {\n this.router.navigate(['menu']);\n }\n\n clearFilter() {\n this.form.patchValue({ filtro: null });\n this._icones.subscribe(icones => this.icones = icones);\n }\n\n clear() {\n this.form.patchValue({\n grupo: '',\n titulo: null,\n caminho: null,\n icone: null,\n ordem: null,\n filtro: null,\n })\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n {{ iconeSelecionado.nome }}\n
    \n
    \n Remover\n \n
    \n
    \n Confirmar\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n Nenhum\n
    \n
    \n Selecionar\n \n Selecione\n \n
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n {{ icone.nome }}\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n\n","import { ModuloService } from 'src/app/services/app.modulo.service';\nimport { ModuloValidator } from 'src/app/validators/modulo.validator';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { fromEvent, Observable } from 'rxjs';\nimport { catchError, debounceTime, map, pluck, startWith, switchMap, tap } from 'rxjs/operators';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { Icone } from 'src/app/model';\n\n@Component({\n selector: 'app-entrada-editar',\n templateUrl: './modulo.editar.component.html',\n styleUrls: ['./modulo.editar.component.scss']\n})\nexport class ModuloEditarComponent implements OnInit {\n\n public form: FormGroup;\n public perfils: Observable;\n public grupos: Observable;\n public _icones: Observable;\n public icones: Icone[];\n public filtro: string;\n public icone: Icone;\n public selecionar: boolean = false;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private formBuilder: FormBuilder,\n private validator: ModuloValidator,\n private blockUtil: BlockUtil,\n public service: ModuloService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n\n this.form = this.formBuilder.group({\n moduloId: new FormControl(null, [Validators.required]),\n grupo: new FormControl('', [Validators.required]),\n titulo: new FormControl(null, [Validators.required]),\n caminho: new FormControl(null, [Validators.required]),\n icone: new FormControl(null),\n ordem: new FormControl(null),\n filtro: new FormControl(null),\n });\n\n const moduloId = +this.route.snapshot.queryParamMap.get(\"moduloId\");\n this.service.getById(moduloId)\n .subscribe((data: any) => {\n if (!data)\n return;\n const { moduloId, titulo, caminho, ordem } = data;\n this.grupos = this.comum.ObterGrupos()\n .pipe(\n tap((grupos: any) => {\n if (!grupos)\n return;\n const grupo = grupos.find(({ grupoID }) => grupoID == data.grupoId);\n\n this._icones = this.comum.ObterIcones()\n this._icones\n .subscribe(icones => {\n this.icones = icones;\n this.icone = icones.find(({ classe }) => classe == data.icone);\n this.form.patchValue({\n moduloId,\n grupo,\n titulo,\n caminho: caminho?.replace(/\\//g, \"\"),\n icone: this.icone,\n ordem\n });\n });\n })\n );\n });\n }\n\n get iconeSelecionado(): string {\n return this.form.controls.icone.value;\n }\n\n ngOnInit(): void {\n const input = fromEvent(document.querySelector(\"#filtro\"), \"input\");\n\n input\n .pipe(\n debounceTime(300),\n pluck(\"target\", \"value\"),\n map((evento: string) => evento.trim()),\n switchMap(termo => {\n if (!termo || termo.length < 2)\n return this._icones;\n\n return this._icones\n .pipe(\n map(icones => icones.filter(({ nome }) => nome.includes(termo)))\n )\n }),\n catchError((error, source) => source.pipe(startWith([])))\n )\n .subscribe(icones => this.icones = icones);\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.put(this.validator.modulo)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.router.navigate(['menu']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n selectIcon(icone: String) {\n if (this.iconeSelecionado == icone)\n this.removeIcon();\n else\n this.form.patchValue({ icone });\n }\n\n removeIcon() {\n this.form.patchValue({ icone: null });\n }\n\n selectOrigin() {\n this.form.patchValue({ icone: this.icone });\n this.confirmIcon();\n }\n\n confirmIcon() {\n this.selecionar = false;\n this.clearFilter();\n }\n\n toogleSelectIcon() {\n this.selecionar = !this.selecionar;\n }\n\n clearFilter() {\n this.form.patchValue({ filtro: null });\n this._icones.subscribe(icones => this.icones = icones);\n }\n\n cancel() {\n this.router.navigate(['menu']);\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n {{ iconeSelecionado.nome }}\n
    \n
    \n
    \n Remover\n \n
    \n
    \n Original\n \n
    \n
    \n
    \n
    \n Confirmar\n \n
    \n
    \n Original\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n Nenhum\n
    \n
    \n
    \n Selecionar\n \n Selecione\n \n
    \n
    \n Original\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n {{ icone.nome }}\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n","import { ComunService } from 'src/app/services/app.comum.service';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Modulo } from 'src/app/model/app.modulo.model';\nimport { ModuloService } from 'src/app/services/app.modulo.service';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { EGrupo } from 'src/app/constantes/app.egrupo.const';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n@Component({\n selector: 'app-modulo',\n templateUrl: './modulo.component.html',\n styleUrls: ['./modulo.component.scss']\n})\nexport class ModuloComponent extends ParmissoesPagina implements OnInit {\n public isMobile: boolean = false;\n public modulo$: Observable;\n public total$: Observable;\n public form: FormGroup;\n public eSituacao: ListItem[] = ESituacao.toList();\n public pesquisaAvancadaAberta: boolean = false;\n public colsGrid: any = [\n {\n colKey: \"nome\",\n colName: \"Nome\"\n },\n {\n colKey: \"caminho\",\n colName: \"Caminho\",\n \n },\n {\n colKey: \"grupoID\",\n colName: \"Grupo\",\n type:'string',\n options:EGrupo.toListAll()\n },\n \n ]\n\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n public service: ModuloService,\n private toast: ToastUtil,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private comum: ComunService,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService\n ) {\n super(router.url, accountService);\n this.modulo$ = service.modulo$;\n this.total$ = service.total$;\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl(null),\n \n });\n\n this.breakpointObserver.observe([\n \"(max-width: 768px)\"\n ]).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true\n } else {\n this.isMobile = false\n }\n });\n }\n\n ngOnInit(): void {\n this.service.get({});\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column)\n header.direction = '';\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n this.service.get({\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n grupoID:'',\n caminho:'',\n filtroGenerico:filtroGenerico?filtroGenerico:''\n });\n }\n\n // clean() {\n // this.form.setValue({\n // moduloId: null,\n // nome: null,\n // situacao: '',\n // });\n // this.service.get({});\n // }\n\n onView({ moduloId }: any) {\n this.router.navigate(['menu/visualizar'], { queryParams: { moduloId } });\n }\n\n onEdit({ moduloId }: any) {\n this.router.navigate(['menu/editar'], { queryParams: { moduloId } });\n }\n\n onDelete(data: Modulo) {\n this.dialogModal.open({\n title: data.titulo,\n text: `Você está prestes a remover este Menu !
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoId = ESituacao.EXCLUIDO;\n this.service.putSituacao(data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Menu Excluido com sucesso!\");\n this.blockUtil.desbloquear();\n this.router.navigate(['menu']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n toInsert() {\n this.router.navigate(['menu/cadastro']);\n }\n\n pesquisaAvancada() {\n this.form.reset();\n\n this.pesquisaAvancadaAberta = true;\n }\n\n close() {\n this.pesquisaAvancadaAberta = false;\n this.search();\n\n\n }\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n\n this.search();\n }\n\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Menu
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Título\n Caminho\n Grupo\n Ações
    \n \n \n \n \n \n \n \n \n \n
    \n \n Visualizar\n \n \n Editar\n \n \n Excluir\n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Menu
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    Nome
    \n \n \n
    \n
    Condicionante
    \n \n \n
    \n
    Nome da Situação
    \n \n \n
    \n
    \n Ações\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { ModuloVisualizarComponent } from './visualizar/modulo.visualizar.component';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { ModuloComponent } from \"./modulo.component\";\nimport { ModuloCadastroComponent } from './cadastro/modulo.cadastro.component';\nimport { ModuloEditarComponent } from './editar/modulo.editar.component';\nimport { ComponentsModule } from 'src/app/components/components.module';\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n NgbModule,\n DirectivesModule,\n ComponentsModule\n ],\n declarations: [\n ModuloComponent,\n ModuloCadastroComponent,\n ModuloVisualizarComponent,\n ModuloEditarComponent,\n\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ModuloModule { }\n","import { Routes } from '@angular/router';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { ModuloCadastroComponent } from './cadastro/modulo.cadastro.component';\nimport { ModuloEditarComponent } from './editar/modulo.editar.component';\nimport { ModuloComponent } from './modulo.component';\nimport { ModuloVisualizarComponent } from './visualizar/modulo.visualizar.component';\n\nexport const ModuloComponentRoutes: Routes = [\n {\n path: 'menu',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ModuloComponent\n }\n ]\n },\n {\n path: 'menu/cadastro',\n component: MasterComponent,\n data: { permissao: EAcao.CADASTRAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ModuloCadastroComponent\n }\n ]\n },\n {\n path: 'menu/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ModuloVisualizarComponent\n }\n ]\n },\n {\n path: 'menu/editar',\n component: MasterComponent,\n data: { permissao: EAcao.ALTERAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ModuloEditarComponent\n }\n ]\n }\n];\n","import { ActivatedRoute, ParamMap, Router } from '@angular/router';\nimport { Component } from '@angular/core';\nimport { ModuloService } from 'src/app/services/app.modulo.service';\nimport { Icone, Modulo } from 'src/app/model';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'app-modulo-visualizar',\n templateUrl: './modulo.visualizar.component.html',\n styleUrls: ['./modulo.visualizar.component.scss'],\n providers: [\n ModuloService\n ]\n})\nexport class ModuloVisualizarComponent {\n\n public data: Modulo;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: ModuloService,\n private comum: ComunService\n ) {\n const moduloId = +this.route.snapshot.queryParamMap.get(\"moduloId\");\n this.service.getById(moduloId)\n .subscribe({\n next: (data: Modulo) => {\n this.comum.ObterIcones()\n .pipe(filter(icones => !!icones.length))\n .subscribe(icones => {\n this.data = data;\n this.data.icone = icones.find(({ classe }) => classe == data.icone)\n });\n },\n error: () => this.data = null\n });\n }\n\n voltar() {\n this.router.navigate(['menu']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.titulo}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.caminho}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.grupoNome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.ordem}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n Nenhum\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n {{ data.icone.nome }}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.situacaoNome}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraInclusao | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeInclusao}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraAlteracao |\n date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeAlteracao}}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n","import { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ModeloRegraService } from 'src/app/services/app.modeloregra.service';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { Observable } from 'rxjs';\nimport {\n Condicionante,\n FiltroEntrada,\n ParametroEntrada,\n ParametroSaida\n} from 'src/app/model';\nimport { tap } from 'rxjs/operators';\nimport { ModeloRegraValidator } from 'src/app/validators/modeloregra.validator';\n\n@Component({\n selector: 'app-modeloregra-cadastro',\n templateUrl: './modeloregra.cadastro.component.html',\n styleUrls: ['./modeloregra.cadastro.component.scss'],\n providers: [\n BlockUtil,\n ModeloRegraService,\n BlockUtil\n ]\n})\nexport class ModeloRegraCadastroComponent implements OnInit {\n\n public form: FormGroup;\n public condicionantes$: Observable;\n public parametrosEntrada: ParametroEntrada[];\n public filtrosEntrada: FiltroEntrada[];\n public parametrosSaida: ParametroSaida[];\n public selectedItems: ParametroEntrada[] = [];\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true,\n itemsShowLimit: 0,\n textField: 'nome',\n };\n\n public parametrosEntradaSettings: IDropdownSettings = {\n ...this.configuracoesPadrao,\n idField: 'parametroEntradaId',\n };\n\n public filtrosEntradaSettings: IDropdownSettings = {\n ...this.configuracoesPadrao,\n idField: 'filtroEntradaId',\n };\n\n public parametrosSaidaSettings: IDropdownSettings = {\n ...this.configuracoesPadrao,\n idField: 'parametroSaidaId',\n };\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private validator: ModeloRegraValidator,\n private blockUtil: BlockUtil,\n public service: ModeloRegraService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.blockUtil.blockName = \"cadastroModelo\";\n this.condicionantes$ = this.comum.ObterCondicionantesByExibeRegra();\n this.comum.ObterParametrosEntradaAtivos()\n .pipe(\n tap(parametrosEntrada => this.parametrosEntrada = parametrosEntrada)\n ).subscribe();\n this.comum.ObterFiltrosEntradaAtivos()\n .pipe(\n tap(filtrosEntrada => this.filtrosEntrada = filtrosEntrada)\n ).subscribe();\n this.comum.ObterParametrosSaidaAtivos()\n .pipe(\n tap(parametrosSaida => this.parametrosSaida = parametrosSaida)\n ).subscribe();\n\n this.form = this.formBuilder.group({\n nome: new FormControl(null),\n condicionante: new FormControl(''),\n parametrosEntrada: new FormControl([]),\n filtrosEntrada: new FormControl([]),\n parametrosSaida: new FormControl([])\n });\n }\n\n get parametrosEntradaSelecionados(): ParametroEntrada[] {\n return this.form?.value?.parametrosEntrada || [];\n }\n\n get parametrosSaidaSelecionados(): ParametroSaida[] {\n return this.form?.value?.parametrosSaida || [];\n }\n\n get filtrosEntradaSelecionados(): FiltroEntrada[] {\n return this.form?.value?.filtrosEntrada || [];\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.new(this.validator.modeloRegra)\n .subscribe({\n next: (data) => {\n this.toast.showSuccess(data);\n\n this.blockUtil.desbloquear();\n this.clear();\n this.router.navigate(['modeloregra']);\n },\n error: (erro) => {\n this.toast.showDanger(erro);\n\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n removerParametroEntrada(_parametroEntrada: ParametroEntrada) {\n const parametrosEntrada = this.form.controls.parametrosEntrada.value?.filter(parametroEntrada => _parametroEntrada != parametroEntrada);\n this.form.patchValue({ parametrosEntrada })\n }\n\n removerParametroSaida(_parametroSaida: ParametroSaida) {\n const parametrosSaida = this.form.controls.parametrosSaida.value?.filter(parametroSaida => _parametroSaida != parametroSaida);\n this.form.patchValue({ parametrosSaida })\n }\n\n removerFiltroEntrada(_filtroEntrada: FiltroEntrada) {\n const filtrosEntrada = this.form.controls.filtrosEntrada.value?.filter(filtroEntrada => _filtroEntrada != filtroEntrada);\n this.form.patchValue({ filtrosEntrada })\n }\n\n cancel() {\n this.router.navigate(['modeloregra']);\n }\n\n clear() {\n this.form.patchValue({\n nome: null,\n condicionante: '',\n parametrosEntrada: [],\n filtrosEntrada: [],\n parametrosSaida: []\n })\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n {{\n parametro.nome\n }}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n {{\n filtro.nome\n }}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n {{\n parametro.nome\n }}\n \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { switchMap, tap } from 'rxjs/operators';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CondicionanteService } from 'src/app/services/app.condicionante.service';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { Observable } from 'rxjs';\nimport { Condicionante, FiltroEntrada, ParametroEntrada, ParametroSaida } from 'src/app/model';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { ModeloRegraValidator } from 'src/app/validators/modeloregra.validator';\nimport { ModeloRegraService } from 'src/app/services/app.modeloregra.service';\nimport { ComunService } from 'src/app/services/app.comum.service';\n\n@Component({\n selector: 'app-modeloregra-editar',\n templateUrl: './modeloregra.editar.component.html',\n styleUrls: ['./modeloregra.editar.component.scss'],\n providers: [\n ModeloRegraService,\n BlockUtil\n ]\n})\nexport class ModeloRegraEditarComponent implements OnInit {\n\n public form: FormGroup;\n public condicionantes$: Observable;\n public parametrosEntrada: ParametroEntrada[];\n public filtrosEntrada: FiltroEntrada[];\n public parametrosSaida: ParametroSaida[];\n public selectedItems: ParametroEntrada[] = [];\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true,\n itemsShowLimit: 0,\n textField: 'nome',\n };\n\n public parametrosEntradaSettings: IDropdownSettings = {\n ...this.configuracoesPadrao,\n idField: 'parametroEntradaId',\n };\n\n public filtrosEntradaSettings: IDropdownSettings = {\n ...this.configuracoesPadrao,\n idField: 'filtroEntradaId',\n };\n\n public parametrosSaidaSettings: IDropdownSettings = {\n ...this.configuracoesPadrao,\n idField: 'parametroSaidaId',\n };\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private formBuilder: FormBuilder,\n private validator: ModeloRegraValidator,\n private blockUtil: BlockUtil,\n public service: ModeloRegraService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.blockUtil.blockName = \"atualizarModelo\";\n this.form = this.formBuilder.group({\n modeloRegraId: new FormControl(null),\n nome: new FormControl(null),\n condicionante: new FormControl(''),\n parametrosEntrada: new FormControl([]),\n filtrosEntrada: new FormControl([]),\n parametrosSaida: new FormControl([])\n });\n\n const modeloRegraId = +this.route.snapshot.queryParamMap.get(\"modeloRegraId\");\n this.service.getById(modeloRegraId)\n .subscribe((data: any) => {\n if (!data)\n return;\n\n const { condicionanteId, nome, parametrosEntrada, filtrosEntrada, parametrosSaida } = data;\n\n this.condicionantes$ = this.comum.ObterCondicionantesAtivosEAtribuido(condicionanteId)\n .pipe(\n tap(condicionantes => {\n const condicionante = condicionantes.find(condicionante => condicionante.condicionanteId == condicionanteId);\n if (condicionante)\n this.form.patchValue({ condicionante });\n })\n );\n this.comum.ObterParametrosEntradaAtivos()\n .pipe(\n tap(listaParametrosEntrada => {\n this.parametrosEntrada = listaParametrosEntrada;\n const parametros = this.parametrosEntrada.filter(({ parametroEntradaId }) => parametrosEntrada.find(({ parametroEntradaId: id }) => id === parametroEntradaId))\n .map(parametroEntrada => Object.assign(parametroEntrada, parametrosEntrada.find(({ parametroEntradaId: id }) => id === parametroEntrada.parametroEntradaId)));\n if (!!parametros.length)\n this.form.patchValue({ parametrosEntrada: parametros });\n })\n ).subscribe();\n this.comum.ObterFiltrosEntradaAtivos()\n .pipe(\n tap(listaFiltrosEntrada => {\n this.filtrosEntrada = listaFiltrosEntrada;\n const filtros = this.filtrosEntrada.filter(({ filtroEntradaId }) => filtrosEntrada.find(({ filtroEntradaId: id }) => id === filtroEntradaId))\n .map(filtroEntrada => Object.assign(filtroEntrada, filtrosEntrada.find(({ filtroEntradaId: id }) => id === filtroEntrada.filtroEntradaId)));\n if (!!filtros.length)\n this.form.patchValue({ filtrosEntrada: filtros });\n })\n ).subscribe();\n this.comum.ObterParametrosSaidaAtivos()\n .pipe(\n tap(listaParametrosSaida => {\n this.parametrosSaida = listaParametrosSaida;\n const parametros = this.parametrosSaida.filter(({ parametroSaidaId }) => parametrosSaida.find(({ parametroSaidaId: id }) => id === parametroSaidaId))\n .map(parametroSaida => Object.assign(parametroSaida, parametrosSaida.find(({ parametroSaidaId: id }) => id === parametroSaida.parametroSaidaId)));\n if (!!parametros.length)\n this.form.patchValue({ parametrosSaida: parametros });\n })\n ).subscribe();\n\n this.form.patchValue({\n modeloRegraId,\n nome\n });\n });\n }\n\n get parametrosEntradaSelecionados(): ParametroEntrada[] {\n return this.form?.value?.parametrosEntrada || [];\n }\n\n get parametrosSaidaSelecionados(): ParametroSaida[] {\n return this.form?.value?.parametrosSaida || [];\n }\n\n get filtrosEntradaSelecionados(): FiltroEntrada[] {\n return this.form?.value?.filtrosEntrada || [];\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n }\n else {\n this.service.put(this.validator.modeloRegra)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Modelo de Regra atualizado com sucesso!\");\n\n this.blockUtil.desbloquear();\n this.clean();\n this.router.navigate(['modeloregra']);\n },\n error: (erro) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n return;\n }\n });\n }\n }\n\n removerParametroEntrada(_parametroEntrada: ParametroEntrada) {\n const parametrosEntrada = this.form.controls.parametrosEntrada.value?.filter(parametroEntrada => _parametroEntrada != parametroEntrada);\n this.form.patchValue({ parametrosEntrada })\n }\n\n removerParametroSaida(_parametroSaida: ParametroSaida) {\n const parametrosSaida = this.form.controls.parametrosSaida.value?.filter(parametroSaida => _parametroSaida != parametroSaida);\n this.form.patchValue({ parametrosSaida })\n }\n\n removerFiltroEntrada(_filtroEntrada: FiltroEntrada) {\n const filtrosEntrada = this.form.controls.filtrosEntrada.value?.filter(filtroEntrada => _filtroEntrada != filtroEntrada);\n this.form.patchValue({ filtrosEntrada })\n }\n\n\n cancel() {\n this.clean();\n this.router.navigate(['modeloregra']);\n }\n\n clean() {\n this.form.patchValue({\n nome: null,\n condicionante: '',\n parametrosEntrada: [],\n filtrosEntrada: [],\n parametrosSaida: []\n })\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n {{\n parametro.nome\n }}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n {{\n filtro.nome\n }}\n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n {{\n parametro.nome\n }}\n \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { ESituacao } from '../../constantes/app.esituacao.const';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\n\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { ModeloRegra } from 'src/app/model/app.modeloregra.model';\nimport { ModeloRegraService } from 'src/app/services/app.modeloregra.service';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n\n@Component({\n selector: 'app-condicionantes',\n templateUrl: './modeloregra.component.html',\n styleUrls: ['./modeloregra.component.scss']\n\n})\nexport class ModeloRegraComponent extends ParmissoesPagina implements OnInit {\n\n public isMobile: boolean = false;\n public modelosregra$: Observable;\n public condicionanteEditar = new BehaviorSubject(null);\n public total$: Observable;\n public form: FormGroup;\n public eSituacao: ListItem[] = ESituacao.toList();\n public permissoes: any = {};\n public pesquisaAvancadaAberta: boolean = false;\n \n public colsGrid: any = [\n {\n colKey: \"nome\",\n colName: \"Nome\"\n },\n {\n colKey: \"condicionante\",\n colName: \"Condicionante\",\n\n },\n {\n colKey: \"situacaoID\",\n colName: \"Situação\",\n type:'string',\n options:ESituacao.toListAll()\n },\n\n ]\n\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n constructor(\n private router: Router,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private formBuilder: FormBuilder,\n public service: ModeloRegraService,\n private toast: ToastUtil,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService\n ) {\n super(router.url, accountService);\n this.modelosregra$ = service.modelosregra$;\n this.total$ = service.total$;\n\n this.accountService.PermissionOnModel(router.url)\n .subscribe({\n next: permissoes => this.permissoes = permissoes\n });\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl('')\n });\n\n this.breakpointObserver.observe([\n \"(max-width: 768px)\"\n ]).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true\n } else {\n this.isMobile = false\n }\n });\n }\n\n ngOnInit(): void {\n this.service.get({});\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column) {\n header.direction = '';\n }\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n this.service.get({\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n situacaoID:'',\n condicionante:'',\n filtroGenerico: filtroGenerico?filtroGenerico:''\n });\n }\n\n \n\n onView({ modeloRegraId }: any) {\n this.router.navigate(['modeloregra/visualizar'], { queryParams: { modeloRegraId } });\n }\n onEdit({ modeloRegraId }: any) {\n this.router.navigate(['modeloregra/editar'], { queryParams: { modeloRegraId } });\n }\n onDelete(data: ModeloRegra) {\n this.dialogModal.open({\n title: data.nome,\n text: `Você está prestes a remover o modelo de regra!
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoId = ESituacao.EXCLUIDO;\n this.service.putSituacao(data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Modelo de Regra Excluido com sucesso!\");\n this.blockUtil.desbloquear();\n },\n error: (erro) => {\n let exibirMensagemDeAtencao = erro.toString().includes('Atenção!');\n if (exibirMensagemDeAtencao)\n this.toast.showWarning(erro.toString().replace('Error:', ''), '');\n else\n this.toast.showDanger(erro);\n\n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n toInsert() {\n this.router.navigate(['modeloregra/cadastro']);\n }\n\n pesquisaAvancada() {\n this.form.reset();\n\n this.pesquisaAvancadaAberta = true;\n }\n\n close() {\n this.pesquisaAvancadaAberta = false;\n this.search();\n\n\n }\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n\n this.search();\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Modelo de Regras
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Nome\n CondicionanteSituação\n Ações
    \n \n \n \n \n \n \n \n \n \n
    \n\n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Modelo de Regras
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    Nome
    \n \n \n
    \n
    Condicionante
    \n \n \n
    \n
    Nome da Situação
    \n \n \n
    \n
    \n Ações\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { ModeloRegraComponent } from './modeloregra.component'\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { ModeloRegraCadastroComponent } from \"./cadastro/modeloregra.cadastro.component\";\nimport { ModeloRegraVisualizarComponent } from \"./visualizar/modeloregra.visualizar.component\";\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { BlockUIModule } from \"ng-block-ui\";\nimport { ModeloRegraEditarComponent } from \"./editar/modeloregra.editar.component\";\nimport { ComumModule } from \"../regra/comum/comum.module\";\nimport { ComponentsModule } from \"src/app/components/components.module\";\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n BlockUIModule.forRoot(),\n ComponentsModule\n ],\n declarations: [\n ModeloRegraComponent,\n ModeloRegraCadastroComponent,\n ModeloRegraVisualizarComponent,\n ModeloRegraEditarComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ModeloRegraModule { }\n","import { Routes } from '@angular/router';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { ModeloRegraCadastroComponent } from './cadastro/modeloregra.cadastro.component';\nimport { ModeloRegraEditarComponent } from './editar/modeloregra.editar.component';\nimport { ModeloRegraComponent } from './modeloregra.component';\nimport { ModeloRegraVisualizarComponent } from './visualizar/modeloregra.visualizar.component';\n\nexport const ModelosRegraComponentRoutes: Routes = [\n {\n path: 'modeloregra',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ModeloRegraComponent\n }\n ]\n },\n {\n path: 'modeloregra/cadastro',\n component: MasterComponent,\n data: { permissao: EAcao.CADASTRAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ModeloRegraCadastroComponent\n }\n ]\n },\n {\n path: 'modeloregra/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ModeloRegraVisualizarComponent\n }\n ]\n },\n {\n path: 'modeloregra/editar',\n component: MasterComponent,\n data: { permissao: EAcao.ALTERAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ModeloRegraEditarComponent\n }\n ]\n }\n];\n","import { ActivatedRoute, Router } from '@angular/router';\nimport { Component } from '@angular/core';\nimport { ModeloRegraService } from 'src/app/services/app.modeloregra.service';\nimport { FiltroEntrada, ModeloRegra, ParametroEntrada, ParametroSaida } from 'src/app/model';\n\n@Component({\n selector: 'app-modeloregra-visualizar',\n templateUrl: './modeloregra.visualizar.component.html',\n styleUrls: ['./modeloregra.visualizar.component.scss'],\n providers: [\n ModeloRegraService\n ]\n})\nexport class ModeloRegraVisualizarComponent {\n\n public data: ModeloRegra;\n public parametrosEntrada: ParametroEntrada[];\n public filtrosEntrada: FiltroEntrada[];\n public parametrosSaida: ParametroSaida[];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: ModeloRegraService\n ) {\n const modeloRegraId = +this.route.snapshot.queryParamMap.get(\"modeloRegraId\");\n this.service.getById(modeloRegraId)\n .subscribe({\n next: (data: any) => {\n this.data = data;\n const { parametrosEntrada, filtrosEntrada, parametrosSaida } = data;\n this.parametrosEntrada = parametrosEntrada;\n this.filtrosEntrada = filtrosEntrada;\n this.parametrosSaida = parametrosSaida;\n },\n error: () => this.data = null\n });\n }\n\n voltar() {\n this.router.navigate(['modeloregra']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.modeloRegraId}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{data.nome}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.condicionanteDescricao}}

    \n
    \n
    \n
    \n
    \n
    \n * campo obrigatório.\n
    \n
    \n
    \n \n
      \n
    • {{\n parametroEntrada.nome }}\n *\n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
      \n
    • {{\n filtroEntrada.nome }}\n *\n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n * liberado para a\n notificação.\n
    \n
    \n * liberado para a\n visualização.\n
    \n
    \n
    \n \n
      \n
    • {{\n parametroSaida.nome }}\n *\n *\n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraInclusao | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeInclusao}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraAlteracao |\n date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeAlteracao}}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ParametroEntradaValidator } from 'src/app/validators/parametroentrada.validator';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ParametrosEntradaService } from 'src/app/services/app.parametrosentrada.service';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { Observable } from 'rxjs';\nimport { ComunService } from 'src/app/services/app.comum.service';\n\n@Component({\n selector: 'app-entrada-cadastro',\n templateUrl: './parametroentrada.cadastro.component.html',\n styleUrls: ['./parametroentrada.cadastro.component.scss']\n})\nexport class ParametroEntradaCadastroComponent implements OnInit {\n public form: FormGroup;\n public tipoDados: Observable;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private validator: ParametroEntradaValidator,\n private blockUtil: BlockUtil,\n public service: ParametrosEntradaService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.tipoDados = this.comum.ObterTipoDado();\n this.form = this.formBuilder.group({\n nome: new FormControl(null),\n caminhoMapeado: new FormControl(null),\n tipoDado: new FormControl('')\n });\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.new(this.validator.parametroEntrada)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess('Parâmetro de Entrada salvo com sucesso!');\n this.blockUtil.desbloquear();\n this.router.navigate(['parametroentrada']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n cancel() {\n this.router.navigate(['parametroentrada']);\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { ParametrosEntradaService } from 'src/app/services/app.parametrosentrada.service';\nimport { ParametroEntradaValidator } from 'src/app/validators/parametroentrada.validator';\n\n@Component({\n selector: 'app-entrada-editar',\n templateUrl: './parametroentrada.editar.component.html',\n styleUrls: ['./parametroentrada.editar.component.scss']\n})\nexport class ParametroEntradaEditarComponent implements OnInit {\n\n public form: FormGroup;\n public tipoDados: Observable;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private formBuilder: FormBuilder,\n private validator: ParametroEntradaValidator,\n private blockUtil: BlockUtil,\n public service: ParametrosEntradaService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.form = this.formBuilder.group({\n parametroEntradaId: new FormControl(null),\n nome: new FormControl(null),\n tipoDado: new FormControl(''),\n caminhoMapeado: new FormControl(null)\n });\n\n const parametroEntradaId = +this.route.snapshot.queryParamMap.get(\"parametroEntradaId\");\n this.service.getById(parametroEntradaId)\n .subscribe((data: any) => {\n\n if (!data)\n return;\n const { parametroEntradaID: parametroEntradaId, nome, caminhoMapeado } = data;\n\n this.tipoDados = this.comum.ObterTipoDado()\n .pipe(\n tap((tiposDado: any) => {\n if (!tiposDado)\n return;\n const tipoDado = tiposDado.find(({ tipoDadoID }) => tipoDadoID == data.tipoDadoID);\n this.form.patchValue({\n parametroEntradaId,\n nome,\n tipoDado,\n caminhoMapeado\n });\n })\n );\n });\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.put(this.validator.parametroEntrada)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess('Parâmetro de Entrada atualizado com sucesso!');\n this.blockUtil.desbloquear();\n this.router.navigate(['parametroentrada']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n cancel() {\n this.router.navigate(['parametroentrada']);\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ComunService } from '../../services/app.comum.service';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { ParametroEntrada } from 'src/app/model/app.parametroentrada.model';\nimport { ParametrosEntradaService as ParametroEntradaService } from 'src/app/services/app.parametrosentrada.service';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { ETipoDado } from 'src/app/constantes/app.etipodado.const';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n@Component({\n selector: 'app-parametro-entrada',\n templateUrl: './parametroentrada.component.html',\n styleUrls: ['./parametroentrada.component.scss'],\n providers: [ParametroEntradaService]\n})\nexport class ParametroEntradaConsultaComponent extends ParmissoesPagina implements OnInit {\n public isMobile: boolean = false;\n public parametros$: Observable;\n public total$: Observable;\n public form: FormGroup;\n public eSituacao: ListItem[] = ESituacao.toList()\n public tipoDados: Observable;\n public pesquisaAvancadaAberta: boolean = false;\n\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n public service: ParametroEntradaService,\n private toast: ToastUtil,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private comum: ComunService,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService\n ) {\n super(router.url, accountService);\n this.parametros$ = service.parametros$;\n this.total$ = service.total$;\n this.tipoDados = this.comum.ObterTipoDado();\n\n this.accountService.PermissionOnModel(router.url)\n .subscribe({\n next: permissoes => this.permissoes = permissoes\n });\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl(null),\n\n });\n\n this.breakpointObserver.observe([\n \"(max-width: 768px)\"\n ]).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true\n } else {\n this.isMobile = false\n }\n });\n }\n\n public colsGrid: any = [\n {\n colKey: \"nome\",\n colName: \"Nome\"\n },\n {\n colKey: \"tipoDadoID\",\n colName: \"Tipo Dado\",\n type: \"string\",\n options: ETipoDado.toListAll()\n\n },\n {\n colKey: \"situacaoID\",\n colName: \"Situação\",\n type: 'string',\n options: ESituacao.toListAll()\n },\n\n\n ]\n\n ngOnInit(): void {\n this.service.get({});\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column)\n header.direction = '';\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n\n this.service.get(\n {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: null,\n situacaoID: null,\n tipoDadoID: null,\n dataDeTratamento: null,\n filtroGenerico: filtroGenerico ? filtroGenerico : ''\n\n });\n }\n\n clean() {\n this.form.setValue({\n nome: null,\n situacao: '',\n tipoDado: ''\n });\n this.service.get({});\n }\n\n onView({ parametroEntradaID: parametroEntradaId }: any) {\n this.router.navigate(['parametroentrada/visualizar'], {\n queryParams: { parametroEntradaId }\n });\n }\n\n onEdit({ parametroEntradaID: parametroEntradaId }: any) {\n this.router.navigate(['parametroentrada/editar'], {\n queryParams: { parametroEntradaId }\n });\n }\n\n onDelete(data: ParametroEntrada) {\n this.dialogModal.open({\n title: data.nome,\n text: `Você está prestes a remover este Parametro de Entrada!
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoId = ESituacao.EXCLUIDO;\n this.service.putSituacao(data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Parâmetro de Entrada Excluido com sucesso!\");\n this.blockUtil.desbloquear();\n },\n error: (erro: string) => {\n let exibirMensagemDeAtencao = erro.toString().includes('Atenção!');\n if (exibirMensagemDeAtencao)\n this.toast.showWarning(erro.toString().replace('Error:', ''), '');\n else\n this.toast.showDanger(erro);\n\n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n toInsert() {\n this.router.navigate(['parametroentrada/cadastro']);\n }\n\n pesquisaAvancada() {\n this.form.reset();\n\n this.pesquisaAvancadaAberta = true;\n }\n\n close() {\n this.pesquisaAvancadaAberta = false;\n this.search();\n\n\n }\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n\n this.search();\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Parâmetros de Entrada
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    NomeTipo DadoSituaçãoAções
    \n \n \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Parâmetros de Entrada
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    Nome
    \n \n
    \n
    Condicionante
    \n \n
    \n
    Nome da Situação
    \n \n
    \n
    Ações
    \n
    \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { ParametroEntradaCadastroComponent } from './cadastro/parametroentrada.cadastro.component';\nimport { ParametroEntradaConsultaComponent } from './parametroentrada.component';\nimport { ParametroEntradaVisualizarComponent } from './visualizar/parametroentrada.visualizar.component';\nimport { ParametroEntradaEditarComponent } from './editar/parametroentrada.editar.component';\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { ComponentsModule } from \"src/app/components/components.module\";\n\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n NgbModule,\n DirectivesModule,\n ComponentsModule\n ],\n declarations: [\n ParametroEntradaConsultaComponent,\n ParametroEntradaCadastroComponent,\n ParametroEntradaVisualizarComponent,\n ParametroEntradaEditarComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ParametroEntradaModule { }\n","import { Routes } from '@angular/router';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { ParametroEntradaCadastroComponent } from './cadastro/parametroentrada.cadastro.component';\nimport { ParametroEntradaEditarComponent } from './editar/parametroentrada.editar.component';\nimport { ParametroEntradaConsultaComponent } from './parametroentrada.component';\nimport { ParametroEntradaVisualizarComponent } from './visualizar/parametroentrada.visualizar.component';\n\nexport const EntradaRoutes: Routes = [\n {\n path: 'parametroentrada',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ParametroEntradaConsultaComponent\n }\n ]\n },\n {\n path: 'parametroentrada/cadastro',\n component: MasterComponent,\n data: { permissao: EAcao.CADASTRAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ParametroEntradaCadastroComponent\n }\n ]\n },\n {\n path: 'parametroentrada/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ParametroEntradaVisualizarComponent\n }\n ]\n },\n {\n path: 'parametroentrada/editar',\n component: MasterComponent,\n data: { permissao: EAcao.ALTERAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ParametroEntradaEditarComponent\n }\n ]\n }\n];\n","import { ParametrosEntradaService } from 'src/app/services/app.parametrosentrada.service';\nimport { ParametroEntrada } from '../../../model/app.parametroentrada.model';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-entrada-visualizar',\n templateUrl: './parametroentrada.visualizar.component.html',\n styleUrls: ['./parametroentrada.visualizar.component.scss']\n})\nexport class ParametroEntradaVisualizarComponent {\n\n public data: ParametroEntrada;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: ParametrosEntradaService,\n ) {\n const parametroEntradaId = +this.route.snapshot.queryParamMap.get(\"parametroEntradaId\");\n this.service.getById(parametroEntradaId)\n .subscribe({\n next: (data: any) => {\n this.data = data\n },\n error: () => this.data = null\n });\n }\n\n voltar() {\n this.router.navigate(['parametroentrada']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.tipoDadoNome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.nome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.caminhoMapeado}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.situacaoNome}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraInclusao | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeInclusao}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraAlteracao | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeAlteracao}}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ParametroSaidaValidator } from 'src/app/validators/parametrosaida.validator';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ParametrosSaidaService } from 'src/app/services/app.parametrossaida.service';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { Observable } from 'rxjs';\nimport { ComunService } from 'src/app/services/app.comum.service';\n\n@Component({\n selector: 'app-saida-cadastro',\n templateUrl: './parametrosaida.cadastro.component.html',\n styleUrls: ['./parametrosaida.cadastro.component.scss']\n})\nexport class ParametroSaidaCadastroComponent implements OnInit {\n public form: FormGroup;\n public tipoDados: Observable;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private validator: ParametroSaidaValidator,\n private blockUtil: BlockUtil,\n public service: ParametrosSaidaService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.tipoDados = this.comum.ObterTipoDado();\n this.form = this.formBuilder.group({\n nome: new FormControl(null),\n tipoDado: new FormControl(''),\n caminhoMapeado: new FormControl('')\n });\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.new(this.validator.parametroSaida)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess('Parâmetro de Saída Cadastrado com sucesso!');\n this.blockUtil.desbloquear();\n this.router.navigate(['parametrosaida']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n cancel() {\n this.router.navigate(['parametrosaida']);\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { ParametrosSaidaService } from 'src/app/services/app.parametrossaida.service';\nimport { ParametroSaidaValidator } from 'src/app/validators/parametrosaida.validator';\n\n@Component({\n selector: 'app-saida-editar',\n templateUrl: './parametrosaida.editar.component.html',\n styleUrls: ['./parametrosaida.editar.component.scss']\n})\nexport class ParametroSaidaEditarComponent implements OnInit {\n\n public form: FormGroup;\n public tipoDados: Observable;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private formBuilder: FormBuilder,\n private validator: ParametroSaidaValidator,\n private blockUtil: BlockUtil,\n public service: ParametrosSaidaService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.form = this.formBuilder.group({\n parametroSaidaId: new FormControl(null),\n nome: new FormControl(null),\n tipoDado: new FormControl(''),\n caminhoMapeado: new FormControl('')\n });\n\n const parametroSaidaId = +this.route.snapshot.queryParamMap.get(\"parametroSaidaId\");\n this.service.getById(parametroSaidaId)\n .subscribe((data: any) => {\n if (!data)\n return;\n\n const { parametroSaidaID: parametroSaidaId, nome, caminhoMapeado } = data;\n this.tipoDados = this.comum.ObterTipoDado()\n .pipe(\n tap((tiposDado: any) => {\n if (!tiposDado)\n return;\n const tipoDado = tiposDado.find(({ tipoDadoID }) => tipoDadoID == data.tipoDadoID);\n this.form.patchValue({\n parametroSaidaId,\n nome,\n tipoDado,\n caminhoMapeado\n });\n })\n );\n });\n }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.put(this.validator.parametroSaida)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess('Parâmetro de Saída Alterado com sucesso!');\n this.blockUtil.desbloquear();\n this.router.navigate(['parametrosaida']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n cancel() {\n this.router.navigate(['parametrosaida']);\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ComunService } from '../../services/app.comum.service';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { ParametroSaida } from 'src/app/model/app.parametrosaida.model';\nimport { ParametrosSaidaService as ParametroSaidaService } from 'src/app/services/app.parametrossaida.service';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { ETipoDado } from 'src/app/constantes/app.etipodado.const';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n@Component({\n selector: 'app-parametro-saida',\n templateUrl: './parametrosaida.component.html',\n styleUrls: ['./parametrosaida.component.scss'],\n providers: [ParametroSaidaService]\n})\nexport class ParametroSaidaConsultaComponent extends ParmissoesPagina implements OnInit {\n public isMobile: boolean = false;\n public parametros$: Observable;\n public total$: Observable;\n public form: FormGroup;\n public eSituacao: ListItem[] = ESituacao.toList()\n public tipoDados: Observable;\n public pesquisaAvancadaAberta: boolean = false;\n\n \n public colsGrid: any = [\n {\n colKey: \"nome\",\n colName: \"Nome\"\n },\n {\n colKey: \"tipoDadoID\",\n colName: \"Tipo Dado\",\n type:\"string\",\n options:ETipoDado.toListAll()\n\n },\n {\n colKey: \"situacaoID\",\n colName: \"Situação\",\n type:'string',\n options:ESituacao.toListAll()\n },\n\n ]\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n public service: ParametroSaidaService,\n private toast: ToastUtil,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private comum: ComunService,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService\n ) {\n super(router.url, accountService);\n this.parametros$ = service.parametros$;\n this.total$ = service.total$;\n this.tipoDados = this.comum.ObterTipoDado();\n\n this.accountService.PermissionOnModel(router.url)\n .subscribe({\n next: permissoes => this.permissoes = permissoes\n });\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl(null),\n \n });\n\n this.breakpointObserver.observe([\n \"(max-width: 768px)\"\n ]).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true\n } else {\n this.isMobile = false\n }\n });\n }\n\n\n ngOnInit(): void {\n this.service.get({});\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column)\n header.direction = '';\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n \n this.service.get({\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: null,\n situacaoID: null,\n tipoDadoID: null,\n filtroGenerico:filtroGenerico?filtroGenerico:'',\n\n });\n }\n\n \n\n onView({ parametroSaidaID: parametroSaidaId }: any) {\n this.router.navigate(['parametrosaida/visualizar'], {\n queryParams: { parametroSaidaId }\n });\n }\n\n onEdit({ parametroSaidaID: parametroSaidaId }: any) {\n this.router.navigate(['parametrosaida/editar'], {\n queryParams: { parametroSaidaId }\n });\n }\n\n onDelete(data: ParametroSaida) {\n this.dialogModal.open({\n title: data.nome,\n text: `Você está prestes a remover este Parametro de Saída!
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoId = ESituacao.EXCLUIDO;\n this.service.putSituacao(data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Parâmetro de Saída Excluido com sucesso!\");\n this.blockUtil.desbloquear();\n },\n error: (erro: string) => {\n let exibirMensagemDeAtencao = erro.toString().includes('Atenção!');\n if (exibirMensagemDeAtencao)\n this.toast.showWarning(erro.toString().replace('Error:', ''), '');\n else\n this.toast.showDanger(erro);\n \n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n toInsert() {\n this.router.navigate(['parametrosaida/cadastro']);\n }\n pesquisaAvancada() {\n this.form.reset();\n\n this.pesquisaAvancadaAberta = true;\n }\n\n close() {\n this.pesquisaAvancadaAberta = false;\n this.search();\n\n\n }\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n\n this.search();\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Parâmetros de Saída
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Nome\n Tipo Dado\n Situação\n Ações
    \n \n \n \n \n \n \n \n \n \n
    \n\n \n Visualizar\n \n \n \n Editar\n \n \n \n Excluir\n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Parâmetros de Saída
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    Nome
    \n \n \n
    \n
    Condicionante
    \n \n \n
    \n
    Nome da Situação
    \n \n \n
    \n
    \n Ações\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { ParametroSaidaCadastroComponent } from './cadastro/parametrosaida.cadastro.component';\nimport { ParametroSaidaConsultaComponent } from './parametrosaida.component';\nimport { ParametroSaidaVisualizarComponent } from './visualizar/parametrosaida.visualizar.component';\nimport { ParametroSaidaEditarComponent } from './editar/parametrosaida.editar.component';\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { ComponentsModule } from \"src/app/components/components.module\";\n\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n NgbModule,\n DirectivesModule,\n ComponentsModule\n ],\n declarations: [\n ParametroSaidaConsultaComponent,\n ParametroSaidaCadastroComponent,\n ParametroSaidaVisualizarComponent,\n ParametroSaidaEditarComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ParametroSaidaModule { }\n","import { Routes } from '@angular/router';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { ParametroSaidaCadastroComponent } from './cadastro/parametrosaida.cadastro.component';\nimport { ParametroSaidaEditarComponent } from './editar/parametrosaida.editar.component';\nimport { ParametroSaidaConsultaComponent } from './parametrosaida.component';\nimport { ParametroSaidaVisualizarComponent } from './visualizar/parametrosaida.visualizar.component';\n\nexport const SaidaRoutes: Routes = [\n {\n path: 'parametrosaida',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ParametroSaidaConsultaComponent\n }\n ]\n },\n {\n path: 'parametrosaida/cadastro',\n component: MasterComponent,\n data: { permissao: EAcao.CADASTRAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ParametroSaidaCadastroComponent\n }\n ]\n },\n {\n path: 'parametrosaida/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ParametroSaidaVisualizarComponent\n }\n ]\n },\n {\n path: 'parametrosaida/editar',\n component: MasterComponent,\n data: { permissao: EAcao.ALTERAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: ParametroSaidaEditarComponent\n }\n ]\n }\n];\n","import { ParametrosSaidaService } from 'src/app/services/app.parametrossaida.service';\nimport { ParametroSaida } from '../../../model/app.parametrosaida.model';\nimport { Component } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-saida-visualizar',\n templateUrl: './parametrosaida.visualizar.component.html',\n styleUrls: ['./parametrosaida.visualizar.component.scss']\n})\nexport class ParametroSaidaVisualizarComponent {\n\n public data: ParametroSaida;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: ParametrosSaidaService,\n ) {\n const parametroSaidaId = +this.route.snapshot.queryParamMap.get(\"parametroSaidaId\");\n this.service.getById(parametroSaidaId)\n .subscribe({\n next: (data: any) => this.data = data,\n error: () => this.data = null\n });\n }\n\n voltar() {\n this.router.navigate(['parametrosaida']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.tipoDadoNome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.nome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.caminhoMapeado}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.situacaoNome}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraInclusao | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeInclusao}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraAlteracao | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeAlteracao}}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { PerfilService } from 'src/app/services/app.perfil.service';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { tap, map, filter } from 'rxjs/operators';\nimport { Modulo } from './../../../model/app.modulo.model';\nimport { EAcao } from './../../../constantes/app.eacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { PerfilValidator } from 'src/app/validators/perfil.validator';\nimport { ModuloPerfil } from 'src/app/model/app.moduloperfil.model';\n\n@Component({\n selector: 'app-perfil-cadastro',\n templateUrl: './perfil.cadastro.component.html',\n styleUrls: ['./perfil.cadastro.component.scss'],\n providers: [\n BlockUtil,\n PerfilService\n]\n})\nexport class PerfilCadastroComponent implements OnInit {\n\n public form: FormGroup;\n public acoes: ListItem[] = EAcao.toList();\n public modulos: Modulo[];\n public modulosPerfilAdicionados: ModuloPerfil[] = [];\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true\n };\n\n public moduloConfiguracao: IDropdownSettings = {\n ...this.configuracoesPadrao,\n textField: 'titulo',\n idField: 'moduloId'\n }\n\n public acaoConfiguracao: IDropdownSettings = {\n ...this.configuracoesPadrao,\n textField: 'nome',\n idField: 'acaoId'\n }\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private blockUtil: BlockUtil,\n private toast: ToastUtil,\n private comum: ComunService,\n private validator: PerfilValidator,\n public service: PerfilService,\n ) {\n this.blockUtil.blockName = \"cadastroPerfil\";\n this.comum.ObterModulosAtivos()\n .pipe(\n tap(modulos => this.modulos = modulos)\n ).subscribe();\n\n this.form = this.formBuilder.group({\n perfilId: new FormControl(null),\n nome: new FormControl(''),\n modulosSelecionados: new FormControl([]),\n acoesSelecionadas: new FormControl([]),\n modulosPerfil: new FormControl([])\n });\n }\n get possuiModulosSelecionados(): boolean { return !!this.form.controls.modulosSelecionados?.value.length; }\n get possuiModulosAdicionados(): boolean { return !!this.modulosPerfilAdicionados.length; }\n get possuiModulosEAcoesSelecionadas(): boolean { return this.possuiModulosSelecionados && !!this.form.controls.acoesSelecionadas?.value.length;}\n\n ngOnInit(): void {\n\n }\n\n adicionarModulos(){\n if(this.possuiModulosEAcoesSelecionadas){\n\n let modulosSelecionados = this.form.controls.modulosSelecionados?.value as Modulo[];\n let acoesSelecionadas = this.form.controls.acoesSelecionadas?.value;\n\n if(!this.modulosPerfilAdicionados.length){\n modulosSelecionados.forEach(mod => {\n const {moduloId, titulo } = mod;\n this.modulosPerfilAdicionados.push({moduloId, moduloTitulo:titulo, acoes: acoesSelecionadas} as ModuloPerfil);\n });\n }\n else{\n modulosSelecionados.forEach(modulo =>{\n const possuiModuloAdicionado = this.modulosPerfilAdicionados.some((moduloPerfil)=> moduloPerfil.moduloId === modulo.moduloId);\n if(!possuiModuloAdicionado){\n const {moduloId, titulo } = modulo;\n this.modulosPerfilAdicionados.push({moduloId, moduloTitulo:titulo, acoes: acoesSelecionadas} as ModuloPerfil);\n }\n else\n this.modulosPerfilAdicionados.forEach((item) => {\n if(item.moduloId === modulo.moduloId)\n item.acoes = acoesSelecionadas\n });\n });\n }\n this.form.patchValue({ modulosSelecionados: [], acoesSelecionadas: [] });\n }\n }\n\n retornaNomeAcao(acoes:any[]){\n return acoes.map(({nome})=> `${nome} `);\n }\n onEdit(moduloPerfil:any){\n const { moduloId, acoes} = moduloPerfil;\n const moduloSelecionado = this.modulos.find((modulo)=> modulo.moduloId === moduloId);\n this.form.patchValue({\n modulosSelecionados: [moduloSelecionado],\n acoesSelecionadas: acoes\n })\n }\n onDelete(item:any){\n var filter = this.modulosPerfilAdicionados.filter((moduloPerfil)=> item.moduloId !== moduloPerfil.moduloId);\n this.modulosPerfilAdicionados = filter;\n }\n onSubmit(){\n this.blockUtil.bloquear();\n\n this.form.patchValue({\n modulosPerfil: this.modulosPerfilAdicionados\n })\n\n this.validator.set = this.form;\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n }else {\n this.service.new(this.validator.perfil)\n .subscribe({\n next: (data) => {\n this.toast.showSuccess(data);\n\n this.blockUtil.desbloquear();\n this.clear();\n this.router.navigate(['perfil']);\n },\n error: (erro) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n cancel(){\n this.router.navigate(['perfil']);\n }\n\n clear() {\n this.form.patchValue({\n perfilId: null,\n nome: '',\n modulosSelecionados: [],\n acoesSelecionadas: [],\n modulosPerfil: []\n })\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    MenuPermissõesAções
    \n {{ moduloPerfil.moduloTitulo }}\n \n {{ retornaNomeAcao(moduloPerfil.acoes) }}\n \n
    \n \n \n
    \n
    \n \n Você ainda não possui nenhum menu adicionado.\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown/multiselect.model';\nimport { tap } from 'rxjs/operators';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Modulo } from 'src/app/model';\nimport { ModuloPerfil } from 'src/app/model/app.moduloperfil.model';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { PerfilService } from 'src/app/services/app.perfil.service';\nimport { PerfilValidator } from 'src/app/validators/perfil.validator';\n\n@Component({\n selector: 'app-perfil-editar',\n templateUrl: './perfil.editar.component.html',\n styleUrls: ['./perfil.editar.component.scss'],\n providers: [\n BlockUtil,\n PerfilService\n ]\n})\nexport class PerfilEditarComponent implements OnInit {\n\n public form: FormGroup;\n public acoes: ListItem[] = EAcao.toList();\n public modulos: Modulo[];\n public modulosPerfilAdicionados: ModuloPerfil[] = [];\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true\n };\n\n public moduloConfiguracao: IDropdownSettings = {\n ...this.configuracoesPadrao,\n textField: 'titulo',\n idField: 'moduloId'\n }\n\n public acaoConfiguracao: IDropdownSettings = {\n ...this.configuracoesPadrao,\n textField: 'nome',\n idField: 'acaoId'\n }\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private formBuilder: FormBuilder,\n private blockUtil: BlockUtil,\n private toast: ToastUtil,\n private comum: ComunService,\n private validator: PerfilValidator,\n public service: PerfilService,\n ) {\n this.blockUtil.blockName = \"atualizarPerfil\";\n this.comum.ObterModulosAtivos()\n .pipe(\n tap(modulos => this.modulos = modulos)\n ).subscribe();\n\n this.form = this.formBuilder.group({\n perfilId: new FormControl(null),\n nome: new FormControl(''),\n modulosSelecionados: new FormControl([]),\n acoesSelecionadas: new FormControl([]),\n modulosPerfil: new FormControl([])\n });\n\n const perfilId = +this.route.snapshot.queryParamMap.get(\"perfilId\");\n this.service.getById(perfilId)\n .subscribe((data: any) => {\n if (!data)\n return;\n\n const { nome, modulosPerfil, perfilId } = data;\n this.modulosPerfilAdicionados = modulosPerfil as ModuloPerfil[];\n this.form.patchValue({\n perfilId: perfilId,\n nome: nome\n });\n\n });\n }\n get possuiModulosSelecionados(): boolean { return !!this.form.controls.modulosSelecionados?.value.length; }\n get possuiModulosAdicionados(): boolean { return !!this.modulosPerfilAdicionados.length; }\n get possuiModulosEAcoesSelecionadas(): boolean { return this.possuiModulosSelecionados && !!this.form.controls.acoesSelecionadas?.value.length; }\n\n ngOnInit(): void {\n\n }\n\n adicionarModulos() {\n if (this.possuiModulosEAcoesSelecionadas) {\n\n let modulosSelecionados = this.form.controls.modulosSelecionados?.value as Modulo[];\n let acoesSelecionadas = this.form.controls.acoesSelecionadas?.value;\n\n if (!this.modulosPerfilAdicionados.length) {\n modulosSelecionados.forEach(mod => {\n const { moduloId, titulo } = mod;\n this.modulosPerfilAdicionados.push({ moduloId, moduloTitulo: titulo, acoes: acoesSelecionadas } as ModuloPerfil);\n });\n }\n else {\n modulosSelecionados.forEach(modulo => {\n const possuiModuloAdicionado = this.modulosPerfilAdicionados.some((moduloPerfil) => moduloPerfil.moduloId === modulo.moduloId);\n if (!possuiModuloAdicionado) {\n const { moduloId, titulo } = modulo;\n this.modulosPerfilAdicionados.push({ moduloId, moduloTitulo: titulo, acoes: acoesSelecionadas } as ModuloPerfil);\n }\n else\n this.modulosPerfilAdicionados.forEach((item) => {\n if (item.moduloId === modulo.moduloId)\n item.acoes = acoesSelecionadas\n });\n });\n }\n this.form.patchValue({ modulosSelecionados: [], acoesSelecionadas: [] });\n }\n }\n\n retornaNomeAcao(acoes: any[]) {\n return acoes.map(({ nome }) => `${nome} `);\n }\n\n onEdit(moduloPerfil: any) {\n const { moduloId, acoes } = moduloPerfil;\n const moduloSelecionado = this.modulos.find((modulo) => modulo.moduloId === moduloId);\n this.form.patchValue({\n modulosSelecionados: [moduloSelecionado],\n acoesSelecionadas: acoes\n })\n }\n\n onDelete(item: any) {\n var filter = this.modulosPerfilAdicionados.filter((moduloPerfil) => item.moduloId !== moduloPerfil.moduloId);\n this.modulosPerfilAdicionados = filter;\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.form.patchValue({\n modulosPerfil: this.modulosPerfilAdicionados\n })\n\n this.validator.set = this.form;\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.put(this.validator.perfil)\n .subscribe({\n next: (data) => {\n this.toast.showSuccess(data);\n\n this.blockUtil.desbloquear();\n this.clear();\n this.router.navigate(['perfil']);\n },\n error: (erro) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n cancel() {\n this.router.navigate(['perfil']);\n }\n\n clear() {\n this.form.patchValue({\n perfilId: null,\n nome: '',\n modulosSelecionados: [],\n acoesSelecionadas: [],\n modulosPerfil: []\n })\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    MenuPermissõesAções
    \n {{ moduloPerfil.moduloTitulo }}\n \n {{ retornaNomeAcao(moduloPerfil.acoes) }}\n \n
    \n \n \n
    \n
    \n \n Você ainda não possui nenhum menu adicionado.\n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ComunService } from '../../services/app.comum.service';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { ParametroSaida } from 'src/app/model/app.parametrosaida.model';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Perfil } from 'src/app/model/app.perfil.model';\nimport { PerfilService } from 'src/app/services/app.perfil.service';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n@Component({\n selector: 'app-perfil',\n templateUrl: './perfil.component.html',\n styleUrls: ['./perfil.component.scss'],\n providers: [\n PerfilService,\n DialogUtil,\n BlockUtil\n ]\n})\nexport class PerfilComponent extends ParmissoesPagina implements OnInit {\n\n public isMobile: boolean = false;\n public perfil$: Observable;\n public total$: Observable;\n public form: FormGroup;\n public eSituacao: ListItem[] = ESituacao.toList();\n public pesquisaAvancadaAberta: boolean = false;\n\n public colsGrid: any = [\n {\n colKey: \"nome\",\n colName: \"Nome\"\n },\n {\n colKey: \"situacaoID\",\n colName: \"Situação\",\n type:'string',\n options:ESituacao.toListAll()\n },\n \n ]\n\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n public service: PerfilService,\n private toast: ToastUtil,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService\n ) {\n super(router.url, accountService);\n this.perfil$ = service.perfil$;\n this.total$ = service.total$;\n\n this.accountService.PermissionOnModel(router.url)\n .subscribe({\n next: permissoes => this.permissoes = permissoes\n });\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl(null),\n \n });\n\n this.breakpointObserver.observe([\n \"(max-width: 768px)\"\n ]).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true\n } else {\n this.isMobile = false\n }\n });\n }\n\n ngOnInit(): void {\n this.service.get({});\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column)\n header.direction = '';\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n this.service.get({\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n situacaoID:'',\n filtroGenerico:filtroGenerico?filtroGenerico:''\n });\n }\n\n \n\n onView({ perfilId }: any) {\n this.router.navigate(['perfil/visualizar'], {\n queryParams: { perfilId }\n });\n }\n\n onEdit({ perfilId }: any) {\n this.router.navigate(['perfil/editar'], {\n queryParams: { perfilId }\n });\n }\n\n onDelete(data: Perfil) {\n this.dialogModal.open({\n title: data.nome,\n text: `Você está prestes a remover este Perfil !
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoId = ESituacao.EXCLUIDO;\n this.service.putSituacao(data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Perfil Excluido com sucesso!\");\n this.blockUtil.desbloquear();\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n toInsert() {\n this.router.navigate(['perfil/cadastro']);\n }\n\n pesquisaAvancada() {\n this.form.reset();\n\n this.pesquisaAvancadaAberta = true;\n }\n\n close() {\n this.pesquisaAvancadaAberta = false;\n this.search();\n\n\n }\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n\n this.search();\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Perfil
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Nome\n Situação\n Ações
    \n \n \n \n \n \n \n
    \n\n \n Visualizar\n \n \n Editar\n \n \n Excluir\n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Parâmetros de Saída
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n\n \n \n \n \n \n \n \n \n \n
    \n
    Nome
    \n \n \n
    \n
    Nome da Situação
    \n \n \n
    \n
    \n Ações\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { PerfilComponent } from '../perfil/perfil.component';\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { NgMultiSelectDropDownModule } from \"ng-multiselect-dropdown\";\nimport { PerfilCadastroComponent } from './cadastro/perfil.cadastro.component';\nimport { BlockUIModule } from 'ng-block-ui';\nimport { PerfilEditarComponent } from './editar/perfil.editar.component';\nimport { PerfilVisualizarComponent } from './visualizar/perfil.visualizar.component';\nimport { ComponentsModule } from \"src/app/components/components.module\";\n\n\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n BlockUIModule.forRoot(),\n ComponentsModule\n ],\n declarations: [\n PerfilComponent,\n PerfilCadastroComponent,\n PerfilEditarComponent,\n PerfilVisualizarComponent,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class PerfilModule { }\n","import { Routes } from '@angular/router';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { PerfilCadastroComponent } from './cadastro/perfil.cadastro.component';\nimport { PerfilEditarComponent } from './editar/perfil.editar.component';\nimport { PerfilComponent } from './perfil.component';\nimport { PerfilVisualizarComponent } from './visualizar/perfil.visualizar.component';\n\nexport const PerfilComponentRoutes: Routes = [\n {\n path: 'perfil',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: PerfilComponent\n }\n ]\n },\n {\n path: 'perfil/cadastro',\n component: MasterComponent,\n data: { permissao: EAcao.CADASTRAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: PerfilCadastroComponent\n }\n ]\n },\n {\n path: 'perfil/editar',\n component: MasterComponent,\n data: { permissao: EAcao.ALTERAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: PerfilEditarComponent\n }\n ]\n },\n {\n path: 'perfil/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: PerfilVisualizarComponent\n }\n ]\n },\n];\n","import { ModuloPerfil } from 'src/app/model/app.moduloperfil.model';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PerfilService } from 'src/app/services/app.perfil.service';\n\n@Component({\n selector: 'app-perfil-visualizar',\n templateUrl: './perfil.visualizar.component.html',\n styleUrls: ['./perfil.visualizar.component.scss'],\n providers: [\n PerfilService\n ]\n})\nexport class PerfilVisualizarComponent implements OnInit {\n\n public data: any;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: PerfilService\n ) {\n const perfilId = +this.route.snapshot.queryParamMap.get(\"perfilId\");\n this.service.getById(perfilId)\n .subscribe((data: any) => {\n if (!data)\n return;\n\n const {nome, modulosPerfil} = data;\n this.data = {nome, modulosPerfil};\n });\n }\n\n ngOnInit(): void {\n }\n\n voltar(){\n this.router.navigate(['perfil']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    {{data.nome}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    {{moduloPerfil.moduloTitulo}}
    \n
    \n
    \n
      \n \n
    • \n

      {{ acao.nome }}

      \n
    • \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { AccountService } from 'src/app/services/app.login.service';\nimport { EAcao } from '../constantes/app.eacao.const';\n\nexport class ParmissoesPagina {\n public permissoes: any = {};\n\n constructor(url: string, accountService: AccountService) {\n accountService.PermissionOnModel(url).subscribe({\n next: (permissoes) => (this.permissoes = permissoes),\n });\n }\n\n public get PodeCadastrar(): boolean {\n return !!this.permissoes[EAcao.toString(EAcao.CADASTRAR)];\n }\n public get PodeExcluir(): boolean {\n return !!this.permissoes[EAcao.toString(EAcao.EXCLUIR)];\n }\n public get PodeVisualizar(): boolean {\n return !!this.permissoes[EAcao.toString(EAcao.VISUALIZAR)];\n }\n public get PodeAlterar(): boolean {\n return !!this.permissoes[EAcao.toString(EAcao.ALTERAR)];\n }\n public get PodeCancelar(): boolean {\n return !!this.permissoes[EAcao.toString(EAcao.EXCLUIR)];\n }\n}\n","import { ListItem } from './../../../../interfaces/app.utilservices.interface';\nimport { InscricaoEstadualPipe } from './../../../../pipes/app.inscricaoestadual.pipe';\nimport { CpfPipe } from './../../../../pipes/app.cpf.pipe';\nimport { combineLatest, filter, take } from 'rxjs';\nimport { Component, OnInit } from '@angular/core';\nimport { FormArray, FormGroup, FormGroupDirective, UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { ModeloRegraService } from 'src/app/services/app.modeloregra.service';\nimport { Condicionante, FiltroEntrada, ParametroEntrada, Agrupador, Operador, ModeloRegra } from 'src/app/model';\nimport { CnpjPipe } from 'src/app/pipes/app.cnpj.pipe';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { EUF } from 'src/app/constantes/app.euf.const';\nimport { PlacaPipe } from 'src/app/pipes/app.placa.pipe';\nimport { FormControlUtil } from 'src/app/helper/app.tipocampo.utils';\nimport { Equipamento } from 'src/app/model/app.equipamentos.model';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\n\n@Component({\n selector: 'app-passo1modeloregra',\n templateUrl: './passo1modeloregra.component.html',\n styleUrls: ['./passo1modeloregra.component.scss'],\n providers: [\n ModeloRegraService,\n CpfPipe,\n CnpjPipe,\n PlacaPipe,\n InscricaoEstadualPipe,\n FormControlUtil\n ]\n})\nexport class Passo1ModeloRegraComponent implements OnInit {\n\n public form: FormGroup;\n public formParametro: FormArray;\n public formFiltro: FormArray;\n public condicionantes: Condicionante[] = [];\n public parametrosEntrada: ParametroEntrada[];\n public operadores: Operador[] = [];\n public agrupadores: Agrupador[] = [];\n public equipamentos: Equipamento[] = [];\n public filtrosEntrada: FiltroEntrada[];\n public modelosRegra: ModeloRegra[] = [];\n\n public ufs: ListItem[] = EUF.toList();\n\n constructor(\n private rootFormGroup: FormGroupDirective,\n private toast: ToastUtil,\n private comum: ComunService,\n private util: FormControlUtil,\n private blockUtil: BlockUtil\n ) {\n this.blockUtil.bloquear(\"modeloRegra\");\n\n combineLatest({\n operadores: this.comum.ObterOperadoresAtivos()\n .pipe(filter(operadores => !!operadores)),\n agrupadores: this.comum.ObterAgrupadoresAtivos()\n .pipe(filter(agrupadores => !!agrupadores)),\n modelosRegra: this.comum.ObterModelosConfiguradosParaSerExibidosNoCadatroDaRegra()\n .pipe(filter(modelosRegra => !!modelosRegra)),\n equipamentos: this.comum.ObterEquipamentos()\n .pipe(filter(equipamentos => !!equipamentos)),\n condicionantes: this.comum.ObterCondicionantesByExibeRegra()\n .pipe(filter(condicionantes => !!condicionantes))\n }).pipe(\n take(1),\n ).subscribe(({ operadores, agrupadores, modelosRegra, equipamentos, condicionantes }) => {\n operadores.forEach(operador => this.operadores.push(operador));\n agrupadores.forEach(agrupador => this.agrupadores.push(agrupador));\n equipamentos.forEach(equipamento => this.equipamentos.push(equipamento));\n modelosRegra.forEach(modeloRegra => this.modelosRegra.push(modeloRegra));\n condicionantes.forEach(condicionante => this.condicionantes.push(condicionante));\n this.blockUtil.desbloquear(\"modeloRegra\");\n });\n }\n\n get modeloDeRegraSelecionado(): boolean { return !!this.form.controls.modeloRegra?.value; }\n get possuiParametrosEntrada(): boolean { return !!this.formParametro.length; }\n get possuiFiltrosEntrada(): boolean { return !!this.formFiltro.length; }\n get modeloRegra(): ModeloRegra { return this.modelosRegra.filter(m => m.modeloRegraId == this.form.controls.modeloRegra?.value.modeloRegraId)[0]; }\n get condicionanteDomodeloDeRegraSelecionado(): string { return this.modelosRegra.filter(m => m.modeloRegraId == this.form.controls.modeloRegra?.value?.modeloRegraId)[0]?.condicionanteDescricao; }\n\n onSelectModeloRegra() {\n this.parametrosEntrada = this.modeloRegra?.parametrosEntrada;\n this.filtrosEntrada = this.modeloRegra?.filtrosEntrada;\n this.form.controls.modeloRegra.setValue(this.modeloRegra);\n this.formParametro.clear();\n this.formFiltro.clear();\n\n this.parametrosEntrada\n ?.filter(({ obrigatorio }) => obrigatorio)\n .map(parametro => Object.assign({}, parametro, { naoRemove: true }))\n .forEach(parametroSelecionado => {\n this.form.patchValue({ parametroSelecionado });\n this.onAddParametroEntrada();\n });\n\n this.filtrosEntrada\n ?.filter(({ obrigatorio }) => obrigatorio)\n .map(filtro => Object.assign({}, filtro, { naoRemove: true }))\n .forEach(filtroSelecionado => {\n this.form.patchValue({ filtroSelecionado });\n this.onAddFiltroEntrada();\n });\n }\n\n ngOnInit(): void {\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n this.formParametro = this.rootFormGroup.control.get('formParametro') as UntypedFormArray;\n this.formFiltro = this.rootFormGroup.control.get('formFiltro') as UntypedFormArray;\n }\n\n onAddParametroEntrada() {\n const parametro = this.form.controls.parametroSelecionado.value;\n if (!parametro)\n return;\n this.onAddFieldInForm(this.formParametro, parametro);\n this.form.patchValue({ parametroSelecionado: '' }, { emitEvent: false });\n }\n\n onAddFiltroEntrada() {\n const filtro = this.form.controls.filtroSelecionado.value;\n if (!filtro)\n return;\n this.onAddFieldInForm(this.formFiltro, filtro);\n this.form.patchValue({ filtroSelecionado: '' }, { emitEvent: false });\n }\n\n onAddFieldInForm(form: FormArray, item: any) {\n const { formControl, transform } = this.util.tipo[item.tipoDadoId];\n const campo = formControl({ item: { ...item }, transform, valor: '' });\n form.push(campo);\n }\n\n onRemoveFieldInFormParametro({ value }) {\n this.formParametro.removeAt(value);\n }\n\n onRemoveFieldInFormFiltro({ value }) {\n this.formFiltro.removeAt(value);\n }\n\n modeloeEtaConfiguradoComAQuintaCondicionante(): boolean {\n if (!this.form?.value?.condicionante?.modeloRegra?.estaConfiguradoComAQuintaCondicionante)\n return false;\n\n return this.form.value.condicionante.modeloRegra.estaConfiguradoComAQuintaCondicionante;\n }\n}\n","
    \n

    Selecione o Modelo da Regra

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n

    Condicionante

    \n \n
    \n
    \n

    Parâmetros de Entrada

    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n

    Filtros de Entrada

    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    ","import { ListItem } from '../../../../interfaces/app.utilservices.interface';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { ModeloRegraService } from 'src/app/services/app.modeloregra.service';\nimport { ETipoDestinatario } from 'src/app/constantes/app.etipodestinatario.const';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { UnidadeFiscal } from 'src/app/model/app.unidadefiscal.model';\nimport { TipoDestinatario } from 'src/app/model';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\n\n\n@Component({\n selector: 'app-passo2destinatario',\n templateUrl: './passo2destinatario.component.html',\n styleUrls: ['./passo2destinatario.component.scss'],\n providers: [\n ModeloRegraService\n ]\n})\nexport class Passo2DestinatarioComponent implements OnInit {\n\n public form: FormGroup;\n public tiposDestinatario: Array;\n public unidadesFiscais: UnidadeFiscal[] = [];\n public modalIsOpen: boolean = false;\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true,\n itemsShowLimit: 0,\n textField: 'descricao',\n idField: 'unidadeFiscalId'\n };\n\n public configuracoesUsuario: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true,\n itemsShowLimit: 0,\n textField: 'nome',\n idField: 'usuarioId'\n };\n\n constructor(\n private rootFormGroup: FormGroupDirective,\n private comum: ComunService,\n private blockUtil: BlockUtil,\n\n ) {\n this.blockUtil.blockName = \"destinatario\";\n this.comum.ObterTipoDestinatarioAtivos().subscribe(tiposDestinatarios => this.tiposDestinatario = tiposDestinatarios);\n }\n\n get getItems() {\n return this.unidadesFiscais.reduce((acc, curr) => {\n acc[curr.unidadeFiscalId] = curr;\n return acc;\n }, {});\n }\n\n get unidadesFiscaisSelecionadas(): UnidadeFiscal[] {\n const selecionadas = (this.form?.controls.unidades.value || []).map(({ unidadeFiscalId }) => unidadeFiscalId);\n if (!selecionadas.length)\n this.removeTodasUnidades();\n return this.unidadesFiscais.filter(({ unidadeFiscalId }) => selecionadas.includes(unidadeFiscalId));\n }\n\n ngOnInit(): void {\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n this.form.addControl('unidades', new UntypedFormControl([], Validators.required));\n\n this.form.controls.unidades.valueChanges\n .subscribe(unidades => this.autualizarFormControl(unidades));\n }\n\n tipoDestinatarioSelecionado() {\n let tipoDestino = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId;\n let regrasUnidadeFiscal = [];\n this.form.patchValue({ regrasUnidadeFiscal });\n let unidades = [];\n this.form.patchValue({ unidades });\n\n switch (tipoDestino) {\n case ETipoDestinatario.UNIDADE_FISCAL:\n this.obterUnidadesPorUsuario();\n break;\n case ETipoDestinatario.LOCALIZACAO:\n this.obterUnidadesMoveis();\n break;\n default:\n this.unidadesFiscais = [];\n }\n }\n\n obterUnidadesPorUsuario() {\n this.blockUtil.bloquear();\n\n this.comum.ObterTodasUnidadesFiscaisPorUsuario()\n .subscribe(unidadesFiscais => {\n this.unidadesFiscais = unidadesFiscais.map(unidadeFiscal => ({ ...unidadeFiscal }));\n this.blockUtil.desbloquear();\n });\n }\n\n obterUnidadesMoveis() {\n this.blockUtil.bloquear();\n\n this.comum.ObterUnidadesMoveis()\n .subscribe(unidadesFiscais => {\n this.unidadesFiscais = unidadesFiscais.map(unidadeFiscal => ({ ...unidadeFiscal }));\n this.blockUtil.desbloquear();\n });\n }\n\n removerUnidadeFiscal({ unidadeFiscalId, campoFiscais }: UnidadeFiscal) {\n const unidades = this.form.controls.unidades.value?.filter(unidade => unidade.unidadeFiscalId != unidadeFiscalId);\n this.form.patchValue({ unidades });\n this.form.removeControl(campoFiscais);\n }\n\n selecionarUnidade({ unidadeFiscalId }: UnidadeFiscal) {\n const { campoFiscais, subUnidades } = this.unidadesFiscais.find(unidade => unidade.unidadeFiscalId == unidadeFiscalId);\n this.form.addControl(campoFiscais, new UntypedFormControl(subUnidades, Validators.required));\n const unidades = this.form.controls.unidades.value || [];\n this.autualizarFormControl(unidades);\n this.form.controls[campoFiscais].valueChanges\n .subscribe(() => {\n const unidades = this.form.controls.unidades.value || [];\n this.autualizarFormControl(unidades);\n });\n }\n\n selecionarTodasUnidades(unidades: UnidadeFiscal[]) {\n for (const unidade of unidades)\n this.selecionarUnidade(unidade);\n }\n\n removerFiscalUnidade(_fiscal: UnidadeFiscal, campoFiscais: string) {\n const regrasFiscalUnidade = this.form.controls[campoFiscais].value?.filter(fiscal => _fiscal != fiscal);\n this.form.patchValue({ [campoFiscais]: regrasFiscalUnidade });\n }\n\n removeTodasUnidades() {\n this.unidadesFiscais.forEach(({ campoFiscais }) => this.form.removeControl(campoFiscais));\n const unidades = this.form.controls.unidades.value || [];\n this.autualizarFormControl(unidades);\n }\n\n onItemDeSelect({ unidadeFiscalId }: UnidadeFiscal) {\n this.form.removeControl(`fiscalUnidade${unidadeFiscalId}`);\n }\n\n autualizarFormControl(unidades: UnidadeFiscal[]) {\n let tipoDestinatario = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId;\n if (tipoDestinatario == ETipoDestinatario.UNIDADE_FISCAL) {\n const regrasUnidadeFiscal = unidades\n .reduce((final, { unidadeFiscalId }) => {\n (this.form?.controls[`fiscalUnidade${unidadeFiscalId}`]?.value || [])\n .forEach(usuario => final.push({ unidadeFiscalId, usuarioId: usuario.usuarioId }));\n return final;\n }, []);\n\n this.form.patchValue({ regrasUnidadeFiscal });\n } else {\n const regrasUnidadeFiscal = unidades\n .reduce((final, { unidadeFiscalId }) => {\n var usuarioId = undefined;\n final.push({ unidadeFiscalId, usuarioId })\n return final;\n }, []);\n\n this.form.patchValue({ regrasUnidadeFiscal });\n }\n }\n\n exibirUnidades(): boolean {\n let ehUnidadeFiscal = this.form.controls.tipoDestinatario?.value.tipoDestinatarioId == ETipoDestinatario.UNIDADE_FISCAL;\n let ehLocalizacao = this.form.controls.tipoDestinatario?.value.tipoDestinatarioId == ETipoDestinatario.LOCALIZACAO;\n\n return ehUnidadeFiscal || ehLocalizacao;\n }\n\n exibirUnidadesSelecionadas(): boolean {\n let ehUnidadeFiscal = this.form.controls.tipoDestinatario?.value.tipoDestinatarioId == ETipoDestinatario.UNIDADE_FISCAL;\n let ehLocalizacao = this.form.controls.tipoDestinatario?.value.tipoDestinatarioId == ETipoDestinatario.LOCALIZACAO;\n let foiSelecionadaUmaOuMaisUnidade = this.unidadesFiscaisSelecionadas.length > 0;\n return (ehUnidadeFiscal || ehLocalizacao) && foiSelecionadaUmaOuMaisUnidade;\n }\n\n exibirUsuarios(): boolean {\n let ehUnidadeFiscal = this.form.controls.tipoDestinatario?.value.tipoDestinatarioId == ETipoDestinatario.UNIDADE_FISCAL;\n return ehUnidadeFiscal;\n }\n}\n","
    \n

    Selecione os Destinatários

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n {{ unidade.nome }}\n \n \n
    \n
    \n
    \n
      \n
    • \n {{usuario.nome}}\n \n
    • \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n
    \n","import { Observable } from 'rxjs';\nimport { ComportamentoRegra } from './../../../../model/app.comportamentoregra.model';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective, UntypedFormGroup } from '@angular/forms';\nimport { ComunService } from 'src/app/services/app.comum.service';\n\n@Component({\n selector: 'app-passo3comportamento',\n templateUrl: './passo3comportamento.component.html',\n styleUrls: ['./passo3comportamento.component.scss']\n})\nexport class Passo3ComportamentoComponent implements OnInit {\n\n public form: FormGroup;\n public comportamentosRegra$: Observable;\n\n constructor(\n private rootFormGroup: FormGroupDirective,\n private comum: ComunService\n ) {\n this.comportamentosRegra$ = this.comum.ObterComportamentoRegraAtivos();\n }\n\n ngOnInit(): void {\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n }\n\n}\n","
    \n

    Selecione o comportamento do Alerta

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n","import { FormGroup, FormGroupDirective, UntypedFormGroup } from '@angular/forms';\nimport { Component, Injectable, OnInit } from '@angular/core';\nimport { NgbCalendar, NgbDateAdapter, NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\n\n/**\n * This Service handles how the date is represented in scripts i.e. ngModel.\n */\n@Injectable()\nexport class CustomAdapter extends NgbDateAdapter {\n readonly DELIMITER = '-';\n\n fromModel (value: string | null): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.DELIMITER);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10),\n };\n }\n return null;\n }\n\n toModel (date: NgbDateStruct | null): string | null {\n return date ? date.day + this.DELIMITER + date.month + this.DELIMITER + date.year : null;\n }\n}\n\n/**\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\n */\n@Injectable()\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\n readonly DELIMITER = '/';\n\n parse (value: string): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.DELIMITER);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10),\n };\n }\n return null;\n }\n\n format (date: NgbDateStruct | null): string {\n return date ? date.day + this.DELIMITER + date.month + this.DELIMITER + date.year : '';\n }\n}\n\n@Component({\n selector: 'app-passo4periodo',\n templateUrl: './passo4periodo.component.html',\n styleUrls: ['./passo4periodo.component.scss'],\n providers: [\n { provide: NgbDateAdapter, useClass: CustomAdapter },\n { provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter },\n ],\n})\nexport class Passo4PeriodoComponent implements OnInit {\n public form: FormGroup;\n public dataInicial = null;\n public horaInicial = { hour: 0, minute: 0, second: 0 };\n public dataFinal = null;\n public horaFinal = { hour: 0, minute: 0, second: 0 };\n\n constructor (\n private rootFormGroup: FormGroupDirective,\n private ngbCalendar: NgbCalendar,\n private dateAdapter: NgbDateAdapter\n ) {\n this.dataInicial = this.hoje;\n this.dataFinal = this.hoje;\n\n const dataAtual = new Date();\n this.horaInicial = { hour: dataAtual.getHours(), minute: dataAtual.getMinutes(), second: 0 };\n this.horaFinal = { hour: dataAtual.getHours() + 1, minute: dataAtual.getMinutes(), second: 0 };\n }\n\n get hoje () {\n return this.dateAdapter.toModel(this.ngbCalendar.getToday())!;\n }\n\n get I () {\n let dataHoraInicioVigencia = null;\n if (!String.isNullOrEmpty(this.dataInicial)) {\n let [dia, mes, ano] = this.dataInicial.split(/[//-]/g);\n let hora = 0,\n minuto = 0,\n segundo = 0;\n if (this.horaInicial) {\n hora = this.horaInicial.hour;\n minuto = this.horaInicial.minute;\n segundo = this.horaInicial.second;\n }\n\n dataHoraInicioVigencia = `${ano.padStart(4, '0')}-${mes.padStart(2, '0')}-${dia.padStart(2, '0')}T${hora\n .toString()\n .padStart(2, '0')}:${minuto.toString().padStart(2, '0')}:${segundo.toString().padStart(2, '0')}`;\n\n this.form.patchValue({\n dataHoraInicioVigencia,\n });\n }\n return dataHoraInicioVigencia;\n }\n\n get F () {\n let dataHoraFimVigencia = null;\n if (!String.isNullOrEmpty(this.dataFinal)) {\n const [dia, mes, ano] = this.dataFinal.split(/[//-]/g);\n let hora = 0,\n minuto = 0,\n segundo = 0;\n if (this.horaFinal) {\n hora = this.horaFinal.hour;\n minuto = this.horaFinal.minute;\n segundo = this.horaFinal.second;\n }\n\n dataHoraFimVigencia = `${ano.padStart(4, '0')}-${mes.padStart(2, '0')}-${dia.padStart(2, '0')}T${hora\n .toString()\n .padStart(2, '0')}:${minuto.toString().padStart(2, '0')}:${segundo.toString().padStart(2, '0')}`;\n\n this.form.patchValue({\n dataHoraFimVigencia,\n });\n }\n return dataHoraFimVigencia;\n }\n\n ngOnInit (): void {\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n }\n}\n","

    Selecione o Perído de Vigência

    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n\n \n
    \n
    \n \n \n
    \n
    \n\n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n","import { Component, OnInit, EventEmitter } from '@angular/core';\nimport { FormGroup, FormGroupDirective, UntypedFormGroup } from '@angular/forms';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\n\n@Component({\n selector: 'app-passo5justificativa',\n templateUrl: './passo5justificativa.component.html',\n styleUrls: ['./passo5justificativa.component.scss'],\n})\nexport class Passo5JustificativaComponent implements OnInit {\n public form: FormGroup;\n\n constructor (private rootFormGroup: FormGroupDirective, private toast: ToastUtil) {}\n\n ngOnInit (): void {\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n\n this.form.controls.justificativa.valueChanges.subscribe(valor => {\n if (valor) {\n this.form.controls.justificativa.setValue(valor, { emitEvent: false });\n if (this.form.controls.justificativa.dirty) {\n if (valor.length >= 300) {\n this.toast.showWarning('A quantidade máxima de caracteres foi atingida', 'Justificativa');\n }\n }\n }\n });\n }\n}\n","
    \n

    Descreva sua Justificativa

    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { Validators, FormBuilder, UntypedFormGroup, UntypedFormControl } from '@angular/forms';\nimport { NgbCalendar, NgbDate, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { Passo1RegraValidator } from 'src/app/validators/passo1regra.validator';\nimport { Passo2RegraValidator } from 'src/app/validators/passo2regra.validator';\nimport { Passo3RegraValidator } from 'src/app/validators/passo3regra.validator';\nimport { Passo4RegraValidator } from 'src/app/validators/passo4regra.validator';\nimport { RegraValidator } from 'src/app/validators/regra.validator';\nimport { RegraService } from 'src/app/services/app.regra.service';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { Router } from '@angular/router';\n\nenum EPasso {\n MODELO_REGRA = 0,\n DESTINATARIO = 1,\n COMPORTAMENTO = 2,\n PREIODO_VIGENCIA = 3,\n JUSTIFICATIVA = 4,\n}\n\n@Component({\n selector: 'app-wizard-stepform',\n templateUrl: './regra.cadastro.component.html',\n styleUrls: ['./regra.cadastro.component.scss'],\n providers: [BlockUtil, RegraService],\n})\nexport class RegraCadastroComponent implements OnInit {\n public regraForm: UntypedFormGroup;\n public passoAtual: EPasso = EPasso.MODELO_REGRA;\n public model: NgbDateStruct;\n public today: NgbDate;\n public time = null;\n private qtdePassos = Object.keys(EPasso).filter(value => isNaN(Number(value)) === false).length;\n private valorEtapaProgresso = 100 / this.qtdePassos;\n \n\n constructor(\n private router: Router,\n private calendar: NgbCalendar,\n private formBuilder: FormBuilder,\n private passo1Validator: Passo1RegraValidator,\n private passo2Validator: Passo2RegraValidator,\n private passo3Validator: Passo3RegraValidator,\n private passo4Validator: Passo4RegraValidator,\n private validator: RegraValidator,\n private service: RegraService,\n private blockUtil: BlockUtil,\n private toast: ToastUtil\n ) {\n this.blockUtil.blockName = 'regra';\n }\n\n get progressValue(): number {\n return (this.passoAtual + 1) * this.valorEtapaProgresso;\n }\n\n get ehModeloRegra(): boolean {\n return this.passoAtual == EPasso.MODELO_REGRA;\n }\n get ehDestinatario(): boolean {\n return this.passoAtual == EPasso.DESTINATARIO;\n }\n get ehComportamento(): boolean {\n return this.passoAtual == EPasso.COMPORTAMENTO;\n }\n get ehPeriodoVigencia(): boolean {\n return this.passoAtual == EPasso.PREIODO_VIGENCIA;\n }\n get ehJustificativa(): boolean {\n return this.passoAtual == EPasso.JUSTIFICATIVA;\n }\n get jaPassouModeloRegra(): string {\n return this.passoAtual >= EPasso.MODELO_REGRA ? 'active' : 'inactive';\n }\n get jaPassouDestinatario(): string {\n return this.passoAtual >= EPasso.DESTINATARIO ? 'active' : 'inactive';\n }\n get jaPassouComportamento(): string {\n return this.passoAtual >= EPasso.COMPORTAMENTO ? 'active' : 'inactive';\n }\n get jaPassouPeriodoVigencia(): string {\n return this.passoAtual >= EPasso.PREIODO_VIGENCIA ? 'active' : 'inactive';\n }\n get jaPassouJustificativa(): string {\n return this.passoAtual >= EPasso.JUSTIFICATIVA ? 'active' : 'inactive';\n }\n\n ngOnInit() {\n this.today = this.calendar.getToday();\n this.regraForm = this.formBuilder.group({\n modeloRegra: new UntypedFormControl('', Validators.required),\n condicionante: new UntypedFormControl('', Validators.required),\n parametroSelecionado: new UntypedFormControl(''),\n filtroSelecionado: new UntypedFormControl(''),\n regrasParametroEntrada: new UntypedFormControl([]),\n regrasFiltroEntrada: new UntypedFormControl([]),\n tipoDestinatario: new UntypedFormControl('', Validators.required),\n regrasUnidadeFiscal: new UntypedFormControl([]),\n comportamentoRegra: new UntypedFormControl('', Validators.required),\n dataHoraInicioVigencia: new UntypedFormControl(null, Validators.required),\n dataHoraFimVigencia: new UntypedFormControl(null, [Validators.required]),\n regraDoTipoCustomizada: new UntypedFormControl(false, [Validators.required]),\n justificativa: new UntypedFormControl(null, {\n updateOn: 'change',\n nonNullable: true,\n validators: [Validators.required, Validators.minLength(20), Validators.maxLength(300)],\n }),\n\n formParametro: this.formBuilder.array([]),\n formFiltro: this.formBuilder.array([]),\n });\n }\n\n onNext() {\n this.cleanFormSelectedOnNext();\n\n if (this.passoAtual == EPasso.MODELO_REGRA) {\n this.passo1Validator.set = this.regraForm;\n if (!this.passo1Validator.isValid) return this.passo1Validator.showMessages();\n } else if (this.passoAtual == EPasso.DESTINATARIO) {\n this.passo2Validator.set = this.regraForm;\n if (!this.passo2Validator.isValid) return this.passo2Validator.showMessages();\n } else if (this.passoAtual == EPasso.COMPORTAMENTO) {\n this.passo3Validator.set = this.regraForm;\n if (!this.passo3Validator.isValid) return this.passo3Validator.showMessages();\n } else if (this.passoAtual == EPasso.PREIODO_VIGENCIA) {\n this.passo4Validator.set = this.regraForm;\n if (!this.passo4Validator.isValid) return this.passo4Validator.showMessages();\n }\n if (this.passoAtual != EPasso.JUSTIFICATIVA) this.passoAtual++;\n }\n\n private cleanFormSelectedOnNext(){\n this.regraForm.patchValue({ filtroSelecionado: '' }, { emitEvent: false });\n }\n\n onPrevious() {\n if (this.passoAtual != EPasso.MODELO_REGRA) this.passoAtual--;\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.regraForm;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.new(this.validator.regra).subscribe({\n next: data => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.router.navigate(['regra']);\n },\n error: erro => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n },\n });\n }\n }\n\n onCancel() {\n this.router.navigate(['regra']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    Complete as etapas para inserir uma Regra
    \n
    \n
    \n
    \n
    \n
    \n \n
      \n
    • Modelo de Regra
    • \n
    • Destinatários
    • \n
    • Comportamento do Alerta
    • \n
    • Período de Vigência\n
    • \n
    • Justificativa
    • \n
    \n

    \n \n \n

    \n \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n
    \n
    \n
    \n
    \n\n\n\n
    ","import { Passo2DestinatarioComponent } from './passo2destinatario/passo2destinatario.component';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { RegraCadastroComponent } from \"./regra.cadastro.component\";\nimport { Passo1ModeloRegraComponent } from \"./passo1modeloregra/passo1modeloregra.component\";\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { Passo3ComportamentoComponent } from './passo3comportamento/passo3comportamento.component';\nimport { Passo4PeriodoComponent } from './passo4periodo/passo4periodo.component';\nimport { Passo5JustificativaComponent } from './passo5justificativa/passo5justificativa.component';\nimport { ComumModule } from '../comum/comum.module';\nimport { BlockUIModule } from 'ng-block-ui';\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n ComumModule,\n BlockUIModule.forRoot(),\n ],\n declarations: [\n RegraCadastroComponent,\n Passo1ModeloRegraComponent,\n Passo2DestinatarioComponent,\n Passo3ComportamentoComponent,\n Passo4PeriodoComponent,\n Passo5JustificativaComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class RegraCadastroModule { }\n","import { UntypedFormControl, FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { Agrupador, Operador } from 'src/app/model';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { EUF } from 'src/app/constantes/app.euf.const';\nimport { Equipamento } from 'src/app/model/app.equipamentos.model';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\n\n\n@Component({\n selector: 'app-campo',\n templateUrl: './campo.component.html',\n styleUrls: ['./campo.component.scss']\n})\nexport class CampoComponent implements OnInit {\n\n public form: FormGroup;\n public ufs: ListItem[] = EUF.toList();\n\n @Input() campo: UntypedFormControl;\n @Input() index: number;\n private _ehEdicao: boolean = false;\n @Input() set ehEdicao(_ehEdicao: string) {\n if (_ehEdicao == \"\")\n this._ehEdicao = true;\n };\n @Input() set ultimo(indexUltimo: number) {\n this.campo.value.ehUltimo = indexUltimo == this.index;\n };\n @Input() operadores: Operador[];\n @Input() agrupadores: Agrupador[];\n @Input() equipamentos: Equipamento[];\n\n @Output() deleteItem = new EventEmitter();\n\n @ViewChild('campo') input: { nativeElement: { value: any; }; };\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: true,\n allowSearchFilter: true,\n textField: 'nome',\n itemsShowLimit: 1,\n closeDropDownOnSelection: true\n };\n\n public configCampo: IDropdownSettings = {\n ...this.configuracoesPadrao,\n idField: 'identificadorDoEquipamento',\n }\n\n public configLocal: IDropdownSettings = {\n ...this.configuracoesPadrao,\n idField: 'localId',\n }\n\n constructor(\n private formBuilder: FormBuilder\n ) {\n this.form = this.formBuilder.group({\n operador: new UntypedFormControl('', Validators.required),\n agrupador: new UntypedFormControl('', Validators.required),\n campo: new FormControl([]),\n localId: new UntypedFormControl([]),\n sentidoDaLeitura: new UntypedFormControl('')\n }, { updateOn: 'change' });\n }\n\n get item(): any { return this.campo.value?.item || {}; }\n get ehUltimo(): any { return this.campo.value.ehUltimo || false; }\n get transform(): any { return this.campo.value.transform || ((valor: any) => valor); }\n get ehObrigatorio(): any { return !!this.item.naoRemove; }\n\n get ehCpf(): boolean { return this.item.tipoDadoNome === 'CPF'; }\n get ehTexo(): boolean { return this.item.tipoDadoNome === 'TEXTO'; }\n get ehInteiro(): boolean { return this.item.tipoDadoNome === 'INTEIRO'; }\n get ehDecimal(): boolean { return this.item.tipoDadoNome === 'DECIMAL'; }\n get ehDatahora(): boolean { return this.item.tipoDadoNome === 'DATAHORA'; }\n get ehCnpj(): boolean { return this.item.tipoDadoNome === 'CNPJ'; }\n get ehIncricaoEstadual(): boolean { return this.item.tipoDadoNome === 'INSCRIÇÃO ESTADUAL'; }\n get ehPlaca(): boolean { return this.item.tipoDadoNome === 'PLACA'; }\n get ehUF(): boolean { return this.item.tipoDadoNome === 'UF'; }\n get ehEquipamentos(): boolean { return this.item.tipoDadoNome === 'EQUIPAMENTOS'; }\n\n get localId(): number {\n if (typeof this.form.controls.localId.value == \"number\")\n return this.form.controls.localId.value;\n return this.form.controls.localId.value?.at(0)?.localId;\n }\n get sentidoDaLeitura(): string { return this.form.controls.sentidoDaLeitura.value; }\n\n get localIdSelecionado(): boolean { return !!this.localId; }\n get sentidoDaLeituraSelecionado(): any { return !!this.sentidoDaLeitura; }\n\n get locais(): ListItem[] {\n return this.equipamentos?.reduce((final, { localId, local }) => {\n if (!final.some(local => local.localId === localId))\n final.push({ localId, nome: local?.nome });\n return final;\n }, []);\n }\n\n get sentidosDaLeitura(): ListItem[] {\n return this.equipamentos\n ?.filter(({ localId }) => localId == this.localId)\n .reduce((final, { sentidoDaLeitura }) => {\n if (!final.some(sentido => sentido.nome === sentidoDaLeitura))\n final.push({ nome: sentidoDaLeitura });\n return final;\n }, []);\n }\n\n get equipamentosFiltrados(): Equipamento[] {\n return this.equipamentos?.filter(equipamento => (!this.localId || equipamento.localId == this.localId) && (!this.sentidoDaLeitura || equipamento.sentidoDaLeitura == this.sentidoDaLeitura)) || [];\n }\n\n ngOnInit(): void {\n this.form.controls.campo.addValidators(this.campo.validator);\n if (this.transform)\n this.form.controls.campo\n .valueChanges\n .subscribe(value => {\n const ehTexto = typeof value === \"string\";\n const ehObjeto = typeof value === \"object\";\n let valorCampoTela = value;\n if (this.ehEquipamentos) {\n if (ehTexto)\n valorCampoTela = this.equipamentos.filter(({ identificadorDoEquipamento }) => identificadorDoEquipamento == value);\n } else\n valorCampoTela = value = this.transform(value);\n if (this._ehEdicao)\n this.form.patchValue({ campo: valorCampoTela }, { emitEvent: false });\n\n if (this.ehEquipamentos && typeof valorCampoTela === \"object\")\n valorCampoTela = valorCampoTela.at(0)?.identificadorDoEquipamento;\n\n if (this.ehCnpj || this.ehCpf)\n valorCampoTela = this.somenteNumeros(valorCampoTela)\n\n if (this.ehPlaca || this.ehIncricaoEstadual)\n valorCampoTela = this.letrasENumerosSemCaracteresEspeciaisSemAcentuacao(valorCampoTela);\n\n this.campo.patchValue({\n ...this.campo.value,\n valor: valorCampoTela,\n ehValido: !this.form.controls.campo.invalid\n }, { emitEvent: false });\n });\n this.form.controls.operador.valueChanges\n .subscribe(_value => this.campo.patchValue({ ...this.campo.value, operador: _value, ehValido: !this.form.controls.campo.invalid }, { emitEvent: false }));\n this.form.controls.agrupador.valueChanges\n .subscribe(_value => this.campo.patchValue({ ...this.campo.value, agrupador: _value, ehValido: !this.form.controls.campo.invalid }, { emitEvent: false }));\n\n let operador = this.operadores.find(({ operadorId }) => operadorId == this.campo.value.operador?.operadorId);\n if (!operador)\n operador = this.operadores.find(({ operadorId }) => operadorId == this.campo.value.operadorId);\n let agrupador = this.agrupadores.find(({ agrupadorId }) => agrupadorId == this.campo.value.agrupador?.agrupadorId);\n if (!agrupador)\n agrupador = this.agrupadores.find(({ agrupadorId }) => agrupadorId == this.campo.value.agrupadorId);\n let equipamento = this.equipamentos.find(({ identificadorDoEquipamento }) => identificadorDoEquipamento == this.campo.value?.valor);\n\n let localId = null;\n if (this.ehEquipamentos)\n localId = this.locais.filter(({ localId }) => localId == equipamento?.localId ?? null);\n\n this.form.patchValue({\n operador: operador || this.operadores.at(0),\n agrupador: agrupador || this.agrupadores.at(0),\n campo: this.campo.value?.valor,\n localId,\n sentidoDaLeitura: equipamento?.sentidoDaLeitura ?? ''\n });\n }\n\n onChangeLocal() {\n this.form.patchValue({ sentidoDaLeitura: '' });\n this.form.patchValue({ campo: '' });\n }\n\n onChangeSentido() {\n this.form.patchValue({ campo: '' });\n }\n\n onRemoveFieldInForm() {\n this.deleteItem.emit({ value: this.index });\n }\n\n formatarValor() {\n if (!this.form.controls.campo.value)\n return;\n\n this.form.patchValue({\n campo: this.tratarValor(this.form.controls.campo.value.toUpperCase())\n });\n }\n\n private tratarValor(valor: any): any {\n switch (true) {\n case this.ehCpf:\n return this.mascaraParaCPF(valor);\n case this.ehTexo:\n return this.letrasENumerosSemCaracteresEspeciais(valor);\n case this.ehInteiro:\n case this.ehDecimal:\n return this.somenteNumeros(valor);\n case this.ehCnpj:\n return this.mascaraParaCNPJ(valor);\n case this.ehPlaca:\n case this.ehIncricaoEstadual:\n return this.letrasENumerosSemCaracteresEspeciaisSemAcentuacao(valor);\n default:\n return valor;\n }\n }\n\n private somenteNumeros(valor: any): any {\n if (!valor)\n return null;\n\n return valor.replace(/[^0-9]/g, '');\n }\n\n private somenteLetras(valor: any): any {\n return valor.replace(/[^0-9]/g, '');\n }\n\n private letrasENumerosSemCaracteresEspeciaisSemAcentuacao(valor: any): any {\n if (!valor)\n return null;\n\n return valor.replace(/[^a-zA-Z0-9]/g, '');\n }\n\n private letrasENumerosSemCaracteresEspeciais(valor: any): any {\n if (!valor)\n return null;\n\n return valor.replace(/[^a-zA-ZÀ-úçÇ 0-9]/g, '');\n }\n\n private mascaraParaCPF(cpf: any): any {\n if (!cpf)\n return null;\n\n cpf = cpf.replace(/\\D/g, \"\");\n cpf = cpf.replace(/^(\\d{3})/g, \"$1.\");\n cpf = cpf.replace(/(\\d{3})(\\d{3})/g, \"$1.$2-\");\n return cpf;\n }\n\n private mascaraParaCNPJ(cnpj: any): any {\n if (!cnpj)\n return null;\n\n cnpj = cnpj.replace(/\\D/g, \"\");\n cnpj = cnpj.replace(/^(\\d{2})/g, \"$1.\");\n cnpj = cnpj.replace(/(\\d{3})(\\d{3})(\\d{4})/g, \"$1.$2/$3-\");\n return cnpj;\n }\n}\n","
    \n
    \n
    \n \n {{ item.nome }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Local\n \n \n
    \n
    \n Sentido\n \n
    \n
    \n {{ item.nome }}\n \n \n
    \n \n \n
    \n
    \n
    ","import { CampoComponent } from './campo/campo.component';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { ComponentsModule } from 'src/app/components/components.module';\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n ComponentsModule,\n ],\n declarations: [\n CampoComponent\n ],\n exports: [\n CampoComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class ComumModule { }\n","import { ListItem } from './../../../../interfaces/app.utilservices.interface';\nimport { filter, map, take } from 'rxjs/operators';\nimport { FiltroEntrada } from 'src/app/model/app.filtroentrada.model';\nimport { ParametroEntrada } from 'src/app/model/app.parametroentrada.model';\nimport { combineLatest } from 'rxjs';\nimport { Component, OnInit } from '@angular/core';\nimport { FormArray, FormGroup, FormGroupDirective, UntypedFormArray, UntypedFormGroup } from '@angular/forms';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { ModeloRegraService } from 'src/app/services/app.modeloregra.service';\nimport { Agrupador, Condicionante, ModeloRegra, Operador } from 'src/app/model';\nimport { RegraService } from 'src/app/services/app.regra.service';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { CpfPipe } from 'src/app/pipes/app.cpf.pipe';\nimport { CnpjPipe } from 'src/app/pipes/app.cnpj.pipe';\nimport { InscricaoEstadualPipe } from 'src/app/pipes/app.inscricaoestadual.pipe';\nimport { EUF } from 'src/app/constantes/app.euf.const';\nimport { PlacaPipe } from 'src/app/pipes/app.placa.pipe';\nimport { FormControlUtil } from 'src/app/helper/app.tipocampo.utils';\nimport { Equipamento } from 'src/app/model/app.equipamentos.model';\n\n@Component({\n selector: 'app-passo1modeloregra',\n templateUrl: './passo1modeloregra.component.html',\n styleUrls: ['./passo1modeloregra.component.scss'],\n providers: [\n ModeloRegraService,\n RegraService,\n BlockUtil,\n CpfPipe,\n CnpjPipe,\n InscricaoEstadualPipe,\n PlacaPipe,\n FormControlUtil\n ]\n})\nexport class Passo1ModeloRegraComponent implements OnInit {\n\n public form: FormGroup;\n public formParametro: FormArray = new FormArray([]);\n public formFiltro: FormArray = new FormArray([]);\n public modelosRegra: ModeloRegra[];\n public condicionantes: Condicionante[] = [];\n public parametrosEntrada: ParametroEntrada[];\n public filtrosEntrada: FiltroEntrada[];\n public operadores: Operador[] = [];\n public agrupadores: Agrupador[] = [];\n public equipamentos: Equipamento[] = [];\n public ieDoMs: boolean = null;\n public ufs: ListItem[] = EUF.toList();\n\n constructor(\n private rootFormGroup: FormGroupDirective,\n private comum: ComunService,\n private blockUtil: BlockUtil,\n private util: FormControlUtil,\n ) {\n this.blockUtil.blockName = \"modeloRegra\";\n }\n\n get modeloDeRegraSelecionado(): boolean { return !!this.form.controls.modeloRegra?.value; } \n get possuiParametrosEntrada(): boolean { return !!this.formParametro.length; }\n get possuiFiltrosEntrada(): boolean { return !!this.formFiltro.length; }\n get modeloRegra(): ModeloRegra { return this.form.controls.modeloRegra?.value; }\n get condicionanteDomodeloDeRegraSelecionado(): string { return this.modelosRegra.filter(m => m.modeloRegraId == this.form.controls.modeloRegra?.value?.modeloRegraId)[0]?.condicionanteDescricao; }\n\n onAddParametroEntrada() {\n const parametro = this.form.controls.parametroSelecionado.value;\n if (!parametro)\n return;\n this.onAddFieldInForm(this.formParametro, parametro);\n this.form.patchValue({ parametroSelecionado: '' }, { emitEvent: false });\n }\n\n onAddFiltroEntrada() {\n const filtro = this.form.controls.filtroSelecionado.value;\n if (!filtro)\n return;\n this.onAddFieldInForm(this.formFiltro, filtro);\n this.form.patchValue({ filtroSelecionado: '' }, { emitEvent: false });\n }\n\n onAddFieldInForm(form: FormArray, item: any) {\n const { formControl, transform } = this.util.tipo[item.tipoDadoId];\n const campo = formControl({ item: { ...item }, transform, valor: '' });\n form.push(campo);\n }\n\n ngOnInit(): void {\n this.blockUtil.bloquear();\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n \n const form = this.form.values();\n combineLatest({\n operadores: this.comum.ObterOperadoresAtivos()\n .pipe(filter(operadores => !!operadores)),\n agrupadores: this.comum.ObterAgrupadoresAtivos()\n .pipe(filter(agrupadores => !!agrupadores)),\n modeloRegra: form\n .pipe(\n map(({ modeloRegra }) => modeloRegra),\n filter(modeloRegra => !!modeloRegra)\n ),\n equipamentos: this.comum.ObterEquipamentos()\n .pipe(filter(equipamentos => !!equipamentos))\n })\n .pipe(\n take(1),\n )\n .subscribe(({ operadores, agrupadores, modeloRegra, equipamentos }) => {\n const { condicionanteId, condicionanteDescricao: descricao } = modeloRegra;\n const condicionante = new Condicionante({ condicionanteID: condicionanteId, descricao });\n this.form.patchValue({ condicionante }, { emitEvent: false });\n this.form.patchValue({ modeloRegra }, { emitEvent: false });\n this.condicionantes = [condicionante];\n this.modelosRegra = [modeloRegra];\n this.parametrosEntrada = modeloRegra?.parametrosEntrada;\n this.filtrosEntrada = modeloRegra?.filtrosEntrada;\n\n operadores.forEach(operador => this.operadores.push(operador));\n agrupadores.forEach(agrupador => this.agrupadores.push(agrupador));\n equipamentos.forEach(equipamento => this.equipamentos.push(equipamento));\n this.formParametro = this.rootFormGroup.control.get('formParametro') as UntypedFormArray;\n this.formFiltro = this.rootFormGroup.control.get('formFiltro') as UntypedFormArray;\n this.blockUtil.desbloquear();\n });\n }\n\n onRemoveFieldInFormParametro({ value }) {\n this.formParametro.removeAt(value);\n }\n\n onRemoveFieldInFormFiltro({ value }) {\n this.formFiltro.removeAt(value);\n }\n}\n","
    \n

    Selecione o Modelo da Regra

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n

    Condicionante

    \n \n
    \n
    \n

    Parâmetros de Entrada

    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n

    Filtros de Entrada

    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    ","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { ModeloRegraService } from 'src/app/services/app.modeloregra.service';\nimport { ETipoDestinatario } from 'src/app/constantes/app.etipodestinatario.const';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { Unidade, UnidadeFiscal } from 'src/app/model/app.unidadefiscal.model';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { TipoDestinatario } from 'src/app/model/app.tipodestinatario.model';\n\n@Component({\n selector: 'app-passo2destinatario',\n templateUrl: './passo2destinatario.component.html',\n styleUrls: ['./passo2destinatario.component.scss'],\n providers: [\n ModeloRegraService,\n BlockUtil\n ]\n})\nexport class Passo2DestinatarioComponent implements OnInit {\n\n public form: FormGroup;\n public tiposDestinatario: Array;\n private tipoDestinatarioCadastrado: number;\n public unidadesFiscais: UnidadeFiscal[] = [];\n public demaisUnidadesFiscaisSelecionadas: UnidadeFiscal[];\n public unidadesFiscaisMoveisSelecionadas: UnidadeFiscal[];\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true,\n itemsShowLimit: 0,\n textField: 'descricao',\n idField: 'unidadeFiscalId'\n };\n\n public configuracoesUsuario: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true,\n itemsShowLimit: 0,\n textField: 'nome',\n idField: 'usuarioId'\n };\n\n constructor(\n private rootFormGroup: FormGroupDirective,\n private comum: ComunService,\n private blockUtil: BlockUtil,\n ) {\n this.blockUtil.blockName = \"destinatario\";\n this.comum.ObterTodasUnidadesFiscaisPorUsuario()\n .subscribe(unidadesFiscais => this.unidadesFiscais = unidadesFiscais);\n }\n\n get getItems() {\n return this.unidadesFiscais.reduce((acc, curr) => {\n acc[curr.unidadeFiscalId] = curr;\n return acc;\n }, {});\n }\n\n get unidadesFiscaisSelecionadas(): UnidadeFiscal[] {\n let selecionadas = (this.form?.controls.unidades.value || []).map(({ unidadeFiscalId }) => unidadeFiscalId);\n let tipoDestinatario = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId;\n\n switch (tipoDestinatario) {\n case ETipoDestinatario.UNIDADE_FISCAL:\n if (this.demaisUnidadesFiscaisSelecionadas)\n selecionadas = this.demaisUnidadesFiscaisSelecionadas.map(({ unidadeFiscalId }) => unidadeFiscalId);\n break;\n case ETipoDestinatario.LOCALIZACAO:\n if (this.unidadesFiscaisMoveisSelecionadas)\n selecionadas = this.unidadesFiscaisMoveisSelecionadas.map(({ unidadeFiscalId }) => unidadeFiscalId);\n break;\n default:\n selecionadas = [];\n }\n\n if (selecionadas.length)\n return this.unidadesFiscais.filter(({ unidadeFiscalId }) => selecionadas.includes(unidadeFiscalId));\n else\n return [];\n }\n\n ngOnInit(): void {\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n this.form.addControl('unidades', new UntypedFormControl([], Validators.required));\n\n this.comum.ObterTipoDestinatarioAtivos().subscribe(tiposDestinatarios => {\n this.tiposDestinatario = tiposDestinatarios\n\n let tipoDestino = this.form.controls.tipoDestinatario?.value;\n this.tipoDestinatarioCadastrado = tipoDestino;\n tipoDestino = typeof tipoDestino == \"object\" ? tipoDestino.tipoDestinatarioId : tipoDestino;\n this.tipoDestinatarioCadastrado = tipoDestino;\n\n const tipoDestinatario = this.tiposDestinatario.find(tipo => tipo.tipoDestinatarioId == tipoDestino);\n if (tipoDestinatario)\n this.form.patchValue({ tipoDestinatario }, { emitEvent: false })\n\n switch (tipoDestino) {\n case ETipoDestinatario.UNIDADE_FISCAL:\n this.obterUnidadesPorUsuario();\n break;\n case ETipoDestinatario.LOCALIZACAO:\n this.obterUnidadesMoveis();\n break;\n default:\n this.unidadesFiscais = [];\n }\n });\n }\n\n tipoDestinatarioSelecionado() {\n let tipoDestino = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId;\n let regrasUnidadeFiscal = [];\n this.form.patchValue({ regrasUnidadeFiscal });\n\n switch (tipoDestino) {\n case ETipoDestinatario.UNIDADE_FISCAL:\n this.obterUnidadesPorUsuario();\n break;\n case ETipoDestinatario.LOCALIZACAO:\n this.obterUnidadesMoveis();\n break;\n default:\n this.unidadesFiscais = [];\n }\n }\n\n obterUnidadesPorUsuario() {\n this.blockUtil.bloquear();\n this.comum.ObterTodasUnidadesFiscaisPorUsuario()\n .subscribe(unidadesFiscais => {\n this.unidadesFiscais = unidadesFiscais.map(unidadeFiscal => ({ ...unidadeFiscal }));\n let unidades = this.unidadesFiscais\n .filter(({ unidadeFiscalId }) => regrasUnidades.some(regraUnidade => regraUnidade.unidadeFiscalId == unidadeFiscalId))\n .map(unidade => {\n const unidadeFiscal = this.unidadesFiscais.find(({ unidadeFiscalId }) => unidadeFiscalId == unidade.unidadeFiscalId);\n unidade.usuarios.forEach(usuario => {\n const { regraUnidadeFiscalId } = regrasUnidades.find(({ usuarioId }) => usuarioId == usuario.usuarioId) || {};\n usuario.regraUnidadeFiscalId = regraUnidadeFiscalId;\n });\n const regrasFiscalUnidade = unidade.usuarios\n .filter(({ usuarioId }) => regrasUnidades.some(regraUnidade => regraUnidade.usuarioId == usuarioId));\n this.form.addControl(unidadeFiscal.campoFiscais, new UntypedFormControl(regrasFiscalUnidade, Validators.required));\n this.form.controls[unidadeFiscal.campoFiscais].valueChanges\n .subscribe(() => {\n const unidades = this.form.controls.unidades.value || [];\n this.autualizarFormControl(this.obterUnidadesComSubUnidades(unidades));\n });\n return unidadeFiscal;\n })\n\n unidades = this.obterValorQueSeraAtribuidoNoFormDeUnidades(ETipoDestinatario.UNIDADE_FISCAL, unidades);\n this.form.patchValue({ unidades });\n this.blockUtil.desbloquear();\n });\n\n let regrasUnidades = this.form.controls.regrasUnidadeFiscal?.value.filter(ruf => ruf.situacaoId == ESituacao.ATIVO);\n if (!regrasUnidades.length)\n return;\n }\n\n obterUnidadesMoveis() {\n this.blockUtil.bloquear();\n this.comum.ObterUnidadesMoveis()\n .subscribe(unidadesFiscais => {\n this.unidadesFiscais = unidadesFiscais.map(unidadeFiscal => ({ ...unidadeFiscal }));\n let unidades = this.unidadesFiscais\n .filter(({ unidadeFiscalId }) => regrasUnidades.some(regraUnidade => regraUnidade.unidadeFiscalId == unidadeFiscalId))\n .map(unidade => {\n const unidadeFiscal = this.unidadesFiscais.find(({ unidadeFiscalId }) => unidadeFiscalId == unidade.unidadeFiscalId);\n unidade.usuarios.forEach(usuario => {\n const { regraUnidadeFiscalId } = regrasUnidades.find(({ usuarioId }) => usuarioId == usuario.usuarioId) || {};\n usuario.regraUnidadeFiscalId = regraUnidadeFiscalId;\n });\n return unidadeFiscal;\n })\n\n unidades = this.obterValorQueSeraAtribuidoNoFormDeUnidades(ETipoDestinatario.LOCALIZACAO, unidades);\n this.form.patchValue({ unidades });\n this.autualizarFormControl(this.obterUnidadesComSubUnidades(unidades));\n this.blockUtil.desbloquear();\n });\n\n let regrasUnidades = this.form.controls.regrasUnidadeFiscal?.value.filter(ruf => ruf.situacaoId == ESituacao.ATIVO);\n if (!regrasUnidades.length)\n return;\n }\n\n obterValorQueSeraAtribuidoNoFormDeUnidades(tipoDestinatario: number, unidades: UnidadeFiscal[]): UnidadeFiscal[] {\n var unidadesEmMemoriaSelecionadas = tipoDestinatario == ETipoDestinatario.UNIDADE_FISCAL\n ? this.demaisUnidadesFiscaisSelecionadas\n : this.unidadesFiscaisMoveisSelecionadas;\n\n if (this.tipoDestinatarioCadastrado == tipoDestinatario) {\n if (unidadesEmMemoriaSelecionadas)\n unidades = unidadesEmMemoriaSelecionadas;\n }\n else if (unidadesEmMemoriaSelecionadas)\n unidades = unidadesEmMemoriaSelecionadas;\n else\n unidades = [];\n\n return unidades;\n }\n\n obterUnidadesComSubUnidades(unidades: UnidadeFiscal[]) {\n const selecionadas = unidades.map(({ unidadeFiscalId }) => unidadeFiscalId);\n return this.unidadesFiscais.filter(({ unidadeFiscalId }) => selecionadas.includes(unidadeFiscalId));\n }\n\n removerUnidadeFiscal({ unidadeFiscalId, campoFiscais }: UnidadeFiscal) {\n const unidades = this.form.controls.unidades.value?.filter(unidade => unidade.unidadeFiscalId != unidadeFiscalId);\n this.form.patchValue({ unidades });\n this.form.removeControl(campoFiscais);\n }\n\n selecionarUnidade({ unidadeFiscalId }: UnidadeFiscal) {\n const { campoFiscais, subUnidades } = this.unidadesFiscais.find(unidade => unidade.unidadeFiscalId == unidadeFiscalId);\n this.form.addControl(campoFiscais, new UntypedFormControl(subUnidades, Validators.required));\n const unidades = this.form.controls.unidades.value || [];\n let tipoDestino = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId;\n\n switch (tipoDestino) {\n case ETipoDestinatario.UNIDADE_FISCAL:\n this.demaisUnidadesFiscaisSelecionadas = unidades;\n break;\n case ETipoDestinatario.LOCALIZACAO:\n this.unidadesFiscaisMoveisSelecionadas = unidades;\n break;\n }\n\n this.autualizarFormControl(this.obterUnidadesComSubUnidades(unidades));\n this.form.controls[campoFiscais].valueChanges\n .subscribe(() => {\n const unidades = this.form.controls.unidades.value || [];\n this.autualizarFormControl(this.obterUnidadesComSubUnidades(unidades));\n });\n }\n\n selecionarTodasUnidades(unidades: UnidadeFiscal[]) {\n for (const unidade of unidades)\n this.selecionarUnidade(unidade);\n }\n\n removerFiscalUnidade(_fiscal: UnidadeFiscal, campoFiscais: string) {\n const regrasSubUnidadeFiscal = this.form.controls[campoFiscais].value?.filter(fiscal => _fiscal != fiscal);\n this.form.patchValue({ [campoFiscais]: regrasSubUnidadeFiscal });\n }\n\n removeTodasUnidades() {\n this.unidadesFiscais.forEach(({ campoFiscais }) => this.form.removeControl(campoFiscais));\n const unidades = this.form.controls.unidades.value || [];\n this.autualizarFormControl(this.obterUnidadesComSubUnidades(unidades));\n }\n\n onItemDeSelect({ unidadeFiscalId }: UnidadeFiscal) {\n this.form.removeControl(`fiscalUnidade${unidadeFiscalId}`);\n }\n\n autualizarFormControl(unidades: UnidadeFiscal[]) {\n let tipoDestinatario = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId;\n if (tipoDestinatario == ETipoDestinatario.UNIDADE_FISCAL) {\n const regrasUnidadeFiscal = unidades\n .reduce((final, { unidadeFiscalId }) => {\n (this.form?.controls[`fiscalUnidade${unidadeFiscalId}`]?.value || [])\n .forEach(({ usuarioId, regraUnidadeFiscalId }) => final.push({ regraUnidadeFiscalId, unidadeFiscalId, usuarioId, situacaoId: ESituacao.ATIVO }));\n return final;\n }, []);\n\n this.form.patchValue({ regrasUnidadeFiscal });\n }\n else {\n const regrasUnidadeFiscal = unidades\n .reduce((final, { unidadeFiscalId }) => {\n var regraUnidadeFiscalId = undefined;\n var usuarioId = undefined;\n var ativo = ESituacao.ATIVO;\n final.push({ regraUnidadeFiscalId, unidadeFiscalId, usuarioId, situacaoId: ESituacao.ATIVO })\n return final;\n }, []);\n\n this.form.patchValue({ regrasUnidadeFiscal });\n }\n };\n\n exibirUnidades(): boolean {\n let ehUnidadeFiscal = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId == ETipoDestinatario.UNIDADE_FISCAL;\n let ehLocalizacao = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId == ETipoDestinatario.LOCALIZACAO;\n\n return ehUnidadeFiscal || ehLocalizacao;\n }\n\n exibirUnidadesSelecionadas(): boolean {\n let ehUnidadeFiscal = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId == ETipoDestinatario.UNIDADE_FISCAL;\n let ehLocalizacao = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId == ETipoDestinatario.LOCALIZACAO;\n let foiSelecionadaUmaOuMaisUnidade = this.unidadesFiscaisSelecionadas.length > 0;\n return (ehUnidadeFiscal || ehLocalizacao) && foiSelecionadaUmaOuMaisUnidade;\n }\n\n exibirUsuarios(): boolean {\n let ehUnidadeFiscal = this.form.controls.tipoDestinatario?.value?.tipoDestinatarioId == ETipoDestinatario.UNIDADE_FISCAL;\n return ehUnidadeFiscal;\n }\n}\n","
    \n

    Selecione os Destinatários

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n {{ unidade.nome }}\n \n \n
    \n
    \n
    \n
      \n
    • \n {{usuario.nome}}\n \n
    • \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n \n
    \n","import { tap } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { ComportamentoRegra } from './../../../../model/app.comportamentoregra.model';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective, UntypedFormGroup } from '@angular/forms';\nimport { ComunService } from 'src/app/services/app.comum.service';\n\n@Component({\n selector: 'app-passo3comportamento',\n templateUrl: './passo3comportamento.component.html',\n styleUrls: ['./passo3comportamento.component.scss']\n})\nexport class Passo3ComportamentoComponent implements OnInit {\n\n public form: FormGroup;\n public comportamentosRegra$: Observable;\n\n constructor(\n private rootFormGroup: FormGroupDirective,\n private comum: ComunService\n ) {\n this.comportamentosRegra$ = this.comum.ObterComportamentoRegraAtivos();\n }\n\n ngOnInit(): void {\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n let valor = this.form.controls.comportamentoRegra?.value;\n if(valor){\n valor = typeof valor == \"object\" ? valor.comportamentoRegraId : valor;\n this.comportamentosRegra$.pipe(\n tap(comportamentos =>{\n if(comportamentos){\n const comportamentoRegra = comportamentos.find(({comportamentoRegraId})=> comportamentoRegraId == valor )\n if(comportamentoRegra)\n this.form.patchValue({comportamentoRegra}, {emitEvent: false});\n }\n })\n ).subscribe();\n }\n // this.form.controls.comportamentoRegra.valueChanges.subscribe(valor =>{\n // if(valor){\n // this.comportamentosRegra$.pipe(\n // tap(comportamento =>{\n // const comportamentoRegra = comportamento.find(({comportamentoRegraId})=> comportamentoRegraId == valor )\n // if(comportamentoRegra)\n // this.form.patchValue({comportamentoRegra}, {emitEvent: false});\n // })\n // ).subscribe();\n // }\n // })\n }\n\n}\n","
    \n

    Selecione o comportamento do Alerta

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n","import { FormGroup, FormGroupDirective, UntypedFormGroup } from '@angular/forms';\nimport { Component, Injectable, OnInit } from '@angular/core';\nimport { NgbCalendar, NgbDateAdapter, NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\n\n/**\n * This Service handles how the date is represented in scripts i.e. ngModel.\n */\n@Injectable()\nexport class CustomAdapter extends NgbDateAdapter {\n readonly DELIMITER = '-';\n\n fromModel (value: string | null): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.DELIMITER);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10),\n };\n }\n return null;\n }\n\n toModel (date: NgbDateStruct | null): string | null {\n return date ? date.day + this.DELIMITER + date.month + this.DELIMITER + date.year : null;\n }\n}\n\n/**\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\n */\n@Injectable()\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\n readonly DELIMITER = '/';\n\n parse (value: string): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.DELIMITER);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10),\n };\n }\n return null;\n }\n\n format (date: NgbDateStruct | null): string {\n return date ? date.day + this.DELIMITER + date.month + this.DELIMITER + date.year : '';\n }\n}\n\n@Component({\n selector: 'app-passo4periodo',\n templateUrl: './passo4periodo.component.html',\n styleUrls: ['./passo4periodo.component.scss'],\n providers: [\n { provide: NgbDateAdapter, useClass: CustomAdapter },\n { provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter },\n ],\n})\nexport class Passo4PeriodoComponent implements OnInit {\n public form: FormGroup;\n public dataInicial = null;\n public horaInicial = { hour: 0, minute: 0, second: 0 };\n public dataFinal = null;\n public horaFinal = { hour: 0, minute: 0, second: 0 };\n\n constructor (\n private rootFormGroup: FormGroupDirective,\n private ngbCalendar: NgbCalendar,\n private dateAdapter: NgbDateAdapter\n ) {}\n\n get hoje () {\n return this.dateAdapter.toModel(this.ngbCalendar.getToday())!;\n }\n\n get I () {\n let dataHoraInicioVigencia = null;\n if (!String.isNullOrEmpty(this.dataInicial)) {\n let [dia, mes, ano] = this.dataInicial.split(/[//-]/g);\n let hora = 0,\n minuto = 0,\n segundo = 0;\n if (this.horaInicial) {\n hora = this.horaInicial.hour;\n minuto = this.horaInicial.minute;\n segundo = this.horaInicial.second;\n }\n\n dataHoraInicioVigencia = `${ano.padStart(4, '0')}-${mes.padStart(2, '0')}-${dia.padStart(2, '0')}T${hora\n .toString()\n .padStart(2, '0')}:${minuto.toString().padStart(2, '0')}:${segundo.toString().padStart(2, '0')}`;\n\n this.form.patchValue({\n dataHoraInicioVigencia,\n });\n }\n return dataHoraInicioVigencia;\n }\n\n get F () {\n let dataHoraFimVigencia = null;\n if (!String.isNullOrEmpty(this.dataFinal)) {\n let [dia, mes, ano] = this.dataFinal.split(/[//-]/g);\n let hora = 0,\n minuto = 0,\n segundo = 0;\n if (this.horaFinal) {\n hora = this.horaFinal.hour;\n minuto = this.horaFinal.minute;\n segundo = this.horaFinal.second;\n }\n\n dataHoraFimVigencia = `${ano.padStart(4, '0')}-${mes.padStart(2, '0')}-${dia.padStart(2, '0')}T${hora\n .toString()\n .padStart(2, '0')}:${minuto.toString().padStart(2, '0')}:${segundo.toString().padStart(2, '0')}`;\n\n this.form.patchValue({\n dataHoraFimVigencia,\n });\n }\n return dataHoraFimVigencia;\n }\n\n ngOnInit (): void {\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n\n this.form.controls.dataHoraInicioVigencia.valueChanges.subscribe(valor => {\n if (valor && this.dataInicial == null) {\n const [dataInicio, horaInicio] = valor.split(/[//T]/g);\n const [ano, mes, dia] = dataInicio.split(/[//-]/g);\n const [hora, minuto, segundo] = horaInicio.split(/[//:]/g);\n this.dataInicial = `${dia}-${mes}-${ano}`;\n this.horaInicial = { hour: +hora, minute: +minuto, second: +segundo };\n }\n });\n this.form.controls.dataHoraFimVigencia.valueChanges.subscribe(valor => {\n if (valor && this.dataFinal == null) {\n const [dataFim, horaFim] = valor.split(/[//T]/g);\n const [ano, mes, dia] = dataFim.split(/[//-]/g);\n const [hora, minuto, segundo] = horaFim.split(/[//:]/g);\n this.dataFinal = `${dia}-${mes}-${ano}`;\n this.horaFinal = { hour: +hora, minute: +minuto, second: +segundo };\n }\n });\n }\n}\n","

    Selecione o Perído de Vigência

    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n\n \n
    \n
    \n \n \n
    \n
    \n\n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormGroupDirective, UntypedFormGroup } from '@angular/forms';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\n\n@Component({\n selector: 'app-passo5justificativa',\n templateUrl: './passo5justificativa.component.html',\n styleUrls: ['./passo5justificativa.component.scss'],\n})\nexport class Passo5JustificativaComponent implements OnInit {\n public form: FormGroup;\n\n constructor (private rootFormGroup: FormGroupDirective, private toast: ToastUtil) {}\n\n ngOnInit (): void {\n this.form = this.rootFormGroup.control as UntypedFormGroup;\n\n this.form.controls.justificativa.valueChanges.subscribe(valor => {\n if (valor) {\n this.form.controls.justificativa.setValue(valor, { emitEvent: false });\n if (this.form.controls.justificativa.dirty) {\n if (valor.length >= 300) {\n this.toast.showWarning('A quantidade máxima de caracteres foi atingida', 'Justificativa');\n }\n }\n }\n });\n }\n}\n","
    \n

    Descreva sua Justificativa

    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n","import { UntypedFormArray } from '@angular/forms';\nimport { Component, OnInit } from '@angular/core';\nimport { Validators, FormBuilder, UntypedFormGroup, UntypedFormControl } from '@angular/forms';\nimport { NgbCalendar, NgbDate, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { Passo1RegraValidator } from 'src/app/validators/passo1regra.validator';\nimport { Passo2RegraValidator } from 'src/app/validators/passo2regra.validator';\nimport { Passo3RegraValidator } from 'src/app/validators/passo3regra.validator';\nimport { Passo4RegraValidator } from 'src/app/validators/passo4regra.validator';\nimport { RegraValidator } from 'src/app/validators/regra.validator';\nimport { RegraService } from 'src/app/services/app.regra.service';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { CpfPipe } from 'src/app/pipes/app.cpf.pipe';\nimport { CnpjPipe } from 'src/app/pipes/app.cnpj.pipe';\nimport { InscricaoEstadualPipe } from 'src/app/pipes/app.inscricaoestadual.pipe';\nimport { PlacaPipe } from 'src/app/pipes/app.placa.pipe';\nimport { FormControlUtil } from 'src/app/helper/app.tipocampo.utils';\nimport { FiltroEntrada, ParametroEntrada, RegraFiltroEntrada, RegraParametroEntrada } from 'src/app/model';\n\nenum EPasso {\n MODELO_REGRA = 0,\n DESTINATARIO = 1,\n COMPORTAMENTO = 2,\n PREIODO_VIGENCIA = 3,\n JUSTIFICATIVA = 4,\n}\n\n@Component({\n selector: 'app-regra-editar',\n templateUrl: './regra.editar.component.html',\n styleUrls: ['./regra.editar.component.scss'],\n providers: [BlockUtil, RegraService, CpfPipe, CnpjPipe, InscricaoEstadualPipe, PlacaPipe, FormControlUtil],\n})\nexport class RegraEditarComponent implements OnInit {\n public regraForm: UntypedFormGroup;\n public passoAtual: EPasso = EPasso.MODELO_REGRA;\n public model: NgbDateStruct;\n public today: NgbDate;\n public time = null;\n private qtdePassos = Object.keys(EPasso).filter(value => isNaN(Number(value)) === false).length;\n private valorEtapaProgresso = 100 / this.qtdePassos;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private calendar: NgbCalendar,\n private formBuilder: FormBuilder,\n private passo1Validator: Passo1RegraValidator,\n private passo2Validator: Passo2RegraValidator,\n private passo3Validator: Passo3RegraValidator,\n private passo4Validator: Passo4RegraValidator,\n private validator: RegraValidator,\n private service: RegraService,\n private blockUtil: BlockUtil,\n private toast: ToastUtil,\n private comum: ComunService,\n private util: FormControlUtil\n ) {\n this.blockUtil.blockName = 'regra';\n }\n\n get progressValue(): number {\n return (this.passoAtual + 1) * this.valorEtapaProgresso;\n }\n\n get ehModeloRegra(): boolean {\n return this.passoAtual == EPasso.MODELO_REGRA;\n }\n get ehDestinatario(): boolean {\n return this.passoAtual == EPasso.DESTINATARIO;\n }\n get ehComportamento(): boolean {\n return this.passoAtual == EPasso.COMPORTAMENTO;\n }\n get ehPeriodoVigencia(): boolean {\n return this.passoAtual == EPasso.PREIODO_VIGENCIA;\n }\n get ehJustificativa(): boolean {\n return this.passoAtual == EPasso.JUSTIFICATIVA;\n }\n get jaPassouModeloRegra(): string {\n return this.passoAtual >= EPasso.MODELO_REGRA ? 'active' : 'inactive';\n }\n get jaPassouDestinatario(): string {\n return this.passoAtual >= EPasso.DESTINATARIO ? 'active' : 'inactive';\n }\n get jaPassouComportamento(): string {\n return this.passoAtual >= EPasso.COMPORTAMENTO ? 'active' : 'inactive';\n }\n get jaPassouPeriodoVigencia(): string {\n return this.passoAtual >= EPasso.PREIODO_VIGENCIA ? 'active' : 'inactive';\n }\n get jaPassouJustificativa(): string {\n return this.passoAtual >= EPasso.JUSTIFICATIVA ? 'active' : 'inactive';\n }\n\n ngOnInit() {\n this.today = this.calendar.getToday();\n this.regraForm = this.formBuilder.group({\n regraId: new UntypedFormControl('', Validators.required),\n modeloRegra: new UntypedFormControl('', Validators.required),\n condicionante: new UntypedFormControl({ value: '', disabled: true }, Validators.required),\n parametroSelecionado: new UntypedFormControl(''),\n filtroSelecionado: new UntypedFormControl(''),\n regrasParametroEntrada: new UntypedFormControl([]),\n regrasFiltroEntrada: new UntypedFormControl([]),\n tipoDestinatario: new UntypedFormControl('', Validators.required),\n regrasUnidadeFiscal: new UntypedFormControl([]),\n comportamentoRegra: new UntypedFormControl('', Validators.required),\n dataHoraInicioVigencia: new UntypedFormControl(null, Validators.required),\n dataHoraFimVigencia: new UntypedFormControl(null, Validators.required),\n justificativa: new UntypedFormControl(null, {\n updateOn: 'change',\n nonNullable: true,\n validators: [Validators.required, Validators.minLength(20), Validators.maxLength(300)],\n }),\n formParametro: this.formBuilder.array([]),\n formFiltro: this.formBuilder.array([]),\n });\n\n const regraId = +this.route.snapshot.queryParamMap.get('regraId');\n this.service.getById(regraId).subscribe((regra: any) => {\n if (!regra) return;\n\n const {\n regraId,\n modeloRegra,\n tipoDestinatarioId: tipoDestinatario,\n comportamentoRegraId: comportamentoRegra,\n dataHoraInicioVigencia,\n dataHoraFimVigencia,\n justificativa,\n regrasUnidadeFiscal,\n regrasParametroEntrada,\n regrasFiltroEntrada,\n } = regra;\n\n this.regraForm.patchValue(\n {\n regraId,\n tipoDestinatario,\n modeloRegra,\n comportamentoRegra,\n dataHoraInicioVigencia,\n dataHoraFimVigencia,\n justificativa,\n regrasUnidadeFiscal,\n regrasParametroEntrada,\n regrasFiltroEntrada,\n },\n { emitEvent: true }\n );\n\n const formParametro = this.regraForm.controls.formParametro as UntypedFormArray;\n for (const regraParametroEntrada of regrasParametroEntrada) {\n const item = modeloRegra?.parametrosEntrada.find(\n ({ parametroEntradaId }) => parametroEntradaId == regraParametroEntrada.parametroEntradaId\n );\n formParametro.push(this.toFromList(regraParametroEntrada, item));\n }\n const formFiltro = this.regraForm.controls.formFiltro as UntypedFormArray;\n for (const regraFiltroEntrada of regrasFiltroEntrada) {\n const item = modeloRegra?.filtrosEntrada.find(\n ({ filtroEntradaId }) => filtroEntradaId == regraFiltroEntrada.filtroEntradaId\n );\n formFiltro.push(this.toFromList(regraFiltroEntrada, item));\n }\n\n this.passoAtual = EPasso.MODELO_REGRA;\n });\n }\n\n private toFromList(\n { entradaId, operadorId, agrupadorId, valor, tipoDadoNome }: RegraParametroEntrada | RegraFiltroEntrada,\n _item: ParametroEntrada | FiltroEntrada\n ) {\n const { formControl, transform } = this.util.tipo[_item.tipoDadoId];\n const ehValido = false,\n ehUltimo = false;\n const item = { ..._item, naoRemove: _item.obrigatorio };\n const campo = { entradaId, item, operadorId, agrupadorId, valor, tipoDadoNome, ehValido, ehUltimo, transform };\n return formControl(campo);\n }\n\n onNext() {\n if (this.passoAtual == EPasso.MODELO_REGRA) {\n this.passo1Validator.set = this.regraForm;\n if (!this.passo1Validator.isValid) return this.passo1Validator.showMessages();\n } else if (this.passoAtual == EPasso.DESTINATARIO) {\n this.passo2Validator.set = this.regraForm;\n if (!this.passo2Validator.isValid) return this.passo2Validator.showMessages();\n } else if (this.passoAtual == EPasso.COMPORTAMENTO) {\n this.passo3Validator.set = this.regraForm;\n if (!this.passo3Validator.isValid) return this.passo3Validator.showMessages();\n } else if (this.passoAtual == EPasso.PREIODO_VIGENCIA) {\n this.passo4Validator.set = this.regraForm;\n if (!this.passo4Validator.isValid) return this.passo4Validator.showMessages();\n }\n if (this.passoAtual != EPasso.JUSTIFICATIVA) this.passoAtual++;\n }\n\n onPrevious() {\n if (this.passoAtual != EPasso.MODELO_REGRA) this.passoAtual--;\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.regraForm;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.put(this.validator.regra).subscribe({\n next: data => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.router.navigate(['regra']);\n },\n error: erro => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n },\n });\n }\n }\n\n onCancel() {\n this.router.navigate(['regra']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    Complete as etapas para atualizar a Regra
    \n
    \n
    \n
    \n
    \n
    \n \n
      \n
    • Modelo de Regra
    • \n
    • Destinatários
    • \n
    • Comportamento do Alerta
    • \n
    • Comportamento do Evento
    • \n
    • Período de Vigência\n
    • \n
    • Justificativa
    • \n
    \n

    \n \n \n

    \n \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n
    \n
    \n
    \n
    \n\n\n\n
    ","import { Passo2DestinatarioComponent } from './passo2destinatario/passo2destinatario.component';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { RegraEditarComponent } from \"./regra.editar.component\";\nimport { Passo1ModeloRegraComponent } from \"./passo1modeloregra/passo1modeloregra.component\";\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { Passo3ComportamentoComponent } from './passo3comportamento/passo3comportamento.component';\nimport { Passo4PeriodoComponent } from './passo4periodo/passo4periodo.component';\nimport { Passo5JustificativaComponent } from './passo5justificativa/passo5justificativa.component';\nimport { ComumModule } from '../comum/comum.module';\nimport { BlockUIModule } from 'ng-block-ui';\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n ComumModule,\n BlockUIModule.forRoot(),\n ],\n declarations: [\n RegraEditarComponent,\n Passo1ModeloRegraComponent,\n Passo2DestinatarioComponent,\n Passo3ComportamentoComponent,\n Passo4PeriodoComponent,\n Passo5JustificativaComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class RegraEditarModule { }\n","import { Component, ElementRef, Input, NgModule, OnInit, Output, ViewChild } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { RegraService } from 'src/app/services/app.regra.service';\n\n@Component({\n selector: 'ngbd-modal-content',\n template: `\n
    \n
    Desativar Regra #{{ regraId }}
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n `,\n})\nexport class DesativarRegraComponent implements OnInit {\n @Input() regraId: string;\n @Input() regraDescricao: string;\n @ViewChild('bindingInput') bindingInput!: ElementRef;\n\n constructor (protected activeModal: NgbActiveModal, private toast: ToastUtil, private regraService: RegraService) {}\n\n ngOnInit (): void {}\n\n onConfirm () {\n const justificativa = this.bindingInput.nativeElement.value?.toString() || '';\n\n if (justificativa.length > 10) {\n this.regraService.cancelarRegra(Number(this.regraId), justificativa).subscribe({\n next: result => {\n this.toast.showSuccess(result, 'Desativar Regra');\n this.activeModal.close(result);\n },\n error: err => {\n this.toast.showDanger(err);\n },\n });\n } else {\n this.toast.showDanger('A justificativa para a desativação deve conter entre 10 e 150 caracteres!');\n }\n\n return false;\n }\n}\n","import { Component, ElementRef, Input, NgModule, OnInit, Output, ViewChild } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { RegraService } from 'src/app/services/app.regra.service';\n\n@Component({\n selector: 'ngbd-modal-content',\n template: `\n
    \n
    Parar Atualização da Regra #{{ regraId }}
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n `,\n})\nexport class PararAtualizacaoRegraComponent implements OnInit {\n @Input() regraId: string;\n @Input() regraDescricao: string;\n\n @ViewChild('bindingInput') bindingInput!: ElementRef;\n\n constructor (protected activeModal: NgbActiveModal, private toast: ToastUtil, private regraService: RegraService) {}\n\n ngOnInit (): void {\n }\n\n onConfirm () {\n this.regraService.pararAtualizacaoRegra(Number(this.regraId)).subscribe({\n next: result => {\n this.toast.showSuccess(result, 'Parar Atualização Regra');\n this.activeModal.close(result);\n },\n error: err => {\n this.toast.showDanger(err);\n },\n }); \n\n return false;\n }\n}\n","import { ESituacao } from '../../constantes/app.esituacao.const';\nimport { BehaviorSubject, Observable, tap } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Regra } from 'src/app/model/app.regra.model';\nimport { RegraService } from 'src/app/services/app.regra.service';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { DesativarRegraComponent } from './modal/cancelar-regra.component';\nimport * as XLSX from 'xlsx';\nimport { ExcelService } from 'src/app/services/app.excel.service';\nimport { map } from 'jquery';\nimport { PararAtualizacaoRegraComponent } from './modal/parar-atualizacao-regra.component';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n@Component({\n selector: 'app-regra',\n templateUrl: './regra.component.html',\n styleUrls: ['./regra.component.scss'],\n providers: [RegraService, DialogUtil, BlockUtil, ExcelService],\n})\n\nexport class RegraComponent extends ParmissoesPagina implements OnInit {\n public isMobile: boolean = false;\n public regras$: Observable;\n public condicionanteEditar = new BehaviorSubject(null);\n public total$: Observable;\n public form: FormGroup;\n public eSituacao: ListItem[] = ESituacao.toList();\n public eSituacaoDesativada: ESituacao = ESituacao.DESATIVADO;\n public eSituacaoCancelada: ESituacao = ESituacao.CANCELADO;\n public pesquisaAvancadaAberta: boolean = false;\n\n\n public colsGrid: any = [\n {\n colKey: \"regraID\",\n colName: \"Regra ID\"\n },\n\n {\n colKey: \"nomeModelo\",\n colName: \"Nome Modelo\"\n },\n\n {\n colKey: \"destinatario\",\n colName: \"Destinatário\"\n },\n {\n colKey: \"situacao\",\n colName: \"Situação\",\n type: 'string',\n options: ESituacao.toListAll()\n },\n {\n colKey: \"tipoRegraDescricao\",\n colName: \"Tipo Regra\",\n type: 'string',\n },\n {\n colKey: \"periodo\",\n colName: \"Período\",\n type: 'dateTime'\n },\n {\n colKey: \"justificativa\",\n colName: \"Justificativa\",\n\n }\n\n ]\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n constructor(\n private router: Router,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private formBuilder: FormBuilder,\n public service: RegraService,\n private toast: ToastUtil,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService,\n private modalService: NgbModal,\n private excelService: ExcelService,\n ) {\n super(router.url, accountService);\n\n this.blockUtil.blockName = \"regrasCadastradas\"; \n this.service.blockUtil = this.blockUtil;\n this.regras$ = this.service.regras$;\n\n this.total$ = this.service.total$;\n\n this.accountService.PermissionOnModel(router.url).subscribe({\n next: permissoes => (this.permissoes = permissoes),\n });\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl('')\n\n });\n\n this.breakpointObserver.observe(['(max-width: 768px)']).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true;\n } else {\n this.isMobile = false;\n }\n });\n }\n\n ngOnInit(): void {\n this.search();\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column) {\n header.direction = '';\n }\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n\n this.service.get(\n {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n regraID: '',\n nomeModelo: '',\n destinatario: '',\n justificativa: '',\n periodo: {\n dataInicial: '',\n dataFinal: ''\n },\n situacao: '',\n tipoRegra: '',\n filtroGenerico: filtroGenerico ? filtroGenerico : ''\n }\n );\n }\n\n pesquisaAvancada() {\n this.pesquisaAvancadaAberta = true;\n this.form.reset();\n\n }\n\n onView({ regraId }: any) {\n this.router.navigate(['regra/visualizar'], { queryParams: { regraId } });\n }\n onEdit({ regraId }: any) {\n this.router.navigate(['regra/editar'], { queryParams: { regraId } });\n }\n onDelete(data: Regra) {\n this.dialogModal.open({\n title: data.modeloRegra.nome,\n text: `Você está prestes a remover a regra!
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoId = ESituacao.EXCLUIDO;\n this.service.putSituacao(data).subscribe({\n next: () => {\n this.toast.showSuccess('Regra excluida com sucesso!');\n this.blockUtil.desbloquear();\n },\n error: erro => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n },\n });\n },\n },\n {\n label: 'Não',\n class: '',\n callback: null,\n },\n ],\n });\n }\n\n close() {\n this.pesquisaAvancadaAberta = false;\n this.search();\n }\n\n toInsert() {\n this.router.navigate(['regra/cadastro']);\n }\n\n onDesativar(data: Regra) {\n const regraId = data.regraId;\n const regraDescricao = `${data.modeloRegra?.nome} - ${data.comportamentoRegraNome}`;\n const modalRef: NgbModalRef = this.modalService.open(DesativarRegraComponent, {\n backdrop: true,\n centered: true,\n modalDialogClass: 'modal-lg',\n });\n\n modalRef.componentInstance.regraId = regraId;\n modalRef.componentInstance.regraDescricao = regraDescricao;\n\n modalRef.dismissed.subscribe(() => {\n });\n\n modalRef.closed.subscribe(result => {\n if (!!result) {\n this.search();\n }\n });\n }\n\n onPararAtualizacao(data: Regra) {\n const regraId = data.regraId;\n const regraDescricao = `${data.modeloRegra?.nome} - ${data.comportamentoRegraNome}`;\n const modalRef: NgbModalRef = this.modalService.open(PararAtualizacaoRegraComponent, {\n backdrop: true,\n centered: true,\n modalDialogClass: 'modal-lg',\n });\n\n modalRef.componentInstance.regraId = regraId;\n modalRef.componentInstance.regraDescricao = regraDescricao;\n\n modalRef.dismissed.subscribe(() => { });\n\n modalRef.closed.subscribe(result => {\n if (!!result) {\n this.search();\n }\n });\n }\n\n exportExcel(): void {\n const jsonData = this.service.regras.map(({\n regraId,\n modeloRegra,\n tipoDestinatarioNome,\n comportamentoRegraNome,\n justificativa,\n dataHoraInicioVigenciaFormatado,\n dataHoraFimVigenciaFormatado,\n situacaoNome,\n tipoRegraDescricao\n }) => {\n return ({\n \"ID Regra\": regraId,\n \"Nome Modelo\": modeloRegra.nome,\n \"Destinatário\": tipoDestinatarioNome,\n \"Justificativa\": justificativa,\n \"Comportamento\": comportamentoRegraNome,\n \"Data Inicial\": dataHoraInicioVigenciaFormatado,\n \"Data Final\": dataHoraFimVigenciaFormatado,\n \"Situação\": situacaoNome,\n \"Tipo Regra\": tipoRegraDescricao\n })\n });\n this.excelService.exportExcel(jsonData, \"Regras\");\n }\n\n exibirBotaoEditar(regra: any): boolean { \n return this.PodeAlterar &&\n regra.situacaoId != ESituacao.DESATIVADO &&\n regra.regraDoTipoCustomizada == false;\n }\n\n exibirBotaoExcluir(regra: any): boolean {\n return this.PodeExcluir\n && regra.situacaoId != ESituacao.DESATIVADO &&\n regra.regraDoTipoCustomizada == false;\n }\n\n exibirBotaoDesativarRegra(regra: any): boolean {\n return this.PodeAlterar\n && regra.situacaoId != ESituacao.DESATIVADO &&\n regra.regraDoTipoCustomizada == false;\n }\n\n exibirBotaoPararAtualizacoes(regra: any): boolean {\n return this.PodeAlterar &&\n regra.exibirIconePararAtualizacao &&\n regra.regraDoTipoCustomizada == false;\n }\n\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n\n this.search();\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Regras
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n\n \n
    \n
    \n \n
    \n
    \n\n \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n ID Regra\n \n Nome Modelo\n \n Destinatário\n \n Comportamento\n \n Justificativa\n \n Período Vigência\n \n Situação\n \n Tipo Regra\n Ações
    \n Data Inicial\n \n Data Final \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n\n \n\n \n \n\n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Regras
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    Nome Modelo
    \n \n \n
    \n
    Destinatário
    \n \n \n
    \n
    Comportamento
    \n \n \n
    \n
    Situação
    \n \n \n
    \n
    Ações
    \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { RegraComponent } from './regra.component';\nimport { DirectivesModule } from 'src/app/directives/app.directives.module';\nimport { RegraVisualizarComponent } from './visualizar/regra.visualizar.component';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { BlockUIModule } from 'ng-block-ui';\nimport { RegraCadastroModule } from './cadastro/regra.cadastro.module';\nimport { RegraEditarModule } from './editar/regra.editar.module';\nimport { PipesModule } from 'src/app/pipes/app.pipes.module';\nimport { DesativarRegraComponent } from './modal/cancelar-regra.component';\nimport { ComponentsModule } from 'src/app/components/components.module';\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n BlockUIModule.forRoot(),\n RegraCadastroModule,\n RegraEditarModule,\n PipesModule,\n ComponentsModule\n ],\n declarations: [RegraComponent, RegraVisualizarComponent, DesativarRegraComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class RegraModule { }\n","import { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { Routes } from '@angular/router';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { RegraCadastroComponent } from './cadastro/regra.cadastro.component';\nimport { RegraEditarComponent } from './editar/regra.editar.component';\nimport { RegraComponent } from './regra.component';\nimport { RegraVisualizarComponent } from './visualizar/regra.visualizar.component';\n\nexport const RegrasComponentRoutes: Routes = [\n {\n path: 'regra',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: RegraComponent\n }\n ]\n },\n {\n path: 'regra/cadastro',\n component: MasterComponent,\n data: { permissao: EAcao.CADASTRAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: RegraCadastroComponent\n }\n ]\n },\n {\n path: 'regra/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: RegraVisualizarComponent\n }\n ]\n },\n {\n path: 'regra/editar',\n component: MasterComponent,\n data: { permissao: EAcao.ALTERAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: RegraEditarComponent\n }\n ]\n }\n];\n","import { Regra } from 'src/app/model/app.regra.model';\nimport { RegraService } from './../../../services/app.regra.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Component } from '@angular/core';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { filter, take, tap } from 'rxjs/operators';\nimport { combineLatest } from 'rxjs';\nimport { Unidade, UnidadeFiscal } from 'src/app/model/app.unidadefiscal.model';\nimport { Equipamento } from 'src/app/model/app.equipamentos.model';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ParametroEntrada, RegraFiltroEntrada, RegraParametroEntrada } from 'src/app/model';\n\n@Component({\n selector: 'app-regra-visualizar',\n templateUrl: './regra.visualizar.component.html',\n styleUrls: ['./regra.visualizar.component.scss'],\n providers: [\n RegraService\n ]\n})\nexport class RegraVisualizarComponent {\n\n public data: Regra;\n public unidadesFiscais: UnidadeFiscal[] = [];\n public equipamentos: Equipamento[] = [];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private service: RegraService,\n private comum: ComunService\n ) {\n const regraId = +this.route.snapshot.queryParamMap.get(\"regraId\");\n this.comum.ObterUnidadesESubunidadesFiscaisAtivas().subscribe((retorno) => {\n this.unidadesFiscais = retorno;\n })\n combineLatest({\n regra: this.service.getById(regraId),\n equipamentos: this.comum.ObterEquipamentos()\n .pipe(filter(equipamentos => !!equipamentos)), \n }).pipe(\n take(1),\n )\n .subscribe(({ regra, equipamentos }) => {\n this.data = regra;\n this.equipamentos = equipamentos;\n });\n }\n get possuiUnidadesFiscais() { return !!this.data.regrasUnidadeFiscal.length; }\n\n get unidades(): UnidadeFiscal[] {\n const selecionadas = this.data?.regrasUnidadeFiscal.filter(({ unidadeFiscalId, usuarioId, situacaoId }) => ({ unidadeFiscalId, usuarioId }) && situacaoId == ESituacao.ATIVO);\n\n return this.unidadesFiscais\n .filter(({ unidadeFiscalId }) => selecionadas.some(unidadeFiscal => unidadeFiscal.unidadeFiscalId == unidadeFiscalId))\n .map(unidade => {\n unidade.usuarios = unidade.usuarios.filter(({ usuarioId }) => selecionadas.some(unidadeFiscal => unidadeFiscal.usuarioId == usuarioId && unidadeFiscal.unidadeFiscalId == unidade.unidadeFiscalId));\n return unidade;\n });\n }\n\n get filtrosEntrada(): any {\n return (this.data?.regrasFiltroEntrada || [])\n .map(filtroEntrada => {\n const { tipoDadoNome } = filtroEntrada;\n if (tipoDadoNome == 'EQUIPAMENTOS') {\n const { local, sentidoDaLeitura, nome } = this.equipamentos.find(({ identificadorDoEquipamento }) => identificadorDoEquipamento == filtroEntrada.valor) || {};\n filtroEntrada.localNome = local?.nome;\n filtroEntrada.sentidoDaLeitura = sentidoDaLeitura;\n }\n return filtroEntrada;\n });\n }\n\n get parametrosEntrada(): any {\n return (this.data?.regrasParametroEntrada || [])\n .filter(parametroEntrada => {\n const isValid = this.data\n ?.modeloRegra?.parametrosEntrada\n ?.some(({ nome }) => nome == parametroEntrada.parametroEntradaNome) || {};\n const { tipoDadoNome } = parametroEntrada;\n if (tipoDadoNome == 'EQUIPAMENTOS') {\n const { local, sentidoDaLeitura, nome } = this.equipamentos.find(({ identificadorDoEquipamento }) => identificadorDoEquipamento == parametroEntrada.valor) || {};\n parametroEntrada.localNome = local?.nome;\n parametroEntrada.sentidoDaLeitura = sentidoDaLeitura;\n }\n return parametroEntrada && isValid;\n });\n }\n\n get parametrosSaida(): any {\n return (this.data?.modeloRegra.parametrosSaida || [])\n\n }\n\n get showFiltroEntrada(): boolean {\n return this.filtrosEntrada.some(f => !String.isNullOrEmpty(f.valor));\n }\n\n voltar() {\n this.router.navigate(['regra']);\n }\n\n formatarValorOperadorAgrupadorParametroEntrada(parametroEntrada: RegraParametroEntrada, valorFormatado: string): string[] {\n let retorno = new Array();\n retorno.push(parametroEntrada?.operadorNome);\n retorno.push(valorFormatado);\n if (parametroEntrada.agrupadorNome)\n retorno.push(parametroEntrada.agrupadorNome);\n\n return retorno;\n }\n\n formatarValorOperadorAgrupadorFiltroEntrada(filtroEntrada: RegraFiltroEntrada, valorFormatado: string): string[] {\n let retorno = new Array();\n retorno.push(filtroEntrada?.operadorNome);\n retorno.push(valorFormatado);\n if (filtroEntrada.agrupadorNome)\n retorno.push(filtroEntrada.agrupadorNome);\n\n return retorno;\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n

    Modelo de regra

    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ data.regraId }}

    \n
    \n
    \n
    \n
    \n \n

    {{ data.modeloRegra?.nome }}

    \n
    \n
    \n
    \n
    \n \n

    {{ data.modeloRegra?.condicionanteDescricao }}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
      \n \n
    • \n
      \n
      \n {{ parametroEntrada.parametroEntradaNome }}\n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • {{parametroEntrada?.operadorNome}}
      • \n
      • Local:{{parametroEntrada.localNome}}
      • \n
      • Sentido:{{parametroEntrada.sentidoDaLeitura}}
      • \n
      • Equipamento:{{parametroEntrada.valor}}
      • \n
      • {{parametroEntrada.agrupadorNome}}
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
      \n
    • \n
      \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
      \n \n
    • \n
      \n
      \n {{ filtroEntrada.filtroEntradaNome }}\n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
        \n
      • {{filtroEntrada?.operadorNome}}
      • \n
      • Local:{{filtroEntrada.localNome}}
      • \n
      • Sentido:{{filtroEntrada.sentidoDaLeitura}}
      • \n
      • Equipamento:{{filtroEntrada.valor}}
      • \n
      • {{filtroEntrada.agrupadorNome}}
      • \n
      \n
      \n
      \n
        \n
      • \n {{item}} \n
      • \n
      \n
      \n
      \n
      \n
    • \n
      \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ data.dataHoraInclusao | date: 'dd/MM/yyyy' }}

    \n
    \n
    \n
    \n
    \n \n

    {{ data.usuarioNomeInclusao }}

    \n
    \n
    \n
    \n
    \n \n

    \n {{ data.dataHoraAlteracao | date: 'dd/MM/yyyy' }}\n

    \n
    \n
    \n
    \n
    \n \n

    {{ data.usuarioNomeAlteracao }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n

    Destinatário

    \n
    \n
    \n
    \n
    \n \n

    {{ data.tipoDestinatarioNome }}

    \n
    \n
    \n
    \n \n
      \n
    • \n {{ unidade.nome }}\n
        \n
      • \n {{usuario.nome}}\n
      • \n
      \n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n

    Comportamento

    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ data.comportamentoRegraNome }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n

    Período

    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ data.dataHoraInicioVigencia | date: 'dd/MM/yyyy' }}

    \n
    \n
    \n
    \n
    \n \n

    {{ data.dataHoraFimVigencia | date: 'dd/MM/yyyy' }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Justificativa

    \n
    \n
    \n
    \n
    \n
    \n \n

    {{ data.justificativa }}

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { UsuarioService } from 'src/app/services/app.usuario.service';\nimport { UsuarioValidator } from 'src/app/validators/usuario.validator';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable, combineLatest } from 'rxjs';\nimport { filter, take, tap } from 'rxjs/operators';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { UnidadeFiscal } from 'src/app/model/app.unidadefiscal.model';\nimport { Perfil } from 'src/app/model';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\n\n@Component({\n selector: 'app-entrada-editar',\n templateUrl: './usuario.editar.component.html',\n styleUrls: ['./usuario.editar.component.scss']\n})\nexport class UsuarioEditarComponent implements OnInit {\n\n public form: FormGroup;\n public perfils: Perfil[];\n public unidadesFiscais: UnidadeFiscal[] = [];\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true,\n itemsShowLimit: 0,\n textField: 'descricao',\n idField: 'unidadeFiscalId'\n };\n modalConfirm: boolean = false;\n modalOpen: boolean = false;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private formBuilder: FormBuilder,\n private dialogModal: DialogUtil,\n private validator: UsuarioValidator,\n private blockUtil: BlockUtil,\n public service: UsuarioService,\n private toast: ToastUtil,\n private comum: ComunService\n ) {\n this.blockUtil.blockName = \"usuario\";\n this.blockUtil.bloquear();\n this.form = this.formBuilder.group({\n usuarioId: new FormControl(null),\n nome: new FormControl(null, [Validators.required]),\n login: new FormControl(null, [Validators.required]),\n unidadeFiscalNome: new FormControl(null, [Validators.required]),\n perfil: new FormControl('', [Validators.required]),\n unidades: new FormControl([], [Validators.required])\n });\n\n const usuarioId = +this.route.snapshot.queryParamMap.get(\"usuarioId\");\n combineLatest({\n usuario: this.service.getById(usuarioId),\n unidadesFiscais: this.comum.ObterUnidadesESubunidadesFiscaisAtivas(false)\n .pipe(filter(unidadesFiscais => !!unidadesFiscais)),\n perfils: this.comum.ObterPerfilsAtivos()\n .pipe(filter(perfils => !!perfils))\n })\n .pipe(\n take(1),\n )\n .subscribe(({ usuario, unidadesFiscais, perfils }) => {\n this.unidadesFiscais = unidadesFiscais;\n this.perfils = perfils;\n if (!usuario)\n return;\n const { usuarioId, nome, login, unidadeFiscalNome, chefeUnidadesFiscais } = usuario;\n const perfil = perfils.find(({ perfilId }) => perfilId == usuario.perfil?.perfilId);\n const unidadesSelecionadas = chefeUnidadesFiscais.map((unidadeFiscal) => unidadeFiscal.SituacaoId == ESituacao.ATIVO?unidadeFiscal.unidadeFiscalId:null);\n const unidades = unidadesFiscais.filter(({ unidadeFiscalId }) => unidadesSelecionadas.includes(unidadeFiscalId));\n\n this.form.patchValue({\n usuarioId,\n nome,\n login,\n perfil,\n unidadeFiscalNome,\n unidades\n });\n this.blockUtil.desbloquear();\n });\n }\n\n get ehChefe(): boolean { return this.form.controls.perfil?.value.nome?.toUpperCase().includes(\"CHEFE\"); }\n get temUnidadeFiscal(): boolean { return !!this.form.controls.unidadeFiscalNome?.value; }\n\n get unidadesFiscaisSelecionadas(): UnidadeFiscal[] {\n const selecionadas = (this.form?.controls.unidades.value || []).map(({ unidadeFiscalId }) => unidadeFiscalId);\n return this.unidadesFiscais.filter(({ unidadeFiscalId }) => selecionadas.includes(unidadeFiscalId));\n }\n\n ngOnInit(): void {\n this.form.controls.unidades.valueChanges.subscribe(value => value.length > 0? this.modalConfirm = false : this.modalConfirm = true)\n this.form.controls.perfil.valueChanges.subscribe(value => !value.nome?.includes(\"CHEFE\")? this.inabilitarChefiaUnidades():null);\n }\n\n onSubmit() {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n\n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.put(this.validator.usuario)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.router.navigate(['usuario']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n }\n\n inabilitarChefiaUnidades(){\n if(this.form.controls.unidades.value.length > 0){\n this.form.controls.unidades.setValue([]);\n }\n }\n openModalConfirm(){\n this.dialogModal.open({\n\n title: \"\",\n text: `

    Caso não selecione nenhuma unidade fiscal para destinar o usuário como chefe, será assumido pelo sistema que a unidade que ele chefia será a unidade fiscal atual que ele pertence. Confirma?

    `,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n\n this.validator.set = this.form;\n \n if (!this.validator.isValid) {\n this.blockUtil.desbloquear();\n this.validator.showMessages();\n } else {\n this.service.put(this.validator.usuario)\n .subscribe({\n next: (data: string) => {\n this.toast.showSuccess(data);\n this.blockUtil.desbloquear();\n this.router.navigate(['usuario']);\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n })\n }\n \n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n\n \n\n removerUnidadeFiscal({ unidadeFiscalId }: UnidadeFiscal) {\n const unidades = this.form.controls.unidades.value?.filter(unidade => unidade.unidadeFiscalId != unidadeFiscalId);\n this.form.patchValue({ unidades });\n }\n\n cancel() {\n this.router.navigate(['usuario']);\n }\n\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n {{\n unidade.nome\n }}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { ComunService } from 'src/app/services/app.comum.service';\nimport { Router } from '@angular/router';\nimport { Observable, from, tap } from 'rxjs';\nimport { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { NgbdSortableHeader, SortEvent } from 'src/app/directives/app.sortable.directive';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\nimport { ESituacao } from 'src/app/constantes/app.esituacao.const';\nimport { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { Usuario } from 'src/app/model/app.usuario.model';\nimport { UsuarioService } from 'src/app/services/app.usuario.service';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { EOrderBy } from 'src/app/constantes/app.eorderby.const';\n\n@Component({\n selector: 'app-usuario',\n templateUrl: './usuario.component.html',\n styleUrls: ['./usuario.component.scss']\n})\nexport class UsuarioComponent extends ParmissoesPagina implements OnInit {\n public isMobile: boolean = false;\n public usuario$: Observable;\n public total$: Observable;\n public form: FormGroup;\n public eSituacao: ListItem[] = ESituacao.toList();\n public pesquisaAvancadaAberta: boolean = false;\n\n public colsGrid: any = [\n {\n colKey: \"nome\",\n colName: \"Nome\"\n },\n\n {\n colKey: \"perfil\",\n colName: \"Perfil\"\n },\n\n \n ]\n\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n public service: UsuarioService,\n private toast: ToastUtil,\n private dialogModal: DialogUtil,\n private blockUtil: BlockUtil,\n private comum: ComunService,\n private breakpointObserver: BreakpointObserver,\n private accountService: AccountService\n ) {\n super(router.url, accountService);\n this.blockUtil.blockName = \"usuario\";\n this.blockUtil.bloquear();\n this.usuario$ = service.usuario$\n .pipe(tap(usuarios => {\n if (usuarios.length)\n this.blockUtil.desbloquear();\n }));\n this.total$ = service.total$;\n\n this.accountService.PermissionOnModel(router.url)\n .subscribe({\n next: permissoes => this.permissoes = permissoes\n });\n\n this.form = this.formBuilder.group({\n filtroGenerico: new FormControl(null),\n \n });\n\n this.breakpointObserver.observe([\n \"(max-width: 768px)\"\n ]).subscribe((result: BreakpointState) => {\n if (result.matches) {\n this.isMobile = true\n } else {\n this.isMobile = false\n }\n });\n }\n\n ngOnInit(): void {\n this.service.get(\"\");\n }\n\n onSort({ column, direction }: SortEvent) {\n this.headers.forEach(header => {\n if (header.sortable !== column)\n header.direction = '';\n });\n\n this.service.getOrderByDirection(column, direction);\n }\n\n search() {\n const filtroGenerico = this.form.controls.filtroGenerico.value?.trim();\n\n this.service.get( {page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome:'',\n perfil:'',\n filtroGenerico:filtroGenerico?filtroGenerico:''\n });\n }\n\n onView({ usuarioId }: any) {\n this.router.navigate(['usuario/visualizar'], { queryParams: { usuarioId } });\n }\n\n onEdit({ usuarioId }: any) {\n this.router.navigate(['usuario/editar'], { queryParams: { usuarioId } });\n }\n\n onDelete(data: Usuario) {\n this.dialogModal.open({\n title: data.nome,\n text: `Você está prestes a remover este Usuario !
    Deseja continuar?`,\n btns: [\n {\n label: 'Sim',\n class: 'btn-primary',\n callback: () => {\n this.blockUtil.bloquear();\n data.situacaoId = ESituacao.EXCLUIDO;\n this.service.putSituacao(data)\n .subscribe({\n next: () => {\n this.toast.showSuccess(\"Usuario Excluido com sucesso!\");\n this.blockUtil.desbloquear();\n },\n error: (erro: string) => {\n this.toast.showDanger(erro);\n this.blockUtil.desbloquear();\n }\n });\n }\n },\n {\n label: 'Não',\n class: '',\n callback: null\n }\n ]\n })\n }\n\n toInsert() {\n this.toast.showDanger('Não implementado');\n }\n\n pesquisaAvancada() {\n this.form.reset();\n\n this.pesquisaAvancadaAberta = true;\n }\n\n close() {\n this.pesquisaAvancadaAberta = false;\n this.search();\n\n\n }\n cleanSearch() {\n this.form.controls.filtroGenerico.setValue('');\n\n this.search();\n\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Usuario
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Nome\n Perfil\n Ações
    \n \n \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    Seção de Usuário
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n\n \n \n \n \n \n \n \n \n \n
    \n
    Nome
    \n \n \n
    \n
    Perfil
    \n \n \n
    \n \n
    \n Ações\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { UsuarioVisualizarComponent } from './visualizar/usuario.visualizar.component';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { UsuarioComponent } from \"./usuario.component\";\nimport { UsuarioEditarComponent } from './editar/usuario.editar.component';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { BlockUIModule } from 'ng-block-ui';\nimport { ComponentsModule } from 'src/app/components/components.module';\n\n\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n NgbModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n BlockUIModule.forRoot(),\n ComponentsModule\n ],\n declarations: [\n UsuarioComponent,\n UsuarioVisualizarComponent,\n UsuarioEditarComponent\n\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class UsuarioModule { }\n","import { Routes } from '@angular/router';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { AutenticationGuard } from 'src/app/guard/autentication.guard';\nimport { MasterComponent } from '../../components/master/master.component';\nimport { UsuarioEditarComponent } from './editar/usuario.editar.component';\nimport { UsuarioComponent } from './usuario.component';\nimport { UsuarioVisualizarComponent } from './visualizar/usuario.visualizar.component';\n\nexport const UsuarioComponentRoutes: Routes = [\n {\n path: 'usuario',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: UsuarioComponent\n }\n ]\n },\n {\n path: 'usuario/visualizar',\n component: MasterComponent,\n data: { permissao: EAcao.VISUALIZAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: UsuarioVisualizarComponent\n }\n ]\n },\n {\n path: 'usuario/editar',\n component: MasterComponent,\n data: { permissao: EAcao.ALTERAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: UsuarioEditarComponent\n }\n ]\n }\n];\n","import { ActivatedRoute, ParamMap, Router } from '@angular/router';\nimport { Component } from '@angular/core';\nimport { UsuarioService } from 'src/app/services/app.usuario.service';\nimport { Usuario } from 'src/app/model';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\n\n@Component({\n selector: 'app-usuario-visualizar',\n templateUrl: './usuario.visualizar.component.html',\n styleUrls: ['./usuario.visualizar.component.scss'],\n providers: [\n UsuarioService\n ]\n})\nexport class UsuarioVisualizarComponent {\n\n public data: Usuario;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private blockUtil: BlockUtil,\n private service: UsuarioService\n ) {\n this.blockUtil.blockName = \"usuario\";\n this.blockUtil.bloquear();\n const usuarioId = +this.route.snapshot.queryParamMap.get(\"usuarioId\");\n this.service.getById(usuarioId)\n .subscribe({\n next: (data: any) => {\n this.data = data;\n this.blockUtil.desbloquear();\n },\n error: () => this.data = null\n });\n }\n\n voltar() {\n this.router.navigate(['usuario']);\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.nome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.login}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.perfilNome}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.situacaoNome}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
      \n
    • \n {{ chefeUnidadeFiscal.unidadeFiscalNome }}\n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraInclusao | date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.dataHoraAlteracao |\n date:'dd/MM/yyyy'}}

    \n
    \n
    \n
    \n
    \n \n

    {{data.usuarioNomeAlteracao}}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import * as moment from \"moment\";\n\nexport class LocalizacaoUsuarioDto {\n NomeDoUsuario: string;\n LoginUsuario: string;\n UnidadeDoUsuario: string;\n dataHoraInclusao: string;\n Coordenadas: string;\n\n constructor(dto: any) {\n this.NomeDoUsuario = dto?.nomeDoUsuario;\n this.LoginUsuario = dto?.loginUsuario;\n this.UnidadeDoUsuario = dto?.unidadeDoUsuario;\n this.dataHoraInclusao = (moment(dto?.dataHoraInclusao)).format('DD/MM/YYYY HH:mm:ss');\n this.Coordenadas = dto?.coordenadas;\n };\n};","import { Component, Input, OnInit } from '@angular/core';\nimport * as mapboxgl from 'mapbox-gl';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-mapa',\n templateUrl: './mapa.component.html',\n styleUrls: ['./mapa.component.scss']\n})\nexport class MapaComponent implements OnInit {\n \n constructor(public activeModal: NgbActiveModal) {}\n\n @Input() nomeUsuario: string;\n @Input() login: string;\n @Input() unidadeDeLotacao: string;\n @Input() dataHoraInclusao: string;\n @Input() coordenadas: string;\n\n map: mapboxgl.Map;\n style = 'mapbox://styles/mapbox/streets-v12';\n longitude = 0;\n latitude = 0;\n\n async ngOnInit() {\n this.obterLongitude().then((responseLongitude) => {\n this.longitude = responseLongitude;\n }).finally(() => {\n this.obterLatitude().then((responseLatitude) => {\n this.latitude = responseLatitude;\n })\n }).finally(() => {\n this.abrirMapa(this.longitude, this.latitude);\n })\n }\n\n async obterLongitude(): Promise {\n return this.prepadarDadosParaRetorno(1);\n }\n\n async obterLatitude(): Promise {\n return this.prepadarDadosParaRetorno(0);\n }\n\n async prepadarDadosParaRetorno(posicaoDoArray: number): Promise {\n return +this.coordenadas.replace('POINT', '').replace('(', '').replace(')', '').split(',')[posicaoDoArray] ?? null;\n }\n\n async abrirMapa(longitude: number, latitude: number) {\n if ((!latitude || latitude === 0) || (!longitude || longitude === 0))\n return;\n\n (mapboxgl as typeof mapboxgl).accessToken = 'pk.eyJ1IjoiZGFuaWVsdHJpYm9uaSIsImEiOiJjbGZzc2w0MGQwOHo1M3NvMTV1c2dza21vIn0.o5plCFUF0qJmFRDTsZi5XA';\n this.map = new mapboxgl.Map({\n container: 'map',\n style: this.style,\n zoom: 16,\n center: [longitude, latitude],\n scrollZoom: true,\n touchZoomRotate: false\n });\n\n const popup = new mapboxgl.Popup({\n offset: 25\n }).setHTML(this.gerarTextoPopup());\n\n new mapboxgl.Marker({\n color: \"#ff0000\",\n draggable: true,\n }).setLngLat([longitude, latitude])\n .setPopup(popup)\n .addTo(this.map);\n\n this.map.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n }\n\n private gerarTextoPopup(): string {\n let coordenas = `${this.longitude}, ${this.latitude}`;\n\n return `${this.gerarUmaLinhaComTitutloEConteudo('Usuário', this.nomeUsuario)}\n ${this.gerarUmaLinhaComTitutloEConteudo('Login', this.login)}\n ${this.gerarUmaLinhaComTitutloEConteudo('Unidade', this.unidadeDeLotacao)}\n ${this.gerarUmaLinhaComTitutloEConteudo('Data', this.dataHoraInclusao)}\n ${this.gerarUmaLinhaComTitutloEConteudo('Coordenadas', coordenas)}`;\n }\n\n private gerarUmaLinhaComTitutloEConteudo(titulo: string, conteudo: string, comQuebraDeLinha: boolean = true): string {\n let novaLinha = comQuebraDeLinha ? this.quebraDeLinha() : '';\n return `${this.textoEmNegrito(titulo)} ${conteudo} ${novaLinha}`;\n }\n\n private textoEmNegrito(texto: string): string {\n return `${texto}:`;\n }\n\n private quebraDeLinha(): string {\n return '
    ';\n }\n\n closeModal(): void {\n this.activeModal.close(); \n }\n\n}\n","
    \n
    ×
    \n
    \n
    ","import { Component, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { ParmissoesPagina } from '../permissoes.pages';\nimport { Router } from '@angular/router';\nimport { AccountService } from 'src/app/services/app.login.service';\nimport { Observable, switchMap, tap } from 'rxjs';\nimport { LocalizacaoUsuarioDto } from './dto/localizacaousuario.dto';\nimport { NgbdSortableHeader } from 'src/app/directives/app.sortable.directive';\nimport { LocalizacaoUsuarioService } from 'src/app/services/app.localizacaousuario.service';\nimport { FormBuilder, FormControl, FormGroup, UntypedFormControl, Validators } from '@angular/forms';\nimport { DialogUtil } from 'src/app/helper/app.dialog.util';\nimport { ComunService } from 'src/app/services/app.comum.service';\nimport { SubUnidade, Unidade, UnidadeFiscal } from 'src/app/model/app.unidadefiscal.model';\nimport { ExcelService } from 'src/app/services/app.excel.service';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { MapaComponent } from './mapa/mapa.component';\nimport { MasterComponent } from 'src/app/components/master/master.component';\nimport * as moment from \"moment\";\nimport { ToastUtil } from 'src/app/helper/app.toast.utils';\nimport { BlockUtil } from 'src/app/helper/app.block.utils';\n\n\n@Component({\n selector: 'app-usuarioconectado',\n templateUrl: './usuarioconectado.component.html',\n styleUrls: ['./usuarioconectado.component.scss'],\n providers: [\n LocalizacaoUsuarioService,\n MasterComponent\n ]\n})\nexport class UsuarioconectadoComponent extends ParmissoesPagina implements OnInit {\n\n public form: FormGroup;\n public isMobile: boolean = false;\n public usuariosConectados$: Observable;\n public total$: Observable;\n public unidadesFiscais: UnidadeFiscal[];\n public usuarios: Array = [];\n public nomesDosServidoresDaUnidade: any[];\n public habilitarDropNomeServidores = true;\n public selectedUnidades = [];\n public activeButton = false;\n public nomeUsuarios = \"\";\n\n @ViewChildren(NgbdSortableHeader) headers: QueryList>;\n\n public configuracoesNomeUsuario: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: false,\n textField: 'nome',\n idField: 'usuarioId'\n };\n\n public configuracoesPadrao: IDropdownSettings = {\n singleSelection: false,\n allowSearchFilter: true,\n selectAllText: \"Todos\",\n unSelectAllText: \"Remover Todos\",\n enableCheckAll: true,\n textField: 'descricao',\n idField: 'unidadeFiscalId'\n };\n constructor(\n private router: Router,\n private accountService: AccountService,\n private formBuilder: FormBuilder,\n public service: LocalizacaoUsuarioService,\n private dialogModal: DialogUtil,\n private comunService: ComunService,\n private excelService: ExcelService,\n private modalService: NgbModal,\n private toast: ToastUtil,\n private blockUtil: BlockUtil\n ) {\n super(router.url, accountService);\n this.usuariosConectados$ = service.usuariosConectados$;\n this.total$ = service.total$;\n\n this.form = this.formBuilder.group({\n nomeUsuario: new FormControl(''),\n unidadeDoUsuario: new FormControl(),\n dataInicio: new FormControl(''),\n dataInicioAux: new FormControl(''),\n horaInicio: new FormControl(),\n dataFim: new FormControl(''),\n dataFimAux: new FormControl(''),\n horaFim: new FormControl('')\n });\n }\n\n ngOnInit(): void {\n this.service.get({});\n this.obterUnidades();\n\n this.form.get('dataFimAux').valueChanges.subscribe(e => { this.changeDataAux(e, 'dataFim'); })\n this.form.get('dataInicioAux').valueChanges.subscribe(e => { this.changeDataAux(e, 'dataInicio'); })\n }\n\n changeDataAux(event, seletor) {\n if (!event)\n return;\n\n let formatedDate = `${event?.day}/${event?.month}/${event?.year}`;\n this.form.get(seletor).setValue(formatedDate, { emitEvent: false });\n }\n\n obterUnidades() {\n this.comunService.ObterTodasUnidadesFiscaisPorUsuario()\n .subscribe(unidadesFiscais => {\n this.unidadesFiscais = unidadesFiscais.filter((unidadeFiscal: UnidadeFiscal) => unidadeFiscal.usuarios.length > 0);\n\n });\n }\n\n search(validarPreenchimentoDoFiltro: boolean = true) {\n this.service.bloqueioTela = \"localizacaoUsuario\";\n let body = this.form.getRawValue();\n\n if (validarPreenchimentoDoFiltro && !this.validarFiltro(body)) {\n return;\n }\n\n if (body.unidadeDoUsuario) {\n var unidadesIdAux = this.form.get('unidadeDoUsuario').value.map(u => u.unidadeFiscalId);\n body.unidadeDoUsuario = unidadesIdAux;\n }\n\n if (body.nomeUsuario)\n this.nomesDosServidoresDaUnidade = this.form.get('nomeUsuario').value.map(u => u.nome).join(\",\");\n else\n this.nomesDosServidoresDaUnidade = null;\n\n let dataHoraInicio = this.DataHoraFormat(body.dataInicioAux, body.horaInicio);\n let dataHoraFim = this.DataHoraFormat(body.dataFimAux, body.horaFim);\n\n this.service.get(\n {\n ...body,\n dataHoraInicio: dataHoraInicio,\n dataHoraFim: dataHoraFim,\n nomesDosServidoresDaUnidade: this.nomesDosServidoresDaUnidade\n });\n }\n\n validarFiltro(filtro: any): boolean {\n if (!filtro.unidadeDoUsuario || String.isNullOrEmpty(filtro.unidadeDoUsuario.length == 0)) {\n this.toast.showWarning(\"Unidade Fiscal é obrigatória.\");\n return false;\n }\n\n if (String.isNullOrEmpty(filtro.dataInicio)) {\n this.toast.showWarning(\"Data Inicial é obrigatória.\");\n return false;\n }\n\n if (String.isNullOrEmpty(filtro.horaInicio)) {\n this.toast.showWarning(\"Hora Inicial é obrigatória.\");\n return false;\n }\n\n if (String.isNullOrEmpty(filtro.dataFim)) {\n this.toast.showWarning(\"Data Final é obrigatória.\");\n return false;\n }\n\n if (String.isNullOrEmpty(filtro.horaFim)) {\n this.toast.showWarning(\"Hora Final é obrigatória.\");\n return false;\n }\n\n return true;\n }\n\n DataHoraFormat(data: any, hora: any = null) {\n if (data && hora) {\n return (moment(`${data.year}-${data.month}-${data.day} ${hora.hour}:${hora.minute}:00`)).format('YYYY-MM-DD HH:mm:ss');\n } else if (data) {\n return (moment(`${data.year}-${data.month}-${data.day} 00:00:00`)).format('YYYY-MM-DD HH:mm:ss');\n }\n }\n\n limpar() {\n this.form.controls.dataFim.patchValue(\"\");\n this.form.controls.dataFimAux.patchValue(\"\");\n this.form.controls.dataInicio.patchValue(\"\");\n this.form.controls.dataInicioAux.patchValue(\"\");\n this.form.controls.horaFim.patchValue(\"\");\n this.form.controls.horaInicio.patchValue(null);\n this.form.controls.nomeUsuario.patchValue(\"\");\n this.form.controls.unidadeDoUsuario.patchValue(null);\n\n this.service.get(this.form.getRawValue())\n }\n\n onVisualizarLocalizacaoUsuario({ data }: any) {\n this.dialogModal.open({\n title: 'Fiscalizar',\n text: 'Ação não implementada',\n btns: [],\n });\n }\n\n exportExcel(): void {\n const jsonData = this.service.usuariosConectados.map(({\n NomeDoUsuario,\n LoginUsuario,\n UnidadeDoUsuario,\n dataHoraInclusao,\n Coordenadas\n }) => ({\n \"Nome do Usuário\": NomeDoUsuario,\n \"Login do Usuário\": LoginUsuario,\n \"Unidade do Usuário\": UnidadeDoUsuario,\n \"Data e Hora Conexão\": dataHoraInclusao,\n \"Coordenadas\": Coordenadas\n }));\n this.excelService.exportExcel(jsonData, \"LocalizacaoUsuario\");\n }\n\n\n selecionarUnidade(event: any) {\n if (event) {\n this.selectedUnidades = event;\n } else {\n this.selectedUnidades = this.form.controls.unidadeDoUsuario.getRawValue();\n }\n\n let unidadeSelecionada = this.unidadesFiscais.reduce((acumulator: any, elemento: any) => {\n this.selectedUnidades.forEach((u: any) => {\n if (u.unidadeFiscalId == elemento.unidadeFiscalId) {\n acumulator.push(elemento)\n }\n })\n return acumulator;\n\n }, [])\n\n this.usuarios = unidadeSelecionada.reduce((acumulator: any, elemento) => {\n elemento.usuarios.forEach(e => acumulator.push(e))\n return acumulator;\n }, [])\n }\n\n removerUnidadeFiscal(_unidade: Unidade) {\n const unidades = this.form.controls.codigoUnidade.value?.filter(unidade => _unidade.codigoLocal != unidade.codigoLocal);\n this.form.patchValue({ unidades });\n this.form.removeControl(_unidade.campoFiscais);\n }\n\n abrirMapa(data: LocalizacaoUsuarioDto) {\n const modalRef: NgbModalRef = this.modalService.open(MapaComponent, {\n backdrop: true,\n centered: true,\n modalDialogClass: 'modal-dialog',\n });\n\n modalRef.componentInstance.nomeUsuario = data.NomeDoUsuario;\n modalRef.componentInstance.login = data.LoginUsuario;\n modalRef.componentInstance.unidadeDeLotacao = data.UnidadeDoUsuario;\n modalRef.componentInstance.dataHoraInclusao = data.dataHoraInclusao;\n modalRef.componentInstance.coordenadas = data.Coordenadas;\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n
    Consultar Usuário
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{getItems[id].nome}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n {{getItems[id]}}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n \n \n \n
    \n
    \n
    \n\n \n\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n \n
    \n\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Nome do Usuário\n Login Usuário\n Unidade do\n Usuário\n Data e HoraAções
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from \"@angular/core\";\nimport { UsuarioconectadoComponent } from \"./usuarioconectado.component\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DirectivesModule } from \"src/app/directives/app.directives.module\";\nimport { NgMultiSelectDropDownModule } from \"ng-multiselect-dropdown\";\nimport { MapaComponent } from './mapa/mapa.component';\nimport {MatFormField} from '@angular/material/form-field';\nimport { ComponentsModule } from \"src/app/components/components.module\";\nimport { DateTimePickerComponent } from \"src/app/components/datimepicker/app.component.datimepicker\";\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n NgbModule,\n ReactiveFormsModule,\n DirectivesModule,\n NgMultiSelectDropDownModule.forRoot(),\n\n ],\n declarations: [\n UsuarioconectadoComponent,\n MapaComponent,\n \n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class UsuarioConectadoModule { }","import { Routes } from \"@angular/router\";\nimport { MasterComponent } from \"src/app/components/master/master.component\";\nimport { EAcao } from \"src/app/constantes/app.eacao.const\";\nimport { AutenticationGuard } from \"src/app/guard/autentication.guard\";\nimport { UsuarioconectadoComponent } from \"./usuarioconectado.component\";\n\nexport const UsuarioConectadoRoutes: Routes = [\n {\n path: 'usuarioconectado',\n component: MasterComponent,\n data: { permissao: EAcao.PESQUISAR },\n canActivate: [AutenticationGuard],\n children: [\n {\n outlet: 'app-master',\n path: '',\n component: UsuarioconectadoComponent\n }\n ]\n }\n];","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'cnpj' })\nexport class CnpjPipe implements PipeTransform {\n\ttransform(value: string, args?: any): any {\n if (value) {\n value = value.replace(/\\D/g, '');\n\n if (value.length > 14) {\n value = value.substring(0, 14);\n }\n\n switch (value.length){\n case 3:\n case 4:\n case 5:\n value = value.replace(/(\\d{2})(\\d+)/, '$1.$2')\n break;\n case 6:\n case 7:\n case 8:\n value = value.replace(/(\\d{2})(\\d{3})(\\d+)/, '$1.$2.$3')\n break;\n case 9:\n case 10:\n case 11:\n case 12:\n value = value.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d+)/, '$1.$2.$3/$4')\n break;\n case 13:\n case 14:\n value = value.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d+)/,'$1.$2.$3/$4-$5')\n break;\n default:\n return value;\n }\n return value;\n\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'cpf' })\nexport class CpfPipe implements PipeTransform {\n\ttransform(value: string, args?: any): any {\n if (value) {\n value = value.replace(/\\D/g, '');\n\n if (value.length > 11) {\n value = value.substring(0, 11);\n }\n\n switch (value.length) {\n case 4:\n case 5:\n case 6:\n value = value.replace(/(\\d{3})(\\d+)/, '$1.$2');\n break;\n case 7:\n case 8:\n case 9:\n value = value.replace(/(\\d{3})(\\d{3})(\\d+)/, '$1.$2.$3');\n break;\n case 10:\n case 11:\n value = value.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d+)/, '$1.$2.$3-$4');\n break;\n default:\n return value;\n }\n }\n return value;\n }\n\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'cpfcnpj' })\nexport class CpfCnpjPipe implements PipeTransform {\n\ttransform(value: string | number): string {\n\t\tlet valorFormatado = (value + '').replace(/\\D+/g, '');\n\n\t\tif (valorFormatado.length == 11)\n\t\t\tvalorFormatado = valorFormatado\n\t\t\t\t.padStart(11, '0')\n\t\t\t\t.substr(0, 11)\n\t\t\t\t.replace(/[^0-9]/, '')\n\t\t\t\t.replace(\n\t\t\t\t\t/(\\d{3})(\\d{3})(\\d{3})(\\d{2})/,\n\t\t\t\t\t'$1.$2.$3-$4'\n\t\t\t\t);\n\t\telse if (valorFormatado.length == 14)\n\t\t\tvalorFormatado = valorFormatado\n\t\t\t\t.padStart(14, '0')\n\t\t\t\t.substr(0, 14)\n\t\t\t\t.replace(/[^0-9]/, '')\n\t\t\t\t.replace(\n\t\t\t\t\t/(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})/,\n\t\t\t\t\t'$1.$2.$3/$4-$5'\n\t\t\t\t);\n\n\t\treturn valorFormatado;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'datetime' })\nexport class DateTimePipe implements PipeTransform {\n\n\tprivate readonly monthNames = [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"];\n\tprivate readonly dayOfWeekNames = [\"Domingo\", \"Segunda-feira\", \"Terça-feira\", \"Quarta-feira\", \"Quinta-feira\", \"Sexta-feira\", \"Sábado\", \"Domingo\"];\n\n\ttransform(date: string | Date, formato: string = \"dd/MM/yyyy HH:mm:ss\"): string {\n\t\tif (date == null || date == \"\")\n\t\t\treturn \"\";\n\t\tif (typeof date == \"string\")\n\t\t\tdate = new Date(date);\n\n\t\tlet yearFull = date.getUTCFullYear();\n\t\tlet yearMin = yearFull.toString().substring(2);\n\t\tlet month = date.getUTCMonth() + 1;\n\t\tlet monthName = this.monthNames[month - 1];\n\t\tlet day = date.getUTCDate();\n\t\tlet dayOfWeekName = this.dayOfWeekNames[date.getUTCDay()];\n\t\tlet hours = date.getHours();\n\t\tlet minutes = date.getUTCMinutes();\n\t\tlet seconds = date.getUTCSeconds();\n\n\t\treturn formato.replace(\"yyyy\", yearFull.toString()).replace(\"yy\", yearMin)\n\t\t\t.replace(\"MMMM\", monthName).replace(\"MM\", month.toString().padStart(2, '0'))\n\t\t\t.replace(\"dd\", day.toString().padStart(2, '0')).replace(\"EEEE\", dayOfWeekName)\n\t\t\t.replace(\"HH\", hours.toString().padStart(2, '0')).replace(\"mm\", minutes.toString().padStart(2, '0'))\n\t\t\t.replace(\"ss\", seconds.toString().padStart(2, '0'));\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'inscricaoEstadual' })\nexport class InscricaoEstadualPipe implements PipeTransform {\n transform(value: string, args?: any): any {\n const INICIO_IE_MS = '28';\n\n value = value.replace(/\\D/g, '');\n if (value.substring(0, 2) != INICIO_IE_MS)\n return value;\n\n if (value.length > 9)\n return value.substring(0, 14);\n else {\n value = value.substring(0, 9);\n switch (value.length) {\n case 3:\n case 4:\n case 5:\n value = value.replace(/(\\d{2})(\\d+)/, '$1.$2')\n break;\n case 6:\n case 7:\n case 8:\n value = value.replace(/(\\d{2})(\\d{3})(\\d+)/, '$1.$2.$3')\n break;\n case 9:\n case 10:\n case 11:\n case 12:\n value = value.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d+)/, '$1.$2.$3-$4')\n break;\n default:\n return value;\n }\n return value;\n }\n }\n}\n","import { PlacaPipe } from './app.placa.pipe';\nimport { NgModule } from '@angular/core';\nimport { CnpjPipe } from './app.cnpj.pipe';\nimport { CpfPipe } from './app.cpf.pipe';\nimport { CpfCnpjPipe } from './app.cpfcnpj.pipe';\nimport { DateTimePipe } from './app.datetime.pipe';\nimport { InscricaoEstadualPipe } from './app.inscricaoestadual.pipe';\nimport { TruncateWithLineBreaksPipe } from './app.stringlimit.pipe';\n\n@NgModule({\n imports: [],\n declarations: [CpfCnpjPipe, DateTimePipe, CpfPipe, CnpjPipe, PlacaPipe, InscricaoEstadualPipe, TruncateWithLineBreaksPipe],\n exports: [CpfCnpjPipe, DateTimePipe, CpfPipe, CnpjPipe, PlacaPipe, InscricaoEstadualPipe, TruncateWithLineBreaksPipe]\n})\nexport class PipesModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'placa' })\nexport class PlacaPipe implements PipeTransform {\n transform(value: string, args?: any): any {\n return value?.substring(0, 7);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncateWithLineBreaks'\n})\nexport class TruncateWithLineBreaksPipe implements PipeTransform {\n transform(value: string, limit: number): string {\n if (!value) return ''; // Handle null, undefined, or empty string\n\n if (value.length <= limit) {\n return value;\n }\n\n const truncatedText = value.substr(0, limit);\n const lastSpaceIndex = truncatedText.lastIndexOf(' ');\n\n if (lastSpaceIndex !== -1) {\n return truncatedText.substr(0, lastSpaceIndex) + '...';\n } else {\n return truncatedText + '...';\n }\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\n\nimport { map, switchMap, filter, catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { Alerta } from '../model/app.alerta.model';\nimport { ComunService } from './app.comum.service';\nimport { ESituacao } from '../constantes/app.esituacao.const';\nimport { AccountService } from './app.login.service';\nimport { BlockUtil } from '../helper/app.block.utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlertaService {\n private _search$ = new Subject();\n private _alertas$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n public blockUtil: BlockUtil = null;\n\n private readonly URL_CONTROLLER = 'Alerta';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n alerta: '',\n modeloRegraId: '',\n dataGeracao: '',\n dataHoraInclusao: '',\n situacaoId: '',\n unidadeFiscalNome: '',\n usuarioAtendimentoNome: '',\n alertaTipoLiberacaoId: '',\n filtroGenerico: '',\n alertaID: '',\n regraID: '',\n periodo: '',\n situacao: '',\n motivo: '',\n serie: '',\n condicionante: '',\n usuarioAtendimento: '',\n tipoAlerta: ''\n\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._search$\n .pipe(\n tap(() => this.blockUtil.bloquear()),\n switchMap(() => this._pagination())\n )\n .subscribe(({ alertas, total }) => {\n this._alertas$.next(alertas);\n this._total$.next(total);\n this.blockUtil.desbloquear();\n });\n }\n\n get alertas$() {\n return this._alertas$.asObservable();\n }\n get alertas() {\n return this._alertas$.value;\n }\n get total$() {\n return this._total$.asObservable();\n }\n get page() {\n return this._state.page;\n }\n get pages() {\n return Math.ceil(this._total$.value / this._state.pageSize);\n }\n get pageSize() {\n return this._state.pageSize;\n }\n get searchTerm() {\n return this._state.searchTerm;\n }\n get situacao$() {\n return this._situacao$.asObservable();\n }\n\n set page(page: number) {\n this._set({ page });\n }\n set pageSize(pageSize: number) {\n this._set({ pageSize, page: 1 });\n }\n set searchTerm(searchTerm: string) {\n this._set({ searchTerm });\n }\n set sortColumn(sortColumn: SortColumn) {\n this._set({ sortColumn });\n }\n set sortDirection(sortDirection: SortDirection) {\n this._set({ sortDirection });\n }\n\n public get(data) {\n this._set(data);\n }\n\n public getById(id: number): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${id}`;\n return this.util.Get(url)\n .pipe(\n filter(item => !!item),\n map(alerta => new Alerta(alerta))\n );\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n\n Object.assign(this._state, patch);\n\n this._search$.next();\n }\n\n public onFinalize({\n alertaId = null,\n numeroDocumento = null,\n tipoLiberacaoId = null,\n motivo = null,\n serie = null,\n unidade = null,\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/Alterar`;\n return this.util.Put(url, {\n AlertaID: alertaId,\n NumeroDocumento: numeroDocumento,\n AlertaTipoLiberacaoID: tipoLiberacaoId,\n Motivo: motivo,\n Serie: serie,\n Unidade: unidade,\n SituacaoID: ESituacao.FINALIZADO,\n UsuarioID: this.accountService.userValue?.usuarioId,\n });\n }\n\n public onFinalizarAlerta({\n alertaId = null,\n numeroDocumento = null,\n tipoLiberacaoId = null,\n motivo = null,\n serie = null,\n unidade = null,\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/FinalizarAlerta`;\n return this.util.Put(url, {\n AlertaID: alertaId,\n NumeroDocumento: numeroDocumento,\n AlertaTipoLiberacaoID: tipoLiberacaoId,\n Motivo: motivo,\n Serie: serie,\n Unidade: unidade,\n SituacaoID: ESituacao.FINALIZADO,\n UsuarioID: this.accountService.userValue?.usuarioId,\n });\n }\n\n public onFinalizarAlertaERegra({\n alertaId = null,\n numeroDocumento = null,\n tipoLiberacaoId = null,\n motivo = null,\n serie = null,\n unidade = null,\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/FinalizarAlertaERegra`;\n return this.util.Put(url, {\n AlertaID: alertaId,\n NumeroDocumento: numeroDocumento,\n AlertaTipoLiberacaoID: tipoLiberacaoId,\n Motivo: motivo,\n Serie: serie,\n Unidade: unidade,\n SituacaoID: ESituacao.FINALIZADO,\n UsuarioID: this.accountService.userValue?.usuarioId,\n });\n }\n\n public onConfirm({\n alertaId = null,\n numeroDocumento = null,\n tipoLiberacaoId = null,\n motivo = null,\n serie = null,\n unidade = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/Alterar`;\n return this.util.Put(url, {\n AlertaID: alertaId,\n NumeroDocumento: numeroDocumento,\n AlertaTipoLiberacaoID: tipoLiberacaoId,\n Motivo: motivo,\n Serie: serie,\n Unidade: unidade,\n SituacaoID: ESituacao.EM_ATENDIMENTO,\n UsuarioID: this.accountService.userValue?.usuarioId,\n });\n }\n\n public atender({\n alertaId = null,\n numeroDocumento = null,\n tipoLiberacaoId = null,\n motivo = null,\n serie = null,\n unidade = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/Atender`;\n return this.util.Put(url, {\n AlertaID: alertaId,\n NumeroDocumento: numeroDocumento,\n AlertaTipoLiberacaoID: tipoLiberacaoId,\n Motivo: motivo,\n Serie: serie,\n Unidade: unidade,\n SituacaoID: ESituacao.EM_ATENDIMENTO,\n UsuarioID: this.accountService.userValue?.usuarioId,\n });\n }\n\n public onToMeet({\n alertaId = null,\n numeroDocumento = null,\n tipoLiberacaoId = null,\n motivo = null,\n serie = null,\n unidade = null,\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/Alterar`;\n return this.util.Put(url, {\n AlertaID: alertaId,\n NumeroDocumento: numeroDocumento,\n AlertaTipoLiberacaoID: tipoLiberacaoId,\n Motivo: motivo,\n Serie: serie,\n Unidade: unidade,\n SituacaoID: ESituacao.PENDENTE,\n UsuarioID: this.accountService.userValue?.usuarioId,\n });\n }\n\n public putSituacao({\n alertaId = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util.Put(url, {\n ID: alertaId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public devolverParaFilaDePendentes({\n alertaId = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/DevolverParaFilaDePendentes`;\n return this.util.Put(url, {\n ID: alertaId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n DataGeracao: this._state.dataGeracao,\n FiltroGenerico: this._state.filtroGenerico,\n UsuarioAtendimentoNome: this._state.usuarioAtendimentoNome,\n UsuarioID: this.accountService.userValue?.usuarioId,\n AlertaID: this._state.alertaID,\n RegraID: this._state.regraID,\n DataInicial: this._state.periodo.dataInicial,\n DataFinal: this._state.periodo.dataFinal,\n Situacao: this._state.situacao,\n Motivo: this._state.motivo,\n Serie: this._state.serie,\n Condicionante: this._state.condicionante,\n UsuarioAtendimento: this._state.usuarioAtendimento,\n TipoAlerta: this._state.tipoAlerta,\n UsuarioIDLogado: this.accountService.userValue?.usuarioId\n })\n .pipe(\n map((data) => ({ alertas: data.results.map(dto => new Alerta(dto)), total: data.total })),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR\", error?.message || message);\n return of({ alertas: [], total: 0 });\n })\n );\n }\n}\n","import { ESituacao } from './../constantes/app.esituacao.const';\nimport { Agrupador } from './../model/app.agrupador.model';\nimport { tap } from 'rxjs/operators';\nimport { ListItem } from './../interfaces/app.utilservices.interface';\nimport { UtilService } from './app.utils.service';\nimport { Injectable } from \"@angular/core\";\nimport { TipoDado } from '../model/app.tipodado.model';\nimport { filter, map } from 'rxjs/operators';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport {\n Condicionante,\n FiltroEntrada,\n Grupo,\n Icone,\n ModeloRegra,\n Operador,\n ParametroEntrada,\n ParametroSaida,\n Usuario\n} from '../model';\nimport { ComportamentoRegra } from '../model/app.comportamentoregra.model';\nimport { TipoDestinatario } from '../model/app.tipodestinatario.model';\nimport { Unidade, UnidadeFiscal } from '../model/app.unidadefiscal.model';\nimport { Perfil } from '../model/app.perfil.model';\nimport { Modulo } from '../model/app.modulo.model';\nimport { Equipamento } from '../model/app.equipamentos.model';\nimport { Dashboard } from '../model/app.dashboard.model';\nimport { Params } from '@angular/router';\nimport { HttpParams } from '@angular/common/http';\nimport { UtilAcessoProducaoService } from './app.utilsacessoproducao.service';\nimport { Servidor } from '../model/app.servidor.model';\nimport { Acao } from '../model/app.acao.model';\nimport { LocalizacaoUsuarioDto } from '../pages/usuarioconectado/dto/localizacaousuario.dto';\nimport { AccountService } from './app.login.service';\nimport { AlertaImagem, AlertaImagemAtendimento } from '../model/app.alertaimagematendimento.model';\n\n@Injectable()\nexport class ComunService {\n\n constructor(private util: UtilService,\n private utilAcessoProducao: UtilAcessoProducaoService,\n private accountService: AccountService) {\n }\n\n public ObterUsuarioLogado() {\n return 1;\n }\n\n public ObterTipoDado(): Observable {\n const url = `${environment.apiUrl}/TipoDado/obterTodos`;\n return this.util.Get(url)\n .pipe(\n map((tiposDado: any[]) => tiposDado?.map(({ tipoDadoID, nome }) => ({ tipoDadoID, nome } as ListItem)) || [])\n );\n }\n\n public ObterCondicionantesAtivos(): Observable {\n const url = `${environment.apiUrl}/Condicionante/obterAtivos`;\n return this.util.Get(url)\n .pipe(\n filter(condicionantes => !!condicionantes),\n map((condicionantes: any[]) => condicionantes.map(condicionante => new Condicionante(condicionante)))\n );\n }\n\n public ObterCondicionantesByExibeRegra(): Observable {\n const url = `${environment.apiUrl}/Condicionante/obterByExibeRegra`;\n return this.util.Get(url)\n .pipe(\n filter(condicionantes => !!condicionantes),\n map((condicionantes: any[]) => condicionantes.map(condicionante => new Condicionante(condicionante)))\n );\n }\n\n public ObterCondicionantesAtivosEAtribuido(condicionanteId: number): Observable {\n const url = `${environment.apiUrl}/Condicionante/obterTodos`;\n return this.util.Get(url)\n .pipe(\n filter(condicionantes => !!condicionantes),\n map((condicionantes: any[]) => condicionantes.map(condicionante => new Condicionante(condicionante))),\n map((condicionantes: any[]) => condicionantes.filter(condicionante => condicionante.condicionanteId == condicionanteId || condicionante.situacaoId == ESituacao.ATIVO)),\n );\n }\n\n public ObterFiltrosEntradaAtivos(): Observable {\n const url = `${environment.apiUrl}/FiltroEntrada/obterAtivos`;\n return this.util.Get(url)\n .pipe(\n filter(filtrosEntrada => !!filtrosEntrada),\n map((filtrosEntrada: any[]) => filtrosEntrada.map(filtroEntrada => new FiltroEntrada(filtroEntrada)))\n );\n }\n\n public ObterModelosRegraAtivos(): Observable {\n const url = `${environment.apiUrl}/ModeloRegra/obterAtivos`;\n const dados: Subject = new BehaviorSubject(null);\n this.util.Get(url)\n .pipe(\n filter(modelosRega => !!modelosRega)\n )\n .subscribe((modelosRega: ModeloRegra[]) => dados.next(modelosRega.map(modeloRegra => new ModeloRegra(modeloRegra))));\n return dados.asObservable();\n }\n\n public ObterModelosConfiguradosParaSerExibidosNoCadatroDaRegra(): Observable {\n const url = `${environment.apiUrl}/ModeloRegra/ObterModelosConfiguradosParaSerExibidosNoCadatroDaRegra`;\n const dados: Subject = new BehaviorSubject(null);\n this.util.Get(url)\n .pipe(\n filter(modelosRega => !!modelosRega)\n )\n .subscribe((modelosRega: ModeloRegra[]) => dados.next(modelosRega.map(modeloRegra => new ModeloRegra(modeloRegra))));\n return dados.asObservable();\n }\n\n public ObterParametrosEntradaAtivos(): Observable {\n const url = `${environment.apiUrl}/ParametroEntrada/obterAtivos`;\n return this.util.Get(url)\n .pipe(\n filter(parametrosEntrada => !!parametrosEntrada),\n map((parametrosEntrada: any[]) => parametrosEntrada.map(parametroEntrada => new ParametroEntrada(parametroEntrada)))\n );\n }\n\n public ObterParametrosSaidaAtivos(): Observable {\n const url = `${environment.apiUrl}/ParametroSaida/obterAtivos`;\n return this.util.Get(url)\n .pipe(\n filter(parametrosSaida => !!parametrosSaida),\n map((parametrosSaida: any[]) => parametrosSaida.map(parametroSaida => new ParametroSaida(parametroSaida)))\n );\n }\n\n public ObterTipoDestinatarioAtivos(): Observable {\n const url = `${environment.apiUrl}/TipoDestinatario/obterAtivos`;\n return this.util.Get(url)\n .pipe(\n filter(tiposDestinatario => !!tiposDestinatario),\n map((tiposDestinatario: any[]) => tiposDestinatario.map(tipoDestinatario => new TipoDestinatario(tipoDestinatario)))\n );\n }\n\n public ObterComportamentoRegraAtivos(): Observable {\n const url = `${environment.apiUrl}/ComportamentoRegra/obterTodos`;\n const dados: Subject = new BehaviorSubject(null);\n this.util.Get(url)\n .pipe(\n filter(comportamentosRegra => !!comportamentosRegra)\n )\n .subscribe((comportamentosRegra: ComportamentoRegra[]) => dados.next(comportamentosRegra.map(comportamentoRegra => new ComportamentoRegra(comportamentoRegra))));\n return dados.asObservable();\n }\n\n public ObterUsuariosAtivos(): Observable {\n const url = `${environment.apiUrl}/Usuario/obterAtivos`;\n return this.util.Get(url)\n .pipe(\n filter(usuarios => !!usuarios),\n map(usuarios => usuarios.map(usuario => new Usuario(usuario)))\n )\n }\n\n public ObterPerfilsAtivos(): Observable {\n const url = `${environment.apiUrl}/Perfil/obterAtivos`;\n const dados: Subject = new BehaviorSubject(null);\n this.util.Get(url)\n .pipe(\n filter(perfils => !!perfils)\n )\n .subscribe((perfils: Perfil[]) => dados.next(perfils.map(perfil => new Perfil(perfil))));\n return dados.asObservable();\n }\n\n public ObterGrupos(): Observable {\n const url = `${environment.apiUrl}/Grupo/obterTodos`;\n return this.util.Get(url)\n .pipe(\n map((grupos: any[]) => grupos?.map(({ grupoID, nome }) => ({ grupoID, nome } as ListItem)) || [])\n );\n }\n\n public ObterModulosAtivos(): Observable {\n const url = `${environment.apiUrl}/Modulo/obterAtivos`;\n return this.util.Get(url)\n .pipe(\n filter(modulos => !!modulos),\n map((modulos: any[]) => modulos.map(modulo => new Modulo(modulo)))\n );\n }\n\n public ObterModulosPorUsuario(usuarioId: number): Observable {\n const url = `${environment.apiUrl}/Modulo/obterPorUsuario/${usuarioId}`;\n return this.util.Get(url)\n .pipe(\n filter(modulos => !!modulos),\n map((modulos: any[]) => modulos.map(modulo => new Modulo(modulo)))\n );\n }\n\n public ObterIcones(): Observable {\n const url = `assets/json/icones.json`;\n const dados: Subject = new BehaviorSubject(null);\n this.util.GetJson(url)\n .pipe(\n filter(icones => !!icones),\n tap((icones: any[]) => icones.orderBy(\"Nome\"))\n )\n .subscribe((icones: Icone[]) => dados.next(icones.map(icone => new Icone(icone))));\n return dados.asObservable();\n }\n\n public ObterOperadoresAtivos(): Observable {\n const url = `${environment.apiUrl}/Operador/obterAtivos`;\n return this.util.Get(url)\n .pipe(\n filter(operadores => !!operadores),\n map((operadores: any[]) => operadores.map(operador => new Operador(operador)))\n );\n }\n\n public ObterAgrupadoresAtivos(): Observable {\n const url = `${environment.apiUrl}/Agrupador/obterAtivos`;\n return this.util.Get(url)\n .pipe(\n filter(agrupadores => !!agrupadores),\n map((agrupadores: any[]) => agrupadores.map(agrupador => new Agrupador(agrupador)))\n );\n }\n\n public ObterEquipamentos(): Observable {\n const url = `${environment.apiUrlFiscalizacaoVirutalTransito}/Equipamento/consultar-equipamentos`;\n return this.util.Get(url)\n .pipe(\n filter(equipamentos => !!equipamentos),\n map(resposta => {\n if (Array.isArray(resposta))\n return resposta;\n const { equipamentos: { $values } } = resposta;\n return $values;\n }),\n map((equipamentos: any[]) => equipamentos.map(equipamento => new Equipamento(equipamento)))\n );\n }\n\n public ObterTodasUnidades(): Observable {\n const url = `${environment.apiUrlUnidadesProducao}/Unidade/v1/obter-unidades`;\n return this.utilAcessoProducao.Get(url)\n .pipe(\n filter(unidades => !!unidades),\n map(({ unidades }: any) => unidades.map(unidade => new Unidade(unidade)))\n );\n }\n\n public ObterTodasUnidadesFiscais(): Observable {\n const url = `${environment.apiUrl}/UnidadeFiscal/obterTodos`;\n return this.utilAcessoProducao.Get(url)\n .pipe(\n filter(unidadesFiscais => !!unidadesFiscais),\n map(unidadesFiscais => unidadesFiscais.map(unidadeFiscal => new UnidadeFiscal(unidadeFiscal)))\n );\n }\n\n public ObterTodasUnidadesFiscaisPorUsuario(): Observable {\n const url = `${environment.apiUrl}/ChefeUnidadeFiscal/obterUnidadesPorID/${this.accountService.userValue?.usuarioId}`;\n return this.utilAcessoProducao.Get(url)\n .pipe(\n filter(unidadesFiscais => !!unidadesFiscais),\n map(unidadesFiscais => unidadesFiscais.map(unidadeFiscal => new UnidadeFiscal(unidadeFiscal)))\n );\n }\n\n public ObterUnidadesMoveis(): Observable {\n const url = `${environment.apiUrl}/ChefeUnidadeFiscal/ObterUnidadesMoveis`;\n return this.utilAcessoProducao.Get(url)\n .pipe(\n filter(unidadesFiscais => !!unidadesFiscais),\n map(unidadesFiscais => unidadesFiscais.map(unidadeFiscal => new UnidadeFiscal(unidadeFiscal, false)))\n );\n }\n\n public ObterUnidadesFiscais(): Observable {\n const url = `${environment.apiUrl}/UnidadeFiscal/obterTodos`;\n return this.utilAcessoProducao.Get(url)\n .pipe(\n filter(unidadesFiscais => !!unidadesFiscais),\n map(unidadesFiscais => unidadesFiscais.map(unidadeFiscal => new UnidadeFiscal(unidadeFiscal))),\n map(unidadesFiscais => unidadesFiscais.filter(({ ehUnidade }) => ehUnidade)\n .reduce((final, unidade) => ([\n ...final,\n {\n ...unidade,\n subUnidades: unidadesFiscais.filter(({ unidadeFiscalIdPaiEfazenda }) => unidadeFiscalIdPaiEfazenda == unidade.unidadeFiscalIdEfazenda)\n }\n ]), []))\n );\n }\n\n public ObterUnidadesESubunidadesFiscaisAtivas(desabilitarUnidadesQueNaoPossuiUsuario: boolean = true): Observable {\n const url = `${environment.apiUrl}/UnidadeFiscal/ObterUnidadesESubunidadesFiscaisAtivas`;\n return this.utilAcessoProducao.Get(url)\n .pipe(\n filter(unidadesFiscais => !!unidadesFiscais),\n map(unidadesFiscais => unidadesFiscais.map(unidadeFiscal => new UnidadeFiscal(unidadeFiscal, desabilitarUnidadesQueNaoPossuiUsuario)))\n );\n }\n\n public ObterSubUnidades(unidadeID: number): Observable {\n const url = `${environment.apiUrl}/UnidadeFiscal/obterSubUnidades?unidadeFiscalIDPaiEFazenda=${unidadeID}`;\n return this.utilAcessoProducao.Get(url)\n .pipe(\n filter(unidadesFiscais => !!unidadesFiscais),\n map(unidadesFiscais => unidadesFiscais.map(unidadeFiscal => new UnidadeFiscal(unidadeFiscal))),\n );\n }\n\n public ObterNomeDosServidores(codigoUnidade: number): Observable {\n const dataAtual = new Date();\n const anoAtual = dataAtual.getFullYear();\n const mesAtual = dataAtual.getMonth() + 1;\n let params = {\n Unidade: codigoUnidade,\n Ano: anoAtual,\n Mes: mesAtual\n }\n console.log('params', params)\n const url = `${environment.apiUrlUnidadesProducao}/Servidor/v1/obter-servidores`;\n return this.utilAcessoProducao.Get(url, params)\n .pipe(\n filter(servidores => !!servidores),\n map(({ servidores }: any) => servidores.map(servidor => servidor.nome))\n );\n }\n\n public ObterDashboard(horas: number): Observable {\n const url = `${environment.apiUrl}/Alerta/Dashboard/${horas}`;\n return this.util.Get(url)\n .pipe(\n filter(dashboard => !!dashboard),\n map(dashboard => new Dashboard(dashboard))\n );\n }\n\n public ObterAcoes(): Observable {\n const url = `${environment.apiUrl}/Acao/obterTodosAuditoria`;\n return this.util.Get(url)\n .pipe(\n filter(dashboard => !!dashboard),\n map((acoes: any[]) => acoes?.map(acao => new Acao(acao)))\n );\n }\n\n public ObterUsuariosConectados(): Observable {\n const url = `${environment.apiUrl}/LocalizacaoUsuario/obterTodosRegistrosDaDataAtual`;\n return this.util.Get(url)\n .pipe(\n filter(usuariosConectados => !!usuariosConectados),\n map((usuariosConectados: any[]) => usuariosConectados.map(usuarioConectado => new LocalizacaoUsuarioDto(usuarioConectado)))\n );\n }\n\n public ObterUsuarioPorUnidade(unidadeID: Number) {\n const url = `${environment.apiUrl}/UsuarioUnidade/obterPorUnidadeID?unidadeID=${unidadeID}`;\n return this.util.Get(url)\n .pipe(\n filter(usuariosConectados => !!usuariosConectados)\n );\n }\n\n public ObterAlertaImagemAtendimento(alertaAImagemAtendimentoId: Number) {\n const url = `${environment.apiUrl}/AlertaImagemAtendimento/obterPorID/${alertaAImagemAtendimentoId}`;\n return this.util.Get(url)\n .pipe(\n filter(alertaImagemAtendimentos => !!alertaImagemAtendimentos)\n );\n }\n\n public ObterAlertaImagemPorAlertaImagemAtendimento(alertaAImagemAtendimentoId: Number) {\n const url = `${environment.apiUrl}/AlertaImagemAtendimento/obterImagemID/${alertaAImagemAtendimentoId}`;\n return this.util.Get(url)\n .pipe(\n filter(alertaImagem => !!alertaImagem)\n );\n }\n}\n","import { pluck } from 'rxjs/operators';\nimport { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of, from } from 'rxjs';\n\nimport { map, switchMap, catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { Condicionante } from '../model/app.condicionante.model';\nimport { ESituacao } from \"../constantes/app.esituacao.const\";\nimport { ComunService } from './app.comum.service';\nimport { AccountService } from './app.login.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CondicionanteService {\n private _search$ = new Subject();\n private _condicionantes$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n\n private readonly URL_CONTROLLER = 'Condicionante';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n filtroGenerico:'',\n descricao: '',\n situacaoID: '',\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ condicionantes, total }) => {\n this._condicionantes$.next(condicionantes);\n this._total$.next(total);\n });\n }\n\n get condicionantes$() { return this._condicionantes$.asObservable(); }\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n get situacao$() { return this._situacao$.asObservable(); }\n\n\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public new({\n condicionanteId = null,\n descricao = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/inserir`;\n return this.util.Post(url, {\n CondicionanteID: condicionanteId,\n Descricao: descricao,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n });\n }\n\n public get(data) {\n this._set(data);\n }\n\n public put({\n condicionanteId = null,\n descricao = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizar`;\n return this.util.Put(url, {\n CondicionanteID: condicionanteId,\n Descricao: descricao,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public putSituacao({\n condicionanteId = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util.Put(url, {\n ID: condicionanteId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public getById(condicionanteId: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${condicionanteId}`;\n return this.util.Get(url);\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n Descricao: this._state.descricao,\n SituacaoID: this._state.situacaoID,\n FiltroGenerico: this._state.filtroGenerico,\n UsuarioID: null,\n })\n .pipe(\n map((data) => ({ condicionantes: data.results.map(dto => new Condicionante(dto)), total: data.total })),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR\", error?.message || message);\n return of({ condicionantes: [], total: 0 });\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as FileSaver from 'file-saver';\nimport * as XLSX from 'xlsx';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExcelService {\n\n constructor() { }\n\n fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\n fileExtension = '.xlsx';\n\n public exportExcel(jsonData: any[], fileName: string): void {\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(jsonData);\n const wb: XLSX.WorkBook = { Sheets: { 'data': ws }, SheetNames: ['data'] };\n const excelBuffer: any = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\n this.saveExcelFile(excelBuffer, fileName);\n //XLSX.writeFile(excelBuffer, fileName + this.fileExtension);\n }\n\n private saveExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], { type: this.fileType });\n FileSaver.saveAs(data, fileName + this.fileExtension);\n }\n}\n","import { UtilService } from './app.utils.service';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of, from } from 'rxjs';\n\nimport { switchMap, tap, map, catchError, pluck } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { FiltroEntrada } from '../model/app.filtroentrada.model';\nimport { ESituacao } from \"../constantes/app.esituacao.const\";\nimport { ComunService } from './app.comum.service';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { AccountService } from './app.login.service';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class FiltroEntradaService {\n private _search$ = new Subject();\n private _filtroEntradas$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n\n private readonly URL_CONTROLLER = 'FiltroEntrada';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n situacaoID: '',\n tipoDadoID:'',\n filtroGenerico:''\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ filtroEntradas, total }) => {\n this._filtroEntradas$.next(filtroEntradas);\n this._total$.next(total);\n });\n }\n\n get filtroEntradas$() { return this._filtroEntradas$.asObservable(); }\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n get situacao$() { return this._situacao$.asObservable(); }\n\n\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public new({\n filtroEntradaId = null,\n nome = null,\n tipoDadoId = null,\n caminhoMapeado = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/inserir`;\n return this.util.Post(url, {\n FiltroEntradaID: filtroEntradaId,\n Nome: nome,\n UsuarioID: this.accountService.userValue?.usuarioId,\n TipoDadoID: tipoDadoId,\n CaminhoMapeado: caminhoMapeado\n });\n }\n\n public get(data) {\n this._set(data);\n }\n\n public put({\n filtroEntradaId = null,\n nome = null,\n tipoDadoId = null,\n situacaoId = null,\n caminhoMapeado = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizar`;\n return this.util.Put(url, {\n FiltroEntradaID: filtroEntradaId,\n Nome: nome,\n UsuarioID: this.accountService.userValue?.usuarioId,\n TipoDadoID: tipoDadoId,\n SituacaoID: situacaoId,\n CaminhoMapeado: caminhoMapeado\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public putSituacao({\n filtroEntradaId = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util.Put(url, {\n ID: filtroEntradaId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public getById(FiltroEntradaId: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${FiltroEntradaId}`;\n return this.util.Get(url);\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n Nome: this._state.nome,\n SituacaoID: this._state.situacaoID,\n TipoDadoID:this._state.tipoDadoID,\n FiltroGenerico: this._state.filtroGenerico,\n UsuarioID: null,\n })\n .pipe(\n map((data) => ({ filtroEntradas: data.results.map(dto => new FiltroEntrada(dto)), total: data.total })),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR\", error?.message || message);\n return of({ filtroEntradas: [], total: 0 });\n })\n );\n }\n}\n","import { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\n\nimport { map, switchMap, catchError, tap, filter } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { ComunService } from './app.comum.service';\nimport { LocalizacaoEvento, LocalizacaoEventoSearch } from '../model/app.localizacaoevento.model';\nimport { BlockUtil } from '../helper/app.block.utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalizacaoEventoService {\n private _search$ = new Subject();\n private _localizacaoEventos$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n\n private readonly URL_CONTROLLER = 'LocalizacaoEvento';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n usuarioId: null,\n unidade: null,\n acaoId: null,\n dataHoraInicio: null,\n dataHoraFim: null\n };\n\n constructor(private util: UtilService, private blockUtil: BlockUtil) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ localizacaoEventos, total }) => {\n this._localizacaoEventos$.next(localizacaoEventos);\n this._total$.next(total);\n });\n }\n\n get localizacaoEventos() { return this._localizacaoEventos$.value; }\n get localizacaoEventos$() { return this._localizacaoEventos$.asObservable(); }\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n get situacao$() { return this._situacao$.asObservable(); }\n\n\n set bloqueioTela(nome: string) { this.blockUtil.blockName = nome; }\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public get({\n usuarioId = null,\n unidade = null,\n acaoID = null,\n dataHoraInicio = null,\n dataHoraFim = null,\n page = 1\n }) {\n this._set({ usuarioId, unidade, acaoID, dataHoraInicio, dataHoraFim, page });\n }\n\n public getById(id: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${id}`;\n return this.util.Get(url)\n .pipe(\n filter(localizacaoEventos => !!localizacaoEventos),\n map(localizacaoEvento => new LocalizacaoEvento(localizacaoEvento))\n );\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n this.blockUtil.bloquear();\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.DESC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n UsuarioID: this._state.usuarioId,\n Unidade: this._state.unidade,\n acaoID: this._state.acaoID,\n DataHoraInicio: this._state.dataHoraInicio,\n DataHoraFim: this._state.dataHoraFim\n })\n .pipe(\n map(({ results, total }) => ({ localizacaoEventos: results.map(dto => new LocalizacaoEvento(dto)), total })),\n tap(() => this.blockUtil.desbloquear()),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR\", error?.message || message);\n return of({ localizacaoEventos: [], total: 0 });\n })\n );\n }\n}\n","import { UtilService } from './app.utils.service';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of, from, AsyncSubject } from 'rxjs';\n\nimport { switchMap, tap, map, catchError, pluck } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { ComunService } from './app.comum.service';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { LocalizacaoUsuarioDto } from '../pages/usuarioconectado/dto/localizacaousuario.dto';\nimport { data } from 'jquery';\nimport { BlockUtil } from '../helper/app.block.utils';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LocalizacaoUsuarioService {\n private _search$ = new Subject();\n private _usuariosConectados$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n\n private readonly URL_CONTROLLER = 'LocalizacaoUsuario';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n \n };\n\n constructor(private util: UtilService, private comunService: ComunService, private blockUtil: BlockUtil) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ usuariosConectados, total }) => {\n this._usuariosConectados$.next(usuariosConectados);\n this._total$.next(total);\n });\n }\n\n get usuariosConectados$() { return this._usuariosConectados$.asObservable(); }\n get usuariosConectados() { return this._usuariosConectados$.value }\n\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n get situacao$() { return this._situacao$.asObservable(); }\n\n set bloqueioTela(nome: string) { this.blockUtil.blockName = nome; }\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public get(data:any) {\n this._set(data);\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n this.blockUtil.bloquear();\n return this.util.Post(url, \n this._state\n ).pipe( \n map((data) => ({usuariosConectados: data.results.map(dto => new LocalizacaoUsuarioDto(dto)), total: data.total })),\n tap(() => this.blockUtil.desbloquear()),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR\", error?.message || message);\n return of({ usuariosConectados: [], total: 0 });\n })\n );\n }\n}","import { ListItem } from 'src/app/interfaces/app.utilservices.interface';\nimport { EAcao } from 'src/app/constantes/app.eacao.const';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { filter, map, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { Usuario } from '../model/app.usuario.model';\nimport { UtilService } from './app.utils.service';\n\nconst TEMPO_MINUTOS: number = 10;\n@Injectable({\n providedIn: 'root'\n})\nexport class AccountService {\n private userSubject: BehaviorSubject;\n private useKeyLocalStorage: string = 'CotinAlerta@User';\n private authUrl: string;\n\n public user: Observable;\n public userLocal: Usuario;\n\n constructor(\n private router: Router,\n private util: UtilService\n ) {\n this.userLocal = this.getWithExpiry(this.useKeyLocalStorage);\n this.userSubject = new BehaviorSubject(this.userLocal);\n this.user = this.userSubject.asObservable();\n\n if (environment.local) {\n const usuario = new Usuario({ \"usuarioID\": 1, \"nome\": \"System\", \"login\": \"sys\", \"perfil\": { \"nome\": \"ADMINISTRADOR\" } });\n this.setWithExpiry(this.useKeyLocalStorage, usuario, TEMPO_MINUTOS * 10);\n this.userSubject.next(usuario);\n }\n }\n\n public get $user(): Observable {\n return this.userSubject.asObservable();\n }\n\n public get userValue(): Usuario {\n return this.userSubject.value;\n }\n\n public get userLogged(): boolean {\n return !!this.getWithExpiry(this.useKeyLocalStorage);\n }\n\n public Login(chave: string): Observable {\n this.authUrl = `${environment.apiUrl}/Usuario/login/${chave}`;\n return this.util.Get(this.authUrl)\n .pipe(\n filter(response => !!response),\n map(({ usuario: _usuario }: any) => {\n const usuario = new Usuario(_usuario);\n this.setWithExpiry(this.useKeyLocalStorage, usuario, TEMPO_MINUTOS);\n this.userSubject.next(usuario);\n return usuario;\n }));\n }\n\n public Logout() {\n localStorage.removeItem(this.useKeyLocalStorage);\n this.userSubject.next(null);\n // if (!this.router.url.endsWith('login'))\n // this.router.navigate(['/login']);\n //window.open('','_parent','');\n window.close();\n }\n\n private setWithExpiry(key: string, usuarioLocal: Usuario, minutes: number) {\n const now = new Date();\n const item = {\n value: usuarioLocal,\n expiry: now.getTime() + (minutes * 1000 * 60),\n };\n localStorage.setItem(key, JSON.stringify(item));\n }\n\n private getWithExpiry(key: string) {\n const itemStr = localStorage.getItem(key);\n if (!itemStr)\n return null;\n\n const item = JSON.parse(itemStr);\n const now = new Date();\n if (now.getTime() > item.expiry) {\n localStorage.removeItem(key);\n return null;\n }\n return item.value;\n }\n\n public GetPermissionbyUser(caminho: string): Observable {\n const dados: Subject = new BehaviorSubject(null);\n const usuario = this.getWithExpiry(this.useKeyLocalStorage);\n\n if (!usuario)\n return of();\n\n this.authUrl = `${environment.apiUrl}/Usuario/${usuario.usuarioId}/validar/${caminho}/permissoes`;\n this.util.Get(this.authUrl)\n .pipe(\n filter(acoes => !!acoes),\n tap((acoes: any[]) => acoes.orderBy(\"Nome\"))\n )\n .subscribe((acoes: ListItem[]) => dados.next(acoes.map(({ acaoID, nome }) => ({ nome, acaoId: acaoID }))));\n return dados.asObservable();\n }\n\n public CheckPermission(caminho: string, permissao: number): Observable {\n return this.GetPermissionbyUser(caminho)\n .pipe(\n filter(acoes => !!acoes),\n map((acoes: any[]) => acoes.some(({ acaoId }) => acaoId == permissao))\n );\n }\n\n public PermissionOnModel(url: string) {\n const permissoes = EAcao.toObject();\n var regex = new RegExp('[?&]id(=([^&#]*)|&|#|$)'),\n results = regex.exec(url);\n const caminho = url.slice(0, results?.index ?? url.length).replace('/', '');\n return this.GetPermissionbyUser(caminho)\n .pipe(\n filter(acoes => acoes != undefined),\n map((acoes: any[]) => {\n for (const { nome } of acoes)\n permissoes[nome.toUpperCase()] = true;\n\n return permissoes;\n })\n );\n }\n}\n","import { ModeloRegra } from 'src/app/model/app.modeloregra.model';\nimport { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\n\nimport { map, switchMap, catchError, tap, filter } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { ComunService } from './app.comum.service';\nimport { AccountService } from './app.login.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModeloRegraService {\n private _search$ = new Subject();\n private _modelosregra$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n\n private readonly URL_CONTROLLER = 'ModeloRegra';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n situacaoID:'',\n condicionante:'',\n fitroGenerico:''\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ modelosregra, total }) => {\n this._modelosregra$.next(modelosregra);\n this._total$.next(total);\n });\n }\n\n get modelosregra$() { return this._modelosregra$.asObservable(); }\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n get situacao$() { return this._situacao$.asObservable(); }\n\n\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public new({\n modeloRegraId = null,\n condicionanteId = null,\n nome = null,\n parametrosEntrada = null,\n filtrosEntrada = null,\n parametrosSaida = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/inserir`;\n return this.util.Post(url, {\n ModeloRegraID: modeloRegraId,\n CondicionanteID: condicionanteId,\n Nome: nome,\n ParametrosEntrada: parametrosEntrada.map(({ parametroEntradaId, obrigatorio }) => ({ ParametroEntradaID: parametroEntradaId, Obrigatorio: obrigatorio })),\n FiltrosEntrada: filtrosEntrada.map(({ filtroEntradaId, obrigatorio }) => ({ FiltroEntradaID: filtroEntradaId, Obrigatorio: obrigatorio })),\n ParametrosSaida: parametrosSaida.map(({ parametroSaidaId, compoeNotificacao, compoeVisualizacao }) => ({ ParametroSaidaID: parametroSaidaId, CompoeNotificacao: compoeNotificacao, CompoeVisualizacao: compoeVisualizacao })),\n UsuarioID: this.accountService.userValue?.usuarioId\n });\n }\n\n public get(data) {\n this._set(data);\n }\n\n public put({\n modeloRegraId = null,\n condicionanteId = null,\n nome = null,\n parametrosEntrada = null,\n filtrosEntrada = null,\n parametrosSaida = null,\n situacaoId = null,\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizar`;\n return this.util.Put(url, {\n ModeloRegraID: modeloRegraId,\n CondicionanteID: condicionanteId,\n Nome: nome,\n ParametrosEntrada: parametrosEntrada.map(({ parametroEntradaId, obrigatorio }) => ({ ParametroEntradaID: parametroEntradaId, Obrigatorio: obrigatorio })),\n FiltrosEntrada: filtrosEntrada.map(({ filtroEntradaId, obrigatorio }) => ({ FiltroEntradaID: filtroEntradaId, Obrigatorio: obrigatorio })),\n ParametrosSaida: parametrosSaida.map(({ parametroSaidaId, compoeNotificacao, compoeVisualizacao }) => ({ ParametroSaidaID: parametroSaidaId, CompoeNotificacao: compoeNotificacao, CompoeVisualizacao: compoeVisualizacao })),\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public putSituacao({\n modeloRegraId = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util.Put(url, {\n ID: modeloRegraId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public getById(modeloRegraId: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${modeloRegraId}`;\n return this.util.Get(url)\n .pipe(\n filter(modeloRegra => !!modeloRegra),\n map(modeloRegra => new ModeloRegra(modeloRegra))\n );\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n Nome: this._state.nome,\n SituacaoID:this._state.situacaoID,\n Condicionante:this._state.condicionante,\n FiltroGenerico: this._state.filtroGenerico\n })\n .pipe(\n map(({ results, total }) => ({ modelosregra: results.map(dto => new ModeloRegra(dto)), total })),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR\", error?.message || message);\n return of({ condicionantes: [], total: 0 });\n })\n );\n }\n}\n","import { Modulo } from 'src/app/model/app.modulo.model';\nimport { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\n\nimport { map, switchMap, catchError, tap, filter } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { ComunService } from './app.comum.service';\nimport { AccountService } from './app.login.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModuloService {\n private _search$ = new Subject();\n private _modulo$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n\n private readonly URL_CONTROLLER = 'Modulo';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n grupoID:'',\n caminho:'',\n filtroGenerico:''\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ modulo, total }) => {\n this._modulo$.next(modulo);\n this._total$.next(total);\n });\n }\n\n get modulo$() { return this._modulo$.asObservable(); }\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n get situacao$() { return this._situacao$.asObservable(); }\n\n\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public new({\n grupoId = null,\n titulo = null,\n caminho = null,\n icone = null,\n ordem = null,\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/inserir`;\n return this.util.Post(url, {\n GrupoID: grupoId,\n Titulo: titulo,\n Caminho: caminho,\n Icone: icone,\n Ordem: ordem || null,\n UsuarioID: this.accountService.userValue?.usuarioId,\n });\n }\n\n public get(data) {\n this._set(data);\n }\n\n public put({\n moduloId = null,\n grupoId = null,\n titulo = null,\n caminho = null,\n icone = null,\n ordem = null,\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizar`;\n return this.util.Put(url, {\n ModuloID: moduloId,\n GrupoID: grupoId,\n Titulo: titulo,\n Caminho: caminho,\n Icone: icone,\n Ordem: ordem || 0,\n UsuarioID: this.accountService.userValue?.usuarioId,\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public putSituacao({\n moduloId = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util.Put(url, {\n ID: moduloId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public getById(moduloId: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${moduloId}`;\n return this.util.Get(url)\n .pipe(\n filter(modulo => !!modulo),\n map(modulo => new Modulo(modulo))\n );\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n Titulo: this._state.nome,\n GrupoID:this._state.grupoID,\n Caminho: this._state.caminho,\n FiltroGenerico: this._state.filtroGenerico\n })\n .pipe(\n map(({ results, total }) => ({ modulo: results.map(dto => new Modulo(dto)), total })),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR\", error?.message || message);\n return of({ modulo: [], total: 0 });\n })\n );\n }\n}\n","import { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\n\nimport { map, switchMap, catchError, tap, pluck } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { ParametroEntrada } from '../model/app.parametroentrada.model';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { AuthenticationProvider } from '../auth/app.auth.token';\nimport { HttpClient } from '@angular/common/http';\nimport { ComunService } from './app.comum.service';\nimport { AccountService } from './app.login.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ParametrosEntradaService {\n private _search$ = new Subject();\n private _parametros$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n\n private readonly URL_CONTROLLER = 'ParametroEntrada';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n filtroGenerico:'',\n nome: null,\n situacaoID: null,\n tipoDadoID: null,\n dataDeTratamento: null,\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ parametros, total }) => {\n this._parametros$.next(parametros);\n this._total$.next(total);\n });\n }\n\n get parametros$() { return this._parametros$.asObservable(); }\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public get(data) {\n console.log(data);\n \n this._set(data);\n }\n\n public new({\n nome = null,\n tipoDadoId = null,\n caminhoMapeado = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/inserir`;\n return this.util.Post(url, {\n Nome: nome,\n tipoDadoID: tipoDadoId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n CaminhoMapeado: caminhoMapeado\n });\n }\n\n public put({\n parametroEntradaId = null,\n nome = null,\n tipoDadoId = null,\n caminhoMapeado = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizar`;\n return this.util.Put(url, {\n ParametroEntradaID: parametroEntradaId,\n Nome: nome,\n tipoDadoID: tipoDadoId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n CaminhoMapeado: caminhoMapeado\n })\n }\n\n public putSituacao({\n parametroEntradaID = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util.Put(url, {\n ID: parametroEntradaID,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public getById(parametroEntradaId: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${parametroEntradaId}`;\n return this.util.Get(url);\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n console.log(this._state);\n \n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n Nome: this._state.nome,\n SituacaoID: this._state.situacaoID,\n TipoDadoID: this._state.tipoDadoID,\n UsuarioID: null,\n FiltroGenerico: this._state.filtroGenerico \n })\n .pipe(\n map((data) => ({ parametros: data.results, total: data.total })),\n catchError(erroRequest => {\n const { error, message } = erroRequest;\n console.log(\"ERROR:\", error?.message || message);\n return of({ parametros: [], total: 0 });\n })\n )\n }\n}\n","import { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\n\nimport { map, switchMap, catchError, tap, pluck } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { ParametroSaida } from '../model/app.parametrosaida.model';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { ComunService } from './app.comum.service';\nimport { AccountService } from './app.login.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ParametrosSaidaService {\n private _search$ = new Subject();\n private _parametros$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n\n private readonly URL_CONTROLLER = 'ParametroSaida';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n filtroGenerico:'',\n nome: null,\n situacaoID: null,\n tipoDadoID: null,\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ parametros, total }) => {\n this._parametros$.next(parametros);\n this._total$.next(total);\n });\n }\n\n get parametros$() { return this._parametros$.asObservable(); }\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public get(data) {\n this._set(data);\n }\n\n public new({\n nome = null,\n tipoDadoId = null,\n caminhoMapeado = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/inserir`;\n return this.util.Post(url, {\n Nome: nome,\n TipoDadoID: tipoDadoId,\n CaminhoMapeado: caminhoMapeado,\n UsuarioID: this.accountService.userValue?.usuarioId\n });\n }\n\n public put({\n parametroSaidaId = null,\n nome = null,\n tipoDadoId = null,\n caminhoMapeado = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizar`;\n return this.util.Put(url, {\n ParametroSaidaID: parametroSaidaId,\n Nome: nome,\n TipoDadoID: tipoDadoId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n CaminhoMapeado: caminhoMapeado\n })\n }\n\n public putSituacao({\n parametroSaidaID = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util.Put(url, {\n ID: parametroSaidaID,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public getById(parametroSaidaId: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${parametroSaidaId}`;\n return this.util.Get(url);\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n Nome: this._state.nome,\n SituacaoID: this._state.situacaoID,\n TipoDadoID: this._state.tipoDadoID,\n FiltroGenerico: this._state.filtroGenerico,\n UsuarioID: null\n })\n .pipe(\n map((data) => ({ parametros: data.results, total: data.total })),\n catchError(erroRequest => {\n const { error, message } = erroRequest;\n console.log(\"ERROR:\", error?.message || message);\n return of({ parametros: [], total: 0 });\n })\n )\n }\n}\n","import { Perfil } from 'src/app/model/app.perfil.model';\nimport { ModeloRegra } from 'src/app/model/app.modeloregra.model';\nimport { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\n\nimport { map, switchMap, catchError, tap, filter } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { ComunService } from './app.comum.service';\nimport { AccountService } from './app.login.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PerfilService {\n private _search$ = new Subject();\n private _perfil$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n\n private readonly URL_CONTROLLER = 'Perfil';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n situacaoID:'',\n filtroGenerico:''\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ perfil, total }) => {\n this._perfil$.next(perfil);\n this._total$.next(total);\n });\n }\n\n get perfil$() { return this._perfil$.asObservable(); }\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n get situacao$() { return this._situacao$.asObservable(); }\n\n\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public new({\n nome = null,\n modulosPerfil = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/inserir`;\n return this.util.Post(url, {\n Nome: nome,\n Modulos: modulosPerfil,\n UsuarioID: this.accountService.userValue?.usuarioId\n });\n }\n\n public get(data) {\n this._set(data);\n }\n\n public put({\n perfilId = null,\n nome = null,\n modulosPerfil = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizar`;\n return this.util.Put(url, {\n PerfilID: perfilId,\n Nome: nome,\n UsuarioID: this.accountService.userValue?.usuarioId,\n Modulos: modulosPerfil\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public putSituacao({\n perfilId = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util.Put(url, {\n ID: perfilId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public getById(perfilId: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${perfilId}`;\n return this.util.Get(url)\n .pipe(\n filter(perfil => !!perfil),\n map(perfil => new Perfil(perfil))\n );\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n Nome: this._state.nome,\n SituacaoID:this._state.situacaoID,\n FiltroGenerico:this._state.filtroGenerico\n })\n .pipe(\n map(({ results, total }) => ({ perfil: results.map(dto => new Perfil(dto)), total })),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR\", error?.message || message);\n return of({ perfil: [], total: 0 });\n })\n );\n }\n}\n","import { UtilService } from './app.utils.service';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\nimport { switchMap, tap, map, catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { ComunService } from './app.comum.service';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { Placa } from '../model/app.placas.dto';\nimport { ToastUtil } from '../helper/app.toast.utils';\nimport { BlockUtil } from '../helper/app.block.utils';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class PlacaService {\n private _search$ = new Subject();\n private _placas$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n public blockUtil: BlockUtil = null;\n public consultaRetornouResultado = false;\n\n private readonly URL_CONTROLLER = 'Placa';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n placa: '',\n dataInicio: '',\n dataFim: ''\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private toast: ToastUtil,) {\n this._search$.pipe( \n tap(() => this.blockUtil.bloquear()), \n switchMap(() => this._pagination())\n ).subscribe(({ placas, total }) => {\n this._placas$.next(placas);\n this._total$.next(total);\n this.consultaRetornouResultado = total > 0;\n this.blockUtil.desbloquear();\n });\n }\n\n get placas$() { return this._placas$.asObservable(); }\n get placas() { return this._placas$.value }\n\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n get situacao$() { return this._situacao$.asObservable(); }\n\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public get({ placa = null, dataInicio = null, dataFim = null }) {\n this._set({ placa, dataInicio, dataFim });\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}`;\n\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n placa: this._state.placa,\n dataInicio: this._state.dataInicio,\n dataFim: this._state.dataFim\n }).pipe(\n map((data) => ({ placas: data.results.map(dto => new Placa(dto)), total: data.total })),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR...\", error?.message || message);\n this.toast.showWarning(error?.message || message);\n return of({ placas: [], total: 0 });\n })\n );\n }\n}\n","import { Regra } from 'src/app/model/app.regra.model';\nimport { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of, throwError } from 'rxjs';\n\nimport { map, switchMap, catchError, tap, filter } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { ComunService } from './app.comum.service';\nimport { AccountService } from './app.login.service';\nimport { BlockUtil } from '../helper/app.block.utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RegraService {\n private _busca$ = new Subject();\n private _regra$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n public blockUtil: BlockUtil = null;\n\n private readonly URL_CONTROLLER = 'Regra';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome: '',\n filtroGenerico: '',\n regraID: '',\n nomeModelo: '',\n destinatario: '',\n justificativa:'',\n periodo: {\n dataInicial: '',\n dataFinal: ''\n },\n situacao: '',\n tipoRegra: ''\n\n\n\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._busca$\n .pipe(\n tap(() => this.blockUtil.bloquear()),\n switchMap(() => this._pagination())\n )\n .subscribe(({ regra, total }) => {\n this._regra$.next(regra);\n this._total$.next(total);\n this.blockUtil.desbloquear();\n });\n }\n\n get regras$() {\n return this._regra$.asObservable();\n }\n\n get regras() {\n return this._regra$.value;\n }\n\n get total$() {\n return this._total$.asObservable();\n }\n get page() {\n return this._state.page;\n }\n get pages() {\n return Math.ceil(this._total$.value / this._state.pageSize);\n }\n get pageSize() {\n return this._state.pageSize;\n }\n get searchTerm() {\n return this._state.searchTerm;\n }\n get situacao$() {\n return this._situacao$.asObservable();\n }\n\n set page(page: number) {\n this._set({ page });\n }\n set pageSize(pageSize: number) {\n this._set({ pageSize, page: 1 });\n }\n set searchTerm(searchTerm: string) {\n this._set({ searchTerm });\n }\n set sortColumn(sortColumn: SortColumn) {\n this._set({ sortColumn });\n }\n set sortDirection(sortDirection: SortDirection) {\n this._set({ sortDirection });\n }\n\n public new({\n modeloRegra = null,\n tipoDestinatarioId = null,\n comportamentoRegraId = null,\n dataHoraInicioVigencia = null,\n dataHoraFimVigencia = null,\n justificativa = null,\n regrasUnidadeFiscal = null,\n regrasParametroEntrada = null,\n regrasFiltroEntrada = null,\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/inserir`;\n return this.util.Post(url, {\n ModeloRegraID: modeloRegra.modeloRegraId,\n TipoDestinatarioID: tipoDestinatarioId,\n ComportamentoRegraID: comportamentoRegraId,\n DataHoraInicioVigencia: dataHoraInicioVigencia,\n DataHoraFimVigencia: dataHoraFimVigencia,\n Justificativa: justificativa,\n RegrasUnidadeFiscal: regrasUnidadeFiscal?.map(({ unidadeFiscalId: UnidadeFiscalID, usuarioId: UsuarioID }) => ({\n UnidadeFiscalID,\n UsuarioID\n })),\n RegrasParametroEntrada: regrasParametroEntrada?.map(({ item, valor: Valor, operador, agrupador }) => ({\n ParametroEntradaID: item?.parametroEntradaId,\n Valor,\n OperadorID: operador?.operadorId,\n AgrupadorID: agrupador?.agrupadorId,\n TipoDadoID: item?.tipoDadoId\n })),\n RegrasFiltroEntrada: regrasFiltroEntrada?.map(({ item, valor: Valor, operador, agrupador }) => ({\n FiltroEntradaID: item?.filtroEntradaId,\n Valor,\n OperadorID: operador?.operadorId,\n AgrupadorID: agrupador?.agrupadorId,\n TipoDadoID: item?.tipoDadoId\n })),\n UsuarioID: this.accountService.userValue?.usuarioId,\n });\n }\n\n public get(data) {\n console.log(data);\n\n this._set(data);\n }\n\n public put(date): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizar`;\n const {\n regraId = null,\n modeloRegra = null,\n tipoDestinatarioId = null,\n comportamentoRegraId = null,\n dataHoraInicioVigencia = null,\n dataHoraFimVigencia = null,\n justificativa = null,\n regrasUnidadeFiscal = null,\n regrasParametroEntrada = null,\n regrasFiltroEntrada = null,\n } = date;\n return this.util\n .Put(url, {\n RegraID: regraId,\n ModeloRegraID: modeloRegra.modeloRegraId,\n TipoDestinatarioID: tipoDestinatarioId,\n ComportamentoRegraID: comportamentoRegraId,\n DataHoraInicioVigencia: dataHoraInicioVigencia,\n DataHoraFimVigencia: dataHoraFimVigencia,\n Justificativa: justificativa,\n RegrasUnidadeFiscal: regrasUnidadeFiscal?.map(\n ({ regraUnidadeFiscalId: RegraUnidadeFiscalID, unidadeFiscalId: UnidadeFiscalID, usuarioId: UsuarioID }) => ({\n RegraUnidadeFiscalID,\n UnidadeFiscalID,\n UsuarioID,\n })\n ),\n RegrasParametroEntrada: regrasParametroEntrada?.map(({ item, valor: Valor, entradaId: RegraParametroEntradaID, operador, agrupador }) => ({\n ParametroEntradaID: item?.parametroEntradaId,\n Valor,\n RegraParametroEntradaID,\n OperadorID: operador?.operadorId,\n AgrupadorID: agrupador?.agrupadorId,\n TipoDadoID: item?.tipoDadoId\n })),\n RegrasFiltroEntrada: regrasFiltroEntrada?.map(({ item, valor: Valor, entradaId: RegraFiltroEntradaID, operador, agrupador }) => ({\n FiltroEntradaID: item?.filtroEntradaId,\n Valor,\n RegraFiltroEntradaID,\n OperadorID: operador?.operadorId,\n AgrupadorID: agrupador?.agrupadorId,\n TipoDadoID: item?.tipoDadoId\n })),\n UsuarioID: this.accountService.userValue?.usuarioId,\n })\n .pipe(tap(() => this._busca$.next()));\n }\n\n public putSituacao({ regraId = null, situacaoId = null }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util\n .Put(url, {\n ID: regraId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId,\n })\n .pipe(tap(() => this._busca$.next()));\n }\n\n public getById(regraId: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${regraId}`;\n return this.util.Get(url).pipe(\n filter(regra => !!regra),\n map(regra => new Regra(regra))\n );\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n\n this._busca$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n return this.util\n .Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n ModeloRegraNome: this._state.nome,\n FiltroGenerico: this._state.filtroGenerico,\n RegraID: this._state.regraID,\n NomeModelo: this._state.nomeModelo,\n Justificativa: this._state.justificativa,\n Destinatario: this._state.destinatario,\n DataInicial: this._state.periodo.dataInicial,\n DataFinal: this._state.periodo.dataFinal,\n Situacao: this._state.situacao,\n TipoRegra: this._state.tipoRegra,\n UsuarioID: this.accountService.userValue?.usuarioId\n })\n .pipe(\n map(({ results, total }) => ({ regra: results.map(dto => new Regra(dto)), total })),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log('ERROR', error?.message || message);\n return of({ regra: [], total: 0 });\n })\n );\n }\n\n public cancelarRegra(regraId: Number, justificativa: string): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/cancelarRegra`;\n return this.util\n .Put<{ regraId: Number; justificativa: string }>(url, {\n ID: regraId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n justificativa,\n })\n .pipe(catchError(this.errorHandler));\n }\n\n public pararAtualizacaoRegra(regraId: Number): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/PararAtualizacaoRegra`;\n return this.util\n .Put<{ regraId: Number; }>(url, {\n regraId: regraId,\n UsuarioID: this.accountService.userValue?.usuarioId\n })\n .pipe(catchError(this.errorHandler));\n }\n\n errorHandler(error) {\n let errorMessage = '';\n if (error.error instanceof ErrorEvent) {\n errorMessage = error.error.message;\n } else {\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\n }\n return throwError(() => new Error(errorMessage));\n }\n}\n","import { Usuario } from 'src/app/model/app.usuario.model';\nimport { UtilService } from './app.utils.service';\nimport { Injectable } from '@angular/core';\n\nimport { BehaviorSubject, Observable, Subject, of } from 'rxjs';\n\nimport { map, switchMap, catchError, tap, filter } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { SortColumn, SortDirection } from '../directives/app.sortable.directive';\nimport { SearchResult, State } from '../interfaces/app.utilservices.interface';\nimport { EOrderBy } from '../constantes/app.eorderby.const';\nimport { ComunService } from './app.comum.service';\nimport { AccountService } from './app.login.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsuarioService {\n private _search$ = new Subject();\n private _usuario$ = new BehaviorSubject([]);\n private _total$ = new BehaviorSubject(0);\n private _situacao$ = new BehaviorSubject(null);\n\n private readonly URL_CONTROLLER = 'Usuario';\n\n private _state: State = {\n page: 1,\n pageSize: 10,\n searchTerm: '',\n sortColumn: '',\n sortDirection: EOrderBy.ASC,\n nome:'',\n perfil:'',\n filtroGenerico:''\n\n };\n\n constructor(private util: UtilService, private comunService: ComunService, private accountService: AccountService) {\n this._search$.pipe(\n switchMap(() => this._pagination())\n )\n .subscribe(({ usuario, total }) => {\n this._usuario$.next(usuario);\n this._total$.next(total);\n });\n }\n\n get usuario$() { return this._usuario$.asObservable(); }\n get total$() { return this._total$.asObservable(); }\n get page() { return this._state.page; }\n get pages() { return Math.ceil(this._total$.value / this._state.pageSize); }\n get pageSize() { return this._state.pageSize; }\n get searchTerm() { return this._state.searchTerm; }\n get situacao$() { return this._situacao$.asObservable(); }\n\n\n set page(page: number) { this._set({ page }); }\n set pageSize(pageSize: number) { this._set({ pageSize, page: 1 }); }\n set searchTerm(searchTerm: string) { this._set({ searchTerm }); }\n set sortColumn(sortColumn: SortColumn) { this._set({ sortColumn }); }\n set sortDirection(sortDirection: SortDirection) { this._set({ sortDirection }); }\n\n public new({\n usuarioId = null,\n nome = null,\n login = null,\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/inserir`;\n return this.util.Post(url, {\n UsuarioID: usuarioId,\n Nome: nome,\n Login: login\n });\n }\n\n public get(data) {\n this._set(data);\n }\n\n public put({\n usuarioId = null,\n perfilId = null,\n chefeUnidadesFiscais = null,\n perfilNome = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizar`;\n return this.util.Put(url, {\n UsuarioID: usuarioId,\n PerfilID: perfilId,\n ChefeUnidadesFiscais: chefeUnidadesFiscais?.map(({ unidadeFiscalId }) => unidadeFiscalId),\n UsuarioIDAlteracao: this.accountService.userValue?.usuarioId,\n PerfilNome: perfilNome\n \n\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public putSituacao({\n usuarioId = null,\n situacaoId = null\n }): Observable {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/atualizarSituacao`;\n return this.util.Put(url, {\n ID: usuarioId,\n UsuarioID: this.accountService.userValue?.usuarioId,\n SituacaoID: situacaoId\n })\n .pipe(\n tap(() => this._search$.next())\n )\n }\n\n public getById(usuarioId: number) {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPorID/${usuarioId}`;\n return this.util.Get(url)\n .pipe(\n filter(usuario => !!usuario),\n map(usuario => new Usuario(usuario))\n );\n }\n\n public getOrderByDirection(sortColumn: SortColumn, sortDirection: SortDirection) {\n this._set({ sortColumn, sortDirection });\n }\n\n private _set(patch: any) {\n Object.assign(this._state, patch);\n this._search$.next();\n }\n\n private _pagination(): Observable> {\n const url = `${environment.apiUrl}/${this.URL_CONTROLLER}/obterPaginado`;\n return this.util.Post(url, {\n Page: this._state.page,\n Size: this._state.pageSize,\n OrderBy: this._state.sortDirection || EOrderBy.ASC,\n FieldAtOrder: this._state.sortColumn?.toCaptalize(),\n Nome: this._state.nome,\n PerfilNome:this._state.perfil,\n FiltroGenerico: this._state.filtroGenerico\n })\n .pipe(\n map(({ results, total }) => ({ usuario: results.map(dto => new Usuario(dto)), total })),\n catchError(errorRequest => {\n const { error, message } = errorRequest;\n console.log(\"ERROR\", error?.message || message);\n return of({ usuario: [], total: 0 });\n })\n );\n }\n}\n","import { environment as environmentHom } from './../../environments/environment.hom';\nimport { environment } from './../../environments/environment';\nimport { HttpClient, HttpHeaders, HttpStatusCode } from '@angular/common/http';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { catchError, map, pluck, retry, switchMap, tap } from 'rxjs/operators';\nimport { Params } from '../interfaces/app.request.interface';\nimport { Token } from '../model/app.token.model';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class UtilService {\n private token: Token;\n\n constructor(private http: HttpClient) { }\n\n public Get(url: string, params: Params = null): Observable {\n const dados: Subject = new BehaviorSubject(null);\n const tokenHom = url.includes('hom.');\n this._token(tokenHom)\n .pipe(\n switchMap((token: Token) => {\n const { token_type, access_token } = token;\n const autorization = `${token_type} ${access_token}`;\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*',\n Authorization: autorization,\n });\n\n return this.http.get(url, { headers, params, responseType: 'json' }).pipe(\n map((retorno: any) => {\n const { statusCode, errors, data } = retorno;\n if (!!statusCode && statusCode != HttpStatusCode.Ok) throw new Error(errors);\n if (data)\n return data as T;\n return retorno as T;\n })\n );\n })\n )\n .subscribe((data: T) => dados.next(data));\n return dados.asObservable();\n }\n\n public Post(url: string, params: Params): Observable {\n const tokenHom = url.includes('hom.');\n return this._token(tokenHom).pipe(\n switchMap((token: Token) => {\n const { token_type, access_token } = token;\n const autorization = `${token_type} ${access_token}`;\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*',\n Authorization: autorization,\n });\n return this.http.post(url, params, { headers, responseType: 'json' }).pipe(\n map((retorno: any) => {\n const { statusCode, errors, data } = retorno;\n if (statusCode != HttpStatusCode.Ok) throw new Error(errors);\n return data as T;\n })\n );\n })\n );\n }\n\n public Put(url: string, params: Params): Observable {\n const tokenHom = url.includes('hom.');\n return this._token(tokenHom).pipe(\n switchMap((token: Token) => {\n const { token_type, access_token } = token;\n const autorization = `${token_type} ${access_token}`;\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*',\n Authorization: autorization,\n });\n return this.http.put(url, params, { headers, responseType: 'json' }).pipe(\n map(({ statusCode, errors, data }: any) => {\n if (statusCode != HttpStatusCode.Ok) throw new Error(errors);\n return data as T;\n })\n );\n })\n );\n }\n\n private _token(tokenHom: boolean): Observable {\n // if (this.token && !tokenHom)\n // return of(this.token);\n\n let eClientsecret = environment.clientSecret;\n let tokenUrl = environment.tokenUrl;\n if (tokenHom && !environment.production) {\n tokenUrl = environmentHom.tokenUrl;\n eClientsecret = environmentHom.clientSecret;\n }\n const clientSecret = `client_secret=${eClientsecret}`;\n const clientId = `client_id=${environment.clientId}`;\n const grantType = 'grant_type=client_credentials';\n const data = `${grantType}&${clientId}&${clientSecret}`;\n const headers = {\n 'content-type': 'application/x-www-form-urlencoded',\n Accept: 'application/json, text/plain, */*',\n };\n \n return this.http.post(tokenUrl, data, { headers, responseType: 'json' }).pipe(\n retry(2),\n map((token: Token) => token),\n tap((token: Token) => {\n this.token = token;\n setTimeout(() => {\n this.token = null;\n }, this.token.expires_in * 1000);\n }),\n catchError((erro, souce) => {\n console.log(erro);\n return souce;\n })\n );\n }\n\n public GetJson(url: string): Observable {\n const dados: Subject = new BehaviorSubject([]);\n this.http\n .get(url)\n .pipe(pluck('data'))\n .subscribe((data: T) => dados.next(data));\n return dados.asObservable();\n }\n}\n","import { environment as eHom } from './../../environments/environment.hom';\nimport { environment } from './../../environments/environment';\nimport { HttpClient, HttpHeaders, HttpStatusCode } from '@angular/common/http';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { catchError, map, pluck, retry, switchMap, tap } from 'rxjs/operators';\nimport { Params } from '../interfaces/app.request.interface';\nimport { Token } from '../model/app.token.model';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class UtilAcessoProducaoService {\n private token: Token;\n\n constructor(private http: HttpClient) { }\n\n public Get(url: string, params: Params = null): Observable {\n const dados: Subject = new BehaviorSubject(null);\n this._token()\n .pipe(\n switchMap((token: Token) => {\n const { token_type, access_token } = token;\n const autorization = `${token_type} ${access_token}`;\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*',\n Authorization: autorization,\n });\n\n return this.http.get(url, { headers, params, responseType: 'json' }).pipe(\n map((retorno: any) => {\n const { statusCode, errors, data } = retorno;\n if (!!statusCode && statusCode != HttpStatusCode.Ok) throw new Error(errors);\n if (data)\n return data as T;\n return retorno as T;\n })\n );\n })\n )\n .subscribe((data: T) => dados.next(data));\n return dados.asObservable();\n }\n\n private _token(homToken: boolean = false, ehOutraChave: boolean = false): Observable {\n let eClientId = 'sistemaalerta';\n let eClientSecret = '192ce960-9ae1-4e83-9407-146249065e70'; \n let tokenUrl = 'http://id.ms.gov.br/auth/realms/ms/protocol/openid-connect/token';\n let clientSecret = `client_secret=${eClientSecret}`;\n \n const clientId = `client_id=${eClientId}`;\n const grantType = 'grant_type=client_credentials';\n const data = `${grantType}&${clientId}&${clientSecret}`;\n const headers = {\n 'content-type': 'application/x-www-form-urlencoded',\n Accept: 'application/json, text/plain, */*',\n };\n\n return this.http.post(tokenUrl, data, { headers, responseType: 'json' }).pipe(\n retry(2),\n map((token: Token) => token),\n tap((token: Token) => {\n this.token = token;\n setTimeout(() => {\n this.token = null;\n }, this.token.expires_in * 1000);\n }),\n catchError((erro, souce) => {\n console.log(erro);\n return souce;\n })\n );\n }\n\n public GetJson(url: string): Observable {\n const dados: Subject = new BehaviorSubject([]);\n this.http\n .get(url)\n .pipe(pluck('data'))\n .subscribe((data: T) => dados.next(data));\n return dados.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ToastType, ToastUtil } from '../helper/app.toast.utils';\nimport { ETipoLiberacao } from '../constantes/app.etipoliberacao.const';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AtenderAlertaValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _atenderAlerta: any;\n\n constructor(\n private toast: ToastUtil,\n ) {\n this._messages = [];\n }\n\n get isValid() {\n return this._messages.length == 0;\n }\n get atenderAlerta() {\n return this._atenderAlerta;\n }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n\n this._atenderAlerta = {\n atenderAlertaId: 0,\n alertaId: this._form.controls.alertaId.value,\n tipoLiberacaoId: this._form.controls.tipoLiberacao.value?.tipoLiberacaoId,\n motivo: this._form.controls.motivo.value?.trim(),\n serie: this._form.controls.serie.value?.trim(),\n numeroDocumento: this._form.controls.numeroDocumento.value?.trim(),\n unidade: this._form.controls.unidade.value?.trim(),\n };\n\n this._validate();\n }\n\n private _validate() {\n const {\n tipoLiberacaoId,\n motivo,\n serie,\n numeroDocumento,\n unidade\n } = this._atenderAlerta;\n this._messages = [];\n if (!tipoLiberacaoId)\n this._messages.push({ type: ToastType.WARNING, message: \"Tipo de Liberação é obrigatória!\" });\n else {\n const paraNumeroDocumento = [ETipoLiberacao.TERMO_DE_APREENSAO, ETipoLiberacao.TERMO_DE_VERIFICACAO_FISCAL, ETipoLiberacao.ALIM, ETipoLiberacao.REGISTRO_DE_PASSAGEM_ESTADUAL];\n const paraMotivo = [ETipoLiberacao.OUTRAS_LIBERCOES];\n const paraSerie = [ETipoLiberacao.ALIM];\n const paraUnidade = [ETipoLiberacao.TERMO_DE_APREENSAO, ETipoLiberacao.TERMO_DE_VERIFICACAO_FISCAL];\n\n const numeroDocumentoEhObrigatorio = paraNumeroDocumento.find(tipoLiberacao => tipoLiberacao == tipoLiberacaoId);\n const motivoEhObrigatorio = paraMotivo.find(tipoLiberacao => tipoLiberacao == tipoLiberacaoId);\n const serieEhObrigatoria = paraSerie.find(tipoLiberacao => tipoLiberacao == tipoLiberacaoId);\n const unidadeEhObrigatoria = paraUnidade.find(tipoLiberacao => tipoLiberacao == tipoLiberacaoId);\n\n if (numeroDocumentoEhObrigatorio && String.isNullOrEmpty(numeroDocumento))\n this._messages.push({ type: ToastType.WARNING, message: \"Número de Documento é obrigatório!\" });\n if (motivoEhObrigatorio && String.isNullOrEmpty(motivo))\n this._messages.push({ type: ToastType.WARNING, message: \"Motivo é obrigatório!\" });\n if (serieEhObrigatoria && String.isNullOrEmpty(serie))\n this._messages.push({ type: ToastType.WARNING, message: \"Série é obrigatória!\" });\n if (unidadeEhObrigatoria && String.isNullOrEmpty(unidade))\n this._messages.push({ type: ToastType.WARNING, message: \"Unidade é obrigatória!\" });\n }\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { Condicionante } from '../model/app.condicionante.model';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class CondicionanteValidator {\n private _form: UntypedFormGroup;\n\tprivate _messages: any[];\n\tprivate _condicionante: Condicionante;\n\n\tconstructor(private toast: ToastUtil) {\n\t\tthis._messages = [];\n\t}\n\n\tget isValid() { return this._messages.length == 0; }\n\tget condicionante() { return this._condicionante; }\n\n\tset set(form: UntypedFormGroup) {\n this._form = form;\n this._condicionante = {\n condicionanteId: this._form.controls.condicionanteId?.value || 0,\n descricao: this._form.controls.descricao.value,\n dataHoraInclusao: new Date(),\n dataHoraAlteracao: null\n } as Condicionante;\n\t\tthis._validate();\n\t}\n\n\tprivate _validate() {\n\t\tconst {\n\t\t\tdescricao, situacaoId\n\t\t} = this._condicionante;\n\n\t\tthis._messages = [];\n\t\tif (!descricao || descricao.length === 0 )\n\t\t\tthis._messages.push({ type: ToastType.WARNING, message: \"Descrição é obrigatória!\" });\n\t}\n\n\tpublic showMessages() {\n\t\tthis.toast.showMultiple(this._messages);\n\t}\n}\n","import { Injectable } from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { FiltroEntrada } from \"../model/app.filtroentrada.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FiltroEntradaValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _filtroEntrada: FiltroEntrada;\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid() { return this._messages.length == 0; }\n get filtroEntrada() { return this._filtroEntrada; }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._filtroEntrada = {\n filtroEntradaId: this._form.controls.filtroEntradaId?.value || 0,\n nome: this._form.controls.nome.value?.trim(),\n dataHoraInclusao: new Date(),\n dataHoraAlteracao: null,\n tipoDadoId: this._form.controls.tipoDado.value?.tipoDadoID,\n caminhoMapeado: this._form.controls.caminhoMapeado.value?.trim()\n } as FiltroEntrada;\n this._validate();\n }\n\n private _validate() {\n const {\n nome, tipoDadoId\n } = this._filtroEntrada;\n\n this._messages = [];\n if (!nome)\n this._messages.push({ type: ToastType.WARNING, message: \"Nome é obrigatório!\" });\n if (!tipoDadoId)\n this._messages.push({ type: ToastType.WARNING, message: \"Tipo de Dado é obrigatório!\" });\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { ModeloRegra } from \"../model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModeloRegraValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _modeloRegra: ModeloRegra;\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid() { return this._messages.length == 0; }\n get modeloRegra() { return this._modeloRegra; }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._modeloRegra = {\n modeloRegraId: this._form.controls.modeloRegraId?.value || 0,\n condicionanteId: this._form.controls.condicionante?.value?.condicionanteId || 0,\n nome: this._form.controls.nome.value,\n parametrosEntrada: this._form.controls.parametrosEntrada.value || [],\n filtrosEntrada: this._form.controls.filtrosEntrada.value || [],\n parametrosSaida: this._form.controls.parametrosSaida.value || [],\n dataHoraInclusao: new Date()\n };\n this._validate();\n }\n\n private _validate() {\n const {\n modeloRegraId,\n condicionanteId,\n nome,\n parametrosEntrada,\n filtrosEntrada,\n parametrosSaida,\n dataHoraInclusao,\n } = this._modeloRegra;\n\n this._messages = [];\n if (!condicionanteId || condicionanteId === 0)\n this._messages.push({ type: ToastType.WARNING, message: \"Condicionante é obrigatório!\" });\n\n if (String.isNullOrEmpty(nome))\n this._messages.push({ type: ToastType.WARNING, message: \"Nome do Model de Regra é obrigatório!\" });\n\n // if (!parametrosEntrada.length)\n // this._messages.push({ type: ToastType.WARNING, message: \"Parâmetro de Entrada é obrigatório!\" });\n\n // if (!filtrosEntrada.length)\n // this._messages.push({ type: ToastType.WARNING, message: \"Filtro de Entrada é obrigatório!\" });\n\n // if (!parametrosSaida.length)\n // this._messages.push({ type: ToastType.WARNING, message: \"Parâmetro de Saída é obrigatório!\" });\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { Modulo } from '../model/app.modulo.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModuloValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _modulo: Modulo;\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid() { return this._messages.length == 0; }\n get modulo() { return this._modulo; }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._modulo = {\n moduloId: this._form.controls.moduloId?.value || 0,\n grupoId: this._form.controls.grupo?.value?.grupoID,\n titulo: this._form.controls.titulo.value,\n caminho: this._form.controls.caminho.value,\n icone: this._form.controls.icone.value?.classe,\n ordem: this._form.controls.ordem.value\n };\n this._validate();\n }\n\n private _validate() {\n const {\n moduloId,\n grupoId,\n titulo,\n caminho,\n icone,\n ordem,\n } = this._modulo;\n\n this._messages = [];\n if (!grupoId)\n this._messages.push({ type: ToastType.WARNING, message: \"Grupo é obrigatório!\" });\n if (String.isNullOrEmpty(titulo))\n this._messages.push({ type: ToastType.WARNING, message: \"Título é obrigatório!\" });\n if (String.isNullOrEmpty(caminho))\n this._messages.push({ type: ToastType.WARNING, message: \"Caminho é obrigatório!\" });\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { ParametroEntrada } from '../model/app.parametroentrada.model';\nimport { Injectable } from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ParametroEntradaValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _parametroEntrada: ParametroEntrada;\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid() { return this._messages.length == 0; }\n get parametroEntrada() { return this._parametroEntrada; }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._parametroEntrada = {\n parametroEntradaId: this._form.controls.parametroEntradaId?.value || 0,\n nome: this._form.controls.nome.value?.trim(),\n dataHoraInclusao: new Date(),\n dataHoraAlteracao: null,\n tipoDadoId: this._form.controls.tipoDado.value?.tipoDadoID,\n caminhoMapeado: this._form.controls.caminhoMapeado.value?.trim()\n } as ParametroEntrada;\n this._validate();\n }\n\n private _validate() {\n const {\n nome, tipoDadoId\n } = this._parametroEntrada;\n\n this._messages = [];\n if (!nome)\n this._messages.push({ type: ToastType.WARNING, message: \"Nome é obrigatório!\" });\n if (!tipoDadoId)\n this._messages.push({ type: ToastType.WARNING, message: \"Tipo de Dado é obrigatório!\" });\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { ParametroSaida } from '../model/app.parametrosaida.model';\nimport { Injectable } from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ParametroSaidaValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _parametroSaida: ParametroSaida;\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid() { return this._messages.length == 0; }\n get parametroSaida() { return this._parametroSaida; }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._parametroSaida = {\n parametroSaidaId: this._form.controls.parametroSaidaId?.value || 0,\n nome: this._form.controls.nome.value?.trim(),\n dataHoraInclusao: new Date(),\n dataHoraAlteracao: null,\n tipoDadoId: this._form.controls.tipoDado.value?.tipoDadoID,\n caminhoMapeado: this._form.controls.caminhoMapeado.value?.trim()\n } as ParametroSaida;\n this._validate();\n }\n\n private _validate() {\n const {\n nome, tipoDadoId\n } = this._parametroSaida;\n\n this._messages = [];\n if (!nome)\n this._messages.push({ type: ToastType.WARNING, message: \"Nome é obrigatório!\" });\n if (!tipoDadoId)\n this._messages.push({ type: ToastType.WARNING, message: \"Tipo de Dado é obrigatório!\" });\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { FormArray, UntypedFormGroup } from \"@angular/forms\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { Regra } from \"../model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Passo1RegraValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _regra: Regra;\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid() { return this._messages.length == 0; }\n get regra() { return this._regra; }\n get mensagens() { return this._messages; }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._regra = {\n modeloRegra: this._form.controls.modeloRegra?.value,\n regrasParametroEntrada: this.getItens(this._form.controls.formParametro as FormArray),\n regrasFiltroEntrada: this.getItens(this._form.controls.formFiltro as FormArray)\n };\n this._validate();\n }\n\n private _validate() {\n const {\n modeloRegra,\n regrasParametroEntrada,\n regrasFiltroEntrada\n } = this._regra;\n\n this._messages = [];\n if (!modeloRegra)\n this._messages.push({ type: ToastType.WARNING, message: \"Modelo de Regra é obrigatório!\" });\n else {\n this.validacaoDinamica(regrasParametroEntrada, \"parâmetro de entrada\", true);\n this.validacaoDinamica(regrasFiltroEntrada, \"filtro de entrada\");\n }\n this._regra?.regrasParametroEntrada?.forEach(regra => regra.valor = regra.valor?.replace(/[\\(\\)\\./\\s-]+/g, ''));\n }\n\n validacaoDinamica(itens: any[], titulo: string, obrigatorio: boolean = false) {\n if (obrigatorio && !itens.length)\n this._messages.push({ type: ToastType.WARNING, message: `Pelo menos um ${titulo} é obrigatório!` });\n else if (!!itens.length) {\n const invalidos = itens.filter(({ ehValido }) => !ehValido);\n if (!!invalidos.length)\n for (const { item } of invalidos)\n this._messages.push({ type: ToastType.WARNING, message: `[${titulo.toCaptalize()}] ${item.tipoDadoNome} inválido!` });\n else {\n const validos = itens.filter(({ ehValido }) => ehValido);\n const semOperadores = validos.filter(({ operador }) => !operador);\n const semAgrupadores = validos.filter(({ agrupador, ehUltimo }) => !ehUltimo && !agrupador);\n for (const { item } of semOperadores)\n this._messages.push({ type: ToastType.WARNING, message: `[${titulo.toCaptalize()}] Operador para o campo ${item.tipoDadoNome} é obrigatório!` });\n for (const { item } of semAgrupadores)\n this._messages.push({ type: ToastType.WARNING, message: `[${titulo.toCaptalize()}] Agrupador para o campo ${item.tipoDadoNome} é obrigatório!` });\n }\n }\n }\n\n getItens(form: FormArray): any[] {\n return form.controls.map(campo => {\n let { item, agrupador, operador, valor, ehUltimo, ehValido, entradaId } = campo.value;\n if (item.tipoDadoNome != 'DATAHORA')\n valor = valor?.replace(/[\\(\\)\\./\\s-]+/g, '');\n return {\n entradaId,\n item,\n operador,\n agrupador: ehUltimo ? null : agrupador,\n valor,\n ehValido: ehValido,\n ehUltimo\n };\n })\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { Unidade } from 'src/app/model/app.unidadefiscal.model';\nimport { Injectable } from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { ETipoDestinatario } from \"../constantes/app.etipodestinatario.const\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { Regra, RegraUnidadeFiscal, Usuario } from \"../model\";\nimport { AccountService } from '../services/app.login.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Passo2RegraValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _regra: Regra;\n private _result: any = [];\n\n constructor(private toast: ToastUtil, public accountService: AccountService) {\n this._messages = [];\n }\n\n get isValid() { return this._messages.length == 0; }\n get regra() { return this._regra; }\n get mensagens() { return this._messages; }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._regra = {\n tipoDestinatarioId: this._form.controls.tipoDestinatario?.value?.tipoDestinatarioId,\n unidades: this._form.controls.unidades?.value,\n regrasUnidadeFiscal: this._form.controls.regrasUnidadeFiscal?.value || []\n };\n this.formatValue();\n this._validate();\n\n }\n\n private _validate() {\n const {\n tipoDestinatarioId,\n unidades\n } = this._regra;\n \n this._messages = [];\n if (!tipoDestinatarioId)\n this._messages.push({ type: ToastType.WARNING, message: \"Tipo Destinatário é obrigatório!\" });\n else if (tipoDestinatarioId) {\n if(unidades.length == 0){\n this._messages.push({ type: ToastType.WARNING, message: \"A seleção de unidade é obrigatória!\" });\n }else if(tipoDestinatarioId === ETipoDestinatario.UNIDADE_FISCAL){\n for (const unidade of unidades) {\n const usuarios = this._form.controls[`fiscalUnidade${unidade.unidadeFiscalId}`]?.value || [];\n if (!usuarios.length)\n this._messages.push({ type: ToastType.WARNING, message: `Fiscal da Unidade ${unidade.descricao} é obrigatório!` });\n }\n }\n \n }\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n\n public formatValue() {\n\n const vetoresUsuarios = Object.keys(this._form.value);\n\n const subUnidades = vetoresUsuarios.filter(vu => {\n const [prefix, id] = vu.split(\"_\");\n return prefix === \"subUnidades\";\n });\n\n subUnidades.forEach(sub => {\n const unidadeid = sub.split(\"_\")[1];\n const matchingUsers = this._form.controls[`usuarios_${unidadeid}`].value;\n // console.log(matchingUsers)\n\n if (matchingUsers.length > 0) {\n matchingUsers.forEach(user => {\n this._result.push({\n unidadeFiscalId: user.unidadeFiscalID,\n usuarioId: user.usuarioID\n });\n });\n } else {\n this._result.push({\n unidadeFiscalId: unidadeid,\n usuarioId: this.accountService.userValue?.usuarioId\n });\n }\n });\n\n // console.log(this._result);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { ETipoDestinatario } from \"../constantes/app.etipodestinatario.const\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { Regra } from \"../model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Passo3RegraValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _regra: Regra;\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid() { return this._messages.length == 0; }\n get regra() { return this._regra; }\n get mensagens() { return this._messages; }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._regra = {\n comportamentoRegraId: this._form.controls.comportamentoRegra?.value?.comportamentoRegraId\n };\n }\n\n private _validate() {\n const {\n comportamentoRegraId\n } = this._regra;\n\n this._messages = [];\n if (!comportamentoRegraId)\n this._messages.push({ type: ToastType.WARNING, message: \"Comportamento Regra é obrigatório!\" });\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { Regra } from '../model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Passo4RegraValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _regra: Regra;\n //private _dataAtual: Date = new Date();\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid() {\n return this._messages.length == 0;\n }\n get regra() {\n return this._regra;\n }\n get mensagens() {\n return this._messages;\n }\n\n get isEditing() {\n return this._regra.regraId && this._regra.regraId > 0;\n }\n\n get isInserting() {\n return !this.isEditing;\n }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._regra = {\n regraId: this._form.controls.regraId?.value,\n dataHoraInicioVigencia: this._form.controls.dataHoraInicioVigencia?.value,\n dataHoraFimVigencia: this._form.controls.dataHoraFimVigencia?.value,\n };\n\n this._validate();\n }\n\n private checkDate(dateOrString: string | Date): Date {\n return typeof dateOrString === 'string' ? new Date(Date.parse(dateOrString)) : dateOrString;\n }\n\n private getCurrentDate(dateIni: Date): Date {\n const currentDateTime = this.isInserting ? new Date() : dateIni;\n return currentDateTime;\n }\n\n private _validate() {\n const { dataHoraInicioVigencia, dataHoraFimVigencia } = this._regra;\n\n this._messages = [];\n\n if (!dataHoraInicioVigencia) {\n this._messages.push({ type: ToastType.WARNING, message: 'Data/Hora inicial é obrigatório' });\n }\n\n if (!dataHoraFimVigencia) {\n this._messages.push({ type: ToastType.WARNING, message: 'Data/Hora final é obrigatório' });\n }\n\n if (!dataHoraInicioVigencia || !dataHoraFimVigencia) return;\n\n const dateIni: Date = this.checkDate(dataHoraInicioVigencia);\n const currentDateTime: Date = this.getCurrentDate(dateIni);\n const dateEnd = this.checkDate(dataHoraFimVigencia);\n\n if (dateEnd < dateIni) {\n this._messages.push({ type: ToastType.WARNING, message: 'Data final não pode ser menor que data inicial!' });\n return;\n }\n\n const diffInHours = this.diffInHours(dateEnd, dateIni);\n if (diffInHours < 1) {\n this._messages.push({\n type: ToastType.WARNING,\n message: 'Data final e hora final deve ser superior a 1 hora de diferença',\n });\n }\n\n let dataInicialEhMenorQueADataAtual = this.ehMenorQueHoje(currentDateTime, dateIni);\n if (dataInicialEhMenorQueADataAtual) {\n this._messages.push({ type: ToastType.WARNING, message: 'Data Inicial não pode ser menor que data atual!' });\n return;\n }\n\n let dataFinalEhMenorQueADataAtual = this.ehMenorQueHoje(currentDateTime, dateEnd);\n if (dataFinalEhMenorQueADataAtual) {\n this._messages.push({ type: ToastType.WARNING, message: 'Data Final não pode ser menor que data atual!' });\n return;\n }\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n\n ehMenorQueHoje(dataCorrente: Date, dataComparacao: Date) {\n let _dataCorrente = this.checkDate(dataCorrente);\n let _dataComparacao = this.checkDate(dataComparacao);\n\n _dataCorrente.setHours(0, 0, 0, 0);\n _dataComparacao.setHours(0, 1, 0, 0);\n return _dataComparacao < _dataCorrente;\n }\n\n diffInHours(endDate: Date, iniDate: Date) {\n let _endDate = this.checkDate(endDate);\n let _iniDate = this.checkDate(iniDate);\n\n if (_iniDate >= _endDate)\n return 0;\n \n const diffInMs = _endDate.getTime() - _iniDate.getTime();\n const diffInHours = diffInMs / 1000 / 60 / 60;\n return diffInHours || 0;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { Regra } from '../model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Passo5RegraValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _regra: Regra;\n\n constructor (private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid () {\n return this._messages.length == 0;\n }\n get regra () {\n return this._regra;\n }\n get mensagens () {\n return this._messages;\n }\n\n set set (form: UntypedFormGroup) {\n this._form = form;\n this._regra = {\n justificativa: this._form.controls.justificativa?.value,\n };\n this._validate();\n }\n\n private _validate () {\n const { justificativa } = this._regra;\n\n this._messages = [];\n if (String.isNullOrEmpty(justificativa))\n this._messages.push({\n type: ToastType.WARNING,\n message: 'Deve ser informado no mínimo 20 carateres de justificativa para criação de uma regra',\n });\n else if (justificativa.length < 20)\n this._messages.push({\n type: ToastType.WARNING,\n message: 'Deve ser informado no mínimo 20 carateres de justificativa para criação de uma regra',\n });\n else if (justificativa.length > 300)\n this._messages.push({\n type: ToastType.WARNING,\n message: 'Justificativa não pode ser superior a 300 caracteres!',\n });\n }\n\n public showMessages () {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { Modulo } from 'src/app/model/app.modulo.model';\nimport { Perfil } from 'src/app/model/app.perfil.model';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { Injectable } from \"@angular/core\";\nimport { ToastType, ToastUtil } from '../helper/app.toast.utils';\nimport { ModuloPerfil } from '../model/app.moduloperfil.model';\n\n@Injectable({\n providedIn:'root'\n})\nexport class PerfilValidator{\n\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _perfil: Perfil;\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid(){return this._messages.length == 0};\n get perfil(){return this._perfil};\n get messages(){return this.messages};\n\n set set(form:UntypedFormGroup) {\n this._form = form;\n\n let perfilId = this._form.controls.perfilId?.value;\n let nome = this._form.controls.nome?.value;\n let modulosPerfil = this._form.controls.modulosPerfil?.value;\n\n this._perfil = {\n perfilId: perfilId,\n nome: nome,\n modulosPerfil: this._configuraModulos(JSON.parse(JSON.stringify(modulosPerfil)))\n };\n this._validate();\n }\n\n set adicionar(modulos: Modulo[]){\n this._perfil = {\n //modulos: this._configuraModulos(modulos)\n };\n this._messages = [];\n this._validateModulos();\n }\n\n private _configuraModulos(modulosPerfil: ModuloPerfil[]): ModuloPerfil[]{\n // const teste = modulosPerfil.map(item =>{\n // const acoes = [...item.acoes];\n // item.acoes = acoes.map(({acaoId})=> acaoId)\n // })\n // return teste;\n modulosPerfil.forEach((item)=> {\n const acoes = [...item.acoes];\n item.acoes=acoes.map(({acaoId})=>acaoId)\n });\n return modulosPerfil;\n }\n\n private _validate() {\n const {\n nome\n } = this._perfil;\n\n this._messages = [];\n if (String.isNullOrEmpty(nome))\n this._messages.push({ type: ToastType.WARNING, message: \"Nome é obrigatória!\" });\n else if (nome.length > 30)\n this._messages.push({ type: ToastType.WARNING, message: \"Nome é muito longa!\" });\n\n this._validateModulos();\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n\n private _validateModulos(){\n // const {\n // //modulos\n // } = this._perfil;\n\n // if(!modulos.length)\n // this._messages.push({ type: ToastType.WARNING, message: \"Modulo(s) é obrigatório!\" });\n // else if(!modulos.filter(({acoes}) => !!acoes.length).length)\n // this._messages.push({ type: ToastType.WARNING, message: \"Ação(ões) para o modulo(s) é obrigatório!\" });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ToastUtil } from '../helper/app.toast.utils';\nimport { Regra } from '../model';\nimport { Passo1RegraValidator } from './passo1regra.validator';\nimport { Passo2RegraValidator } from './passo2regra.validator';\nimport { Passo3RegraValidator } from './passo3regra.validator';\nimport { Passo4RegraValidator } from './passo4regra.validator';\nimport { Passo5RegraValidator } from './passo5regra.validator';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RegraValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _regra: Regra;\n\n constructor(\n private toast: ToastUtil,\n private passo1Validator: Passo1RegraValidator,\n private passo2Validator: Passo2RegraValidator,\n private passo3Validator: Passo3RegraValidator,\n private passo4Validator: Passo4RegraValidator,\n private passo5Validator: Passo5RegraValidator\n ) {\n this._messages = [];\n }\n\n get isValid() {\n return this._messages.length == 0;\n }\n get regra() {\n return this._regra;\n }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this.passo1Validator.set = this._form;\n this.passo2Validator.set = this._form;\n this.passo3Validator.set = this._form;\n this.passo4Validator.set = this._form;\n this.passo5Validator.set = this._form;\n\n this._regra = {\n regraId: this._form.controls.regraId?.value || 0,\n ...this.passo1Validator.regra,\n ...this.passo2Validator.regra,\n ...this.passo3Validator.regra,\n ...this.passo4Validator.regra,\n ...this.passo5Validator.regra,\n };\n\n this._validate();\n }\n\n private _validate() {\n this._messages = [];\n if (!this.passo1Validator.isValid)\n this.passo1Validator.mensagens.forEach((message) => this._messages.push(message));\n\n if (!this.passo2Validator.isValid)\n this.passo2Validator.mensagens.forEach((message) => this._messages.push(message));\n\n if (!this.passo3Validator.isValid)\n this.passo3Validator.mensagens.forEach((message) => this._messages.push(message));\n\n if (!this.passo4Validator.isValid)\n this.passo4Validator.mensagens.forEach((message) => this._messages.push(message));\n\n if (!this.passo5Validator.isValid)\n this.passo5Validator.mensagens.forEach((message) => this._messages.push(message));\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { ToastUtil, ToastType } from '../helper/app.toast.utils';\nimport { Usuario } from \"../model/app.usuario.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsuarioValidator {\n private _form: UntypedFormGroup;\n private _messages: any[];\n private _usuario: Usuario;\n\n constructor(private toast: ToastUtil) {\n this._messages = [];\n }\n\n get isValid() { return this._messages.length == 0; }\n get usuario() { return this._usuario; }\n\n set set(form: UntypedFormGroup) {\n this._form = form;\n this._usuario = {\n usuarioId: this._form.controls.usuarioId?.value || 0,\n nome: this._form.controls.nome.value?.trim(),\n login: this._form.controls.login.value?.trim(),\n perfilId: this._form.controls.perfil.value?.perfilId,\n perfilNome: this._form.controls.perfil.value?.nome,\n chefeUnidadesFiscais: this._form.controls.unidades.value,\n };\n this._validate();\n }\n\n private _validate() {\n const {\n usuarioId,\n nome,\n login,\n perfilId,\n perfilNome,\n chefeUnidadesFiscais\n } = this._usuario;\n\n this._messages = [];\n if (!usuarioId)\n this._messages.push({ type: ToastType.WARNING, message: \"Usuário é obrigatório!\" });\n if (!nome)\n this._messages.push({ type: ToastType.WARNING, message: \"Nome é obrigatório!\" });\n if (!login)\n this._messages.push({ type: ToastType.WARNING, message: \"Login é obrigatório!\" });\n if (!perfilId)\n this._messages.push({ type: ToastType.WARNING, message: \"Perfil é obrigatório!\" });\n }\n\n public showMessages() {\n this.toast.showMultiple(this._messages);\n }\n}\n","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: false,\n local: false,\n tokenUrl: \"http://hom.id.ms.gov.br/auth/realms/ms/protocol/openid-connect/token\",\n apiUrl: \"https://hom.gw.sgi.ms.gov.br/k0468/sistemaalerta/v1\",\n apiUrlFiscalizacaoVirutalTransito: \"https://hom.gw.sgi.ms.gov.br/k0787/fvt-api/v1\",\n apiUrlUnidades: \"https://hom.gw.sgi.ms.gov.br/k0951/efron-escala-plantao-api/v1\",\n apiUrlUnidadesProducao: \"https://gw.sgi.ms.gov.br/k0951/efron-escala-plantao-api/v1\",\n clientSecret: \"c0e26f3a-2db7-4791-b371-451ebe42df6a\",\n clientId: \"sistemaalerta\",\n auth: true,\n efazendaUrl: \"https://hom.eservicos.sefaz.ms.gov.br/\"\n};\n","\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport 'hammerjs';\nimport { FormGroup } from '@angular/forms';\nimport { BehaviorSubject, filter, Observable } from 'rxjs';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n\ndeclare global {\n interface String {\n toFloat: (this: String) => Number;\n getMask: (this: String) => String;\n toCaptalize: (this: String) => String;\n coordiantesInDecimal: () => number\n }\n interface StringConstructor {\n isNullOrEmpty: (value: any) => boolean;\n }\n\n interface Array {\n orderBy: (ordenador: string, desc?: boolean) => void;\n }\n interface Number {\n toStartFixed: (casas: number, caracter: string, comma?: boolean) => string;\n toFixedView: (casas: number) => string;\n }\n}\n\nString.prototype.toFloat = function (this: String): Number {\n return +this?.replace(/,/g, '.');\n}\n\nString.isNullOrEmpty = function (value: any): boolean {\n return value === null || value === undefined || value === '';\n}\n\nString.prototype.getMask = function (): String {\n const number = this.replace(/\\D/g, '');\n return number.length == 9 ? \"00000-0000\" : \"0000-0000\";\n}\n\nString.prototype.toCaptalize = function (): String {\n return this.replace(/(^\\w{1})|(\\s+\\w{1})/g, letter => letter.toUpperCase());\n}\n\nNumber.prototype.toStartFixed = function (casas: number, caracter: string, comma: boolean = false): string {\n const number = parseInt(this) + '';\n let numberReverse = this.toString().split('').reverse().join('');\n for (let i = number.length; i < casas; i++)\n numberReverse += caracter;\n if (comma)\n numberReverse = numberReverse.replace('.', ',');\n return numberReverse.split('').reverse().join('');\n}\n\nNumber.prototype.toFixedView = function (casas: number): string {\n return this.toFixed(casas)\n .split('').reverse().join('')\n .replace(/\\./, ',')\n .split('').reverse().join('');\n}\n\nArray.prototype.orderBy = function (ordenador: string, desc: boolean = false): void {\n //bubbleSort\n let trocado: boolean;\n do {\n trocado = false;\n for (let i = 0; i < this.length - 1; i++) {\n let valorAtual = typeof this[i][ordenador] === \"function\" ? this[i][ordenador]() : this[i][ordenador];\n let valorSeguinte = typeof this[i + 1][ordenador] === \"function\" ? this[i + 1][ordenador]() : this[i + 1][ordenador];\n if ((valorAtual < valorSeguinte && desc) ||\n (valorAtual > valorSeguinte && !desc)) {\n let temp = this[i];\n this[i] = this[i + 1];\n this[i + 1] = temp;\n trocado = true;\n }\n }\n } while (trocado);\n};\n\n\nString.prototype.coordiantesInDecimal = function (): number {\n const tipoCoordenda = this.replace(/[^A-Za-z]/g, \"\");\n const [, grau, minuto, segundo] = this.split(\" \");\n const minutos = parseInt(grau.replace(/\\D/g, \"\"));\n const segundos1 = parseInt(minuto.replace(/[\\'\\\"]/g, \"\")) * 60;\n const segundos2 = parseFloat(segundo.replace(/[\\'\\\"]/g, \"\").replace(\",\", \".\"));\n const ehNegativo = tipoCoordenda == \"S\" || tipoCoordenda == \"W\";\n let numero = minutos + (segundos1 + segundos2) / 3600;\n\n if (ehNegativo)\n numero *= -1;\n\n return numero;\n}\ndeclare module '@angular/forms' {\n interface FormGroup {\n values: () => Observable;\n }\n}\n\nFormGroup.prototype.values = function (): Observable {\n const _subject = new BehaviorSubject(null);\n this.valueChanges.subscribe((values: any) => _subject.next(values));\n return _subject.asObservable()\n .pipe(\n filter(values => !!values)\n );\n};\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 82469,\n\t\"./tg.js\": 82469,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["ParmissoesPagina","BreakpointObserver","QueryList","FormBuilder","FormControl","Router","Observable","NgbdSortableHeader","BlockUtil","DialogUtil","ToastUtil","ESituacao","AccountService","AlertaService","ExcelService","EOrderBy","i0","ctx_r3","ctx_r4","ctx_r1","AlertaComponent","router","dialogModal","blockUtil","formBuilder","service","toast","breakpointObserver","accountService","excelService","isMobile","alertas$","total$","form","eSituacao","toList","eSitucaoPendente","PENDENTE","eSitucaoEmAtendimento","EM_ATENDIMENTO","eSitucaoFinalizado","FINALIZADO","pesquisaAvancadaAberta","colsGrid","colKey","colName","type","options","toListAll","headers","constructor","url","blockName","group","filtroGenerico","observe","subscribe","result","matches","ngOnInit","get","onSort","column","direction","forEach","header","sortable","getOrderByDirection","search","controls","value","trim","page","pageSize","searchTerm","sortColumn","sortDirection","ASC","alerta","modeloRegraId","dataGeracao","dataHoraInclusao","situacaoId","unidadeFiscalNome","usuarioAtendimentoNome","alertaTipoLiberacaoId","alertaID","regraID","periodo","situacao","motivo","serie","condicionante","usuarioAtendimento","tipoAlerta","onLink","data","open","title","modeloRegra","nome","text","btns","label","class","callback","bloquear","situacaoNome","VINCULADO","putSituacao","next","showSuccess","desbloquear","error","erro","showDanger","onView","alertaId","navigate","queryParams","onFinalize","onFiscalizar","id","onLiberar","exportExcel","jsonData","alertas","map","regra","dataHoraInclusaoFormatado","descricaoTipoAlerta","usuarioNomeAlteracao","regraId","condicionanteDescricao","pesquisaAvancada","reset","closeSearch","cleanSearch","setValue","selectors","viewQuery","decls","vars","consts","template","BehaviorSubject","CondicionanteService","ctx_r5","ctx_r0","ctx_r33","CondicionantesComponent","condicionantes$","condicionanteEditar","ATRIBUIDO","descricao","situacaoID","condicionanteId","onEdit","onDelete","EXCLUIDO","toInsert","close","ComunService","tap","PlacaService","ETipoPlaca","ConsultarplacasComponent","comunService","placas$","placa","buscaFoiRealizada","pipe","placas","length","dataInicio","validators","DateTimeValidator","dataFim","updateOn","visualizar","ehMDFE","tipoPlacaId","MDFE","ehRPE","RPE","ehTA","TA","ehTVF","TVF","ehRPA","RPA","consultaRetornouResultado","limpar","patchValue","tipoPlacaNome","numero","dataHora","novaDataHora","Date","toLocaleString","timeZone","voltar","features","fc","date","isValid","isNaN","valueOf","valid","FiltroEntradaService","FiltroEntradaValidator","FiltroEntradaCadastroComponent","validator","comum","tipoDados","ObterTipoDado","tipoDado","caminhoMapeado","onSubmit","set","showMessages","filtro","filtroEntrada","new","cancel","ctx","ActivatedRoute","FiltroEntradaEditarComponent","route","filtroEntradaId","snapshot","queryParamMap","getById","filtroEntradaID","tiposDado","find","tipoDadoID","put","ParametrosEntradaService","ParametroEntradaService","ETipoDado","ctx_r34","FiltroEntradaComponent","filtroEntrada$","filtroEntradas$","exibirMensagemDeAtencao","toString","includes","showWarning","replace","combineLatest","filter","take","FormGroup","LocalizacaoEventoService","LocalizacaoEventoComponent","localizacaoEventos$","usuarios","acoes","configuracoesPadrao","singleSelection","allowSearchFilter","configuracoesUsuario","textField","idField","configuracoesAcao","bloqueioTela","usuario","unidade","acao","dataHoraInicio","dataHoraFim","ObterUsuariosAtivos","ObterAcoes","permissoes","PermissionOnModel","usuarioId","at","acaoID","acaoId","clear","localizacaoEventos","acaoNome","mapboxgl","LocalizacaoMapaService","LocalizacaomapaComponent","localizacaoMapaService","equipamentos","exibirViasFerrea","exibirRodoviasEstaduais","exibirRodoviasFederais","controleExibirViaFerrea","exibir","abrirMapa","controleExibirRodoviasEstaduais","controleExibirRodoviasFederais","criarMapa","adicionarMalhaViaria","accessToken","Map","container","style","zoom","scrollZoom","center","addControl","NavigationControl","adicionarLocalizacaoDeEquipamentos","adicionarUsuariosConectados","AdicionarUnidadesFiscais","ObterEquipamentos","response","equipamento","equipamentoDeMS","local","longitude","latitude","nomeEquipamento","popup","Popup","offset","setHTML","gerarTextoPopup","el","document","createElement","className","backgroundImage","backgroundColor","width","height","backgroundSize","Marker","setLngLat","setPopup","addTo","ObterUsuariosConectados","usuarioConectado","formatarDadosCoordenadas","Coordenadas","NomeDoUsuario","UnidadeDoUsuario","ObterUnidadesESubunidadesFiscaisAtivas","unidadeFiscal","coordenadas","posicaoDoArray","String","isNullOrEmpty","split","nomeUnidadeFiscal","coordenas","gerarUmaLinhaComTitutloEConteudo","titulo","conteudo","comQuebraDeLinha","novaLinha","quebraDeLinha","textoEmNegrito","texto","adicionarMalhaViariaViasFerrea","adicionarMalhaViariaRodoviasEstaduais","adicionarMalhaViariaRodoviasFederais","idSource","cor","on","criarSource","malhaViariaMSViaFerrea","criarLayer","malhaViariaMSRodoviasEstaduais","malhaViariaMSRodoviasFederais","malhaViaria","addSource","addLayer","obterLinkMalhaViariaMSViaFerrea","obterLinkMalhaViariaMSRodoviasEstaduais","obterLinkMalhaViariaMSRodoviasFederais","fromEvent","ModuloValidator","Validators","ModuloService","catchError","debounceTime","pluck","startWith","switchMap","ModuloCadastroComponent","grupos","_icones","icones","selecionar","ObterGrupos","ObterIcones","grupo","required","caminho","icone","ordem","iconeSelecionado","input","querySelector","evento","termo","source","modulo","selectIcon","removeIcon","confirmIcon","clearFilter","toogleSelectIcon","ModuloEditarComponent","perfils","moduloId","grupoID","grupoId","classe","selectOrigin","EGrupo","ModuloComponent","modulo$","ModeloRegraService","ModeloRegraValidator","ModeloRegraCadastroComponent","parametrosEntrada","filtrosEntrada","parametrosSaida","selectedItems","selectAllText","unSelectAllText","enableCheckAll","itemsShowLimit","parametrosEntradaSettings","filtrosEntradaSettings","parametrosSaidaSettings","ObterCondicionantesByExibeRegra","ObterParametrosEntradaAtivos","ObterFiltrosEntradaAtivos","ObterParametrosSaidaAtivos","parametrosEntradaSelecionados","parametrosSaidaSelecionados","filtrosEntradaSelecionados","removerParametroEntrada","_parametroEntrada","parametroEntrada","removerParametroSaida","_parametroSaida","parametroSaida","removerFiltroEntrada","_filtroEntrada","ModeloRegraEditarComponent","ObterCondicionantesAtivosEAtribuido","condicionantes","listaParametrosEntrada","parametros","parametroEntradaId","Object","assign","listaFiltrosEntrada","filtros","listaParametrosSaida","parametroSaidaId","clean","ModeloRegraComponent","modelosregra$","ParametroEntradaValidator","ParametroEntradaCadastroComponent","ParametroEntradaEditarComponent","parametroEntradaID","ctx_r35","ParametroEntradaConsultaComponent","parametros$","dataDeTratamento","ParametroSaidaValidator","ParametrosSaidaService","ParametroSaidaCadastroComponent","ParametroSaidaEditarComponent","parametroSaidaID","ParametroSaidaService","ParametroSaidaConsultaComponent","PerfilService","PerfilComponent","perfil$","perfilId","FormGroupDirective","Passo3ComportamentoComponent","rootFormGroup","comportamentosRegra$","ObterComportamentoRegraAtivos","control","valor","comportamentoRegra","comportamentoRegraId","comportamentos","emitEvent","RegraService","NgbModal","DesativarRegraComponent","PararAtualizacaoRegraComponent","ctx_r6","ctx_r49","ctx_r2","RegraComponent","modalService","regras$","eSituacaoDesativada","DESATIVADO","eSituacaoCancelada","CANCELADO","nomeModelo","destinatario","justificativa","dataInicial","dataFinal","tipoRegra","onDesativar","regraDescricao","comportamentoRegraNome","modalRef","backdrop","centered","modalDialogClass","componentInstance","dismissed","closed","onPararAtualizacao","regras","tipoDestinatarioNome","dataHoraInicioVigenciaFormatado","dataHoraFimVigenciaFormatado","tipoRegraDescricao","exibirBotaoEditar","PodeAlterar","regraDoTipoCustomizada","exibirBotaoExcluir","PodeExcluir","exibirBotaoDesativarRegra","exibirBotaoPararAtualizacoes","exibirIconePararAtualizacao","UsuarioService","ctx_r31","UsuarioComponent","usuario$","perfil","NgbActiveModal","MapaComponent","activeModal","nomeUsuario","login","unidadeDeLotacao","obterLongitude","then","responseLongitude","finally","obterLatitude","responseLatitude","prepadarDadosParaRetorno","touchZoomRotate","color","draggable","closeModal","inputs","LocalizacaoUsuarioService","Unidade","UnidadeFiscal","MasterComponent","moment","ctx_r7","UsuarioconectadoComponent","usuariosConectados$","unidadesFiscais","nomesDosServidoresDaUnidade","habilitarDropNomeServidores","selectedUnidades","activeButton","nomeUsuarios","configuracoesNomeUsuario","unidadeDoUsuario","dataInicioAux","horaInicio","dataFimAux","horaFim","obterUnidades","valueChanges","e","changeDataAux","event","seletor","formatedDate","day","month","year","ObterTodasUnidadesFiscaisPorUsuario","validarPreenchimentoDoFiltro","body","getRawValue","validarFiltro","unidadesIdAux","u","unidadeFiscalId","join","DataHoraFormat","hora","hour","minute","format","onVisualizarLocalizacaoUsuario","usuariosConectados","LoginUsuario","selecionarUnidade","unidadeSelecionada","reduce","acumulator","elemento","push","removerUnidadeFiscal","_unidade","unidades","codigoUnidade","codigoLocal","removeControl","campoFiscais"],"sourceRoot":"webpack:///","x_google_ignoreList":[270]}