Commit cee37d246bcf764bfc33015e76f5b36ef1d5ebc8

Authored by Ronan Tavares Camargo
2 parents 8c718c99 43fc350c
Exists in master

Merge branch 'tarefa-3822' of http://ferramentasgo.centralit.com.br:8080/scm/git…

…/cit-grp-almoxarifado into tarefa-3822
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/RequisicaoConsumoDao.java
... ... @@ -3,9 +3,12 @@ package br.com.centralit.api.dao;
3 3 import java.util.Calendar;
4 4 import java.util.Collection;
5 5  
  6 +import com.googlecode.genericdao.search.SearchResult;
  7 +
6 8 import br.com.centralit.api.model.EstruturaOrganizacional;
7 9 import br.com.centralit.api.model.MaterialConsumo;
8 10 import br.com.centralit.api.model.RequisicaoConsumo;
  11 +import br.com.centralit.api.viewHelper.AtendimentoVH;
9 12 import br.com.centralit.api.viewHelper.RequisicaoVH;
10 13 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
11 14  
... ... @@ -110,4 +113,6 @@ public interface RequisicaoConsumoDao extends CitGenericDAO {
110 113 * @return
111 114 */
112 115 RequisicaoConsumo findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante);
  116 +
  117 + SearchResult filtrarRequisicoesAtendimento(AtendimentoVH atendimentoVH);
113 118 }
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoDaoHibernate.java
1 1 package br.com.centralit.api.dao.impl;
2 2  
3 3 import java.math.BigDecimal;
  4 +import java.util.ArrayList;
4 5 import java.util.Calendar;
5 6 import java.util.Collection;
6 7 import java.util.HashSet;
... ... @@ -9,6 +10,12 @@ import java.util.Set;
9 10  
10 11 import org.springframework.stereotype.Repository;
11 12  
  13 +import com.googlecode.genericdao.search.Field;
  14 +import com.googlecode.genericdao.search.Filter;
  15 +import com.googlecode.genericdao.search.Search;
  16 +import com.googlecode.genericdao.search.SearchResult;
  17 +import com.googlecode.genericdao.search.Sort;
  18 +
12 19 import br.com.centralit.api.dao.RequisicaoConsumoDao;
13 20 import br.com.centralit.api.model.AtendimentoRequisicaoConsumo;
14 21 import br.com.centralit.api.model.DominioAlmoxarifado;
... ... @@ -16,6 +23,7 @@ import br.com.centralit.api.model.EstruturaOrganizacional;
16 23 import br.com.centralit.api.model.MaterialConsumo;
17 24 import br.com.centralit.api.model.RequisicaoConsumo;
18 25 import br.com.centralit.api.model.RequisicaoConsumoItem;
  26 +import br.com.centralit.api.viewHelper.AtendimentoVH;
