From 7b43d64b030306b099ff3086d5cf1425445de466 Mon Sep 17 00:00:00 2001 From: luis.camargo Date: Mon, 18 Apr 2016 15:42:44 -0300 Subject: [PATCH] redmine #4455 Construção da funcionalidade Rascunho; --- cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js | 2 +- cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoController.js | 2822 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/QuestionarioController.js | 3 +++ cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/TermoReferenciaController.js | 12 +++++++++++- 4 files changed, 1431 insertions(+), 1408 deletions(-) diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js index 8345d2b..cd4332d 100644 --- a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js @@ -339,7 +339,7 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C $scope.setLoadingSalva(true); $scope.contrato.exercicio = new Date($scope.contrato.exercicio); - $scope.contrato.rascunho = $scope.workspace.rascunho.id; + $scope.contrato.rascunho = $scope.workspace.rascunho ? $scope.workspace.rascunho.id : null; ContratoRepository.save($scope.contrato).then(function(result) { $scope.contrato = result.originalElement; diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoController.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoController.js index 74de644..ec26c09 100644 --- a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoController.js +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoController.js @@ -11,131 +11,131 @@ citApp.controller('EstudoTecnicoController', ['$scope', 'EstudoTecnicoRepository EstudoTecnicoBemServicoSolucaoRepository, EstudoTecnicoAcaoContingenciaRepository, FileUploader, $filter, EstudoTecnicoRecursoMaterialRepository, EstudoTecnicoRecursoHumanoRepository, EstudoTecnicoBeneficioEsperadoRepository, FuncaoRepository) { - $scope.edit = true; - $scope.estudoTecnico = { - etRecursosMateriais : [], - etRecursosHumanos : [] - }; - $scope.reqNegocio = {}; - $scope.beneficioEsperado = {}; - $scope.estudoTecnicoRecursoMaterialTemp = {}; - $scope.estudoTecnicoRecursoHumanoTemp = {}; - $scope.listaRequisitoTecSelecao = []; - $scope.listaAlternativa = []; - $scope.listaServicoSolucao = []; - $scope.listaBeneficio = []; - $scope.listaRecursoMateriais = []; - $scope.listaRecursoHumanos = []; - $scope.listaAcoesContigencia = []; - - $scope.uploader = new FileUploader({ - autoUpload: false, - queueLimit: 1, - url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento=' - }); - - $scope.findIntegrante = function(value) { - return PessoaRepository.findColaboradorPorNomeAndOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) { - return result; - }); - }; - - $scope.findOrgaoExterno = function(value) { - return ParceiroRepository.findParceiros('tipoParceiro', ['ORGAO_EXTERNO'] , value).then(function(result) { - return result; - }); - }; - - $scope.findFornecedor = function(value) { - return ParceiroRepository.findParceiros('tipoParceiro', ['FORNECEDOR'], value).then(function(result) { - return result; - }); - }; - - $scope.findResponsavel = function(value) { - return FuncaoRepository.findFuncaoPorOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) { - return result; - }); - }; - - QuestionarioRepository.findAllByDominioTipoQuestionario({codigo : 2}).then(function(result) { - if (result.length > 0) { - $scope.questionarioTemplate = result[0].originalElement; - } - if (!$scope.questionarioTemplate) { - QuestionarioRepository.createQuestionarioPadrao().then(function(resultCreate) { - $scope.questionarioTemplate = resultCreate; - $scope.preparaQuestTemplate(); - }); - } else { - $scope.preparaQuestTemplate(); - } - }); - - $scope.preparaQuestTemplate = function() { - var questoes = []; - for (var i = 0; i < $scope.questionarioTemplate.questoes.length; i++) { - var questao = { - questao : $scope.questionarioTemplate.questoes[i].questao, - dominioTipoResposta : {id : $scope.questionarioTemplate.questoes[i].dominioTipoResposta.id}, - respostasEscolha : [] - }; - - for (var j = 0; j < $scope.questionarioTemplate.questoes[i].respostasEscolha.length; j++) { - questao.respostasEscolha.push({resposta : $scope.questionarioTemplate.questoes[i].respostasEscolha[j].resposta}); - } - questoes.push(questao); - } - $scope.questionarioTemplate.questoes = questoes; - - $scope.questaoTemplate = angular.copy($scope.questionarioTemplate.questoes[0]); - delete $scope.questaoTemplate.questao; - - $scope.qntDefaultQuest = angular.copy(questoes.length); - }; - - // limpa o formulario - $scope.resetForm = function() { - - $scope.estudoTecnico = { - etRecursosMateriais : [], - etRecursosHumanos : [] - }; - - $scope.edit = true; - $scope.reqNegocio = {}; - $scope.beneficioEsperado = {}; - $scope.estudoTecnicoRecursoMaterialTemp = {}; - $scope.estudoTecnicoRecursoHumanoTemp = {}; - $scope.acaoEmMassaRecursosMateriais = false; - $scope.acaoEmMassaRecursosHumanos = false; - - $scope.workspace.objetoScope = $scope.estudoTecnico; - $scope.startTimerIntervalSaveDraft($scope.workspace, null, true); - - $scope.setCurrentStep(0); - $scope.atualizarListaSizeSelectReqNegocio(); - $scope.atualizarListaSizeSelectSolucao(); - $scope.atualizarListaSizeSelectServicoSolucao(); - $scope.atualizarListaSizeSelectBeneficio(); - $scope.atualizarListaSizeSelectRecursoMaterial(); - $scope.atualizarListaSizeSelectRecursoHumano(); - $scope.atualizarListaSizeSelectAcaoContigencia(); - - $timeout(function() { - $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = false; - $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = false; - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = false; - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = false; - $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = false; - - $scope.estudoTecnicoForm.planejamentoContratacaoForm.$setPristine(); - $scope.estudoTecnicoForm.definicaoRequisitosForm.$setPristine(); - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$setPristine(); - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$setPristine(); - $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$setPristine(); - }); - }; + $scope.edit = true; + $scope.estudoTecnico = { + etRecursosMateriais : [], + etRecursosHumanos : [] + }; + $scope.reqNegocio = {}; + $scope.beneficioEsperado = {}; + $scope.estudoTecnicoRecursoMaterialTemp = {}; + $scope.estudoTecnicoRecursoHumanoTemp = {}; + $scope.listaRequisitoTecSelecao = []; + $scope.listaAlternativa = []; + $scope.listaServicoSolucao = []; + $scope.listaBeneficio = []; + $scope.listaRecursoMateriais = []; + $scope.listaRecursoHumanos = []; + $scope.listaAcoesContigencia = []; + + $scope.uploader = new FileUploader({ + autoUpload: false, + queueLimit: 1, + url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento=' + }); + + $scope.findIntegrante = function(value) { + return PessoaRepository.findColaboradorPorNomeAndOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) { + return result; + }); + }; + + $scope.findOrgaoExterno = function(value) { + return ParceiroRepository.findParceiros('tipoParceiro', ['ORGAO_EXTERNO'] , value).then(function(result) { + return result; + }); + }; + + $scope.findFornecedor = function(value) { + return ParceiroRepository.findParceiros('tipoParceiro', ['FORNECEDOR'], value).then(function(result) { + return result; + }); + }; + + $scope.findResponsavel = function(value) { + return FuncaoRepository.findFuncaoPorOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) { + return result; + }); + }; + + QuestionarioRepository.findAllByDominioTipoQuestionario({codigo : 2}).then(function(result) { + if (result.length > 0) { + $scope.questionarioTemplate = result[0].originalElement; + } + if (!$scope.questionarioTemplate) { + QuestionarioRepository.createQuestionarioPadrao().then(function(resultCreate) { + $scope.questionarioTemplate = resultCreate; + $scope.preparaQuestTemplate(); + }); + } else { + $scope.preparaQuestTemplate(); + } + }); + + $scope.preparaQuestTemplate = function() { + var questoes = []; + for (var i = 0; i < $scope.questionarioTemplate.questoes.length; i++) { + var questao = { + questao : $scope.questionarioTemplate.questoes[i].questao, + dominioTipoResposta : {id : $scope.questionarioTemplate.questoes[i].dominioTipoResposta.id}, + respostasEscolha : [] + }; + + for (var j = 0; j < $scope.questionarioTemplate.questoes[i].respostasEscolha.length; j++) { + questao.respostasEscolha.push({resposta : $scope.questionarioTemplate.questoes[i].respostasEscolha[j].resposta}); + } + questoes.push(questao); + } + $scope.questionarioTemplate.questoes = questoes; + + $scope.questaoTemplate = angular.copy($scope.questionarioTemplate.questoes[0]); + delete $scope.questaoTemplate.questao; + + $scope.qntDefaultQuest = angular.copy(questoes.length); + }; + + // limpa o formulario + $scope.resetForm = function() { + + $scope.estudoTecnico = { + etRecursosMateriais : [], + etRecursosHumanos : [] + }; + + $scope.edit = true; + $scope.reqNegocio = {}; + $scope.beneficioEsperado = {}; + $scope.estudoTecnicoRecursoMaterialTemp = {}; + $scope.estudoTecnicoRecursoHumanoTemp = {}; + $scope.acaoEmMassaRecursosMateriais = false; + $scope.acaoEmMassaRecursosHumanos = false; + + $scope.workspace.objetoScope = $scope.estudoTecnico; + $scope.startTimerIntervalSaveDraft($scope.workspace, null, true); + + $scope.setCurrentStep(0); + $scope.atualizarListaSizeSelectReqNegocio(); + $scope.atualizarListaSizeSelectSolucao(); + $scope.atualizarListaSizeSelectServicoSolucao(); + $scope.atualizarListaSizeSelectBeneficio(); + $scope.atualizarListaSizeSelectRecursoMaterial(); + $scope.atualizarListaSizeSelectRecursoHumano(); + $scope.atualizarListaSizeSelectAcaoContigencia(); + + $timeout(function() { + $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = false; + $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = false; + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = false; + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = false; + $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = false; + + $scope.estudoTecnicoForm.planejamentoContratacaoForm.$setPristine(); + $scope.estudoTecnicoForm.definicaoRequisitosForm.$setPristine(); + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$setPristine(); + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$setPristine(); + $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$setPristine(); + }); + }; $scope.setRascunho = function(rascunho){ @@ -148,1111 +148,1121 @@ citApp.controller('EstudoTecnicoController', ['$scope', 'EstudoTecnicoRepository $scope.setLoading(false); }; - $scope.visualizarEditar = function(idEstudoTecnico, edit) { - $scope.resetForm(); - $scope.setLoadingGet(true); - - EstudoTecnicoRepository.get(idEstudoTecnico).then(function(result) { - - $scope.estudoTecnico = result.originalElement; - - $scope.edit = edit; - - $scope.atualizarListaSizeSelectReqNegocio(); - $scope.atualizarListaSizeSelectSolucao(); - $scope.atualizarListaSizeSelectServicoSolucao(); - $scope.atualizarListaSizeSelectBeneficio(); - $scope.atualizarListaSizeSelectRecursoMaterial(); - $scope.atualizarListaSizeSelectRecursoHumano(); - $scope.atualizarListaSizeSelectAcaoContigencia(); - - $scope.setCurrentStep(0); - $scope.stopTimerIntervalDraft($scope.workspace); - $scope.setLoading(false); - }); - }; - - //INICIO DE METODOS REFERENTES AOS RELATORIOS - - $scope.gerarRelatorioEstudoTecnico = function() { - $scope.url = '/cit-contratos-web/rest/estudoTecnico/gerarEstudoTecnico?idEstudoTecnico='+ $scope.estudoTecnico.id; - $scope.visualizarRelatorio($scope.url, $translate.instant("LABEL.TITULO_ESTUDO_TECNICO")); - }; - - //Salva o estudo técnico - $scope.saveOrUpdate = function() { - // atributo para visualizar os itens obrigatorios na tela - $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = true; - $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = true; - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = true; - $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = true; - $scope.estudoTecnicoForm.recursosNecessariosForm.$submitted = true; - $scope.estudoTecnicoForm.estrategiaContratualForm.$submitted = true; - $scope.estudoTecnicoForm.anexosObservacoesForm.$submitted = true; - - // verifica formulario valido - if ($scope.estudoTecnicoForm.$valid) { - - $scope.setLoadingSalva(true); - - var estudoTecnicoTemp = { - documentos: [] - }; - - // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento - angular.forEach($scope.estudoTecnico.documentos, function(documento, key) { - if (documento.uploadsDocumento) { - estudoTecnicoTemp.documentos.push({ - uploadsDocumento: clone(documento.uploadsDocumento), - numero: clone(documento.numero) - }); - // deleta esse atributo por causa de um erro de ciclo no json - delete documento.uploadsDocumento; - } - }); - - $scope.estudoTecnico.rascunho = $scope.workspace.rascunho.id; - EstudoTecnicoRepository.save($scope.estudoTecnico).then(function(result) { - - $scope.estudoTecnico = result.originalElement; - - $scope.setLoading(false); - - $scope.showAlert("success", $translate.instant("MSG.SUCESSO_ESTUDO_TECNICO")); - - // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir - salvarListaDocumentos(estudoTecnicoTemp); - }); - } else { - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); - } - }; - - // realiza a exclusão da EstudoTecnico - $scope.excluirEstudoTecnico = function(){ - var workspace = this.item; - $scope.$modalConfirmInstance.dismiss('cancel'); - EstudoTecnicoRepository.remove($scope.estudoTecnico).then(function(result) { - $scope.uploader.clearQueue(); - $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO')); - $scope.$showPageSearchWorkspace(workspace); - $scope.atualizarLista('EstudoTecnicoListControllerId'); - }); - }; - - // prepara a exclusao do estudo técnico abrindo o modal de confirmacao - $scope.remove = function(workspace) { - $scope.$openModalConfirm({message: $translate.instant('MSG.EXCLUIR_ESTUDO_TECNICO'), callback: $scope.excluirEstudoTecnico, item: workspace}); - }; - - // metodo utilizado para percorrer a lista de documentos persistidos e verificar com a lista de documentos temporarios para verificacao de qual anexo pertence a qual documento - var salvarListaDocumentos = function(estudoTecnicoTemp) { - - angular.forEach($scope.estudoTecnico.documentos, function(documentoSalvo, key) { - // verifica se a entidade documento foi salva - if (documentoSalvo !== undefined && documentoSalvo.id !== undefined) { - // percorre todos os documentos temporarios para verificacao do numero do documento - angular.forEach(estudoTecnicoTemp.documentos, function(documentoTransient, key) { - // verifica se o numero do documento salvo e igual ao numero do documento transient que o anexo ainda esta vinculado - if (documentoSalvo.numero === documentoTransient.numero) { - //salva o anexo ao documento que tiver o mesmo numero do documento transient - salvarUpload(documentoSalvo, documentoTransient.uploadsDocumento); - } - - }); - - } - }); - - }; - - // metodo responsavel para salvar os anexos da baixa depois de ter salvo a baixa, utilizando a referencia do id baixa.documento.id - var salvarUpload = function(documento, uploadsDocumento) { - $scope.uploader.queue = uploadsDocumento; - // percorre a lista de uploads a serem enviados - angular.forEach($scope.uploader.queue, function(item, key) { - item.url = item.url + documento.id; - }); - if ($scope.uploader.queue && $scope.uploader.queue.length > 0) { - // realiza o upload se existir no minimo um arquivo para upload - $scope.uploader.uploadAll(); - } - }; - - // Seleciona todos os requisitos de negocio na lista - $scope.checkAllReqNegocio = function(value) { - $scope.listaRequisitoTecSelecao = []; - angular.forEach($scope.estudoTecnico.etRequisitosNegocio, function (item) { - item.$checked = value; - $scope.listaRequisitoTecSelecao.push(item); - }); - if(!value){ - $scope.listaRequisitoTecSelecao = []; + $scope.visualizarEditar = function(idEstudoTecnico, edit) { + $scope.resetForm(); + $scope.setLoadingGet(true); + + EstudoTecnicoRepository.get(idEstudoTecnico).then(function(result) { + + $scope.estudoTecnico = result.originalElement; + + $scope.edit = edit; + + $scope.atualizarListaSizeSelectReqNegocio(); + $scope.atualizarListaSizeSelectSolucao(); + $scope.atualizarListaSizeSelectServicoSolucao(); + $scope.atualizarListaSizeSelectBeneficio(); + $scope.atualizarListaSizeSelectRecursoMaterial(); + $scope.atualizarListaSizeSelectRecursoHumano(); + $scope.atualizarListaSizeSelectAcaoContigencia(); + + $scope.setCurrentStep(0); + $scope.stopTimerIntervalDraft($scope.workspace); + $scope.setLoading(false); + }); + }; + + //INICIO DE METODOS REFERENTES AOS RELATORIOS + + $scope.gerarRelatorioEstudoTecnico = function() { + $scope.url = '/cit-contratos-web/rest/estudoTecnico/gerarEstudoTecnico?idEstudoTecnico='+ $scope.estudoTecnico.id; + $scope.visualizarRelatorio($scope.url, $translate.instant("LABEL.TITULO_ESTUDO_TECNICO")); + }; + + //Salva o estudo técnico + $scope.saveOrUpdate = function() { + // atributo para visualizar os itens obrigatorios na tela + $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = true; + $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = true; + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = true; + $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = true; + $scope.estudoTecnicoForm.recursosNecessariosForm.$submitted = true; + $scope.estudoTecnicoForm.estrategiaContratualForm.$submitted = true; + $scope.estudoTecnicoForm.anexosObservacoesForm.$submitted = true; + + // verifica formulario valido + if ($scope.estudoTecnicoForm.$valid) { + + $scope.setLoadingSalva(true); + + var estudoTecnicoTemp = { + documentos: [] + }; + + // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento + angular.forEach($scope.estudoTecnico.documentos, function(documento, key) { + if (documento.uploadsDocumento) { + estudoTecnicoTemp.documentos.push({ + uploadsDocumento: clone(documento.uploadsDocumento), + numero: clone(documento.numero) + }); + // deleta esse atributo por causa de um erro de ciclo no json + delete documento.uploadsDocumento; + } + }); + + $scope.estudoTecnico.rascunho = $scope.workspace.rascunho ? $scope.workspace.rascunho.id : null; + EstudoTecnicoRepository.save($scope.estudoTecnico).then(function(result) { + + $scope.estudoTecnico = result.originalElement; + + $scope.setLoading(false); + + $scope.showAlert("success", $translate.instant("MSG.SUCESSO_ESTUDO_TECNICO")); + + // depois de salvar a baixa ja tendo uma referencia do id da baixa, esse metodo ira salvar os documentos se existir + salvarListaDocumentos(estudoTecnicoTemp); + + $timeout(function() { + $scope.$showPageSearchWorkspace($scope.workspace); + $scope.atualizaPaginaPesquisa(); + }); + }); + } else { + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); + } + }; + + // Atualiza pagina de pesquisa + $scope.atualizaPaginaPesquisa = function () { + angular.element('#EstudoTecnicoListControllerId').scope().fetchResult(); + }; + + // realiza a exclusão da EstudoTecnico + $scope.excluirEstudoTecnico = function(){ + var workspace = this.item; + $scope.$modalConfirmInstance.dismiss('cancel'); + EstudoTecnicoRepository.remove($scope.estudoTecnico).then(function(result) { + $scope.uploader.clearQueue(); + $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO')); + $scope.$showPageSearchWorkspace(workspace); + $scope.atualizarLista('EstudoTecnicoListControllerId'); + }); + }; + + // prepara a exclusao do estudo técnico abrindo o modal de confirmacao + $scope.remove = function(workspace) { + $scope.$openModalConfirm({message: $translate.instant('MSG.EXCLUIR_ESTUDO_TECNICO'), callback: $scope.excluirEstudoTecnico, item: workspace}); + }; + + // metodo utilizado para percorrer a lista de documentos persistidos e verificar com a lista de documentos temporarios para verificacao de qual anexo pertence a qual documento + var salvarListaDocumentos = function(estudoTecnicoTemp) { + + angular.forEach($scope.estudoTecnico.documentos, function(documentoSalvo, key) { + // verifica se a entidade documento foi salva + if (documentoSalvo !== undefined && documentoSalvo.id !== undefined) { + // percorre todos os documentos temporarios para verificacao do numero do documento + angular.forEach(estudoTecnicoTemp.documentos, function(documentoTransient, key) { + // verifica se o numero do documento salvo e igual ao numero do documento transient que o anexo ainda esta vinculado + if (documentoSalvo.numero === documentoTransient.numero) { + //salva o anexo ao documento que tiver o mesmo numero do documento transient + salvarUpload(documentoSalvo, documentoTransient.uploadsDocumento); + } + + }); + + } + }); + + }; + + // metodo responsavel para salvar os anexos da baixa depois de ter salvo a baixa, utilizando a referencia do id baixa.documento.id + var salvarUpload = function(documento, uploadsDocumento) { + $scope.uploader.queue = uploadsDocumento; + // percorre a lista de uploads a serem enviados + angular.forEach($scope.uploader.queue, function(item, key) { + item.url = item.url + documento.id; + }); + if ($scope.uploader.queue && $scope.uploader.queue.length > 0) { + // realiza o upload se existir no minimo um arquivo para upload + $scope.uploader.uploadAll(); + } + }; + + // Seleciona todos os requisitos de negocio na lista + $scope.checkAllReqNegocio = function(value) { + $scope.listaRequisitoTecSelecao = []; + angular.forEach($scope.estudoTecnico.etRequisitosNegocio, function (item) { + item.$checked = value; + $scope.listaRequisitoTecSelecao.push(item); + }); + if(!value){ + $scope.listaRequisitoTecSelecao = []; + } + $scope.atualizarListaSizeSelectReqNegocio(); + }; + + $scope.checkReqNegocio = function(item){ + if(item.$checked){ + $scope.listaRequisitoTecSelecao.push(item); + }else{ + $scope.listaRequisitoTecSelecao.splice($scope.listaRequisitoTecSelecao.indexOf(item), 1); + } + + }; + + // Seleciona todas as alternativas na lista de solução + $scope.checkAllAlternativa = function(value) { + $scope.listaAlternativa = []; + angular.forEach($scope.estudoTecnico.etLevantamentoAlternativas, function (item) { + item.$checked = value; + $scope.listaAlternativa.push(item); + }); + if(!value){ + $scope.listaAlternativa = []; + } + $scope.atualizarListaSizeSelectSolucao(); + }; + + $scope.checkAlternativa = function(item){ + if(item.$checked){ + $scope.listaAlternativa.push(item); + }else{ + $scope.listaAlternativa.splice($scope.listaAlternativa.indexOf(item), 1); + } + + }; + + $scope.checkAllBensServicos = function(value) { + $scope.listaServicoSolucao = []; + angular.forEach($scope.estudoTecnico.etBensServicosSolucoes, function (item) { + item.$checked = value; + $scope.listaServicoSolucao.push(item); + }); + if(!value){ + $scope.listaServicoSolucao = []; + } + $scope.atualizarListaSizeSelectServicoSolucao(); + }; + + $scope.checkBemServico = function(item){ + if(item.$checked){ + $scope.listaServicoSolucao.push(item); + }else{ + $scope.listaServicoSolucao.splice($scope.listaServicoSolucao.indexOf(item), 1); + } + }; + + // marca benefício esperado + $scope.checkAllBeneficios = function(value) { + $scope.listaBeneficio = []; + angular.forEach($scope.estudoTecnico.etBeneficiosEsperados, function (item) { + item.$checked = value; + $scope.listaBeneficio.push(item); + }); + if(!value){ + $scope.listaBeneficio = []; + } + $scope.atualizarListaSizeSelectBeneficio(); + }; + + $scope.checkBeneficio = function(item){ + if(item.$checked){ + $scope.listaBeneficio.push(item); + }else{ + $scope.listaBeneficio.splice($scope.listaBeneficio.indexOf(item), 1); + } + }; + + // responsavel por definir se as acoes em massa estaram disponiveis + $scope.checkAllRecursosMateriais = function (value){ + $scope.listaRecursoMateriais = []; + angular.forEach($scope.estudoTecnico.etRecursosMateriais, function (item) { + item.$checked = value; + $scope.listaRecursoMateriais.push(item); + }); + if(!value){ + $scope.listaRecursoMateriais = []; + } + $scope.atualizarListaSizeSelectRecursoMaterial(); + }; + + $scope.checkRecursoMaterial = function(item){ + if(item.$checked){ + $scope.listaRecursoMateriais.push(item); + }else{ + $scope.listaRecursoMateriais.splice($scope.listaRecursoMateriais.indexOf(item), 1); + } + }; + + // responsavel por definir se as acoes em massa estaram disponiveis + $scope.checkAllRecursosHumanos = function (value){ + $scope.listaRecursoHumanos = []; + angular.forEach($scope.estudoTecnico.etRecursosHumanos, function (item) { + item.$checked = value; + $scope.listaRecursoHumanos.push(item); + }); + if(!value){ + $scope.listaRecursoHumanos = []; + } + $scope.atualizarListaSizeSelectRecursoHumano(); + }; + + $scope.checkRecursoHumano = function(item){ + if(item.$checked){ + $scope.listaRecursoHumanos.push(item); + }else{ + $scope.listaRecursoHumanos.splice($scope.listaRecursoHumanos.indexOf(item), 1); + } + }; + + $scope.checkAllAcoes = function(value) { + $scope.listaAcoesContigencia = []; + angular.forEach($scope.estudoTecnico.etAcoesContingencia, function (item) { + item.$checked = value; + $scope.listaAcoesContigencia.push(item); + }); + if(!value){ + $scope.listaAcoesContigencia = []; + } + $scope.atualizarListaSizeSelectAcaoContigencia(); + }; + + $scope.checkAcaoContigencia = function(item){ + if(item.$checked){ + $scope.listaAcoesContigencia.push(item); + }else{ + $scope.listaAcoesContigencia.splice($scope.listaAcoesContigencia.indexOf(item), 1); + } + }; + + // recupera requisito de negocio selecionado + $scope.getReqNegocioChecked = function() { + var reqNegocioChecked = []; + + if ($scope.estudoTecnico.etRequisitosNegocio) { + for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) { + if ($scope.estudoTecnico.etRequisitosNegocio[i].$checked) { + reqNegocioChecked.push(angular.copy($scope.estudoTecnico.etRequisitosNegocio[i])); + } + } + } + + return reqNegocioChecked; + }; + + // recupera solucao selecionada + $scope.getSolucaoChecked = function() { + var solucaoChecked = []; + + if ($scope.estudoTecnico.etLevantamentoAlternativas) { + for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) { + if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) { + solucaoChecked.push(angular.copy($scope.estudoTecnico.etLevantamentoAlternativas[i])); + } + } + } + + return solucaoChecked; + }; + + // recupera bem servico selecionado + $scope.getBemServicoChecked = function() { + var bemServicoChecked = []; + + if ($scope.estudoTecnico.etBensServicosSolucoes) { + for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) { + if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) { + bemServicoChecked.push(angular.copy($scope.estudoTecnico.etBensServicosSolucoes[i])); + } + } + } + + return bemServicoChecked; + }; + + // recupera beneficio esperado selecionado + $scope.getBeneficioEsperadoChecked = function() { + var beneficioEsperadoChecked = []; + + if ($scope.estudoTecnico.etBeneficiosEsperados) { + for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) { + if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) { + beneficioEsperadoChecked.push(angular.copy($scope.estudoTecnico.etBeneficiosEsperados[i])); + } + } + } + + return beneficioEsperadoChecked; + }; + + // Responsavel por retornar o recurso material selecionado + $scope.getRecursoMaterialChecked = function() { + + var recursoMaterialChecked = []; + + if ($scope.estudoTecnico.etRecursosMateriais) { + for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) { + if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) { + recursoMaterialChecked.push(angular.copy($scope.estudoTecnico.etRecursosMateriais[i])); + } + } + } + return recursoMaterialChecked; + }; + + // Responsavel por retornar o recurso humano selecionado + $scope.getRecursoHumanoChecked = function() { + + var recursoHumanoChecked = []; + + if ($scope.estudoTecnico.etRecursosHumanos) { + for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) { + if ($scope.estudoTecnico.etRecursosHumanos[i].$checked) { + recursoHumanoChecked.push(angular.copy($scope.estudoTecnico.etRecursosHumanos[i])); + } + } + } + + return recursoHumanoChecked; + }; + + // recupera a ação de contingencia selecionada + $scope.getAcaoContChecked = function() { + var acaoContChecked = []; + + if ($scope.estudoTecnico.etAcoesContingencia) { + for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) { + if ($scope.estudoTecnico.etAcoesContingencia[i].$checked) { + acaoContChecked.push(angular.copy($scope.estudoTecnico.etAcoesContingencia[i])); + } + } + } + + return acaoContChecked; + }; + + $scope.openModalRequisitoNegocio = function() { + + ObjetivoEstrategicoRepository.findAllByOrganizacao().then(function(result) { + $scope.objetivosEstrategicos = result; + }); + + $scope.editRequisitoNegocio = true; + + $scope.reqNegocio = {}; + + $timeout(function() { + $scope.$openModal('modal-requisito-negocio.html', 'lg'); + }); + }; + + function resetModalSolucao(){ + $scope.solucao = { + etlaQuestionario : {} + }; + + $scope.solucao.etlaQuestionario.etQuestionarioRespostas = []; + + for (var i = 0; i < $scope.qntDefaultQuest; i++) { + var questPergunta = { + questionarioPergunta : $scope.questionarioTemplate.questoes[i], + index : i+1 + }; + $scope.solucao.etlaQuestionario.etQuestionarioRespostas.push(questPergunta); + } + + $scope.solucao.etlaQuestionario.etQuestionario = { + nome : $scope.questionarioTemplate.nome + }; + } + + $scope.openModalSolucao = function() { + $scope.editSolucao = true; + + resetModalSolucao(); + + $timeout(function() { + $scope.$openModal('modal-solucao.html', 'lg'); + }); + }; + + $scope.openModalBensServico = function() { + $scope.editBemServico = true; + + $scope.bemServico = {}; + + $timeout(function() { + $scope.$openModal('modal-bem-servico.html', 'lg'); + }); + }; + + $scope.openModalBeneficioEsperado = function() { + + $scope.editBeneficioEsperado = true; + + $scope.beneficioEsperado = {}; + + $timeout(function() { + $scope.$openModal('modal-beneficio-esperado.html', 'lg'); + }); + }; + + // responsavel por abrir modal de adicao de um recurso material + $scope.openModalRecursoMaterial = function() { + + $scope.estudoTecnicoRecursoMaterialTemp = { + disponivel : true + }; + + $scope.editRecursoMaterial = true; + $scope.$openModal('modal-recurso-material.html', 'lg'); + }; + + // Responsavel por abrir modal de adicao de um recurso humano + $scope.openModalRecursoHumano = function() { + + $scope.estudoTecnicoRecursoHumanoTemp = {}; + $scope.editRecursoHumano = true; + $scope.$openModal('modal-recurso-humano.html', 'lg'); + }; + + $scope.openModalAcaoContingencia = function() { + $scope.editAcaoCont = true; + + $scope.acaoCont = {}; + + $timeout(function() { + $scope.$openModal('modal-acao-contingencia.html', 'lg'); + }); + }; + + $scope.abrirRequisitoNegocio = function(edit) { + + ObjetivoEstrategicoRepository.findAllByOrganizacao().then(function(result) { + $scope.objetivosEstrategicos = result; + }); + + $scope.editRequisitoNegocio = edit; + + $scope.reqNegocio = null; + // recupera a EstudoTecnico selecionada + var requisitosSelecionados = $scope.getReqNegocioChecked(); + + if (requisitosSelecionados.length > 1) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); + return; + } + + if(requisitosSelecionados.length === 0) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); + return; + } + + $scope.reqNegocio = requisitosSelecionados[0]; + + $scope.reqNegocio.objetivoEstrategico = angular.copy($scope.reqNegocio.objetivoEstrategicoNecessidade.objetivoEstrategico); + + $timeout(function() { + $scope.$openModal('modal-requisito-negocio.html', 'lg'); + }); + }; + + $scope.abrirSolucao = function(edit) { + + $scope.editSolucao = edit; + + $scope.solucao = null; + + var solucoesSelecionadas = $scope.getSolucaoChecked(); + + if (solucoesSelecionadas.length > 1) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); + return; + } + + if(solucoesSelecionadas.length === 0) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); + return; + } + + $scope.solucao = solucoesSelecionadas[0]; + + if ($scope.solucao.fornecedor) { + $scope.solucao.fornecedor['pessoa.nome'] = $scope.solucao.fornecedor.pessoa.nome; + } + + for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) { + $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index = i + 1; + } + + $timeout(function() { + $scope.$openModal('modal-solucao.html', 'lg'); + }); + }; + + $scope.abrirBensServico = function(edit) { + + $scope.editBemServico = edit; + + $scope.bemServico = null; + + var bensServicosSelecionados = $scope.getBemServicoChecked(); + + if (bensServicosSelecionados.length > 1) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); + return; } - $scope.atualizarListaSizeSelectReqNegocio(); + + if(bensServicosSelecionados.length === 0) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); + return; + } + + $scope.bemServico = bensServicosSelecionados[0]; + + $timeout(function() { + $scope.$openModal('modal-bem-servico.html', 'lg'); + }); }; - $scope.checkReqNegocio = function(item){ - if(item.$checked){ - $scope.listaRequisitoTecSelecao.push(item); - }else{ - $scope.listaRequisitoTecSelecao.splice($scope.listaRequisitoTecSelecao.indexOf(item), 1); - } + $scope.abrirBeneficioEsperado = function(edit) { - }; + $scope.editBeneficioEsperado = edit; - // Seleciona todas as alternativas na lista de solução - $scope.checkAllAlternativa = function(value) { - $scope.listaAlternativa = []; - angular.forEach($scope.estudoTecnico.etLevantamentoAlternativas, function (item) { - item.$checked = value; - $scope.listaAlternativa.push(item); - }); - if(!value){ - $scope.listaAlternativa = []; + $scope.beneficioEsperado = null; + + var beneficiosSelecionados = $scope.getBeneficioEsperadoChecked(); + + if (beneficiosSelecionados.length > 1) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); + return; } - $scope.atualizarListaSizeSelectSolucao(); - }; - $scope.checkAlternativa = function(item){ - if(item.$checked){ - $scope.listaAlternativa.push(item); - }else{ - $scope.listaAlternativa.splice($scope.listaAlternativa.indexOf(item), 1); - } - - }; - - $scope.checkAllBensServicos = function(value) { - $scope.listaServicoSolucao = []; - angular.forEach($scope.estudoTecnico.etBensServicosSolucoes, function (item) { - item.$checked = value; - $scope.listaServicoSolucao.push(item); - }); - if(!value){ - $scope.listaServicoSolucao = []; - } - $scope.atualizarListaSizeSelectServicoSolucao(); - }; - - $scope.checkBemServico = function(item){ - if(item.$checked){ - $scope.listaServicoSolucao.push(item); - }else{ - $scope.listaServicoSolucao.splice($scope.listaServicoSolucao.indexOf(item), 1); - } - }; - - // marca benefício esperado - $scope.checkAllBeneficios = function(value) { - $scope.listaBeneficio = []; - angular.forEach($scope.estudoTecnico.etBeneficiosEsperados, function (item) { - item.$checked = value; - $scope.listaBeneficio.push(item); - }); - if(!value){ - $scope.listaBeneficio = []; - } - $scope.atualizarListaSizeSelectBeneficio(); - }; - - $scope.checkBeneficio = function(item){ - if(item.$checked){ - $scope.listaBeneficio.push(item); - }else{ - $scope.listaBeneficio.splice($scope.listaBeneficio.indexOf(item), 1); - } - }; - - // responsavel por definir se as acoes em massa estaram disponiveis - $scope.checkAllRecursosMateriais = function (value){ - $scope.listaRecursoMateriais = []; - angular.forEach($scope.estudoTecnico.etRecursosMateriais, function (item) { - item.$checked = value; - $scope.listaRecursoMateriais.push(item); - }); - if(!value){ - $scope.listaRecursoMateriais = []; - } - $scope.atualizarListaSizeSelectRecursoMaterial(); - }; - - $scope.checkRecursoMaterial = function(item){ - if(item.$checked){ - $scope.listaRecursoMateriais.push(item); - }else{ - $scope.listaRecursoMateriais.splice($scope.listaRecursoMateriais.indexOf(item), 1); - } - }; - - // responsavel por definir se as acoes em massa estaram disponiveis - $scope.checkAllRecursosHumanos = function (value){ - $scope.listaRecursoHumanos = []; - angular.forEach($scope.estudoTecnico.etRecursosHumanos, function (item) { - item.$checked = value; - $scope.listaRecursoHumanos.push(item); - }); - if(!value){ - $scope.listaRecursoHumanos = []; - } - $scope.atualizarListaSizeSelectRecursoHumano(); - }; - - $scope.checkRecursoHumano = function(item){ - if(item.$checked){ - $scope.listaRecursoHumanos.push(item); - }else{ - $scope.listaRecursoHumanos.splice($scope.listaRecursoHumanos.indexOf(item), 1); - } - }; - - $scope.checkAllAcoes = function(value) { - $scope.listaAcoesContigencia = []; - angular.forEach($scope.estudoTecnico.etAcoesContingencia, function (item) { - item.$checked = value; - $scope.listaAcoesContigencia.push(item); - }); - if(!value){ - $scope.listaAcoesContigencia = []; - } - $scope.atualizarListaSizeSelectAcaoContigencia(); - }; - - $scope.checkAcaoContigencia = function(item){ - if(item.$checked){ - $scope.listaAcoesContigencia.push(item); - }else{ - $scope.listaAcoesContigencia.splice($scope.listaAcoesContigencia.indexOf(item), 1); - } - }; - - // recupera requisito de negocio selecionado - $scope.getReqNegocioChecked = function() { - var reqNegocioChecked = []; - - if ($scope.estudoTecnico.etRequisitosNegocio) { - for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) { - if ($scope.estudoTecnico.etRequisitosNegocio[i].$checked) { - reqNegocioChecked.push(angular.copy($scope.estudoTecnico.etRequisitosNegocio[i])); - } - } - } - - return reqNegocioChecked; - }; - - // recupera solucao selecionada - $scope.getSolucaoChecked = function() { - var solucaoChecked = []; - - if ($scope.estudoTecnico.etLevantamentoAlternativas) { - for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) { - if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) { - solucaoChecked.push(angular.copy($scope.estudoTecnico.etLevantamentoAlternativas[i])); - } - } - } - - return solucaoChecked; - }; - - // recupera bem servico selecionado - $scope.getBemServicoChecked = function() { - var bemServicoChecked = []; - - if ($scope.estudoTecnico.etBensServicosSolucoes) { - for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) { - if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) { - bemServicoChecked.push(angular.copy($scope.estudoTecnico.etBensServicosSolucoes[i])); - } - } - } - - return bemServicoChecked; - }; - - // recupera beneficio esperado selecionado - $scope.getBeneficioEsperadoChecked = function() { - var beneficioEsperadoChecked = []; - - if ($scope.estudoTecnico.etBeneficiosEsperados) { - for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) { - if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) { - beneficioEsperadoChecked.push(angular.copy($scope.estudoTecnico.etBeneficiosEsperados[i])); - } - } - } - - return beneficioEsperadoChecked; - }; - - // Responsavel por retornar o recurso material selecionado - $scope.getRecursoMaterialChecked = function() { - - var recursoMaterialChecked = []; - - if ($scope.estudoTecnico.etRecursosMateriais) { - for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) { - if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) { - recursoMaterialChecked.push(angular.copy($scope.estudoTecnico.etRecursosMateriais[i])); - } - } - } - return recursoMaterialChecked; - }; - - // Responsavel por retornar o recurso humano selecionado - $scope.getRecursoHumanoChecked = function() { - - var recursoHumanoChecked = []; - - if ($scope.estudoTecnico.etRecursosHumanos) { - for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) { - if ($scope.estudoTecnico.etRecursosHumanos[i].$checked) { - recursoHumanoChecked.push(angular.copy($scope.estudoTecnico.etRecursosHumanos[i])); - } - } - } - - return recursoHumanoChecked; - }; - - // recupera a ação de contingencia selecionada - $scope.getAcaoContChecked = function() { - var acaoContChecked = []; - - if ($scope.estudoTecnico.etAcoesContingencia) { - for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) { - if ($scope.estudoTecnico.etAcoesContingencia[i].$checked) { - acaoContChecked.push(angular.copy($scope.estudoTecnico.etAcoesContingencia[i])); - } - } - } - - return acaoContChecked; - }; - - $scope.openModalRequisitoNegocio = function() { - - ObjetivoEstrategicoRepository.findAllByOrganizacao().then(function(result) { - $scope.objetivosEstrategicos = result; - }); + if(beneficiosSelecionados.length === 0) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); + return; + } - $scope.editRequisitoNegocio = true; + $scope.beneficioEsperado = beneficiosSelecionados[0]; - $scope.reqNegocio = {}; - - $timeout(function() { - $scope.$openModal('modal-requisito-negocio.html', 'lg'); - }); - }; - - function resetModalSolucao(){ - $scope.solucao = { - etlaQuestionario : {} - }; + $timeout(function() { + $scope.$openModal('modal-beneficio-esperado.html', 'lg'); + }); + }; - $scope.solucao.etlaQuestionario.etQuestionarioRespostas = []; + // Responsavel por abrir modal de recurso material para edicao ou visualizacao do item selecionado + $scope.abrirRecursoMaterial = function(edit) { - for (var i = 0; i < $scope.qntDefaultQuest; i++) { - var questPergunta = { - questionarioPergunta : $scope.questionarioTemplate.questoes[i], - index : i+1 - }; - $scope.solucao.etlaQuestionario.etQuestionarioRespostas.push(questPergunta); - } + $scope.editRecursoMaterial = edit; - $scope.solucao.etlaQuestionario.etQuestionario = { - nome : $scope.questionarioTemplate.nome - }; - } + $scope.estudoTecnicoRecursoMaterialTemp = null; - $scope.openModalSolucao = function() { - $scope.editSolucao = true; + var recursosMateriaisSelecionados = $scope.getRecursoMaterialChecked(); - resetModalSolucao(); + if (recursosMateriaisSelecionados.length > 1) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); + return; + } - $timeout(function() { - $scope.$openModal('modal-solucao.html', 'lg'); - }); - }; + if(recursosMateriaisSelecionados.length === 0) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); + return; + } - $scope.openModalBensServico = function() { - $scope.editBemServico = true; + $scope.estudoTecnicoRecursoMaterialTemp = recursosMateriaisSelecionados[0]; - $scope.bemServico = {}; + $timeout(function() { + $scope.$openModal('modal-recurso-material.html', 'lg'); + }); + }; - $timeout(function() { - $scope.$openModal('modal-bem-servico.html', 'lg'); - }); - }; + // Responsavel por abrir modal de recurso humano para edicao ou visualizacao do item selecionado + $scope.abrirRecursoHumano = function(edit) { - $scope.openModalBeneficioEsperado = function() { + $scope.editRecursoHumano = edit; - $scope.editBeneficioEsperado = true; + $scope.estudoTecnicoRecursoHumanoTemp = null; - $scope.beneficioEsperado = {}; + var recursosHumanosSelecionados = $scope.getRecursoHumanoChecked(); - $timeout(function() { - $scope.$openModal('modal-beneficio-esperado.html', 'lg'); - }); - }; + if (recursosHumanosSelecionados.length > 1) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); + return; + } - // responsavel por abrir modal de adicao de um recurso material - $scope.openModalRecursoMaterial = function() { + if(recursosHumanosSelecionados.length === 0) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); + return; + } - $scope.estudoTecnicoRecursoMaterialTemp = { - disponivel : true - }; + $scope.estudoTecnicoRecursoHumanoTemp = recursosHumanosSelecionados[0]; - $scope.editRecursoMaterial = true; - $scope.$openModal('modal-recurso-material.html', 'lg'); - }; + $timeout(function() { + $scope.$openModal('modal-recurso-humano.html', 'lg'); + }); + }; - // Responsavel por abrir modal de adicao de um recurso humano - $scope.openModalRecursoHumano = function() { + $scope.abrirAcaoContingencia = function(edit) { - $scope.estudoTecnicoRecursoHumanoTemp = {}; - $scope.editRecursoHumano = true; - $scope.$openModal('modal-recurso-humano.html', 'lg'); - }; + $scope.editAcaoCont = edit; - $scope.openModalAcaoContingencia = function() { - $scope.editAcaoCont = true; + $scope.acaoCont = null; - $scope.acaoCont = {}; + var acoesSelecionadas = $scope.getAcaoContChecked(); - $timeout(function() { - $scope.$openModal('modal-acao-contingencia.html', 'lg'); - }); - }; + if (acoesSelecionadas.length > 1) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); + return; + } - $scope.abrirRequisitoNegocio = function(edit) { + if(acoesSelecionadas.length === 0) { + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); + return; + } - ObjetivoEstrategicoRepository.findAllByOrganizacao().then(function(result) { - $scope.objetivosEstrategicos = result; - }); + $scope.acaoCont = acoesSelecionadas[0]; - $scope.editRequisitoNegocio = edit; + $timeout(function() { + $scope.$openModal('modal-acao-contingencia.html', 'lg'); + }); + }; - $scope.reqNegocio = null; - // recupera a EstudoTecnico selecionada - var requisitosSelecionados = $scope.getReqNegocioChecked(); + $scope.removerRequisitoNegocio = function() { + // recupera a EstudoTecnico selecionada + var requisitosSelecionados = $scope.getReqNegocioChecked(); - if (requisitosSelecionados.length > 1) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + if (requisitosSelecionados.length > 0) { + $scope.$openModalConfirm({ + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), + callback: function() { - if(requisitosSelecionados.length === 0) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + $scope.$modalConfirmInstance.dismiss('cancel'); - $scope.reqNegocio = requisitosSelecionados[0]; + for (var i = 0; i < requisitosSelecionados.length; i++) { + if (requisitosSelecionados[i].id) { + EstudoTecnicoRequisitoNegocioRepository.remove(requisitosSelecionados[i]).then(function(result) { + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + }); + } + } + var requisitos = []; + for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) { + if (!$scope.estudoTecnico.etRequisitosNegocio[i].$checked) { + requisitos.push($scope.estudoTecnico.etRequisitosNegocio[i]); + } + } + $scope.listaRequisitoTecSelecao = []; + $scope.estudoTecnico.etRequisitosNegocio = requisitos; + $scope.atualizarListaSizeSelectReqNegocio(); + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + } + }); + } else { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); + } + }; - $scope.reqNegocio.objetivoEstrategico = angular.copy($scope.reqNegocio.objetivoEstrategicoNecessidade.objetivoEstrategico); + $scope.removerSolucao = function() { + var solucoesSelecionadas = $scope.getSolucaoChecked(); - $timeout(function() { - $scope.$openModal('modal-requisito-negocio.html', 'lg'); - }); - }; + if (solucoesSelecionadas.length > 0) { + $scope.$openModalConfirm({ + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), + callback: function() { - $scope.abrirSolucao = function(edit) { + $scope.$modalConfirmInstance.dismiss('cancel'); - $scope.editSolucao = edit; + for (var i = 0; i < solucoesSelecionadas.length; i++) { + if (solucoesSelecionadas[i].id) { + EstudoTecnicoLevantamentoAlternativasRepository.remove(solucoesSelecionadas[i]).then(function(result) { + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + }); + } + } + var solucoes = []; + for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) { + if (!$scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) { + solucoes.push($scope.estudoTecnico.etLevantamentoAlternativas[i]); + } + } + $scope.listaAlternativa = []; + $scope.estudoTecnico.etLevantamentoAlternativas = solucoes; + $scope.atualizarListaSizeSelectSolucao(); + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + } + }); + } else { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); + } + }; - $scope.solucao = null; + $scope.removerBensServico = function() { + var bensServicosSelecionados = $scope.getBemServicoChecked(); + + if (bensServicosSelecionados.length > 0) { + $scope.$openModalConfirm({ + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), + callback: function() { + $scope.$modalConfirmInstance.dismiss('cancel'); + + for (var i = 0; i < bensServicosSelecionados.length; i++) { + if (bensServicosSelecionados[i].id) { + EstudoTecnicoBemServicoSolucaoRepository.remove(bensServicosSelecionados[i]).then(function(result) { + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + }); + } + } + var bensServicos = []; + for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) { + if (!$scope.estudoTecnico.etBensServicosSolucoes[i].$checked) { + bensServicos.push($scope.estudoTecnico.etBensServicosSolucoes[i]); + } + } + $scope.estudoTecnico.etBensServicosSolucoes = bensServicos; + $scope.atualizarListaSizeSelectServicoSolucao(); + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + } + }); + } else { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); + } + }; - var solucoesSelecionadas = $scope.getSolucaoChecked(); + $scope.removerBeneficioEsperado = function() { - if (solucoesSelecionadas.length > 1) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + var beneficiosSelecionados = $scope.getBeneficioEsperadoChecked(); - if(solucoesSelecionadas.length === 0) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + if (beneficiosSelecionados.length > 0) { + $scope.$openModalConfirm({ + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), + callback: function() { + $scope.$modalConfirmInstance.dismiss('cancel'); - $scope.solucao = solucoesSelecionadas[0]; + for (var i = 0; i < beneficiosSelecionados.length; i++) { + if (beneficiosSelecionados[i].id) { + EstudoTecnicoBeneficioEsperadoRepository.remove(beneficiosSelecionados[i]).then(function(result) { + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + }); + } + } + var beneficios = []; + for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) { + if (!$scope.estudoTecnico.etBeneficiosEsperados[i].$checked) { + beneficios.push($scope.estudoTecnico.etBeneficiosEsperados[i]); + } + } + $scope.listaBeneficio = []; + $scope.estudoTecnico.etBeneficiosEsperados = beneficios; + $scope.atualizarListaSizeSelectBeneficio(); + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + } + }); + } else { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); + } + }; - if ($scope.solucao.fornecedor) { - $scope.solucao.fornecedor['pessoa.nome'] = $scope.solucao.fornecedor.pessoa.nome; - } + //responsavel por remover um/ou mais recurs(o)s materiais do estudo tecnico + $scope.removerRecursoMaterial = function (){ - for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) { - $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index = i + 1; - } + var recursosMateriaisSelecionados = $scope.getRecursoMaterialChecked(); - $timeout(function() { - $scope.$openModal('modal-solucao.html', 'lg'); - }); - }; + if (recursosMateriaisSelecionados.length > 0) { + $scope.$openModalConfirm({ + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), + callback: function() { + $scope.$modalConfirmInstance.dismiss('cancel'); - $scope.abrirBensServico = function(edit) { + for (var i = 0; i < recursosMateriaisSelecionados.length; i++) { + if (recursosMateriaisSelecionados[i].id) { + EstudoTecnicoRecursoMaterialRepository.remove(recursosMateriaisSelecionados[i]).then(function(result) { + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + }); + } + } + var recursosMateriais = []; + for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) { + if (!$scope.estudoTecnico.etRecursosMateriais[i].$checked) { + recursosMateriais.push($scope.estudoTecnico.etRecursosMateriais[i]); + } + } + $scope.listaRecursoMateriais = []; + $scope.estudoTecnico.etRecursosMateriais = recursosMateriais; + $scope.atualizarListaSizeSelectRecursoMaterial(); + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + } + }); + } else { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); + } + }; - $scope.editBemServico = edit; + //responsavel por remover um/ou mais recurs(o)s humanos do estudo tecnico + $scope.removerRecursoHumano = function (){ - $scope.bemServico = null; + var recursosHumanosSelecionados = $scope.getRecursoHumanoChecked(); - var bensServicosSelecionados = $scope.getBemServicoChecked(); + if (recursosHumanosSelecionados.length > 0) { + $scope.$openModalConfirm({ + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), + callback: function() { + $scope.$modalConfirmInstance.dismiss('cancel'); - if (bensServicosSelecionados.length > 1) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + for (var i = 0; i < recursosHumanosSelecionados.length; i++) { + if (recursosHumanosSelecionados[i].id) { + EstudoTecnicoRecursoHumanoRepository.remove(recursosHumanosSelecionados[i]).then(function(result) { + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + }); + } + } + var recursosHumanos = []; + for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) { + if (!$scope.estudoTecnico.etRecursosHumanos[i].$checked) { + recursosHumanos.push($scope.estudoTecnico.etRecursosHumanos[i]); + } + } + $scope.estudoTecnico.etRecursosHumanos = recursosHumanos; + $scope.listaRecursoHumanos = []; + $scope.atualizarListaSizeSelectRecursoHumano(); + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + } + }); + } else { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); + } + }; - if(bensServicosSelecionados.length === 0) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + $scope.removerAcaoContingencia = function() { - $scope.bemServico = bensServicosSelecionados[0]; + var acoesSelecionadas = $scope.getAcaoContChecked(); - $timeout(function() { - $scope.$openModal('modal-bem-servico.html', 'lg'); - }); - }; + if (acoesSelecionadas.length > 0) { + $scope.$openModalConfirm({ + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), + callback: function() { + $scope.$modalConfirmInstance.dismiss('cancel'); - $scope.abrirBeneficioEsperado = function(edit) { + for (var i = 0; i < acoesSelecionadas.length; i++) { + if (acoesSelecionadas[i].id) { + EstudoTecnicoAcaoContingenciaRepository.remove(acoesSelecionadas[i]).then(function(result) { + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + }); + } + } + var acoes = []; + for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) { + if (!$scope.estudoTecnico.etAcoesContingencia[i].$checked) { + acoes.push($scope.estudoTecnico.etAcoesContingencia[i]); + } + } + $scope.estudoTecnico.etAcoesContingencia = acoes; + $scope.listaAcoesContigencia = []; + $scope.atualizarListaSizeSelectAcaoContigencia(); + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + } + }); + } else { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); + } + }; - $scope.editBeneficioEsperado = edit; + // recupera solucao selecionada + $scope.getQuestaoChecked = function() { + var questaoChecked = null; + if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas) { + for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) { + if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].$checked) { + questaoChecked = $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]; + } + } + } + return questaoChecked; + }; - $scope.beneficioEsperado = null; + $scope.addQuestao = function() { + $scope.solucao.etlaQuestionario.etQuestionarioRespostas.push({ + questionarioPergunta : angular.copy($scope.questaoTemplate), + index : angular.copy($scope.solucao.etlaQuestionario.etQuestionarioRespostas.length) + 1, + edit : true + }); + }; - var beneficiosSelecionados = $scope.getBeneficioEsperadoChecked(); + $scope.editQuestao = function() { + var questao = $scope.getQuestaoChecked(); - if (beneficiosSelecionados.length > 1) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + if(!questao) { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO')); + return; + } - if(beneficiosSelecionados.length === 0) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + questao.edit = true; + }; - $scope.beneficioEsperado = beneficiosSelecionados[0]; + $scope.removerQuestao = function() { + var questao = $scope.getQuestaoChecked(); - $timeout(function() { - $scope.$openModal('modal-beneficio-esperado.html', 'lg'); - }); - }; + if(!questao) { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_ITEM_EXCLUIR')); + return; + } + $scope.cancelarQuestao(questao); + }; - // Responsavel por abrir modal de recurso material para edicao ou visualizacao do item selecionado - $scope.abrirRecursoMaterial = function(edit) { + $scope.salvarQuestao = function(questao) { + if (questao.questionarioPergunta.questao) { + questao.edit = !questao.edit; + } else { + $scope.showAlert('warning', $translate.instant('MSG.QUESTAO_VAZIA')); + } + }; - $scope.editRecursoMaterial = edit; + $scope.cancelarQuestao = function(questao) { + var questTemp = []; + for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) { + if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index < questao.index) { + questTemp.push($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]); + } + if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index > questao.index) { + $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index--; + questTemp.push($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]); + } + if (($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index === questao.index) && $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].id) { + $scope.removerRespostaPergunta($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]); + } + } + $scope.solucao.etlaQuestionario.etQuestionarioRespostas = questTemp; + }; - $scope.estudoTecnicoRecursoMaterialTemp = null; + $scope.removerRespostaPergunta = function(resposta) { + if (resposta) { + var pergunta = resposta.questionarioPergunta; + $scope.$openModalConfirm({ + message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), + callback: function() { + $scope.$modalConfirmInstance.dismiss('cancel'); + if ($scope.resposta.id) { + EstudoTecnicoQuestionarioRespostaRepository.remove(resposta).then(function(result) { + $scope.removerPergunta(pergunta); + }); + } else { + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + } + } + }); + } else { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_SER_REMOVIDO')); + } + }; - var recursosMateriaisSelecionados = $scope.getRecursoMaterialChecked(); + $scope.removerPergunta = function(pergunta) { + if (pergunta) { + QuestionarioPerguntaRepository.remove(pergunta).then(function(result) { + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); + }); + } else { + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_SER_REMOVIDO')); + } + }; - if (recursosMateriaisSelecionados.length > 1) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + // ADICIONAR Requisito de negócio + $scope.salvaRequisitoNegocio = function(formDialogRequisitoNegocio, continuarEditando) { - if(recursosMateriaisSelecionados.length === 0) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + formDialogRequisitoNegocio.$submitted = true; - $scope.estudoTecnicoRecursoMaterialTemp = recursosMateriaisSelecionados[0]; + //verifica se o formulario está valido para salvar + if (formDialogRequisitoNegocio.$invalid) { + //Mensagem de erro de campos obrigatorios não preenchidos + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); + return; + } + $scope.reqNegocioTemp = angular.copy($scope.reqNegocio); + if ($scope.reqNegocioTemp.objetivoEstrategicoNecessidade.originalElement) { + $scope.reqNegocioTemp.objetivoEstrategicoNecessidade = $scope.reqNegocio.objetivoEstrategicoNecessidade.originalElement; + } else { + $scope.reqNegocioTemp.objetivoEstrategicoNecessidade = $scope.reqNegocio.objetivoEstrategicoNecessidade; + } + delete $scope.reqNegocioTemp.objetivoEstrategico; + if ($scope.estudoTecnico.etRequisitosNegocio) { + if ($scope.reqNegocio.$checked) { + for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) { + if ($scope.estudoTecnico.etRequisitosNegocio[i].$checked) { + $scope.estudoTecnico.etRequisitosNegocio[i] = $scope.reqNegocioTemp; + } + } + } else { + $scope.estudoTecnico.etRequisitosNegocio.push($scope.reqNegocioTemp); + } + } else { + $scope.estudoTecnico.etRequisitosNegocio = [$scope.reqNegocioTemp]; + } - $timeout(function() { - $scope.$openModal('modal-recurso-material.html', 'lg'); - }); - }; + if(continuarEditando){ + formDialogRequisitoNegocio.$submitted = false; + formDialogRequisitoNegocio.$setPristine(); + $scope.reqNegocioTemp = null; + $scope.reqNegocio = {}; + return; + } + $scope.atualizarListaSizeSelectReqNegocio(); + $scope.$modalInstance.dismiss('cancel'); + }; - // Responsavel por abrir modal de recurso humano para edicao ou visualizacao do item selecionado - $scope.abrirRecursoHumano = function(edit) { + // ADICIONAR Solucao + $scope.salvaSolucao = function(formDialogSolucao, continuarEditando) { - $scope.editRecursoHumano = edit; + formDialogSolucao.$submitted = true; - $scope.estudoTecnicoRecursoHumanoTemp = null; + //verifica se o formulario está valido para salvar + if (formDialogSolucao.$invalid) { + //Mensagem de erro de campos obrigatorios não preenchidos + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); + return; + } - var recursosHumanosSelecionados = $scope.getRecursoHumanoChecked(); + if ($scope.estudoTecnico.etLevantamentoAlternativas) { + if ($scope.solucao.$checked) { + for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) { + if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) { + $scope.estudoTecnico.etLevantamentoAlternativas[i] = $scope.solucao; + } + } + } else { + $scope.estudoTecnico.etLevantamentoAlternativas.push($scope.solucao); + } + } else { + $scope.estudoTecnico.etLevantamentoAlternativas = [$scope.solucao]; + } - if (recursosHumanosSelecionados.length > 1) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); - return; - } + if(continuarEditando){ + formDialogSolucao.$submitted = false; + formDialogSolucao.$setPristine(); + resetModalSolucao(); + }else{ + $scope.$modalInstance.dismiss('cancel'); + } + $scope.atualizarListaSizeSelectSolucao(); + }; - if(recursosHumanosSelecionados.length === 0) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); - return; - } - - $scope.estudoTecnicoRecursoHumanoTemp = recursosHumanosSelecionados[0]; - - $timeout(function() { - $scope.$openModal('modal-recurso-humano.html', 'lg'); - }); - }; - - $scope.abrirAcaoContingencia = function(edit) { - - $scope.editAcaoCont = edit; - - $scope.acaoCont = null; - - var acoesSelecionadas = $scope.getAcaoContChecked(); - - if (acoesSelecionadas.length > 1) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO')); - return; - } - - if(acoesSelecionadas.length === 0) { - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO')); - return; - } - - $scope.acaoCont = acoesSelecionadas[0]; - - $timeout(function() { - $scope.$openModal('modal-acao-contingencia.html', 'lg'); - }); - }; - - $scope.removerRequisitoNegocio = function() { - // recupera a EstudoTecnico selecionada - var requisitosSelecionados = $scope.getReqNegocioChecked(); - - if (requisitosSelecionados.length > 0) { - $scope.$openModalConfirm({ - message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), - callback: function() { - - $scope.$modalConfirmInstance.dismiss('cancel'); - - for (var i = 0; i < requisitosSelecionados.length; i++) { - if (requisitosSelecionados[i].id) { - EstudoTecnicoRequisitoNegocioRepository.remove(requisitosSelecionados[i]).then(function(result) { - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - }); - } - } - var requisitos = []; - for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) { - if (!$scope.estudoTecnico.etRequisitosNegocio[i].$checked) { - requisitos.push($scope.estudoTecnico.etRequisitosNegocio[i]); - } - } - $scope.listaRequisitoTecSelecao = []; - $scope.estudoTecnico.etRequisitosNegocio = requisitos; - $scope.atualizarListaSizeSelectReqNegocio(); - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - } - }); - } else { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); - } - }; - - $scope.removerSolucao = function() { - var solucoesSelecionadas = $scope.getSolucaoChecked(); - - if (solucoesSelecionadas.length > 0) { - $scope.$openModalConfirm({ - message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), - callback: function() { - - $scope.$modalConfirmInstance.dismiss('cancel'); - - for (var i = 0; i < solucoesSelecionadas.length; i++) { - if (solucoesSelecionadas[i].id) { - EstudoTecnicoLevantamentoAlternativasRepository.remove(solucoesSelecionadas[i]).then(function(result) { - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - }); - } - } - var solucoes = []; - for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) { - if (!$scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) { - solucoes.push($scope.estudoTecnico.etLevantamentoAlternativas[i]); - } - } - $scope.listaAlternativa = []; - $scope.estudoTecnico.etLevantamentoAlternativas = solucoes; - $scope.atualizarListaSizeSelectSolucao(); - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - } - }); - } else { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); - } - }; - - $scope.removerBensServico = function() { - var bensServicosSelecionados = $scope.getBemServicoChecked(); - - if (bensServicosSelecionados.length > 0) { - $scope.$openModalConfirm({ - message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), - callback: function() { - $scope.$modalConfirmInstance.dismiss('cancel'); - - for (var i = 0; i < bensServicosSelecionados.length; i++) { - if (bensServicosSelecionados[i].id) { - EstudoTecnicoBemServicoSolucaoRepository.remove(bensServicosSelecionados[i]).then(function(result) { - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - }); - } - } - var bensServicos = []; - for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) { - if (!$scope.estudoTecnico.etBensServicosSolucoes[i].$checked) { - bensServicos.push($scope.estudoTecnico.etBensServicosSolucoes[i]); - } - } - $scope.estudoTecnico.etBensServicosSolucoes = bensServicos; - $scope.atualizarListaSizeSelectServicoSolucao(); - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - } - }); - } else { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); - } - }; - - $scope.removerBeneficioEsperado = function() { - - var beneficiosSelecionados = $scope.getBeneficioEsperadoChecked(); - - if (beneficiosSelecionados.length > 0) { - $scope.$openModalConfirm({ - message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), - callback: function() { - $scope.$modalConfirmInstance.dismiss('cancel'); - - for (var i = 0; i < beneficiosSelecionados.length; i++) { - if (beneficiosSelecionados[i].id) { - EstudoTecnicoBeneficioEsperadoRepository.remove(beneficiosSelecionados[i]).then(function(result) { - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - }); - } - } - var beneficios = []; - for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) { - if (!$scope.estudoTecnico.etBeneficiosEsperados[i].$checked) { - beneficios.push($scope.estudoTecnico.etBeneficiosEsperados[i]); - } - } - $scope.listaBeneficio = []; - $scope.estudoTecnico.etBeneficiosEsperados = beneficios; - $scope.atualizarListaSizeSelectBeneficio(); - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - } - }); - } else { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); - } - }; - - //responsavel por remover um/ou mais recurs(o)s materiais do estudo tecnico - $scope.removerRecursoMaterial = function (){ - - var recursosMateriaisSelecionados = $scope.getRecursoMaterialChecked(); - - if (recursosMateriaisSelecionados.length > 0) { - $scope.$openModalConfirm({ - message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), - callback: function() { - $scope.$modalConfirmInstance.dismiss('cancel'); - - for (var i = 0; i < recursosMateriaisSelecionados.length; i++) { - if (recursosMateriaisSelecionados[i].id) { - EstudoTecnicoRecursoMaterialRepository.remove(recursosMateriaisSelecionados[i]).then(function(result) { - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - }); - } - } - var recursosMateriais = []; - for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) { - if (!$scope.estudoTecnico.etRecursosMateriais[i].$checked) { - recursosMateriais.push($scope.estudoTecnico.etRecursosMateriais[i]); - } - } - $scope.listaRecursoMateriais = []; - $scope.estudoTecnico.etRecursosMateriais = recursosMateriais; - $scope.atualizarListaSizeSelectRecursoMaterial(); - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - } - }); - } else { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); - } - }; - - //responsavel por remover um/ou mais recurs(o)s humanos do estudo tecnico - $scope.removerRecursoHumano = function (){ - - var recursosHumanosSelecionados = $scope.getRecursoHumanoChecked(); - - if (recursosHumanosSelecionados.length > 0) { - $scope.$openModalConfirm({ - message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), - callback: function() { - $scope.$modalConfirmInstance.dismiss('cancel'); - - for (var i = 0; i < recursosHumanosSelecionados.length; i++) { - if (recursosHumanosSelecionados[i].id) { - EstudoTecnicoRecursoHumanoRepository.remove(recursosHumanosSelecionados[i]).then(function(result) { - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - }); - } - } - var recursosHumanos = []; - for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) { - if (!$scope.estudoTecnico.etRecursosHumanos[i].$checked) { - recursosHumanos.push($scope.estudoTecnico.etRecursosHumanos[i]); - } - } - $scope.estudoTecnico.etRecursosHumanos = recursosHumanos; - $scope.listaRecursoHumanos = []; - $scope.atualizarListaSizeSelectRecursoHumano(); - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - } - }); - } else { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); - } - }; - - $scope.removerAcaoContingencia = function() { - - var acoesSelecionadas = $scope.getAcaoContChecked(); - - if (acoesSelecionadas.length > 0) { - $scope.$openModalConfirm({ - message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), - callback: function() { - $scope.$modalConfirmInstance.dismiss('cancel'); - - for (var i = 0; i < acoesSelecionadas.length; i++) { - if (acoesSelecionadas[i].id) { - EstudoTecnicoAcaoContingenciaRepository.remove(acoesSelecionadas[i]).then(function(result) { - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - }); - } - } - var acoes = []; - for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) { - if (!$scope.estudoTecnico.etAcoesContingencia[i].$checked) { - acoes.push($scope.estudoTecnico.etAcoesContingencia[i]); - } - } - $scope.estudoTecnico.etAcoesContingencia = acoes; - $scope.listaAcoesContigencia = []; - $scope.atualizarListaSizeSelectAcaoContigencia(); - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - } - }); - } else { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); - } - }; - - // recupera solucao selecionada - $scope.getQuestaoChecked = function() { - var questaoChecked = null; - if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas) { - for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) { - if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].$checked) { - questaoChecked = $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]; - } - } - } - return questaoChecked; - }; - - $scope.addQuestao = function() { - $scope.solucao.etlaQuestionario.etQuestionarioRespostas.push({ - questionarioPergunta : angular.copy($scope.questaoTemplate), - index : angular.copy($scope.solucao.etlaQuestionario.etQuestionarioRespostas.length) + 1, - edit : true - }); - }; - - $scope.editQuestao = function() { - var questao = $scope.getQuestaoChecked(); - - if(!questao) { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO')); - return; - } - - questao.edit = true; - }; - - $scope.removerQuestao = function() { - var questao = $scope.getQuestaoChecked(); - - if(!questao) { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_ITEM_EXCLUIR')); - return; - } - $scope.cancelarQuestao(questao); - }; - - $scope.salvarQuestao = function(questao) { - if (questao.questionarioPergunta.questao) { - questao.edit = !questao.edit; - } else { - $scope.showAlert('warning', $translate.instant('MSG.QUESTAO_VAZIA')); - } - }; - - $scope.cancelarQuestao = function(questao) { - var questTemp = []; - for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) { - if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index < questao.index) { - questTemp.push($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]); - } - if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index > questao.index) { - $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index--; - questTemp.push($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]); - } - if (($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index === questao.index) && $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].id) { - $scope.removerRespostaPergunta($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]); - } - } - $scope.solucao.etlaQuestionario.etQuestionarioRespostas = questTemp; - }; - - $scope.removerRespostaPergunta = function(resposta) { - if (resposta) { - var pergunta = resposta.questionarioPergunta; - $scope.$openModalConfirm({ - message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), - callback: function() { - $scope.$modalConfirmInstance.dismiss('cancel'); - if ($scope.resposta.id) { - EstudoTecnicoQuestionarioRespostaRepository.remove(resposta).then(function(result) { - $scope.removerPergunta(pergunta); - }); - } else { - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - } - } - }); - } else { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_SER_REMOVIDO')); - } - }; - - $scope.removerPergunta = function(pergunta) { - if (pergunta) { - QuestionarioPerguntaRepository.remove(pergunta).then(function(result) { - $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); - }); - } else { - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_SER_REMOVIDO')); - } - }; - - // ADICIONAR Requisito de negócio - $scope.salvaRequisitoNegocio = function(formDialogRequisitoNegocio, continuarEditando) { - - formDialogRequisitoNegocio.$submitted = true; - - //verifica se o formulario está valido para salvar - if (formDialogRequisitoNegocio.$invalid) { - //Mensagem de erro de campos obrigatorios não preenchidos - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); - return; - } - $scope.reqNegocioTemp = angular.copy($scope.reqNegocio); - if ($scope.reqNegocioTemp.objetivoEstrategicoNecessidade.originalElement) { - $scope.reqNegocioTemp.objetivoEstrategicoNecessidade = $scope.reqNegocio.objetivoEstrategicoNecessidade.originalElement; - } else { - $scope.reqNegocioTemp.objetivoEstrategicoNecessidade = $scope.reqNegocio.objetivoEstrategicoNecessidade; - } - delete $scope.reqNegocioTemp.objetivoEstrategico; - if ($scope.estudoTecnico.etRequisitosNegocio) { - if ($scope.reqNegocio.$checked) { - for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) { - if ($scope.estudoTecnico.etRequisitosNegocio[i].$checked) { - $scope.estudoTecnico.etRequisitosNegocio[i] = $scope.reqNegocioTemp; - } - } - } else { - $scope.estudoTecnico.etRequisitosNegocio.push($scope.reqNegocioTemp); - } - } else { - $scope.estudoTecnico.etRequisitosNegocio = [$scope.reqNegocioTemp]; - } - - if(continuarEditando){ - formDialogRequisitoNegocio.$submitted = false; - formDialogRequisitoNegocio.$setPristine(); - $scope.reqNegocioTemp = null; - $scope.reqNegocio = {}; - return; - } - $scope.atualizarListaSizeSelectReqNegocio(); - $scope.$modalInstance.dismiss('cancel'); - }; - - // ADICIONAR Solucao - $scope.salvaSolucao = function(formDialogSolucao, continuarEditando) { - - formDialogSolucao.$submitted = true; - - //verifica se o formulario está valido para salvar - if (formDialogSolucao.$invalid) { - //Mensagem de erro de campos obrigatorios não preenchidos - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); - return; - } - - if ($scope.estudoTecnico.etLevantamentoAlternativas) { - if ($scope.solucao.$checked) { - for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) { - if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) { - $scope.estudoTecnico.etLevantamentoAlternativas[i] = $scope.solucao; - } - } - } else { - $scope.estudoTecnico.etLevantamentoAlternativas.push($scope.solucao); - } - } else { - $scope.estudoTecnico.etLevantamentoAlternativas = [$scope.solucao]; - } - - if(continuarEditando){ - formDialogSolucao.$submitted = false; - formDialogSolucao.$setPristine(); - resetModalSolucao(); - }else{ - $scope.$modalInstance.dismiss('cancel'); - } - $scope.atualizarListaSizeSelectSolucao(); - }; - - // ADICIONAR Solucao - $scope.salvaBemServico = function(formDialogBensServico, continuarEditando) { + // ADICIONAR Solucao + $scope.salvaBemServico = function(formDialogBensServico, continuarEditando) { formDialogBensServico.$submitted = true; - + //verifica se o formulario está valido para salvar if (formDialogBensServico.$invalid) { //Mensagem de erro de campos obrigatorios não preenchidos $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); return; } - + if ($scope.estudoTecnico.etBensServicosSolucoes) { if ($scope.bemServico.$checked) { for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) { - if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) { - $scope.estudoTecnico.etBensServicosSolucoes[i] = $scope.bemServico; + if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) { + $scope.estudoTecnico.etBensServicosSolucoes[i] = $scope.bemServico; + } } - } } else { $scope.bemServico.$index = $scope.estudoTecnico.etBensServicosSolucoes.length + 1; $scope.estudoTecnico.etBensServicosSolucoes.push($scope.bemServico); @@ -1261,7 +1271,7 @@ citApp.controller('EstudoTecnicoController', ['$scope', 'EstudoTecnicoRepository $scope.bemServico.$index = 1; $scope.estudoTecnico.etBensServicosSolucoes = [$scope.bemServico]; } - + if(continuarEditando){ formDialogBensServico.$submitted = false; formDialogBensServico.$setPristine(); @@ -1270,93 +1280,93 @@ citApp.controller('EstudoTecnicoController', ['$scope', 'EstudoTecnicoRepository $scope.$modalInstance.dismiss('cancel'); } $scope.atualizarListaSizeSelectServicoSolucao(); - }; + }; - // ADICIONAR BENEFÍCIO ESPERADO - $scope.salvaBeneficioEsperado = function(formDialogBeneficioEsperado, continuarEditando) { + // ADICIONAR BENEFÍCIO ESPERADO + $scope.salvaBeneficioEsperado = function(formDialogBeneficioEsperado, continuarEditando) { - formDialogBeneficioEsperado.$submitted = true; + formDialogBeneficioEsperado.$submitted = true; + + //verifica se o formulario está valido para salvar + if (formDialogBeneficioEsperado.$invalid) { + //Mensagem de erro de campos obrigatorios não preenchidos + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); + return; + } - //verifica se o formulario está valido para salvar - if (formDialogBeneficioEsperado.$invalid) { - //Mensagem de erro de campos obrigatorios não preenchidos - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); - return; - } - if ($scope.estudoTecnico.etBeneficiosEsperados) { - if ($scope.beneficioEsperado.$checked) { - for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) { - if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) { - $scope.estudoTecnico.etBeneficiosEsperados[i] = $scope.beneficioEsperado; - } - } - } else { - $scope.estudoTecnico.etBeneficiosEsperados.push($scope.beneficioEsperado); - } + if ($scope.beneficioEsperado.$checked) { + for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) { + if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) { + $scope.estudoTecnico.etBeneficiosEsperados[i] = $scope.beneficioEsperado; + } + } + } else { + $scope.estudoTecnico.etBeneficiosEsperados.push($scope.beneficioEsperado); + } } else { - $scope.estudoTecnico.etBeneficiosEsperados = [$scope.beneficioEsperado]; + $scope.estudoTecnico.etBeneficiosEsperados = [$scope.beneficioEsperado]; } - + if(continuarEditando){ formDialogBeneficioEsperado.$submitted = false; formDialogBeneficioEsperado.$setPristine(); $scope.beneficioEsperado = {}; - } else { - $scope.$modalInstance.dismiss('cancel'); - } + } else { + $scope.$modalInstance.dismiss('cancel'); + } $scope.atualizarListaSizeSelectBeneficio(); - }; + }; - // responsavel por adicionar um recurso tecnico ao estudo tecnico - $scope.salvaRecursoMaterial = function (formDialogRecursoMaterial, continuarEditando){ + // responsavel por adicionar um recurso tecnico ao estudo tecnico + $scope.salvaRecursoMaterial = function (formDialogRecursoMaterial, continuarEditando){ - formDialogRecursoMaterial.$submitted = true; + formDialogRecursoMaterial.$submitted = true; if (formDialogRecursoMaterial.$invalid) { //Mensagem de erro de campos obrigatorios não preenchidos $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); return; } - + if ($scope.estudoTecnico.etRecursosMateriais){ - if ($scope.estudoTecnicoRecursoMaterialTemp.$checked){ - for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) { - if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) { - $scope.estudoTecnico.etRecursosMateriais[i] = $scope.estudoTecnicoRecursoMaterialTemp; - } - } - } else { - $scope.estudoTecnico.etRecursosMateriais.push($scope.estudoTecnicoRecursoMaterialTemp); - } + if ($scope.estudoTecnicoRecursoMaterialTemp.$checked){ + for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) { + if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) { + $scope.estudoTecnico.etRecursosMateriais[i] = $scope.estudoTecnicoRecursoMaterialTemp; + } + } + } else { + $scope.estudoTecnico.etRecursosMateriais.push($scope.estudoTecnicoRecursoMaterialTemp); + } } else { $scope.estudoTecnico.etRecursosMateriais = [$scope.estudoTecnicoRecursoMaterialTemp]; } - + if(continuarEditando){ formDialogRecursoMaterial.$submitted = false; formDialogRecursoMaterial.$setPristine(); $scope.estudoTecnicoRecursoMaterialTemp = { - disponivel : true + disponivel : true }; }else{ $scope.estudoTecnicoRecursoMaterialTemp = {}; $scope.$modalInstance.dismiss('cancel'); } $scope.atualizarListaSizeSelectRecursoMaterial(); - }; + }; - // Responsavel por adicionar um recurso humano ao estudo tecnico - $scope.salvaRecursoHumano = function (formDialogRecursoHumano, continuarEditando){ + // Responsavel por adicionar um recurso humano ao estudo tecnico + $scope.salvaRecursoHumano = function (formDialogRecursoHumano, continuarEditando){ - formDialogRecursoHumano.$submitted = true; + formDialogRecursoHumano.$submitted = true; if (formDialogRecursoHumano.$invalid) { //Mensagem de erro de campos obrigatorios não preenchidos $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); return; } - + if ($scope.estudoTecnico.etRecursosHumanos){ if ($scope.estudoTecnicoRecursoHumanoTemp.$checked){ for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) { @@ -1371,26 +1381,26 @@ citApp.controller('EstudoTecnicoController', ['$scope', 'EstudoTecnicoRepository $scope.estudoTecnico.etRecursosHumanos = [$scope.estudoTecnicoRecursoHumanoTemp]; } $scope.estudoTecnicoRecursoHumanoTemp = {}; - + if(continuarEditando){ formDialogRecursoHumano.$submitted = false; formDialogRecursoHumano.$setPristine(); }else{ $scope.$modalInstance.dismiss('cancel'); } - $scope.atualizarListaSizeSelectRecursoHumano(); - }; + $scope.atualizarListaSizeSelectRecursoHumano(); + }; - $scope.salvaAcaoCont = function(formDialogAcaoContingencia, continuarEditando) { - formDialogAcaoContingencia.$submitted = true; + $scope.salvaAcaoCont = function(formDialogAcaoContingencia, continuarEditando) { + formDialogAcaoContingencia.$submitted = true; + + //verifica se o formulario está valido para salvar + if (formDialogAcaoContingencia.$invalid) { + //Mensagem de erro de campos obrigatorios não preenchidos + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); + return; + } - //verifica se o formulario está valido para salvar - if (formDialogAcaoContingencia.$invalid) { - //Mensagem de erro de campos obrigatorios não preenchidos - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); - return; - } - if ($scope.estudoTecnico.etAcoesContingencia) { if ($scope.acaoCont.$checked) { for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) { @@ -1406,7 +1416,7 @@ citApp.controller('EstudoTecnicoController', ['$scope', 'EstudoTecnicoRepository $scope.acaoCont.$index = 1; $scope.estudoTecnico.etAcoesContingencia = [$scope.acaoCont]; } - + $scope.acaoCont = {}; if(continuarEditando){ formDialogAcaoContingencia.$submitted = false; @@ -1415,225 +1425,225 @@ citApp.controller('EstudoTecnicoController', ['$scope', 'EstudoTecnicoRepository $scope.$modalInstance.dismiss('cancel'); } $scope.atualizarListaSizeSelectAcaoContigencia(); - }; - - //Watch para calcular valor unitario - $scope.$watch('reqNegocio.objetivoEstrategico', function() { - if ($scope.reqNegocio.objetivoEstrategico && ($scope.reqNegocio.objetivoEstrategico.id)) { - ObjetivoEstrategicoNecessidadeRepository.findAllByObjetivoEstrategico($scope.reqNegocio.objetivoEstrategico).then(function(result) { - $scope.reqNegocio.objetivoEstrategico.necessidadesElencadas = result; - }); - } - }); - - // ########################################### - // ########################################### DAQUI PARA BAIXO SAO TODOS OS METODOS RELACIONADOS AO WIZARD - // ########################################### - - $scope.templates = [{ name: 'estudoTecnicoPg1.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg1.html', show: true}, - { name: 'estudoTecnicoPg2.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg2.html', show: false}, - { name: 'estudoTecnicoPg3.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg3.html', show: false}, - { name: 'estudoTecnicoPg4.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg4.html', show: false}, - { name: 'estudoTecnicoPg5.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg5.html', show: false}, - { name: 'estudoTecnicoPg6.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg6.html', show: false}, - { name: 'estudoTecnicoPg7.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg7.html', show: false} ]; - - $scope.steps = ['one', 'two', 'three', 'four', 'five', 'six', 'seven']; - $scope.step = 0; - - // Verifica se o passo é o primeiro passo do wizard - $scope.isFirstStep = function() { - return $scope.step === 0; - }; - - // Verifica se o passo é o ultimo passo do wizard - $scope.isLastStep = function() { - return $scope.step === ($scope.steps.length - 1); - }; - - // Verifica se o passo é o passo atual do wizard - $scope.isCurrentStep = function(step) { - return $scope.step === step; - }; - - // Utilizado pelo wizard para mudar para o passo desejado - $scope.setCurrentStep = function(step) { - - $scope.setLoadingGet(true); - - if (step <= ($scope.step - 1)) { - $scope.templates[$scope.step].show = false; - $scope.step = step; - $scope.templates[step].show = true; - } else { - if (!$scope.edit) { - $scope.permitidoAvancar = true; - } else { - permiteAvancoFluxo(); - } - - if ($scope.permitidoAvancar) { - $scope.templates[$scope.step].show = false; - $scope.step = step; - $scope.templates[step].show = true; - } - } - - $scope.setLoading(false); - }; - - // Controla se o usuario pode avancar o fluxo no wizard, validando os itens obrigatórios - function permiteAvancoFluxo() { - - $scope.permitidoAvancar = true; - - if ($scope.step === 0) { - if (!validStepPlanejamentoContratacao() && $scope.permitidoAvancar) { - $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = true; - } - } else if ($scope.step === 1) { - if (!validStepRequisitos() && $scope.permitidoAvancar) { - $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = true; - } - } else if ($scope.step === 2) { - if(!validStepLevantamentoAlternativas() && $scope.permitidoAvancar){ - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = true; - } - } else if ($scope.step === 3) { - if (!validStepBeneficiosNecessidades() && $scope.permitidoAvancar) { - $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = true; - } - } else if ($scope.step === 4 && !validStepRecursosNecessarios()) { - $scope.recursosNecessariosForm.$submitted = true; - $scope.permitidoAvancar = false; - } else if ($scope.step === 5 && !validStepEstrategiaContratual()) { - $scope.estudoTecnicoForm.estrategiaContratualForm.$submitted = true; - } else if ($scope.step === 6) { - $scope.observacoesEntradaForm.$submitted = true; - } - - if (!$scope.permitidoAvancar && !$scope.stepValid) { - //Mensagem de erro de campos obrigatorios nao preenchidos - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); - } - }; - - // Recupera o passo atual do wizard - $scope.getCurrentStep = function() { - return $scope.steps[$scope.step]; - }; - - // Faz com o que o wizard retroceda um passo - $scope.handlePrevious = function() { - - $scope.setLoadingGet(true); - - $scope.templates[$scope.step].show = false; - $scope.step -= ($scope.isFirstStep()) ? 0 : 1; - $scope.templates[$scope.step].show = true; - - $scope.setLoading(false); - - }; - - // Faz com o que o wizard avance um passo - $scope.handleNext = function () { - $scope.setLoadingGet(true); - - if(!$scope.edit){ - $scope.permitidoAvancar = true; - } else { - permiteAvancoFluxo(); - } - - if ($scope.permitidoAvancar){ - $scope.templates[$scope.step].show = false; - $scope.step += 1; - $scope.templates[$scope.step].show = true; - } - - $scope.setLoading(false); - }; - - // Funcao especifica que retorna se o formulario de dados da entrada esta valido - function validStepPlanejamentoContratacao() { - $scope.stepValid = true; - - if ($scope.estudoTecnicoForm.planejamentoContratacaoForm.$invalid) { - $scope.stepValid = false; - } - - return $scope.stepValid; - }; - - // Funcao especifica que retorna se o formulario de requisitos esta valido - function validStepRequisitos() { - $scope.stepValid = true; - - if ($scope.estudoTecnicoForm.definicaoRequisitosForm.$invalid || (!$scope.estudoTecnico.etRequisitosNegocio || $scope.estudoTecnico.etRequisitosNegocio.length < 1)) { - $scope.stepValid = false; - } - - return $scope.stepValid; - }; - - // Funcao especifica que retorna se o formulario de levantamento de alternativas esta valido - function validStepLevantamentoAlternativas() { - $scope.stepValid = true; - - if ($scope.estudoTecnicoForm.levantamentoAlternativasForm.$invalid || (!$scope.estudoTecnico.etLevantamentoAlternativas || $scope.estudoTecnico.etLevantamentoAlternativas.length < 1) - || (!$scope.estudoTecnico.etBensServicosSolucoes || $scope.estudoTecnico.etBensServicosSolucoes.length < 1)) { - $scope.stepValid = false; - } - - return $scope.stepValid; - }; - - // Funcao especifica que retorna se o formulario de beneficios e necessidades está valido - function validStepBeneficiosNecessidades() { - $scope.stepValid = true; - - if ($scope.estudoTecnicoForm.beneficiosNecessidadesForm.$invalid || (!$scope.estudoTecnico.etBeneficiosEsperados || $scope.estudoTecnico.etBeneficiosEsperados.length < 1)) { - $scope.stepValid = false; - } + }; + + //Watch para calcular valor unitario + $scope.$watch('reqNegocio.objetivoEstrategico', function() { + if ($scope.reqNegocio.objetivoEstrategico && ($scope.reqNegocio.objetivoEstrategico.id)) { + ObjetivoEstrategicoNecessidadeRepository.findAllByObjetivoEstrategico($scope.reqNegocio.objetivoEstrategico).then(function(result) { + $scope.reqNegocio.objetivoEstrategico.necessidadesElencadas = result; + }); + } + }); + + // ########################################### + // ########################################### DAQUI PARA BAIXO SAO TODOS OS METODOS RELACIONADOS AO WIZARD + // ########################################### + + $scope.templates = [{ name: 'estudoTecnicoPg1.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg1.html', show: true}, + { name: 'estudoTecnicoPg2.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg2.html', show: false}, + { name: 'estudoTecnicoPg3.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg3.html', show: false}, + { name: 'estudoTecnicoPg4.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg4.html', show: false}, + { name: 'estudoTecnicoPg5.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg5.html', show: false}, + { name: 'estudoTecnicoPg6.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg6.html', show: false}, + { name: 'estudoTecnicoPg7.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg7.html', show: false} ]; + + $scope.steps = ['one', 'two', 'three', 'four', 'five', 'six', 'seven']; + $scope.step = 0; + + // Verifica se o passo é o primeiro passo do wizard + $scope.isFirstStep = function() { + return $scope.step === 0; + }; + + // Verifica se o passo é o ultimo passo do wizard + $scope.isLastStep = function() { + return $scope.step === ($scope.steps.length - 1); + }; + + // Verifica se o passo é o passo atual do wizard + $scope.isCurrentStep = function(step) { + return $scope.step === step; + }; + + // Utilizado pelo wizard para mudar para o passo desejado + $scope.setCurrentStep = function(step) { + + $scope.setLoadingGet(true); + + if (step <= ($scope.step - 1)) { + $scope.templates[$scope.step].show = false; + $scope.step = step; + $scope.templates[step].show = true; + } else { + if (!$scope.edit) { + $scope.permitidoAvancar = true; + } else { + permiteAvancoFluxo(); + } + + if ($scope.permitidoAvancar) { + $scope.templates[$scope.step].show = false; + $scope.step = step; + $scope.templates[step].show = true; + } + } + + $scope.setLoading(false); + }; + + // Controla se o usuario pode avancar o fluxo no wizard, validando os itens obrigatórios + function permiteAvancoFluxo() { + + $scope.permitidoAvancar = true; + + if ($scope.step === 0) { + if (!validStepPlanejamentoContratacao() && $scope.permitidoAvancar) { + $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = true; + } + } else if ($scope.step === 1) { + if (!validStepRequisitos() && $scope.permitidoAvancar) { + $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = true; + } + } else if ($scope.step === 2) { + if(!validStepLevantamentoAlternativas() && $scope.permitidoAvancar){ + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = true; + } + } else if ($scope.step === 3) { + if (!validStepBeneficiosNecessidades() && $scope.permitidoAvancar) { + $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = true; + } + } else if ($scope.step === 4 && !validStepRecursosNecessarios()) { + $scope.recursosNecessariosForm.$submitted = true; + $scope.permitidoAvancar = false; + } else if ($scope.step === 5 && !validStepEstrategiaContratual()) { + $scope.estudoTecnicoForm.estrategiaContratualForm.$submitted = true; + } else if ($scope.step === 6) { + $scope.observacoesEntradaForm.$submitted = true; + } + + if (!$scope.permitidoAvancar && !$scope.stepValid) { + //Mensagem de erro de campos obrigatorios nao preenchidos + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); + } + }; + + // Recupera o passo atual do wizard + $scope.getCurrentStep = function() { + return $scope.steps[$scope.step]; + }; + + // Faz com o que o wizard retroceda um passo + $scope.handlePrevious = function() { + + $scope.setLoadingGet(true); + + $scope.templates[$scope.step].show = false; + $scope.step -= ($scope.isFirstStep()) ? 0 : 1; + $scope.templates[$scope.step].show = true; + + $scope.setLoading(false); + + }; + + // Faz com o que o wizard avance um passo + $scope.handleNext = function () { + $scope.setLoadingGet(true); + + if(!$scope.edit){ + $scope.permitidoAvancar = true; + } else { + permiteAvancoFluxo(); + } + + if ($scope.permitidoAvancar){ + $scope.templates[$scope.step].show = false; + $scope.step += 1; + $scope.templates[$scope.step].show = true; + } + + $scope.setLoading(false); + }; + + // Funcao especifica que retorna se o formulario de dados da entrada esta valido + function validStepPlanejamentoContratacao() { + $scope.stepValid = true; + + if ($scope.estudoTecnicoForm.planejamentoContratacaoForm.$invalid) { + $scope.stepValid = false; + } + + return $scope.stepValid; + }; + + // Funcao especifica que retorna se o formulario de requisitos esta valido + function validStepRequisitos() { + $scope.stepValid = true; + + if ($scope.estudoTecnicoForm.definicaoRequisitosForm.$invalid || (!$scope.estudoTecnico.etRequisitosNegocio || $scope.estudoTecnico.etRequisitosNegocio.length < 1)) { + $scope.stepValid = false; + } + + return $scope.stepValid; + }; + + // Funcao especifica que retorna se o formulario de levantamento de alternativas esta valido + function validStepLevantamentoAlternativas() { + $scope.stepValid = true; + + if ($scope.estudoTecnicoForm.levantamentoAlternativasForm.$invalid || (!$scope.estudoTecnico.etLevantamentoAlternativas || $scope.estudoTecnico.etLevantamentoAlternativas.length < 1) + || (!$scope.estudoTecnico.etBensServicosSolucoes || $scope.estudoTecnico.etBensServicosSolucoes.length < 1)) { + $scope.stepValid = false; + } + + return $scope.stepValid; + }; + + // Funcao especifica que retorna se o formulario de beneficios e necessidades está valido + function validStepBeneficiosNecessidades() { + $scope.stepValid = true; + + if ($scope.estudoTecnicoForm.beneficiosNecessidadesForm.$invalid || (!$scope.estudoTecnico.etBeneficiosEsperados || $scope.estudoTecnico.etBeneficiosEsperados.length < 1)) { + $scope.stepValid = false; + } - return $scope.stepValid; - }; + return $scope.stepValid; + }; - // Funcao especifica que retorna se o formulario de recursos necessarios ao estudo está valido - function validStepRecursosNecessarios() { + // Funcao especifica que retorna se o formulario de recursos necessarios ao estudo está valido + function validStepRecursosNecessarios() { - $scope.stepValid = true; + $scope.stepValid = true; - if ($scope.estudoTecnicoForm.recursosNecessariosForm.$invalid) { - $scope.stepValid = false; - } + if ($scope.estudoTecnicoForm.recursosNecessariosForm.$invalid) { + $scope.stepValid = false; + } - return $scope.stepValid; - }; + return $scope.stepValid; + }; - // Funcao especifica que retorna se o formulario de observacoes da entrada esta valido - function validStepObservacoesEntrada() { - $scope.stepValid = true; + // Funcao especifica que retorna se o formulario de observacoes da entrada esta valido + function validStepObservacoesEntrada() { + $scope.stepValid = true; - if ($scope.estudoTecnicoForm.anexosObservacoesForm.$invalid) { - $scope.stepValid = false; - } + if ($scope.estudoTecnicoForm.anexosObservacoesForm.$invalid) { + $scope.stepValid = false; + } - return $scope.stepValid; - }; + return $scope.stepValid; + }; - // Funcao especifica que retorna se o formulario de estrategia contratual esta valido - function validStepEstrategiaContratual() { - $scope.stepValid = true; + // Funcao especifica que retorna se o formulario de estrategia contratual esta valido + function validStepEstrategiaContratual() { + $scope.stepValid = true; - if ($scope.estudoTecnicoForm.estrategiaContratualForm.$invalid || (!$scope.estudoTecnico.etAcoesContingencia || $scope.estudoTecnico.etAcoesContingencia.length < 1)) { - $scope.stepValid = false; - } + if ($scope.estudoTecnicoForm.estrategiaContratualForm.$invalid || (!$scope.estudoTecnico.etAcoesContingencia || $scope.estudoTecnico.etAcoesContingencia.length < 1)) { + $scope.stepValid = false; + } - return $scope.stepValid; - }; + return $scope.stepValid; + }; $scope.atualizarListaSizeSelectReqNegocio = function() { if(!$scope.listaSize){ diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/QuestionarioController.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/QuestionarioController.js index 0b5ead7..b3e8ade 100644 --- a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/QuestionarioController.js +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/QuestionarioController.js @@ -180,6 +180,9 @@ citApp.controller('QuestionarioController', ['$scope', 'QuestionarioRepository', $scope.isDesbloquear = !$scope.isBloquear; $scope.showAlert("success", $translate.instant('MSG.SUCESSO_SALVAR_QUESTIONARIO')); $scope.questionarioForm.$submitted = false; + + $scope.$showPageSearchWorkspace($scope.workspace); + $scope.atualizaPaginaPesquisa(); }); $scope.setLoading(false); }else{ diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/TermoReferenciaController.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/TermoReferenciaController.js index 75407b3..bc718d7 100644 --- a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/TermoReferenciaController.js +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/TermoReferenciaController.js @@ -671,7 +671,7 @@ citApp.controller('TermoReferenciaController', ['$scope', $scope.setLoadingSalva(true); - $scope.termoReferencia.rascunho = $scope.workspace.rascunho.id; + $scope.termoReferencia.rascunho = $scope.workspace.rascunho ? $scope.workspace.rascunho.id : null; TermoReferenciaRepository.save($scope.termoReferencia).then(function(result) { $scope.termoReferencia = result.originalElement; @@ -684,10 +684,20 @@ citApp.controller('TermoReferenciaController', ['$scope', // depois de salvar o termo ja tendo uma referencia do id do termo, esse metodo ira salvar os documentos se houver salvarListaDocumentos(termoTemp); setFormsTermoReferenciaSubmitted(false); + + $timeout(function() { + $scope.$showPageSearchWorkspace($scope.workspace); + $scope.atualizaPaginaPesquisa(); + }); }); }; }; + // Atualiza pagina de pesquisa + $scope.atualizaPaginaPesquisa = function () { + angular.element('#searchTermoReferencia').scope().fetchResult(); + }; + $scope.editar = function () { if ($scope.termoReferencia.dataTermoGerado){ $scope.showAlert('warning', $translate.instant('MSG.TERMO_REFERENCIA_JA_GERADO')); -- libgit2 0.21.2