Commit 306a6c04fc0847f6ed722f80eae662ecf22b7a5f

Authored by geovane.filho
2 parents f15c5654 2bd74392
Exists in master

Merge branch 'adm-1.16.0' of http://ferramentasgo.centralit.com.br:8080/scm/git/…

…cit-grp-almoxarifado into adm-1.16.0
cit-almoxarifado-api/src/main/java/br/com/centralit/api/dao/impl/RequisicaoConsumoDaoHibernate.java
... ... @@ -10,12 +10,6 @@ import java.util.Set;
10 10  
11 11 import org.springframework.stereotype.Repository;
12 12  
13   -import com.googlecode.genericdao.search.Field;
14   -import com.googlecode.genericdao.search.Filter;
15   -import com.googlecode.genericdao.search.Search;
16   -import com.googlecode.genericdao.search.SearchResult;
17   -import com.googlecode.genericdao.search.Sort;
18   -
19 13 import br.com.centralit.api.dao.RequisicaoConsumoDao;
20 14 import br.com.centralit.api.model.AtendimentoRequisicaoConsumo;
21 15 import br.com.centralit.api.model.DominioAlmoxarifado;
... ... @@ -31,6 +25,12 @@ import br.com.centralit.framework.util.UtilColecao;
31 25 import br.com.centralit.framework.util.UtilObjeto;
32 26 import br.com.centralit.framework.util.UtilString;
33 27  
  28 +import com.googlecode.genericdao.search.Field;
  29 +import com.googlecode.genericdao.search.Filter;
  30 +import com.googlecode.genericdao.search.Search;
  31 +import com.googlecode.genericdao.search.SearchResult;
  32 +import com.googlecode.genericdao.search.Sort;
  33 +
