Commit 50e5533a605f6600bbd0d3df191379973d39a4d4

Authored by luis.camargo
2 parents 53aad762 74a0e649
Exists in master

Merge branch 'tarefa-4455' of http://ferramentasgo.centralit.com.br:8080/scm/git…

…/cit-grp-contratos into tarefa-4455

# Conflicts:
#	cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/ContratoController.js
@@ -30,7 +30,7 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C @@ -30,7 +30,7 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C
30 $scope.acaoEmMassaEnvolvido = false; 30 $scope.acaoEmMassaEnvolvido = false;
31 $scope.acaoEmMassaValorPagamento = false; 31 $scope.acaoEmMassaValorPagamento = false;
32 $scope.contratoValorPagamentoUnicoTemp = {}; 32 $scope.contratoValorPagamentoUnicoTemp = {};
33 - 33 +
34 $scope.uploader = new FileUploader({ 34 $scope.uploader = new FileUploader({
35 autoUpload: false, 35 autoUpload: false,
36 queueLimit: 1, 36 queueLimit: 1,
@@ -111,11 +111,13 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C @@ -111,11 +111,13 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C
111 $scope.contratoValorPagamentoUnicoTemp = {}; 111 $scope.contratoValorPagamentoUnicoTemp = {};
112 112
113 carregarDominioPapelEnvolvido(); 113 carregarDominioPapelEnvolvido();
114 - 114 + $scope.atualizarListaSizeSelect();
  115 + $scope.atualizarListaSizeSelectItemContrato();
  116 + $scope.atualizarListaSizeSelectEnvolvido();
115 $scope.edit = true; 117 $scope.edit = true;
116 $scope.setCurrentStep(0); 118 $scope.setCurrentStep(0);
117 -  
118 - $scope.startTimerIntervalSaveDraft($scope.workspace, $scope.contrato); 119 +
  120 + $scope.startTimerIntervalSaveDraft($scope.workspace , $scope.contrato, true);
119 $timeout(function(){ 121 $timeout(function(){
120 $scope.contratoForm.informacoesGeraisContratoForm.$submitted = false; 122 $scope.contratoForm.informacoesGeraisContratoForm.$submitted = false;
121 $scope.contratoForm.informacoesContratoForm.$submitted = false; 123 $scope.contratoForm.informacoesContratoForm.$submitted = false;
@@ -132,10 +134,10 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C @@ -132,10 +134,10 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C
132 $scope.contratoForm.anexosObservacoesContratoForm.$setPristine(); 134 $scope.contratoForm.anexosObservacoesContratoForm.$setPristine();
133 }); 135 });
134 136
135 - $scope.getRascunho($scope.workspace, 201501378976);  
136 - $timeout(function(){  
137 - $scope.contrato = JSON.parse($scope.workspace.rascunho.json);  
138 - }); 137 +// $scope.getRascunho($scope.workspace, 201501378985);
  138 +// $timeout(function(){
  139 +// $scope.contrato = JSON.parse($scope.workspace.rascunho.json);
  140 +// });
139 }; 141 };
140 142
141 $scope.gerarRelatorioTermoContrato = function() { 143 $scope.gerarRelatorioTermoContrato = function() {
@@ -176,7 +178,9 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C @@ -176,7 +178,9 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C
176 if (edit) { 178 if (edit) {
177 $scope.hasAlteracaoEnvolvido = false; 179 $scope.hasAlteracaoEnvolvido = false;
178 } 180 }
179 - 181 + $scope.atualizarListaSizeSelect();
  182 + $scope.atualizarListaSizeSelectItemContrato();
  183 + $scope.atualizarListaSizeSelectEnvolvido();
180 $scope.edit = edit; 184 $scope.edit = edit;
181 $scope.setCurrentStep(0); 185 $scope.setCurrentStep(0);
182 $scope.setLoading(false); 186 $scope.setLoading(false);
@@ -986,79 +990,85 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C @@ -986,79 +990,85 @@ citApp.controller('ContratoController', ['$scope', '$filter', 'FileUploader', 'C
986 }; 990 };
987 991
988 // responsavel por adicionar um empenho ao contrato 992 // responsavel por adicionar um empenho ao contrato
989 - $scope.adicionarEmpenho = function (formDialogEmpenho){ 993 + $scope.adicionarEmpenho = function (formDialogEmpenho, continuarEditando){
990 994
991 formDialogEmpenho.$submitted = true; 995 formDialogEmpenho.$submitted = true;
992 996
993 - if (formDialogEmpenho.$valid) { 997 + if (formDialogEmpenho.$invalid) {
  998 + //Mensagem de erro de campos obrigatorios n�o preenchidos
  999 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1000 + return;
  1001 + }
994 1002
995 - // a finalidade do empenho "Anulação" e "Reforço" só poderão ser informadas caso haja a finalidade "Despesa do contrato" cadastrada  
996 - if ($scope.contratoEmpenhoTemp.dominioFinalidadeEmpenho.codigo != 1) {  
997 - var hasDespesaContrato = false;  
998 - for (var i = 0; i < $scope.contrato.ctrtEmpenhos.length; i++) {  
999 - var empenho = $scope.contrato.ctrtEmpenhos[i];  
1000 - if (empenho.dominioFinalidadeEmpenho.codigo === 1 && !empenho.$checked) {  
1001 - hasDespesaContrato = true;  
1002 - break;  
1003 - } 1003 + // a finalidade do empenho "Anulação" e "Reforço" só poderão ser informadas caso haja a finalidade "Despesa do contrato" cadastrada
  1004 + if ($scope.contratoEmpenhoTemp.dominioFinalidadeEmpenho.codigo != 1) {
  1005 + var hasDespesaContrato = false;
  1006 + for (var i = 0; i < $scope.contrato.ctrtEmpenhos.length; i++) {
  1007 + var empenho = $scope.contrato.ctrtEmpenhos[i];
  1008 + if (empenho.dominioFinalidadeEmpenho.codigo === 1 && !empenho.$checked) {
  1009 + hasDespesaContrato = true;
  1010 + break;
1004 } 1011 }
  1012 + }
1005 1013
1006 - if (hasDespesaContrato) {  
1007 - // Caso a finalidade seja "Anulação", o sistema deverá diminuir o valor deste empenho do  
1008 - // "valor total empenhado" e não somá-lo com os empenhos de finalidade "reforço e despesa do contrato".  
1009 - if ($scope.contratoEmpenhoTemp.dominioFinalidadeEmpenho.codigo === 3) {  
1010 - $scope.contratoEmpenhoTemp.valorEmpenhado = ($scope.contratoEmpenhoTemp.valorEmpenhado * (-1));  
1011 - }  
1012 - } else {  
1013 - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.FINALIDADE_EMPENHO_FALTANDO'));  
1014 - return; 1014 + if (hasDespesaContrato) {
  1015 + // Caso a finalidade seja "Anulação", o sistema deverá diminuir o valor deste empenho do
  1016 + // "valor total empenhado" e não somá-lo com os empenhos de finalidade "reforço e despesa do contrato".
  1017 + if ($scope.contratoEmpenhoTemp.dominioFinalidadeEmpenho.codigo === 3) {
  1018 + $scope.contratoEmpenhoTemp.valorEmpenhado = ($scope.contratoEmpenhoTemp.valorEmpenhado * (-1));
1015 } 1019 }
  1020 + } else {
  1021 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.FINALIDADE_EMPENHO_FALTANDO'));
  1022 + return;
1016 } 1023 }
  1024 + }
1017 1025
1018 - // data de empenho nao pode ser maior que a data de vigencia final do contrato  
1019 - if(!isPeriodoValido($scope.contratoEmpenhoTemp.data, $scope.contrato.dataVigenciaFinal)){ 1026 + // data de empenho nao pode ser maior que a data de vigencia final do contrato
  1027 + if(!isPeriodoValido($scope.contratoEmpenhoTemp.data, $scope.contrato.dataVigenciaFinal)){
1020 1028
1021 - $scope.showAlert('warning', $translate.instant('VALIDACAO.DATA_EMPENHO_MAIOR_DATA_VIGENCIA_FINAL_CONTRATO'));  
1022 - return;  
1023 - } 1029 + $scope.showAlert('warning', $translate.instant('VALIDACAO.DATA_EMPENHO_MAIOR_DATA_VIGENCIA_FINAL_CONTRATO'));
  1030 + return;
  1031 + }
1024 1032
1025 - // o valor total de empenhado n�o pode ser superior ao valor do contrato  
1026 - var somaEmpenhos = $scope.contrato.valorTotalEmpenhado + $scope.contratoEmpenhoTemp.valorEmpenhado;  
1027 - if (somaEmpenhos > $scope.contrato.valorContrato) { 1033 + // o valor total de empenhado n�o pode ser superior ao valor do contrato
  1034 + var somaEmpenhos = $scope.contrato.valorTotalEmpenhado + $scope.contratoEmpenhoTemp.valorEmpenhado;
  1035 + if (somaEmpenhos > $scope.contrato.valorContrato) {
1028 1036
1029 - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_EMPENHADO_SUPERIOR_VALOR_CONTRATADO'));  
1030 - return;  
1031 - } 1037 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_EMPENHADO_SUPERIOR_VALOR_CONTRATADO'));
  1038 + return;
  1039 + }
1032 1040
1033 - // o valor total do empenho não pode ser negativo  
1034 - if (somaEmpenhos < 0) { 1041 + // o valor total do empenho não pode ser negativo
  1042 + if (somaEmpenhos < 0) {
1035 1043
1036 - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_ANULACAO_SUPERIOR_VALOR_TOTAL'));  
1037 - return;  
1038 - } 1044 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_ANULACAO_SUPERIOR_VALOR_TOTAL'));
  1045 + return;
  1046 + }
1039 1047
1040 - if ($scope.contrato.ctrtEmpenhos){ 1048 + if ($scope.contrato.ctrtEmpenhos){
1041 1049
1042 - if ($scope.contratoEmpenhoTemp.$checked){ 1050 + if ($scope.contratoEmpenhoTemp.$checked){
1043 1051
1044 - for (var i = 0; i < $scope.contrato.ctrtEmpenhos.length; i++) { 1052 + for (var i = 0; i < $scope.contrato.ctrtEmpenhos.length; i++) {
1045 1053
1046 - if ($scope.contrato.ctrtEmpenhos[i].$checked) { 1054 + if ($scope.contrato.ctrtEmpenhos[i].$checked) {
1047 1055
1048 - $scope.contrato.ctrtEmpenhos[i] = $scope.contratoEmpenhoTemp;  
1049 - } 1056 + $scope.contrato.ctrtEmpenhos[i] = $scope.contratoEmpenhoTemp;
1050 } 1057 }
1051 - } else {  
1052 -  
1053 - $scope.contrato.ctrtEmpenhos.push($scope.contratoEmpenhoTemp);  
1054 } 1058 }
  1059 + } else {
  1060 +
  1061 + $scope.contrato.ctrtEmpenhos.push($scope.contratoEmpenhoTemp);
1055 } 1062 }
1056 - $scope.contratoEmpenhoTemp = {}; 1063 + }
  1064 + $scope.contratoEmpenhoTemp = {};
  1065 +
  1066 + if(continuarEditando){
  1067 + formDialogEmpenho.$submitted = false;
  1068 + formDialogEmpenho.$setPristine();
  1069 + }else{
  1070 + $scope.atualizarListaSizeSelect();
1057 $scope.$modalInstance.dismiss('cancel'); 1071 $scope.$modalInstance.dismiss('cancel');
1058 - } else {  
1059 -  
1060 - //Mensagem de erro de campos obrigatorios n�o preenchidos  
1061 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);  
1062 } 1072 }
1063 }; 1073 };
1064 1074
@@ -1094,12 +1104,14 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1094,12 +1104,14 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1094 $scope.contrato.ctrtEmpenhos = $scope.contrato.ctrtEmpenhos.filter(function(empenho) { 1104 $scope.contrato.ctrtEmpenhos = $scope.contrato.ctrtEmpenhos.filter(function(empenho) {
1095 return empenho.$checked !== true; 1105 return empenho.$checked !== true;
1096 }); 1106 });
  1107 + $scope.atualizarListaSizeSelect();
1097 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1108 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
1098 }); 1109 });
1099 } else { 1110 } else {
1100 $scope.contrato.ctrtEmpenhos = $scope.contrato.ctrtEmpenhos.filter(function(empenho) { 1111 $scope.contrato.ctrtEmpenhos = $scope.contrato.ctrtEmpenhos.filter(function(empenho) {
1101 return empenho.$checked !== true; 1112 return empenho.$checked !== true;
1102 }); 1113 });
  1114 + $scope.atualizarListaSizeSelect();
1103 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1115 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
1104 } 1116 }
1105 } 1117 }
@@ -1134,6 +1146,8 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1134,6 +1146,8 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1134 $scope.acaoEmMassaEmpenho = false; 1146 $scope.acaoEmMassaEmpenho = false;
1135 $scope.selectedAllCtrtEmpenhos = false; 1147 $scope.selectedAllCtrtEmpenhos = false;
1136 } 1148 }
  1149 +
  1150 + $scope.atualizarListaSizeSelect();
1137 }; 1151 };
1138 1152
1139 // Responsavel por abrir modal de empenho para edicao ou visualizacao do item selecionado 1153 // Responsavel por abrir modal de empenho para edicao ou visualizacao do item selecionado
@@ -1205,47 +1219,53 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1205,47 +1219,53 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1205 }; 1219 };
1206 1220
1207 // responsavel por adicionar um item de contrato ao contrato 1221 // responsavel por adicionar um item de contrato ao contrato
1208 - $scope.adicionarItemContrato = function (formDialogItemContrato){ 1222 + $scope.adicionarItemContrato = function (formDialogItemContrato, continuarEditando){
1209 1223
1210 formDialogItemContrato.$submitted = true; 1224 formDialogItemContrato.$submitted = true;
1211 1225
1212 - if (formDialogItemContrato.$valid) { 1226 + if (formDialogItemContrato.$invalid) {
  1227 + //Mensagem de erro de campos obrigatorios n�o preenchidos
  1228 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1229 + return;
  1230 + }
1213 1231
1214 - // o valor total de empenhado n�o pode ser superior ao valor do contrato  
1215 - var valorTotalItens = 0;  
1216 - $scope.contrato.ctrtItens.forEach(function (itemContrato) {  
1217 - valorTotalItens += itemContrato.valorTotalItem;  
1218 - }); 1232 + // o valor total de empenhado n�o pode ser superior ao valor do contrato
  1233 + var valorTotalItens = 0;
  1234 + $scope.contrato.ctrtItens.forEach(function (itemContrato) {
  1235 + valorTotalItens += itemContrato.valorTotalItem;
  1236 + });
1219 1237
1220 - valorTotalItens += $scope.contrato.ctrtItens.length > 0 ? $scope.itemContratoTemp.valorTotalItem : 0;  
1221 - if (valorTotalItens > $scope.contrato.valorContrato) {  
1222 - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_ITENS_SUPERIOR_VALOR_CONTRATADO'));  
1223 - return;  
1224 - } 1238 + valorTotalItens += $scope.contrato.ctrtItens.length > 0 ? $scope.itemContratoTemp.valorTotalItem : 0;
  1239 + if (valorTotalItens > $scope.contrato.valorContrato) {
  1240 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.VALOR_TOTAL_ITENS_SUPERIOR_VALOR_CONTRATADO'));
  1241 + return;
  1242 + }
1225 1243
1226 - if ($scope.contrato.ctrtItens){ 1244 + if ($scope.contrato.ctrtItens){
1227 1245
1228 - if ($scope.itemContratoTemp.$checked){ 1246 + if ($scope.itemContratoTemp.$checked){
1229 1247
1230 - for (var i = 0; i < $scope.contrato.ctrtItens.length; i++) { 1248 + for (var i = 0; i < $scope.contrato.ctrtItens.length; i++) {
1231 1249
1232 - if ($scope.contrato.ctrtItens[i].$checked) { 1250 + if ($scope.contrato.ctrtItens[i].$checked) {
1233 1251
1234 - $scope.contrato.ctrtItens[i] = $scope.itemContratoTemp;  
1235 - } 1252 + $scope.contrato.ctrtItens[i] = $scope.itemContratoTemp;
1236 } 1253 }
1237 - } else {  
1238 -  
1239 - $scope.contrato.ctrtItens.push($scope.itemContratoTemp);  
1240 } 1254 }
  1255 + } else {
  1256 +
  1257 + $scope.contrato.ctrtItens.push($scope.itemContratoTemp);
1241 } 1258 }
  1259 + }
1242 1260
1243 - $scope.itemContratoTemp = {};  
1244 - $scope.$modalInstance.dismiss('cancel'); 1261 + $scope.itemContratoTemp = {};
  1262 +
  1263 + if(continuarEditando){
  1264 + formDialogItemContrato.$submitted = false;
  1265 + formDialogItemContrato.$setPristine();
1245 } else { 1266 } else {
1246 -  
1247 - //Mensagem de erro de campos obrigatorios n�o preenchidos  
1248 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 1267 + $scope.atualizarListaSizeSelectItemContrato();
  1268 + $scope.$modalInstance.dismiss('cancel');
1249 } 1269 }
1250 }; 1270 };
1251 1271
@@ -1281,12 +1301,14 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1281,12 +1301,14 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1281 $scope.contrato.ctrtItens = $scope.contrato.ctrtItens.filter(function(itemContrato) { 1301 $scope.contrato.ctrtItens = $scope.contrato.ctrtItens.filter(function(itemContrato) {
1282 return itemContrato.$checked !== true; 1302 return itemContrato.$checked !== true;
1283 }); 1303 });
  1304 + $scope.atualizarListaSizeSelectItemContrato();
1284 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1305 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
1285 }); 1306 });
1286 } else { 1307 } else {
1287 $scope.contrato.ctrtItens = $scope.contrato.ctrtItens.filter(function(itemContrato) { 1308 $scope.contrato.ctrtItens = $scope.contrato.ctrtItens.filter(function(itemContrato) {
1288 return itemContrato.$checked !== true; 1309 return itemContrato.$checked !== true;
1289 }); 1310 });
  1311 + $scope.atualizarListaSizeSelectItemContrato();
1290 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1312 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
1291 } 1313 }
1292 } 1314 }
@@ -1321,6 +1343,8 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1321,6 +1343,8 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1321 $scope.acaoEmMassaItemContrato = false; 1343 $scope.acaoEmMassaItemContrato = false;
1322 $scope.selectedAllCtrtItens = false; 1344 $scope.selectedAllCtrtItens = false;
1323 } 1345 }
  1346 +
  1347 + $scope.atualizarListaSizeSelectItemContrato();
1324 }; 1348 };
1325 1349
1326 // Responsavel por abrir modal de item de contrato para edicao ou visualizacao do item selecionado 1350 // Responsavel por abrir modal de item de contrato para edicao ou visualizacao do item selecionado
@@ -1427,13 +1451,14 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1427,13 +1451,14 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1427 $scope.contratoEnvolvidoTemp = {justificativas : []}; 1451 $scope.contratoEnvolvidoTemp = {justificativas : []};
1428 $scope.justificativaTemp = {}; 1452 $scope.justificativaTemp = {};
1429 $scope.hasAlteracaoEnvolvido = false; 1453 $scope.hasAlteracaoEnvolvido = false;
  1454 + $scope.atualizarListaSizeSelectEnvolvido();
