Commit c79bf5138be50f6b7fa7aa94dd3b6ec8e8190e97
1 parent
5a0b8704
Exists in
master
Redmine #5043 Validação salvar atendimento
Showing
5 changed files
with
26 additions
and
11 deletions
Show diff stats
cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java
... | ... | @@ -334,6 +334,8 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat |
334 | 334 | |
335 | 335 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.ENDERECOS_ESTOQUE", "Endereços de estoque", dominio, modulo)); |
336 | 336 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.MULTIPLOS_ENDERECOS", "Multiplos Endereços", dominio, modulo)); |
337 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.ATENDIMENTO_INICIADO_USUARIO", "Atendimento iniciado por", dominio, modulo)); | |
338 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.CANCELAR_ATENDIMENTO_INICIADO", "Cancelar atendimento", dominio, modulo)); | |
337 | 339 | |
338 | 340 | } |
339 | 341 | |
... | ... | @@ -380,7 +382,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat |
380 | 382 | private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { |
381 | 383 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.ATENDA_AO_MENOS_UMA_REQUISICAO", "Por favor, atenda ao menos uma requisição antes de continuar.", dominio, modulo)); |
382 | 384 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.CATALOGOS_CADASTRADOS_OPCOES", "Os seguintes catálogos existem no sistema com a mesma lista de materiais que você selecionou no seu cadastro, você pode selecionar uma das opções ou continuar salvando o cadastro atual.", dominio, modulo)); |
383 | - internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.CONFIRMA_FINALIZAR_REQUISICOES", "Confirma a operação de finzalizar a(s) requisição(ões)?", dominio, modulo)); | |
385 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.CONFIRMA_FINALIZAR_REQUISICOES", "Confirma a operação de finalizar a(s) requisição(ões)?", dominio, modulo)); | |
384 | 386 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.MATERIAIS_CONSUMO_REQUISICAO_OBRIGATORIO", "Materiais de consumo são obrigatórios!", dominio, modulo)); |
385 | 387 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.MATERIAIS_QUANTIDADE_ZERO", "A quantidade dos itens que estão selecionados para baixa não pode ser zero!", dominio, modulo)); |
386 | 388 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.MATERIAL_ESTOQUE_SEM_ESTOQUE", "O material selecionado não contém saldo no estoque", dominio, modulo)); |
... | ... | @@ -431,6 +433,9 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat |
431 | 433 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.INTERROMPER_ATENDIMENTO_INICIADO_OUTRO_ATENDENTE", "Somente é permitido realizar essa ação para requisições que foram iniciadas o atendimento por você. Desmarque as requisições que foram iniciadas por outros atendentes para prosseguir.", dominio, modulo)); |
432 | 434 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.CONFIRMA_FINALIZAR_REQUISICAO_NAO_ATENDIDA_COMPLETAMENTE", "Há requisições selecionados que não tiveram o atendimento completo, deseja realmente finalizar essas requisições?", dominio, modulo)); |
433 | 435 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.CONFIRMA_ALERTA_EXCLUSAO_ATENDIMENTO_REQUISICAO", "Deseja mesmo excluir o atendimento da requisição selecionada? Essa ação devolverá a quantidade de materiais fornecida para o estoque, bem como seus os movimentos financeiros e retornará a requisição para o status ‘Pronta para atendimento’.", dominio, modulo)); |
436 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.CONFIRMA_SALVAR_FINALIZAR_REQUISICAO", "Confirma a operação de finalizar a requisição?", dominio, modulo)); | |
437 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.INFO_ATENDIMENTOS_INICIADOS", "Os atendimentos destas requisições estão disponíveis apenas para você até você salvar ou cancelar as mesmas. Outro usuário não poderá acessá-las enquanto isso.", dominio, modulo)); | |
438 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.INFO_ATENDIMENTO_INICIADO", "O atendimento dessa requisição está disponível apenas para você até você salvar ou cancelar a mesma. Outro usuário não poderá acessá-la enquanto isso.", dominio, modulo)); | |
434 | 439 | } |
435 | 440 | } |
436 | 441 | ... | ... |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
... | ... | @@ -608,8 +608,9 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', |
608 | 608 | $scope.finalizarRequisicoes = function(atendimentoRequisicaoConsumo){ |
609 | 609 | if($scope.idsRequisicoesSelecionados && $scope.idsRequisicoesSelecionados.length > 0){ |
610 | 610 | $scope.$openModalConfirm({ |
611 | - message: $translate.instant('ALMOXARIFADO.MSG.CONFIRMA_FINALIZAR_REQUISICOES'), | |
611 | + message: $translate.instant('ALMOXARIFADO.MSG.CONFIRMA_SALVAR_FINALIZAR_REQUISICAO'), | |
612 | 612 | callback: function () { |
613 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
613 | 614 | $scope.setLoadingSalva(true); |
614 | 615 | AtendimentoRequisicaoConsumoRepository.save(atendimentoRequisicaoConsumo).then(function(result) { |
615 | 616 | var idsRequisicoesSelecionados = []; |
... | ... | @@ -619,8 +620,6 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', |
619 | 620 | RequisicaoConsumoRepository.finalizarRequisicoes({idsRequisicoes : idsRequisicoesSelecionados, |
620 | 621 | dataFinalizacao : atendimentoRequisicaoConsumo.$dataFinalizacao}).then(function() { |
621 | 622 | angular.element('#searchAtendimentoRequisicaoConsumo').scope().fetchResult(); |
622 | - $scope.$modalConfirmInstance.dismiss('cancel'); | |
623 | - $scope.$modalInstance.dismiss('cancel'); | |
624 | 623 | $scope.listaSelecionados = []; |
625 | 624 | $scope.resetForm(); |
626 | 625 | $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO')); | ... | ... |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoListController.js
... | ... | @@ -18,13 +18,14 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
18 | 18 | $scope.atendimentoVH = {}; |
19 | 19 | $scope.listaUnidadesRequisitantesSelecionadas = []; |
20 | 20 | $scope.listaMateriaisConsumoSelecionados = []; |
21 | + $scope.listaSelecionados = []; | |
21 | 22 | // DEFINE CABEÇALHOS DA LISTAGEM |
22 | 23 | $scope.headers = [ {title : $translate.instant('ALMOXARIFADO.LABEL.NUMERO_REQUISICAO'), value : 'numeroRequisicao' } , |
23 | 24 | {title : $translate.instant('ALMOXARIFADO.LABEL.STATUS_REQUISICAO'), value : 'tipoStatusRequisicao.descricao' } , |
24 | 25 | {title : $translate.instant('ALMOXARIFADO.LABEL.DATA_REQUISICAO'), value : 'dataRequisicao' , filter : 'dateBR', tamanho : 28} , |
25 | 26 | {title : $translate.instant('ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE'), value : 'unidadeRequisitante.nome' } , |
26 | 27 | {title : $translate.instant('ALMOXARIFADO.LABEL.ALMOXARIFADO'), value : 'almoxarifado.nome' }, |
27 | - {title : $translate.instant('ALMOXARIFADO.LABEL.ATENDIMENTO_INICIADO'), value : 'emAtendimento'}]; | |
28 | + {title : $translate.instant('ALMOXARIFADO.LABEL.ATENDIMENTO_INICIADO_USUARIO'), value : 'atendente.username'}]; | |
28 | 29 | // DIFINE FILTROS DE PESQUISA E CAMPOS QUE DEVEM SER APRESENTADOS NA LISTAGEM |
29 | 30 | $scope.filterCriteria = { |
30 | 31 | start : 1, |
... | ... | @@ -38,7 +39,7 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
38 | 39 | {type : 'date-range', field : 'dataRequisicao' } , |
39 | 40 | {type : 'string', field : 'unidadeRequisitante.nome' } , |
40 | 41 | {type : 'string', field : 'almoxarifado.nome' }, |
41 | - {type : 'boolean', field : 'emAtendimento' }] | |
42 | + {type : 'string', field : 'atendente.username' }] | |
42 | 43 | }; |
43 | 44 | |
44 | 45 | $scope.filterCriteria.filters.push({type: 'string', field: 'tipoStatusRequisicao.nome', value: 'DEVOLVIDA', comparison: 'ne', notFilter : true}); |
... | ... | @@ -381,8 +382,8 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
381 | 382 | } |
382 | 383 | }); |
383 | 384 | |
384 | - $scope.setLoading(true); | |
385 | 385 | if(permiteInterromperAtendimentoIniciado){ |
386 | + $scope.setLoading(true); | |
386 | 387 | |
387 | 388 | var idsRequisicoesSelecionados = []; |
388 | 389 | $scope.listaSelecionados.forEach(function(requisicao){ | ... | ... |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html
... | ... | @@ -12,13 +12,13 @@ |
12 | 12 | <a href="#void" ng-click="saveOrUpdate(false, atendimentoRequisicaoConsumoForm)" ><i class="fa fa-file-text-o red"></i> <translate>ALMOXARIFADO.LABEL.SALVAR_APENAS</translate></a> |
13 | 13 | </li> |
14 | 14 | <li> |
15 | - <a href="#void" ng-click="saveOrUpdate(false, atendimentoRequisicaoConsumoForm)" ><i class="fa fa-file-text green"></i> <translate>ALMOXARIFADO.LABEL.SALVAR_E_FINALIZAR_REQUISICOES</translate></a> | |
15 | + <a href="#void" ng-click="saveOrUpdate(true, atendimentoRequisicaoConsumoForm)" ><i class="fa fa-file-text green"></i> <translate>ALMOXARIFADO.LABEL.SALVAR_E_FINALIZAR_REQUISICOES</translate></a> | |
16 | 16 | </li> |
17 | 17 | </ul> |
18 | 18 | </div> |
19 | 19 | <button class="btn btn-clear" ng-click="$showPageSearchWorkspace(workspace); atualizaPaginaPesquisa();"> |
20 | - <i class="fa fa-search"></i> | |
21 | - <translate>LABEL.PESQUISAR</translate> | |
20 | + <i class="fa fa-reply"></i> | |
21 | + <translate>ALMOXARIFADO.LABEL.CANCELAR_ATENDIMENTO_INICIADO</translate> | |
22 | 22 | </button> |
23 | 23 | </div><!-- .col --> |
24 | 24 | <div class="col-sm-4 text-right"> |
... | ... | @@ -56,6 +56,16 @@ |
56 | 56 | ng-model="atendimentoRequisicaoConsumo.dataAtendimento" form="atendimentoRequisicaoConsumoForm" ng-obrigatorio="true" |
57 | 57 | ng-disabled="!edit" ng-mode="day" ng-format="dd/MM/yyyy" /> |
58 | 58 | </div> |
59 | + <div class="col-md-6" ng-if="atendimentos.length == 1"> | |
60 | + <p> | |
61 | + <small><span class="red" ><translate>ALMOXARIFADO.MSG.INFO_ATENDIMENTO_INICIADO</translate></span></small> | |
62 | + </p> | |
63 | + </div> | |
64 | + <div class="col-md-6" ng-if="atendimentos.length > 1"> | |
65 | + <p> | |
66 | + <small><span class="red"><translate>ALMOXARIFADO.MSG.INFO_ATENDIMENTOS_INICIADOS</translate></span></small> | |
67 | + </p> | |
68 | + </div> | |
59 | 69 | </div> |
60 | 70 | <div style="margin-top: 20px;" ng-repeat="atendimento in atendimentos"> |
61 | 71 | <div class="widget-box margin-bottom"> | ... | ... |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoList.html
... | ... | @@ -64,7 +64,7 @@ |
64 | 64 | <list-view ng-lista="atendimentoRequisicaoConsumoList" ng-repository="RequisicaoConsumoRepository" ng-use-custom-remove="false" |
65 | 65 | ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="atendimentoRequisicaoConsumoChecked" |
66 | 66 | ng-lista-itens-selecionados="listaSelecionados" ng-check-on="true" ng-exibir-boolean-sim-nao="true" |
67 | - set-total-pages="setTotalPages" set-total-itens="setTotalItens" | |
67 | + set-total-pages="setTotalPages" set-total-itens="setTotalItens" ng-marcar-linha-grid-atributo="emAtendimento" | |
68 | 68 | use-custom-filter-temp="filtrarCustomizado" ng-custom-filter="filtrarRequisicoes()"></list-view> |
69 | 69 | |
70 | 70 | </div><!-- .page-content --> | ... | ... |