19 27 import br.com.centralit.api.viewHelper.RequisicaoVH;
20 28 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
21 29 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
... ... @@ -23,9 +31,6 @@ import br.com.centralit.framework.util.UtilColecao;
23 31 import br.com.centralit.framework.util.UtilObjeto;
24 32 import br.com.centralit.framework.util.UtilString;
25 33  
26   -import com.googlecode.genericdao.search.Filter;
27   -import com.googlecode.genericdao.search.Sort;
28   -
29 34 /**
30 35 * <p>
31 36 * <img src="http://centralit.com.br/images/logo_central.png">
... ... @@ -281,4 +286,53 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements
281 286  
282 287 return this.searchUnique(searchSeven);
283 288 }
  289 +
  290 + @SuppressWarnings({ "unchecked", "rawtypes" })
  291 + @Override
  292 + public SearchResult filtrarRequisicoesAtendimento(AtendimentoVH atendimentoVH) {
  293 +
  294 + SearchSeven searchSeven = new SearchSeven(atendimentoVH.getSearchParams());
  295 + searchSeven.setResultMode(Search.RESULT_SINGLE);
  296 +
  297 + searchSeven.setDistinct(true);
  298 +
  299 + addFilterMaterialConsumo(atendimentoVH, searchSeven);
  300 + addFilterUnidadeRequisitante(atendimentoVH, searchSeven);
  301 +
  302 + List<Field> fields = new ArrayList<Field>();
  303 + List<Sort> sorts = new ArrayList<Sort>();
  304 + fields.add(new Field("id"));
  305 + sorts.add(new Sort("id"));
  306 + searchSeven.setFields(fields);
  307 + searchSeven.setSorts(sorts);
  308 + List<Long> ids = this.search(searchSeven);
  309 +
  310 + SearchResult result = new SearchResult();
  311 + result.setTotalCount(this.count(searchSeven));
  312 +
  313 + fields = new ArrayList<Field>();
  314 + searchSeven = new SearchSeven(atendimentoVH.getSearchParams());
  315 + searchSeven.setResultMode(Search.RESULT_MAP);
  316 + for (String field : atendimentoVH.getSearchParams().getFields()) {
  317 + fields.add(new Field(field));
  318 + }
  319 + searchSeven.setFields(fields);
  320 + searchSeven.addFilterIn("id", ids);
  321 + searchSeven.setFirstResult(0);
  322 + result.setResult(this.search(searchSeven));
  323 +
  324 + return result;
  325 + }
  326 +
  327 + private void addFilterUnidadeRequisitante(AtendimentoVH atendimentoVH, SearchSeven searchSeven) {
  328 + if(!UtilColecao.isVazio(atendimentoVH.getIdsUnidadesRequisitantes())){
  329 + searchSeven.addFilterIn("unidadeRequisitante.id", atendimentoVH.getIdsUnidadesRequisitantes());
  330 + }
  331 + }
  332 +
  333 + private void addFilterMaterialConsumo(AtendimentoVH atendimentoVH, SearchSeven searchSeven) {
  334 + if(!UtilColecao.isVazio(atendimentoVH.getIdsMaterais())){
  335 + searchSeven.addFilterIn("requisicaoConsumoItens.materialConsumo.id", atendimentoVH.getIdsMaterais());
  336 + }
  337 + }
284 338 }
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/RequisicaoConsumoService.java
... ... @@ -3,9 +3,12 @@ package br.com.centralit.api.service;
3 3 import java.util.Calendar;
4 4 import java.util.Collection;
5 5  
  6 +import com.googlecode.genericdao.search.SearchResult;
  7 +
6 8 import br.com.centralit.api.model.EstruturaOrganizacional;
7 9 import br.com.centralit.api.model.MaterialConsumo;
8 10 import br.com.centralit.api.model.RequisicaoConsumo;
  11 +import br.com.centralit.api.viewHelper.AtendimentoVH;
9 12 import br.com.centralit.api.viewHelper.RequisicaoVH;
10 13 import br.com.centralit.framework.service.arquitetura.GenericService;
11 14  
... ... @@ -121,4 +124,6 @@ public interface RequisicaoConsumoService extends GenericService&lt;RequisicaoConsu
121 124 */
122 125 RequisicaoConsumo findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante);
123 126  
  127 + SearchResult filtrarRequisicoesAtendimento(AtendimentoVH atendimentoVH);
  128 +
124 129 }
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/RequisicaoConsumoServiceImpl.java
... ... @@ -11,6 +11,8 @@ import org.springframework.security.core.context.SecurityContextHolder;
11 11 import org.springframework.stereotype.Service;
12 12 import org.springframework.validation.Validator;
13 13  
  14 +import com.googlecode.genericdao.search.SearchResult;
  15 +
14 16 import br.com.centralit.api.dao.RequisicaoConsumoDao;
15 17 import br.com.centralit.api.model.DominioAlmoxarifado;
16 18 import br.com.centralit.api.model.EstruturaOrganizacional;
... ... @@ -27,6 +29,7 @@ import br.com.centralit.api.service.ModuloService;
27 29 import br.com.centralit.api.service.RequisicaoConsumoItemService;
28 30 import br.com.centralit.api.service.RequisicaoConsumoService;
29 31 import br.com.centralit.api.service.UsuarioService;
  32 +import br.com.centralit.api.viewHelper.AtendimentoVH;