1430 if (continuarEditando) { 1455 if (continuarEditando) {
1431 formDialogEnvolvido.$submitted = false; 1456 formDialogEnvolvido.$submitted = false;
1432 formDialogEnvolvido.$setPristine(); 1457 formDialogEnvolvido.$setPristine();
1433 filtrarPapeisSelecionados(); 1458 filtrarPapeisSelecionados();
1434 - } else {  
1435 - $scope.$modalInstance.dismiss('cancel'); 1459 + return;
1436 } 1460 }
  1461 + $scope.$modalInstance.dismiss('cancel');
1437 }; 1462 };
1438 1463
1439 $scope.adicionarJustificativa = function (form) { 1464 $scope.adicionarJustificativa = function (form) {
@@ -1507,6 +1532,7 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1507,6 +1532,7 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1507 papelExcluido = contratoEnvolvido.dominioPapelEnvolvidoContrato; 1532 papelExcluido = contratoEnvolvido.dominioPapelEnvolvidoContrato;
1508 return contratoEnvolvido.$checked !== true; 1533 return contratoEnvolvido.$checked !== true;
1509 }); 1534 });
  1535 + $scope.atualizarListaSizeSelectEnvolvido();
1510 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1536 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
1511 }); 1537 });
1512 } else { 1538 } else {
@@ -1514,6 +1540,7 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1514,6 +1540,7 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1514 papelExcluido = contratoEnvolvido.dominioPapelEnvolvidoContrato; 1540 papelExcluido = contratoEnvolvido.dominioPapelEnvolvidoContrato;
1515 return contratoEnvolvido.$checked !== true; 1541 return contratoEnvolvido.$checked !== true;
1516 }); 1542 });
  1543 + $scope.atualizarListaSizeSelectEnvolvido();
1517 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1544 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
1518 } 1545 }
1519 1546
@@ -1550,6 +1577,7 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1550,6 +1577,7 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1550 $scope.acaoEmMassaEnvolvido = false; 1577 $scope.acaoEmMassaEnvolvido = false;
1551 $scope.selectedAllCtrtEnvolvidos = false; 1578 $scope.selectedAllCtrtEnvolvidos = false;
1552 } 1579 }
  1580 + $scope.atualizarListaSizeSelectEnvolvido();
1553 }; 1581 };
1554 1582
1555 // Responsavel por abrir modal de envolvido para edicao ou visualizacao do item selecionado 1583 // Responsavel por abrir modal de envolvido para edicao ou visualizacao do item selecionado
@@ -1597,5 +1625,39 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C @@ -1597,5 +1625,39 @@ citApp.controller(&#39;ContratoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUploader&#39;, &#39;C
1597 $scope.radioValueList = [{descricao : $translate.instant('LABEL.SIM'), valor : true}, 1625 $scope.radioValueList = [{descricao : $translate.instant('LABEL.SIM'), valor : true},
1598 {descricao : $translate.instant('LABEL.NAO'), valor : false}]; 1626 {descricao : $translate.instant('LABEL.NAO'), valor : false}];
1599 1627
  1628 + $scope.atualizarListaSizeSelect = function() {
  1629 + if(!$scope.listaSize){
  1630 + $scope.listaSize = 0;
  1631 + };
  1632 + var lista = $scope.contrato.ctrtEmpenhos.filter(function(empenho) {
  1633 + return empenho.$checked === true;
  1634 + });
  1635 + $scope.listaSize = lista.length;
  1636 + };
  1637 +
  1638 + $scope.atualizarListaSizeSelectItemContrato = function() {
  1639 + if(!$scope.listaSizeItemContrato){
  1640 + $scope.listaSizeItemContrato = 0;
  1641 + };
  1642 +
  1643 + var lista = $scope.contrato.ctrtItens.filter(function(itemContrato) {
  1644 + return itemContrato.$checked === true;
  1645 + });
  1646 +
  1647 + $scope.listaSizeItemContrato = lista.length;
  1648 + };
  1649 +
  1650 + $scope.atualizarListaSizeSelectEnvolvido = function() {
  1651 + if(!$scope.listaSizeEnvolvido){
  1652 + $scope.listaSizeEnvolvido = 0;
  1653 + };
  1654 +
  1655 + var lista = $scope.contrato.ctrtEnvolvidos.filter(function(envolvido) {
  1656 + return envolvido.$checked === true;
  1657 + });
  1658 +
  1659 + $scope.listaSizeEnvolvido = lista.length;
  1660 + };
  1661 +
1600 // ########################### FIM: STEP: INFORMACOES DE ENVOLVIDOS ####################### 1662 // ########################### FIM: STEP: INFORMACOES DE ENVOLVIDOS #######################
1601 }]); 1663 }]);
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EstudoTecnicoController.js
@@ -6,125 +6,138 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -6,125 +6,138 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
6 'EstudoTecnicoBemServicoSolucaoRepository', 'EstudoTecnicoAcaoContingenciaRepository', 'FileUploader', '$filter', 6 'EstudoTecnicoBemServicoSolucaoRepository', 'EstudoTecnicoAcaoContingenciaRepository', 'FileUploader', '$filter',
7 'EstudoTecnicoRecursoMaterialRepository', 'EstudoTecnicoRecursoHumanoRepository', 'EstudoTecnicoBeneficioEsperadoRepository', 'FuncaoRepository', 7 'EstudoTecnicoRecursoMaterialRepository', 'EstudoTecnicoRecursoHumanoRepository', 'EstudoTecnicoBeneficioEsperadoRepository', 'FuncaoRepository',
8 function EstudoTecnicoController($scope, EstudoTecnicoRepository, PessoaRepository, $timeout, $translate, ObjetivoEstrategicoRepository, 8 function EstudoTecnicoController($scope, EstudoTecnicoRepository, PessoaRepository, $timeout, $translate, ObjetivoEstrategicoRepository,
9 - ObjetivoEstrategicoNecessidadeRepository, EstudoTecnicoRequisitoNegocioRepository, ParceiroRepository, QuestionarioRepository,  
10 - EstudoTecnicoLevantamentoAlternativasRepository, EstudoTecnicoQuestionarioRespostaRepository, QuestionarioPerguntaRepository,  
11 - EstudoTecnicoBemServicoSolucaoRepository, EstudoTecnicoAcaoContingenciaRepository, FileUploader, $filter,  
12 - EstudoTecnicoRecursoMaterialRepository, EstudoTecnicoRecursoHumanoRepository, EstudoTecnicoBeneficioEsperadoRepository, FuncaoRepository) {  
13 -  
14 - $scope.edit = true;  
15 - $scope.estudoTecnico = {  
16 - etRecursosMateriais : [],  
17 - etRecursosHumanos : []  
18 - };  
19 - $scope.reqNegocio = {};  
20 - $scope.beneficioEsperado = {};  
21 - $scope.estudoTecnicoRecursoMaterialTemp = {};  
22 - $scope.estudoTecnicoRecursoHumanoTemp = {};  
23 - $scope.listaRequisitoTecSelecao = [];  
24 - $scope.listaAlternativa = [];  
25 - $scope.listaServicoSolucao = [];  
26 - $scope.listaBeneficio = [];  
27 - $scope.listaRecursoMateriais = [];  
28 - $scope.listaRecursoHumanos = [];  
29 - $scope.listaAcoesContigencia = [];  
30 -  
31 - $scope.uploader = new FileUploader({ 9 + ObjetivoEstrategicoNecessidadeRepository, EstudoTecnicoRequisitoNegocioRepository, ParceiroRepository, QuestionarioRepository,
  10 + EstudoTecnicoLevantamentoAlternativasRepository, EstudoTecnicoQuestionarioRespostaRepository, QuestionarioPerguntaRepository,
  11 + EstudoTecnicoBemServicoSolucaoRepository, EstudoTecnicoAcaoContingenciaRepository, FileUploader, $filter,
  12 + EstudoTecnicoRecursoMaterialRepository, EstudoTecnicoRecursoHumanoRepository, EstudoTecnicoBeneficioEsperadoRepository, FuncaoRepository) {
  13 +
  14 + $scope.edit = true;
  15 + $scope.estudoTecnico = {
  16 + etRecursosMateriais : [],
  17 + etRecursosHumanos : []
  18 + };
  19 + $scope.reqNegocio = {};
  20 + $scope.beneficioEsperado = {};
  21 + $scope.estudoTecnicoRecursoMaterialTemp = {};
  22 + $scope.estudoTecnicoRecursoHumanoTemp = {};
  23 + $scope.listaRequisitoTecSelecao = [];
  24 + $scope.listaAlternativa = [];
  25 + $scope.listaServicoSolucao = [];
  26 + $scope.listaBeneficio = [];
  27 + $scope.listaRecursoMateriais = [];
  28 + $scope.listaRecursoHumanos = [];
  29 + $scope.listaAcoesContigencia = [];
  30 +
  31 + $scope.uploader = new FileUploader({
32 autoUpload: false, 32 autoUpload: false,
33 queueLimit: 1, 33 queueLimit: 1,
34 url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento=' 34 url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento='
35 }); 35 });
36 36
37 - $scope.findIntegrante = function(value) {  
38 - return PessoaRepository.findColaboradorPorNomeAndOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) {  
39 - return result;  
40 - });  
41 - }; 37 + $scope.findIntegrante = function(value) {
  38 + return PessoaRepository.findColaboradorPorNomeAndOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) {
  39 + return result;
  40 + });
  41 + };
42 42
43 - $scope.findOrgaoExterno = function(value) {  
44 - return ParceiroRepository.findParceiros('tipoParceiro', ['ORGAO_EXTERNO'] , value).then(function(result) {  
45 - return result;  
46 - });  
47 - }; 43 + $scope.findOrgaoExterno = function(value) {
  44 + return ParceiroRepository.findParceiros('tipoParceiro', ['ORGAO_EXTERNO'] , value).then(function(result) {
  45 + return result;
  46 + });
  47 + };
48 48
49 - $scope.findFornecedor = function(value) { 49 + $scope.findFornecedor = function(value) {
50 return ParceiroRepository.findParceiros('tipoParceiro', ['FORNECEDOR'], value).then(function(result) { 50 return ParceiroRepository.findParceiros('tipoParceiro', ['FORNECEDOR'], value).then(function(result) {
51 return result; 51 return result;
52 }); 52 });
53 }; 53 };
54 54
55 $scope.findResponsavel = function(value) { 55 $scope.findResponsavel = function(value) {
56 - return FuncaoRepository.findFuncaoPorOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) {  
57 - return result;  
58 - });  
59 - }; 56 + return FuncaoRepository.findFuncaoPorOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) {
  57 + return result;
  58 + });
  59 + };
