Commit 34be4cdbced2a87af6a14cd287b7a3d1fcd5e28b
1 parent
eed71063
Exists in
master
Redmine #3822
Showing
8 changed files
with
227 additions
and
54 deletions
Show diff stats
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java
1 | package br.com.centralit.api.model; | 1 | package br.com.centralit.api.model; |
2 | 2 | ||
3 | import java.math.BigDecimal; | 3 | import java.math.BigDecimal; |
4 | +import java.util.Collection; | ||
4 | 5 | ||
6 | +import javax.persistence.CascadeType; | ||
5 | import javax.persistence.Entity; | 7 | import javax.persistence.Entity; |
6 | import javax.persistence.FetchType; | 8 | import javax.persistence.FetchType; |
7 | import javax.persistence.GeneratedValue; | 9 | import javax.persistence.GeneratedValue; |
@@ -9,6 +11,7 @@ import javax.persistence.GenerationType; | @@ -9,6 +11,7 @@ import javax.persistence.GenerationType; | ||
9 | import javax.persistence.Id; | 11 | import javax.persistence.Id; |
10 | import javax.persistence.JoinColumn; | 12 | import javax.persistence.JoinColumn; |
11 | import javax.persistence.ManyToOne; | 13 | import javax.persistence.ManyToOne; |
14 | +import javax.persistence.OneToMany; | ||
12 | import javax.persistence.Table; | 15 | import javax.persistence.Table; |
13 | 16 | ||
14 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; | 17 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; |
@@ -79,13 +82,9 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | @@ -79,13 +82,9 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | ||
79 | @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) | 82 | @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) |
80 | private MaterialConsumo material; | 83 | private MaterialConsumo material; |
81 | 84 | ||
82 | - /** Atributo quantidade. */ | ||
83 | - @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class }) | ||
84 | - private BigDecimal quantidade; | ||
85 | - | ||
86 | - @ManyToOne(fetch = FetchType.LAZY, optional = false) | ||
87 | - @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) | ||
88 | - private MaterialLocalEstoque materialLocalEstoque; | 85 | + @OneToMany(fetch = FetchType.LAZY, mappedBy = "atendimentoRequisicaoConsumoItem", cascade = CascadeType.ALL, orphanRemoval = true) |
86 | + @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) | ||
87 | + private Collection<AtendimentoRequisicaoConsumoItemEndereco> atendimentoRequisicaoConsumoItemEnderecos; | ||
89 | 88 | ||
90 | /** | 89 | /** |
91 | * Retorna o valor do atributo <code>id</code> | 90 | * Retorna o valor do atributo <code>id</code> |
@@ -148,26 +147,6 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | @@ -148,26 +147,6 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | ||
148 | } | 147 | } |
149 | 148 | ||
150 | /** | 149 | /** |
151 | - * Retorna o valor do atributo <code>quantidade</code> | ||
152 | - * | ||
153 | - * @return <code>BigDecimal</code> | ||
154 | - */ | ||
155 | - public BigDecimal getQuantidade() { | ||
156 | - | ||
157 | - return quantidade; | ||
158 | - } | ||
159 | - | ||
160 | - /** | ||
161 | - * Define o valor do atributo <code>quantidade</code>. | ||
162 | - * | ||
163 | - * @param quantidade | ||
164 | - */ | ||
165 | - public void setQuantidade(BigDecimal quantidade) { | ||
166 | - | ||
167 | - this.quantidade = quantidade; | ||
168 | - } | ||
169 | - | ||
170 | - /** | ||
171 | * Retorna o valor do atributo <code>requisicaoConsumoItem</code> | 150 | * Retorna o valor do atributo <code>requisicaoConsumoItem</code> |
172 | * | 151 | * |
173 | * @return <code>RequisicaoConsumoItem</code> | 152 | * @return <code>RequisicaoConsumoItem</code> |
@@ -187,11 +166,23 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | @@ -187,11 +166,23 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | ||
187 | this.requisicaoConsumoItem = requisicaoConsumoItem; | 166 | this.requisicaoConsumoItem = requisicaoConsumoItem; |
188 | } | 167 | } |
189 | 168 | ||
190 | - public MaterialLocalEstoque getMaterialLocalEstoque() { | ||
191 | - return materialLocalEstoque; | 169 | + public Collection<AtendimentoRequisicaoConsumoItemEndereco> getAtendimentoRequisicaoConsumoItemEnderecos() { |
170 | + return atendimentoRequisicaoConsumoItemEnderecos; | ||
192 | } | 171 | } |
193 | 172 | ||
194 | - public void setMaterialLocalEstoque(MaterialLocalEstoque materialLocalEstoque) { | ||
195 | - this.materialLocalEstoque = materialLocalEstoque; | 173 | + public void setAtendimentoRequisicaoConsumoItemEnderecos(Collection<AtendimentoRequisicaoConsumoItemEndereco> atendimentoRequisicaoConsumoItemEnderecos) { |
174 | + this.atendimentoRequisicaoConsumoItemEnderecos = atendimentoRequisicaoConsumoItemEnderecos; | ||
175 | + } | ||
176 | + | ||
177 | + public BigDecimal getQuantidade(){ | ||
178 | + BigDecimal quantidade = BigDecimal.ZERO; | ||
179 | + | ||
180 | + if(atendimentoRequisicaoConsumoItemEnderecos != null){ | ||
181 | + for(AtendimentoRequisicaoConsumoItemEndereco itemEndereco : atendimentoRequisicaoConsumoItemEnderecos){ | ||
182 | + quantidade = quantidade.add(itemEndereco.getQuantidade()); | ||
183 | + } | ||
184 | + } | ||
185 | + | ||
186 | + return quantidade; | ||
196 | } | 187 | } |
197 | } | 188 | } |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java
0 → 100644
@@ -0,0 +1,77 @@ | @@ -0,0 +1,77 @@ | ||
1 | +package br.com.centralit.api.model; | ||
2 | + | ||
3 | +import java.math.BigDecimal; | ||
4 | + | ||
5 | +import javax.persistence.Entity; | ||
6 | +import javax.persistence.FetchType; | ||
7 | +import javax.persistence.GeneratedValue; | ||
8 | +import javax.persistence.GenerationType; | ||
9 | +import javax.persistence.Id; | ||
10 | +import javax.persistence.JoinColumn; | ||
11 | +import javax.persistence.ManyToOne; | ||
12 | +import javax.persistence.Table; | ||
13 | + | ||
14 | +import br.com.centralit.api.framework.json.ViewsAlmoxarifado; | ||
15 | +import br.com.centralit.framework.json.Views; | ||
16 | +import br.com.centralit.framework.model.arquitetura.PersistentObject; | ||
17 | + | ||
18 | +import com.fasterxml.jackson.annotation.JsonView; | ||
19 | + | ||
20 | +@Entity | ||
21 | +@Table(name = "alm_rc_at_item_endereco") | ||
22 | +public class AtendimentoRequisicaoConsumoItemEndereco extends PersistentObject { | ||
23 | + | ||
24 | + private static final long serialVersionUID = 1L; | ||
25 | + | ||
26 | + @Id | ||
27 | + @GeneratedValue(strategy = GenerationType.AUTO) | ||
28 | + @JsonView({ Views.GenericView.class }) | ||
29 | + private Long id; | ||
30 | + | ||
31 | + @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class }) | ||
32 | + private BigDecimal quantidade; | ||
33 | + | ||
34 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | ||
35 | + @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) | ||
36 | + private MaterialLocalEstoque materialLocalEstoque; | ||
37 | + | ||
38 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | ||
39 | + @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) | ||
40 | + @JoinColumn(name = "at_req_consumoitem_id") | ||
41 | + private AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem; | ||
42 | + | ||
43 | + @Override | ||
44 | + public Long getId() { | ||
45 | + return this.id; | ||
46 | + } | ||
47 | + | ||
48 | + public void setId(Long id) { | ||
49 | + this.id = id; | ||
50 | + } | ||
51 | + | ||
52 | + public BigDecimal getQuantidade() { | ||
53 | + return quantidade; | ||
54 | + } | ||
55 | + | ||
56 | + public void setQuantidade(BigDecimal quantidade) { | ||
57 | + this.quantidade = quantidade; | ||
58 | + } | ||
59 | + | ||
60 | + public MaterialLocalEstoque getMaterialLocalEstoque() { | ||
61 | + return materialLocalEstoque; | ||
62 | + } | ||
63 | + | ||
64 | + public void setMaterialLocalEstoque(MaterialLocalEstoque materialLocalEstoque) { | ||
65 | + this.materialLocalEstoque = materialLocalEstoque; | ||
66 | + } | ||
67 | + | ||
68 | + public AtendimentoRequisicaoConsumoItem getAtendimentoRequisicaoConsumoItem() { | ||
69 | + return atendimentoRequisicaoConsumoItem; | ||
70 | + } | ||
71 | + | ||
72 | + public void setAtendimentoRequisicaoConsumoItem( | ||
73 | + AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem) { | ||
74 | + this.atendimentoRequisicaoConsumoItem = atendimentoRequisicaoConsumoItem; | ||
75 | + } | ||
76 | + | ||
77 | +} |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java
@@ -16,6 +16,7 @@ import org.springframework.validation.Validator; | @@ -16,6 +16,7 @@ import org.springframework.validation.Validator; | ||
16 | import br.com.centralit.api.dao.AtendimentoRequisicaoConsumoDao; | 16 | import br.com.centralit.api.dao.AtendimentoRequisicaoConsumoDao; |
17 | import br.com.centralit.api.model.AtendimentoRequisicaoConsumo; | 17 | import br.com.centralit.api.model.AtendimentoRequisicaoConsumo; |
18 | import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem; | 18 | import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem; |
19 | +import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItemEndereco; | ||
19 | import br.com.centralit.api.model.DominioAlmoxarifado; | 20 | import br.com.centralit.api.model.DominioAlmoxarifado; |
20 | import br.com.centralit.api.model.MaterialLocalEstoque; | 21 | import br.com.centralit.api.model.MaterialLocalEstoque; |
21 | import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService; | 22 | import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService; |
@@ -178,14 +179,16 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | @@ -178,14 +179,16 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< | ||
178 | 179 | ||
179 | for(AtendimentoRequisicaoConsumo atendimento : entity.getAtendimentos()){ | 180 | for(AtendimentoRequisicaoConsumo atendimento : entity.getAtendimentos()){ |
180 | for(AtendimentoRequisicaoConsumoItem atendimentoItem : atendimento.getAtendimentoRequisicaoConsumoItems()){ | 181 | for(AtendimentoRequisicaoConsumoItem atendimentoItem : atendimento.getAtendimentoRequisicaoConsumoItems()){ |
181 | - | ||
182 | - if(somatorioQuantidadesAtentidasPorMaterial.containsKey(atendimentoItem.getMaterialLocalEstoque())){ | ||
183 | - | ||
184 | - somatorioQuantidadesAtentidasPorMaterial.put(atendimentoItem.getMaterialLocalEstoque(), | ||
185 | - somatorioQuantidadesAtentidasPorMaterial.get(atendimentoItem.getMaterialLocalEstoque()).add(atendimentoItem.getQuantidade())); | 182 | + for(AtendimentoRequisicaoConsumoItemEndereco itemEndereco : atendimentoItem.getAtendimentoRequisicaoConsumoItemEnderecos()){ |
186 | 183 | ||
187 | - }else{ | ||
188 | - somatorioQuantidadesAtentidasPorMaterial.put(atendimentoItem.getMaterialLocalEstoque(), atendimentoItem.getQuantidade()); | 184 | + if(somatorioQuantidadesAtentidasPorMaterial.containsKey(itemEndereco.getMaterialLocalEstoque())){ |
185 | + | ||
186 | + somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), | ||
187 | + somatorioQuantidadesAtentidasPorMaterial.get(itemEndereco.getMaterialLocalEstoque()).add(itemEndereco.getQuantidade())); | ||
188 | + | ||
189 | + }else{ | ||
190 | + somatorioQuantidadesAtentidasPorMaterial.put(itemEndereco.getMaterialLocalEstoque(), itemEndereco.getQuantidade()); | ||
191 | + } | ||
189 | } | 192 | } |
190 | } | 193 | } |
191 | } | 194 | } |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java
@@ -415,10 +415,6 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | @@ -415,10 +415,6 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | ||
415 | 415 | ||
416 | for (AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem : atendimento.getAtendimentoRequisicaoConsumoItems()) { | 416 | for (AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem : atendimento.getAtendimentoRequisicaoConsumoItems()) { |
417 | 417 | ||
418 | - if(atendimentoRequisicaoConsumoItem.getQuantidade() == null){ | ||
419 | - atendimentoRequisicaoConsumoItem.setQuantidade(new BigDecimal(0));; | ||
420 | - } | ||
421 | - | ||
422 | BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade()); | 418 | BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade()); |
423 | BigDecimal valorMovimentoMediaMovel = BigDecimal.ZERO;//BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade()); | 419 | BigDecimal valorMovimentoMediaMovel = BigDecimal.ZERO;//BigDecimal valorMovimentoMediaMovel = this.materialEstoqueSaldoMedioService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade()); |
424 | 420 |
cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java
@@ -415,6 +415,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat | @@ -415,6 +415,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat | ||
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)); | 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)); |
416 | 416 | ||
417 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.REMOVER_REQUISICAO_ATENDIMENTO", "Remover requisição deste atendimento", dominio, modulo)); | 417 | internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.REMOVER_REQUISICAO_ATENDIMENTO", "Remover requisição deste atendimento", dominio, modulo)); |
418 | + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.ATENDER_MAIS_DE_UM_ENDERECO", "Atender utilizando mais de um endereco", dominio, modulo)); | ||
418 | 419 | ||
419 | } | 420 | } |
420 | } | 421 | } |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
@@ -350,20 +350,25 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | @@ -350,20 +350,25 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | ||
350 | var atendimentoItem = { | 350 | var atendimentoItem = { |
351 | material : requisicaoConsumoItem.materialConsumo, | 351 | material : requisicaoConsumoItem.materialConsumo, |
352 | requisicaoConsumoItem : requisicaoConsumoItem, | 352 | requisicaoConsumoItem : requisicaoConsumoItem, |
353 | - $locaisEstoque: [] | 353 | + $locaisEstoque: [], |
354 | + atendimentoRequisicaoConsumoItemEnderecos: [] | ||
354 | }; | 355 | }; |
355 | 356 | ||
356 | MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(requisicaoConsumoItem.materialConsumo.id, req.almoxarifado.id).then(function(result) { | 357 | MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(requisicaoConsumoItem.materialConsumo.id, req.almoxarifado.id).then(function(result) { |
357 | - atendimentoItem.$locaisEstoque = result; | ||
358 | - | ||
359 | result.forEach(function(localEstoque){ | 358 | result.forEach(function(localEstoque){ |
359 | + var atendimentoRequisicaoConsumoItemEndereco = { | ||
360 | + materialLocalEstoque: localEstoque.originalElement | ||
361 | + }; | ||
362 | + | ||
363 | + atendimentoItem.$locaisEstoque.push(atendimentoRequisicaoConsumoItemEndereco); | ||
364 | + | ||
360 | if(localEstoque.localPrincipal){ | 365 | if(localEstoque.localPrincipal){ |
361 | - atendimentoItem.materialLocalEstoque = localEstoque.originalElement; | 366 | + atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.push(atendimentoRequisicaoConsumoItemEndereco); |
362 | } | 367 | } |
363 | }); | 368 | }); |
364 | }); | 369 | }); |
365 | 370 | ||
366 | - buscarInformacoesParaAtendimento(atendimentoItem); | 371 | + //buscarInformacoesParaAtendimento(atendimentoItem); |
367 | 372 | ||
368 | atendimento.atendimentoRequisicaoConsumoItems.push(atendimentoItem); | 373 | atendimento.atendimentoRequisicaoConsumoItems.push(atendimentoItem); |
369 | }); | 374 | }); |
@@ -542,5 +547,20 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | @@ -542,5 +547,20 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | ||
542 | $scope.apresentarInfoAtendimentoItem = function(atendimento){ | 547 | $scope.apresentarInfoAtendimentoItem = function(atendimento){ |
543 | atendimento.$verInfo = !atendimento.$verInfo; | 548 | atendimento.$verInfo = !atendimento.$verInfo; |
544 | }; | 549 | }; |
550 | + | ||
551 | + $scope.openModalEnderecosMaterial = function(enderecosItem, enderecosAdicionados){ | ||
552 | + $scope.listaEnderecosSelect = []; | ||
553 | + $scope.listaEnderecosAdicionados = enderecosAdicionados; | ||
554 | + | ||
555 | + enderecosItem.forEach(function(enderecoItem){ | ||
556 | + enderecosAdicionados.forEach(function(enderecoAdicionado){ | ||
557 | + if(enderecoItem.materialLocalEstoque.id != enderecoAdicionado.materialLocalEstoque.id){ | ||
558 | + $scope.listaEnderecosSelect.push(enderecoItem); | ||
559 | + } | ||
560 | + }); | ||
561 | + }); | ||
562 | + | ||
563 | + $scope.$openModal('modal-atendimento-item-enderecos.html', 'md'); | ||
564 | + } | ||
545 | 565 | ||
546 | }]); | 566 | }]); |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html
@@ -113,7 +113,7 @@ | @@ -113,7 +113,7 @@ | ||
113 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.QUANTIDADE_PEDIDA</translate></th> | 113 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.QUANTIDADE_PEDIDA</translate></th> |
114 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.QUANTIDADE_ATENDIDA</translate></th> | 114 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.QUANTIDADE_ATENDIDA</translate></th> |
115 | <th class="text-center" width="20%"><translate>ALMOXARIFADO.LABEL.ENDERECO_ESTOQUE</translate></th> | 115 | <th class="text-center" width="20%"><translate>ALMOXARIFADO.LABEL.ENDERECO_ESTOQUE</translate></th> |
116 | - <th class="text-center"><translate>ALMOXARIFADO.LABEL.ATENDER</translate><span class="red">*</span></th> | 116 | + <th class="text-center"><translate>ALMOXARIFADO.LABEL.ATENDER</translate><span class="red"> *</span></th> |
117 | </tr> | 117 | </tr> |
118 | </thead> | 118 | </thead> |
119 | <tbody> | 119 | <tbody> |
@@ -137,16 +137,25 @@ | @@ -137,16 +137,25 @@ | ||
137 | - atendimentoRequisicaoConsumoItem.$quantidade}}</td> | 137 | - atendimentoRequisicaoConsumoItem.$quantidade}}</td> |
138 | 138 | ||
139 | <td class="text-center"> | 139 | <td class="text-center"> |
140 | - <label-select ng-id="atendimentoRequisicaoConsumoItem.materialLocalEstoque$index" ng-obrigatorio="true" | ||
141 | - ng-model="atendimentoRequisicaoConsumoItem.materialLocalEstoque.id" ng-list="atendimentoRequisicaoConsumoItem.$locaisEstoque" | ||
142 | - form="atendimentoRequisicaoConsumoForm" | ||
143 | - ng-custom-options="materialLocalEstoque.id as materialLocalEstoque.endereco.descricao for materialLocalEstoque"></label-select> | ||
144 | - | 140 | + <table style="width: 100%"> |
141 | + <tr> | ||
142 | + <td> | ||
143 | + <label-select ng-id="atendimentoRequisicaoConsumoItem.materialLocalEstoque$index" ng-obrigatorio="true" | ||
144 | + ng-model="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos[0]" ng-list="atendimentoRequisicaoConsumoItem.$locaisEstoque" | ||
145 | + form="atendimentoRequisicaoConsumoForm" | ||
146 | + ng-custom-options="atendimentoRequisicaoConsumoItemEndereco as atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.endereco.descricao for atendimentoRequisicaoConsumoItemEndereco"></label-select> | ||
147 | + </td> | ||
148 | + <td style="padding-left: 8px; text-align: right;"> | ||
149 | + <i class="fa fa-plus green" style="cursor: pointer;" ng-click="openModalEnderecosMaterial(atendimentoRequisicaoConsumoItem.$locaisEstoque, atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos)" | ||
150 | + tooltip="{{$translate.instant('ALMOXARIFADO.MSG.ATENDER_MAIS_DE_UM_ENDERECO')}}"/> | ||
151 | + </td> | ||
152 | + </tr> | ||
153 | + </table> | ||
145 | </td> | 154 | </td> |
146 | 155 | ||
147 | <td ng-if="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade != atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida" class="text-center"> | 156 | <td ng-if="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade != atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida" class="text-center"> |
148 | <label-input-decimal ng-id="atendimentoRequisicaoConsumoItem.quantidade$index" ng-obrigatorio="true" ng-evento-blur="aplicarValidacaoDecimal" | 157 | <label-input-decimal ng-id="atendimentoRequisicaoConsumoItem.quantidade$index" ng-obrigatorio="true" ng-evento-blur="aplicarValidacaoDecimal" |
149 | - ng-model="atendimentoRequisicaoConsumoItem.quantidade" form="atendimentoRequisicaoConsumoForm" ng-disabled="!edit" ng-custom-maxlength="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}" | 158 | + ng-model="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos[0].quantidade" form="atendimentoRequisicaoConsumoForm" ng-disabled="!edit" ng-custom-maxlength="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}" |
150 | ng-precisao="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" /> | 159 | ng-precisao="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" /> |
151 | </td> | 160 | </td> |
152 | <td class="text-center" ng-show="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade == atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida"> | 161 | <td class="text-center" ng-show="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade == atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida"> |
@@ -226,5 +235,9 @@ | @@ -226,5 +235,9 @@ | ||
226 | </div> | 235 | </div> |
227 | </fieldset> | 236 | </fieldset> |
228 | </div> | 237 | </div> |
238 | + | ||
239 | + <script type="text/ng-template" id="modal-atendimento-item-enderecos.html"> | ||
240 | + <div ng-include src="'/cit-almoxarifado-web/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html'" /> | ||
241 | + </script> | ||
229 | </form> | 242 | </form> |
230 | </div> | 243 | </div> |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html
0 → 100644
@@ -0,0 +1,72 @@ | @@ -0,0 +1,72 @@ | ||
1 | +<div class="modal-header"> | ||
2 | + <button class="btn btn-clear" type="button" | ||
3 | + title="{{$translate.instant('ALMOXARIFADO.LABEL.FILTRAR')}}" | ||
4 | + alt="{{$translate.instant('ALMOXARIFADO.LABEL.FILTRAR')}}" | ||
5 | + ng-click="filtrarRequisicoes();"> | ||
6 | + <i class="fa fa-plus-circle yellow-dark"></i> | ||
7 | + <translate>ALMOXARIFADO.LABEL.FILTRAR</translate> | ||
8 | + </button> | ||
9 | + | ||
10 | + <button title="{{$translate.instant('LABEL.LIMPAR')}}" | ||
11 | + alt="{{$translate.instant('LABEL.LIMPAR')}}" | ||
12 | + ng-click="limparBuscaAvancada()" class="btn btn-clear" type="button"> | ||
13 | + <i class="fa fa-eraser"></i> | ||
14 | + <translate>LABEL.LIMPAR</translate> | ||
15 | + </button> | ||
16 | + | ||
17 | + <button title="{{$translate.instant('LABEL.CANCELAR')}}" | ||
18 | + alt="{{$translate.instant('LABEL.CANCELAR')}}" | ||
19 | + ng-click="$dismiss('cancel');" class="btn btn-clear" type="button"> | ||
20 | + <i class="fa fa-times red"></i> | ||
21 | + <translate>LABEL.CANCELAR</translate> | ||
22 | + </button> | ||
23 | +</div> | ||
24 | + | ||
25 | +<div class="modal-body"> | ||
26 | + <legend style="font-size: 20px"> | ||
27 | + <translate>LABEL.MATERIAIS</translate> | ||
28 | + </legend> | ||
29 | + | ||
30 | + <div class="row"> | ||
31 | + <div class="col-md-12"> | ||
32 | + <label-select ng-id="selectEnderecosMaterial" ng-obrigatorio="true" | ||
33 | + ng-model="enderecoSelecionado" ng-list="listaEnderecosSelect" | ||
34 | + ng-custom-options="atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.endereco.descricao for atendimentoRequisicaoConsumoItemEndereco"></label-select> | ||
35 | + </div> | ||
36 | + </div> | ||
37 | + <div class="row"> | ||
38 | + <div class="col-sm-12"> | ||
39 | + <div class="panel panel-default"> | ||
40 | + <div class="panel-heading clearfix"> | ||
41 | + <button class="btn btn-clear" type="button" | ||
42 | + <i class="fa fa-times red"></i> | ||
43 | + <translate>LABEL.REMOVER</translate> | ||
44 | + </button> | ||
45 | + </div> | ||
46 | + <table class="table table-bordered table-striped"> | ||
47 | + <thead> | ||
48 | + <tr> | ||
49 | + <th style="width: 3%;" class="text-center"><input type="checkbox" ng-model="filtroAtendimento.unidadeRequisitanteSelectedAll" ng-click="selectAllUnidadesRequisitantes(unidadeRequisitanteSelectedAll)" /></th> | ||
50 | + <th style="text-align: center"><translate>ALMOXARIFADO.LABEL.ENDERECO_ESTOQUE</translate></th> | ||
51 | + <th style="text-align: center"><translate>ALMOXARIFADO.LABEL.SALDO_ENDERECO</translate></th> | ||
52 | + <th style="text-align: center"><translate>ALMOXARIFADO.LABEL.ATENDER</translate></th> | ||
53 | + </tr> | ||
54 | + </thead> | ||
55 | + <tbody ng-repeat="atendimentoRequisicaoConsumoItemEndereco in listaEnderecosAdicionados"> | ||
56 | + <tr> | ||
57 | + <td class="text-center"><input type="checkbox" ng-checked="unidadeRequisitanteSelecionada.$checkedChBox" ng-model="unidadeRequisitanteSelecionada.$checkedChBox" /></td> | ||
58 | + <td class="text-center">{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.endereco.descricao}}</td> | ||
59 | + <td class="text-center">{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.quantidade}}</td> | ||
60 | + <td class="text-center"> | ||
61 | + <label-input-decimal ng-id="atendimentoRequisicaoConsumoItemEndereco.quantidade" ng-obrigatorio="true" ng-evento-blur="aplicarValidacaoDecimal" | ||
62 | + ng-model="atendimentoRequisicaoConsumoItemEndereco.quantidade" form="atendimentoRequisicaoConsumoForm" | ||
63 | + ng-custom-maxlength="{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.materialEstoque.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}" | ||
64 | + ng-precisao="{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.materialEstoque.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" /> | ||
65 | + </td> | ||
66 | + </tr> | ||
67 | + </tbody> | ||
68 | + </table> | ||
69 | + </div> | ||
70 | + </div> | ||
71 | + </div> | ||
72 | +</div> |