diff --git a/src/app/about/about.component.html b/src/app/about/about.component.html index 8cfddb9b62b2c8f438e05bde1799cd4e6c020906..bc3de55dce269131e890ceef702319f50f8feeb7 100644 --- a/src/app/about/about.component.html +++ b/src/app/about/about.component.html @@ -1,163 +1,154 @@ <div class="container about"> <div class="col-md-12"> - <h2>O que é?</h2> + <h2 class="title">O que é?</h2> <hr> <p class="text-justify"> - O <strong>Simulador de Custo-Aluno Qualidade (SimCAQ)</strong> é um sistema gratuito e - disponível na internet (www.simcaq.c3sl.ufpr.br) cuja finalidade é subsidiar o cálculo do custo da oferta de - ensino em condições de qualidade nas escolas públicas de educação básica e subsidiar a elaboração do orçamento - público para assegurar um financiamento adequado nos níveis municipal, estadual e nacional. + O <strong>Simulador de Custo-Aluno Qualidade (SimCAQ)</strong> é um sistema gratuito e disponível na internet + (www.simcaq.c3sl.ufpr.br) que calcula o custo da oferta de ensino em condições de qualidade nas escolas públicas + de educação básica, ou seja, o Custo-Aluno Qualidade (CAQ). </p> - <h2>O que faz?</h2> - <hr> - <p class="text-justify">O SimCAQ subsidia:</p> - <ol> - <li> - A definição de valores do Custo-Aluno Qualidade (CAQ) em nível nacional por etapa, área da localidade - (urbana/rural) e turno (parcial/integral) a partir de quase 400 parâmetros denominados “Padrão de Qualidade de - Referência” (PQR) (Aba “Simule os valores do CAQ”); - </li> - <li> - A elaboração do orçamento necessário para garantir o financiamento da educação em condições de qualidade a - partir dos valores do CAQ (Aba “Elabore o orçamento educacional”); - </li> - <li> - A construção de cenários com valores para a operacionalização de um fundo de manutenção (semelhante ao Fundeb) - a partir dos valores do CAQ (Aba Calcule os valores de um fundo de manutenção). - </li> - </ol> <p class="text-justify"> - Enquanto ferramenta de planejamento orçamentário (Aba “Elabore o orçamento educacional”), o simulador realiza o - diagnóstico do contexto educacional em nível municipal (e também estadual ou nacional) e permite a - inserção/edição de mais de 350 parâmetros de condições de oferta para realizar o planejamento orçamentário para - um período de até 10 anos. + É uma ferramenta de planejamento educacional com ênfase no aspecto orçamentário que realiza o diagnóstico do + contexto educacional em nível municipal, estadual e nacional e permite a inserção e edição de inúmeros parâmetros + de condições de oferta para simular o orçamento anual necessário para um período de até 10 anos. </p> - <p class="text-justify">O simulador realiza procedimentos em quatro etapas.</p> + <p class="text-justify"><strong>Objetivos:</strong></p> <ul> <li> <p class="text-justify"> - <u>Etapa 1</u>: o usuário define uma localidade (Brasil, UF ou município) para realizar o planejamento. - </p> - </li> - <li> - <p class="text-justify"> - <u>Etapa 2</u>: realiza um diagnóstico da oferta educacional na localidade selecionada com dados oriundos de - levantamentos oficiais que coletam informações sobre a oferta e o financiamento da educação básica - (principalmente do INEP, mas também do FNDE, do IBGE, do Ministério do Trabalho e da Secretaria do Tesouro - Nacional). + Oferecer suporte ao processo de elaboração/adequação e monitoramento/avaliação dos Planos Estaduais e + Municipais de Educação, visando a articulação das metas educacionais locais com as metas do Plano Nacional de + Educação (PNE), Lei n° 13.005 de 25 de junho de 2014, e a previsão do montante de recursos financeiros + necessário para a oferta da educação básica em condições de qualidade no período dos planos. </p> </li> <li> <p class="text-justify"> - <u>Etapa 3</u>: registra o número de matrículas pretendido em cada etapa e série para o período do plano - informado pelo usuário (de 1 até 10 anos). + Fomentar pesquisas e publicações sobre financiamento da educação, custos educacionais e oferta da educação + básica em condições de qualidade; </p> </li> <li> <p class="text-justify"> - <u>Etapa 4</u>: apresenta um conjunto de parâmetros que compõem o ‘Padrão de Qualidade de Referência’ (PQR) e - a situação da localidade em cada aspecto, para que o usuário valide ou altere conforme sua realidade local. - </p> - </li> - <li> - <p class="text-justify"> - <u>Etapa 5</u>: Por fim, calcula o orçamento necessário para garantir o financiamento da educação em - condições de qualidade na localidade selecionada. + Promover a interação entre pesquisadores, gestores das redes de ensino, governos, profissionais da educação + e sociedade civil para debater os desafios para o cumprimento da meta 20 do PNE 2014-2024. </p> </li> </ul> - <h2>Público-alvo</h2> + <h2 class="title">Público-alvo</h2> <hr> <ul> <li>Gestores das secretarias municipais, estaduais e Ministério da Educação;</li> <li>Gestores dos órgãos de planejamento e finanças das três esferas de governo;</li> <li>Agentes do poder legislativo;</li> + <li>Agentes do Ministério Público;</li> <li>Agentes dos conselhos municipais, estaduais e nacional de educação;</li> <li>Sindicatos de trabalhadores e profissionais da educação;</li> - <li>Comunidade escolar (alunos, pais e profissionais da educação)</li> + <li>Comunidade escolar (alunos, pais e profissionais da educação);</li> <li>Movimentos sociais;</li> <li>Organizações da sociedade civil;</li> <li>Comunidade acadêmica (professores, pesquisadores, alunos e técnicos administrativos);</li> <li>Imprensa.</li> </ul> - <h2>Realização</h2> + <h2 class="title">Realização</h2> <hr> <p class="text-justify"> - O simulador é resultado de um projeto de pesquisa coordenado por quatro professores (as) do Departamento de - Planejamento e Administração Escolar (Deplae), do Centro de Computação Científica e Software Livre (C3SL) - vinculado ao Departamento de Informática da Universidade Federal do Paraná (UFPR) e da Faculdade de - Administração, Ciências Contábeis e Ciências Econômicas da Universidade Federal de Goiás (FACE/UFG). Nesse - contexto, docentes e alunos de graduação, mestrado e doutorado (das áreas de educação, informática e design) se - articularam em atividades de pesquisa e desenvolvimento para a consecução dos objetivos do projeto. Além disso, o - projeto também contou com quatro analistas de sistemas contratados. + O simulador é resultado de um projeto de pesquisa realizado na <strong>Universidade Federal do Paraná</strong> e + na <strong>Universidade Federal de Goiás</strong> por uma equipe composta por professores, alunos de graduação, + mestrado e doutorado das áreas de Educação, Computação, Administração Pública, Design e Comunicação, além de + analistas de sistemas contratados. </p> <p class="text-justify"> - O projeto tem financiamento para o período de 2016 a 2019 oriundo de um ‘Termo de Execução Descentralizada’ (TED) - firmado entre a UFPR e a Secretaria de Articulação com os Sistemas de Ensino do Ministério da Educação - (SASE/MEC). + O projeto foi financiado no período de outubro/2015 a outubro/2019 por meio de um Termo de Execução + Descentralizada (TED) firmado entre a UFPR e a Secretaria de Articulação com os Sistemas de Ensino do Ministério + da Educação (SASE/MEC). </p> <p class="text-justify"> - O objeto do TED é viabilizar a disponibilização do SimCAQ, de forma gratuita e na internet, como ferramenta de - suporte ao processo de elaboração/adequação e monitoramento/avaliação dos Planos Estaduais e Municipais de - Educação visando a articulação das metas educacionais locais com as metas do Plano Nacional de Educação (PNE) – - Lei 13.005 de 25/06/2014 – e a previsão do montante de recursos financeiros necessário para a oferta da educação - básica em condições de qualidade no período dos planos. + É importante frisar que <strong>a autonomia da universidade pública foi preservada no âmbito da cooperação + UFPR/MEC e que os conteúdos do SimCAQ são de autoria e responsabilidade da equipe do projeto</strong>. </p> + <p class="text-justify"><strong>Instituições, departamentos e grupos de pesquisas envolvidos:</strong></p> + <p class="text-justify sub-title"><u>Realização:</u></p> <p class="text-justify"> - Assim, reunindo esforços e conhecimentos de professores e alunos, a UFPR e a UFG cumprem seus papéis no sentido - de oferecer à sociedade soluções inovadoras com grande potencial para subsidiar o enfrentamento dos desafios - sociais. Nesse caso, especificamente, o financiamento da educação básica. + UNIVERSIDADE FEDERAL DO PARANÁ + <br> + Setor de Educação / Departamento de Planejamento e Administração Escolar + <br> + Setor de Exatas / Departamento de Informática </p> <p class="text-justify"> - É importante frisar que a autonomia da universidade pública foi preservada no âmbito da cooperação UFPR/MEC e que - os conteúdos do SimCAQ são de autoria e responsabilidade dos pesquisadores que coordenam o projeto. + UNIVERSIDADE FEDERAL DE GOIÁS + <br> + Faculdade de Administração, Ciências Contábeis e Ciências Econômicas </p> - <h2>Breve trajetória</h2> + <p class="text-justify"> + Laboratório de Dados Educacionais + <br> + Centro de Computação Científica e Software Livre (C3SL) + </p> + <p class="text-justify sub-title"><u>Financiamento:</u></p> + <p class="text-justify"> + Ministério da Educação + </p> + <p class="text-justify sub-title"><u>Apoio administrativo:</u></p> + <p class="text-justify"> + Fundação de Pesquisas Florestais do Paraná (Fupef) + </p> + <h2 class="title">Trajetória</h2> <hr> <p class="text-justify"> - A ideia inicial do SimCAQ surgiu em 2008 motivada pelas evidências de subfinanciamento (precariedade da - infraestrutura, falta de condições materiais para o trabalho pedagógico, baixos salários etc.) em parte - significativa das escolas públicas do Brasil. Igualmente, pela insuficiência de recursos aportados à educação - básica por meio dos mecanismos vigentes que NÃO garantem valores monetários suficientes para garantir o custeio - da oferta com base nas necessidades educacionais. Essa realidade já havia sido revelada em várias pesquisas que, - desde o final da década de 1980, indicava o custo-aluno qualidade (CAQ) como o parâmetro para o adequado - financiamento das escolas públicas de educação básica no país. + A ideia inicial do SimCAQ surgiu em 2008 motivada pelas evidências de subfinanciamento em parte significativa das + escolas públicas do Brasil, como por exemplo, precariedade da infraestrutura, falta de condições materiais para o + trabalho pedagógico, baixos salários. Essa realidade já havia sido revelada em inúmeras pesquisas que, desde o + final da década de 1980, indicava o Custo-Aluno Qualidade (CAQ) como parâmetro adequado para o financiamento da + educação básica no país. </p> <p class="text-justify"> Nesse contexto, o trabalho de Denise Carreira e José Marcelino de Rezende Pinto (2007), “Custo aluno-qualidade - inicial: rumo à educação pública de qualidade no Brasil”, publicado no âmbito dos trabalhos da Campanha Nacional - Pelo Direito à Educação, que se tornou importante referência para a incidência política que culminou na inserção - do CAQi/CAQ no PNE 2014-2024, forneceu importante base para o início do delineamento do modelo teórico que deu - origem ao simulador. + inicial: rumo à educação pública de qualidade no Brasil”, publicado em 20017, no âmbito dos trabalhos de + incidência política da <strong>Campanha Nacional Pelo Direito à Educação</strong> que culminou na inserção do + CAQi/CAQ na meta 20 do PNE 2014-2024, foi o ponto de partida para a elaboração do modelo teórico que deu origem ao + SimCAQ. </p> + <p class="text-justify"><strong>1ª ETAPA</strong></p> <p class="text-justify"> - Um projeto de tese de doutorado foi apresentado em 2008 ao programa de pós-graduação em Administração da - Faculdade de Economia e Administração da Universidade de São Paulo (FEA/USP) na linha de pesquisa métodos - quantitativos e informática. A tese foi elaborada de 2010 a 2012 por Thiago Alves, sob orientação de Adriana - Backx Noronha Viana e José Marcelino de Rezende Pinto. Nesse trabalho, foi desenvolvido o modelo conceitual, além - das primeiras demonstrações de cálculos e funcionamento do SimCAQ (ALVES, 2012). + Um projeto de tese de doutorado foi apresentado em 2008 ao programa de Pós-Graduação em Administração da Faculdade + de Economia e Administração da Universidade de São Paulo (FEA/USP) na linha de pesquisa ‘Métodos Quantitativos e + Informática’. A tese foi elaborada de 2010 a 2012 por <strong>Thiago Alves</strong>, sob orientação de + <strong>Adriana Backx Noronha Viana</strong> e <strong>José Marcelino de Rezende Pinto</strong>. Nesse trabalho + foi desenvolvido o modelo conceitual, além das primeiras demonstrações de cálculos e funcionalidades do SimCAQ + (ALVES, 2012),. </p> <p class="text-justify"> - O desenvolvimento do simulador foi iniciado em 2012 com recursos da CAPES. Naquele momento, só foi possível - desenvolver um protótipo, pois, verificou-se que, por si tratar de uma inovação, o projeto requereria um montante - considerável de recursos financeiros para manter uma equipe de programadores e analistas de dados educacionais. - Isso fez com que o desenvolvimento ocorresse de forma gradual. + O desenvolvimento do simulador foi iniciado em 2011 com financiamento do Observatório da Educação/CAPES em projeto + coordenado pela Profa. <strong>Cláudia Souza Passador</strong> (FEARP/USP). Naquele momento, com os recursos + disponíveis, só foi possível iniciar o desenvolvimento de um protótipo baseado em planilhas eletrônicas. O projeto + foi interrompido por dois anos a partir de julho/2012. </p> + <p class="text-justify"><strong>2ª ETAPA</strong></p> <p class="text-justify"> Em 2014, após a sanção do PNE 2014-2024, uma parceria entre a SASE/MEC e a Faculdade de Administração, - Contabilidade e Economia da Universidade Federal de Goiás (FACE/UFG), tornou possível avançar na segunda etapa do - desenvolvimento que resultou em uma versão desktop do simulador (ainda sem estrutura tecnológica para - disponibilização na web). + Contabilidade e Economia da Universidade Federal de Goiás (FACE/UFG) coordenada por <strong>Thiago Alves</strong> + tornou possível o desenvolvimento de um protótipo com várias funcionalidades (versão desktop). Aquele protótipo + demonstrou o potencial do simulador como ferramenta de planejamento. A decisão da SASE/MEC de financiar uma versão + com estrutura tecnológica para disponibilização na internet para a sociedade foi tomada em 2015, após repetidas + manifestações de apoio de entidades que compunham o Fórum Nacional de Educação à época. </p> + <p class="text-justify"><strong>3ª ETAPA</strong></p> <p class="text-justify"> - Por fim, somente em 2016, a partir da parceria entre SASE/MEC e UFPR relatada acima, e da estruturação de uma - equipe coordenada por quatro pesquisadores (Adriana Dragone Silveira; Gabriela Schneider; Marcos Didonet Del - Fabro; e Thiago Alves) além de dedicados alunos de graduação, mestrado e doutorado (das áreas de educação, - informática e design) e de quatro analistas de sistemas contratados (uma equipe de quase trinta pessoas), o - SimCAQ foi desenvolvido em versão web para ser disponibilizada para o público, sendo uma primeira versão - disponibilizada a partir de dezembro de 2018. - </p> - <p class="text-justify reference"> + Por fim, a versão atual disponibilizada para a sociedade foi desenvolvida de 2016 a 2019 com recursos públicos + oriundos do orçamento do Ministério da Educação. É resultado de esforços de uma equipe composta por mais de vinte + pessoas coordenada por <strong>Adriana Dragone Silveira (Deplae/UFPR)</strong>, <strong>Gabriela Schneider + (Deplae/UFPR)</strong>, <strong>Marcos Didonet Del Fabro (C3SL/UFPR)</strong> e <strong>Thiago Alves + (FACE/UFG)</strong>. Também contou com a importante parceria do <strong>Prof. José Marcelino de Rezende Pinto + (FFCLRP/USP)</strong>. A versão disponibilizada nessa plataforma em muito avançou em concepção, funcionalidades, + design e tecnologia em relação às etapas anteriores. É fruto de intenso trabalho coletivo multidisciplinar de + pesquisadores e profissionais que desenvolveram coletivamente, no ambiente fecundo de conhecimentos das + universidades federais, uma ferramenta de planejamento que pode contribuir para a mudança de concepção do + financiamento da educação básica brasileira como forma de garantir o direito à educação pública, gratuita e de + qualidade para todos/as crianças, jovens e adultos do Brasil. + </p> + <p class="title text-justify reference"> REFERÊNCIAS </p> <p class="text-justify reference"> diff --git a/src/app/about/about.component.scss b/src/app/about/about.component.scss index 242c88c919de477b42552258ce81cd7cc6356428..46fd03f4bdb21609587784d9889cc4d6617a87b4 100644 --- a/src/app/about/about.component.scss +++ b/src/app/about/about.component.scss @@ -1,9 +1,15 @@ +@import "../shared/styles/variables.scss"; + .about { font-size: 16px; - color: #3e3e3e !important; + color: $text-color; + + .title { + color: $navbar-color; + } - h2 { - font-weight: 600; + .sub-title { + margin-bottom: 8px; } p, ol, ul { @@ -23,8 +29,11 @@ } .reference { - font-size: 13px; - font-weight: 600; + font-size: 15px; margin: 0 0 16px; + + &.title { + font-weight: 600; + } } } \ No newline at end of file diff --git a/src/app/login/login.component.html b/src/app/login/login.component.html index 26a74ce8c4a1c654c0f5bb1652ef5d3dbd3652f2..79fb7e5c9206221a9625c527899168baa08c6b79 100644 --- a/src/app/login/login.component.html +++ b/src/app/login/login.component.html @@ -30,12 +30,11 @@ </div> <div class="modal-footer" *ngIf="!emailSent"> - <button *ngIf="loginMode" type="button" class="btn btn-default enter" (click)="cancel()">Cancelar</button> - <button *ngIf="!loginMode" type="button" class="btn btn-default enter" (click)="loginMode = true">Voltar</button> + <button *ngIf="loginMode" type="button" class="btn btn-primary enter" (click)="login()">Entrar</button> + <button *ngIf="!loginMode" type="button" class="btn btn-primary enter" (click)="rememberPassword()">Enviar</button> <div class="pull-right"> - <button *ngIf="loginMode" type="button" class="btn btn-primary enter" (click)="login()">Entrar</button> - <button *ngIf="!loginMode" type="button" class="btn btn-primary enter" - (click)="rememberPassword()">Enviar</button> + <button *ngIf="loginMode" type="button" class="btn btn-default enter" (click)="cancel()">Cancelar</button> + <button *ngIf="!loginMode" type="button" class="btn btn-default enter" (click)="loginMode = true">Voltar</button> </div> </div> <div class="modal-footer" *ngIf="emailSent"> diff --git a/src/app/profile/profile.component.ts b/src/app/profile/profile.component.ts index 5cb14205cb38fee5404816312db3486b4d0e9a37..54cc7876ffc4a463dcd1ce0562d32ddde1fb7a6c 100644 --- a/src/app/profile/profile.component.ts +++ b/src/app/profile/profile.component.ts @@ -53,7 +53,7 @@ export class ProfileComponent extends BaseUnsubscribe implements OnInit { } logout(): void { - this.getConfirmStream('Ao sair os dados da simulação corrente serão perdidos caso não tenham sido salvos. Tem certeza que deseja sair?').pipe( + this.getConfirmStream('Tem certeza que deseja sair?').pipe( takeUntil(this.unsubscribe)) .subscribe(confirmed => { if (confirmed) { diff --git a/src/app/shared/components/modal/confirm/confirm/confirm.component.html b/src/app/shared/components/modal/confirm/confirm/confirm.component.html index 7ae6193d74d4e3ee42b4bb725482ebdf2c9fdf06..4189d54ce924f57ab60527079cbc5124013fa67c 100644 --- a/src/app/shared/components/modal/confirm/confirm/confirm.component.html +++ b/src/app/shared/components/modal/confirm/confirm/confirm.component.html @@ -12,7 +12,7 @@ <p [innerHTML]="body"></p> </div> <div class="modal-footer"> - <button type="button" class="btn btn-info" (click)="yes()">{{yesButtonText}}</button> - <button type="button" class="btn btn-success" (click)="no()">{{noButtonText}}</button> + <button type="button" class="btn btn-info yes" (click)="yes()">{{yesButtonText}}</button> + <button type="button" class="btn btn-success no" (click)="no()">{{noButtonText}}</button> </div> </div> \ No newline at end of file diff --git a/src/app/shared/components/modal/confirm/confirm/confirm.component.scss b/src/app/shared/components/modal/confirm/confirm/confirm.component.scss index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..274c5a43d309724e4000d65333d4fcb1bd301b52 100644 --- a/src/app/shared/components/modal/confirm/confirm/confirm.component.scss +++ b/src/app/shared/components/modal/confirm/confirm/confirm.component.scss @@ -0,0 +1,3 @@ +.yes, .no { + width: 90px; +} \ No newline at end of file diff --git a/src/app/shared/services/auth/auth.service.ts b/src/app/shared/services/auth/auth.service.ts index c7760643b3b641c2a68a44ccbf4e9511b24e9ec6..80fc0a9a65aea35e8df91498dac598da8e61ab44 100644 --- a/src/app/shared/services/auth/auth.service.ts +++ b/src/app/shared/services/auth/auth.service.ts @@ -3,14 +3,12 @@ import { Router } from '@angular/router'; import { HttpParams, HttpHeaders } from '@angular/common/http'; import { throwError, Subject, Observable, of, empty } from 'rxjs'; import { map, catchError } from 'rxjs/operators'; -import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal'; import { UtilitiesService } from '../utilities/utilities.service'; import { NotificationService } from '../notification/notification.service'; import { HttpService } from '../http/http.service'; import { SessionService } from '../session/session.service'; import { UserInfo } from './entities/user-info'; -import { User } from '../../../user/entities/user'; @Injectable({ providedIn: 'root' diff --git a/src/app/shared/services/utilities/utilities.service.ts b/src/app/shared/services/utilities/utilities.service.ts index 45846b65b3feae6a713076f37a7a72ca9b949343..d1b0f1e94ffba71e395608de79f73fb46d8ce534 100644 --- a/src/app/shared/services/utilities/utilities.service.ts +++ b/src/app/shared/services/utilities/utilities.service.ts @@ -32,6 +32,7 @@ import { ClassSizeByLocation } from '../../entities/class-size-by-location'; import { LocationEnum } from '../../entities/enums/location.enum'; import { ClassSize } from '../../entities/class-size'; import { FinancialData } from '../../../simulator/results/budget-forecast-report/entities/financial-data'; +import { FunctionalityInfo } from '../../entities/functionality/functionality-info'; @Injectable({ providedIn: 'root' @@ -47,6 +48,7 @@ export class UtilitiesService { static readonly hasErrorSessionKey: string = 'haserror'; static readonly hasRequiredDataSessionKey: string = 'hasrequireddata'; static readonly isDiscardContentSimulation: string = 'isdiscardcontentsimulation'; + static readonly simulationTypeSessionKey: string = `${FunctionalityInfo.simulationNamespace}.type`; static readonly minSimulationTime: number = 1; static readonly maxSimulationTime: number = 10; static readonly idStageEeExclusiva: number = 7; diff --git a/src/app/shared/styles/variables.scss b/src/app/shared/styles/variables.scss index 213cdb90f147a1ab7670acb28ec86768728925a8..2e7d9748b7db90bfaac6d85a5cc549b8e739d588 100644 --- a/src/app/shared/styles/variables.scss +++ b/src/app/shared/styles/variables.scss @@ -6,6 +6,7 @@ $blue-color: #2f4858; $blue-second-color: #7ea5be; $red-color: #a72222; $gray-color: #777e82; +$text-color: #777d82; $differentiated-table-background-color: #eee; $float-breakpoint: 1064px; diff --git a/src/app/simulator/access-and-offer/view-enrollment-by-stage-series/view-enrollment-by-stage-series.component.ts b/src/app/simulator/access-and-offer/view-enrollment-by-stage-series/view-enrollment-by-stage-series.component.ts index 2e717e85a97a0cf502837c19b10cca868e364ec8..0c5e3ab5a2c30395a53eb39bdf54fca76f26cfe8 100644 --- a/src/app/simulator/access-and-offer/view-enrollment-by-stage-series/view-enrollment-by-stage-series.component.ts +++ b/src/app/simulator/access-and-offer/view-enrollment-by-stage-series/view-enrollment-by-stage-series.component.ts @@ -10,8 +10,8 @@ import { ViewEnrollmentByStageSeries } from './entities/view-enrollment-by-stage import { FunctionalityInfo } from '../../../shared/entities/functionality/functionality-info'; import { OutOfSchoolPopulationService } from '../../shared/services/out-of-school-population/out-of-school-population.service'; import { SerieEnum } from '../../../shared/entities/enums/serie.enum'; -import { SimulatorService } from '../../simulator/services/simulator.service'; import { SimulationType } from '../../simulator/entities/enums/simulation-type.enum'; +import { UtilitiesService } from '../../../shared/services/utilities/utilities.service'; @Component({ selector: 'app-view-enrollment-by-stage-series', @@ -53,7 +53,7 @@ export class ViewEnrollmentByStageSeriesComponent extends BaseNavigableComponent } getPreviousStepRoute(): Array<string> { - const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(SimulatorService.simulationTypeSessionKey); + const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(UtilitiesService.simulationTypeSessionKey); if (simulationType !== SimulationType.planning) { return undefined; diff --git a/src/app/simulator/pqr/pqr.component.html b/src/app/simulator/pqr/pqr.component.html index e066a91bfaec86078faa4be53e7f59e5e900b899..15ae3c2bd73834c37c08a20024e4528ff1fd5308 100644 --- a/src/app/simulator/pqr/pqr.component.html +++ b/src/app/simulator/pqr/pqr.component.html @@ -1,7 +1,7 @@ <div class="row pqr"> <div class="col-md-10 col-md-offset-1"> <div class="page-header"> - <h1 class="page-title">Padrão de qualidade de referência<sup>1</sup></h1> + <h1 class="page-title">Padrão de qualidade de referência</h1> </div> <div class="text-center presentation-container"> <h3 class="title">Apresentação</h3> @@ -49,7 +49,7 @@ </p> <p class="text" align="justify"> Os parâmetros que se referem mais especificamente às condições de qualidade são pensados tendo como base as - especificidades das etapas e modalidades<sup>2</sup> bem como a localização e o tamanho das escolas. Os + especificidades das etapas e modalidades bem como a localização e o tamanho das escolas. Os valores atribuídos são uma proposta de padrão de qualidade de referência para o cálculo <strong>Custo-Aluno Qualidade inicial (CAQi)</strong>, para o ano de 2019. </p> @@ -63,22 +63,6 @@ parte dos entes federativos. </p> </div> - <div class="notes text-left"> - <div class="separator">_____________________________________</div> - <p class="note" align="justify"> - <sup>1</sup> O Projeto SimCAQ obteve financiamento para o período de 2016 a 2019 oriundo de um Termo de - Execução Descentralizada (TED) firmado entre a Universidade Federal do Paraná (UFPR) e a Secretaria de - Articulação com os Sistemas de Ensino do Ministério da Educação (SASE/MEC). - </p> - <p class="note" align="justify"> - <sup>2</sup> Na versão em desenvolvimento, o SimCAQ apresenta os cálculos de valores do CAQ para creche, - pré-escola, ensino fundamental anos iniciais e finais (separadamente), ensino médio e educação de jovens e - adultos (EJA). Considerando às especificidades das diversas situações de oferta da educação espacial e - educação profissional o SimCAQ pretende avançar no cálculo do CAQ destas modalidades em nova fase da pesquisa. - Desta forma, cada matrícula da Educação Especial e Educação Profissional é financiada com o mesmo valor de CAQ - corresponde às etapas regulares que os alunos frequentam. - </p> - </div> <hr> <h3 class="title">Valores do PQR para o cálculo do CAQi</h3> <p class="text" align="justify"> diff --git a/src/app/simulator/pqr/pqr.component.scss b/src/app/simulator/pqr/pqr.component.scss index eee1bf8b96c8fb9b317d9d2cc618f184a8248dfb..142653fba2b8ae24f4c6826f18ee20812016f5bc 100644 --- a/src/app/simulator/pqr/pqr.component.scss +++ b/src/app/simulator/pqr/pqr.component.scss @@ -1,18 +1,18 @@ -$text-color: #3e3e3e; -$note-color: #7b7b7b; +@import "../../shared/styles/variables.scss"; .pqr { margin-top: 24px; + color: $text-color; .title { margin-top: 25px; margin-bottom: 25px; + color: $navbar-color; } .presentation-container { .text { font-size: 16px; - color: $text-color; margin-bottom: 20px; &.emphasis { @@ -21,20 +21,6 @@ $note-color: #7b7b7b; } } - .notes { - font-size: 14px; - color: $note-color; - - .separator { - margin-top: -16px; - margin-bottom: 8px; - } - - .note { - margin-bottom: 20px; - } - } - .toolbar { .btn { height: 40px; @@ -85,8 +71,6 @@ $note-color: #7b7b7b; } .references { - color: $text-color; - p { margin-bottom: 15px; diff --git a/src/app/simulator/quality-conditions/daily-teaching-load/daily-teaching-load.component.html b/src/app/simulator/quality-conditions/daily-teaching-load/daily-teaching-load.component.html index 02838393d892a004791df86e811f693c7c3efe93..7fc9b5f983ef8d1e189432f2ace1595bd77f5d53 100644 --- a/src/app/simulator/quality-conditions/daily-teaching-load/daily-teaching-load.component.html +++ b/src/app/simulator/quality-conditions/daily-teaching-load/daily-teaching-load.component.html @@ -59,4 +59,4 @@ </div> </div> </div> -</div> \ No newline at end of file +</div> diff --git a/src/app/simulator/quality-conditions/school-day-per-week/school-day-per-week.component.ts b/src/app/simulator/quality-conditions/school-day-per-week/school-day-per-week.component.ts index efdf03ca447db9ee8f95ebdcca86e1fc2f5c05c1..c84a2ae49966463769331d5416774c426aa8f955 100644 --- a/src/app/simulator/quality-conditions/school-day-per-week/school-day-per-week.component.ts +++ b/src/app/simulator/quality-conditions/school-day-per-week/school-day-per-week.component.ts @@ -9,6 +9,8 @@ import { SchoolDayPerWeek } from './entities/school-day-per-week'; import { Inconsistency } from '../../../shared/components/inconsistency/entities/inconsistency'; import { FunctionalityInfo } from '../../../shared/entities/functionality/functionality-info'; import { NavigableComponentData } from '../../shared/entities/base/navigable-component-data'; +import { SimulationType } from '../../simulator/entities/enums/simulation-type.enum'; +import { UtilitiesService } from '../../../shared/services/utilities/utilities.service'; @Component({ selector: 'app-school-day-per-week', @@ -41,6 +43,16 @@ export class SchoolDayPerWeekComponent extends BaseNavigableComponent<SchoolDayP this.data = pqrData; } + getPreviousStepRoute(): Array<string> { + const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(UtilitiesService.simulationTypeSessionKey); + + if (simulationType === SimulationType.caq) { + return undefined; + } else { + return this.functionality.previousStep; + } + } + processValidation(): void { super.processValidation(); diff --git a/src/app/simulator/shared/components/processing-simulation/processing-simulation.component.ts b/src/app/simulator/shared/components/processing-simulation/processing-simulation.component.ts index cf1250aef026a8b7de60a262c9c98ad0ec6d784e..796b2f36571816672095bf34c8b028d99d351164 100644 --- a/src/app/simulator/shared/components/processing-simulation/processing-simulation.component.ts +++ b/src/app/simulator/shared/components/processing-simulation/processing-simulation.component.ts @@ -7,6 +7,7 @@ import { SimulatorService } from '../../../simulator/services/simulator.service' import { SimulationType } from '../../../simulator/entities/enums/simulation-type.enum'; import { SessionService } from '../../../../shared/services/session/session.service'; import { FunctionalityRoute } from '../../../../shared/entities/functionality/functionality-route'; +import { UtilitiesService } from '../../../../shared/services/utilities/utilities.service'; @Component({ selector: 'app-processing-simulation', @@ -24,7 +25,7 @@ export class ProcessingSimulationComponent extends BaseUnsubscribe implements On } processSimulation(): void { - const simulationType: SimulationType = this.sessionService.getItem(SimulatorService.simulationTypeSessionKey); + const simulationType: SimulationType = this.sessionService.getItem(UtilitiesService.simulationTypeSessionKey); this.simulatorService.initializeSimulation(simulationType).pipe( takeUntil(this.unsubscribe)) diff --git a/src/app/simulator/shared/guards/simulator/simulation-planning-financing-type.guard.ts b/src/app/simulator/shared/guards/simulator/simulation-planning-financing-type.guard.ts index 061dd2aa9e0ac9f300035e332c520c5382aa8841..ff1be2922e7231ed1301caf661e299aafa823ef4 100644 --- a/src/app/simulator/shared/guards/simulator/simulation-planning-financing-type.guard.ts +++ b/src/app/simulator/shared/guards/simulator/simulation-planning-financing-type.guard.ts @@ -4,7 +4,7 @@ import { Observable } from 'rxjs'; import { SessionService } from '../../../../shared/services/session/session.service'; import { SimulationType } from '../../../simulator/entities/enums/simulation-type.enum'; -import { SimulatorService } from '../../../simulator/services/simulator.service'; +import { UtilitiesService } from '../../../../shared/services/utilities/utilities.service'; @Injectable({ providedIn: 'root' @@ -14,7 +14,7 @@ export class SimulationPlanningFinancingTypeGuard implements CanActivate { constructor(private sessionService: SessionService) { } canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree { - const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(SimulatorService.simulationTypeSessionKey); + const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(UtilitiesService.simulationTypeSessionKey); return simulationType === SimulationType.planning || simulationType === SimulationType.financing; } diff --git a/src/app/simulator/shared/guards/simulator/simulation-planning-type.guard.ts b/src/app/simulator/shared/guards/simulator/simulation-planning-type.guard.ts index 803063653f9323aca1f4e101c6ed0e716102e11c..8ae64c839f0dbd8658061f8372cb2b32c1752f7a 100644 --- a/src/app/simulator/shared/guards/simulator/simulation-planning-type.guard.ts +++ b/src/app/simulator/shared/guards/simulator/simulation-planning-type.guard.ts @@ -4,7 +4,7 @@ import { Observable } from 'rxjs'; import { SessionService } from '../../../../shared/services/session/session.service'; import { SimulationType } from '../../../simulator/entities/enums/simulation-type.enum'; -import { SimulatorService } from '../../../simulator/services/simulator.service'; +import { UtilitiesService } from '../../../../shared/services/utilities/utilities.service'; @Injectable({ providedIn: 'root' @@ -14,7 +14,7 @@ export class SimulationPlanningTypeGuard implements CanActivate { constructor(private sessionService: SessionService) { } canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree { - const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(SimulatorService.simulationTypeSessionKey); + const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(UtilitiesService.simulationTypeSessionKey); return simulationType === SimulationType.planning; } } diff --git a/src/app/simulator/shared/guards/simulator/simulation-type.guard.ts b/src/app/simulator/shared/guards/simulator/simulation-type.guard.ts index fb83e213f11a98e61e035fb2eb005063fc757aa3..2a495b51dada0f1b600d774f9143b0306eba84c4 100644 --- a/src/app/simulator/shared/guards/simulator/simulation-type.guard.ts +++ b/src/app/simulator/shared/guards/simulator/simulation-type.guard.ts @@ -4,7 +4,7 @@ import { Observable } from 'rxjs'; import { SessionService } from '../../../../shared/services/session/session.service'; import { SimulationType } from '../../../simulator/entities/enums/simulation-type.enum'; -import { SimulatorService } from '../../../simulator/services/simulator.service'; +import { UtilitiesService } from '../../../../shared/services/utilities/utilities.service'; @Injectable({ providedIn: 'root' @@ -14,7 +14,7 @@ export class SimulationTypeGuard implements CanActivate { constructor(private sessionService: SessionService) { } canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree { - const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(SimulatorService.simulationTypeSessionKey); + const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(UtilitiesService.simulationTypeSessionKey); return simulationType === SimulationType.caq || simulationType === SimulationType.planning || simulationType === SimulationType.financing; } } diff --git a/src/app/simulator/simulator/services/simulator.service.ts b/src/app/simulator/simulator/services/simulator.service.ts index b03e3e3cb04409f0b4741b45898244677626f7e5..747e11ece1afdfb12b42a6cf28637192c3fbaf51 100644 --- a/src/app/simulator/simulator/services/simulator.service.ts +++ b/src/app/simulator/simulator/services/simulator.service.ts @@ -43,13 +43,13 @@ import { FunctionalityRoute } from '../../../shared/entities/functionality/funct import { CurrentYearMonthService } from '../../shared/services/current-year-month/current-year-month.service'; import { SourceInformationService } from '../../shared/services/source-information/source-information.service'; import { SimulationTime } from '../../simulation-time/entities/simulation-time'; +import { UtilitiesService } from '../../../shared/services/utilities/utilities.service'; @Injectable({ providedIn: 'root' }) export class SimulatorService { - static readonly simulationTypeSessionKey: string = `${FunctionalityInfo.simulationNamespace}.type`; static readonly simulationEditModeSessionKey: string = `${FunctionalityInfo.simulationNamespace}.editmode`; static readonly simulationPerformedSessionKey: string = `${FunctionalityInfo.simulationNamespace}.performed`; @@ -134,7 +134,7 @@ export class SimulatorService { } startSimulation(simulationType: SimulationType): void { - this.sessionService.setItem(SimulatorService.simulationTypeSessionKey, simulationType); + this.sessionService.setItem(UtilitiesService.simulationTypeSessionKey, simulationType); this.simulationInitialized = false; this.router.navigate(FunctionalityRoute.processingSimulation); } @@ -152,7 +152,7 @@ export class SimulatorService { mergeMap(() => { return this.sourceInformationService.loadSourceInformations().pipe( mergeMap(() => { - this.sessionService.setItem(SimulatorService.simulationTypeSessionKey, simulationType); + this.sessionService.setItem(UtilitiesService.simulationTypeSessionKey, simulationType); this.sessionService.setItem(SimulatorService.simulationPerformedSessionKey, false); this.sessionService.setItem(SimulatorService.simulationEditModeSessionKey, false); @@ -189,7 +189,7 @@ export class SimulatorService { } getResultSimulationRoute(): Array<string> { - const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(SimulatorService.simulationTypeSessionKey); + const simulationType: SimulationType = this.sessionService.getItem<SimulationType>(UtilitiesService.simulationTypeSessionKey); let route: Array<string>; switch (simulationType) { @@ -218,7 +218,7 @@ export class SimulatorService { } navigateToEditModeSimulation(): void { - const simulationType: SimulationType = this.sessionService.getItem(SimulatorService.simulationTypeSessionKey); + const simulationType: SimulationType = this.sessionService.getItem(UtilitiesService.simulationTypeSessionKey); let route: Array<string>; switch (simulationType) { diff --git a/src/app/simulator/simulator/simulator.component.ts b/src/app/simulator/simulator/simulator.component.ts index 758fd5e850ede5b99b3c1cd98b8ce7488952b467..749d8de2bb8693c718b89d4013fe0caf27c6d569 100644 --- a/src/app/simulator/simulator/simulator.component.ts +++ b/src/app/simulator/simulator/simulator.component.ts @@ -6,6 +6,7 @@ import { Functionality } from '../../shared/entities/functionality/functionality import { SimulatorService } from './services/simulator.service'; import { SimulationType } from './entities/enums/simulation-type.enum'; import { SessionService } from '../../shared/services/session/session.service'; +import { UtilitiesService } from '../../shared/services/utilities/utilities.service'; @Component({ selector: 'app-simulator', @@ -55,7 +56,7 @@ export class SimulatorComponent extends BaseUnsubscribe implements OnInit { } ngOnInit(): void { - const simulationTypeFromSession: SimulationType = this.sessionService.getItem<SimulationType>(SimulatorService.simulationTypeSessionKey); + const simulationTypeFromSession: SimulationType = this.sessionService.getItem<SimulationType>(UtilitiesService.simulationTypeSessionKey); const simulationPerformedromSession: boolean = this.sessionService.getItem<boolean>(SimulatorService.simulationPerformedSessionKey); const simulationEditModeFromSession: boolean = this.sessionService.getItem<boolean>(SimulatorService.simulationEditModeSessionKey); diff --git a/src/app/team/team.component.scss b/src/app/team/team.component.scss index 35279963e0f1597e37397dd89857ca7a3f76675b..e452c7da405618d2ac080a4548e2b4f81c3aa2cd 100644 --- a/src/app/team/team.component.scss +++ b/src/app/team/team.component.scss @@ -23,6 +23,7 @@ .member-name { font-size: 18px; + color: #5c5c5c; } .member-info {