60 60
61 QuestionarioRepository.findAllByDominioTipoQuestionario({codigo : 2}).then(function(result) { 61 QuestionarioRepository.findAllByDominioTipoQuestionario({codigo : 2}).then(function(result) {
62 - if (result.length > 0) {  
63 - $scope.questionarioTemplate = result[0].originalElement;  
64 - }  
65 - if (!$scope.questionarioTemplate) {  
66 - QuestionarioRepository.createQuestionarioPadrao().then(function(resultCreate) {  
67 - $scope.questionarioTemplate = resultCreate;  
68 - $scope.preparaQuestTemplate();  
69 - });  
70 - } else {  
71 - $scope.preparaQuestTemplate();  
72 - } 62 + if (result.length > 0) {
  63 + $scope.questionarioTemplate = result[0].originalElement;
  64 + }
  65 + if (!$scope.questionarioTemplate) {
  66 + QuestionarioRepository.createQuestionarioPadrao().then(function(resultCreate) {
  67 + $scope.questionarioTemplate = resultCreate;
  68 + $scope.preparaQuestTemplate();
  69 + });
  70 + } else {
  71 + $scope.preparaQuestTemplate();
  72 + }
73 }); 73 });
74 74
75 $scope.preparaQuestTemplate = function() { 75 $scope.preparaQuestTemplate = function() {
76 - var questoes = [];  
77 - for (var i = 0; i < $scope.questionarioTemplate.questoes.length; i++) {  
78 - var questao = {  
79 - questao : $scope.questionarioTemplate.questoes[i].questao,  
80 - dominioTipoResposta : {id : $scope.questionarioTemplate.questoes[i].dominioTipoResposta.id},  
81 - respostasEscolha : []  
82 - };  
83 -  
84 - for (var j = 0; j < $scope.questionarioTemplate.questoes[i].respostasEscolha.length; j++) {  
85 - questao.respostasEscolha.push({resposta : $scope.questionarioTemplate.questoes[i].respostasEscolha[j].resposta});  
86 - }  
87 - questoes.push(questao);  
88 - }  
89 - $scope.questionarioTemplate.questoes = questoes;  
90 -  
91 - $scope.questaoTemplate = angular.copy($scope.questionarioTemplate.questoes[0]);  
92 - delete $scope.questaoTemplate.questao; 76 + var questoes = [];
  77 + for (var i = 0; i < $scope.questionarioTemplate.questoes.length; i++) {
  78 + var questao = {
  79 + questao : $scope.questionarioTemplate.questoes[i].questao,
  80 + dominioTipoResposta : {id : $scope.questionarioTemplate.questoes[i].dominioTipoResposta.id},
  81 + respostasEscolha : []
  82 + };
  83 +
  84 + for (var j = 0; j < $scope.questionarioTemplate.questoes[i].respostasEscolha.length; j++) {
  85 + questao.respostasEscolha.push({resposta : $scope.questionarioTemplate.questoes[i].respostasEscolha[j].resposta});
  86 + }
  87 + questoes.push(questao);
  88 + }
  89 + $scope.questionarioTemplate.questoes = questoes;
  90 +
  91 + $scope.questaoTemplate = angular.copy($scope.questionarioTemplate.questoes[0]);
  92 + delete $scope.questaoTemplate.questao;
93 93
94 $scope.qntDefaultQuest = angular.copy(questoes.length); 94 $scope.qntDefaultQuest = angular.copy(questoes.length);
95 }; 95 };
96 96
97 - // limpa o formulario 97 + // limpa o formulario
98 $scope.resetForm = function() { 98 $scope.resetForm = function() {
99 - $scope.edit = true;  
100 - $scope.estudoTecnico = {  
101 - etRecursosMateriais : [],  
102 - etRecursosHumanos : []  
103 - };  
104 - $scope.reqNegocio = {};  
105 - $scope.beneficioEsperado = {}; 99 +
  100 + $scope.estudoTecnico = {
  101 + etRecursosMateriais : [],
  102 + etRecursosHumanos : []
  103 + };
  104 +
  105 + $scope.edit = true;
  106 + $scope.reqNegocio = {};
  107 + $scope.beneficioEsperado = {};
106 $scope.estudoTecnicoRecursoMaterialTemp = {}; 108 $scope.estudoTecnicoRecursoMaterialTemp = {};
107 $scope.estudoTecnicoRecursoHumanoTemp = {}; 109 $scope.estudoTecnicoRecursoHumanoTemp = {};
108 $scope.acaoEmMassaRecursosMateriais = false; 110 $scope.acaoEmMassaRecursosMateriais = false;
109 $scope.acaoEmMassaRecursosHumanos = false; 111 $scope.acaoEmMassaRecursosHumanos = false;
110 - $scope.setCurrentStep(0);  
111 -  
112 - $timeout(function() {  
113 - $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = false;  
114 - $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = false;  
115 - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = false;  
116 - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = false;  
117 - $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = false;  
118 - $scope.estudoTecnicoForm.planejamentoContratacaoForm.$setPristine();  
119 - $scope.estudoTecnicoForm.definicaoRequisitosForm.$setPristine();  
120 - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$setPristine();  
121 - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$setPristine();  
122 - $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$setPristine();  
123 - }); 112 +
  113 + $scope.workspace.objetoScope = $scope.estudoTecnico;
  114 + $scope.startTimerIntervalSaveDraft($scope.workspace, true);
  115 +
  116 + $scope.setCurrentStep(0);
  117 + $scope.atualizarListaSizeSelectReqNegocio();
  118 + $scope.atualizarListaSizeSelectSolucao();
  119 + $scope.atualizarListaSizeSelectServicoSolucao();
  120 + $scope.atualizarListaSizeSelectBeneficio();
  121 + $scope.atualizarListaSizeSelectRecursoMaterial();
  122 + $scope.atualizarListaSizeSelectRecursoHumano();
  123 + $scope.atualizarListaSizeSelectAcaoContigencia();
  124 + $timeout(function() {
  125 + $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = false;
  126 + $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = false;
  127 + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = false;
  128 + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = false;
  129 + $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = false;
  130 +
  131 + $scope.estudoTecnicoForm.planejamentoContratacaoForm.$setPristine();
  132 + $scope.estudoTecnicoForm.definicaoRequisitosForm.$setPristine();
  133 + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$setPristine();
  134 + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$setPristine();
  135 + $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$setPristine();
  136 + });
124 }; 137 };
125 138
126 $scope.visualizarEditar = function(idEstudoTecnico, edit) { 139 $scope.visualizarEditar = function(idEstudoTecnico, edit) {
127 - $scope.resetForm(); 140 + $scope.resetForm();
128 $scope.setLoadingGet(true); 141 $scope.setLoadingGet(true);
129 142
130 EstudoTecnicoRepository.get(idEstudoTecnico).then(function(result) { 143 EstudoTecnicoRepository.get(idEstudoTecnico).then(function(result) {
@@ -133,6 +146,14 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -133,6 +146,14 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
133 146
134 $scope.edit = edit; 147 $scope.edit = edit;
135 148
  149 + $scope.atualizarListaSizeSelectReqNegocio();
  150 + $scope.atualizarListaSizeSelectSolucao();
  151 + $scope.atualizarListaSizeSelectServicoSolucao();
  152 + $scope.atualizarListaSizeSelectBeneficio();
  153 + $scope.atualizarListaSizeSelectRecursoMaterial();
  154 + $scope.atualizarListaSizeSelectRecursoHumano();
  155 + $scope.atualizarListaSizeSelectAcaoContigencia();
  156 +
136 $scope.setCurrentStep(0); 157 $scope.setCurrentStep(0);
137 158
138 $scope.setLoading(false); 159 $scope.setLoading(false);
@@ -169,7 +190,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -169,7 +190,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
169 // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento 190 // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento
170 angular.forEach($scope.estudoTecnico.documentos, function(documento, key) { 191 angular.forEach($scope.estudoTecnico.documentos, function(documento, key) {
171 if (documento.uploadsDocumento) { 192 if (documento.uploadsDocumento) {
172 - estudoTecnicoTemp.documentos.push({ 193 + estudoTecnicoTemp.documentos.push({
173 uploadsDocumento: clone(documento.uploadsDocumento), 194 uploadsDocumento: clone(documento.uploadsDocumento),
174 numero: clone(documento.numero) 195 numero: clone(documento.numero)
175 }); 196 });
@@ -194,21 +215,21 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -194,21 +215,21 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
194 } 215 }
195 }; 216 };
196 217
197 - // realiza a exclusão da EstudoTecnico  
198 - $scope.excluirEstudoTecnico = function(){  
199 - var workspace = this.item;  
200 - $scope.$modalConfirmInstance.dismiss('cancel');  
201 - EstudoTecnicoRepository.remove($scope.estudoTecnico).then(function(result) {  
202 - $scope.uploader.clearQueue();  
203 - $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO'));  
204 - $scope.$showPageSearchWorkspace(workspace);  
205 - $scope.atualizarLista('EstudoTecnicoListControllerId'); 218 + // realiza a exclusão da EstudoTecnico
  219 + $scope.excluirEstudoTecnico = function(){
  220 + var workspace = this.item;
  221 + $scope.$modalConfirmInstance.dismiss('cancel');
  222 + EstudoTecnicoRepository.remove($scope.estudoTecnico).then(function(result) {
  223 + $scope.uploader.clearQueue();
  224 + $scope.showAlert('success', $translate.instant('MSG.REGISTRO_EXCLUIDO'));
  225 + $scope.$showPageSearchWorkspace(workspace);
  226 + $scope.atualizarLista('EstudoTecnicoListControllerId');
206 }); 227 });
207 - }; 228 + };
208 229
209 // prepara a exclusao do estudo técnico abrindo o modal de confirmacao 230 // prepara a exclusao do estudo técnico abrindo o modal de confirmacao
210 $scope.remove = function(workspace) { 231 $scope.remove = function(workspace) {
211 - $scope.$openModalConfirm({message: $translate.instant('MSG.EXCLUIR_ESTUDO_TECNICO'), callback: $scope.excluirEstudoTecnico, item: workspace}); 232 + $scope.$openModalConfirm({message: $translate.instant('MSG.EXCLUIR_ESTUDO_TECNICO'), callback: $scope.excluirEstudoTecnico, item: workspace});
212 }; 233 };
213 234
214 // 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 235 // 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
@@ -246,154 +267,161 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -246,154 +267,161 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
246 }; 267 };
247 268
248 // Seleciona todos os requisitos de negocio na lista 269 // Seleciona todos os requisitos de negocio na lista
249 - $scope.checkAllReqNegocio = function(value) {  
250 - $scope.listaRequisitoTecSelecao = [];  
251 - angular.forEach($scope.estudoTecnico.etRequisitosNegocio, function (item) {  
252 - item.$checked = value;  
253 - $scope.listaRequisitoTecSelecao.push(item); 270 + $scope.checkAllReqNegocio = function(value) {
  271 + $scope.listaRequisitoTecSelecao = [];
  272 + angular.forEach($scope.estudoTecnico.etRequisitosNegocio, function (item) {
  273 + item.$checked = value;
  274 + $scope.listaRequisitoTecSelecao.push(item);
254 }); 275 });
255 if(!value){ 276 if(!value){
256 $scope.listaRequisitoTecSelecao = []; 277 $scope.listaRequisitoTecSelecao = [];
257 } 278 }
  279 + $scope.atualizarListaSizeSelectReqNegocio();
258 }; 280 };
259 281
260 - $scope.checkReqNegocio = function(item){  
261 - if(item.$checked){  
262 - $scope.listaRequisitoTecSelecao.push(item);  
263 - }else{  
264 - $scope.listaRequisitoTecSelecao.splice($scope.listaRequisitoTecSelecao.indexOf(item), 1);  
265 - }  
266 -  
267 - };  
268 -  
269 - // Seleciona todas as alternativas na lista de solução  
270 - $scope.checkAllAlternativa = function(value) {  
271 - $scope.listaAlternativa = [];  
272 - angular.forEach($scope.estudoTecnico.etLevantamentoAlternativas, function (item) {  
273 - item.$checked = value;  
274 - $scope.listaAlternativa.push(item); 282 + $scope.checkReqNegocio = function(item){
  283 + if(item.$checked){
  284 + $scope.listaRequisitoTecSelecao.push(item);
  285 + }else{
  286 + $scope.listaRequisitoTecSelecao.splice($scope.listaRequisitoTecSelecao.indexOf(item), 1);
  287 + }
  288 +
  289 + };
  290 +
  291 + // Seleciona todas as alternativas na lista de solução
  292 + $scope.checkAllAlternativa = function(value) {
  293 + $scope.listaAlternativa = [];
  294 + angular.forEach($scope.estudoTecnico.etLevantamentoAlternativas, function (item) {
  295 + item.$checked = value;
  296 + $scope.listaAlternativa.push(item);
275 }); 297 });
276 if(!value){ 298 if(!value){
277 $scope.listaAlternativa = []; 299 $scope.listaAlternativa = [];
278 } 300 }
  301 + $scope.atualizarListaSizeSelectSolucao();
279 }; 302 };
280 303
281 - $scope.checkAlternativa = function(item){  
282 - if(item.$checked){  
283 - $scope.listaAlternativa.push(item);  
284 - }else{  
285 - $scope.listaAlternativa.splice($scope.listaAlternativa.indexOf(item), 1);  
286 - } 304 + $scope.checkAlternativa = function(item){
  305 + if(item.$checked){
  306 + $scope.listaAlternativa.push(item);
  307 + }else{
  308 + $scope.listaAlternativa.splice($scope.listaAlternativa.indexOf(item), 1);
  309 + }
287 310
288 - }; 311 + };
289 312
290 $scope.checkAllBensServicos = function(value) { 313 $scope.checkAllBensServicos = function(value) {
291 - $scope.listaServicoSolucao = [];  
292 - angular.forEach($scope.estudoTecnico.etBensServicosSolucoes, function (item) {  
293 - item.$checked = value;  
294 - $scope.listaServicoSolucao.push(item); 314 + $scope.listaServicoSolucao = [];
  315 + angular.forEach($scope.estudoTecnico.etBensServicosSolucoes, function (item) {
  316 + item.$checked = value;
  317 + $scope.listaServicoSolucao.push(item);
295 }); 318 });
296 - if(!value){  
297 - $scope.listaServicoSolucao = [];  
298 - } 319 + if(!value){
  320 + $scope.listaServicoSolucao = [];
  321 + }
  322 + $scope.atualizarListaSizeSelectServicoSolucao();
299 }; 323 };
300 324
301 - $scope.checkBemServico = function(item){  
302 - if(item.$checked){  
303 - $scope.listaServicoSolucao.push(item);  
304 - }else{  
305 - $scope.listaServicoSolucao.splice($scope.listaServicoSolucao.indexOf(item), 1);  
306 - }  
307 - }; 325 + $scope.checkBemServico = function(item){
  326 + if(item.$checked){
  327 + $scope.listaServicoSolucao.push(item);
  328 + }else{
  329 + $scope.listaServicoSolucao.splice($scope.listaServicoSolucao.indexOf(item), 1);
  330 + }
  331 + };
308 332
309 // marca benefício esperado 333 // marca benefício esperado
310 $scope.checkAllBeneficios = function(value) { 334 $scope.checkAllBeneficios = function(value) {
311 - $scope.listaBeneficio = [];  
312 - angular.forEach($scope.estudoTecnico.etBeneficiosEsperados, function (item) {  
313 - item.$checked = value;  
314 - $scope.listaBeneficio.push(item); 335 + $scope.listaBeneficio = [];
  336 + angular.forEach($scope.estudoTecnico.etBeneficiosEsperados, function (item) {
  337 + item.$checked = value;
  338 + $scope.listaBeneficio.push(item);
315 }); 339 });
316 - if(!value){  
317 - $scope.listaBeneficio = [];  
318 - } 340 + if(!value){
  341 + $scope.listaBeneficio = [];
  342 + }
  343 + $scope.atualizarListaSizeSelectBeneficio();
319 }; 344 };
320 345
321 - $scope.checkBeneficio = function(item){  
322 - if(item.$checked){  
323 - $scope.listaBeneficio.push(item);  
324 - }else{  
325 - $scope.listaBeneficio.splice($scope.listaBeneficio.indexOf(item), 1);  
326 - }  
327 - }; 346 + $scope.checkBeneficio = function(item){
  347 + if(item.$checked){
  348 + $scope.listaBeneficio.push(item);
  349 + }else{
  350 + $scope.listaBeneficio.splice($scope.listaBeneficio.indexOf(item), 1);
  351 + }
  352 + };
328 353
329 // responsavel por definir se as acoes em massa estaram disponiveis 354 // responsavel por definir se as acoes em massa estaram disponiveis
330 $scope.checkAllRecursosMateriais = function (value){ 355 $scope.checkAllRecursosMateriais = function (value){
331 - $scope.listaRecursoMateriais = [];  
332 - angular.forEach($scope.estudoTecnico.etRecursosMateriais, function (item) {  
333 - item.$checked = value;  
334 - $scope.listaRecursoMateriais.push(item); 356 + $scope.listaRecursoMateriais = [];
  357 + angular.forEach($scope.estudoTecnico.etRecursosMateriais, function (item) {
  358 + item.$checked = value;
  359 + $scope.listaRecursoMateriais.push(item);
335 }); 360 });
336 - if(!value){  
337 - $scope.listaRecursoMateriais = [];  
338 - } 361 + if(!value){
  362 + $scope.listaRecursoMateriais = [];
  363 + }
  364 + $scope.atualizarListaSizeSelectRecursoMaterial();
339 }; 365 };
340 366
341 - $scope.checkRecursoMaterial = function(item){  
342 - if(item.$checked){  
343 - $scope.listaRecursoMateriais.push(item);  
344 - }else{  
345 - $scope.listaRecursoMateriais.splice($scope.listaRecursoMateriais.indexOf(item), 1);  
346 - }  
347 - }; 367 + $scope.checkRecursoMaterial = function(item){
  368 + if(item.$checked){
  369 + $scope.listaRecursoMateriais.push(item);
  370 + }else{
  371 + $scope.listaRecursoMateriais.splice($scope.listaRecursoMateriais.indexOf(item), 1);
  372 + }
  373 + };
348 374
349 // responsavel por definir se as acoes em massa estaram disponiveis 375 // responsavel por definir se as acoes em massa estaram disponiveis
350 $scope.checkAllRecursosHumanos = function (value){ 376 $scope.checkAllRecursosHumanos = function (value){
351 - $scope.listaRecursoHumanos = [];  
352 - angular.forEach($scope.estudoTecnico.etRecursosHumanos, function (item) {  
353 - item.$checked = value;  
354 - $scope.listaRecursoHumanos.push(item); 377 + $scope.listaRecursoHumanos = [];
  378 + angular.forEach($scope.estudoTecnico.etRecursosHumanos, function (item) {
  379 + item.$checked = value;
  380 + $scope.listaRecursoHumanos.push(item);
355 }); 381 });
356 - if(!value){  
357 - $scope.listaRecursoHumanos = [];  
358 - } 382 + if(!value){
  383 + $scope.listaRecursoHumanos = [];
  384 + }
  385 + $scope.atualizarListaSizeSelectRecursoHumano();
359 }; 386 };
360 387
361 - $scope.checkRecursoHumano = function(item){  
362 - if(item.$checked){  
363 - $scope.listaRecursoHumanos.push(item);  
364 - }else{  
365 - $scope.listaRecursoHumanos.splice($scope.listaRecursoHumanos.indexOf(item), 1);  
366 - }  
367 - }; 388 + $scope.checkRecursoHumano = function(item){
  389 + if(item.$checked){
  390 + $scope.listaRecursoHumanos.push(item);
  391 + }else{
  392 + $scope.listaRecursoHumanos.splice($scope.listaRecursoHumanos.indexOf(item), 1);
  393 + }
  394 + };
368 395
369 $scope.checkAllAcoes = function(value) { 396 $scope.checkAllAcoes = function(value) {
370 - $scope.listaAcoesContigencia = [];  
371 - angular.forEach($scope.estudoTecnico.etAcoesContingencia, function (item) {  
372 - item.$checked = value;  
373 - $scope.listaAcoesContigencia.push(item); 397 + $scope.listaAcoesContigencia = [];
  398 + angular.forEach($scope.estudoTecnico.etAcoesContingencia, function (item) {
  399 + item.$checked = value;
  400 + $scope.listaAcoesContigencia.push(item);
374 }); 401 });
375 - if(!value){  
376 - $scope.listaAcoesContigencia = [];  
377 - } 402 + if(!value){
  403 + $scope.listaAcoesContigencia = [];
  404 + }
  405 + $scope.atualizarListaSizeSelectAcaoContigencia();
378 }; 406 };
379 407
380 - $scope.checkAcaoContigencia = function(item){  
381 - if(item.$checked){  
382 - $scope.listaAcoesContigencia.push(item);  
383 - }else{  
384 - $scope.listaAcoesContigencia.splice($scope.listaAcoesContigencia.indexOf(item), 1);  
385 - }  
386 - }; 408 + $scope.checkAcaoContigencia = function(item){
  409 + if(item.$checked){
  410 + $scope.listaAcoesContigencia.push(item);
  411 + }else{
  412 + $scope.listaAcoesContigencia.splice($scope.listaAcoesContigencia.indexOf(item), 1);
  413 + }
  414 + };
387 415
388 // recupera requisito de negocio selecionado 416 // recupera requisito de negocio selecionado
389 $scope.getReqNegocioChecked = function() { 417 $scope.getReqNegocioChecked = function() {
390 var reqNegocioChecked = []; 418 var reqNegocioChecked = [];
391 419
392 if ($scope.estudoTecnico.etRequisitosNegocio) { 420 if ($scope.estudoTecnico.etRequisitosNegocio) {
393 - for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) {  
394 - if ($scope.estudoTecnico.etRequisitosNegocio[i].$checked) {  
395 - reqNegocioChecked.push(angular.copy($scope.estudoTecnico.etRequisitosNegocio[i]));  
396 - } 421 + for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) {
  422 + if ($scope.estudoTecnico.etRequisitosNegocio[i].$checked) {
  423 + reqNegocioChecked.push(angular.copy($scope.estudoTecnico.etRequisitosNegocio[i]));
  424 + }
397 } 425 }
398 } 426 }
399 427
@@ -405,10 +433,10 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -405,10 +433,10 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
405 var solucaoChecked = []; 433 var solucaoChecked = [];
406 434
407 if ($scope.estudoTecnico.etLevantamentoAlternativas) { 435 if ($scope.estudoTecnico.etLevantamentoAlternativas) {
408 - for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) {  
409 - if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) {  
410 - solucaoChecked.push(angular.copy($scope.estudoTecnico.etLevantamentoAlternativas[i]));  
411 - } 436 + for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) {
  437 + if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) {
  438 + solucaoChecked.push(angular.copy($scope.estudoTecnico.etLevantamentoAlternativas[i]));
  439 + }
412 } 440 }
413 } 441 }
414 442
@@ -420,10 +448,10 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -420,10 +448,10 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
420 var bemServicoChecked = []; 448 var bemServicoChecked = [];
421 449
422 if ($scope.estudoTecnico.etBensServicosSolucoes) { 450 if ($scope.estudoTecnico.etBensServicosSolucoes) {
423 - for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) {  
424 - if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) {  
425 - bemServicoChecked.push(angular.copy($scope.estudoTecnico.etBensServicosSolucoes[i]));  
426 - } 451 + for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) {
  452 + if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) {
  453 + bemServicoChecked.push(angular.copy($scope.estudoTecnico.etBensServicosSolucoes[i]));
  454 + }
427 } 455 }
428 } 456 }
429 457
@@ -435,10 +463,10 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -435,10 +463,10 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
435 var beneficioEsperadoChecked = []; 463 var beneficioEsperadoChecked = [];
436 464
437 if ($scope.estudoTecnico.etBeneficiosEsperados) { 465 if ($scope.estudoTecnico.etBeneficiosEsperados) {
438 - for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) {  
439 - if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) {  
440 - beneficioEsperadoChecked.push(angular.copy($scope.estudoTecnico.etBeneficiosEsperados[i]));  
441 - } 466 + for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) {
  467 + if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) {
  468 + beneficioEsperadoChecked.push(angular.copy($scope.estudoTecnico.etBeneficiosEsperados[i]));
  469 + }
442 } 470 }
443 } 471 }
444 472
@@ -448,13 +476,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -448,13 +476,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
448 // Responsavel por retornar o recurso material selecionado 476 // Responsavel por retornar o recurso material selecionado
449 $scope.getRecursoMaterialChecked = function() { 477 $scope.getRecursoMaterialChecked = function() {
450 478
451 - var recursoMaterialChecked = []; 479 + var recursoMaterialChecked = [];
452 480
453 - if ($scope.estudoTecnico.etRecursosMateriais) {  
454 - for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) {  
455 - if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) {  
456 - recursoMaterialChecked.push(angular.copy($scope.estudoTecnico.etRecursosMateriais[i]));  
457 - } 481 + if ($scope.estudoTecnico.etRecursosMateriais) {
  482 + for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) {
  483 + if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) {
  484 + recursoMaterialChecked.push(angular.copy($scope.estudoTecnico.etRecursosMateriais[i]));
  485 + }
458 } 486 }
459 } 487 }
460 return recursoMaterialChecked; 488 return recursoMaterialChecked;
@@ -463,13 +491,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -463,13 +491,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
463 // Responsavel por retornar o recurso humano selecionado 491 // Responsavel por retornar o recurso humano selecionado
464 $scope.getRecursoHumanoChecked = function() { 492 $scope.getRecursoHumanoChecked = function() {
465 493
466 - var recursoHumanoChecked = []; 494 + var recursoHumanoChecked = [];
467 495
468 - if ($scope.estudoTecnico.etRecursosHumanos) {  
469 - for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) {  
470 - if ($scope.estudoTecnico.etRecursosHumanos[i].$checked) {  
471 - recursoHumanoChecked.push(angular.copy($scope.estudoTecnico.etRecursosHumanos[i]));  
472 - } 496 + if ($scope.estudoTecnico.etRecursosHumanos) {
  497 + for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) {
  498 + if ($scope.estudoTecnico.etRecursosHumanos[i].$checked) {
  499 + recursoHumanoChecked.push(angular.copy($scope.estudoTecnico.etRecursosHumanos[i]));
  500 + }
473 } 501 }
474 } 502 }
475 503
@@ -478,13 +506,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -478,13 +506,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
478 506
479 // recupera a ação de contingencia selecionada 507 // recupera a ação de contingencia selecionada
480 $scope.getAcaoContChecked = function() { 508 $scope.getAcaoContChecked = function() {
481 - var acaoContChecked = []; 509 + var acaoContChecked = [];
482 510
483 - if ($scope.estudoTecnico.etAcoesContingencia) {  
484 - for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) {  
485 - if ($scope.estudoTecnico.etAcoesContingencia[i].$checked) {  
486 - acaoContChecked.push(angular.copy($scope.estudoTecnico.etAcoesContingencia[i]));  
487 - } 511 + if ($scope.estudoTecnico.etAcoesContingencia) {
  512 + for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) {
  513 + if ($scope.estudoTecnico.etAcoesContingencia[i].$checked) {
  514 + acaoContChecked.push(angular.copy($scope.estudoTecnico.etAcoesContingencia[i]));
  515 + }
488 } 516 }
489 } 517 }
490 518
@@ -493,7 +521,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -493,7 +521,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
493 521
494 $scope.openModalRequisitoNegocio = function() { 522 $scope.openModalRequisitoNegocio = function() {
495 523
496 - ObjetivoEstrategicoRepository.findAllByOrganizacao().then(function(result) { 524 + ObjetivoEstrategicoRepository.findAllByOrganizacao().then(function(result) {
497 $scope.objetivosEstrategicos = result; 525 $scope.objetivosEstrategicos = result;
498 }); 526 });
499 527
@@ -502,33 +530,37 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -502,33 +530,37 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
502 $scope.reqNegocio = {}; 530 $scope.reqNegocio = {};
503 531
504 $timeout(function() { 532 $timeout(function() {
505 - $scope.$openModal('modal-requisito-negocio.html', 'lg'); 533 + $scope.$openModal('modal-requisito-negocio.html', 'lg');
506 }); 534 });
507 }; 535 };
508 -  
509 - $scope.openModalSolucao = function() {  
510 - $scope.editSolucao = true;  
511 -  
512 - $scope.solucao = {  
513 - etlaQuestionario : {} 536 +
  537 + function resetModalSolucao(){
  538 + $scope.solucao = {
  539 + etlaQuestionario : {}
514 }; 540 };
515 541
516 $scope.solucao.etlaQuestionario.etQuestionarioRespostas = []; 542 $scope.solucao.etlaQuestionario.etQuestionarioRespostas = [];
517 543
518 for (var i = 0; i < $scope.qntDefaultQuest; i++) { 544 for (var i = 0; i < $scope.qntDefaultQuest; i++) {
519 - var questPergunta = {  
520 - questionarioPergunta : $scope.questionarioTemplate.questoes[i],  
521 - index : i+1  
522 - };  
523 - $scope.solucao.etlaQuestionario.etQuestionarioRespostas.push(questPergunta); 545 + var questPergunta = {
  546 + questionarioPergunta : $scope.questionarioTemplate.questoes[i],
  547 + index : i+1
  548 + };
  549 + $scope.solucao.etlaQuestionario.etQuestionarioRespostas.push(questPergunta);
524 } 550 }
525 551
526 $scope.solucao.etlaQuestionario.etQuestionario = { 552 $scope.solucao.etlaQuestionario.etQuestionario = {
527 - nome : $scope.questionarioTemplate.nome 553 + nome : $scope.questionarioTemplate.nome
528 }; 554 };
  555 + }
  556 +
  557 + $scope.openModalSolucao = function() {
  558 + $scope.editSolucao = true;
  559 +
  560 + resetModalSolucao();
529 561
530 $timeout(function() { 562 $timeout(function() {
531 - $scope.$openModal('modal-solucao.html', 'lg'); 563 + $scope.$openModal('modal-solucao.html', 'lg');
532 }); 564 });
533 }; 565 };
534 566
@@ -538,7 +570,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -538,7 +570,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
538 $scope.bemServico = {}; 570 $scope.bemServico = {};
539 571
540 $timeout(function() { 572 $timeout(function() {
541 - $scope.$openModal('modal-bem-servico.html', 'lg'); 573 + $scope.$openModal('modal-bem-servico.html', 'lg');
542 }); 574 });
543 }; 575 };
544 576
@@ -549,42 +581,42 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -549,42 +581,42 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
549 $scope.beneficioEsperado = {}; 581 $scope.beneficioEsperado = {};
550 582
551 $timeout(function() { 583 $timeout(function() {
552 - $scope.$openModal('modal-beneficio-esperado.html', 'lg'); 584 + $scope.$openModal('modal-beneficio-esperado.html', 'lg');
553 }); 585 });
554 }; 586 };
555 587
556 // responsavel por abrir modal de adicao de um recurso material 588 // responsavel por abrir modal de adicao de um recurso material
557 $scope.openModalRecursoMaterial = function() { 589 $scope.openModalRecursoMaterial = function() {
558 590
559 - $scope.estudoTecnicoRecursoMaterialTemp = {  
560 - disponivel : true  
561 - }; 591 + $scope.estudoTecnicoRecursoMaterialTemp = {
  592 + disponivel : true
  593 + };
562 594
563 - $scope.editRecursoMaterial = true;  
564 - $scope.$openModal('modal-recurso-material.html', 'lg');  
565 - }; 595 + $scope.editRecursoMaterial = true;
  596 + $scope.$openModal('modal-recurso-material.html', 'lg');
  597 + };
