Commit a06a649b45898b353875b0efd66589b03bed3484
1 parent
3450ac3f
Exists in
master
[Redmine Atendimento #4935]List atendimentos
Showing
7 changed files
with
197 additions
and
24 deletions
Show diff stats
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/AtendimentoRequisicaoConsumoService.java
... | ... | @@ -65,4 +65,8 @@ public interface AtendimentoRequisicaoConsumoService extends GenericService<Aten |
65 | 65 | |
66 | 66 | boolean removerAtendimentoRequisicao(String idsRequisicaoConsumo, Long idOrganizacao); |
67 | 67 | |
68 | + Boolean finalizarRequisicoes(List<Long> idsRequisicao, Long idOrganizacao); | |
69 | + | |
70 | + Boolean excluirAtendimentos(List<Long> idsRequisicao, Long idOrganizacao); | |
71 | + | |
68 | 72 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java
... | ... | @@ -6,6 +6,7 @@ import java.util.HashMap; |
6 | 6 | import java.util.List; |
7 | 7 | import java.util.Map; |
8 | 8 | |
9 | +import org.apache.commons.lang3.StringUtils; | |
9 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
10 | 11 | import org.springframework.beans.factory.annotation.Qualifier; |
11 | 12 | import org.springframework.stereotype.Service; |
... | ... | @@ -19,6 +20,7 @@ import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService; |
19 | 20 | import br.com.centralit.api.service.AtendimentoRequisicaoConsumoService; |
20 | 21 | import br.com.centralit.api.service.ContaContabilMovimentoService; |
21 | 22 | import br.com.centralit.api.service.DominioService; |
23 | +import br.com.centralit.api.service.InternacionalizacaoService; | |
22 | 24 | import br.com.centralit.api.service.MaterialConsumoService; |
23 | 25 | import br.com.centralit.api.service.MovimentoEstoqueService; |
24 | 26 | import br.com.centralit.api.service.ConfiguracaoParametroSistemaService; |
... | ... | @@ -27,6 +29,7 @@ import br.com.centralit.api.service.RequisicaoConsumoService; |
27 | 29 | import br.com.centralit.api.viewHelper.InformacoesAtendimentoVH; |
28 | 30 | import br.com.centralit.framework.exception.BusinessException; |
29 | 31 | import br.com.centralit.framework.exception.CodigoErro; |
32 | +import br.com.centralit.framework.model.Dominio; | |
30 | 33 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; |
31 | 34 | import br.com.centralit.framework.util.UtilColecao; |
32 | 35 | import br.com.centralit.framework.util.UtilDate; |
... | ... | @@ -98,7 +101,19 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< |
98 | 101 | |
99 | 102 | @Autowired |
100 | 103 | private ContaContabilMovimentoService contaContabilMovimentoService; |
104 | + | |
105 | + @Autowired | |
106 | + private InternacionalizacaoService internacionalizacaoService; | |
101 | 107 | |
108 | + private Dominio idioma; | |
109 | + | |
110 | + private Dominio getIdioma() { | |
111 | + if(!UtilObjeto.isReferencia(idioma)){ | |
112 | + idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO); | |
113 | + } | |
114 | + return idioma; | |
115 | + } | |
116 | + | |
102 | 117 | /** |
103 | 118 | * Responsável pela criação de novas instâncias desta classe. |
104 | 119 | * |
... | ... | @@ -462,4 +477,40 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< |
462 | 477 | return true; |
463 | 478 | } |
464 | 479 | |
480 | + @Override | |
481 | + public Boolean finalizarRequisicoes(List<Long> idsRequisicao, Long idOrganizacao) { | |
482 | + for (Long idRequisicao : idsRequisicao) { | |
483 | + List<AtendimentoRequisicaoConsumo> listaAtendimentoPorRequisicaoConsumo = this.listaAtendimentoPorRequisicaoConsumo(idRequisicao, idOrganizacao); | |
484 | + for (AtendimentoRequisicaoConsumo atendimentoRequisicaoConsumo : listaAtendimentoPorRequisicaoConsumo) { | |
485 | + atendimentoRequisicaoConsumo.getRequisicaoConsumo().setTipoStatusRequisicao(this.dominioService.findByChaveAndCodigo(DominioAlmoxarifado.TIPO_STATUS_REQUISICAO, DominioAlmoxarifado.TIPO_STATUS_FINALIZADA)); | |
486 | + super.merge(atendimentoRequisicaoConsumo); | |
487 | + } | |
488 | + } | |
489 | + return true; | |
490 | + } | |
491 | + | |
492 | + @Override | |
493 | + public Boolean excluirAtendimentos(List<Long> idsRequisicao, Long idOrganizacao) { | |
494 | + for (Long idRequisicao : idsRequisicao) { | |
495 | + List<AtendimentoRequisicaoConsumo> listaAtendimentoPorRequisicaoConsumo = this.listaAtendimentoPorRequisicaoConsumo(idRequisicao, idOrganizacao); | |
496 | + StringBuilder mensagem = new StringBuilder(); | |
497 | + for (AtendimentoRequisicaoConsumo atendimentoRequisicaoConsumo : listaAtendimentoPorRequisicaoConsumo) { | |
498 | + if (!UtilDate.isDentroMes(atendimentoRequisicaoConsumo.getRequisicaoConsumo().getDataFinalizacaoAtendimento(), atendimentoRequisicaoConsumo.getRequisicaoConsumo().getOrganizacao().getDataReferenciaVigente())) { | |
499 | + String validacao = this.internacionalizacaoService.getTranslate("ALMOXARIFADO.VALIDACAO.DATA_FINALIZACAO_FORA_REFERENCIA", this.getIdioma()); | |
500 | + validacao = String.format(validacao, atendimentoRequisicaoConsumo.getRequisicaoConsumo().getNumeroRequisicao()); | |
501 | + validacao += "</br></br>"; | |
502 | + mensagem.append(validacao); | |
503 | + } | |
504 | + } | |
505 | + if(StringUtils.isNotBlank(mensagem.toString())){ | |
506 | + throw new BusinessException(mensagem.toString(), CodigoErro.REGRA_NEGOCIO.getValue()); | |
507 | + }else{ | |
508 | + for (AtendimentoRequisicaoConsumo atendimentoRequisicaoConsumo : listaAtendimentoPorRequisicaoConsumo) { | |
509 | + this.remove(atendimentoRequisicaoConsumo); | |
510 | + } | |
511 | + } | |
512 | + } | |
513 | + return true; | |
514 | + } | |
515 | + | |
465 | 516 | } | ... | ... |
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/AtendimentoRequisicaoConsumoController.java
... | ... | @@ -10,10 +10,14 @@ import org.springframework.web.bind.annotation.RequestMethod; |
10 | 10 | import org.springframework.web.bind.annotation.RequestParam; |
11 | 11 | import org.springframework.web.bind.annotation.ResponseBody; |
12 | 12 | |
13 | +import com.googlecode.genericdao.search.Search; | |
14 | +import com.googlecode.genericdao.search.SearchResult; | |
15 | + | |
13 | 16 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; |
14 | 17 | import br.com.centralit.api.model.AtendimentoRequisicaoConsumo; |
15 | 18 | import br.com.centralit.api.model.RequisicaoConsumo; |
16 | 19 | import br.com.centralit.api.service.AtendimentoRequisicaoConsumoService; |
20 | +import br.com.centralit.api.viewHelper.AtendimentoVH; | |
17 | 21 | import br.com.centralit.api.viewHelper.InformacoesAtendimentoVH; |
18 | 22 | import br.com.centralit.framework.controller.GenericController; |
19 | 23 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; |
... | ... | @@ -23,9 +27,6 @@ import br.com.centralit.framework.model.SearchParams; |
23 | 27 | import br.com.centralit.framework.view.GridVH; |
24 | 28 | import br.com.centralit.framework.view.ResultResponseVH; |
25 | 29 | |
26 | -import com.googlecode.genericdao.search.Search; | |
27 | -import com.googlecode.genericdao.search.SearchResult; | |
28 | - | |
29 | 30 | /** |
30 | 31 | * <p><img src="http://centralit.com.br/images/logo_central.png"></p> |
31 | 32 | * |
... | ... | @@ -195,5 +196,21 @@ public class AtendimentoRequisicaoConsumoController extends GenericController<At |
195 | 196 | |
196 | 197 | return new ResponseBodyWrapper(this.atendimentoRequisicaoConsumoService.removerAtendimentoRequisicao(idsRequisicaoConsumo, idOrganizacao), this.getEditView()); |
197 | 198 | } |
199 | + | |
200 | + @RequestMapping(value = "/finalizarRequisicoes", method = RequestMethod.POST, produces = "application/json") | |
201 | + @ResponseBody | |
202 | + public Boolean finalizarRequisicoes(@RequestBody AtendimentoVH atendimentoVH) { | |
203 | + | |
204 | + return this.atendimentoRequisicaoConsumoService.finalizarRequisicoes(atendimentoVH.getIdsRequisicao(), atendimentoVH.getIdOrganizacao()); | |
205 | + | |
206 | + } | |
207 | + | |
208 | + @RequestMapping(value = "/excluirAtendimentos", method = RequestMethod.POST, produces = "application/json") | |
209 | + @ResponseBody | |
210 | + public Boolean excluirAtendimentos(@RequestBody AtendimentoVH atendimentoVH) { | |
211 | + | |
212 | + return this.atendimentoRequisicaoConsumoService.excluirAtendimentos(atendimentoVH.getIdsRequisicao(), atendimentoVH.getIdOrganizacao()); | |
213 | + | |
214 | + } | |
198 | 215 | |
199 | 216 | } | ... | ... |
cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java
... | ... | @@ -325,6 +325,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat |
325 | 325 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.BAIXA_S", "Baixa(s)", dominio, modulo)); |
326 | 326 | |
327 | 327 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.FINALIZAR_REQUISICAO", "Finalizar requisição", dominio, modulo)); |
328 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.EXCLUIR_ATENDIMENTO", "Excluir atendimento", dominio, modulo)); | |
328 | 329 | } |
329 | 330 | |
330 | 331 | private void gerarValidacao(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { |
... | ... | @@ -400,6 +401,14 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat |
400 | 401 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.ENTRADA_ENDERECOS_ESTOQUE_DESVINCULADOS_MATERIAL", "Todos os materiais desta entrada tiveram seu endereço de estoque retirados!", dominio, modulo)); |
401 | 402 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.ENTRADA_ENDERECOS_ESTOQUE_PADRAO_VINCULADOS_MATERIAL", "Todos os materiais desta entrada que tinham endereços padrões neste almoxarifado foram vinculados a ele!", dominio, modulo)); |
402 | 403 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.EXCLUSAO_ULTIMO_ITEM_ENTRADA", "É necessário existir ao menos um item nesta lista, para continuar exclua a entrada inteira ou adicione outro item primeiro!", dominio, modulo)); |
404 | + | |
405 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.FINALIZAR_ATENDIMENTO_SOMENTE_ATENDIMENTO_PARCIAL", "A finalização de atendimento somente é permitido para requisições com a situação igual a 'Atendida parcialmente'.", dominio, modulo)); | |
406 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.EXCLUIR_ATENDIMENTO_SOMENTE_ATENDIMENTO_PARCIAL_FINALIZADA", "A exclusão de atendimento somente é permitido para requisições com a situação igual a 'Atendida parcialmente' ou 'Finalizada'.", dominio, modulo)); | |
407 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.CONFIRMA_FINALIZAR_REQUISICAO", "Confirma finalização das requisições selecionados?", dominio, modulo)); | |
408 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.CONFIRMA_EXCLUSAO_ATENDIMENTO_REQUISICAO", "Confirma exclusão dos atendimentos selecionados?", dominio, modulo)); | |
409 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.NAO_PERMITIDO_ATENDER_REQUISICAO_FINALIZADA", "Atendimento não permitido pois há requisições finalizadas selecionadas para atendimento. Desmarque as requisições finalizadas e clique novamente em 'Atender'.", dominio, modulo)); | |
410 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.DATA_FINALIZACAO_FORA_REFERENCIA", "Exclusão não permitida. Data de finalização da requisição %s fora da referência vigente.", dominio, modulo)); | |
411 | + | |
403 | 412 | } |
404 | 413 | } |
405 | 414 | ... | ... |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoListController.js
... | ... | @@ -19,8 +19,8 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
19 | 19 | // DIFINE FILTROS DE PESQUISA E CAMPOS QUE DEVEM SER APRESENTADOS NA LISTAGEM |
20 | 20 | $scope.filterCriteria = { |
21 | 21 | start : 1, |
22 | - dir : 'desc', | |
23 | - sort : 'numeroRequisicao; tipoStatusRequisicao.codigo', | |
22 | + dir : 'asc', | |
23 | + sort : 'desc:numeroRequisicao;tipoStatusRequisicao.codigo', | |
24 | 24 | limit : 10, |
25 | 25 | fields: ['id', 'numeroRequisicao', 'tipoStatusRequisicao.descricao', 'dataRequisicao', 'unidadeRequisitante.nome', 'almoxarifado.nome', 'tipoStatusRequisicao.codigo'], |
26 | 26 | filters : [ {type : 'numeric-range', field : 'numeroRequisicao' } , |
... | ... | @@ -29,8 +29,8 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
29 | 29 | {type : 'string', field : 'unidadeRequisitante.nome' } , |
30 | 30 | {type : 'string', field : 'almoxarifado.nome' } ] |
31 | 31 | }; |
32 | - | |
33 | - $scope.filterCriteria.filters.push({type: 'string', field: 'tipoStatusRequisicao.nome', value: 'FINALIZADA', comparison: 'ne', notFilter : true}); | |
32 | + | |
33 | + $scope.filterCriteria.filters.push({type: 'string', field: 'tipoStatusRequisicao.nome', value: 'DEVOLVIDA', comparison: 'ne', notFilter : true}); | |
34 | 34 | $scope.filterCriteria.filters.push({type: 'string', field: 'tipoStatusRequisicao.nome', value: 'NAO_CONCLUIDA', comparison: 'ne', notFilter : true}); |
35 | 35 | }; |
36 | 36 | |
... | ... | @@ -39,7 +39,7 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
39 | 39 | DominioRepository.findAllDominio('tipoStatusRequisicao').then(function(result) { |
40 | 40 | var listaDominio = []; |
41 | 41 | angular.forEach(result, function(dominio){ |
42 | - if(dominio.nome != 'NAO_CONCLUIDA'){ | |
42 | + if(dominio.nome != 'NAO_CONCLUIDA' && dominio.nome != 'DEVOLVIDA'){ | |
43 | 43 | listaDominio.push(dominio) |
44 | 44 | } |
45 | 45 | |
... | ... | @@ -83,7 +83,96 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
83 | 83 | }; |
84 | 84 | |
85 | 85 | $scope.iniciarAtendimento = function(){ |
86 | - angular.element('#editAtendimentoRequisicaoConsumo').scope().prepararAtendimentoRequisicoes($scope.listaSelecionados); | |
86 | + | |
87 | + if($scope.listaSelecionados && $scope.listaSelecionados.length == 0) { | |
88 | + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM')); | |
89 | + return; | |
90 | + } | |
91 | + | |
92 | + var permiteAtender = true; | |
93 | + angular.forEach($scope.listaSelecionados, function (requisicaoSelecionado) { | |
94 | + if(requisicaoSelecionado['tipoStatusRequisicao.codigo'] == 5){ | |
95 | + permiteAtender = false; | |
96 | + $scope.showAlert('warning', $translate.instant('ALMOXARIFADO.MSG.NAO_PERMITIDO_ATENDER_REQUISICAO_FINALIZADA')); | |
97 | + } | |
98 | + }); | |
99 | + | |
100 | + if(permiteAtender){ | |
101 | + angular.element('#editAtendimentoRequisicaoConsumo').scope().prepararAtendimentoRequisicoes($scope.listaSelecionados); | |
102 | + } | |
87 | 103 | }; |
88 | - | |
104 | + | |
105 | + function getIdsRequisicao(){ | |
106 | + $scope.idsSelecionados = []; | |
107 | + angular.forEach($scope.listaSelecionados, function (requisicaoSelecionado) { | |
108 | + $scope.idsSelecionados.push(requisicaoSelecionado.id); | |
109 | + }); | |
110 | + } | |
111 | + | |
112 | + $scope.finalizarRequisicao = function(){ | |
113 | + | |
114 | + if($scope.listaSelecionados && $scope.listaSelecionados.length == 0) { | |
115 | + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM')); | |
116 | + return; | |
117 | + } | |
118 | + | |
119 | + var permiteFinalizar = true; | |
120 | + angular.forEach($scope.listaSelecionados, function (requisicaoSelecionado) { | |
121 | + if(requisicaoSelecionado['tipoStatusRequisicao.codigo'] != 1){ | |
122 | + permiteFinalizar = false; | |
123 | + $scope.showAlert('warning', $translate.instant('ALMOXARIFADO.MSG.FINALIZAR_ATENDIMENTO_SOMENTE_ATENDIMENTO_PARCIAL')); | |
124 | + } | |
125 | + }); | |
126 | + | |
127 | + if(permiteFinalizar){ | |
128 | + $scope.$openModalConfirm({ | |
129 | + message: $translate.instant('ALMOXARIFADO.MSG.CONFIRMA_FINALIZAR_REQUISICAO'), | |
130 | + callback: function () { | |
131 | + | |
132 | + getIdsRequisicao(); | |
133 | + var atendimentoVH = {idsRequisicao : $scope.idsSelecionados, idOrganizacao : $scope.usuarioLogado.organizacao.id}; | |
134 | + AtendimentoRequisicaoConsumoRepository.finalizarRequisicoes(atendimentoVH).then(function(result) { | |
135 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
136 | + $scope.showAlert('success', $translate.instant('MSG.MG001'), " ", false); | |
137 | + $scope.recarregar(); | |
138 | + }); | |
139 | + } | |
140 | + }); | |
141 | + } | |
142 | + | |
143 | + }; | |
144 | + | |
145 | + $scope.excluirAtendimento = function(){ | |
146 | + | |
147 | + if($scope.listaSelecionados && $scope.listaSelecionados.length == 0) { | |
148 | + $scope.showAlert('warning', $translate.instant('MSG.SELECIONE_AO_MENOS_UM_ITEM')); | |
149 | + return; | |
150 | + } | |
151 | + | |
152 | + var permiteExcluir = true; | |
153 | + angular.forEach($scope.listaSelecionados, function (requisicaoSelecionado) { | |
154 | + if(requisicaoSelecionado['tipoStatusRequisicao.codigo'] != 1 || requisicaoSelecionado['tipoStatusRequisicao.codigo'] != 5){ | |
155 | + permiteExcluir = false; | |
156 | + $scope.showAlert('warning', $translate.instant('ALMOXARIFADO.MSG.EXCLUIR_ATENDIMENTO_SOMENTE_ATENDIMENTO_PARCIAL_FINALIZADA')); | |
157 | + } | |
158 | + }); | |
159 | + | |
160 | + if(permiteExcluir){ | |
161 | + $scope.$openModalConfirm({ | |
162 | + message: $translate.instant('ALMOXARIFADO.MSG.CONFIRMA_EXCLUSAO_ATENDIMENTO_REQUISICAO'), | |
163 | + callback: function () { | |
164 | + | |
165 | + getIdsRequisicao(); | |
166 | + var atendimentoVH = {idsRequisicao : $scope.idsSelecionados, idOrganizacao : $scope.usuarioLogado.organizacao.id}; | |
167 | + AtendimentoRequisicaoConsumoRepository.excluirAtendimentos(atendimentoVH).then(function(result) { | |
168 | + $scope.$modalConfirmInstance.dismiss('cancel'); | |
169 | + $scope.showAlert('success', $translate.instant('MSG.MG001'), " ", false); | |
170 | + $scope.recarregar(); | |
171 | + }); | |
172 | + } | |
173 | + }); | |
174 | + } | |
175 | + | |
176 | + }; | |
177 | + | |
89 | 178 | }]); |
90 | 179 | \ No newline at end of file | ... | ... |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/repository/AtendimentoRequisicaoConsumoRepository.js
... | ... | @@ -21,7 +21,15 @@ citApp.factory('AtendimentoRequisicaoConsumoRepository', ['RestangularAlmoxarifa |
21 | 21 | this.removerAtendimentoRequisicao = function (idsRequisicaoConsumo, idOrganizacao) { |
22 | 22 | return this.restangular.one(this.route +'/removerAtendimentoRequisicao').get({idsRequisicaoConsumo : idsRequisicaoConsumo, idOrganizacao : idOrganizacao}).then(); |
23 | 23 | }; |
24 | - | |
24 | + | |
25 | + this.finalizarRequisicoes = function(atendimentoVH){ | |
26 | + return restangularAlmoxarifado.all(this.route + '/finalizarRequisicoes').post(atendimentoVH).then(); | |
27 | + }; | |
28 | + | |
29 | + this.excluirAtendimentos = function(atendimentoVH){ | |
30 | + return restangularAlmoxarifado.all(this.route + '/excluirAtendimentos').post(atendimentoVH).then(); | |
31 | + }; | |
32 | + | |
25 | 33 | } |
26 | 34 | |
27 | 35 | AbstractRepository.extend(AtendimentoRequisicaoConsumoRepository); | ... | ... |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoList.html
... | ... | @@ -5,29 +5,24 @@ |
5 | 5 | |
6 | 6 | <button class="btn btn-clear" ng-click="iniciarAtendimento();"> |
7 | 7 | <i class="fa fa-plus-circle yellow-dark"></i> |
8 | - <translate>ALMOXARIFADO.LABEL.INICIAR_ATENDIMENTO</translate> | |
8 | + <translate>ALMOXARIFADO.LABEL.ATENDER</translate> | |
9 | 9 | </button> |
10 | 10 | |
11 | - <button class="btn btn-clear" ng-click="finalizarRequisicao();" ng-disabled="permiteFinalizarRequisicao"> | |
12 | - <i class="fa fa-file-text-o red"></i> | |
11 | + <button class="btn btn-clear" ng-click="finalizarRequisicao();"> | |
12 | + <i class="fa fa-file-text-o green"></i> | |
13 | 13 | <translate>ALMOXARIFADO.LABEL.FINALIZAR_REQUISICAO</translate> |
14 | 14 | </button> |
15 | 15 | |
16 | + <button class="btn btn-clear" ng-click="excluirAtendimento()"> | |
17 | + <i class="fa fa-times red"></i> | |
18 | + <translate>ALMOXARIFADO.LABEL.EXCLUIR_ATENDIMENTO</translate> | |
19 | + </button> | |
20 | + | |
16 | 21 | <button ng-show="listaSelecionados.length == 1" class="btn btn-clear" ng-click="abrirVisualizar(false);"> |
17 | 22 | <i class="fa fa-search blue"></i> |
18 | 23 | <translate>LABEL.VISUALIZAR</translate> |
19 | 24 | </button> |
20 | 25 | |
21 | - <button ng-show="listaSelecionados.length == 1" class="btn btn-clear" ng-click="abrirVisualizar(true);"> | |
22 | - <i class="fa fa-pencil blue"></i> | |
23 | - <translate>LABEL.EDITAR</translate> | |
24 | - </button> | |
25 | - | |
26 | -<!-- <button class="btn btn-clear" ng-click="removerAtendimentoRequisicao();"> --> | |
27 | -<!-- <i class="fa fa-times red"></i> --> | |
28 | -<!-- <translate>LABEL.REMOVER</translate> --> | |
29 | -<!-- </button> --> | |
30 | - | |
31 | 26 | <span class="divider-vertical"></span> |
32 | 27 | |
33 | 28 | <filtros ng-filter="filterCriteria" ng-workspace="workspace"></filtros> | ... | ... |