30 33 import br.com.centralit.api.viewHelper.RequisicaoVH;
31 34 import br.com.centralit.framework.exception.BusinessException;
32 35 import br.com.centralit.framework.exception.CodigoErro;
... ... @@ -512,4 +515,9 @@ public class RequisicaoConsumoServiceImpl extends GenericServiceImpl&lt;RequisicaoC
512 515 entity.setNumeroRequisicao(codigo);
513 516 }
514 517  
  518 + @Override
  519 + public SearchResult filtrarRequisicoesAtendimento(AtendimentoVH atendimentoVH) {
  520 + return this.requisicaoConsumoDao.filtrarRequisicoesAtendimento(atendimentoVH);
  521 + }
  522 +
515 523 }
... ...
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/RequisicaoConsumoController.java
... ... @@ -13,14 +13,19 @@ import org.springframework.web.bind.annotation.RequestMethod;
13 13 import org.springframework.web.bind.annotation.RequestParam;
14 14 import org.springframework.web.bind.annotation.ResponseBody;
15 15  
  16 +import com.googlecode.genericdao.search.SearchResult;
  17 +
16 18 import br.com.centralit.api.framework.json.ViewsAdmMateriais;
17 19 import br.com.centralit.api.framework.json.ViewsAlmoxarifado;
18 20 import br.com.centralit.api.model.RequisicaoConsumo;
19 21 import br.com.centralit.api.service.RequisicaoConsumoService;
  22 +import br.com.centralit.api.viewHelper.AtendimentoVH;
20 23 import br.com.centralit.api.viewHelper.RequisicaoVH;
21 24 import br.com.centralit.framework.controller.GenericController;
22 25 import br.com.centralit.framework.json.ResponseBodyWrapper;
23 26 import br.com.centralit.framework.json.Views;
  27 +import br.com.centralit.framework.view.GridVH;
  28 +import br.com.centralit.framework.view.ResultResponseVH;