566 598
567 // Responsavel por abrir modal de adicao de um recurso humano 599 // Responsavel por abrir modal de adicao de um recurso humano
568 $scope.openModalRecursoHumano = function() { 600 $scope.openModalRecursoHumano = function() {
569 601
570 - $scope.estudoTecnicoRecursoHumanoTemp = {};  
571 - $scope.editRecursoHumano = true;  
572 - $scope.$openModal('modal-recurso-humano.html', 'lg');  
573 - }; 602 + $scope.estudoTecnicoRecursoHumanoTemp = {};
  603 + $scope.editRecursoHumano = true;
  604 + $scope.$openModal('modal-recurso-humano.html', 'lg');
  605 + };
574 606
575 $scope.openModalAcaoContingencia = function() { 607 $scope.openModalAcaoContingencia = function() {
576 - $scope.editAcaoCont = true; 608 + $scope.editAcaoCont = true;
577 609
578 $scope.acaoCont = {}; 610 $scope.acaoCont = {};
579 611
580 $timeout(function() { 612 $timeout(function() {
581 - $scope.$openModal('modal-acao-contingencia.html', 'lg'); 613 + $scope.$openModal('modal-acao-contingencia.html', 'lg');
582 }); 614 });
583 }; 615 };
584 616
585 $scope.abrirRequisitoNegocio = function(edit) { 617 $scope.abrirRequisitoNegocio = function(edit) {
586 618
587 - ObjetivoEstrategicoRepository.findAllByOrganizacao().then(function(result) { 619 + ObjetivoEstrategicoRepository.findAllByOrganizacao().then(function(result) {
588 $scope.objetivosEstrategicos = result; 620 $scope.objetivosEstrategicos = result;
589 }); 621 });
590 622
@@ -595,21 +627,21 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -595,21 +627,21 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
595 var requisitosSelecionados = $scope.getReqNegocioChecked(); 627 var requisitosSelecionados = $scope.getReqNegocioChecked();
596 628
597 if (requisitosSelecionados.length > 1) { 629 if (requisitosSelecionados.length > 1) {
598 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));  
599 - return; 630 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));
  631 + return;
600 } 632 }
601 633
602 - if(requisitosSelecionados.length === 0) {  
603 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));  
604 - return;  
605 - } 634 + if(requisitosSelecionados.length === 0) {
  635 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));
  636 + return;
  637 + }
606 638
607 - $scope.reqNegocio = requisitosSelecionados[0]; 639 + $scope.reqNegocio = requisitosSelecionados[0];
608 640
609 - $scope.reqNegocio.objetivoEstrategico = angular.copy($scope.reqNegocio.objetivoEstrategicoNecessidade.objetivoEstrategico); 641 + $scope.reqNegocio.objetivoEstrategico = angular.copy($scope.reqNegocio.objetivoEstrategicoNecessidade.objetivoEstrategico);
610 642
611 $timeout(function() { 643 $timeout(function() {
612 - $scope.$openModal('modal-requisito-negocio.html', 'lg'); 644 + $scope.$openModal('modal-requisito-negocio.html', 'lg');
613 }); 645 });
614 }; 646 };
615 647
@@ -621,28 +653,28 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -621,28 +653,28 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
621 653
622 var solucoesSelecionadas = $scope.getSolucaoChecked(); 654 var solucoesSelecionadas = $scope.getSolucaoChecked();
623 655
624 - if (solucoesSelecionadas.length > 1) {  
625 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));  
626 - return; 656 + if (solucoesSelecionadas.length > 1) {
  657 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));
  658 + return;
627 } 659 }
628 660
629 - if(solucoesSelecionadas.length === 0) {  
630 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));  
631 - return;  
632 - } 661 + if(solucoesSelecionadas.length === 0) {
  662 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));
  663 + return;
  664 + }
633 665
634 - $scope.solucao = solucoesSelecionadas[0]; 666 + $scope.solucao = solucoesSelecionadas[0];
635 667
636 - if ($scope.solucao.fornecedor) { 668 + if ($scope.solucao.fornecedor) {
637 $scope.solucao.fornecedor['pessoa.nome'] = $scope.solucao.fornecedor.pessoa.nome; 669 $scope.solucao.fornecedor['pessoa.nome'] = $scope.solucao.fornecedor.pessoa.nome;
638 } 670 }
639 671
640 - for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) {  
641 - $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index = i + 1;  
642 - } 672 + for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) {
  673 + $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index = i + 1;
  674 + }
643 675
644 $timeout(function() { 676 $timeout(function() {
645 - $scope.$openModal('modal-solucao.html', 'lg'); 677 + $scope.$openModal('modal-solucao.html', 'lg');
646 }); 678 });
647 }; 679 };
648 680
@@ -655,19 +687,19 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -655,19 +687,19 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
655 var bensServicosSelecionados = $scope.getBemServicoChecked(); 687 var bensServicosSelecionados = $scope.getBemServicoChecked();
656 688
657 if (bensServicosSelecionados.length > 1) { 689 if (bensServicosSelecionados.length > 1) {
658 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));  
659 - return; 690 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));
  691 + return;
660 } 692 }
661 693
662 - if(bensServicosSelecionados.length === 0) {  
663 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));  
664 - return;  
665 - } 694 + if(bensServicosSelecionados.length === 0) {
  695 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));
  696 + return;
  697 + }
666 698
667 - $scope.bemServico = bensServicosSelecionados[0]; 699 + $scope.bemServico = bensServicosSelecionados[0];
668 700
669 $timeout(function() { 701 $timeout(function() {
670 - $scope.$openModal('modal-bem-servico.html', 'lg'); 702 + $scope.$openModal('modal-bem-servico.html', 'lg');
671 }); 703 });
672 }; 704 };
673 705
@@ -680,71 +712,71 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -680,71 +712,71 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
680 var beneficiosSelecionados = $scope.getBeneficioEsperadoChecked(); 712 var beneficiosSelecionados = $scope.getBeneficioEsperadoChecked();
681 713
682 if (beneficiosSelecionados.length > 1) { 714 if (beneficiosSelecionados.length > 1) {
683 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));  
684 - return; 715 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));
  716 + return;
685 } 717 }
686 718
687 - if(beneficiosSelecionados.length === 0) {  
688 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));  
689 - return;  
690 - } 719 + if(beneficiosSelecionados.length === 0) {
  720 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));
  721 + return;
  722 + }
691 723
692 - $scope.beneficioEsperado = beneficiosSelecionados[0]; 724 + $scope.beneficioEsperado = beneficiosSelecionados[0];
693 725
694 $timeout(function() { 726 $timeout(function() {
695 - $scope.$openModal('modal-beneficio-esperado.html', 'lg'); 727 + $scope.$openModal('modal-beneficio-esperado.html', 'lg');
696 }); 728 });
697 }; 729 };
698 730
699 - // Responsavel por abrir modal de recurso material para edicao ou visualizacao do item selecionado  
700 - $scope.abrirRecursoMaterial = function(edit) { 731 + // Responsavel por abrir modal de recurso material para edicao ou visualizacao do item selecionado
  732 + $scope.abrirRecursoMaterial = function(edit) {
701 733
702 $scope.editRecursoMaterial = edit; 734 $scope.editRecursoMaterial = edit;
703 735
704 $scope.estudoTecnicoRecursoMaterialTemp = null; 736 $scope.estudoTecnicoRecursoMaterialTemp = null;
705 737
706 - var recursosMateriaisSelecionados = $scope.getRecursoMaterialChecked(); 738 + var recursosMateriaisSelecionados = $scope.getRecursoMaterialChecked();
707 739
708 if (recursosMateriaisSelecionados.length > 1) { 740 if (recursosMateriaisSelecionados.length > 1) {
709 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));  
710 - return; 741 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));
  742 + return;
711 } 743 }
712 744
713 - if(recursosMateriaisSelecionados.length === 0) {  
714 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));  
715 - return;  
716 - } 745 + if(recursosMateriaisSelecionados.length === 0) {
  746 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));
  747 + return;
  748 + }
717 749
718 - $scope.estudoTecnicoRecursoMaterialTemp = recursosMateriaisSelecionados[0]; 750 + $scope.estudoTecnicoRecursoMaterialTemp = recursosMateriaisSelecionados[0];
719 751
720 $timeout(function() { 752 $timeout(function() {
721 - $scope.$openModal('modal-recurso-material.html', 'lg'); 753 + $scope.$openModal('modal-recurso-material.html', 'lg');
722 }); 754 });
723 }; 755 };
724 756
725 - // Responsavel por abrir modal de recurso humano para edicao ou visualizacao do item selecionado  
726 - $scope.abrirRecursoHumano = function(edit) { 757 + // Responsavel por abrir modal de recurso humano para edicao ou visualizacao do item selecionado
  758 + $scope.abrirRecursoHumano = function(edit) {
727 759
728 $scope.editRecursoHumano = edit; 760 $scope.editRecursoHumano = edit;
729 761
730 $scope.estudoTecnicoRecursoHumanoTemp = null; 762 $scope.estudoTecnicoRecursoHumanoTemp = null;
731 763
732 - var recursosHumanosSelecionados = $scope.getRecursoHumanoChecked(); 764 + var recursosHumanosSelecionados = $scope.getRecursoHumanoChecked();
733 765
734 if (recursosHumanosSelecionados.length > 1) { 766 if (recursosHumanosSelecionados.length > 1) {
735 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));  
736 - return; 767 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));
  768 + return;
737 } 769 }
738 770
739 - if(recursosHumanosSelecionados.length === 0) {  
740 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));  
741 - return;  
742 - } 771 + if(recursosHumanosSelecionados.length === 0) {
  772 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));
  773 + return;
  774 + }
743 775
744 - $scope.estudoTecnicoRecursoHumanoTemp = recursosHumanosSelecionados[0]; 776 + $scope.estudoTecnicoRecursoHumanoTemp = recursosHumanosSelecionados[0];
745 777
746 $timeout(function() { 778 $timeout(function() {
747 - $scope.$openModal('modal-recurso-humano.html', 'lg'); 779 + $scope.$openModal('modal-recurso-humano.html', 'lg');
748 }); 780 });
749 }; 781 };
750 782
@@ -754,28 +786,28 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -754,28 +786,28 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
754 786
755 $scope.acaoCont = null; 787 $scope.acaoCont = null;
756 788
757 - var acoesSelecionadas = $scope.getAcaoContChecked(); 789 + var acoesSelecionadas = $scope.getAcaoContChecked();
758 790
759 if (acoesSelecionadas.length > 1) { 791 if (acoesSelecionadas.length > 1) {
760 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));  
761 - return; 792 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_APENAS_UM_ITEM_PARA_VISUALIZACAO'));
  793 + return;
