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 20  
21 21 $scope.uploader = new FileUploader({
22 22 autoUpload: false,
23   - queueLimit: 1,
  23 + queueLimit: 99,
24 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 153 $scope.setLoadingSalva(true);
154 154  
155 155 var cronogramaExecucaoTemp = {
156   - documentos: []
  156 + documentos: []
157 157 };
158 158  
159 159 // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento
160 160 angular.forEach($scope.cronogramaExecucao.documentos, function(documento, key) {
161 161 if (documento.uploadsDocumento) {
  162 + documento.uuid = getUuid();
162 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 167 // deleta esse atributo por causa de um erro de ciclo no json
167 168 delete documento.uploadsDocumento;
... ... @@ -192,33 +193,28 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim
192 193  
193 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 195 var salvarListaDocumentos = function(cronogramaExecucaoTemp) {
195   -
  196 + $scope.uploader.queue = [];
  197 +
196 198 angular.forEach($scope.cronogramaExecucao.documentos, function(documentoSalvo, key) {
197 199 // verifica se a entidade documento foi salva
198 200 if (documentoSalvo !== undefined && documentoSalvo.id !== undefined) {
199 201 // percorre todos os documentos temporarios para verificacao do numero do documento
200 202 angular.forEach(cronogramaExecucaoTemp.documentos, function(documentoTransient, key) {
201 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 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 220 // Limpa o formulario preenchido
... ...