Commit 306a6c04fc0847f6ed722f80eae662ecf22b7a5f
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
Showing
7 changed files
with
63 additions
and
53 deletions
Show diff stats
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( 'AtendimentoRequisicaoConsumoController', |
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> | ... | ... |