762 } 794 }
763 795
764 - if(acoesSelecionadas.length === 0) {  
765 - $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));  
766 - return;  
767 - } 796 + if(acoesSelecionadas.length === 0) {
  797 + $scope.showAlert('warning', edit? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO'));
  798 + return;
  799 + }
768 800
769 - $scope.acaoCont = acoesSelecionadas[0]; 801 + $scope.acaoCont = acoesSelecionadas[0];
770 802
771 $timeout(function() { 803 $timeout(function() {
772 - $scope.$openModal('modal-acao-contingencia.html', 'lg'); 804 + $scope.$openModal('modal-acao-contingencia.html', 'lg');
773 }); 805 });
774 }; 806 };
775 807
776 $scope.removerRequisitoNegocio = function() { 808 $scope.removerRequisitoNegocio = function() {
777 // recupera a EstudoTecnico selecionada 809 // recupera a EstudoTecnico selecionada
778 - var requisitosSelecionados = $scope.getReqNegocioChecked(); 810 + var requisitosSelecionados = $scope.getReqNegocioChecked();
779 811
780 if (requisitosSelecionados.length > 0) { 812 if (requisitosSelecionados.length > 0) {
781 $scope.$openModalConfirm({ 813 $scope.$openModalConfirm({
@@ -785,20 +817,21 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -785,20 +817,21 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
785 $scope.$modalConfirmInstance.dismiss('cancel'); 817 $scope.$modalConfirmInstance.dismiss('cancel');
786 818
787 for (var i = 0; i < requisitosSelecionados.length; i++) { 819 for (var i = 0; i < requisitosSelecionados.length; i++) {
788 - if (requisitosSelecionados[i].id) {  
789 - EstudoTecnicoRequisitoNegocioRepository.remove(requisitosSelecionados[i]).then(function(result) { 820 + if (requisitosSelecionados[i].id) {
  821 + EstudoTecnicoRequisitoNegocioRepository.remove(requisitosSelecionados[i]).then(function(result) {
790 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 822 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
791 }); 823 });
792 } 824 }
793 } 825 }
794 var requisitos = []; 826 var requisitos = [];
795 for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) { 827 for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) {
796 - if (!$scope.estudoTecnico.etRequisitosNegocio[i].$checked) {  
797 - requisitos.push($scope.estudoTecnico.etRequisitosNegocio[i]);  
798 - } 828 + if (!$scope.estudoTecnico.etRequisitosNegocio[i].$checked) {
  829 + requisitos.push($scope.estudoTecnico.etRequisitosNegocio[i]);
  830 + }
799 } 831 }
800 $scope.listaRequisitoTecSelecao = []; 832 $scope.listaRequisitoTecSelecao = [];
801 $scope.estudoTecnico.etRequisitosNegocio = requisitos; 833 $scope.estudoTecnico.etRequisitosNegocio = requisitos;
  834 + $scope.atualizarListaSizeSelectReqNegocio();
802 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 835 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
803 } 836 }
804 }); 837 });
@@ -808,200 +841,206 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -808,200 +841,206 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
808 }; 841 };
809 842
810 $scope.removerSolucao = function() { 843 $scope.removerSolucao = function() {
811 - var solucoesSelecionadas = $scope.getSolucaoChecked(); 844 + var solucoesSelecionadas = $scope.getSolucaoChecked();
812 845
813 - if (solucoesSelecionadas.length > 0) { 846 + if (solucoesSelecionadas.length > 0) {
814 $scope.$openModalConfirm({ 847 $scope.$openModalConfirm({
815 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), 848 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
816 callback: function() { 849 callback: function() {
817 850
818 - $scope.$modalConfirmInstance.dismiss('cancel'); 851 + $scope.$modalConfirmInstance.dismiss('cancel');
819 852
820 - for (var i = 0; i < solucoesSelecionadas.length; i++) {  
821 - if (solucoesSelecionadas[i].id) {  
822 - EstudoTecnicoLevantamentoAlternativasRepository.remove(solucoesSelecionadas[i]).then(function(result) { 853 + for (var i = 0; i < solucoesSelecionadas.length; i++) {
  854 + if (solucoesSelecionadas[i].id) {
  855 + EstudoTecnicoLevantamentoAlternativasRepository.remove(solucoesSelecionadas[i]).then(function(result) {
823 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 856 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
824 }); 857 });
825 } 858 }
826 } 859 }
827 var solucoes = []; 860 var solucoes = [];
828 for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) { 861 for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) {
829 - if (!$scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) {  
830 - solucoes.push($scope.estudoTecnico.etLevantamentoAlternativas[i]);  
831 - } 862 + if (!$scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) {
  863 + solucoes.push($scope.estudoTecnico.etLevantamentoAlternativas[i]);
  864 + }
832 } 865 }
833 $scope.listaAlternativa = []; 866 $scope.listaAlternativa = [];
834 $scope.estudoTecnico.etLevantamentoAlternativas = solucoes; 867 $scope.estudoTecnico.etLevantamentoAlternativas = solucoes;
  868 + $scope.atualizarListaSizeSelectSolucao();
835 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 869 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
836 } 870 }
837 }); 871 });
838 } else { 872 } else {
839 - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); 873 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO'));
840 } 874 }
841 }; 875 };
842 876
843 $scope.removerBensServico = function() { 877 $scope.removerBensServico = function() {
844 - var bensServicosSelecionados = $scope.getBemServicoChecked(); 878 + var bensServicosSelecionados = $scope.getBemServicoChecked();
845 879
846 - if (bensServicosSelecionados.length > 0) { 880 + if (bensServicosSelecionados.length > 0) {
847 $scope.$openModalConfirm({ 881 $scope.$openModalConfirm({
848 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), 882 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
849 callback: function() { 883 callback: function() {
850 - $scope.$modalConfirmInstance.dismiss('cancel'); 884 + $scope.$modalConfirmInstance.dismiss('cancel');
851 885
852 - for (var i = 0; i < bensServicosSelecionados.length; i++) {  
853 - if (bensServicosSelecionados[i].id) {  
854 - EstudoTecnicoBemServicoSolucaoRepository.remove(bensServicosSelecionados[i]).then(function(result) { 886 + for (var i = 0; i < bensServicosSelecionados.length; i++) {
  887 + if (bensServicosSelecionados[i].id) {
  888 + EstudoTecnicoBemServicoSolucaoRepository.remove(bensServicosSelecionados[i]).then(function(result) {
855 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 889 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
856 }); 890 });
857 } 891 }
858 } 892 }
859 var bensServicos = []; 893 var bensServicos = [];
860 for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) { 894 for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) {
861 - if (!$scope.estudoTecnico.etBensServicosSolucoes[i].$checked) {  
862 - bensServicos.push($scope.estudoTecnico.etBensServicosSolucoes[i]);  
863 - } 895 + if (!$scope.estudoTecnico.etBensServicosSolucoes[i].$checked) {
  896 + bensServicos.push($scope.estudoTecnico.etBensServicosSolucoes[i]);
  897 + }
864 } 898 }
865 $scope.estudoTecnico.etBensServicosSolucoes = bensServicos; 899 $scope.estudoTecnico.etBensServicosSolucoes = bensServicos;
  900 + $scope.atualizarListaSizeSelectServicoSolucao();
866 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 901 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
867 } 902 }
868 }); 903 });
869 } else { 904 } else {
870 - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); 905 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO'));
871 } 906 }
872 }; 907 };
873 908
874 $scope.removerBeneficioEsperado = function() { 909 $scope.removerBeneficioEsperado = function() {
875 910
876 - var beneficiosSelecionados = $scope.getBeneficioEsperadoChecked(); 911 + var beneficiosSelecionados = $scope.getBeneficioEsperadoChecked();
877 912
878 - if (beneficiosSelecionados.length > 0) { 913 + if (beneficiosSelecionados.length > 0) {
879 $scope.$openModalConfirm({ 914 $scope.$openModalConfirm({
880 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), 915 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
881 callback: function() { 916 callback: function() {
882 - $scope.$modalConfirmInstance.dismiss('cancel'); 917 + $scope.$modalConfirmInstance.dismiss('cancel');
883 918
884 - for (var i = 0; i < beneficiosSelecionados.length; i++) {  
885 - if (beneficiosSelecionados[i].id) {  
886 - EstudoTecnicoBeneficioEsperadoRepository.remove(beneficiosSelecionados[i]).then(function(result) { 919 + for (var i = 0; i < beneficiosSelecionados.length; i++) {
  920 + if (beneficiosSelecionados[i].id) {
  921 + EstudoTecnicoBeneficioEsperadoRepository.remove(beneficiosSelecionados[i]).then(function(result) {
887 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 922 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
888 }); 923 });
889 } 924 }
890 } 925 }
891 var beneficios = []; 926 var beneficios = [];
892 for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) { 927 for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) {
893 - if (!$scope.estudoTecnico.etBeneficiosEsperados[i].$checked) {  
894 - beneficios.push($scope.estudoTecnico.etBeneficiosEsperados[i]);  
895 - } 928 + if (!$scope.estudoTecnico.etBeneficiosEsperados[i].$checked) {
  929 + beneficios.push($scope.estudoTecnico.etBeneficiosEsperados[i]);
  930 + }
896 } 931 }
897 $scope.listaBeneficio = []; 932 $scope.listaBeneficio = [];
898 $scope.estudoTecnico.etBeneficiosEsperados = beneficios; 933 $scope.estudoTecnico.etBeneficiosEsperados = beneficios;
  934 + $scope.atualizarListaSizeSelectBeneficio();
899 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 935 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
900 } 936 }
901 }); 937 });
902 } else { 938 } else {
903 - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); 939 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO'));
904 } 940 }
905 }; 941 };
906 942
907 //responsavel por remover um/ou mais recurs(o)s materiais do estudo tecnico 943 //responsavel por remover um/ou mais recurs(o)s materiais do estudo tecnico
908 $scope.removerRecursoMaterial = function (){ 944 $scope.removerRecursoMaterial = function (){
909 945
910 - var recursosMateriaisSelecionados = $scope.getRecursoMaterialChecked(); 946 + var recursosMateriaisSelecionados = $scope.getRecursoMaterialChecked();
911 947
912 - if (recursosMateriaisSelecionados.length > 0) { 948 + if (recursosMateriaisSelecionados.length > 0) {
913 $scope.$openModalConfirm({ 949 $scope.$openModalConfirm({
914 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), 950 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
915 callback: function() { 951 callback: function() {
916 - $scope.$modalConfirmInstance.dismiss('cancel'); 952 + $scope.$modalConfirmInstance.dismiss('cancel');
917 953
918 - for (var i = 0; i < recursosMateriaisSelecionados.length; i++) {  
919 - if (recursosMateriaisSelecionados[i].id) {  
920 - EstudoTecnicoRecursoMaterialRepository.remove(recursosMateriaisSelecionados[i]).then(function(result) { 954 + for (var i = 0; i < recursosMateriaisSelecionados.length; i++) {
  955 + if (recursosMateriaisSelecionados[i].id) {
  956 + EstudoTecnicoRecursoMaterialRepository.remove(recursosMateriaisSelecionados[i]).then(function(result) {
921 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 957 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
922 }); 958 });
923 } 959 }
924 } 960 }
925 var recursosMateriais = []; 961 var recursosMateriais = [];
926 for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) { 962 for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) {
927 - if (!$scope.estudoTecnico.etRecursosMateriais[i].$checked) {  
928 - recursosMateriais.push($scope.estudoTecnico.etRecursosMateriais[i]);  
929 - } 963 + if (!$scope.estudoTecnico.etRecursosMateriais[i].$checked) {
  964 + recursosMateriais.push($scope.estudoTecnico.etRecursosMateriais[i]);
  965 + }
930 } 966 }
931 $scope.listaRecursoMateriais = []; 967 $scope.listaRecursoMateriais = [];
932 $scope.estudoTecnico.etRecursosMateriais = recursosMateriais; 968 $scope.estudoTecnico.etRecursosMateriais = recursosMateriais;
  969 + $scope.atualizarListaSizeSelectRecursoMaterial();
933 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 970 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
934 } 971 }
935 }); 972 });
936 } else { 973 } else {
937 - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); 974 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO'));
938 } 975 }
939 }; 976 };
940 977
941 //responsavel por remover um/ou mais recurs(o)s humanos do estudo tecnico 978 //responsavel por remover um/ou mais recurs(o)s humanos do estudo tecnico
942 $scope.removerRecursoHumano = function (){ 979 $scope.removerRecursoHumano = function (){
943 980
944 - var recursosHumanosSelecionados = $scope.getRecursoHumanoChecked(); 981 + var recursosHumanosSelecionados = $scope.getRecursoHumanoChecked();
945 982
946 - if (recursosHumanosSelecionados.length > 0) { 983 + if (recursosHumanosSelecionados.length > 0) {
947 $scope.$openModalConfirm({ 984 $scope.$openModalConfirm({
948 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), 985 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
949 callback: function() { 986 callback: function() {
950 - $scope.$modalConfirmInstance.dismiss('cancel'); 987 + $scope.$modalConfirmInstance.dismiss('cancel');
951 988
952 - for (var i = 0; i < recursosHumanosSelecionados.length; i++) {  
953 - if (recursosHumanosSelecionados[i].id) {  
954 - EstudoTecnicoRecursoHumanoRepository.remove(recursosHumanosSelecionados[i]).then(function(result) { 989 + for (var i = 0; i < recursosHumanosSelecionados.length; i++) {
  990 + if (recursosHumanosSelecionados[i].id) {
  991 + EstudoTecnicoRecursoHumanoRepository.remove(recursosHumanosSelecionados[i]).then(function(result) {
955 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 992 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
956 }); 993 });
957 } 994 }
958 } 995 }
959 var recursosHumanos = []; 996 var recursosHumanos = [];
960 for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) { 997 for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) {
961 - if (!$scope.estudoTecnico.etRecursosHumanos[i].$checked) {  
962 - recursosHumanos.push($scope.estudoTecnico.etRecursosHumanos[i]);  
963 - } 998 + if (!$scope.estudoTecnico.etRecursosHumanos[i].$checked) {
  999 + recursosHumanos.push($scope.estudoTecnico.etRecursosHumanos[i]);
  1000 + }
964 } 1001 }
965 $scope.estudoTecnico.etRecursosHumanos = recursosHumanos; 1002 $scope.estudoTecnico.etRecursosHumanos = recursosHumanos;
966 $scope.listaRecursoHumanos = []; 1003 $scope.listaRecursoHumanos = [];
  1004 + $scope.atualizarListaSizeSelectRecursoHumano();
967 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1005 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
968 } 1006 }
969 }); 1007 });
970 } else { 1008 } else {
971 - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); 1009 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO'));
972 } 1010 }
973 }; 1011 };
974 1012
975 $scope.removerAcaoContingencia = function() { 1013 $scope.removerAcaoContingencia = function() {
976 1014
977 - var acoesSelecionadas = $scope.getAcaoContChecked(); 1015 + var acoesSelecionadas = $scope.getAcaoContChecked();
978 1016
979 - if (acoesSelecionadas.length > 0) { 1017 + if (acoesSelecionadas.length > 0) {
980 $scope.$openModalConfirm({ 1018 $scope.$openModalConfirm({
981 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), 1019 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
982 callback: function() { 1020 callback: function() {
983 - $scope.$modalConfirmInstance.dismiss('cancel'); 1021 + $scope.$modalConfirmInstance.dismiss('cancel');
984 1022
985 - for (var i = 0; i < acoesSelecionadas.length; i++) {  
986 - if (acoesSelecionadas[i].id) {  
987 - EstudoTecnicoAcaoContingenciaRepository.remove(acoesSelecionadas[i]).then(function(result) { 1023 + for (var i = 0; i < acoesSelecionadas.length; i++) {
  1024 + if (acoesSelecionadas[i].id) {
  1025 + EstudoTecnicoAcaoContingenciaRepository.remove(acoesSelecionadas[i]).then(function(result) {
988 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1026 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
989 }); 1027 });
990 } 1028 }
991 } 1029 }
992 var acoes = []; 1030 var acoes = [];
993 for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) { 1031 for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) {
994 - if (!$scope.estudoTecnico.etAcoesContingencia[i].$checked) {  
995 - acoes.push($scope.estudoTecnico.etAcoesContingencia[i]);  
996 - } 1032 + if (!$scope.estudoTecnico.etAcoesContingencia[i].$checked) {
  1033 + acoes.push($scope.estudoTecnico.etAcoesContingencia[i]);
  1034 + }
997 } 1035 }
998 $scope.estudoTecnico.etAcoesContingencia = acoes; 1036 $scope.estudoTecnico.etAcoesContingencia = acoes;
999 $scope.listaAcoesContigencia = []; 1037 $scope.listaAcoesContigencia = [];
  1038 + $scope.atualizarListaSizeSelectAcaoContigencia();
1000 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1039 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
1001 } 1040 }
1002 }); 1041 });
1003 } else { 1042 } else {
1004 - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO')); 1043 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM_PARA_SER_REMOVIDO'));
1005 } 1044 }
1006 }; 1045 };
1007 1046
@@ -1009,79 +1048,79 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1009,79 +1048,79 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1009 $scope.getQuestaoChecked = function() { 1048 $scope.getQuestaoChecked = function() {
1010 var questaoChecked = null; 1049 var questaoChecked = null;
1011 if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas) { 1050 if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas) {
1012 - for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) {  
1013 - if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].$checked) {  
1014 - questaoChecked = $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i];  
1015 - } 1051 + for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) {
  1052 + if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].$checked) {
  1053 + questaoChecked = $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i];
  1054 + }
1016 } 1055 }
1017 } 1056 }
1018 return questaoChecked; 1057 return questaoChecked;
1019 }; 1058 };
1020 1059
1021 $scope.addQuestao = function() { 1060 $scope.addQuestao = function() {
1022 - $scope.solucao.etlaQuestionario.etQuestionarioRespostas.push({  
1023 - questionarioPergunta : angular.copy($scope.questaoTemplate),  
1024 - index : angular.copy($scope.solucao.etlaQuestionario.etQuestionarioRespostas.length) + 1,  
1025 - edit : true  
1026 - }); 1061 + $scope.solucao.etlaQuestionario.etQuestionarioRespostas.push({
  1062 + questionarioPergunta : angular.copy($scope.questaoTemplate),
  1063 + index : angular.copy($scope.solucao.etlaQuestionario.etQuestionarioRespostas.length) + 1,
  1064 + edit : true
  1065 + });
1027 }; 1066 };
1028 1067
1029 - $scope.editQuestao = function() {  
1030 - var questao = $scope.getQuestaoChecked(); 1068 + $scope.editQuestao = function() {
  1069 + var questao = $scope.getQuestaoChecked();
1031 1070
1032 - if(!questao) {  
1033 - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));  
1034 - return;  
1035 - } 1071 + if(!questao) {
  1072 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
  1073 + return;
  1074 + }
1036 1075
1037 - questao.edit = true; 1076 + questao.edit = true;
1038 }; 1077 };
1039 1078
1040 $scope.removerQuestao = function() { 1079 $scope.removerQuestao = function() {
1041 - var questao = $scope.getQuestaoChecked(); 1080 + var questao = $scope.getQuestaoChecked();
1042 1081
1043 - if(!questao) {  
1044 - $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_ITEM_EXCLUIR'));  
1045 - return;  
1046 - }  
1047 - $scope.cancelarQuestao(questao); 1082 + if(!questao) {
  1083 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_ITEM_EXCLUIR'));
  1084 + return;
  1085 + }
  1086 + $scope.cancelarQuestao(questao);
1048 }; 1087 };
1049 1088
1050 $scope.salvarQuestao = function(questao) { 1089 $scope.salvarQuestao = function(questao) {
1051 - if (questao.questionarioPergunta.questao) {  
1052 - questao.edit = !questao.edit;  
1053 - } else {  
1054 - $scope.showAlert('warning', $translate.instant('MSG.QUESTAO_VAZIA'));  
1055 - }  
1056 - };  
1057 -  
1058 - $scope.cancelarQuestao = function(questao) {  
1059 - var questTemp = [];  
1060 - for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) {  
1061 - if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index < questao.index) {  
1062 - questTemp.push($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]);  
1063 - }  
1064 - if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index > questao.index) {  
1065 - $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index--;  
1066 - questTemp.push($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]);  
1067 - }  
1068 - if (($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index === questao.index) && $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].id) {  
1069 - $scope.removerRespostaPergunta($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]);  
1070 - }  
1071 - }  
1072 - $scope.solucao.etlaQuestionario.etQuestionarioRespostas = questTemp; 1090 + if (questao.questionarioPergunta.questao) {
  1091 + questao.edit = !questao.edit;
  1092 + } else {
  1093 + $scope.showAlert('warning', $translate.instant('MSG.QUESTAO_VAZIA'));
  1094 + }
  1095 + };
  1096 +
  1097 + $scope.cancelarQuestao = function(questao) {
  1098 + var questTemp = [];
  1099 + for (var i = 0; i < $scope.solucao.etlaQuestionario.etQuestionarioRespostas.length; i++) {
  1100 + if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index < questao.index) {
  1101 + questTemp.push($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]);
  1102 + }
  1103 + if ($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index > questao.index) {
  1104 + $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index--;
  1105 + questTemp.push($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]);
  1106 + }
  1107 + if (($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].index === questao.index) && $scope.solucao.etlaQuestionario.etQuestionarioRespostas[i].id) {
  1108 + $scope.removerRespostaPergunta($scope.solucao.etlaQuestionario.etQuestionarioRespostas[i]);
  1109 + }
  1110 + }
  1111 + $scope.solucao.etlaQuestionario.etQuestionarioRespostas = questTemp;
