Commit 7067eacda26f30cb75b848aaad5e207f193ebdb6

Authored by Ronan Tavares Camargo
1 parent 07047f2f
Exists in master

Atendimento Redmine #4999

cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
... ... @@ -284,8 +284,8 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController',
284 284 });
285 285 };
286 286  
287   - $scope.prepararAtendimentoRequisicoes = function(atendimentoVH) {
288   - $scope.edit = true;
  287 + $scope.prepararAtendimentoRequisicoes = function(atendimentoVH, edit) {
  288 + $scope.edit = edit;
289 289 $scope.atendimentos = [];
290 290 $scope.idsRequisicoesSelecionados = [];
291 291 $scope.atendimentoRequisicaoConsumo.dataAtendimento = new Date();
... ... @@ -324,83 +324,78 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController',
324 324 atendimento.requisicaoConsumo = req;
325 325  
326 326  
327   - if(atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_PRONTA_PARA_ATENDIMENTO || atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_ATENDIDA_PARCIALMENTE){
328   - var contem = false;
329   - for(var index = atendimento.atendimentoRequisicaoConsumoItems.length - 1; index >= 0; index--){
330   - atendimento.requisicaoConsumo.requisicaoConsumoItens.forEach(function(item){
331   - if(item.id === atendimento.atendimentoRequisicaoConsumoItems[index].requisicaoConsumoItem.id){
332   - contem = true;
333   - }
334   - });
335   -
336   - if(!contem){
337   - atendimento.atendimentoRequisicaoConsumoItems.splice(index, 1);
338   - }else{
339   - contem = false;
  327 + var contem = false;
  328 + for(var index = atendimento.atendimentoRequisicaoConsumoItems.length - 1; index >= 0; index--){
  329 + atendimento.requisicaoConsumo.requisicaoConsumoItens.forEach(function(item){
  330 + if(item.id === atendimento.atendimentoRequisicaoConsumoItems[index].requisicaoConsumoItem.id){
  331 + contem = true;
340 332 }
341   - }
  333 + });
342 334  
343   - atendimento.atendimentoRequisicaoConsumoItems.forEach(function(atendimentoItem){
344   - atendimentoItem.$locaisEstoque = [];
345   - MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(atendimentoItem.material.id, req.almoxarifado.id).then(function(result) {
346   - result.forEach(function(localEstoque){
347   - var atendimentoRequisicaoConsumoItemEndereco = {
348   - materialLocalEstoque: localEstoque.originalElement
349   - };
350   -
351   - atendimentoItem.$locaisEstoque.push(atendimentoRequisicaoConsumoItemEndereco);
352   - });
  335 + if(!contem){
  336 + atendimento.atendimentoRequisicaoConsumoItems.splice(index, 1);
  337 + }else{
  338 + contem = false;
  339 + }
  340 + }
  341 +
  342 + atendimento.atendimentoRequisicaoConsumoItems.forEach(function(atendimentoItem){
  343 + atendimentoItem.$locaisEstoque = [];
  344 + MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(atendimentoItem.material.id, req.almoxarifado.id).then(function(result) {
  345 + result.forEach(function(localEstoque){
  346 + var atendimentoRequisicaoConsumoItemEndereco = {
  347 + materialLocalEstoque: localEstoque.originalElement
  348 + };
  349 +
  350 + atendimentoItem.$locaisEstoque.push(atendimentoRequisicaoConsumoItemEndereco);
353 351 });
354   -
355   - atendimentoItem.$somaQtdAtendida = 0;
356   - if(atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.length > 1){
357   - atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.forEach(function(atendimentoItemEndereco){
358   - atendimentoItem.$somaQtdAtendida += parseFloat(atendimentoItemEndereco.quantidade);
359   - });
360   - }
361   -
362   - buscarInformacoesParaAtendimento(atendimentoItem);
363 352 });
364   - $scope.atendimentos.push(atendimento);
365   - }
  353 +
  354 + atendimentoItem.$somaQtdAtendida = 0;
  355 + if(atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.length > 1){
  356 + atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.forEach(function(atendimentoItemEndereco){
  357 + atendimentoItem.$somaQtdAtendida += parseFloat(atendimentoItemEndereco.quantidade);
  358 + });
  359 + }
  360 +
  361 + buscarInformacoesParaAtendimento(atendimentoItem);
  362 + });
  363 + $scope.atendimentos.push(atendimento);
366 364  
367 365 }else{
368 366 var atendimento = {requisicaoConsumo : req};
369   - if(atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_PRONTA_PARA_ATENDIMENTO || atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_ATENDIDA_PARCIALMENTE){
  367 +
  368 + atendimento.requisicaoConsumo.requisicaoConsumoItens.forEach(function (requisicaoConsumoItem) {
  369 + if(!atendimento.atendimentoRequisicaoConsumoItems){
  370 + atendimento.atendimentoRequisicaoConsumoItems = [];
  371 + }
370 372  
371   - atendimento.requisicaoConsumo.requisicaoConsumoItens.forEach(function (requisicaoConsumoItem) {
372   - if(!atendimento.atendimentoRequisicaoConsumoItems){
373   - atendimento.atendimentoRequisicaoConsumoItems = [];
374   - }
375   -
376   - var atendimentoItem = {
377   - material : requisicaoConsumoItem.materialConsumo,
378   - requisicaoConsumoItem : requisicaoConsumoItem,
379   - $locaisEstoque: [],
380   - atendimentoRequisicaoConsumoItemEnderecos: []
381   - };
382   -
383   - MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(requisicaoConsumoItem.materialConsumo.id, req.almoxarifado.id).then(function(result) {
384   - result.forEach(function(localEstoque){
385   - var atendimentoRequisicaoConsumoItemEndereco = {
386   - materialLocalEstoque: localEstoque.originalElement
387   - };
388   -
389   - atendimentoItem.$locaisEstoque.push(atendimentoRequisicaoConsumoItemEndereco);
390   -
391   - if(localEstoque.localPrincipal){
392   - atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.push(atendimentoRequisicaoConsumoItemEndereco);
393   - }
394   - });
  373 + var atendimentoItem = {
  374 + material : requisicaoConsumoItem.materialConsumo,
  375 + requisicaoConsumoItem : requisicaoConsumoItem,
  376 + $locaisEstoque: [],
  377 + atendimentoRequisicaoConsumoItemEnderecos: []
  378 + };
  379 +
  380 + MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(requisicaoConsumoItem.materialConsumo.id, req.almoxarifado.id).then(function(result) {
  381 + result.forEach(function(localEstoque){
  382 + var atendimentoRequisicaoConsumoItemEndereco = {
  383 + materialLocalEstoque: localEstoque.originalElement
  384 + };
  385 +
  386 + atendimentoItem.$locaisEstoque.push(atendimentoRequisicaoConsumoItemEndereco);
  387 +
  388 + if(localEstoque.localPrincipal){
  389 + atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.push(atendimentoRequisicaoConsumoItemEndereco);
  390 + }
395 391 });
396   -
397   - buscarInformacoesParaAtendimento(atendimentoItem);
398   -
399   - atendimento.atendimentoRequisicaoConsumoItems.push(atendimentoItem);
400 392 });
401   - $scope.atendimentos.push(atendimento);
402   - }
403   -
  393 +
  394 + buscarInformacoesParaAtendimento(atendimentoItem);
  395 +
  396 + atendimento.atendimentoRequisicaoConsumoItems.push(atendimentoItem);
  397 + });
  398 + $scope.atendimentos.push(atendimento);
404 399 }
405 400  
406 401 if($scope.atendimentoRequisicaoConsumo && $scope.atendimentoRequisicaoConsumo.dataAtendimento){
... ... @@ -502,7 +497,7 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController',
502 497 });
503 498  
504 499 if(atendimentoItem.$somaQtdAtendida > atendimentoItem.requisicaoConsumoItem.quantidade){
505   -
  500 + atendimentoItem.$hasError = true;
506 501 $scope.showAlert("error", $translate.instant('ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDIDA_MAIOR_REQUISITADA'), " ", false);
507 502 }
508 503 }
... ...
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoListController.js
... ... @@ -66,15 +66,22 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten
66 66 });
67 67  
68 68 // ABRI AtendimentoRequisicaoConsumo SELECIONADA
69   - $scope.abrirVisualizar = function(edit){
70   - var requisicaoConsumo = $scope.atendimentoRequisicaoConsumoChecked;
71   -
72   - if(!requisicaoConsumo) {
73   - $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
  69 + $scope.abrirVisualizar = function(){
  70 +
  71 + if($scope.listaSelecionados && $scope.listaSelecionados.length == 0) {
  72 + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM'));
74 73 return;
75 74 }
76   - angular.element('#editAtendimentoRequisicaoConsumo').scope().getAtendimentoRequisicaoConsumo(requisicaoConsumo, edit);
77   - $scope.$showPageEditWorkspace($scope.workspace);
  75 +
  76 + var idsRequisicoesSelecionados = [];
  77 + $scope.listaSelecionados.forEach(function(requisicao){
  78 + idsRequisicoesSelecionados.push(requisicao.id);
  79 + });
  80 + $scope.atendimentoVH.idsRequisicao = idsRequisicoesSelecionados;
  81 + $scope.atendimentoVH.requisicoesSelecionadas = $scope.listaSelecionados;
  82 + $scope.listaSelecionados = [];
  83 + angular.element('#editAtendimentoRequisicaoConsumo').scope().prepararAtendimentoRequisicoes($scope.atendimentoVH, false);
  84 + $scope.recarregar();
78 85 };
79 86  
80 87 $scope.removerAtendimentoRequisicao = function(){
... ... @@ -131,7 +138,7 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten
131 138 $scope.atendimentoVH.idsRequisicao = idsRequisicoesSelecionados;
132 139 $scope.atendimentoVH.requisicoesSelecionadas = $scope.listaSelecionados;
133 140 $scope.listaSelecionados = [];
134   - angular.element('#editAtendimentoRequisicaoConsumo').scope().prepararAtendimentoRequisicoes($scope.atendimentoVH);
  141 + angular.element('#editAtendimentoRequisicaoConsumo').scope().prepararAtendimentoRequisicoes($scope.atendimentoVH, true);
135 142 $scope.recarregar();
136 143 }
137 144 };
... ...
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html
... ... @@ -54,7 +54,7 @@
54 54 <div class="col-md-6">
55 55 <label-input-data ng-id="atendimentoRequisicaoConsumo.dataAtendimento" ng-label="ALMOXARIFADO.LABEL.DATA_ATENDIMENTO"
56 56 ng-model="atendimentoRequisicaoConsumo.dataAtendimento" form="atendimentoRequisicaoConsumoForm" ng-obrigatorio="true"
57   - ng-disabled="!edit" ng-mode="day" ng-format="dd/MM/yyyy" />
  57 + ng-show="edit" ng-mode="day" ng-format="dd/MM/yyyy" />
58 58 </div>
59 59 </div>
60 60 <div style="margin-top: 20px;" ng-repeat="atendimento in atendimentos">
... ... @@ -67,7 +67,7 @@
67 67 <a href="#void" ng-click="widgetAtendimentoCollapsed = !widgetAtendimentoCollapsed">
68 68 <i class="fa" ng-class="{'fa-chevron-up': widgetAtendimentoCollapsed, 'fa-chevron-down': !widgetAtendimentoCollapsed}"></i>
69 69 </a>
70   - <a href="#void" style="margin-left: 3px" ng-click="removerRequisicaoDoAtendimento($index) ">
  70 + <a href="#void" style="margin-left: 3px" ng-click="removerRequisicaoDoAtendimento($index)" ng-show="edit">
71 71 <i class="fa fa-trash-o bigger-130 red" tooltip="{{$translate.instant('ALMOXARIFADO.MSG.REMOVER_REQUISICAO_ATENDIMENTO')}}"></i>
72 72 </a>
73 73 </div>
... ... @@ -140,7 +140,7 @@
140 140 <table style="width: 100%">
141 141 <tr>
142 142 <td ng-show="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos.length <= 1">
143   - <label-select ng-id="atendimentoRequisicaoConsumoItem.materialLocalEstoque$index" ng-obrigatorio="true"
  143 + <label-select ng-id="atendimentoRequisicaoConsumoItem.materialLocalEstoque$index" ng-obrigatorio="true" ng-disabled="!edit"
144 144 ng-model="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos[0]" ng-list="atendimentoRequisicaoConsumoItem.$locaisEstoque"
145 145 form="atendimentoRequisicaoConsumoForm" track-by="track by atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.id"
146 146 ng-custom-options="atendimentoRequisicaoConsumoItemEndereco as atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.endereco.descricao for atendimentoRequisicaoConsumoItemEndereco"></label-select>
... ...
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoList.html
... ... @@ -18,7 +18,7 @@
18 18 <translate>ALMOXARIFADO.LABEL.EXCLUIR_ATENDIMENTO</translate>
19 19 </button>
20 20  
21   - <button ng-show="listaSelecionados.length == 1" class="btn btn-clear" ng-click="abrirVisualizar(false);">
  21 + <button class="btn btn-clear" ng-click="abrirVisualizar();">
22 22 <i class="fa fa-search blue"></i>
23 23 <translate>LABEL.VISUALIZAR</translate>
24 24 </button>
... ...
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html
1 1 <div class="modal-header">
2 2 <button class="btn btn-clear" type="button" ng-click="saveListaEnderecos()"
3   - title="{{$translate.instant('LABEL.SALVAR')}}"
  3 + title="{{$translate.instant('LABEL.SALVAR')}}" ng-show="edit"
4 4 alt="{{$translate.instant('LABEL.SALVAR')}}">
5 5 <i class="fa fa-save green"></i>
6 6 <translate>LABEL.SALVAR</translate>
... ... @@ -21,7 +21,7 @@
21 21  
22 22 <div class="row">
23 23 <div class="col-md-12">
24   - <label-select ng-model="itemAtendimentoRequisicaoConsumoItemEndereco" ng-list="listaEnderecosSelect"
  24 + <label-select ng-model="itemAtendimentoRequisicaoConsumoItemEndereco" ng-list="listaEnderecosSelect" ng-show="edit"
25 25 ng-custom-options="itemAtendimentoRequisicaoConsumoItemEndereco as itemAtendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.endereco.descricao for itemAtendimentoRequisicaoConsumoItemEndereco"></label-select>
26 26 </div>
27 27 </div>
... ... @@ -29,12 +29,12 @@
29 29 <div class="col-sm-12">
30 30 <div class="panel panel-default">
31 31 <div class="panel-heading clearfix">
32   - <button class="btn btn-clear" type="button" ng-disabled="listaEnderecosSelect.length == 0 || !itemAtendimentoRequisicaoConsumoItemEndereco"
  32 + <button class="btn btn-clear" type="button" ng-disabled="listaEnderecosSelect.length == 0 || !itemAtendimentoRequisicaoConsumoItemEndereco || !edit"
33 33 ng-click="addEnderecoToList(itemAtendimentoRequisicaoConsumoItemEndereco)">
34 34 <i class="fa fa-plus-circle yellow-dark"></i>
35 35 <translate>LABEL.ADICIONAR</translate>
36 36 </button>
37   - <button class="btn btn-clear" type="button" ng-click="removeEnderecoFromList()">
  37 + <button class="btn btn-clear" type="button" ng-click="removeEnderecoFromList()" ng-disabled="!edit">
38 38 <i class="fa fa-times red"></i>
39 39 <translate>LABEL.REMOVER</translate>
40 40 </button>
... ... @@ -54,8 +54,8 @@
54 54 <td class="text-center">{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.endereco.descricao}}</td>
55 55 <td class="text-center">{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.quantidade}}</td>
56 56 <td class="text-center">
57   - <label-input-decimal ng-id="atendimentoRequisicaoConsumoItemEndereco.quantidade" ng-obrigatorio="true" ng-evento-blur="aplicarValidacaoDecimal"
58   - ng-model="atendimentoRequisicaoConsumoItemEndereco.quantidade" form="atendimentoRequisicaoConsumoForm" ng-evento-keyup="validarQuantidadesAtendidas()"
  57 + <label-input-decimal ng-id="atendimentoRequisicaoConsumoItemEndereco.quantidade" ng-obrigatorio="true" ng-evento-blur="aplicarValidacaoDecimal" ng-disabled="!edit"
  58 + ng-model="atendimentoRequisicaoConsumoItemEndereco.quantidade" form="atendimentoRequisicaoConsumoForm" ng-evento-keyup="validarQuantidades(atendimentoItemEmEdicao)"
59 59 ng-custom-maxlength="{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.materialEstoque.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}"
60 60 ng-precisao="{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.materialEstoque.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" />
61 61 </td>
... ...