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 | 1 | package br.com.centralit.api.model; |
2 | 2 | |
3 | 3 | import java.math.BigDecimal; |
4 | +import java.util.Collection; | |
4 | 5 | |
6 | +import javax.persistence.CascadeType; | |
5 | 7 | import javax.persistence.Entity; |
6 | 8 | import javax.persistence.FetchType; |
7 | 9 | import javax.persistence.GeneratedValue; |
... | ... | @@ -9,6 +11,7 @@ import javax.persistence.GenerationType; |
9 | 11 | import javax.persistence.Id; |
10 | 12 | import javax.persistence.JoinColumn; |
11 | 13 | import javax.persistence.ManyToOne; |
14 | +import javax.persistence.OneToMany; | |
12 | 15 | import javax.persistence.Table; |
13 | 16 | |
14 | 17 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; |
... | ... | @@ -79,13 +82,9 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan |
79 | 82 | @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) |
80 | 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 | 90 | * Retorna o valor do atributo <code>id</code> |
... | ... | @@ -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 | 150 | * Retorna o valor do atributo <code>requisicaoConsumoItem</code> |
172 | 151 | * |
173 | 152 | * @return <code>RequisicaoConsumoItem</code> |
... | ... | @@ -187,11 +166,23 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan |
187 | 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 @@ |
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 | 16 | import br.com.centralit.api.dao.AtendimentoRequisicaoConsumoDao; |
17 | 17 | import br.com.centralit.api.model.AtendimentoRequisicaoConsumo; |
18 | 18 | import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItem; |
19 | +import br.com.centralit.api.model.AtendimentoRequisicaoConsumoItemEndereco; | |
19 | 20 | import br.com.centralit.api.model.DominioAlmoxarifado; |
20 | 21 | import br.com.centralit.api.model.MaterialLocalEstoque; |
21 | 22 | import br.com.centralit.api.service.AtendimentoRequisicaoConsumoItemService; |
... | ... | @@ -178,14 +179,16 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< |
178 | 179 | |
179 | 180 | for(AtendimentoRequisicaoConsumo atendimento : entity.getAtendimentos()){ |
180 | 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 | 415 | |
416 | 416 | for (AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem : atendimento.getAtendimentoRequisicaoConsumoItems()) { |
417 | 417 | |
418 | - if(atendimentoRequisicaoConsumoItem.getQuantidade() == null){ | |
419 | - atendimentoRequisicaoConsumoItem.setQuantidade(new BigDecimal(0));; | |
420 | - } | |
421 | - | |
422 | 418 | BigDecimal valorMovimentoFIFO = this.entradaAlmoxarifadoItemService.realizaMovimentoSaida(atendimentoRequisicaoConsumoItem.getMaterial(), atendimentoRequisicaoConsumoItem.getQuantidade()); |
423 | 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 | 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 | 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 | 350 | var atendimentoItem = { |
351 | 351 | material : requisicaoConsumoItem.materialConsumo, |
352 | 352 | requisicaoConsumoItem : requisicaoConsumoItem, |
353 | - $locaisEstoque: [] | |
353 | + $locaisEstoque: [], | |
354 | + atendimentoRequisicaoConsumoItemEnderecos: [] | |
354 | 355 | }; |
355 | 356 | |
356 | 357 | MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(requisicaoConsumoItem.materialConsumo.id, req.almoxarifado.id).then(function(result) { |
357 | - atendimentoItem.$locaisEstoque = result; | |
358 | - | |
359 | 358 | result.forEach(function(localEstoque){ |
359 | + var atendimentoRequisicaoConsumoItemEndereco = { | |
360 | + materialLocalEstoque: localEstoque.originalElement | |
361 | + }; | |
362 | + | |
363 | + atendimentoItem.$locaisEstoque.push(atendimentoRequisicaoConsumoItemEndereco); | |
364 | + | |
360 | 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 | 373 | atendimento.atendimentoRequisicaoConsumoItems.push(atendimentoItem); |
369 | 374 | }); |
... | ... | @@ -542,5 +547,20 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', |
542 | 547 | $scope.apresentarInfoAtendimentoItem = function(atendimento){ |
543 | 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 | 113 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.QUANTIDADE_PEDIDA</translate></th> |
114 | 114 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.QUANTIDADE_ATENDIDA</translate></th> |
115 | 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 | 117 | </tr> |
118 | 118 | </thead> |
119 | 119 | <tbody> |
... | ... | @@ -137,16 +137,25 @@ |
137 | 137 | - atendimentoRequisicaoConsumoItem.$quantidade}}</td> |
138 | 138 | |
139 | 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 | 154 | </td> |
146 | 155 | |
147 | 156 | <td ng-if="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade != atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida" class="text-center"> |
148 | 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 | 159 | ng-precisao="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" /> |
151 | 160 | </td> |
152 | 161 | <td class="text-center" ng-show="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade == atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida"> |
... | ... | @@ -226,5 +235,9 @@ |
226 | 235 | </div> |
227 | 236 | </fieldset> |
228 | 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 | 242 | </form> |
230 | 243 | </div> | ... | ... |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html
0 → 100644
... | ... | @@ -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> | ... | ... |