1073 }; 1112 };
1074 1113
1075 $scope.removerRespostaPergunta = function(resposta) { 1114 $scope.removerRespostaPergunta = function(resposta) {
1076 if (resposta) { 1115 if (resposta) {
1077 - var pergunta = resposta.questionarioPergunta; 1116 + var pergunta = resposta.questionarioPergunta;
1078 $scope.$openModalConfirm({ 1117 $scope.$openModalConfirm({
1079 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'), 1118 message: $translate.instant('MSG.CONFIRMA_EXCLUSAO'),
1080 callback: function() { 1119 callback: function() {
1081 $scope.$modalConfirmInstance.dismiss('cancel'); 1120 $scope.$modalConfirmInstance.dismiss('cancel');
1082 if ($scope.resposta.id) { 1121 if ($scope.resposta.id) {
1083 - EstudoTecnicoQuestionarioRespostaRepository.remove(resposta).then(function(result) {  
1084 - $scope.removerPergunta(pergunta); 1122 + EstudoTecnicoQuestionarioRespostaRepository.remove(resposta).then(function(result) {
  1123 + $scope.removerPergunta(pergunta);
1085 }); 1124 });
1086 } else { 1125 } else {
1087 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1126 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
@@ -1095,7 +1134,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1095,7 +1134,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1095 1134
1096 $scope.removerPergunta = function(pergunta) { 1135 $scope.removerPergunta = function(pergunta) {
1097 if (pergunta) { 1136 if (pergunta) {
1098 - QuestionarioPerguntaRepository.remove(pergunta).then(function(result) { 1137 + QuestionarioPerguntaRepository.remove(pergunta).then(function(result) {
1099 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 1138 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
1100 }); 1139 });
1101 } else { 1140 } else {
@@ -1104,208 +1143,273 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1104,208 +1143,273 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1104 }; 1143 };
1105 1144
1106 // ADICIONAR Requisito de negócio 1145 // ADICIONAR Requisito de negócio
1107 - $scope.salvaRequisitoNegocio = function(formDialogRequisitoNegocio) { 1146 + $scope.salvaRequisitoNegocio = function(formDialogRequisitoNegocio, continuarEditando) {
1108 1147
1109 - formDialogRequisitoNegocio.$submitted = true; 1148 + formDialogRequisitoNegocio.$submitted = true;
1110 1149
1111 //verifica se o formulario está valido para salvar 1150 //verifica se o formulario está valido para salvar
1112 - if (formDialogRequisitoNegocio.$valid) {  
1113 - if ($scope.reqNegocio.objetivoEstrategicoNecessidade.originalElement) {  
1114 - $scope.reqNegocio.objetivoEstrategicoNecessidade = $scope.reqNegocio.objetivoEstrategicoNecessidade.originalElement;  
1115 - } else {  
1116 - $scope.reqNegocio.objetivoEstrategicoNecessidade = $scope.reqNegocio.objetivoEstrategicoNecessidade;  
1117 - }  
1118 - delete $scope.reqNegocio.objetivoEstrategico;  
1119 - if ($scope.estudoTecnico.etRequisitosNegocio) {  
1120 - if ($scope.reqNegocio.$checked) {  
1121 - for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) {  
1122 - if ($scope.estudoTecnico.etRequisitosNegocio[i].$checked) {  
1123 - $scope.estudoTecnico.etRequisitosNegocio[i] = $scope.reqNegocio;  
1124 - }  
1125 - }  
1126 - } else {  
1127 - $scope.estudoTecnico.etRequisitosNegocio.push($scope.reqNegocio);  
1128 - }  
1129 - } else {  
1130 - $scope.estudoTecnico.etRequisitosNegocio = [$scope.reqNegocio];  
1131 - }  
1132 - $scope.$modalInstance.dismiss('cancel'); 1151 + if (formDialogRequisitoNegocio.$invalid) {
  1152 + //Mensagem de erro de campos obrigatorios não preenchidos
  1153 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1154 + return;
  1155 + }
  1156 + $scope.reqNegocioTemp = angular.copy($scope.reqNegocio);
  1157 + if ($scope.reqNegocioTemp.objetivoEstrategicoNecessidade.originalElement) {
  1158 + $scope.reqNegocioTemp.objetivoEstrategicoNecessidade = $scope.reqNegocio.objetivoEstrategicoNecessidade.originalElement;
  1159 + } else {
  1160 + $scope.reqNegocioTemp.objetivoEstrategicoNecessidade = $scope.reqNegocio.objetivoEstrategicoNecessidade;
  1161 + }
  1162 + delete $scope.reqNegocioTemp.objetivoEstrategico;
  1163 + if ($scope.estudoTecnico.etRequisitosNegocio) {
  1164 + if ($scope.reqNegocio.$checked) {
  1165 + for (var i = 0; i < $scope.estudoTecnico.etRequisitosNegocio.length; i++) {
  1166 + if ($scope.estudoTecnico.etRequisitosNegocio[i].$checked) {
  1167 + $scope.estudoTecnico.etRequisitosNegocio[i] = $scope.reqNegocioTemp;
  1168 + }
  1169 + }
1133 } else { 1170 } else {
1134 - //Mensagem de erro de campos obrigatorios não preenchidos  
1135 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 1171 + $scope.estudoTecnico.etRequisitosNegocio.push($scope.reqNegocioTemp);
1136 } 1172 }
  1173 + } else {
  1174 + $scope.estudoTecnico.etRequisitosNegocio = [$scope.reqNegocioTemp];
  1175 + }
  1176 +
  1177 + if(continuarEditando){
  1178 + formDialogRequisitoNegocio.$submitted = false;
  1179 + formDialogRequisitoNegocio.$setPristine();
  1180 + $scope.reqNegocioTemp = null;
  1181 + $scope.reqNegocio = {};
  1182 + return;
  1183 + }
  1184 + $scope.atualizarListaSizeSelectReqNegocio();
  1185 + $scope.$modalInstance.dismiss('cancel');
1137 }; 1186 };
1138 1187
1139 // ADICIONAR Solucao 1188 // ADICIONAR Solucao
1140 - $scope.salvaSolucao = function(formDialogSolucao) {  
1141 -  
1142 - formDialogSolucao.$submitted = true;  
1143 -  
1144 - //verifica se o formulario está valido para salvar  
1145 - if (formDialogSolucao.$valid) {  
1146 - if ($scope.estudoTecnico.etLevantamentoAlternativas) {  
1147 - if ($scope.solucao.$checked) {  
1148 - for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) {  
1149 - if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) {  
1150 - $scope.estudoTecnico.etLevantamentoAlternativas[i] = $scope.solucao;  
1151 - }  
1152 - }  
1153 - } else {  
1154 - $scope.estudoTecnico.etLevantamentoAlternativas.push($scope.solucao);  
1155 - }  
1156 - } else {  
1157 - $scope.estudoTecnico.etLevantamentoAlternativas = [$scope.solucao];  
1158 - }  
1159 - $scope.$modalInstance.dismiss('cancel'); 1189 + $scope.salvaSolucao = function(formDialogSolucao, continuarEditando) {
  1190 +
  1191 + formDialogSolucao.$submitted = true;
  1192 +
  1193 + //verifica se o formulario está valido para salvar
  1194 + if (formDialogSolucao.$invalid) {
  1195 + //Mensagem de erro de campos obrigatorios não preenchidos
  1196 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1197 + return;
  1198 + }
  1199 +
  1200 + if ($scope.estudoTecnico.etLevantamentoAlternativas) {
  1201 + if ($scope.solucao.$checked) {
  1202 + for (var i = 0; i < $scope.estudoTecnico.etLevantamentoAlternativas.length; i++) {
  1203 + if ($scope.estudoTecnico.etLevantamentoAlternativas[i].$checked) {
  1204 + $scope.estudoTecnico.etLevantamentoAlternativas[i] = $scope.solucao;
  1205 + }
  1206 + }
1160 } else { 1207 } else {
1161 - //Mensagem de erro de campos obrigatorios não preenchidos  
1162 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 1208 + $scope.estudoTecnico.etLevantamentoAlternativas.push($scope.solucao);
1163 } 1209 }
  1210 + } else {
  1211 + $scope.estudoTecnico.etLevantamentoAlternativas = [$scope.solucao];
  1212 + }
  1213 +
  1214 + if(continuarEditando){
  1215 + formDialogSolucao.$submitted = false;
  1216 + formDialogSolucao.$setPristine();
  1217 + resetModalSolucao();
  1218 + }else{
  1219 + $scope.$modalInstance.dismiss('cancel');
  1220 + }
  1221 + $scope.atualizarListaSizeSelectSolucao();
1164 }; 1222 };
1165 1223
1166 // ADICIONAR Solucao 1224 // ADICIONAR Solucao
1167 - $scope.salvaBemServico = function(formDialogBensServico) {  
1168 -  
1169 - formDialogBensServico.$submitted = true;  
1170 -  
1171 - //verifica se o formulario está valido para salvar  
1172 - if (formDialogBensServico.$valid) {  
1173 - if ($scope.estudoTecnico.etBensServicosSolucoes) {  
1174 - if ($scope.bemServico.$checked) {  
1175 - for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) {  
1176 - if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) {  
1177 - $scope.estudoTecnico.etBensServicosSolucoes[i] = $scope.bemServico;  
1178 - }  
1179 - }  
1180 - } else {  
1181 - $scope.bemServico.$index = $scope.estudoTecnico.etBensServicosSolucoes.length + 1;  
1182 - $scope.estudoTecnico.etBensServicosSolucoes.push($scope.bemServico);  
1183 - }  
1184 - } else {  
1185 - $scope.bemServico.$index = 1;  
1186 - $scope.estudoTecnico.etBensServicosSolucoes = [$scope.bemServico];  
1187 - }  
1188 - $scope.$modalInstance.dismiss('cancel');  
1189 - } else {  
1190 - //Mensagem de erro de campos obrigatorios não preenchidos  
1191 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);  
1192 - } 1225 + $scope.salvaBemServico = function(formDialogBensServico, continuarEditando) {
  1226 +
  1227 + formDialogBensServico.$submitted = true;
  1228 +
  1229 + //verifica se o formulario está valido para salvar
  1230 + if (formDialogBensServico.$invalid) {
  1231 + //Mensagem de erro de campos obrigatorios não preenchidos
  1232 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1233 + return;
  1234 + }
  1235 +
  1236 + if ($scope.estudoTecnico.etBensServicosSolucoes) {
  1237 + if ($scope.bemServico.$checked) {
  1238 + for (var i = 0; i < $scope.estudoTecnico.etBensServicosSolucoes.length; i++) {
  1239 + if ($scope.estudoTecnico.etBensServicosSolucoes[i].$checked) {
  1240 + $scope.estudoTecnico.etBensServicosSolucoes[i] = $scope.bemServico;
  1241 + }
  1242 + }
  1243 + } else {
  1244 + $scope.bemServico.$index = $scope.estudoTecnico.etBensServicosSolucoes.length + 1;
  1245 + $scope.estudoTecnico.etBensServicosSolucoes.push($scope.bemServico);
  1246 + }
  1247 + } else {
  1248 + $scope.bemServico.$index = 1;
  1249 + $scope.estudoTecnico.etBensServicosSolucoes = [$scope.bemServico];
  1250 + }
  1251 +
  1252 + if(continuarEditando){
  1253 + formDialogBensServico.$submitted = false;
  1254 + formDialogBensServico.$setPristine();
  1255 + $scope.bemServico = {};
  1256 + }else{
  1257 + $scope.$modalInstance.dismiss('cancel');
  1258 + }
  1259 + $scope.atualizarListaSizeSelectServicoSolucao();
1193 }; 1260 };
1194 1261
1195 // ADICIONAR BENEFÍCIO ESPERADO 1262 // ADICIONAR BENEFÍCIO ESPERADO
1196 - $scope.salvaBeneficioEsperado = function(formDialogBeneficioEsperado) { 1263 + $scope.salvaBeneficioEsperado = function(formDialogBeneficioEsperado, continuarEditando) {
1197 1264
1198 - formDialogBeneficioEsperado.$submitted = true; 1265 + formDialogBeneficioEsperado.$submitted = true;
1199 1266
1200 //verifica se o formulario está valido para salvar 1267 //verifica se o formulario está valido para salvar
1201 - if (formDialogBeneficioEsperado.$valid) {  
1202 - if ($scope.estudoTecnico.etBeneficiosEsperados) {  
1203 - if ($scope.beneficioEsperado.$checked) {  
1204 - for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) {  
1205 - if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) {  
1206 - $scope.estudoTecnico.etBeneficiosEsperados[i] = $scope.beneficioEsperado;  
1207 - }  
1208 - }  
1209 - } else {  
1210 - $scope.estudoTecnico.etBeneficiosEsperados.push($scope.beneficioEsperado);  
1211 - }  
1212 - } else {  
1213 - $scope.estudoTecnico.etBeneficiosEsperados = [$scope.beneficioEsperado];  
1214 - }  
1215 - $scope.$modalInstance.dismiss('cancel');  
1216 - } else {  
1217 - //Mensagem de erro de campos obrigatorios não preenchidos 1268 + if (formDialogBeneficioEsperado.$invalid) {
  1269 + //Mensagem de erro de campos obrigatorios não preenchidos
1218 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 1270 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1271 + return;
1219 } 1272 }
  1273 +
  1274 + if ($scope.estudoTecnico.etBeneficiosEsperados) {
  1275 + if ($scope.beneficioEsperado.$checked) {
  1276 + for (var i = 0; i < $scope.estudoTecnico.etBeneficiosEsperados.length; i++) {
  1277 + if ($scope.estudoTecnico.etBeneficiosEsperados[i].$checked) {
  1278 + $scope.estudoTecnico.etBeneficiosEsperados[i] = $scope.beneficioEsperado;
  1279 + }
  1280 + }
  1281 + } else {
  1282 + $scope.estudoTecnico.etBeneficiosEsperados.push($scope.beneficioEsperado);
  1283 + }
  1284 + } else {
  1285 + $scope.estudoTecnico.etBeneficiosEsperados = [$scope.beneficioEsperado];
  1286 + }
  1287 +
  1288 + if(continuarEditando){
  1289 + formDialogBeneficioEsperado.$submitted = false;
  1290 + formDialogBeneficioEsperado.$setPristine();
  1291 + $scope.beneficioEsperado = {};
  1292 + } else {
  1293 + $scope.$modalInstance.dismiss('cancel');
  1294 + }
  1295 + $scope.atualizarListaSizeSelectBeneficio();
1220 }; 1296 };
1221 1297
1222 // responsavel por adicionar um recurso tecnico ao estudo tecnico 1298 // responsavel por adicionar um recurso tecnico ao estudo tecnico
1223 - $scope.salvaRecursoMaterial = function (formDialogRecursoMaterial){ 1299 + $scope.salvaRecursoMaterial = function (formDialogRecursoMaterial, continuarEditando){
1224 1300
1225 formDialogRecursoMaterial.$submitted = true; 1301 formDialogRecursoMaterial.$submitted = true;
1226 1302
1227 - if (formDialogRecursoMaterial.$valid) {  
1228 - if ($scope.estudoTecnico.etRecursosMateriais){  
1229 - if ($scope.estudoTecnicoRecursoMaterialTemp.$checked){  
1230 - for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) {  
1231 - if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) {  
1232 - $scope.estudoTecnico.etRecursosMateriais[i] = $scope.estudoTecnicoRecursoMaterialTemp;  
1233 - }  
1234 - }  
1235 - } else {  
1236 - $scope.estudoTecnico.etRecursosMateriais.push($scope.estudoTecnicoRecursoMaterialTemp);  
1237 - }  
1238 - } else {  
1239 - $scope.estudoTecnico.etRecursosMateriais = [$scope.estudoTecnicoRecursoMaterialTemp];  
1240 - }  
1241 - $scope.estudoTecnicoRecursoMaterialTemp = {};  
1242 - $scope.$modalInstance.dismiss('cancel');  
1243 - } else {  
1244 - //Mensagem de erro de campos obrigatorios não preenchidos  
1245 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);  
1246 - } 1303 + if (formDialogRecursoMaterial.$invalid) {
  1304 + //Mensagem de erro de campos obrigatorios não preenchidos
  1305 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1306 + return;
  1307 + }
  1308 +
  1309 + if ($scope.estudoTecnico.etRecursosMateriais){
  1310 + if ($scope.estudoTecnicoRecursoMaterialTemp.$checked){
  1311 + for (var i = 0; i < $scope.estudoTecnico.etRecursosMateriais.length; i++) {
  1312 + if ($scope.estudoTecnico.etRecursosMateriais[i].$checked) {
  1313 + $scope.estudoTecnico.etRecursosMateriais[i] = $scope.estudoTecnicoRecursoMaterialTemp;
  1314 + }
  1315 + }
  1316 + } else {
  1317 + $scope.estudoTecnico.etRecursosMateriais.push($scope.estudoTecnicoRecursoMaterialTemp);
  1318 + }
  1319 + } else {
  1320 + $scope.estudoTecnico.etRecursosMateriais = [$scope.estudoTecnicoRecursoMaterialTemp];
  1321 + }
  1322 +
  1323 + if(continuarEditando){
  1324 + formDialogRecursoMaterial.$submitted = false;
  1325 + formDialogRecursoMaterial.$setPristine();
  1326 + $scope.estudoTecnicoRecursoMaterialTemp = {
  1327 + disponivel : true
  1328 + };
  1329 + }else{
  1330 + $scope.estudoTecnicoRecursoMaterialTemp = {};
  1331 + $scope.$modalInstance.dismiss('cancel');
  1332 + }
  1333 + $scope.atualizarListaSizeSelectRecursoMaterial();
1247 }; 1334 };
1248 1335
1249 // Responsavel por adicionar um recurso humano ao estudo tecnico 1336 // Responsavel por adicionar um recurso humano ao estudo tecnico
1250 - $scope.salvaRecursoHumano = function (formDialogRecursoHumano){  
1251 -  
1252 - formDialogRecursoHumano.$submitted = true;  
1253 -  
1254 - if (formDialogRecursoHumano.$valid) {  
1255 - if ($scope.estudoTecnico.etRecursosHumanos){  
1256 - if ($scope.estudoTecnicoRecursoHumanoTemp.$checked){  
1257 - for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) {  
1258 - if ($scope.estudoTecnico.etRecursosHumanos[i].$checked) {  
1259 - $scope.estudoTecnico.etRecursosHumanos[i] = $scope.estudoTecnicoRecursoHumanoTemp;  
1260 - }  
1261 - }  
1262 - } else {  
1263 - $scope.estudoTecnico.etRecursosHumanos.push($scope.estudoTecnicoRecursoHumanoTemp);  
1264 - }  
1265 - } else {  
1266 - $scope.estudoTecnico.etRecursosHumanos = [$scope.estudoTecnicoRecursoHumanoTemp];  
1267 - }  
1268 - $scope.estudoTecnicoRecursoHumanoTemp = {};  
1269 - $scope.$modalInstance.dismiss('cancel');  
1270 - } else {  
1271 - //Mensagem de erro de campos obrigatorios não preenchidos  
1272 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);  
1273 - } 1337 + $scope.salvaRecursoHumano = function (formDialogRecursoHumano, continuarEditando){
  1338 +
  1339 + formDialogRecursoHumano.$submitted = true;
  1340 +
  1341 + if (formDialogRecursoHumano.$invalid) {
  1342 + //Mensagem de erro de campos obrigatorios não preenchidos
  1343 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1344 + return;
  1345 + }
  1346 +
  1347 + if ($scope.estudoTecnico.etRecursosHumanos){
  1348 + if ($scope.estudoTecnicoRecursoHumanoTemp.$checked){
  1349 + for (var i = 0; i < $scope.estudoTecnico.etRecursosHumanos.length; i++) {
  1350 + if ($scope.estudoTecnico.etRecursosHumanos[i].$checked) {
  1351 + $scope.estudoTecnico.etRecursosHumanos[i] = $scope.estudoTecnicoRecursoHumanoTemp;
  1352 + }
  1353 + }
  1354 + } else {
  1355 + $scope.estudoTecnico.etRecursosHumanos.push($scope.estudoTecnicoRecursoHumanoTemp);
  1356 + }
  1357 + } else {
  1358 + $scope.estudoTecnico.etRecursosHumanos = [$scope.estudoTecnicoRecursoHumanoTemp];
  1359 + }
  1360 + $scope.estudoTecnicoRecursoHumanoTemp = {};
  1361 +
  1362 + if(continuarEditando){
  1363 + formDialogRecursoHumano.$submitted = false;
  1364 + formDialogRecursoHumano.$setPristine();
  1365 + }else{
  1366 + $scope.$modalInstance.dismiss('cancel');
  1367 + }
  1368 + $scope.atualizarListaSizeSelectRecursoHumano();
1274 }; 1369 };
1275 1370
1276 - $scope.salvaAcaoCont = function(formDialogAcaoContingencia) { 1371 + $scope.salvaAcaoCont = function(formDialogAcaoContingencia, continuarEditando) {
1277 formDialogAcaoContingencia.$submitted = true; 1372 formDialogAcaoContingencia.$submitted = true;
1278 1373
1279 //verifica se o formulario está valido para salvar 1374 //verifica se o formulario está valido para salvar
1280 - if (formDialogAcaoContingencia.$valid) {  
1281 - if ($scope.estudoTecnico.etAcoesContingencia) {  
1282 - if ($scope.acaoCont.$checked) {  
1283 - for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) {  
1284 - if ($scope.estudoTecnico.etAcoesContingencia[i].$checked) {  
1285 - $scope.estudoTecnico.etAcoesContingencia[i] = $scope.acaoCont;  
1286 - }  
1287 - }  
1288 - } else {  
1289 - $scope.acaoCont.$index = $scope.estudoTecnico.etAcoesContingencia.length + 1;  
1290 - $scope.estudoTecnico.etAcoesContingencia.push($scope.acaoCont);  
1291 - }  
1292 - } else {  
1293 - $scope.acaoCont.$index = 1;  
1294 - $scope.estudoTecnico.etAcoesContingencia = [$scope.acaoCont];  
1295 - }  
1296 - $scope.$modalInstance.dismiss('cancel');  
1297 - } else {  
1298 - //Mensagem de erro de campos obrigatorios não preenchidos 1375 + if (formDialogAcaoContingencia.$invalid) {
  1376 + //Mensagem de erro de campos obrigatorios não preenchidos
1299 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 1377 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  1378 + return;
1300 } 1379 }
  1380 +
  1381 + if ($scope.estudoTecnico.etAcoesContingencia) {
  1382 + if ($scope.acaoCont.$checked) {
  1383 + for (var i = 0; i < $scope.estudoTecnico.etAcoesContingencia.length; i++) {
  1384 + if ($scope.estudoTecnico.etAcoesContingencia[i].$checked) {
  1385 + $scope.estudoTecnico.etAcoesContingencia[i] = $scope.acaoCont;
  1386 + }
  1387 + }
  1388 + } else {
  1389 + $scope.acaoCont.$index = $scope.estudoTecnico.etAcoesContingencia.length + 1;
  1390 + $scope.estudoTecnico.etAcoesContingencia.push($scope.acaoCont);
  1391 + }
  1392 + } else {
  1393 + $scope.acaoCont.$index = 1;
  1394 + $scope.estudoTecnico.etAcoesContingencia = [$scope.acaoCont];
  1395 + }
  1396 +
  1397 + $scope.acaoCont = {};
  1398 + if(continuarEditando){
  1399 + formDialogAcaoContingencia.$submitted = false;
  1400 + formDialogAcaoContingencia.$setPristine();
  1401 + }else{
  1402 + $scope.$modalInstance.dismiss('cancel');
  1403 + }
  1404 + $scope.atualizarListaSizeSelectAcaoContigencia();
