Commit 5e3de8ac70a2c5642f8202a588776413344b998d
1 parent
259f3702
Exists in
master
Redmine Atendimento #4999
Showing
9 changed files
with
142 additions
and
51 deletions
Show diff stats
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumo.java
@@ -11,8 +11,8 @@ import javax.persistence.FetchType; | @@ -11,8 +11,8 @@ import javax.persistence.FetchType; | ||
11 | import javax.persistence.GeneratedValue; | 11 | import javax.persistence.GeneratedValue; |
12 | import javax.persistence.GenerationType; | 12 | import javax.persistence.GenerationType; |
13 | import javax.persistence.Id; | 13 | import javax.persistence.Id; |
14 | -import javax.persistence.ManyToOne; | ||
15 | import javax.persistence.OneToMany; | 14 | import javax.persistence.OneToMany; |
15 | +import javax.persistence.OneToOne; | ||
16 | import javax.persistence.Table; | 16 | import javax.persistence.Table; |
17 | import javax.persistence.Temporal; | 17 | import javax.persistence.Temporal; |
18 | import javax.persistence.TemporalType; | 18 | import javax.persistence.TemporalType; |
@@ -21,6 +21,7 @@ import javax.persistence.Transient; | @@ -21,6 +21,7 @@ import javax.persistence.Transient; | ||
21 | import org.hibernate.envers.AuditTable; | 21 | import org.hibernate.envers.AuditTable; |
22 | import org.hibernate.envers.Audited; | 22 | import org.hibernate.envers.Audited; |
23 | 23 | ||
24 | +import br.com.centralit.api.framework.json.ViewsAdmMateriais; | ||
24 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; | 25 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; |
25 | import br.com.centralit.framework.json.JsonCalendarSimpleDateDeserializer; | 26 | import br.com.centralit.framework.json.JsonCalendarSimpleDateDeserializer; |
26 | import br.com.centralit.framework.json.JsonCalendarSimpleDateSerializer; | 27 | import br.com.centralit.framework.json.JsonCalendarSimpleDateSerializer; |
@@ -93,13 +94,13 @@ public class AtendimentoRequisicaoConsumo extends PersistentObjectAuditOrganizac | @@ -93,13 +94,13 @@ public class AtendimentoRequisicaoConsumo extends PersistentObjectAuditOrganizac | ||
93 | private String numeroAtendimento; | 94 | private String numeroAtendimento; |
94 | 95 | ||
95 | /** Atributo requisicaoConsumo. */ | 96 | /** Atributo requisicaoConsumo. */ |
96 | - @ManyToOne(fetch = FetchType.LAZY, optional = false) | 97 | + @OneToOne(fetch = FetchType.LAZY, optional = false) |
97 | @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoListView.class }) | 98 | @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoListView.class }) |
98 | private RequisicaoConsumo requisicaoConsumo; | 99 | private RequisicaoConsumo requisicaoConsumo; |
99 | 100 | ||
100 | /** Atributo atendimentoRequisicaoConsumoItems. */ | 101 | /** Atributo atendimentoRequisicaoConsumoItems. */ |
101 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "atendimentoRequisicaoConsumo", cascade = CascadeType.ALL, orphanRemoval = true) | 102 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "atendimentoRequisicaoConsumo", cascade = CascadeType.ALL, orphanRemoval = true) |
102 | - @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) | 103 | + @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) |
103 | private Collection<AtendimentoRequisicaoConsumoItem> atendimentoRequisicaoConsumoItems; | 104 | private Collection<AtendimentoRequisicaoConsumoItem> atendimentoRequisicaoConsumoItems; |
104 | 105 | ||
105 | @Transient | 106 | @Transient |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java
@@ -17,6 +17,7 @@ import javax.persistence.Table; | @@ -17,6 +17,7 @@ import javax.persistence.Table; | ||
17 | import org.hibernate.envers.AuditTable; | 17 | import org.hibernate.envers.AuditTable; |
18 | import org.hibernate.envers.Audited; | 18 | import org.hibernate.envers.Audited; |
19 | 19 | ||
20 | +import br.com.centralit.api.framework.json.ViewsAdmMateriais; | ||
20 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; | 21 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; |
21 | import br.com.centralit.framework.json.Views; | 22 | import br.com.centralit.framework.json.Views; |
22 | import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; | 23 | import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; |
@@ -79,16 +80,16 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | @@ -79,16 +80,16 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | ||
79 | private AtendimentoRequisicaoConsumo atendimentoRequisicaoConsumo; | 80 | private AtendimentoRequisicaoConsumo atendimentoRequisicaoConsumo; |
80 | 81 | ||
81 | @ManyToOne(fetch = FetchType.LAZY, optional = false) | 82 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
82 | - @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class }) | 83 | + @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) |
83 | private RequisicaoConsumoItem requisicaoConsumoItem; | 84 | private RequisicaoConsumoItem requisicaoConsumoItem; |
84 | 85 | ||
85 | /** Atributo material. */ | 86 | /** Atributo material. */ |
86 | @ManyToOne(fetch = FetchType.LAZY, optional = false) | 87 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
87 | - @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) | 88 | + @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) |
88 | private MaterialConsumo material; | 89 | private MaterialConsumo material; |
89 | 90 | ||
90 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "atendimentoRequisicaoConsumoItem", cascade = CascadeType.ALL, orphanRemoval = true) | 91 | @OneToMany(fetch = FetchType.LAZY, mappedBy = "atendimentoRequisicaoConsumoItem", cascade = CascadeType.ALL, orphanRemoval = true) |
91 | - @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) | 92 | + @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) |
92 | private Collection<AtendimentoRequisicaoConsumoItemEndereco> atendimentoRequisicaoConsumoItemEnderecos; | 93 | private Collection<AtendimentoRequisicaoConsumoItemEndereco> atendimentoRequisicaoConsumoItemEnderecos; |
93 | 94 | ||
94 | /** | 95 | /** |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItemEndereco.java
@@ -10,10 +10,12 @@ import javax.persistence.Id; | @@ -10,10 +10,12 @@ import javax.persistence.Id; | ||
10 | import javax.persistence.JoinColumn; | 10 | import javax.persistence.JoinColumn; |
11 | import javax.persistence.ManyToOne; | 11 | import javax.persistence.ManyToOne; |
12 | import javax.persistence.Table; | 12 | import javax.persistence.Table; |
13 | +import javax.persistence.Transient; | ||
13 | 14 | ||
14 | import org.hibernate.envers.AuditTable; | 15 | import org.hibernate.envers.AuditTable; |
15 | import org.hibernate.envers.Audited; | 16 | import org.hibernate.envers.Audited; |
16 | 17 | ||
18 | +import br.com.centralit.api.framework.json.ViewsAdmMateriais; | ||
17 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; | 19 | import br.com.centralit.api.framework.json.ViewsAlmoxarifado; |
18 | import br.com.centralit.framework.json.Views; | 20 | import br.com.centralit.framework.json.Views; |
19 | import br.com.centralit.framework.model.arquitetura.PersistentObject; | 21 | import br.com.centralit.framework.model.arquitetura.PersistentObject; |
@@ -35,17 +37,21 @@ public class AtendimentoRequisicaoConsumoItemEndereco extends PersistentObject { | @@ -35,17 +37,21 @@ public class AtendimentoRequisicaoConsumoItemEndereco extends PersistentObject { | ||
35 | @JsonView({ Views.GenericView.class }) | 37 | @JsonView({ Views.GenericView.class }) |
36 | private Long id; | 38 | private Long id; |
37 | 39 | ||
38 | - @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class }) | 40 | + @JsonView({Views.GenericView.class }) |
39 | private BigDecimal quantidade; | 41 | private BigDecimal quantidade; |
40 | 42 | ||
41 | @ManyToOne(fetch = FetchType.LAZY, optional = false) | 43 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
42 | - @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) | 44 | + @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class}) |
43 | private MaterialLocalEstoque materialLocalEstoque; | 45 | private MaterialLocalEstoque materialLocalEstoque; |
44 | 46 | ||
45 | @ManyToOne(fetch = FetchType.LAZY, optional = false) | 47 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
46 | @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) | 48 | @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) |
47 | @JoinColumn(name = "at_req_consumoitem_id") | 49 | @JoinColumn(name = "at_req_consumoitem_id") |
48 | private AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem; | 50 | private AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem; |
51 | + | ||
52 | + @Transient | ||
53 | + @JsonView({ViewsAdmMateriais.RequisicaoConsumoEditView.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) | ||
54 | + private BigDecimal quantidadeAnterior; | ||
49 | 55 | ||
50 | @Override | 56 | @Override |
51 | public Long getId() { | 57 | public Long getId() { |
@@ -80,5 +86,21 @@ public class AtendimentoRequisicaoConsumoItemEndereco extends PersistentObject { | @@ -80,5 +86,21 @@ public class AtendimentoRequisicaoConsumoItemEndereco extends PersistentObject { | ||
80 | AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem) { | 86 | AtendimentoRequisicaoConsumoItem atendimentoRequisicaoConsumoItem) { |
81 | this.atendimentoRequisicaoConsumoItem = atendimentoRequisicaoConsumoItem; | 87 | this.atendimentoRequisicaoConsumoItem = atendimentoRequisicaoConsumoItem; |
82 | } | 88 | } |
89 | + | ||
90 | + public BigDecimal getQuantidadeAnterior() { | ||
91 | + if(quantidadeAnterior == null){ | ||
92 | + if(quantidade == null){ | ||
93 | + quantidadeAnterior = BigDecimal.ZERO; | ||
94 | + }else{ | ||
95 | + quantidadeAnterior = quantidade; | ||
96 | + } | ||
97 | + } | ||
98 | + | ||
99 | + return quantidadeAnterior; | ||
100 | + } | ||
101 | + | ||
102 | + public void setQuantidadeAnterior(BigDecimal quantidadeAnterior) { | ||
103 | + this.quantidadeAnterior = quantidadeAnterior; | ||
104 | + } | ||
83 | 105 | ||
84 | } | 106 | } |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EnderecoEstoque.java
@@ -85,7 +85,7 @@ public class EnderecoEstoque extends PersistentObjectAuditOrganizacao { | @@ -85,7 +85,7 @@ public class EnderecoEstoque extends PersistentObjectAuditOrganizacao { | ||
85 | private String sigla; | 85 | private String sigla; |
86 | 86 | ||
87 | @Column(name = "descricao", length = 400, nullable = false) | 87 | @Column(name = "descricao", length = 400, nullable = false) |
88 | - @JsonView({ ViewsAdmMateriais.EnderecoEstoqueView.class, Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class }) | 88 | + @JsonView({ ViewsAdmMateriais.EnderecoEstoqueView.class, Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) |
89 | private String descricao; | 89 | private String descricao; |
90 | 90 | ||
91 | @ManyToOne(fetch = FetchType.LAZY, optional = true) | 91 | @ManyToOne(fetch = FetchType.LAZY, optional = true) |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialEstoque.java
@@ -18,6 +18,7 @@ import org.hibernate.envers.Audited; | @@ -18,6 +18,7 @@ import org.hibernate.envers.Audited; | ||
18 | 18 | ||
19 | import com.fasterxml.jackson.annotation.JsonView; | 19 | import com.fasterxml.jackson.annotation.JsonView; |
20 | 20 | ||
21 | +import br.com.centralit.api.framework.json.ViewsAdmMateriais; | ||
21 | import br.com.centralit.framework.json.Views; | 22 | import br.com.centralit.framework.json.Views; |
22 | import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; | 23 | import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; |
23 | import br.com.centralit.framework.util.UtilObjeto; | 24 | import br.com.centralit.framework.util.UtilObjeto; |
@@ -71,7 +72,7 @@ public class MaterialEstoque extends PersistentObjectAuditOrganizacao { | @@ -71,7 +72,7 @@ public class MaterialEstoque extends PersistentObjectAuditOrganizacao { | ||
71 | 72 | ||
72 | /** Atributo material. */ | 73 | /** Atributo material. */ |
73 | @OneToOne(fetch = FetchType.LAZY, optional = false) | 74 | @OneToOne(fetch = FetchType.LAZY, optional = false) |
74 | - @JsonView({ Views.MaterialLocalEstoqueView.class }) | 75 | + @JsonView({ Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) |
75 | private MaterialConsumo material; | 76 | private MaterialConsumo material; |
76 | 77 | ||
77 | /** Atributo locaisEstoque. */ | 78 | /** Atributo locaisEstoque. */ |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/MaterialLocalEstoque.java
@@ -68,7 +68,7 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { | @@ -68,7 +68,7 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { | ||
68 | 68 | ||
69 | /** Atributo materialEstoque. */ | 69 | /** Atributo materialEstoque. */ |
70 | @ManyToOne(fetch = FetchType.LAZY, optional = false, cascade = CascadeType.PERSIST) | 70 | @ManyToOne(fetch = FetchType.LAZY, optional = false, cascade = CascadeType.PERSIST) |
71 | - @JsonView({ Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class }) | 71 | + @JsonView({Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) |
72 | private MaterialEstoque materialEstoque; | 72 | private MaterialEstoque materialEstoque; |
73 | 73 | ||
74 | /** Atributo materialEstoqueInativo. */ | 74 | /** Atributo materialEstoqueInativo. */ |
@@ -77,7 +77,7 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { | @@ -77,7 +77,7 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { | ||
77 | 77 | ||
78 | /** Atributo endereco. */ | 78 | /** Atributo endereco. */ |
79 | @ManyToOne(fetch = FetchType.LAZY, optional = false) | 79 | @ManyToOne(fetch = FetchType.LAZY, optional = false) |
80 | - @JsonView({ Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class }) | 80 | + @JsonView({ Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) |
81 | private EnderecoEstoque endereco; | 81 | private EnderecoEstoque endereco; |
82 | 82 | ||
83 | /** Atributo enderecoInativo. */ | 83 | /** Atributo enderecoInativo. */ |
@@ -88,7 +88,7 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { | @@ -88,7 +88,7 @@ public class MaterialLocalEstoque extends PersistentObjectAuditOrganizacao { | ||
88 | private BigDecimal capacidade; | 88 | private BigDecimal capacidade; |
89 | 89 | ||
90 | /** Atributo quantidade. */ | 90 | /** Atributo quantidade. */ |
91 | - @JsonView({ Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class }) | 91 | + @JsonView({ Views.MaterialLocalEstoqueView.class, ViewsAdmMateriais.TransferenciaEnderecoEstoqueView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class }) |
92 | private BigDecimal quantidade = BigDecimal.ZERO; | 92 | private BigDecimal quantidade = BigDecimal.ZERO; |
93 | 93 | ||
94 | /** Atributo unidadeMedidaEntrada. */ | 94 | /** Atributo unidadeMedidaEntrada. */ |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/RequisicaoConsumo.java
@@ -13,6 +13,7 @@ import javax.persistence.Id; | @@ -13,6 +13,7 @@ import javax.persistence.Id; | ||
13 | import javax.persistence.JoinColumn; | 13 | import javax.persistence.JoinColumn; |
14 | import javax.persistence.ManyToOne; | 14 | import javax.persistence.ManyToOne; |
15 | import javax.persistence.OneToMany; | 15 | import javax.persistence.OneToMany; |
16 | +import javax.persistence.OneToOne; | ||
16 | import javax.persistence.Table; | 17 | import javax.persistence.Table; |
17 | import javax.persistence.Temporal; | 18 | import javax.persistence.Temporal; |
18 | import javax.persistence.TemporalType; | 19 | import javax.persistence.TemporalType; |
@@ -171,6 +172,10 @@ public class RequisicaoConsumo extends PersistentObjectAuditOrganizacao { | @@ -171,6 +172,10 @@ public class RequisicaoConsumo extends PersistentObjectAuditOrganizacao { | ||
171 | @JoinColumn(name = "atendente_id") | 172 | @JoinColumn(name = "atendente_id") |
172 | @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) | 173 | @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class }) |
173 | private Usuario atendente; | 174 | private Usuario atendente; |
175 | + | ||
176 | + @OneToOne(mappedBy = "requisicaoConsumo", fetch = FetchType.LAZY) | ||
177 | + @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, ViewsAdmMateriais.RequisicaoConsumoEditView.class}) | ||
178 | + private AtendimentoRequisicaoConsumo atendimentoRequisicaoConsumo; | ||
174 | 179 | ||
175 | /** | 180 | /** |
176 | * Retorna o valor do atributo <code>id</code> | 181 | * Retorna o valor do atributo <code>id</code> |
@@ -391,4 +396,12 @@ public class RequisicaoConsumo extends PersistentObjectAuditOrganizacao { | @@ -391,4 +396,12 @@ public class RequisicaoConsumo extends PersistentObjectAuditOrganizacao { | ||
391 | this.atendente = atendente; | 396 | this.atendente = atendente; |
392 | } | 397 | } |
393 | 398 | ||
399 | + public AtendimentoRequisicaoConsumo getAtendimentoRequisicaoConsumo() { | ||
400 | + return atendimentoRequisicaoConsumo; | ||
401 | + } | ||
402 | + | ||
403 | + public void setAtendimentoRequisicaoConsumo( | ||
404 | + AtendimentoRequisicaoConsumo atendimentoRequisicaoConsumo) { | ||
405 | + this.atendimentoRequisicaoConsumo = atendimentoRequisicaoConsumo; | ||
406 | + } | ||
394 | } | 407 | } |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
@@ -317,41 +317,90 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | @@ -317,41 +317,90 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | ||
317 | } | 317 | } |
318 | 318 | ||
319 | $scope.addRequisicaoConsumoAoAtendimento = function(req){ | 319 | $scope.addRequisicaoConsumoAoAtendimento = function(req){ |
320 | - var atendimento = {requisicaoConsumo : req}; | ||
321 | - | ||
322 | - if(atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_PRONTA_PARA_ATENDIMENTO || atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_ATENDIDA_PARCIALMENTE){ | 320 | + if(req.atendimentoRequisicaoConsumo){ |
321 | + var atendimento = req.atendimentoRequisicaoConsumo; | ||
322 | + delete req.atendimentoRequisicaoConsumo; | ||
323 | + | ||
324 | + atendimento.requisicaoConsumo = req; | ||
325 | + | ||
323 | 326 | ||
324 | - atendimento.requisicaoConsumo.requisicaoConsumoItens.forEach(function (requisicaoConsumoItem) { | ||
325 | - if(!atendimento.atendimentoRequisicaoConsumoItems){ | ||
326 | - atendimento.atendimentoRequisicaoConsumoItems = []; | 327 | + if(atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_PRONTA_PARA_ATENDIMENTO || atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_ATENDIDA_PARCIALMENTE){ |
328 | + var contem = false; | ||
329 | + for(var index = atendimento.atendimentoRequisicaoConsumoItems.length - 1; index >= 0; index--){ | ||
330 | + atendimento.requisicaoConsumo.requisicaoConsumoItens.forEach(function(item){ | ||
331 | + if(item.id === atendimento.atendimentoRequisicaoConsumoItems[index].requisicaoConsumoItem.id){ | ||
332 | + contem = true; | ||
333 | + } | ||
334 | + }); | ||
335 | + | ||
336 | + if(!contem){ | ||
337 | + atendimento.atendimentoRequisicaoConsumoItems.splice(index, 1); | ||
338 | + }else{ | ||
339 | + contem = false; | ||
340 | + } | ||
327 | } | 341 | } |
328 | 342 | ||
329 | - var atendimentoItem = { | ||
330 | - material : requisicaoConsumoItem.materialConsumo, | ||
331 | - requisicaoConsumoItem : requisicaoConsumoItem, | ||
332 | - $locaisEstoque: [], | ||
333 | - atendimentoRequisicaoConsumoItemEnderecos: [] | ||
334 | - }; | ||
335 | - | ||
336 | - MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(requisicaoConsumoItem.materialConsumo.id, req.almoxarifado.id).then(function(result) { | ||
337 | - result.forEach(function(localEstoque){ | ||
338 | - var atendimentoRequisicaoConsumoItemEndereco = { | ||
339 | - materialLocalEstoque: localEstoque.originalElement | ||
340 | - }; | ||
341 | - | ||
342 | - atendimentoItem.$locaisEstoque.push(atendimentoRequisicaoConsumoItemEndereco); | ||
343 | - | ||
344 | - if(localEstoque.localPrincipal){ | ||
345 | - atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.push(atendimentoRequisicaoConsumoItemEndereco); | ||
346 | - } | 343 | + atendimento.atendimentoRequisicaoConsumoItems.forEach(function(atendimentoItem){ |
344 | + atendimentoItem.$locaisEstoque = []; | ||
345 | + MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(atendimentoItem.material.id, req.almoxarifado.id).then(function(result) { | ||
346 | + result.forEach(function(localEstoque){ | ||
347 | + var atendimentoRequisicaoConsumoItemEndereco = { | ||
348 | + materialLocalEstoque: localEstoque.originalElement | ||
349 | + }; | ||
350 | + | ||
351 | + atendimentoItem.$locaisEstoque.push(atendimentoRequisicaoConsumoItemEndereco); | ||
352 | + }); | ||
347 | }); | 353 | }); |
354 | + | ||
355 | + atendimentoItem.$somaQtdAtendida = 0; | ||
356 | + if(atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.length > 1){ | ||
357 | + atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.forEach(function(atendimentoItemEndereco){ | ||
358 | + atendimentoItem.$somaQtdAtendida += parseFloat(atendimentoItemEndereco.quantidade); | ||
359 | + }); | ||
360 | + } | ||
361 | + | ||
362 | + buscarInformacoesParaAtendimento(atendimentoItem); | ||
348 | }); | 363 | }); |
364 | + $scope.atendimentos.push(atendimento); | ||
365 | + } | ||
366 | + | ||
367 | + }else{ | ||
368 | + var atendimento = {requisicaoConsumo : req}; | ||
369 | + if(atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_PRONTA_PARA_ATENDIMENTO || atendimento.requisicaoConsumo.tipoStatusRequisicao.codigo == $scope.TIPO_STATUS_ATENDIDA_PARCIALMENTE){ | ||
349 | 370 | ||
350 | - buscarInformacoesParaAtendimento(atendimentoItem); | ||
351 | - | ||
352 | - atendimento.atendimentoRequisicaoConsumoItems.push(atendimentoItem); | ||
353 | - }); | ||
354 | - $scope.atendimentos.push(atendimento); | 371 | + atendimento.requisicaoConsumo.requisicaoConsumoItens.forEach(function (requisicaoConsumoItem) { |
372 | + if(!atendimento.atendimentoRequisicaoConsumoItems){ | ||
373 | + atendimento.atendimentoRequisicaoConsumoItems = []; | ||
374 | + } | ||
375 | + | ||
376 | + var atendimentoItem = { | ||
377 | + material : requisicaoConsumoItem.materialConsumo, | ||
378 | + requisicaoConsumoItem : requisicaoConsumoItem, | ||
379 | + $locaisEstoque: [], | ||
380 | + atendimentoRequisicaoConsumoItemEnderecos: [] | ||
381 | + }; | ||
382 | + | ||
383 | + MaterialLocalEstoqueRepository.buscarLocaisEstoquePorIdMaterialIdAlmoxarifado(requisicaoConsumoItem.materialConsumo.id, req.almoxarifado.id).then(function(result) { | ||
384 | + result.forEach(function(localEstoque){ | ||
385 | + var atendimentoRequisicaoConsumoItemEndereco = { | ||
386 | + materialLocalEstoque: localEstoque.originalElement | ||
387 | + }; | ||
388 | + | ||
389 | + atendimentoItem.$locaisEstoque.push(atendimentoRequisicaoConsumoItemEndereco); | ||
390 | + | ||
391 | + if(localEstoque.localPrincipal){ | ||
392 | + atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.push(atendimentoRequisicaoConsumoItemEndereco); | ||
393 | + } | ||
394 | + }); | ||
395 | + }); | ||
396 | + | ||
397 | + buscarInformacoesParaAtendimento(atendimentoItem); | ||
398 | + | ||
399 | + atendimento.atendimentoRequisicaoConsumoItems.push(atendimentoItem); | ||
400 | + }); | ||
401 | + $scope.atendimentos.push(atendimento); | ||
402 | + } | ||
403 | + | ||
355 | } | 404 | } |
356 | 405 | ||
357 | if($scope.atendimentoRequisicaoConsumo && $scope.atendimentoRequisicaoConsumo.dataAtendimento){ | 406 | if($scope.atendimentoRequisicaoConsumo && $scope.atendimentoRequisicaoConsumo.dataAtendimento){ |
@@ -586,18 +635,25 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | @@ -586,18 +635,25 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | ||
586 | if(enderecosAdicionados[0] && enderecosAdicionados[0].materialLocalEstoque){ | 635 | if(enderecosAdicionados[0] && enderecosAdicionados[0].materialLocalEstoque){ |
587 | if(enderecosAdicionados.length > 0){ | 636 | if(enderecosAdicionados.length > 0){ |
588 | enderecosItem.forEach(function(enderecoItem){ | 637 | enderecosItem.forEach(function(enderecoItem){ |
638 | + var contem = false; | ||
589 | enderecosAdicionados.forEach(function(enderecoAdicionado){ | 639 | enderecosAdicionados.forEach(function(enderecoAdicionado){ |
590 | - if(enderecoItem.materialLocalEstoque.id != enderecoAdicionado.materialLocalEstoque.id){ | ||
591 | - $scope.listaEnderecosSelect.push(enderecoItem); | 640 | + if(enderecoItem.materialLocalEstoque.id === enderecoAdicionado.materialLocalEstoque.id){ |
641 | + contem = true; | ||
592 | } | 642 | } |
593 | }); | 643 | }); |
644 | + | ||
645 | + if(!contem){ | ||
646 | + $scope.listaEnderecosSelect.push(enderecoItem); | ||
647 | + }else{ | ||
648 | + contem = false; | ||
649 | + } | ||
594 | }); | 650 | }); |
595 | }else{ | 651 | }else{ |
596 | - $scope.listaEnderecosSelect = enderecosItem; | 652 | + $scope.listaEnderecosSelect = angular.copy(enderecosItem); |
597 | } | 653 | } |
598 | }else{ | 654 | }else{ |
599 | enderecosAdicionados = []; | 655 | enderecosAdicionados = []; |
600 | - $scope.listaEnderecosSelect = enderecosItem; | 656 | + $scope.listaEnderecosSelect = angular.copy(enderecosItem); |
601 | } | 657 | } |
602 | 658 | ||
603 | $scope.listaEnderecosAdicionados = enderecosAdicionados; | 659 | $scope.listaEnderecosAdicionados = enderecosAdicionados; |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html
@@ -157,15 +157,12 @@ | @@ -157,15 +157,12 @@ | ||
157 | </table> | 157 | </table> |
158 | </td> | 158 | </td> |
159 | 159 | ||
160 | - <td ng-if="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade != atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida && atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos.length <= 1" class="text-center"> | 160 | + <td ng-if="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos.length <= 1" class="text-center"> |
161 | <label-input-decimal ng-id="atendimentoRequisicaoConsumoItem.quantidade$index" ng-evento-blur="aplicarValidacaoDecimal" ng-evento-keyup="validarQuantidadesAtendidas()" | 161 | <label-input-decimal ng-id="atendimentoRequisicaoConsumoItem.quantidade$index" ng-evento-blur="aplicarValidacaoDecimal" ng-evento-keyup="validarQuantidadesAtendidas()" |
162 | ng-model="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos[0].quantidade" form="atendimentoRequisicaoConsumoForm" ng-disabled="!edit" ng-custom-maxlength="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}" | 162 | ng-model="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos[0].quantidade" form="atendimentoRequisicaoConsumoForm" ng-disabled="!edit" ng-custom-maxlength="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 4 : 11}}" |
163 | ng-precisao="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" /> | 163 | ng-precisao="{{atendimentoRequisicaoConsumoItem.material.unidadeArmazenamento.tipoNumerico.codigo === 1 ? 0 : 'decimal'}}" /> |
164 | </td> | 164 | </td> |
165 | - <td class="text-center" ng-show="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade == atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida"> | ||
166 | - <i class='fa fa-check green' tooltip="{{$translate.instant('ALMOXARIFADO.LABEL.ATENDIDA')}}"></i> | ||
167 | - </td> | ||
168 | - <td ng-if="atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidade != atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.quantidadeAtendida && atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos.length > 1"> | 165 | + <td ng-if="atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumoItemEnderecos.length > 1"> |
169 | <label-input ng-type="text" ng-model="atendimentoRequisicaoConsumoItem.$somaQtdAtendida" ng-disabled="true"></label-input> | 166 | <label-input ng-type="text" ng-model="atendimentoRequisicaoConsumoItem.$somaQtdAtendida" ng-disabled="true"></label-input> |
170 | </td> | 167 | </td> |
171 | 168 |