Commit 7a3f8066fb11eefe0f5f85b9f16ea2296518aebf
1 parent
ddef4fa3
Exists in
master
Atendimento #4943
Showing
7 changed files
with
127 additions
and
70 deletions
Show diff stats
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/MovimentoEstoqueDao.java
1 | package br.com.centralit.api.dao; | 1 | package br.com.centralit.api.dao; |
2 | 2 | ||
3 | import java.math.BigDecimal; | 3 | import java.math.BigDecimal; |
4 | +import java.util.ArrayList; | ||
4 | import java.util.Calendar; | 5 | import java.util.Calendar; |
5 | import java.util.Collection; | 6 | import java.util.Collection; |
6 | import java.util.List; | 7 | import java.util.List; |
7 | -import java.util.Map; | ||
8 | 8 | ||
9 | import br.com.centralit.api.model.EstruturaOrganizacional; | 9 | import br.com.centralit.api.model.EstruturaOrganizacional; |
10 | import br.com.centralit.api.model.MaterialConsumo; | 10 | import br.com.centralit.api.model.MaterialConsumo; |
@@ -116,7 +116,7 @@ public interface MovimentoEstoqueDao extends CitGenericDAO { | @@ -116,7 +116,7 @@ public interface MovimentoEstoqueDao extends CitGenericDAO { | ||
116 | * @param dataFim | 116 | * @param dataFim |
117 | * @return | 117 | * @return |
118 | */ | 118 | */ |
119 | - List<Map<String, Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao); | 119 | + List<ArrayList<Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao); |
120 | 120 | ||
121 | /** | 121 | /** |
122 | * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | 122 | * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/MovimentoEstoqueDaoHibernate.java
1 | package br.com.centralit.api.dao.impl; | 1 | package br.com.centralit.api.dao.impl; |
2 | 2 | ||
3 | import java.math.BigDecimal; | 3 | import java.math.BigDecimal; |
4 | +import java.util.ArrayList; | ||
4 | import java.util.Calendar; | 5 | import java.util.Calendar; |
5 | import java.util.Collection; | 6 | import java.util.Collection; |
7 | +import java.util.HashMap; | ||
6 | import java.util.List; | 8 | import java.util.List; |
7 | import java.util.Map; | 9 | import java.util.Map; |
8 | 10 | ||
@@ -13,6 +15,7 @@ import org.springframework.stereotype.Repository; | @@ -13,6 +15,7 @@ import org.springframework.stereotype.Repository; | ||
13 | 15 | ||
14 | import br.com.centralit.api.dao.MovimentoEstoqueDao; | 16 | import br.com.centralit.api.dao.MovimentoEstoqueDao; |
15 | import br.com.centralit.api.model.DominioAlmoxarifado; | 17 | import br.com.centralit.api.model.DominioAlmoxarifado; |
18 | +import br.com.centralit.api.model.DominioMaterial; | ||
16 | import br.com.centralit.api.model.EstruturaOrganizacional; | 19 | import br.com.centralit.api.model.EstruturaOrganizacional; |
17 | import br.com.centralit.api.model.MaterialConsumo; | 20 | import br.com.centralit.api.model.MaterialConsumo; |
18 | import br.com.centralit.api.model.MovimentoEstoque; | 21 | import br.com.centralit.api.model.MovimentoEstoque; |
@@ -25,8 +28,6 @@ import br.com.centralit.framework.util.UtilColecao; | @@ -25,8 +28,6 @@ import br.com.centralit.framework.util.UtilColecao; | ||
25 | import br.com.centralit.framework.util.UtilObjeto; | 28 | import br.com.centralit.framework.util.UtilObjeto; |
26 | 29 | ||
27 | import com.googlecode.genericdao.search.Field; | 30 | import com.googlecode.genericdao.search.Field; |
28 | -import com.googlecode.genericdao.search.Filter; | ||
29 | -import com.googlecode.genericdao.search.Search; | ||
30 | 31 | ||
31 | /** | 32 | /** |
32 | * <p> | 33 | * <p> |
@@ -173,38 +174,69 @@ public class MovimentoEstoqueDaoHibernate extends CitGenericDAOImpl implements M | @@ -173,38 +174,69 @@ public class MovimentoEstoqueDaoHibernate extends CitGenericDAOImpl implements M | ||
173 | /** | 174 | /** |
174 | * {@inheritDoc} | 175 | * {@inheritDoc} |
175 | */ | 176 | */ |
177 | + @SuppressWarnings("unchecked") | ||
176 | @Override | 178 | @Override |
177 | - public List<Map<String, Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao) { | ||
178 | - | ||
179 | - SearchSeven search = new SearchSeven(); | 179 | + public List<ArrayList<Object>> getQuantidadeMaterialAtendido(MaterialConsumo materialConsumo, EstruturaOrganizacional almoxarifado, EstruturaOrganizacional unidadeRequisitante, Calendar dataInicio, Calendar dataFim, List<Long> idsDominiosTipoStatusRequisicao) { |
180 | 180 | ||
181 | - search.setResultMode(Search.RESULT_MAP); | 181 | + Map<String, Object> parametros = new HashMap<String, Object>(); |
182 | + StringBuilder sql = new StringBuilder(); | ||
182 | 183 | ||
183 | - search.addField("atendimentoRequisicaoConsumoItem.quantidade"); | 184 | + sql.append("select atendimento.dataAtendimento, atendimentoItem.quantidade from alm_me_movimentoestoque me "); |
185 | + sql.append(" inner join dominio dominio on dominio.id = me.dominioClasseReferencia_id "); | ||
186 | + sql.append(" left join alm_rc_atendimentoitem atendimentoItem on atendimentoItem.id = me.idClasseReferencia "); | ||
187 | + sql.append(" left join alm_rc_atendimento atendimento on atendimento.id = atendimentoItem.AtendimentoReqConsumo_Id "); | ||
188 | + sql.append(" left join alm_rc_item rci on rci.id = atendimentoItem.requisicaoConsumoItem_id "); | ||
189 | + sql.append(" left join alm_requisicaoconsumo rc on rc.id = rci.requisicaoConsumo_id "); | ||
184 | 190 | ||
185 | - search.addField("atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumo.dataAtendimento"); | 191 | + sql.append(" where dominio.codigo = :codigoDominio and dominio.chave = :chaveDominio "); |
186 | 192 | ||
187 | - search.addFilterEqual("material.id", materialConsumo.getId()); | 193 | + parametros.put("codigoDominio", DominioMaterial.REFERENCIA_ATENDIMENTO_ALMOXARIFADO_ITEM); |
194 | + parametros.put("chaveDominio", "classeReferencia"); | ||
188 | 195 | ||
189 | - search.addFilterEqual("atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.requisicaoConsumo.almoxarifado.id", almoxarifado.getId()); | 196 | + sql.append(" and me.material_id = :materialConsumoId "); |
197 | + parametros.put("materialConsumoId", materialConsumo.getId()); | ||
198 | + | ||
199 | + sql.append(" and rc.almoxarifado_id = :almoxarifadoId "); | ||
200 | + parametros.put("almoxarifadoId", almoxarifado.getId()); | ||
190 | 201 | ||
191 | if(UtilObjeto.isReferencia(unidadeRequisitante)){ | 202 | if(UtilObjeto.isReferencia(unidadeRequisitante)){ |
192 | 203 | ||
193 | - search.addFilterEqual("atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.requisicaoConsumo.unidadeRequisitante.id", unidadeRequisitante.getId()); | 204 | + sql.append(" and rc.unidadeRequisitante_id = :unidadeRequisitanteId "); |
205 | + parametros.put("unidadeRequisitanteId", unidadeRequisitante.getId()); | ||
194 | } | 206 | } |
195 | 207 | ||
196 | if(!UtilColecao.isVazio(idsDominiosTipoStatusRequisicao)){ | 208 | if(!UtilColecao.isVazio(idsDominiosTipoStatusRequisicao)){ |
197 | - search.addFilterIn("atendimentoRequisicaoConsumoItem.requisicaoConsumoItem.requisicaoConsumo.tipoStatusRequisicao.id", idsDominiosTipoStatusRequisicao); | 209 | + |
210 | + sql.append(" and rc.tipoStatusRequisicao_id in ").append(addFilterIn(idsDominiosTipoStatusRequisicao)); | ||
198 | } | 211 | } |
199 | 212 | ||
200 | if(UtilObjeto.isReferencia(dataInicio) && UtilObjeto.isReferencia(dataFim)){ | 213 | if(UtilObjeto.isReferencia(dataInicio) && UtilObjeto.isReferencia(dataFim)){ |
201 | 214 | ||
202 | - search.addFilterAnd( | ||
203 | - Filter.greaterOrEqual("atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumo.dataAtendimento", dataInicio), | ||
204 | - Filter.lessOrEqual("atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumo.dataAtendimento", dataFim)); | 215 | + sql.append(" and (atendimento.dataAtendimento >= :dataInicio and atendimento.dataAtendimento <= :dataFim) "); |
216 | + parametros.put("dataInicio", dataInicio); | ||
217 | + parametros.put("dataFim", dataFim); | ||
218 | + } | ||
219 | + | ||
220 | + Query query = em().createNativeQuery(sql.toString()); | ||
221 | + | ||
222 | + for(java.util.Map.Entry<String, Object> parametro : parametros.entrySet()){ | ||
223 | + query.setParameter(parametro.getKey(), parametro.getValue()); | ||
205 | } | 224 | } |
206 | 225 | ||
207 | - return this.search(search); | 226 | + return query.getResultList(); |
227 | + } | ||
228 | + | ||
229 | + private String addFilterIn(List<Long> ids){ | ||
230 | + String in = "("; | ||
231 | + | ||
232 | + for (Long id : ids) { | ||
233 | + in += id + ","; | ||
234 | + } | ||
235 | + | ||
236 | + in = in.substring(0, in.length() - 1); | ||
237 | + | ||
238 | + in += ")"; | ||
239 | + return in; | ||
208 | } | 240 | } |
209 | 241 | ||
210 | @Override | 242 | @Override |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java
@@ -82,6 +82,10 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | @@ -82,6 +82,10 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | ||
82 | /** Atributo quantidade. */ | 82 | /** Atributo quantidade. */ |
83 | @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class }) | 83 | @JsonView({ ViewsAlmoxarifado.AtendimentoRequisicaoConsumoItem.class, ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class, Views.MaterialConsultaInfo.class }) |
84 | private BigDecimal quantidade; | 84 | private BigDecimal quantidade; |
85 | + | ||
86 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | ||
87 | + @JsonView({ViewsAlmoxarifado.AtendimentoRequisicaoConsumoEditView.class}) | ||
88 | + private MaterialLocalEstoque materialLocalEstoque; | ||
85 | 89 | ||
86 | /** | 90 | /** |
87 | * Retorna o valor do atributo <code>id</code> | 91 | * Retorna o valor do atributo <code>id</code> |
@@ -183,4 +187,11 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | @@ -183,4 +187,11 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan | ||
183 | this.requisicaoConsumoItem = requisicaoConsumoItem; | 187 | this.requisicaoConsumoItem = requisicaoConsumoItem; |
184 | } | 188 | } |
185 | 189 | ||
190 | + public MaterialLocalEstoque getMaterialLocalEstoque() { | ||
191 | + return materialLocalEstoque; | ||
192 | + } | ||
193 | + | ||
194 | + public void setMaterialLocalEstoque(MaterialLocalEstoque materialLocalEstoque) { | ||
195 | + this.materialLocalEstoque = materialLocalEstoque; | ||
196 | + } | ||
186 | } | 197 | } |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoItemServiceImpl.java
@@ -179,31 +179,31 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI | @@ -179,31 +179,31 @@ public class AtendimentoRequisicaoConsumoItemServiceImpl extends GenericServiceI | ||
179 | 179 | ||
180 | Calendar ultimoDiaAnoAtual = UtilDate.dateToCalendar(UtilDate.getUltimoDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()))); | 180 | Calendar ultimoDiaAnoAtual = UtilDate.dateToCalendar(UtilDate.getUltimoDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()))); |
181 | 181 | ||
182 | -// informacoesAtendimentoVH.setConsumoExercicioAtual(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), | ||
183 | -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), | ||
184 | -// primeiroDiaAnoAtual, ultimoDiaAnoAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao)); | ||
185 | -// | ||
186 | -// Calendar primeiroDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getPrimeiroDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1)); | ||
187 | -// | ||
188 | -// Calendar ultimoDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getUltimoDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1)); | ||
189 | -// | ||
190 | -// informacoesAtendimentoVH.setConsumoExercicioAnterior(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), | ||
191 | -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), | ||
192 | -// primeiroDiaAnoAnterior, ultimoDiaAnoAnterior, Boolean.FALSE, idsDominiosTipoStatusRequisicao)); | ||
193 | -// | ||
194 | -// Calendar data12MesesAtras = UtilDate.dateToCalendar(UtilDate.somaMeses(UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance()).getTime(), -12)); | ||
195 | -// | ||
196 | -// Calendar dataMesAtual = UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance()); | ||
197 | -// | ||
198 | -// informacoesAtendimentoVH.setConsumo12meses(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), | ||
199 | -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), | ||
200 | -// data12MesesAtras, dataMesAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao)); | ||
201 | -// | ||
202 | -// informacoesAtendimentoVH.setConsumoMedioMensalMaterial(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), | ||
203 | -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), null, null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao)); | ||
204 | -// | ||
205 | -// informacoesAtendimentoVH.setConsumoMedioMensalUR(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), | ||
206 | -// requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao)); | 182 | + informacoesAtendimentoVH.setConsumoExercicioAtual(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), |
183 | + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), | ||
184 | + primeiroDiaAnoAtual, ultimoDiaAnoAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao)); | ||
185 | + | ||
186 | + Calendar primeiroDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getPrimeiroDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1)); | ||
187 | + | ||
188 | + Calendar ultimoDiaAnoAnterior = UtilDate.dateToCalendar(UtilDate.getUltimoDiaDoAno(Integer.parseInt(UtilDate.getAnoAtual()) - 1)); | ||
189 | + | ||
190 | + informacoesAtendimentoVH.setConsumoExercicioAnterior(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), | ||
191 | + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), | ||
192 | + primeiroDiaAnoAnterior, ultimoDiaAnoAnterior, Boolean.FALSE, idsDominiosTipoStatusRequisicao)); | ||
193 | + | ||
194 | + Calendar data12MesesAtras = UtilDate.dateToCalendar(UtilDate.somaMeses(UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance()).getTime(), -12)); | ||
195 | + | ||
196 | + Calendar dataMesAtual = UtilDate.calendarUltimoDiaDoMes(Calendar.getInstance()); | ||
197 | + | ||
198 | + informacoesAtendimentoVH.setConsumo12meses(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), | ||
199 | + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), | ||
200 | + data12MesesAtras, dataMesAtual, Boolean.FALSE, idsDominiosTipoStatusRequisicao)); | ||
201 | + | ||
202 | + informacoesAtendimentoVH.setConsumoMedioMensalMaterial(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), | ||
203 | + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), null, null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao)); | ||
204 | + | ||
205 | + informacoesAtendimentoVH.setConsumoMedioMensalUR(this.movimentoEstoqueService.getMediaQuantidadeMaterial(requisicaoConsumoItem.getMaterialConsumo(), | ||
206 | + requisicaoConsumoItem.getRequisicaoConsumo().getAlmoxarifado(), requisicaoConsumoItem.getRequisicaoConsumo().getUnidadeRequisitante(), null, null, Boolean.TRUE, idsDominiosTipoStatusRequisicao)); | ||
207 | 207 | ||
208 | return informacoesAtendimentoVH; | 208 | return informacoesAtendimentoVH; |
209 | } | 209 | } |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java
@@ -89,9 +89,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | @@ -89,9 +89,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | ||
89 | 89 | ||
90 | private static int SCALE_DIVISOR_DECIMAL = 4; | 90 | private static int SCALE_DIVISOR_DECIMAL = 4; |
91 | 91 | ||
92 | - private static final String ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_ATENDIMENTO_REQUISICAO_CONSUMO_DATA_ATENDIMENTO = "atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumo.dataAtendimento"; | 92 | + private static final int ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_ATENDIMENTO_REQUISICAO_CONSUMO_DATA_ATENDIMENTO = 0; |
93 | 93 | ||
94 | - private static final String ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE = "atendimentoRequisicaoConsumoItem.quantidade"; | 94 | + private static final int ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE = 1; |
95 | 95 | ||
96 | /** Atributo movimentoEstoqueDao. */ | 96 | /** Atributo movimentoEstoqueDao. */ |
97 | private MovimentoEstoqueDao movimentoEstoqueDao; | 97 | private MovimentoEstoqueDao movimentoEstoqueDao; |
@@ -500,28 +500,22 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | @@ -500,28 +500,22 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | ||
500 | 500 | ||
501 | BigDecimal result = BigDecimal.valueOf(0); | 501 | BigDecimal result = BigDecimal.valueOf(0); |
502 | 502 | ||
503 | - List<Map<String, Object>> valoresAtendidos = this.movimentoEstoqueDao.getQuantidadeMaterialAtendido(materialConsumo, almoxarifado, unidadeRequisitante, dataInicio, dataFim, idsDominiosTipoStatusRequisicao); | 503 | + List<ArrayList<Object>> valoresAtendidos = this.movimentoEstoqueDao.getQuantidadeMaterialAtendido(materialConsumo, almoxarifado, unidadeRequisitante, dataInicio, dataFim, idsDominiosTipoStatusRequisicao); |
504 | 504 | ||
505 | if (!UtilColecao.isVazio(valoresAtendidos)) { | 505 | if (!UtilColecao.isVazio(valoresAtendidos)) { |
506 | 506 | ||
507 | Map<String, List<BigDecimal>> mapaDeMesesPorQuantidade = new HashMap<String, List<BigDecimal>>(); | 507 | Map<String, List<BigDecimal>> mapaDeMesesPorQuantidade = new HashMap<String, List<BigDecimal>>(); |
508 | 508 | ||
509 | - for (Map<String, Object> mapaPropriedades : valoresAtendidos) { | 509 | + for (ArrayList<Object> listaPropriedades : valoresAtendidos) { |
510 | 510 | ||
511 | if (mensal) { | 511 | if (mensal) { |
512 | 512 | ||
513 | - this.divideValoresPorMesEAno(mapaPropriedades, mapaDeMesesPorQuantidade); | 513 | + this.divideValoresPorMesEAno(listaPropriedades, mapaDeMesesPorQuantidade); |
514 | 514 | ||
515 | } else { | 515 | } else { |
516 | + | ||
517 | + result = result.add((BigDecimal) listaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE)); | ||
516 | 518 | ||
517 | - for (String chave : mapaPropriedades.keySet()) { | ||
518 | - | ||
519 | - if (chave.equalsIgnoreCase(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE)) { | ||
520 | - | ||
521 | - result = result.add((BigDecimal) mapaPropriedades.get(chave)); | ||
522 | - | ||
523 | - } | ||
524 | - } | ||
525 | } | 519 | } |
526 | } | 520 | } |
527 | 521 | ||
@@ -577,9 +571,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | @@ -577,9 +571,9 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | ||
577 | * @param mapaDeMesesPorQuantidade2 | 571 | * @param mapaDeMesesPorQuantidade2 |
578 | * @return | 572 | * @return |
579 | */ | 573 | */ |
580 | - private void divideValoresPorMesEAno(Map<String, Object> mapaPropriedades, Map<String, List<BigDecimal>> mapaDeMesesPorQuantidade) { | 574 | + private void divideValoresPorMesEAno(ArrayList<Object> listaPropriedades, Map<String, List<BigDecimal>> mapaDeMesesPorQuantidade) { |
581 | 575 | ||
582 | - Calendar data = (Calendar) mapaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_ATENDIMENTO_REQUISICAO_CONSUMO_DATA_ATENDIMENTO); | 576 | + Calendar data = (Calendar) listaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_ATENDIMENTO_REQUISICAO_CONSUMO_DATA_ATENDIMENTO); |
583 | 577 | ||
584 | Integer mes = data.get(Calendar.MONTH); | 578 | Integer mes = data.get(Calendar.MONTH); |
585 | 579 | ||
@@ -592,7 +586,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | @@ -592,7 +586,7 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | ||
592 | mapaDeMesesPorQuantidade.put(chave, new ArrayList<BigDecimal>()); | 586 | mapaDeMesesPorQuantidade.put(chave, new ArrayList<BigDecimal>()); |
593 | } | 587 | } |
594 | 588 | ||
595 | - BigDecimal valor = (BigDecimal) mapaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE); | 589 | + BigDecimal valor = (BigDecimal) listaPropriedades.get(ATENDIMENTO_REQUISICAO_CONSUMO_ITEM_QUANTIDADE); |
596 | 590 | ||
597 | mapaDeMesesPorQuantidade.get(chave).add(valor); | 591 | mapaDeMesesPorQuantidade.get(chave).add(valor); |
598 | 592 |
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
@@ -340,7 +340,7 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | @@ -340,7 +340,7 @@ citApp.controller( 'AtendimentoRequisicaoConsumoController', | ||
340 | 340 | ||
341 | result.forEach(function(localEstoque){ | 341 | result.forEach(function(localEstoque){ |
342 | if(localEstoque.localPrincipal){ | 342 | if(localEstoque.localPrincipal){ |
343 | - atendimentoItem.localEstoque = localEstoque; | 343 | + atendimentoItem.materialLocalEstoque = localEstoque.originalElement; |
344 | } | 344 | } |
345 | }); | 345 | }); |
346 | }); | 346 | }); |
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/atendimentoRequisicaoConsumoEdit.html
@@ -65,7 +65,7 @@ | @@ -65,7 +65,7 @@ | ||
65 | ng-disabled="!edit" ng-mode="day" ng-format="dd/MM/yyyy" /> | 65 | ng-disabled="!edit" ng-mode="day" ng-format="dd/MM/yyyy" /> |
66 | </div> | 66 | </div> |
67 | </div> | 67 | </div> |
68 | - <div class="row" style="margin-top: 20px" ng-repeat="atendimento in atendimentos"> | 68 | + <div style="margin-top: 20px" ng-repeat="atendimento in atendimentos"> |
69 | <div class="widget-box margin-bottom"> | 69 | <div class="widget-box margin-bottom"> |
70 | <div class="widget-header"> | 70 | <div class="widget-header"> |
71 | <h2 class="widget-title" style="font-size: 16px !important"> | 71 | <h2 class="widget-title" style="font-size: 16px !important"> |
@@ -139,10 +139,10 @@ | @@ -139,10 +139,10 @@ | ||
139 | - atendimentoRequisicaoConsumoItem.$quantidade}}</td> | 139 | - atendimentoRequisicaoConsumoItem.$quantidade}}</td> |
140 | 140 | ||
141 | <td class="text-center"> | 141 | <td class="text-center"> |
142 | - <label-select ng-id="atendimentoRequisicaoConsumoItem.localEstoque$index" ng-obrigatorio="true" | ||
143 | - ng-model="atendimentoRequisicaoConsumoItem.localEstoque" ng-list="atendimentoRequisicaoConsumoItem.$locaisEstoque" | 142 | + <label-select ng-id="atendimentoRequisicaoConsumoItem.materialLocalEstoque$index" ng-obrigatorio="true" |
143 | + ng-model="atendimentoRequisicaoConsumoItem.materialLocalEstoque.id" ng-list="atendimentoRequisicaoConsumoItem.$locaisEstoque" | ||
144 | form="formDialogAtendimento" | 144 | form="formDialogAtendimento" |
145 | - ng-custom-options="localEstoque as localEstoque.endereco.descricao for localEstoque"></label-select> | 145 | + ng-custom-options="materialLocalEstoque.id as materialLocalEstoque.endereco.descricao for materialLocalEstoque"></label-select> |
146 | 146 | ||
147 | </td> | 147 | </td> |
148 | 148 | ||
@@ -165,7 +165,6 @@ | @@ -165,7 +165,6 @@ | ||
165 | <th class="text-center" colspan="8"><translate>ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE</translate></th> | 165 | <th class="text-center" colspan="8"><translate>ALMOXARIFADO.LABEL.UNIDADE_REQUISITANTE</translate></th> |
166 | </tr> | 166 | </tr> |
167 | <tr> | 167 | <tr> |
168 | - <th class="text-center"><translate>ALMOXARIFADO.LABEL.QTD_EM_ESTOQUE</translate></th> | ||
169 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.CONSUMO_MEDIO_MENSAL</translate></th> | 168 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.CONSUMO_MEDIO_MENSAL</translate></th> |
170 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.CONSUMO_EXERCICIO_ANTERIOR</translate></th> | 169 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.CONSUMO_EXERCICIO_ANTERIOR</translate></th> |
171 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.CONSUMO_EXERCICIO_ATUAL</translate></th> | 170 | <th class="text-center"><translate>ALMOXARIFADO.LABEL.CONSUMO_EXERCICIO_ATUAL</translate></th> |
@@ -178,16 +177,37 @@ | @@ -178,16 +177,37 @@ | ||
178 | </tr> | 177 | </tr> |
179 | </thead> | 178 | </thead> |
180 | <tbody> | 179 | <tbody> |
181 | - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.qtdEstoque}}</td> | ||
182 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoMedioMensalMaterial}}</td> | 180 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoMedioMensalMaterial}}</td> |
183 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoExercicioAnterior}}</td> | 181 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoExercicioAnterior}}</td> |
184 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoExercicioAtual}}</td> | 182 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoExercicioAtual}}</td> |
185 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumo12meses}}</td> | 183 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumo12meses}}</td> |
186 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoMedioMensalUR}}</td> | 184 | <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.consumoMedioMensalUR}}</td> |
187 | - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.numeroUltimaRequisicao}}</td> | ||
188 | - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.dataUltimaRequisicao | dateBR}}</td> | ||
189 | - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.qtdRequeridaUltimaRequisicao}}</td> | ||
190 | - <td class="text-center">{{atendimentoRequisicaoConsumoItem.$info.qtdFornecidaUltimaRequisicao}}</td> | 185 | + <td class="text-center"> |
186 | + {{atendimentoRequisicaoConsumoItem.$info.numeroUltimaRequisicao ? atendimentoRequisicaoConsumoItem.$info.numeroUltimaRequisicao : "-"}} | ||
187 | + </td> | ||
188 | + <td class="text-center"> | ||
189 | + {{atendimentoRequisicaoConsumoItem.$info.dataUltimaRequisicao ? (atendimentoRequisicaoConsumoItem.$info.dataUltimaRequisicao | dateBR) : "-"}} | ||
190 | + </td> | ||
191 | + <td class="text-center"> | ||
192 | + {{atendimentoRequisicaoConsumoItem.$info.qtdRequeridaUltimaRequisicao ? atendimentoRequisicaoConsumoItem.$info.qtdRequeridaUltimaRequisicao : "-"}} | ||
193 | + </td> | ||
194 | + <td class="text-center"> | ||
195 | + {{atendimentoRequisicaoConsumoItem.$info.qtdFornecidaUltimaRequisicao ? atendimentoRequisicaoConsumoItem.$info.qtdFornecidaUltimaRequisicao : "-"}} | ||
196 | + </td> | ||
197 | + </tbody> | ||
198 | + </table> | ||
199 | + <table class="table table-bordered table-striped"> | ||
200 | + <thead> | ||
201 | + <tr> | ||
202 | + <th class="text-center"><translate>ALMOXARIFADO.LABEL.ENDERECO_ESTOQUE</translate></th> | ||
203 | + <th class="text-center"><translate>ALMOXARIFADO.LABEL.SALDO_ENDERECO</translate></th> | ||
204 | + <th class="text-center"><translate>LABEL.CAPACIDADE</translate></th> | ||
205 | + </tr> | ||
206 | + </thead> | ||
207 | + <tbody ng-repeat="localEstoque in atendimentoRequisicaoConsumoItem.$locaisEstoque"> | ||
208 | + <td class="text-center">{{localEstoque.endereco.descricao}}</td> | ||
209 | + <td class="text-center">{{localEstoque.quantidade}}</td> | ||
210 | + <td class="text-center">{{localEstoque.capacidade}}</td> | ||
191 | </tbody> | 211 | </tbody> |
192 | </table> | 212 | </table> |
193 | </td> | 213 | </td> |