Commit cee37d246bcf764bfc33015e76f5b36ef1d5ebc8
Exists in
master
Merge branch 'tarefa-3822' of http://ferramentasgo.centralit.com.br:8080/scm/git…
…/cit-grp-almoxarifado into tarefa-3822
Showing
9 changed files
with
343 additions
and
6 deletions
Show diff stats
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<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<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<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('AtendimentoRequisicaoConsumoListController', ['$scope', '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('AtendimentoRequisicaoConsumoListController', ['$scope', '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('RequisicaoConsumoRepository', ['RestangularAlmoxarifado', '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> | ... | ... |