24 29  
25 30 /**
26 31 * <p>
... ... @@ -199,4 +204,21 @@ public class RequisicaoConsumoController extends GenericController&lt;RequisicaoCon
199 204  
200 205 return responseBody;
201 206 }
  207 +
  208 + @RequestMapping(value = "/filtrarRequisicoesAtendimento", method = RequestMethod.POST, produces = "application/json")
  209 + @ResponseBody
  210 + public ResponseBodyWrapper filtrarRequisicoesAtendimento(@RequestBody AtendimentoVH atendimentoVH) {
  211 + SearchResult searchResult = requisicaoConsumoService.filtrarRequisicoesAtendimento(atendimentoVH);
  212 +
  213 + GridVH gridVH = new GridVH();
  214 + gridVH.setObjects(searchResult.getResult());
  215 + gridVH.addTotalItensTotalPages(atendimentoVH.getSearchParams(), Long.valueOf(searchResult.getTotalCount()));
  216 +
  217 + ResultResponseVH resultResponseVH = new ResultResponseVH(gridVH);
  218 +
  219 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, this.getListView());
  220 +
  221 + return responseBody;
  222 + }
  223 +
202 224 }
... ...
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.EXCLUIR_ATENDIMENTO", "Excluir atendimento", dominio, modulo));
326 326  
327 327 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.STATUS_ATUAL", "Status atual", dominio, modulo));
  328 + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.FILTRAR", "Filtrar", dominio, modulo));
328 329 }
329 330  
330 331 private void gerarValidacao(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) {
... ...
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoListController.js
1 1 'use strict';
2 2  
3   -citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'AtendimentoRequisicaoConsumoRepository', '$translate', '$timeout', 'DominioRepository', 'RequisicaoConsumoRepository',
4   - function AtendimentoRequisicaoConsumoListController($scope, AtendimentoRequisicaoConsumoRepository, $translate, $timeout, DominioRepository, RequisicaoConsumoRepository) {
  3 +citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'AtendimentoRequisicaoConsumoRepository', '$translate',
  4 + '$timeout', 'DominioRepository', 'RequisicaoConsumoRepository',
  5 + 'EstruturaOrganizacionalAlmoxarifadoRepository','MaterialConsumoRepository','$filter',
  6 + function AtendimentoRequisicaoConsumoListController($scope, AtendimentoRequisicaoConsumoRepository, $translate,
  7 + $timeout, DominioRepository, RequisicaoConsumoRepository, EstruturaOrganizacionalAlmoxarifadoRepository, MaterialConsumoRepository, $filter) {
5 8 $scope.$showAdvancedFilters = false;
6 9 $scope.listaSelecionados = [];
7 10 $scope.resetForm = function() {
... ... @@ -10,6 +13,8 @@ citApp.controller(&#39;AtendimentoRequisicaoConsumoListController&#39;, [&#39;$scope&#39;, &#39;Aten
10 13  
11 14 $scope.recarregar = function() {
12 15  
  16 + $scope.filtrarCustomizado = false;
  17 +
13 18 // DEFINE CABEÇALHOS DA LISTAGEM
14 19 $scope.headers = [ {title : $translate.instant('ALMOXARIFADO.LABEL.NUMERO_REQUISICAO'), value : 'numeroRequisicao' } ,
15 20 {title : $translate.instant('ALMOXARIFADO.LABEL.STATUS_REQUISICAO'), value : 'tipoStatusRequisicao.descricao' } ,
... ... @@ -175,4 +180,126 @@ citApp.controller(&#39;AtendimentoRequisicaoConsumoListController&#39;, [&#39;$scope&#39;, &#39;Aten
175 180  
176 181 };
177 182  
  183 + $scope.findEstruturaOrganizacionalUR = function(value){
  184 + return EstruturaOrganizacionalAlmoxarifadoRepository.findEstruturaOrganizacionalUR(value,
  185 + $scope.usuarioLogado.organizacao.id).then(function(result) {
  186 + return $filter('idNotEqual')(result, $scope.listaUnidadesRequisitantesSelecionadas, 'id');
  187 + });
  188 + };
  189 +
  190 + $scope.findMateriaisConsumoByOrganizacao = function(value){
  191 + return MaterialConsumoRepository.findMateriaisConsumoByOrganizacao(value, $scope.usuarioLogado.organizacao.id).then(function(result) {
  192 + return $filter('idNotEqual')(result, $scope.listaMateriaisConsumoSelecionados, "id");
  193 + });
  194 + };
  195 +
  196 + $scope.setUnidadeRequisitante = function(item){
  197 + $scope.listaUnidadesRequisitantesSelecionadas.push(item);
  198 + $timeout(function(){
  199 + $scope.filtroAtendimento.unidadeRequisitanteSelecao = null;
  200 + });
  201 + };
  202 +
  203 + $scope.selectAllUnidadesRequisitantes = function(check){
  204 + angular.forEach($scope.listaUnidadesRequisitantesSelecionadas, function (item) {
  205 + item.$checkedChBox = $scope.filtroAtendimento.unidadeRequisitanteSelectedAll;
  206 + });
  207 + };
  208 +
  209 + $scope.selectAllMaterialConsumo = function(check){
  210 + angular.forEach($scope.listaMateriaisConsumoSelecionados, function (item) {
  211 + item.$checkedChBox = $scope.filtroAtendimento.materialConsumoSelectedAll;
  212 + });
  213 + };
  214 +
  215 + $scope.setMaterialConsumoItens = function(item){
  216 + $scope.listaMateriaisConsumoSelecionados.push(item);
  217 + $timeout(function(){
  218 + $scope.filtroAtendimento.materialConsumoItem = null;
  219 + });
  220 + };
  221 +
  222 + $scope.removerUnidadeRequisitanteSelecionada = function(){
  223 +
  224 + if($scope.filtroAtendimento.unidadeRequisitanteSelectedAll){
  225 + $scope.listaUnidadesRequisitantesSelecionadas = [];
  226 + $scope.filtroAtendimento.unidadeRequisitanteSelectedAll = false;
  227 + }else{
  228 + $scope.listaUnidadesRequisitantesSelecionadas.forEach(function(item, key) {
  229 + if (item.$checkedChBox) {
  230 + $scope.listaUnidadesRequisitantesSelecionadas.splice($scope.listaUnidadesRequisitantesSelecionadas.indexOf(item), 1);
  231 + }
  232 + });
  233 + }
  234 +
  235 + };
  236 +
  237 + $scope.removerMaterialConsumoSelecionado = function(){
  238 +
  239 + if($scope.filtroAtendimento.materialConsumoSelectedAll){
  240 + $scope.listaMateriaisConsumoSelecionados = [];
  241 + $scope.filtroAtendimento.materialConsumoSelectedAll = false;
  242 + }else{
  243 + angular.forEach($scope.listaMateriaisConsumoSelecionados, function (value) {
  244 + if(value.$checkedChBox){
  245 + $scope.listaMateriaisConsumoSelecionados.splice($scope.listaMateriaisConsumoSelecionados.indexOf(value), 1);
  246 + }
  247 + });
  248 + }
  249 + };
  250 +
  251 +
  252 + $scope.atendimentoAvancado = function(){
  253 + $scope.filtroAtendimento = {unidadeRequisitanteSelectedAll : false , materialConsumoSelectedAll : false};
  254 + $scope.listaUnidadesRequisitantesSelecionadas = [];
  255 + $scope.listaMateriaisConsumoSelecionados = [];
  256 + $scope.$openModal('modal-busca-avancada-requisicao.html', 'md');
  257 + };
  258 +
  259 + $scope.filtrarRequisicoes = function(){
  260 + $scope.setLoading(true);
  261 + var atendimentoVH = {searchParams : $scope.filterCriteria};
  262 + var idsUnidadeRequisitante = [];
  263 +
  264 + if($scope.listaUnidadesRequisitantesSelecionadas && $scope.listaUnidadesRequisitantesSelecionadas.length > 0){
  265 + angular.forEach($scope.listaUnidadesRequisitantesSelecionadas, function (value) {
  266 + idsUnidadeRequisitante.push(value.id);
  267 + });
  268 + atendimentoVH.idsUnidadesRequisitantes = idsUnidadeRequisitante;
  269 + }
  270 +
  271 + var idsMateriaisConsumo = [];
  272 +
  273 + if($scope.listaMateriaisConsumoSelecionados && $scope.listaMateriaisConsumoSelecionados.length > 0){
  274 + angular.forEach($scope.listaMateriaisConsumoSelecionados, function (value) {
  275 + idsMateriaisConsumo.push(value.id);
  276 + });
  277 + atendimentoVH.idsMaterais = idsMateriaisConsumo;
  278 + }
  279 +
  280 + return RequisicaoConsumoRepository.filtrarRequisicoesAtendimento(atendimentoVH).then(function(result){
  281 + if(result){
  282 +
  283 + $scope.atendimentoRequisicaoConsumoList = result.originalElement.objects;
  284 +
  285 + $scope.setTotalPages = result.originalElement.totalPages;
  286 + $scope.setTotalItens = result.originalElement.totalItens;
  287 +
  288 + if(!$scope.filtersCopy){
  289 + $scope.filtersCopy = angular.copy($scope.filterCriteria.filters);
  290 + }
  291 + $scope.filtrarCustomizado = true;
  292 + if($scope.setTotalItens == 0){
  293 + $scope.showAlert('warning', $translate.instant('MSG.NENHUM_REGISTRO_ENCONTRADO'), " ", false);
  294 + }
  295 +
  296 + } else {
  297 + $scope.showAlert('warning', $translate.instant('MSG.NENHUM_REGISTRO_ENCONTRADO'), " ", false);
  298 + }
  299 + $scope.$modalInstance.dismiss('cancel');
  300 + $scope.setLoading(false);
  301 + });
  302 +
  303 + };
  304 +
178 305 }]);
179 306 \ No newline at end of file
... ...
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/repository/RequisicaoConsumoRepository.js
... ... @@ -22,6 +22,10 @@ citApp.factory(&#39;RequisicaoConsumoRepository&#39;, [&#39;RestangularAlmoxarifado&#39;, &#39;Abstr
22 22 this.atenderRequisicoes = function(idsRequisicaoConsumo){
23 23 return restangularAlmoxarifado.all(this.route + "/atenderRequisicoes").post(idsRequisicaoConsumo).then();
24 24 };
  25 +
  26 + this.filtrarRequisicoesAtendimento = function(atendimentoVH) {
  27 + return this.restangular.all(this.route+ "/filtrarRequisicoesAtendimento").post(atendimentoVH);
  28 + };
25 29 }
26 30  
27 31 AbstractRepository.extend(RequisicaoConsumoRepository);
... ...
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoList.html
... ... @@ -40,9 +40,120 @@
40 40 </div><!-- .bar-buttons-action -->
41 41  
42 42 <breadcrumb ng-workspace="workspace"></breadcrumb>
  43 +
  44 + <div class="row" style="margin-bottom: 10px; margin-top: 5px !important;">
  45 + <div class="col-sm-2 text-left">
  46 + <button class="btn btn-sm btn-primary" type="button" ng-click="atendimentoAvancado();" style="margin-top: 26px;">
  47 + <translate>LABEL.BUSCA_AVANCADA</translate>
  48 + </button>
  49 + </div>
  50 + </div>
43 51  
44 52 <list-view ng-lista="atendimentoRequisicaoConsumoList" ng-repository="RequisicaoConsumoRepository" ng-use-custom-remove="false"
45 53 ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="atendimentoRequisicaoConsumoChecked"
46   - ng-lista-itens-selecionados="listaSelecionados" ng-check-on="true"></list-view>
  54 + ng-lista-itens-selecionados="listaSelecionados" ng-check-on="true"
  55 + set-total-pages="setTotalPages" set-total-itens="setTotalItens"
  56 + use-custom-filter-temp="filtrarCustomizado" ng-custom-filter="filtrarRequisicoes()"></list-view>
47 57  
48 58 </div><!-- .page-content -->
  59 +
  60 +
  61 +<script type="text/ng-template" id="modal-busca-avancada-requisicao.html">
  62 + <form name="formDialogBuscaAvancadaRequisicao" novalidate >
  63 + <div class="modal-header">
  64 + <button class="btn btn-clear" type="button" title="{{$translate.instant('ALMOXARIFADO.LABEL.FILTRAR')}}" alt="{{$translate.instant('ALMOXARIFADO.LABEL.FILTRAR')}}" ng-click="filtrarRequisicoes();">
  65 + <i class="fa fa-plus-circle yellow-dark"></i>
  66 + <translate>ALMOXARIFADO.LABEL.FILTRAR</translate>
  67 + </button>
  68 +
  69 + <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" type="button">
  70 + <i class="fa fa-times red"></i>
  71 + <translate>LABEL.CANCELAR</translate>
  72 + </button>
  73 + </div>
  74 +
  75 + <div class="modal-body">
  76 + <div class="row">
  77 + <div class="col-md-12">
  78 + <auto-complete ng-id="filtroAtendimento.unidadeRequisitanteSelecao" ng-label="ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE"
  79 + ng-model="filtroAtendimento.unidadeRequisitanteSelecao" form="formDialogBuscaAvancadaRequisicao"
  80 + ng-find="findEstruturaOrganizacionalUR(value)" ng-set-result="setUnidadeRequisitante(item);"
  81 + ng-item="item.nome + ' - ' + item.classificacao" />
  82 + </div>
  83 + </div>
  84 + <div class="row" ng-show="listaUnidadesRequisitantesSelecionadas.length > 0">
  85 + <div class="col-sm-12">
  86 + <div class="panel panel-default">
  87 + <div class="panel-heading clearfix">
  88 + <button class="btn btn-clear" type="button" ng-click="removerUnidadeRequisitanteSelecionada()">
  89 + <i class="fa fa-times red"></i>
  90 + <translate>LABEL.REMOVER</translate>
  91 + </button>
  92 + </div>
  93 + <table class="table table-bordered table-striped">
  94 + <thead>
  95 + <tr>
  96 + <th style="width: 3%;" class="text-center">
  97 + <input type="checkbox" ng-model="filtroAtendimento.unidadeRequisitanteSelectedAll" ng-click="selectAllUnidadesRequisitantes(unidadeRequisitanteSelectedAll)"/>
  98 + </th>
  99 + <th style="text-align: center">
  100 + <translate>ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE</translate>
  101 + </th>
  102 + </tr>
  103 + </thead>
  104 + <tbody ng-repeat="unidadeRequisitanteSelecionada in listaUnidadesRequisitantesSelecionadas">
  105 + <tr>
  106 + <td class="text-center">
  107 + <input type="checkbox" ng-checked="unidadeRequisitanteSelecionada.$checkedChBox" ng-model="unidadeRequisitanteSelecionada.$checkedChBox"/>
  108 + </td>
  109 + <td>
  110 + {{unidadeRequisitanteSelecionada.nome}}
  111 + </td>
  112 + </tr>
  113 + </tbody>
  114 + </table>
  115 + </div>
  116 + </div>
  117 + </div>
  118 + <div class="row">
  119 + <div class="col-md-12">
  120 + <auto-complete ng-id="materialConsumoItem" ng-label="ALMOXARIFADO.LABEL.MATERIAL_CONSUMO" ng-model="filtroAtendimento.materialConsumoItem"
  121 + ng-find="findMateriaisConsumoByOrganizacao(value)" ng-item="item.codigoEDescricao" ng-set-result="setMaterialConsumoItens(item)" />
  122 + </div>
  123 + </div>
  124 + <div class="row" ng-show="listaMateriaisConsumoSelecionados.length > 0">
  125 + <div class="col-sm-12">
  126 + <div class="panel panel-default">
  127 + <div class="panel-heading clearfix">
  128 + <button class="btn btn-clear" type="button" ng-click="removerMaterialConsumoSelecionado(materialConsumoSelectedAll)">
  129 + <i class="fa fa-times red"></i>
  130 + <translate>LABEL.REMOVER</translate>
  131 + </button>
  132 + </div>
  133 + <table class="table table-bordered table-striped">
  134 + <thead>
  135 + <tr>
  136 + <th style="width: 3%;" class="text-center">
  137 + <input type="checkbox" ng-model="filtroAtendimento.materialConsumoSelectedAll" ng-click="selectAllMaterialConsumo(materialConsumoSelectedAll)"/>
  138 + </th>
  139 + <th style="text-align: center">
  140 + <translate>ALMOXARIFADO.LABEL.MATERIAL_CONSUMO</translate>
  141 + </th>
  142 + </tr>
  143 + </thead>
  144 + <tbody ng-repeat="materialConsumoSelecionado in listaMateriaisConsumoSelecionados">
  145 + <tr>
  146 + <td class="text-center">
  147 + <input type="checkbox" ng-checked="materialConsumoSelecionado.$checkedChBox" ng-model="materialConsumoSelecionado.$checkedChBox"/>
  148 + </td>
  149 + <td>
  150 + {{materialConsumoSelecionado.codigoEDescricao}}
  151 + </td>
  152 + </tr>
  153 + </tbody>
  154 + </table>
  155 + </div>
  156 + </div>
  157 + </div>
  158 + </form>
  159 +</script>
... ...