Commit fdf75265379694deec3fbe612f1510140c44a005

Authored by Ronan Tavares Camargo
1 parent d94160fb
Exists in master

Redmine #4545

cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/CronogramaExecucaoController.js
@@ -20,7 +20,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -20,7 +20,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
20 20
21 $scope.uploader = new FileUploader({ 21 $scope.uploader = new FileUploader({
22 autoUpload: false, 22 autoUpload: false,
23 - queueLimit: 1, 23 + queueLimit: 99,
24 url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento=' 24 url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento='
25 }); 25 });
26 26
@@ -153,15 +153,16 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -153,15 +153,16 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
153 $scope.setLoadingSalva(true); 153 $scope.setLoadingSalva(true);
154 154
155 var cronogramaExecucaoTemp = { 155 var cronogramaExecucaoTemp = {
156 - documentos: [] 156 + documentos: []
157 }; 157 };
158 158
159 // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento 159 // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento
160 angular.forEach($scope.cronogramaExecucao.documentos, function(documento, key) { 160 angular.forEach($scope.cronogramaExecucao.documentos, function(documento, key) {
161 if (documento.uploadsDocumento) { 161 if (documento.uploadsDocumento) {
  162 + documento.uuid = getUuid();
162 cronogramaExecucaoTemp.documentos.push({ 163 cronogramaExecucaoTemp.documentos.push({
163 - uploadsDocumento: clone(documento.uploadsDocumento),  
164 - numero: clone(documento.numero) 164 + file: documento.uploadsDocumento[0],
  165 + uuid: clone(documento.uuid)
165 }); 166 });
166 // deleta esse atributo por causa de um erro de ciclo no json 167 // deleta esse atributo por causa de um erro de ciclo no json
167 delete documento.uploadsDocumento; 168 delete documento.uploadsDocumento;
@@ -192,33 +193,28 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim @@ -192,33 +193,28 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
192 193
193 // 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 194 // 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
194 var salvarListaDocumentos = function(cronogramaExecucaoTemp) { 195 var salvarListaDocumentos = function(cronogramaExecucaoTemp) {
195 - 196 + $scope.uploader.queue = [];
  197 +
196 angular.forEach($scope.cronogramaExecucao.documentos, function(documentoSalvo, key) { 198 angular.forEach($scope.cronogramaExecucao.documentos, function(documentoSalvo, key) {
197 // verifica se a entidade documento foi salva 199 // verifica se a entidade documento foi salva
198 if (documentoSalvo !== undefined && documentoSalvo.id !== undefined) { 200 if (documentoSalvo !== undefined && documentoSalvo.id !== undefined) {
199 // percorre todos os documentos temporarios para verificacao do numero do documento 201 // percorre todos os documentos temporarios para verificacao do numero do documento
200 angular.forEach(cronogramaExecucaoTemp.documentos, function(documentoTransient, key) { 202 angular.forEach(cronogramaExecucaoTemp.documentos, function(documentoTransient, key) {
201 // verifica se o numero do documento salvo e igual ao numero do documento transient que o anexo ainda esta vinculado 203 // verifica se o numero do documento salvo e igual ao numero do documento transient que o anexo ainda esta vinculado
202 - if (documentoSalvo.numero === documentoTransient.numero) { 204 + if (documentoTransient.file && documentoSalvo.uuid === documentoTransient.uuid) {
203 //salva o anexo ao documento que tiver o mesmo numero do documento transient 205 //salva o anexo ao documento que tiver o mesmo numero do documento transient
204 - salvarUpload(documentoSalvo, documentoTransient.uploadsDocumento); 206 +
  207 + documentoTransient.file.url = documentoTransient.file.url + documentoSalvo.id
  208 + $scope.uploader.queue.push(documentoTransient.file)
205 } 209 }
206 }); 210 });
207 } 211 }
208 }); 212 });
209 - };  
210 -  
211 - // metodo responsavel para salvar os anexos do contrato depois de ter salvo o contrato, utilizando a referencia do id contrato.documento.id  
212 - var salvarUpload = function(documento, uploadsDocumento) {  
213 - $scope.uploader.queue = uploadsDocumento;  
214 - // percorre a lista de uploads a serem enviados  
215 - angular.forEach($scope.uploader.queue, function(item, key) {  
216 - item.url = item.url + documento.id;  
217 - });  
218 - if ($scope.uploader.queue && $scope.uploader.queue.length > 0) {  
219 - // realiza o upload se existir no minimo um arquivo para upload  
220 - $scope.uploader.uploadAll(); 213 +
  214 + if($scope.uploader.queue.length > 0){
  215 + $scope.uploader.uploadAll();
221 } 216 }
  217 + delete $scope.cronogramaExecucaoTemp;
222 }; 218 };
223 219
224 // Limpa o formulario preenchido 220 // Limpa o formulario preenchido