1301 }; 1405 };
1302 1406
1303 //Watch para calcular valor unitario 1407 //Watch para calcular valor unitario
1304 $scope.$watch('reqNegocio.objetivoEstrategico', function() { 1408 $scope.$watch('reqNegocio.objetivoEstrategico', function() {
1305 if ($scope.reqNegocio.objetivoEstrategico && ($scope.reqNegocio.objetivoEstrategico.id)) { 1409 if ($scope.reqNegocio.objetivoEstrategico && ($scope.reqNegocio.objetivoEstrategico.id)) {
1306 - ObjetivoEstrategicoNecessidadeRepository.findAllByObjetivoEstrategico($scope.reqNegocio.objetivoEstrategico).then(function(result) {  
1307 - $scope.reqNegocio.objetivoEstrategico.necessidadesElencadas = result;  
1308 - }); 1410 + ObjetivoEstrategicoNecessidadeRepository.findAllByObjetivoEstrategico($scope.reqNegocio.objetivoEstrategico).then(function(result) {
  1411 + $scope.reqNegocio.objetivoEstrategico.necessidadesElencadas = result;
  1412 + });
1309 } 1413 }
1310 }); 1414 });
1311 1415
@@ -1313,13 +1417,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1313,13 +1417,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1313 // ########################################### DAQUI PARA BAIXO SAO TODOS OS METODOS RELACIONADOS AO WIZARD 1417 // ########################################### DAQUI PARA BAIXO SAO TODOS OS METODOS RELACIONADOS AO WIZARD
1314 // ########################################### 1418 // ###########################################
1315 1419
1316 - $scope.templates = [{ name: 'estudoTecnicoPg1.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg1.html', show: true},  
1317 - { name: 'estudoTecnicoPg2.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg2.html', show: false},  
1318 - { name: 'estudoTecnicoPg3.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg3.html', show: false},  
1319 - { name: 'estudoTecnicoPg4.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg4.html', show: false},  
1320 - { name: 'estudoTecnicoPg5.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg5.html', show: false},  
1321 - { name: 'estudoTecnicoPg6.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg6.html', show: false},  
1322 - { name: 'estudoTecnicoPg7.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg7.html', show: false} ]; 1420 + $scope.templates = [{ name: 'estudoTecnicoPg1.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg1.html', show: true},
  1421 + { name: 'estudoTecnicoPg2.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg2.html', show: false},
  1422 + { name: 'estudoTecnicoPg3.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg3.html', show: false},
  1423 + { name: 'estudoTecnicoPg4.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg4.html', show: false},
  1424 + { name: 'estudoTecnicoPg5.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg5.html', show: false},
  1425 + { name: 'estudoTecnicoPg6.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg6.html', show: false},
  1426 + { name: 'estudoTecnicoPg7.html', url: '/cit-contratos-web/html/estudoTecnico/estudoTecnicoPg7.html', show: false} ];
1323 1427
1324 $scope.steps = ['one', 'two', 'three', 'four', 'five', 'six', 'seven']; 1428 $scope.steps = ['one', 'two', 'three', 'four', 'five', 'six', 'seven'];
1325 $scope.step = 0; 1429 $scope.step = 0;
@@ -1339,13 +1443,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1339,13 +1443,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1339 return $scope.step === step; 1443 return $scope.step === step;
1340 }; 1444 };
1341 1445
1342 - // Utilizado pelo wizard para mudar para o passo desejado 1446 + // Utilizado pelo wizard para mudar para o passo desejado
1343 $scope.setCurrentStep = function(step) { 1447 $scope.setCurrentStep = function(step) {
1344 1448
1345 $scope.setLoadingGet(true); 1449 $scope.setLoadingGet(true);
1346 1450
1347 if (step <= ($scope.step - 1)) { 1451 if (step <= ($scope.step - 1)) {
1348 - $scope.templates[$scope.step].show = false; 1452 + $scope.templates[$scope.step].show = false;
1349 $scope.step = step; 1453 $scope.step = step;
1350 $scope.templates[step].show = true; 1454 $scope.templates[step].show = true;
1351 } else { 1455 } else {
@@ -1356,7 +1460,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1356,7 +1460,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1356 } 1460 }
1357 1461
1358 if ($scope.permitidoAvancar) { 1462 if ($scope.permitidoAvancar) {
1359 - $scope.templates[$scope.step].show = false; 1463 + $scope.templates[$scope.step].show = false;
1360 $scope.step = step; 1464 $scope.step = step;
1361 $scope.templates[step].show = true; 1465 $scope.templates[step].show = true;
1362 } 1466 }
@@ -1375,13 +1479,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1375,13 +1479,13 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1375 $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = true; 1479 $scope.estudoTecnicoForm.planejamentoContratacaoForm.$submitted = true;
1376 } 1480 }
1377 } else if ($scope.step === 1) { 1481 } else if ($scope.step === 1) {
1378 - if (!validStepRequisitos() && $scope.permitidoAvancar) {  
1379 - $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = true; 1482 + if (!validStepRequisitos() && $scope.permitidoAvancar) {
  1483 + $scope.estudoTecnicoForm.definicaoRequisitosForm.$submitted = true;
1380 } 1484 }
1381 } else if ($scope.step === 2) { 1485 } else if ($scope.step === 2) {
1382 - if(!validStepLevantamentoAlternativas() && $scope.permitidoAvancar){  
1383 - $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = true;  
1384 - } 1486 + if(!validStepLevantamentoAlternativas() && $scope.permitidoAvancar){
  1487 + $scope.estudoTecnicoForm.levantamentoAlternativasForm.$submitted = true;
  1488 + }
1385 } else if ($scope.step === 3) { 1489 } else if ($scope.step === 3) {
1386 if (!validStepBeneficiosNecessidades() && $scope.permitidoAvancar) { 1490 if (!validStepBeneficiosNecessidades() && $scope.permitidoAvancar) {
1387 $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = true; 1491 $scope.estudoTecnicoForm.beneficiosNecessidadesForm.$submitted = true;
@@ -1390,7 +1494,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1390,7 +1494,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1390 $scope.recursosNecessariosForm.$submitted = true; 1494 $scope.recursosNecessariosForm.$submitted = true;
1391 $scope.permitidoAvancar = false; 1495 $scope.permitidoAvancar = false;
1392 } else if ($scope.step === 5 && !validStepEstrategiaContratual()) { 1496 } else if ($scope.step === 5 && !validStepEstrategiaContratual()) {
1393 - $scope.estudoTecnicoForm.estrategiaContratualForm.$submitted = true; 1497 + $scope.estudoTecnicoForm.estrategiaContratualForm.$submitted = true;
1394 } else if ($scope.step === 6) { 1498 } else if ($scope.step === 6) {
1395 $scope.observacoesEntradaForm.$submitted = true; 1499 $scope.observacoesEntradaForm.$submitted = true;
1396 } 1500 }
@@ -1421,26 +1525,26 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1421,26 +1525,26 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1421 1525
1422 // Faz com o que o wizard avance um passo 1526 // Faz com o que o wizard avance um passo
1423 $scope.handleNext = function () { 1527 $scope.handleNext = function () {
1424 - $scope.setLoadingGet(true); 1528 + $scope.setLoadingGet(true);
1425 1529
1426 - if(!$scope.edit){  
1427 - $scope.permitidoAvancar = true;  
1428 - } else {  
1429 - permiteAvancoFluxo();  
1430 - } 1530 + if(!$scope.edit){
  1531 + $scope.permitidoAvancar = true;
  1532 + } else {
  1533 + permiteAvancoFluxo();
  1534 + }
1431 1535
1432 - if ($scope.permitidoAvancar){  
1433 - $scope.templates[$scope.step].show = false;  
1434 - $scope.step += 1;  
1435 - $scope.templates[$scope.step].show = true;  
1436 - } 1536 + if ($scope.permitidoAvancar){
  1537 + $scope.templates[$scope.step].show = false;
  1538 + $scope.step += 1;
  1539 + $scope.templates[$scope.step].show = true;
  1540 + }
1437 1541
1438 - $scope.setLoading(false);  
1439 - }; 1542 + $scope.setLoading(false);
  1543 + };
1440 1544
1441 // Funcao especifica que retorna se o formulario de dados da entrada esta valido 1545 // Funcao especifica que retorna se o formulario de dados da entrada esta valido
1442 function validStepPlanejamentoContratacao() { 1546 function validStepPlanejamentoContratacao() {
1443 - $scope.stepValid = true; 1547 + $scope.stepValid = true;
1444 1548
1445 if ($scope.estudoTecnicoForm.planejamentoContratacaoForm.$invalid) { 1549 if ($scope.estudoTecnicoForm.planejamentoContratacaoForm.$invalid) {
1446 $scope.stepValid = false; 1550 $scope.stepValid = false;
@@ -1465,7 +1569,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1465,7 +1569,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1465 $scope.stepValid = true; 1569 $scope.stepValid = true;
1466 1570
1467 if ($scope.estudoTecnicoForm.levantamentoAlternativasForm.$invalid || (!$scope.estudoTecnico.etLevantamentoAlternativas || $scope.estudoTecnico.etLevantamentoAlternativas.length < 1) 1571 if ($scope.estudoTecnicoForm.levantamentoAlternativasForm.$invalid || (!$scope.estudoTecnico.etLevantamentoAlternativas || $scope.estudoTecnico.etLevantamentoAlternativas.length < 1)
1468 - || (!$scope.estudoTecnico.etBensServicosSolucoes || $scope.estudoTecnico.etBensServicosSolucoes.length < 1)) { 1572 + || (!$scope.estudoTecnico.etBensServicosSolucoes || $scope.estudoTecnico.etBensServicosSolucoes.length < 1)) {
1469 $scope.stepValid = false; 1573 $scope.stepValid = false;
1470 } 1574 }
1471 1575
@@ -1474,7 +1578,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1474,7 +1578,7 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1474 1578
1475 // Funcao especifica que retorna se o formulario de beneficios e necessidades está valido 1579 // Funcao especifica que retorna se o formulario de beneficios e necessidades está valido
1476 function validStepBeneficiosNecessidades() { 1580 function validStepBeneficiosNecessidades() {
1477 - $scope.stepValid = true; 1581 + $scope.stepValid = true;
1478 1582
1479 if ($scope.estudoTecnicoForm.beneficiosNecessidadesForm.$invalid || (!$scope.estudoTecnico.etBeneficiosEsperados || $scope.estudoTecnico.etBeneficiosEsperados.length < 1)) { 1583 if ($scope.estudoTecnicoForm.beneficiosNecessidadesForm.$invalid || (!$scope.estudoTecnico.etBeneficiosEsperados || $scope.estudoTecnico.etBeneficiosEsperados.length < 1)) {
1480 $scope.stepValid = false; 1584 $scope.stepValid = false;
@@ -1518,4 +1622,60 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository @@ -1518,4 +1622,60 @@ citApp.controller(&#39;EstudoTecnicoController&#39;, [&#39;$scope&#39;, &#39;EstudoTecnicoRepository
1518 return $scope.stepValid; 1622 return $scope.stepValid;
1519 }; 1623 };
1520 1624
  1625 + $scope.atualizarListaSizeSelectReqNegocio = function() {
  1626 + if(!$scope.listaSize){
  1627 + $scope.listaSize = 0;
  1628 + };
  1629 + var lista = $scope.getReqNegocioChecked();
  1630 + $scope.listaSize = lista.length;
  1631 + };
  1632 +
  1633 + $scope.atualizarListaSizeSelectSolucao = function() {
  1634 + if(!$scope.listaSizeSolucao){
  1635 + $scope.listaSizeSolucao = 0;
  1636 + };
  1637 + var lista = $scope.getSolucaoChecked();
  1638 + $scope.listaSizeSolucao = lista.length;
  1639 + };
  1640 +
  1641 + $scope.atualizarListaSizeSelectServicoSolucao = function() {
  1642 + if(!$scope.listaSizeServicoSolucao){
  1643 + $scope.listaSizeServicoSolucao = 0;
  1644 + };
  1645 + var lista = $scope.getBemServicoChecked();
  1646 + $scope.listaSizeServicoSolucao = lista.length;
  1647 + };
  1648 +
  1649 + $scope.atualizarListaSizeSelectBeneficio = function() {
  1650 + if(!$scope.listaSizeBeneficio){
  1651 + $scope.listaSizeBeneficio = 0;
  1652 + };
  1653 + var lista = $scope.getBeneficioEsperadoChecked();
  1654 + $scope.listaSizeBeneficio = lista.length;
  1655 + };
  1656 +
  1657 + $scope.atualizarListaSizeSelectRecursoMaterial = function() {
  1658 + if(!$scope.listaSizeRecursoMaterial){
  1659 + $scope.listaSizeRecursoMaterial = 0;
  1660 + };
  1661 + var lista = $scope.getRecursoMaterialChecked();
  1662 + $scope.listaSizeRecursoMaterial = lista.length;
  1663 + };
  1664 +
  1665 + $scope.atualizarListaSizeSelectRecursoHumano = function() {
  1666 + if(!$scope.listaSizeRecursoHumano){
  1667 + $scope.listaSizeRecursoHumano = 0;
  1668 + };
  1669 + var lista = $scope.getRecursoHumanoChecked();
  1670 + $scope.listaSizeRecursoHumano = lista.length;
  1671 + };
  1672 +
  1673 + $scope.atualizarListaSizeSelectAcaoContigencia = function() {
  1674 + if(!$scope.listaSizeAcaoContigencia){
  1675 + $scope.listaSizeAcaoContigencia = 0;
  1676 + };
  1677 + var lista = $scope.getAcaoContChecked();
  1678 + $scope.listaSizeAcaoContigencia = lista.length;
  1679 + };
  1680 +
1521 }]); 1681 }]);
1522 \ No newline at end of file 1682 \ No newline at end of file
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/TermoReferenciaController.js
@@ -235,6 +235,8 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -235,6 +235,8 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
235 $scope.editPenalidade = false; 235 $scope.editPenalidade = false;
236 $scope.editSancao = false; 236 $scope.editSancao = false;
237 $scope.step = 0; 237 $scope.step = 0;
  238 +
  239 + $scope.startTimerIntervalSaveDraft($scope.workspace , $scope.termoReferencia, true);
238 240
239 $scope.startTimerIntervalSaveDraft($scope.workspace, $scope.termoReferencia); 241 $scope.startTimerIntervalSaveDraft($scope.workspace, $scope.termoReferencia);
240 242
@@ -262,6 +264,9 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -262,6 +264,9 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
262 $scope.getConfiguracoesTemplate(); 264 $scope.getConfiguracoesTemplate();
263 $scope.preenchePapeis(); 265 $scope.preenchePapeis();
264 $scope.carregarValoresPadrao(); 266 $scope.carregarValoresPadrao();
  267 + $scope.atualizarListaSizeSelect();
  268 + $scope.atualizarListaSizeSelectPenalidade();
  269 + $scope.atualizarListaSizeSelectSancao();
265 270
266 }; 271 };
267 272
@@ -345,100 +350,118 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -345,100 +350,118 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
345 }; 350 };
346 351
347 // ADICIONAR Detalhamento Solucao 352 // ADICIONAR Detalhamento Solucao
348 - $scope.addDetalhamentoSolucao = function(formDetalhamento) {  
349 -  
350 - var detalhe = $scope.termoReferenciaDetalhamentoSolucao;  
351 -  
352 - formDetalhamento.$submitted = true;  
353 -  
354 - //verifica se o formulario esta valido para salvar  
355 - if (formDetalhamento.$valid) {  
356 -  
357 - if (detalhe.formaPagamento && detalhe.formaPagamento.codigo===1){  
358 - $scope.termoReferenciaDetalhamentoSolucao.numeroParcelas = null;  
359 - }  
360 -  
361 - $scope.setLoadingSalva(true);  
362 -  
363 - var isDuplicado = false;  
364 - angular.forEach($scope.termoReferencia.detalhamentosSolucoes, function (item, idx) {  
365 - if (item.bemServicoSolucao.id === detalhe.bemServicoSolucao.id) {  
366 - isDuplicado = true;  
367 - $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.BENS_E_SERVICOS_JA_ADD'), " ", false);  
368 - return;  
369 - }  
370 - });  
371 -  
372 - if (!isDuplicado) {  
373 -  
374 - if (detalhe.$index != undefined && detalhe.$index != null) {  
375 - $scope.termoReferencia.detalhamentosSolucoes[detalhe.$index] = detalhe;  
376 - } else {  
377 - $scope.termoReferencia.detalhamentosSolucoes.push(detalhe);  
378 - }  
379 -  
380 -// $scope.atualizaListaEtBensServicos();  
381 - $scope.$modalInstance.dismiss('cancel');  
382 - }  
383 - $scope.setLoadingSalva(false);  
384 -  
385 - } else {  
386 - //Mensagem de erro de campos obrigatorios nao preenchidos  
387 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);  
388 - } 353 + $scope.addDetalhamentoSolucao = function(formDetalhamento, continuarEditando) {
  354 +
  355 + var detalhe = $scope.termoReferenciaDetalhamentoSolucao;
  356 + formDetalhamento.$submitted = true;
  357 +
  358 + //verifica se o formulario esta valido para salvar
  359 + if (formDetalhamento.$invalid) {
  360 + //Mensagem de erro de campos obrigatorios nao preenchidos
  361 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  362 + return;
  363 + }
  364 +
  365 + if (detalhe.formaPagamento && detalhe.formaPagamento.codigo===1){
  366 + $scope.termoReferenciaDetalhamentoSolucao.numeroParcelas = null;
  367 + }
  368 + $scope.setLoadingSalva(true);
  369 + var isDuplicado = false;
  370 + angular.forEach($scope.termoReferencia.detalhamentosSolucoes, function (item, idx) {
  371 + if (item.bemServicoSolucao.id === detalhe.bemServicoSolucao.id) {
  372 + isDuplicado = true;
  373 + $scope.showAlert('error', $translate.instant('CONTRATOS.VALIDACAO.BENS_E_SERVICOS_JA_ADD'), " ", false);
  374 + return;
  375 + }
  376 + });
  377 +
  378 + if (!isDuplicado) {
  379 +
  380 + if (detalhe.$index != undefined && detalhe.$index != null) {
  381 + $scope.termoReferencia.detalhamentosSolucoes[detalhe.$index] = detalhe;
  382 + } else {
  383 + $scope.termoReferencia.detalhamentosSolucoes.push(detalhe);
  384 + }
  385 +
  386 + if(continuarEditando){
  387 + formDetalhamento.$submitted = false;
  388 + formDetalhamento.$setPristine();
  389 + $scope.termoReferenciaDetalhamentoSolucao = {};
  390 + $scope.listEtBensServicos = $scope.termoReferencia.estudoTecnico.etBensServicosSolucoes;
  391 + }else{
  392 + $scope.$modalInstance.dismiss('cancel');
  393 + }
  394 + $scope.atualizarListaSizeSelect();
  395 + }
  396 +
  397 + $scope.setLoadingSalva(false);
  398 +
389 }; 399 };
390 400
391 // ADICIONAR Penalidade 401 // ADICIONAR Penalidade
392 - $scope.addPenalidade = function(formPenalidade) { 402 + $scope.addPenalidade = function(formPenalidade, continuarEditando) {
393 403
394 var penalid = $scope.penalidade; 404 var penalid = $scope.penalidade;
395 405
396 formPenalidade.$submitted = true; 406 formPenalidade.$submitted = true;
397 407
398 //verifica se o formulario esta valido para salvar 408 //verifica se o formulario esta valido para salvar
399 - if (formPenalidade.$valid) {  
400 -  
401 - $scope.setLoadingSalva(true);  
402 -  
403 - if (penalid.$index != undefined && penalid.$index != null) {  
404 - $scope.termoReferencia.penalidades[penalid.$index] = penalid;  
405 - } else {  
406 - $scope.termoReferencia.penalidades.push(penalid);  
407 - } 409 + if (formPenalidade.$invalid) {
  410 + //Mensagem de erro de campos obrigatorios nao preenchidos
  411 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  412 + return;
  413 + }
408 414
409 - $scope.setLoadingSalva(false);  
410 - $scope.$modalInstance.dismiss('cancel'); 415 + $scope.setLoadingSalva(true);
411 416
  417 + if (penalid.$index != undefined && penalid.$index != null) {
  418 + $scope.termoReferencia.penalidades[penalid.$index] = penalid;
412 } else { 419 } else {
413 - //Mensagem de erro de campos obrigatorios nao preenchidos  
414 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 420 + $scope.termoReferencia.penalidades.push(penalid);
415 } 421 }
  422 +
  423 + $scope.setLoadingSalva(false);
  424 +
  425 + if(continuarEditando){
  426 + formPenalidade.$submitted = false;
  427 + formPenalidade.$setPristine();
  428 + $scope.penalidade = {};
  429 + }else{
  430 + $scope.$modalInstance.dismiss('cancel');
  431 + }
  432 + $scope.atualizarListaSizeSelectPenalidade();
416 }; 433 };
417 434
418 // ADICIONAR Penalidade 435 // ADICIONAR Penalidade
419 - $scope.addSancao = function(formSancao) { 436 + $scope.addSancao = function(formSancao, continuarEditando) {
420 437
421 var sans = $scope.sancao; 438 var sans = $scope.sancao;
422 439
423 formSancao.$submitted = true; 440 formSancao.$submitted = true;
424 441
425 //verifica se o formulario esta valido para salvar 442 //verifica se o formulario esta valido para salvar
426 - if (formSancao.$valid) { 443 + if (formSancao.$invalid) {
  444 + //Mensagem de erro de campos obrigatorios nao preenchidos
  445 + $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false);
  446 + return;
  447 + }
427 448
428 - $scope.setLoadingSalva(true); 449 + $scope.setLoadingSalva(true);
429 450
430 - if (sans.$index != undefined && sans.$index != null) {  
431 - $scope.termoReferencia.sancoes[sans.$index] = sans;  
432 - } else {  
433 - $scope.termoReferencia.sancoes.push(sans);  
434 - } 451 + if (sans.$index != undefined && sans.$index != null) {
  452 + $scope.termoReferencia.sancoes[sans.$index] = sans;
  453 + } else {
  454 + $scope.termoReferencia.sancoes.push(sans);
  455 + }
435 456
436 - $scope.setLoadingSalva(false);  
437 - $scope.$modalInstance.dismiss('cancel'); 457 + $scope.setLoadingSalva(false);
438 458
  459 + if(continuarEditando){
  460 + formSancao.$submitted = false;
  461 + formSancao.$setPristine();
  462 + $scope.sancao = {};
439 } else { 463 } else {
440 - //Mensagem de erro de campos obrigatorios nao preenchidos  
441 - $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'), " ", false); 464 + $scope.$modalInstance.dismiss('cancel');
442 } 465 }
443 }; 466 };
444 467
@@ -502,6 +525,7 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -502,6 +525,7 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
502 $scope.termoReferencia.detalhamentosSolucoes[i].$checked = false; 525 $scope.termoReferencia.detalhamentosSolucoes[i].$checked = false;
503 } 526 }
504 } 527 }
  528 + $scope.atualizarListaSizeSelect();