34 34 /**
35 35 * <p>
36 36 * <img src="http://centralit.com.br/images/logo_central.png">
... ... @@ -311,7 +311,7 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements
311 311 @Override
312 312 public List<Object> getResumoContabilForReport(Long requisicaoId,boolean isFIFO) {
313 313 StringBuilder sql = new StringBuilder();
314   - sql.append("select distinct contac.codigo,contac.descricao, rc_item.quantidadeatendida,");
  314 + sql.append("select distinct contac.codigo,contac.descricao, rc_item.quantidadeatendida,tipo_num.codigo as tpn,");
315 315  
316 316 if(isFIFO)
317 317 sql.append("fifo.valorUnitario");
... ... @@ -322,6 +322,8 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements
322 322 sql.append(" left join estruturaorganizacional alm on req_c.organizacao_id = alm.id");
323 323 sql.append(" left join alm_rc_item rc_item on rc_item.requisicaoConsumo_id = req_c.id");
324 324 sql.append(" left join alm_materialconsumo mat_c on rc_item.materialconsumo_id = mat_c.id");
  325 + sql.append(" left join unidademedida uni_med on mat_c.unidadearmazenamento_id = uni_med.id");
  326 + sql.append(" left join dominio tipo_num on uni_med.tiponumerico_id = tipo_num.id");
325 327 sql.append(" left join material mat on mat_c.id = mat.id");
326 328  
327 329 if(isFIFO)
... ... @@ -345,7 +347,7 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements
345 347 public List<Object> getMateriaisForReport(Long requisicaoId,boolean isFIFO) {
346 348  
347 349 StringBuilder sql = new StringBuilder();
348   - sql.append("select distinct mat.descricao,umedi.sigla,entrada_item.datavalidade,rc_item.quantidade, rc_item.quantidadeatendida,");
  350 + sql.append("select distinct mat.descricao,umedi.sigla,entrada_item.datavalidade,rc_item.quantidade, rc_item.quantidadeatendida,tipo_num.codigo,");
349 351  
350 352 if(isFIFO)
351 353 sql.append("fifo.valorUnitario");
... ... @@ -356,6 +358,8 @@ public class RequisicaoConsumoDaoHibernate extends CitGenericDAOImpl implements
356 358 sql.append(" left join estruturaorganizacional alm on req_c.organizacao_id = alm.id");
357 359 sql.append(" left join alm_rc_item rc_item on rc_item.requisicaoConsumo_id = req_c.id");
358 360 sql.append(" left join alm_materialconsumo mat_c on rc_item.materialconsumo_id = mat_c.id");
  361 + sql.append(" left join unidademedida uni_med on mat_c.unidadearmazenamento_id = uni_med.id");
  362 + sql.append(" left join dominio tipo_num on uni_med.tiponumerico_id = tipo_num.id");
359 363 sql.append(" left join material mat on mat_c.id = mat.id");
360 364 sql.append(" left join alm_en_entradaitem entrada_item on entrada_item.material_id = mat.id");
361 365 sql.append(" left join alm_me_localestoque local_estoque on local_estoque.id = entrada_item.materialLocalEstoque_id");
... ...
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanMaterial.java
1 1 package br.com.centralit.controller;
2 2  
3 3 import java.math.BigDecimal;
  4 +import java.math.BigInteger;
4 5  
5 6 import br.com.centralit.framework.util.Util;
6 7 import br.com.centralit.framework.util.UtilDate;
... ... @@ -11,6 +12,7 @@ public class BeanMaterial {
11 12 private String unidade;
12 13 private String dataValidade;
13 14 private String endereco;
  15 + private int tipoNumerico;
14 16 private BigDecimal qtdeSolicitada;
15 17 private BigDecimal qtdeFornecida;
16 18 private BigDecimal qtdeEstoque;
... ... @@ -24,7 +26,8 @@ public class BeanMaterial {
24 26 this.dataValidade = UtilDate.formatarData(objArray[2]);
25 27 this.qtdeSolicitada = (BigDecimal) objArray[3];
26 28 this.qtdeFornecida = (BigDecimal) objArray[4];
27   - this.valorUnitario = (BigDecimal) objArray[5];
  29 + this.tipoNumerico = ((BigInteger) objArray[5]).intValue();
  30 + this.valorUnitario = (BigDecimal) objArray[6];
28 31 setValorTotal(valorUnitario);
29 32 }
30 33  
... ... @@ -52,16 +55,23 @@ public class BeanMaterial {
52 55 return endereco;
53 56 }
54 57  
55   - public Integer getQtdeSolicitada() {
56   - return qtdeSolicitada != null ? qtdeSolicitada.intValue() : null;
  58 + public BigDecimal getQtdeSolicitada() {
  59 + return qtdeSolicitada;
57 60 }
58 61  
59   - public BigDecimal getQtdeSolicitadaBD() {
60   - return qtdeSolicitada;
  62 + public String getQtdeSolicitadaStr() {
  63 + return tipoNumerico == 1 ? ""+qtdeSolicitada.intValue() : Util.convertBigDecimalToString(qtdeSolicitada);
61 64 }
62   -
63   - public Integer getQtdeFornecida() {
64   - return qtdeFornecida != null ? qtdeFornecida.intValue() : null;
  65 +
  66 + public BigDecimal getQtdeFornecida() {
  67 + return qtdeFornecida;
  68 + }
  69 +
  70 + public String getQtdeFornecidaStr() {
  71 + if(qtdeFornecida == null)
  72 + qtdeFornecida = new BigDecimal(0);
  73 +
  74 + return tipoNumerico == 1 ? ""+qtdeFornecida.intValue() : Util.convertBigDecimalToString(qtdeFornecida);
65 75 }
66 76  
67 77 public String getValorTotal() {
... ... @@ -70,7 +80,7 @@ public class BeanMaterial {
70 80  
71 81 public void setValorTotal(BigDecimal valorUnitario) {
72 82 this.valorUnitario = valorUnitario;
73   - this.valorTotal = valorUnitario.multiply(getQtdeSolicitadaBD());
  83 + this.valorTotal = valorUnitario.multiply(getQtdeSolicitada());
74 84 }
75 85  
76 86 public String getValorUnitario() {
... ... @@ -88,6 +98,10 @@ public class BeanMaterial {
88 98 public BigDecimal getQtdeEstoque() {
89 99 return qtdeEstoque;
90 100 }
  101 +
  102 + public int getTipoNumerico() {
  103 + return tipoNumerico;
  104 + }
91 105  
92 106 @Override
93 107 public boolean equals(Object obj) {
... ...
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/BeanSubReportContaContabil.java
1 1 package br.com.centralit.controller;
2 2  
3 3 import java.math.BigDecimal;
  4 +import java.math.BigInteger;
4 5  
5 6 import br.com.centralit.framework.util.Util;
6 7  
... ... @@ -8,6 +9,7 @@ public class BeanSubReportContaContabil {
8 9 private String conta;
9 10 private String codigo;
10 11 private BigDecimal qtde;
  12 + private int tipoNumerico;
11 13 private BigDecimal valorUnitario;
12 14 private BigDecimal valorTotal;
13 15  
... ... @@ -15,18 +17,19 @@ public class BeanSubReportContaContabil {
15 17 this.codigo = (String)objArray[0];
16 18 this.conta = (String)objArray[1];
17 19 this.qtde = (BigDecimal)objArray[2];
18   - this.valorUnitario = (BigDecimal)objArray[3];
  20 + this.tipoNumerico = ((BigInteger) objArray[3]).intValue();
  21 + this.valorUnitario = (BigDecimal)objArray[4];
19 22 }
20 23  
21 24 public String getConta() {
22 25 return codigo+" - "+conta;
23 26 }
24   - public Integer getQtde() {
25   - return qtde.intValue();
26   - }
27   - public BigDecimal getQtdeBD() {
  27 + public BigDecimal getQtde() {
28 28 return qtde;
29 29 }
  30 + public String getQtdeStr() {
  31 + return tipoNumerico == 1 ? ""+qtde.intValue() : Util.convertBigDecimalToString(qtde);
  32 + }
30 33 public void setQtde(BigDecimal qtde) {
31 34 this.qtde = qtde;
32 35 }
... ... @@ -46,6 +49,10 @@ public class BeanSubReportContaContabil {
46 49 public void setValorUnitario(BigDecimal valorUnitario) {
47 50 this.valorUnitario = valorUnitario;
48 51 }
  52 +
  53 + public int getTipoNumerico() {
  54 + return tipoNumerico;
  55 + }
49 56  
50 57 @Override
51 58 public boolean equals(Object obj) {
... ...
cit-almoxarifado-web/src/main/java/br/com/centralit/controller/ReportGuiaRemessaAtendimentoConsumoController.java
... ... @@ -3,7 +3,6 @@ package br.com.centralit.controller;
3 3 import java.io.ByteArrayOutputStream;
4 4 import java.io.IOException;
5 5 import java.io.InputStream;
6   -import java.math.BigDecimal;
7 6 import java.sql.SQLException;
8 7 import java.util.ArrayList;
9 8 import java.util.HashMap;
... ... @@ -206,21 +205,6 @@ public class ReportGuiaRemessaAtendimentoConsumoController extends GenericContro
206 205 return new JRBeanCollectionDataSource(materiaisResult);
207 206 }
208 207  
209   - private void calcularFIFOMateriais(final List<BeanMaterial> materiais, BeanMaterial material,BigDecimal qtdFalta) {
210   - for(BeanMaterial mat : materiais)
211   - if(material.getNome().equals(mat.getNome()) && material.getQtdeEstoque().compareTo(mat.getQtdeEstoque()) >=0)
212   - if(mat.getQtdeEstoque().compareTo(qtdFalta) < 0){
213   - material.setValorUnitario(material.getValorUnitarioBD().add(mat.getValorUnitarioBD()));
214   - material.setValorUnitario(material.getValorUnitarioBD().divide(new BigDecimal(2)));
215   - qtdFalta = qtdFalta.subtract(mat.getQtdeEstoque());
216   - calcularFIFOMateriais(materiais, material, qtdFalta);
217   - }else{
218   - material.setValorUnitario(material.getValorUnitarioBD().add(mat.getValorUnitarioBD()));
219   - material.setValorUnitario(material.getValorUnitarioBD().divide(new BigDecimal(2)));
220   - }
221   -
222   - }
223   -
224 208 private JRBeanCollectionDataSource getResumoContabil(Long requisicaoId){
225 209  
226 210 List<Object> result = requisicaoConsumoService.getResumoContabilForReport(requisicaoId,is_FIFO);
... ... @@ -235,7 +219,7 @@ public class ReportGuiaRemessaAtendimentoConsumoController extends GenericContro
235 219 for(BeanSubReportContaContabil conta : contas)
236 220 if(contasResult.contains(conta)){
237 221 temp = contasResult.get(contasResult.size() -1);
238   - temp.setQtde(temp.getQtdeBD().add(conta.getQtdeBD()));
  222 + temp.setQtde(temp.getQtde().add(conta.getQtde()));
239 223 temp.setValorUnitario(temp.getValorUnitario().add(conta.getValorUnitario()));
240 224 }else
241 225 contasResult.add(conta);
... ...
cit-almoxarifado-web/src/main/resources/reports/guiaRemessaAtendimentoConsumoMaterial.jrxml
... ... @@ -70,18 +70,19 @@
70 70 <field name="unidade" class="java.lang.String"/>
71 71 <field name="dataValidade" class="java.lang.String"/>
72 72 <field name="endereco" class="java.lang.String"/>
73   - <field name="qtdeSolicitada" class="java.lang.Integer"/>
74   - <field name="qtdeFornecida" class="java.lang.Integer"/>
  73 + <field name="qtdeSolicitadaStr" class="java.lang.String"/>
  74 + <field name="qtdeFornecidaStr" class="java.lang.String"/>
75 75 <field name="valorTotal" class="java.lang.String"/>
76 76 <field name="valorUnitario" class="java.lang.String"/>
77 77 </subDataset>
78 78 <subDataset name="resumoContabil" uuid="19bcb161-6822-4c00-aef7-cd1b122f60ba">
79 79 <field name="conta" class="java.lang.String"/>
80   - <field name="qtde" class="java.lang.Integer"/>
  80 + <field name="qtde" class="java.math.BigDecimal"/>
81 81 <field name="valorTotal" class="java.math.BigDecimal"/>
82   - <variable name="qtdeTotal" class="java.lang.Integer" incrementType="Report" calculation="Sum">
83   - <variableExpression><![CDATA[$V{qtdeTotal}+$F{qtde}]]></variableExpression>
84   - <initialValueExpression><![CDATA[0]]></initialValueExpression>
  82 + <field name="qtdeStr" class="java.lang.String"/>
  83 + <variable name="qtdeTotal" class="java.math.BigDecimal" incrementType="Report" calculation="Sum">
  84 + <variableExpression><![CDATA[$V{qtdeTotal}.add($F{qtde})]]></variableExpression>
  85 + <initialValueExpression><![CDATA[new BigDecimal(0)]]></initialValueExpression>
85 86 </variable>
86 87 <variable name="total" class="java.math.BigDecimal">
87 88 <variableExpression><![CDATA[$V{total}.add($F{valorTotal})]]></variableExpression>
... ... @@ -283,7 +284,7 @@
283 284 <textElement textAlignment="Center" verticalAlignment="Middle">
284 285 <font size="6"/>
285 286 </textElement>
286   - <textFieldExpression><![CDATA[$F{qtdeSolicitada}]]></textFieldExpression>
  287 + <textFieldExpression><![CDATA[$F{qtdeSolicitadaStr}]]></textFieldExpression>
287 288 </textField>
288 289 </jr:detailCell>
289 290 </jr:column>
... ... @@ -309,7 +310,7 @@
309 310 <textElement textAlignment="Center" verticalAlignment="Middle">
310 311 <font size="6"/>
311 312 </textElement>
312   - <textFieldExpression><![CDATA[$F{qtdeFornecida}]]></textFieldExpression>
  313 + <textFieldExpression><![CDATA[$F{qtdeFornecidaStr}]]></textFieldExpression>
313 314 </textField>
314 315 </jr:detailCell>
315 316 </jr:column>
... ... @@ -385,9 +386,9 @@
385 386 <jr:tableHeader height="30" rowSpan="1">
386 387 <staticText>
387 388 <reportElement x="0" y="0" width="620" height="30" uuid="df40478a-bd91-4c6d-8d00-ebce15910536"/>
388   - <textElement textAlignment="Right" verticalAlignment="Bottom">
  389 + <textElement textAlignment="Right" verticalAlignment="Middle">
389 390 <font size="8" isBold="true"/>
390   - <paragraph rightIndent="50"/>
  391 + <paragraph rightIndent="185"/>
391 392 </textElement>
392 393 <text><![CDATA[Resumo Contábil]]></text>
393 394 </staticText>
... ... @@ -424,7 +425,7 @@
424 425 </jr:column>
425 426 <jr:column width="90" uuid="8cc2e90c-eea0-464a-b96a-b867f0c5951b">
426 427 <jr:tableFooter height="20" rowSpan="1">
427   - <textField isBlankWhenNull="false">
  428 + <textField pattern="###0.00" isBlankWhenNull="false">
428 429 <reportElement x="0" y="0" width="90" height="20" uuid="ce82fcaf-5986-45f6-a460-ff6aa53d7aad"/>
429 430 <textElement textAlignment="Center" verticalAlignment="Middle">
430 431 <font size="7" isBold="true"/>
... ... @@ -449,7 +450,7 @@
449 450 <font size="6"/>
450 451 <paragraph leftIndent="2" rightIndent="2" spacingBefore="2"/>
451 452 </textElement>
452   - <textFieldExpression><![CDATA[$F{qtde}]]></textFieldExpression>
  453 + <textFieldExpression><![CDATA[$F{qtdeStr}]]></textFieldExpression>
453 454 </textField>
454 455 </jr:detailCell>
455 456 </jr:column>
... ...
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/AtendimentoRequisicaoConsumoController.js
... ... @@ -489,7 +489,7 @@ citApp.controller( &#39;AtendimentoRequisicaoConsumoController&#39;,
489 489 $scope.validarQuantidadeAtendidaMaiorQuantidadeRequisitada = function(atendimentoItem){
490 490 atendimentoItem.$somaQtdAtendida = 0;
491 491 atendimentoItem.atendimentoRequisicaoConsumoItemEnderecos.forEach(function(atendimentoItemEndereco){
492   - atendimentoItem.$somaQtdAtendida += parseFloat(atendimentoItemEndereco.quantidade);
  492 + atendimentoItem.$somaQtdAtendida += atendimentoItemEndereco.quantidade ? parseFloat(atendimentoItemEndereco.quantidade) : 0;
493 493 });
494 494  
495 495 if(atendimentoItem.$somaQtdAtendida > atendimentoItem.requisicaoConsumoItem.quantidade){
... ...
cit-almoxarifado-web/src/main/webapp/html/atendimentoRequisicaoConsumo/dialog_atendimento_item_enderecos.html
... ... @@ -65,7 +65,7 @@
65 65 </tr>
66 66 </thead>
67 67 <tbody ng-repeat="atendimentoRequisicaoConsumoItemEndereco in listaEnderecosAdicionados">
68   - <tr ng-class="atendimentoRequisicaoConsumoItemEndereco.$hasError || atendimentoRequisicaoConsumoItemEndereco.$hasErrorQtdAtendidaMaiorQtdRequisitada ? 'danger' : ''"
  68 + <tr ng-class="atendimentoRequisicaoConsumoItemEndereco.$hasError || atendimentoItemEmEdicao.$hasErrorQtdAtendidaMaiorQtdRequisitada ? 'danger' : ''"
69 69 tooltip="{{atendimentoItemEmEdicao.$hasErrorQtdAtendidaMaiorQtdRequisitada ? $translate.instant('ALMOXARIFADO.VALIDACAO.QUANTIDADE_ATENDIDA_MAIOR_REQUISITADA') : (atendimentoRequisicaoConsumoItemEndereco.$hasError ? $translate.instant('ALMOXARIFADO.VALIDACAO.SOMA_ITENS_ATENDER_MAIOR_ESTOQUE_TOOLTIP') : '')}}">
70 70 <td class="text-center"><input type="checkbox" ng-checked="atendimentoRequisicaoConsumoItemEndereco.$checkedChBox" ng-model="atendimentoRequisicaoConsumoItemEndereco.$checkedChBox" /></td>
71 71 <td class="text-center">{{atendimentoRequisicaoConsumoItemEndereco.materialLocalEstoque.endereco.descricao}}</td>
... ...