Commit eed710633ac42606a51ab020ac54b95f25dee957
Exists in
master
Merge branch 'tarefa-3822' of http://ferramentasgo.centralit.com.br:8080/scm/git…
…/cit-grp-almoxarifado into tarefa-3822
Showing
14 changed files
with
157 additions
and
52 deletions
Show diff stats
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/RequisicaoConsumoDao.java
... | ... | @@ -2,6 +2,7 @@ package br.com.centralit.api.dao; |
2 | 2 | |
3 | 3 | import java.util.Calendar; |
4 | 4 | import java.util.Collection; |
5 | +import java.util.List; | |
5 | 6 | |
6 | 7 | import com.googlecode.genericdao.search.SearchResult; |
7 | 8 | |
... | ... | @@ -115,4 +116,6 @@ public interface RequisicaoConsumoDao extends CitGenericDAO { |
115 | 116 | RequisicaoConsumo findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante); |
116 | 117 | |
117 | 118 | SearchResult filtrarRequisicoesAtendimento(AtendimentoVH atendimentoVH); |
119 | + | |
120 | + List<RequisicaoConsumo> findRequisicoesParaAtendimento(AtendimentoVH atendimentoVH); | |
118 | 121 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/RequisicaoConsumoItemDao.java
... | ... | @@ -6,6 +6,7 @@ import java.util.List; |
6 | 6 | import br.com.centralit.api.model.EstruturaOrganizacional; |
7 | 7 | import br.com.centralit.api.model.MaterialConsumo; |
8 | 8 | import br.com.centralit.api.model.RequisicaoConsumo; |
9 | +import br.com.centralit.api.model.RequisicaoConsumoItem; | |
9 | 10 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; |
10 | 11 | import br.com.centralit.framework.model.Dominio; |
11 | 12 | |
... | ... | @@ -27,4 +28,6 @@ public interface RequisicaoConsumoItemDao extends CitGenericDAO { |
27 | 28 | */ |
28 | 29 | Long findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante, Dominio statusFinalizado, Dominio statusParcialmenteAtendida, Dominio statusAtendida); |
29 | 30 | |
31 | + List<RequisicaoConsumoItem> findItensRequisicaoPorMaterial(Long idRequisicao, Long idMaterial); | |
32 | + | |
30 | 33 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoDaoHibernate.java
... | ... | @@ -335,4 +335,17 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements |
335 | 335 | searchSeven.addFilterIn("requisicaoConsumoItens.materialConsumo.id", atendimentoVH.getIdsMaterais()); |
336 | 336 | } |
337 | 337 | } |
338 | + | |
339 | + @Override | |
340 | + public List<RequisicaoConsumo> findRequisicoesParaAtendimento(AtendimentoVH atendimentoVH) { | |
341 | + | |
342 | + SearchSeven searchSeven = new SearchSeven(); | |
343 | + | |
344 | + if (!UtilColecao.isVazio(atendimentoVH.getIdsRequisicao())) { | |
345 | + | |
346 | + searchSeven.addFilterIn("id", atendimentoVH.getIdsRequisicao()); | |
347 | + } | |
348 | + | |
349 | + return this.search(searchSeven); | |
350 | + } | |
338 | 351 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoItemDaoHibernate.java
... | ... | @@ -188,5 +188,18 @@ public class RequisicaoConsumoItemDaoHibernate extends CitGenericDAOImpl impleme |
188 | 188 | return UtilObjeto.isReferencia(result) ? result.longValue() : null; |
189 | 189 | } |
190 | 190 | |
191 | + @Override | |
192 | + public List<RequisicaoConsumoItem> findItensRequisicaoPorMaterial(Long idRequisicao, Long idMaterial) { | |
193 | + | |
194 | + SearchSeven searchSeven = new SearchSeven(); | |
195 | + | |
196 | + searchSeven.addFilterEqual("requisicaoConsumo.id", idRequisicao); | |
197 | + | |
198 | + searchSeven.addFilterEqual("materialConsumo.id", idMaterial); | |
199 | + | |
200 | + return this.search(searchSeven); | |
201 | + | |
202 | + } | |
203 | + | |
191 | 204 | |
192 | 205 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/RequisicaoConsumoItemService.java
... | ... | @@ -42,5 +42,7 @@ public interface RequisicaoConsumoItemService extends GenericService<RequisicaoC |
42 | 42 | * @return |
43 | 43 | */ |
44 | 44 | public Long findRequisicaoAnteriorPorMaterial(MaterialConsumo materialConsumo, EstruturaOrganizacional unidadeRequisitante); |
45 | + | |
46 | + List<RequisicaoConsumoItem> findItensRequisicaoPorMaterial(Long idRequisicao, Long idMaterial); | |
45 | 47 | |
46 | 48 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/RequisicaoConsumoService.java
... | ... | @@ -2,6 +2,7 @@ package br.com.centralit.api.service; |
2 | 2 | |
3 | 3 | import java.util.Calendar; |
4 | 4 | import java.util.Collection; |
5 | +import java.util.List; | |
5 | 6 | |
6 | 7 | import com.googlecode.genericdao.search.SearchResult; |
7 | 8 | |
... | ... | @@ -126,4 +127,6 @@ public interface RequisicaoConsumoService extends GenericService<RequisicaoConsu |
126 | 127 | |
127 | 128 | SearchResult filtrarRequisicoesAtendimento(AtendimentoVH atendimentoVH); |
128 | 129 | |
130 | + List<RequisicaoConsumo> findRequisicoesParaAtendimento(AtendimentoVH atendimentoVH); | |
131 | + | |
129 | 132 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/RequisicaoConsumoItemServiceImpl.java
... | ... | @@ -148,4 +148,10 @@ public class RequisicaoConsumoItemServiceImpl extends GenericServiceImpl<Requisi |
148 | 148 | return this.requisicaoConsumoItemDao.findRequisicaoAnteriorPorMaterial(materialConsumo, unidadeRequisitante, statusFinalizado, statusParcialmenteAtendida, statusAtendida); |
149 | 149 | } |
150 | 150 | |
151 | + | |
152 | + @Override | |
153 | + public List<RequisicaoConsumoItem> findItensRequisicaoPorMaterial(Long idRequisicao, Long idMaterial) { | |
154 | + return this.requisicaoConsumoItemDao.findItensRequisicaoPorMaterial(idRequisicao, idMaterial); | |
155 | + } | |
156 | + | |
151 | 157 | } | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/RequisicaoConsumoServiceImpl.java
... | ... | @@ -112,7 +112,7 @@ public class RequisicaoConsumoServiceImpl extends GenericServiceImpl<RequisicaoC |
112 | 112 | /** Atributo centroCustoService. */ |
113 | 113 | @Autowired |
114 | 114 | private CentroCustoService centroCustoService; |
115 | - | |
115 | + | |
116 | 116 | @Autowired |
117 | 117 | public RequisicaoConsumoServiceImpl( RequisicaoConsumoDao requisicaoConsumoDao, @Qualifier("requisicaoConsumoValidator") Validator validator ) { |
118 | 118 | |
... | ... | @@ -520,4 +520,9 @@ public class RequisicaoConsumoServiceImpl extends GenericServiceImpl<RequisicaoC |
520 | 520 | return this.requisicaoConsumoDao.filtrarRequisicoesAtendimento(atendimentoVH); |
521 | 521 | } |
522 | 522 | |
523 | + @Override | |
524 | + public List<RequisicaoConsumo> findRequisicoesParaAtendimento(AtendimentoVH atendimentoVH) { | |
525 | + return this.requisicaoConsumoDao.findRequisicoesParaAtendimento(atendimentoVH); | |
526 | + } | |
527 | + | |
523 | 528 | } | ... | ... |
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/RequisicaoConsumoController.java
1 | 1 | package br.com.centralit.controller; |
2 | 2 | |
3 | -import java.util.Collection; | |
3 | +import java.util.ArrayList; | |
4 | 4 | import java.util.List; |
5 | 5 | |
6 | 6 | import org.apache.commons.lang3.SerializationUtils; |
... | ... | @@ -18,12 +18,15 @@ import com.googlecode.genericdao.search.SearchResult; |
18 | 18 | import br.com.centralit.api.framework.json.ViewsAdmMateriais; |
19 | 19 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; |
20 | 20 | import br.com.centralit.api.model.RequisicaoConsumo; |
21 | +import br.com.centralit.api.model.RequisicaoConsumoItem; | |
22 | +import br.com.centralit.api.service.RequisicaoConsumoItemService; | |
21 | 23 | import br.com.centralit.api.service.RequisicaoConsumoService; |
22 | 24 | import br.com.centralit.api.viewHelper.AtendimentoVH; |
23 | 25 | import br.com.centralit.api.viewHelper.RequisicaoVH; |
24 | 26 | import br.com.centralit.framework.controller.GenericController; |
25 | 27 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
26 | 28 | import br.com.centralit.framework.json.Views; |
29 | +import br.com.centralit.framework.util.UtilColecao; | |
27 | 30 | import br.com.centralit.framework.view.GridVH; |
28 | 31 | import br.com.centralit.framework.view.ResultResponseVH; |
29 | 32 | |
... | ... | @@ -65,6 +68,9 @@ public class RequisicaoConsumoController extends GenericController<RequisicaoCon |
65 | 68 | |
66 | 69 | /** Atributo requisicaoConsumoService. */ |
67 | 70 | private RequisicaoConsumoService requisicaoConsumoService; |
71 | + | |
72 | + @Autowired | |
73 | + private RequisicaoConsumoItemService requisicaoConsumoItemService; | |
68 | 74 | |
69 | 75 | @Autowired |
70 | 76 | public RequisicaoConsumoController(RequisicaoConsumoService requisicaoConsumoService) { |
... | ... | @@ -197,10 +203,22 @@ public class RequisicaoConsumoController extends GenericController<RequisicaoCon |
197 | 203 | */ |
198 | 204 | @RequestMapping(value = "/atenderRequisicoes", method = RequestMethod.POST, produces = "application/json") |
199 | 205 | @ResponseBody |
200 | - public ResponseBodyWrapper atenderRequisicoes (@RequestBody Collection<Long> requisicoesIds) { | |
206 | + public ResponseBodyWrapper atenderRequisicoes (@RequestBody AtendimentoVH atendimentoVH) { | |
207 | + | |
208 | + List<RequisicaoConsumo> requisicoes = this.requisicaoConsumoService.findRequisicoesParaAtendimento(atendimentoVH); | |
209 | + | |
210 | + if(!UtilColecao.isVazio(atendimentoVH.getIdsMaterais())){ | |
211 | + for (RequisicaoConsumo requisicaoConsumo : requisicoes) { | |
212 | + List<RequisicaoConsumoItem> itens = new ArrayList<RequisicaoConsumoItem>(); | |
213 | + for (Long idMaterial : atendimentoVH.getIdsMaterais()) { | |
214 | + itens.addAll(this.requisicaoConsumoItemService.findItensRequisicaoPorMaterial(requisicaoConsumo.getId(), idMaterial)); | |
215 | + | |
216 | + } | |
217 | + requisicaoConsumo.setRequisicaoConsumoItens(itens); | |
218 | + } | |
219 | + } | |
201 | 220 | |
202 | - ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.requisicaoConsumoService.findList((List<Long>) requisicoesIds), | |
203 | - ViewsAdmMateriais.RequisicaoConsumoEditView.class); | |
221 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(requisicoes, ViewsAdmMateriais.RequisicaoConsumoEditView.class); | |
204 | 222 | |
205 | 223 | return responseBody; |
206 | 224 | } | ... | ... |
cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java
... | ... | @@ -326,6 +326,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat |
326 | 326 | |
327 | 327 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.STATUS_ATUAL", "Status atual", dominio, modulo)); |
328 | 328 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.FILTRAR", "Filtrar", dominio, modulo)); |
329 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.LABEL.LIMPAR_BUSCA_AVANCADA", "Limpar busca avançada", dominio, modulo)); | |
329 | 330 | } |
330 | 331 | |
331 | 332 | private void gerarValidacao(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { |
... | ... | @@ -411,6 +412,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat |
411 | 412 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.CONFIRMA_EXCLUSAO_ATENDIMENTO_REQUISICAO", "Confirma exclusão dos atendimentos selecionados?", dominio, modulo)); |
412 | 413 | 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)); |
413 | 414 | 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)); |
415 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.INFO_FILTRO_MATERIAL_REQUISICAO", "O atendimento será realizado para os materiais selecionados na busca avançada.", dominio, modulo)); | |
414 | 416 | |
415 | 417 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.REMOVER_REQUISICAO_ATENDIMENTO", "Remover requisição deste atendimento", dominio, modulo)); |
416 | 418 | ... | ... |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
... | ... | @@ -289,22 +289,24 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', |
289 | 289 | }); |
290 | 290 | }; |
291 | 291 | |
292 | - $scope.prepararAtendimentoRequisicoes = function(listaSelecionados) { | |
292 | + $scope.prepararAtendimentoRequisicoes = function(atendimentoVH) { | |
293 | 293 | $scope.edit = true; |
294 | 294 | $scope.atendimentos = []; |
295 | 295 | $scope.idsRequisicoesSelecionados = []; |
296 | 296 | $scope.atendimentoRequisicaoConsumo.dataAtendimento = new Date(); |
297 | 297 | $scope.requisicoesSelecionadas = []; |
298 | - $scope.requisicoesSelecionadas = listaSelecionados; | |
299 | - listaSelecionados.forEach(function(requisicao){ | |
300 | - $scope.idsRequisicoesSelecionados.push(requisicao.id); | |
301 | - }); | |
298 | + $scope.requisicoesSelecionadas = atendimentoVH.requisicoesSelecionadas; | |
299 | + | |
300 | + delete atendimentoVH.requisicoesSelecionadas; | |
301 | + | |
302 | + $scope.idsRequisicoesSelecionados = atendimentoVH.idsRequisicao; | |
303 | + | |
302 | 304 | if ($scope.idsRequisicoesSelecionados && $scope.requisicoesSelecionadas && $scope.idsRequisicoesSelecionados.length > 0) { |
303 | 305 | |
304 | 306 | if (verificarSelecaoRequisicaoAtendida()) { |
305 | 307 | $scope.showAlert("warning", $translate.instant('ALMOXARIFADO.MSG.REQUISICAO_JA_ATENDIDA')); |
306 | 308 | } else { |
307 | - iniciarAtendimentoRequisicoes(); | |
309 | + iniciarAtendimentoRequisicoes(atendimentoVH); | |
308 | 310 | } |
309 | 311 | } else { |
310 | 312 | $scope.showAlert("warning", $translate.instant('MSG.NENHUM_ITEM_SELECIONADO')); |
... | ... | @@ -323,9 +325,9 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', |
323 | 325 | return hasRequisicaoAtendida; |
324 | 326 | } |
325 | 327 | |
326 | - function iniciarAtendimentoRequisicoes() { | |
328 | + function iniciarAtendimentoRequisicoes(atendimentoVH) { | |
327 | 329 | $scope.setLoadingPesquisa(true); |
328 | - RequisicaoConsumoRepository.atenderRequisicoes($scope.idsRequisicoesSelecionados).then(function(result){ | |
330 | + RequisicaoConsumoRepository.atenderRequisicoes(atendimentoVH).then(function(result){ | |
329 | 331 | result.forEach(function (requisicao) { |
330 | 332 | $scope.addRequisicaoConsumoAoAtendimento(requisicao.originalElement); |
331 | 333 | }); | ... | ... |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoListController.js
... | ... | @@ -14,7 +14,9 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
14 | 14 | $scope.recarregar = function() { |
15 | 15 | |
16 | 16 | $scope.filtrarCustomizado = false; |
17 | - | |
17 | + $scope.atendimentoVH = {}; | |
18 | + $scope.listaUnidadesRequisitantesSelecionadas = []; | |
19 | + $scope.listaMateriaisConsumoSelecionados = []; | |
18 | 20 | // DEFINE CABEÇALHOS DA LISTAGEM |
19 | 21 | $scope.headers = [ {title : $translate.instant('ALMOXARIFADO.LABEL.NUMERO_REQUISICAO'), value : 'numeroRequisicao' } , |
20 | 22 | {title : $translate.instant('ALMOXARIFADO.LABEL.STATUS_REQUISICAO'), value : 'tipoStatusRequisicao.descricao' } , |
... | ... | @@ -40,6 +42,12 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
40 | 42 | }; |
41 | 43 | |
42 | 44 | $scope.recarregar(); |
45 | + | |
46 | + $scope.limparBuscaAvancada = function(){ | |
47 | + $scope.atendimentoVH = {}; | |
48 | + $scope.listaUnidadesRequisitantesSelecionadas = []; | |
49 | + $scope.listaMateriaisConsumoSelecionados = []; | |
50 | + }; | |
43 | 51 | |
44 | 52 | DominioRepository.findAllDominio('tipoStatusRequisicao').then(function(result) { |
45 | 53 | var listaDominio = []; |
... | ... | @@ -103,7 +111,16 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
103 | 111 | }); |
104 | 112 | |
105 | 113 | if(permiteAtender){ |
106 | - angular.element('#editAtendimentoRequisicaoConsumo').scope().prepararAtendimentoRequisicoes($scope.listaSelecionados); | |
114 | + | |
115 | + var idsRequisicoesSelecionados = []; | |
116 | + $scope.listaSelecionados.forEach(function(requisicao){ | |
117 | + idsRequisicoesSelecionados.push(requisicao.id); | |
118 | + }); | |
119 | + $scope.atendimentoVH.idsRequisicao = idsRequisicoesSelecionados; | |
120 | + $scope.atendimentoVH.requisicoesSelecionadas = $scope.listaSelecionados; | |
121 | + $scope.listaSelecionados = []; | |
122 | + angular.element('#editAtendimentoRequisicaoConsumo').scope().prepararAtendimentoRequisicoes($scope.atendimentoVH); | |
123 | + $scope.recarregar(); | |
107 | 124 | } |
108 | 125 | }; |
109 | 126 | |
... | ... | @@ -251,21 +268,25 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
251 | 268 | |
252 | 269 | $scope.atendimentoAvancado = function(){ |
253 | 270 | $scope.filtroAtendimento = {unidadeRequisitanteSelectedAll : false , materialConsumoSelectedAll : false}; |
254 | - $scope.listaUnidadesRequisitantesSelecionadas = []; | |
255 | - $scope.listaMateriaisConsumoSelecionados = []; | |
271 | + if(!$scope.listaUnidadesRequisitantesSelecionadas){ | |
272 | + $scope.listaUnidadesRequisitantesSelecionadas = []; | |
273 | + } | |
274 | + if(!$scope.listaMateriaisConsumoSelecionados){ | |
275 | + $scope.listaMateriaisConsumoSelecionados = []; | |
276 | + } | |
256 | 277 | $scope.$openModal('modal-busca-avancada-requisicao.html', 'md'); |
257 | 278 | }; |
258 | 279 | |
259 | 280 | $scope.filtrarRequisicoes = function(){ |
260 | 281 | $scope.setLoading(true); |
261 | - var atendimentoVH = {searchParams : $scope.filterCriteria}; | |
282 | + $scope.atendimentoVH = {searchParams : $scope.filterCriteria}; | |
262 | 283 | var idsUnidadeRequisitante = []; |
263 | 284 | |
264 | 285 | if($scope.listaUnidadesRequisitantesSelecionadas && $scope.listaUnidadesRequisitantesSelecionadas.length > 0){ |
265 | 286 | angular.forEach($scope.listaUnidadesRequisitantesSelecionadas, function (value) { |
266 | 287 | idsUnidadeRequisitante.push(value.id); |
267 | 288 | }); |
268 | - atendimentoVH.idsUnidadesRequisitantes = idsUnidadeRequisitante; | |
289 | + $scope.atendimentoVH.idsUnidadesRequisitantes = idsUnidadeRequisitante; | |
269 | 290 | } |
270 | 291 | |
271 | 292 | var idsMateriaisConsumo = []; |
... | ... | @@ -274,12 +295,12 @@ citApp.controller('AtendimentoRequisicaoConsumoListController', ['$scope', 'Aten |
274 | 295 | angular.forEach($scope.listaMateriaisConsumoSelecionados, function (value) { |
275 | 296 | idsMateriaisConsumo.push(value.id); |
276 | 297 | }); |
277 | - atendimentoVH.idsMaterais = idsMateriaisConsumo; | |
298 | + $scope.atendimentoVH.idsMaterais = idsMateriaisConsumo; | |
278 | 299 | } |
279 | 300 | |
280 | - return RequisicaoConsumoRepository.filtrarRequisicoesAtendimento(atendimentoVH).then(function(result){ | |
301 | + return RequisicaoConsumoRepository.filtrarRequisicoesAtendimento($scope.atendimentoVH).then(function(result){ | |
281 | 302 | if(result){ |
282 | - | |
303 | + $scope.listaSelecionados = []; | |
283 | 304 | $scope.atendimentoRequisicaoConsumoList = result.originalElement.objects; |
284 | 305 | |
285 | 306 | $scope.setTotalPages = result.originalElement.totalPages; | ... | ... |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/repository/RequisicaoConsumoRepository.js
... | ... | @@ -19,8 +19,8 @@ citApp.factory('RequisicaoConsumoRepository', ['RestangularAlmoxarifado', 'Abstr |
19 | 19 | return restangularAlmoxarifado.all(this.route + "/finalizarRequisicoes").post(requisicaoVH).then(); |
20 | 20 | }; |
21 | 21 | |
22 | - this.atenderRequisicoes = function(idsRequisicaoConsumo){ | |
23 | - return restangularAlmoxarifado.all(this.route + "/atenderRequisicoes").post(idsRequisicaoConsumo).then(); | |
22 | + this.atenderRequisicoes = function(atendimentoVH){ | |
23 | + return restangularAlmoxarifado.all(this.route + "/atenderRequisicoes").post(atendimentoVH).then(); | |
24 | 24 | }; |
25 | 25 | |
26 | 26 | this.filtrarRequisicoesAtendimento = function(atendimentoVH) { | ... | ... |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoList.html
... | ... | @@ -41,13 +41,20 @@ |
41 | 41 | |
42 | 42 | <breadcrumb ng-workspace="workspace"></breadcrumb> |
43 | 43 | |
44 | - <div class="row" style="margin-bottom: 10px; margin-top: 5px !important;"> | |
44 | + <div class="row" style="margin-bottom: 10px"> | |
45 | 45 | <div class="col-sm-2 text-left"> |
46 | 46 | <button class="btn btn-sm btn-primary" type="button" ng-click="atendimentoAvancado();" style="margin-top: 26px;"> |
47 | 47 | <translate>LABEL.BUSCA_AVANCADA</translate> |
48 | 48 | </button> |
49 | 49 | </div> |
50 | 50 | </div> |
51 | + | |
52 | + <div class="alert alert-warning" title="{{$translate.instant('ALMOXARIFADO.LABEL.LIMPAR_BUSCA_AVANCADA')}}" alt="{{$translate.instant('ALMOXARIFADO.LABEL.LIMPAR_BUSCA_AVANCADA')}}" | |
53 | + role="alert" ng-show="atendimentoVH.idsMaterais && atendimentoVH.idsMaterais.length > 0"> | |
54 | + <a class="close" data-dismiss="alert" ng-click="limparBuscaAvancada()" aria-label="close">×</a> | |
55 | + <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> | |
56 | + <translate>ALMOXARIFADO.MSG.INFO_FILTRO_MATERIAL_REQUISICAO</span></translate> | |
57 | + </div> | |
51 | 58 | |
52 | 59 | <list-view ng-lista="atendimentoRequisicaoConsumoList" ng-repository="RequisicaoConsumoRepository" ng-use-custom-remove="false" |
53 | 60 | ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="atendimentoRequisicaoConsumoChecked" |
... | ... | @@ -66,6 +73,11 @@ |
66 | 73 | <translate>ALMOXARIFADO.LABEL.FILTRAR</translate> |
67 | 74 | </button> |
68 | 75 | |
76 | + <button title="{{$translate.instant('LABEL.LIMPAR')}}" alt="{{$translate.instant('LABEL.LIMPAR')}}" ng-click="limparBuscaAvancada()" class="btn btn-clear" type="button"> | |
77 | + <i class="fa fa-eraser"></i> | |
78 | + <translate>LABEL.LIMPAR</translate> | |
79 | + </button> | |
80 | + | |
69 | 81 | <button title="{{$translate.instant('LABEL.CANCELAR')}}" alt="{{$translate.instant('LABEL.CANCELAR')}}" ng-click="$dismiss('cancel');" class="btn btn-clear" type="button"> |
70 | 82 | <i class="fa fa-times red"></i> |
71 | 83 | <translate>LABEL.CANCELAR</translate> |
... | ... | @@ -73,19 +85,18 @@ |
73 | 85 | </div> |
74 | 86 | |
75 | 87 | <div class="modal-body"> |
88 | + | |
76 | 89 | <div class="row"> |
77 | 90 | <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" /> | |
91 | + <auto-complete ng-id="materialConsumoItem" ng-label="ALMOXARIFADO.LABEL.MATERIAL_CONSUMO" ng-model="filtroAtendimento.materialConsumoItem" | |
92 | + ng-find="findMateriaisConsumoByOrganizacao(value)" ng-item="item.codigoEDescricao" ng-set-result="setMaterialConsumoItens(item)" /> | |
82 | 93 | </div> |
83 | - </div> | |
84 | - <div class="row" ng-show="listaUnidadesRequisitantesSelecionadas.length > 0"> | |
94 | + </div> | |
95 | + <div class="row" ng-show="listaMateriaisConsumoSelecionados.length > 0"> | |
85 | 96 | <div class="col-sm-12"> |
86 | 97 | <div class="panel panel-default"> |
87 | 98 | <div class="panel-heading clearfix"> |
88 | - <button class="btn btn-clear" type="button" ng-click="removerUnidadeRequisitanteSelecionada()"> | |
99 | + <button class="btn btn-clear" type="button" ng-click="removerMaterialConsumoSelecionado(materialConsumoSelectedAll)"> | |
89 | 100 | <i class="fa fa-times red"></i> |
90 | 101 | <translate>LABEL.REMOVER</translate> |
91 | 102 | </button> |
... | ... | @@ -94,38 +105,40 @@ |
94 | 105 | <thead> |
95 | 106 | <tr> |
96 | 107 | <th style="width: 3%;" class="text-center"> |
97 | - <input type="checkbox" ng-model="filtroAtendimento.unidadeRequisitanteSelectedAll" ng-click="selectAllUnidadesRequisitantes(unidadeRequisitanteSelectedAll)"/> | |
108 | + <input type="checkbox" ng-model="filtroAtendimento.materialConsumoSelectedAll" ng-click="selectAllMaterialConsumo(materialConsumoSelectedAll)"/> | |
98 | 109 | </th> |
99 | 110 | <th style="text-align: center"> |
100 | - <translate>ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE</translate> | |
111 | + <translate>ALMOXARIFADO.LABEL.MATERIAL_CONSUMO</translate> | |
101 | 112 | </th> |
102 | 113 | </tr> |
103 | 114 | </thead> |
104 | - <tbody ng-repeat="unidadeRequisitanteSelecionada in listaUnidadesRequisitantesSelecionadas"> | |
115 | + <tbody ng-repeat="materialConsumoSelecionado in listaMateriaisConsumoSelecionados"> | |
105 | 116 | <tr> |
106 | 117 | <td class="text-center"> |
107 | - <input type="checkbox" ng-checked="unidadeRequisitanteSelecionada.$checkedChBox" ng-model="unidadeRequisitanteSelecionada.$checkedChBox"/> | |
118 | + <input type="checkbox" ng-checked="materialConsumoSelecionado.$checkedChBox" ng-model="materialConsumoSelecionado.$checkedChBox"/> | |
108 | 119 | </td> |
109 | 120 | <td> |
110 | - {{unidadeRequisitanteSelecionada.nome}} | |
121 | + {{materialConsumoSelecionado.codigoEDescricao}} | |
111 | 122 | </td> |
112 | 123 | </tr> |
113 | 124 | </tbody> |
114 | 125 | </table> |
115 | - </div> | |
116 | - </div> | |
126 | + </div> | |
127 | + </div> | |
117 | 128 | </div> |
118 | 129 | <div class="row"> |
119 | 130 | <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)" /> | |
131 | + <auto-complete ng-id="filtroAtendimento.unidadeRequisitanteSelecao" ng-label="ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE" | |
132 | + ng-model="filtroAtendimento.unidadeRequisitanteSelecao" form="formDialogBuscaAvancadaRequisicao" | |
133 | + ng-find="findEstruturaOrganizacionalUR(value)" ng-set-result="setUnidadeRequisitante(item);" | |
134 | + ng-item="item.nome + ' - ' + item.classificacao" /> | |
122 | 135 | </div> |
123 | - </div> | |
124 | - <div class="row" ng-show="listaMateriaisConsumoSelecionados.length > 0"> | |
136 | + </div> | |
137 | + <div class="row" ng-show="listaUnidadesRequisitantesSelecionadas.length > 0"> | |
125 | 138 | <div class="col-sm-12"> |
126 | 139 | <div class="panel panel-default"> |
127 | 140 | <div class="panel-heading clearfix"> |
128 | - <button class="btn btn-clear" type="button" ng-click="removerMaterialConsumoSelecionado(materialConsumoSelectedAll)"> | |
141 | + <button class="btn btn-clear" type="button" ng-click="removerUnidadeRequisitanteSelecionada()"> | |
129 | 142 | <i class="fa fa-times red"></i> |
130 | 143 | <translate>LABEL.REMOVER</translate> |
131 | 144 | </button> |
... | ... | @@ -134,26 +147,27 @@ |
134 | 147 | <thead> |
135 | 148 | <tr> |
136 | 149 | <th style="width: 3%;" class="text-center"> |
137 | - <input type="checkbox" ng-model="filtroAtendimento.materialConsumoSelectedAll" ng-click="selectAllMaterialConsumo(materialConsumoSelectedAll)"/> | |
150 | + <input type="checkbox" ng-model="filtroAtendimento.unidadeRequisitanteSelectedAll" ng-click="selectAllUnidadesRequisitantes(unidadeRequisitanteSelectedAll)"/> | |
138 | 151 | </th> |
139 | 152 | <th style="text-align: center"> |
140 | - <translate>ALMOXARIFADO.LABEL.MATERIAL_CONSUMO</translate> | |
153 | + <translate>ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE</translate> | |
141 | 154 | </th> |
142 | 155 | </tr> |
143 | 156 | </thead> |
144 | - <tbody ng-repeat="materialConsumoSelecionado in listaMateriaisConsumoSelecionados"> | |
157 | + <tbody ng-repeat="unidadeRequisitanteSelecionada in listaUnidadesRequisitantesSelecionadas"> | |
145 | 158 | <tr> |
146 | 159 | <td class="text-center"> |
147 | - <input type="checkbox" ng-checked="materialConsumoSelecionado.$checkedChBox" ng-model="materialConsumoSelecionado.$checkedChBox"/> | |
160 | + <input type="checkbox" ng-checked="unidadeRequisitanteSelecionada.$checkedChBox" ng-model="unidadeRequisitanteSelecionada.$checkedChBox"/> | |
148 | 161 | </td> |
149 | 162 | <td> |
150 | - {{materialConsumoSelecionado.codigoEDescricao}} | |
163 | + {{unidadeRequisitanteSelecionada.nome}} | |
151 | 164 | </td> |
152 | 165 | </tr> |
153 | 166 | </tbody> |
154 | 167 | </table> |
155 | - </div> | |
156 | - </div> | |
157 | - </div> | |
168 | + </div> | |
169 | + </div> | |
170 | + </div> | |
171 | + </div> | |
158 | 172 | </form> |
159 | 173 | </script> | ... | ... |