505 }); 529 });
506 }; 530 };
507 531
@@ -528,6 +552,7 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -528,6 +552,7 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
528 $scope.termoReferencia.penalidades[i].$checked = false; 552 $scope.termoReferencia.penalidades[i].$checked = false;
529 } 553 }
530 } 554 }
  555 + $scope.atualizarListaSizeSelectPenalidade();
531 }); 556 });
532 }; 557 };
533 558
@@ -554,6 +579,7 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -554,6 +579,7 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
554 $scope.termoReferencia.sancoes[i].$checked = false; 579 $scope.termoReferencia.sancoes[i].$checked = false;
555 } 580 }
556 } 581 }
  582 + $scope.atualizarListaSizeSelectSancao();
557 }); 583 });
558 }; 584 };
559 585
@@ -601,17 +627,20 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -601,17 +627,20 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
601 627
602 //###################### METODOS DA BARRA DE ACOES DO FORMULARIO #################################### 628 //###################### METODOS DA BARRA DE ACOES DO FORMULARIO ####################################
603 629
  630 + function setFormsTermoReferenciaSubmitted(valor){
  631 + $scope.termoReferenciaForm.$submitted = valor;
  632 + $scope.termoReferenciaForm.equipeContratacaoForm.$submitted = valor;
  633 + $scope.termoReferenciaForm.justificativaContratacaoForm.$submitted = valor;
  634 + $scope.termoReferenciaForm.especificacoesTecnicasForm.$submitted = valor;
  635 + $scope.termoReferenciaForm.modeloGestaoForm.$submitted = valor;
  636 + $scope.termoReferenciaForm.sancoesForm.$submitted = valor;
  637 + $scope.termoReferenciaForm.criteriosSelecaoForm.$submitted = valor;
  638 + $scope.termoReferenciaForm.anexosObservacoesForm.$submitted = valor;
  639 + }
604 // SALVA O TERMO 640 // SALVA O TERMO
605 $scope.saveOrUpdate = function(){ 641 $scope.saveOrUpdate = function(){
606 642
607 - $scope.termoReferenciaForm.$submitted = true;  
608 - $scope.termoReferenciaForm.equipeContratacaoForm.$submitted = true;  
609 - $scope.termoReferenciaForm.justificativaContratacaoForm.$submitted = true;  
610 - $scope.termoReferenciaForm.especificacoesTecnicasForm.$submitted = true;  
611 - $scope.termoReferenciaForm.modeloGestaoForm.$submitted = true;  
612 - $scope.termoReferenciaForm.sancoesForm.$submitted = true;  
613 - $scope.termoReferenciaForm.criteriosSelecaoForm.$submitted = true;  
614 - $scope.termoReferenciaForm.anexosObservacoesForm.$submitted = true; 643 + setFormsTermoReferenciaSubmitted(true);
615 644
616 //Vefifica se o termoReferenciaForm esta invalido, caso esteja envia um alerta para o usuario 645 //Vefifica se o termoReferenciaForm esta invalido, caso esteja envia um alerta para o usuario
617 if($scope.termoReferenciaForm.$invalid){ 646 if($scope.termoReferenciaForm.$invalid){
@@ -638,11 +667,15 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -638,11 +667,15 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
638 TermoReferenciaRepository.save($scope.termoReferencia).then(function(result) { 667 TermoReferenciaRepository.save($scope.termoReferencia).then(function(result) {
639 668
640 $scope.termoReferencia = result.originalElement; 669 $scope.termoReferencia = result.originalElement;
  670 + $scope.atualizaListaBeneficiosEsperados($scope.termoReferencia.estudoTecnico);
  671 + $scope.atualizaListaJustificativasContratacao($scope.termoReferencia.estudoTecnico);
  672 + $scope.atualizaInformacoesIntegrantesEstudoTecnico($scope.termoReferencia.estudoTecnico);
  673 +
641 $scope.setLoading(false); 674 $scope.setLoading(false);
642 $scope.showAlert("success", $translate.instant('MSG.SUCESSO_SALVAR_TERMO_REFERENCIA')); 675 $scope.showAlert("success", $translate.instant('MSG.SUCESSO_SALVAR_TERMO_REFERENCIA'));
643 // depois de salvar o termo ja tendo uma referencia do id do termo, esse metodo ira salvar os documentos se houver 676 // depois de salvar o termo ja tendo uma referencia do id do termo, esse metodo ira salvar os documentos se houver
644 salvarListaDocumentos(termoTemp); 677 salvarListaDocumentos(termoTemp);
645 - $scope.termoReferenciaForm.$submitted = false; 678 + setFormsTermoReferenciaSubmitted(false);
646 }); 679 });
647 }; 680 };
648 }; 681 };
@@ -674,19 +707,20 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -674,19 +707,20 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
674 }; 707 };
675 708
676 // MODAL QUE CONFIRMA REMOVER TERMO 709 // MODAL QUE CONFIRMA REMOVER TERMO
677 - $scope.remove = function(termo){ 710 + $scope.remover = function(termo){
678 $scope.$openModalConfirm({ 711 $scope.$openModalConfirm({
679 message: $translate.instant('MSG.CONFIRMA_EXCLUIR_TERMO_REFERENCIA'), 712 message: $translate.instant('MSG.CONFIRMA_EXCLUIR_TERMO_REFERENCIA'),
680 callback: function () { 713 callback: function () {
681 TermoReferenciaRepository.remove(termo).then(function() { 714 TermoReferenciaRepository.remove(termo).then(function() {
682 $scope.termoReferencia = {}; 715 $scope.termoReferencia = {};
683 716
684 - $scope.$modalConfirmInstance.dismiss('cancel');  
685 $scope.showAlert("success", $translate.instant('MSG.SUCESSO_EXCLUSAO_TERMO_REFERENCIA')); 717 $scope.showAlert("success", $translate.instant('MSG.SUCESSO_EXCLUSAO_TERMO_REFERENCIA'));
686 angular.element('#searchTermoReferencia').scope().fetchResult(); 718 angular.element('#searchTermoReferencia').scope().fetchResult();
687 719
688 - $scope.resetForm();  
689 }); 720 });
  721 +
  722 + $scope.$modalConfirmInstance.dismiss('cancel');
  723 + $scope.resetForm();
690 } 724 }
691 }); 725 });
692 }; 726 };
@@ -774,9 +808,9 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -774,9 +808,9 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
774 } 808 }
775 }); 809 });
776 810
777 - $scope.$modalConfirmInstance.dismiss('cancel');  
778 -  
779 $scope.termoReferencia.penalidades.splice(index, 1); 811 $scope.termoReferencia.penalidades.splice(index, 1);
  812 + $scope.atualizarListaSizeSelectPenalidade();
  813 + $scope.$modalConfirmInstance.dismiss('cancel');
780 } 814 }
781 }); 815 });
782 } else { 816 } else {
@@ -803,9 +837,10 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -803,9 +837,10 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
803 } 837 }
804 }); 838 });
805 839
806 - $scope.$modalConfirmInstance.dismiss('cancel');  
807 840
808 $scope.termoReferencia.sancoes.splice(index, 1); 841 $scope.termoReferencia.sancoes.splice(index, 1);
  842 + $scope.atualizarListaSizeSelectSancao();
  843 + $scope.$modalConfirmInstance.dismiss('cancel');
809 } 844 }
810 }); 845 });
811 } 846 }
@@ -830,9 +865,9 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -830,9 +865,9 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
830 } 865 }
831 }); 866 });
832 867
  868 + $scope.termoReferencia.detalhamentosSolucoes.splice(index, 1);
  869 + $scope.atualizarListaSizeSelect();
833 $scope.$modalConfirmInstance.dismiss('cancel'); 870 $scope.$modalConfirmInstance.dismiss('cancel');
834 -  
835 - $scope.termoReferencia.detalhamentosSolucoes.splice(index, 1);  
836 } 871 }
837 }); 872 });
838 } else { 873 } else {
@@ -1038,13 +1073,13 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -1038,13 +1073,13 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
1038 case 3 : 1073 case 3 :
1039 //modeloGestaoForm 1074 //modeloGestaoForm
1040 return {'active': $scope.isCurrentStep(step), 1075 return {'active': $scope.isCurrentStep(step),
1041 - 'complete' : (isFormSubmited($scope.termoReferenciaForm.modeloGestaoForm) || $scope.step > step)}; 1076 + 'complete' : ($scope.step > step || ($scope.step > step && isFormSubmited($scope.termoReferenciaForm.modeloGestaoForm)))};
1042 break; 1077 break;
1043 case 4 : 1078 case 4 :
1044 //sancoesForm 1079 //sancoesForm
1045 return {'active': $scope.isCurrentStep(step), 1080 return {'active': $scope.isCurrentStep(step),
1046 'complete' : ($scope.step > step && isFormValid($scope.termoReferenciaForm.sancoesForm) && ($scope.termoReferencia.sancoes.length >= 1 && $scope.termoReferencia.penalidades.length >= 1)), 1081 'complete' : ($scope.step > step && isFormValid($scope.termoReferenciaForm.sancoesForm) && ($scope.termoReferencia.sancoes.length >= 1 && $scope.termoReferencia.penalidades.length >= 1)),
1047 - 'invalid' : ((isFormSubmited($scope.termoReferenciaForm.sancoesForm) || $scope.step > step) && ($scope.termoReferencia.sancoes.length < 1 || $scope.termoReferencia.penalidades.length < 1))}; 1082 + 'invalid' : ($scope.step > step && ($scope.termoReferencia.sancoes.length < 1 || $scope.termoReferencia.penalidades.length < 1))};
1048 break; 1083 break;
1049 case 5 : 1084 case 5 :
1050 //criteriosSelecaoForm 1085 //criteriosSelecaoForm
@@ -1055,7 +1090,7 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -1055,7 +1090,7 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
1055 case 6 : 1090 case 6 :
1056 //anexosObservacoesForm 1091 //anexosObservacoesForm
1057 return {'active': $scope.isCurrentStep(step) || isFormSubmited($scope.termoReferenciaForm.anexosObservacoesForm), 1092 return {'active': $scope.isCurrentStep(step) || isFormSubmited($scope.termoReferenciaForm.anexosObservacoesForm),
1058 - 'complete' : ($scope.isCurrentStep(step) || isFormSubmited($scope.termoReferenciaForm.anexosObservacoesForm))}; 1093 + 'complete' : ($scope.isCurrentStep(step) || ($scope.step > step && isFormSubmited($scope.termoReferenciaForm.anexosObservacoesForm)))};
1059 break; 1094 break;
1060 }; 1095 };
1061 }; 1096 };
@@ -1064,5 +1099,47 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;, @@ -1064,5 +1099,47 @@ citApp.controller(&#39;TermoReferenciaController&#39;, [&#39;$scope&#39;,
1064 return {'active': false, 'complete' : true, 'invalid' : false}; 1099 return {'active': false, 'complete' : true, 'invalid' : false};
1065 }; 1100 };
1066 1101
  1102 + $scope.atualizarListaSizeSelect = function() {
  1103 + $timeout(function(){
  1104 + if(!$scope.listaSize){
  1105 + $scope.listaSize = 0;
  1106 + };
  1107 + var lista = [];
  1108 + var objChecked = (clone($scope.getDetalhamentoSolucaoChecked()));
  1109 + if(objChecked != undefined){
  1110 + lista.push(objChecked);
  1111 + }
  1112 + $scope.listaSize = lista.length;
  1113 + });
  1114 + };
  1115 +
  1116 + $scope.atualizarListaSizeSelectPenalidade = function() {
  1117 + $timeout(function(){
  1118 + if(!$scope.listaSizePenalidade){
  1119 + $scope.listaSizePenalidade = 0;
  1120 + };
  1121 + var lista = [];
  1122 + var objChecked = (clone($scope.getPenalidadeChecked()));
  1123 + if(objChecked != undefined){
  1124 + lista.push(objChecked);
  1125 + }
  1126 + $scope.listaSizePenalidade = lista.length;
  1127 + });
  1128 + };
  1129 +
  1130 + $scope.atualizarListaSizeSelectSancao = function() {
  1131 + $timeout(function(){
  1132 + if(!$scope.listaSizeSancao){
  1133 + $scope.listaSizeSancao = 0;
  1134 + };
  1135 + var lista = [];
  1136 + var objChecked = (clone($scope.getSancaoChecked()));
  1137 + if(objChecked != undefined){
  1138 + lista.push(objChecked);
  1139 + }
  1140 + $scope.listaSizeSancao = lista.length;
  1141 + });
  1142 + };
  1143 +
1067 }]); 1144 }]);
1068 1145
cit-contratos-web/src/main/webapp/html/contrato/contratoList.html
@@ -21,6 +21,10 @@ @@ -21,6 +21,10 @@
21 <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'ContratoRepository', 'LABEL.CONTRATO')" type="button"> 21 <button class="btn btn-clear" ng-click="exportarCSV(filterCriteria, headers, 'ContratoRepository', 'LABEL.CONTRATO')" type="button">
22 <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate> 22 <i class="fa fa-file-excel-o"></i> <translate>LABEL.EXPORTAR_CSV</translate>
23 </button> 23 </button>
  24 +
  25 + <button class="btn btn-clear" ng-click="showListRascunho(workspace.name)" type="button">
  26 + <i class="fa fa-list"></i> <translate>PORTAL.LABEL.SHOW_RASCUNHO</translate>
  27 + </button>
24 28
25 <!-- <button class="btn btn-clear" ng-click="remove();"> 29 <!-- <button class="btn btn-clear" ng-click="remove();">
26 <i class="fa fa-times red"></i> 30 <i class="fa fa-times red"></i>
@@ -56,4 +60,4 @@ @@ -56,4 +60,4 @@
56 60
57 <list-view ng-lista="contratosList" ng-repository="ContratoRepository" ng-use-custom-remove="false" ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="contratoChecked"></list-view> 61 <list-view ng-lista="contratosList" ng-repository="ContratoRepository" ng-use-custom-remove="false" ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="contratoChecked"></list-view>
58 62
59 -</div><!-- .page-content -->  
60 \ No newline at end of file 63 \ No newline at end of file
  64 +</div><!-- .page-content -->