PageRenderTime 29ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/freedom/src/org/freedom/modulos/rep/RPProduto.java

http://freedom-erp.googlecode.com/
Java | 222 lines | 121 code | 68 blank | 33 comment | 2 complexity | 4653446a0639814649b5244f8ff0d803 MD5 | raw file
  1. /**
  2. * @version 02/2007 <BR>
  3. * @author Setpoint Inform?tica Ltda.<BR>
  4. * @author Alex Rodrigues<BR>
  5. *
  6. * Projeto: Freedom <BR>
  7. *
  8. * Pacote: org.freedom.modulos.rep <BR>
  9. * Classe:
  10. * @(#)RPProduto.java <BR>
  11. *
  12. * Este arquivo ? parte do sistema Freedom-ERP, o Freedom-ERP ? um software livre; voc? pode redistribui-lo e/ou <BR>
  13. * modifica-lo dentro dos termos da Licen?a P?blica Geral GNU como publicada pela Funda??o do Software Livre (FSF); <BR>
  14. * na vers?o 2 da Licen?a, ou (na sua opni?o) qualquer vers?o. <BR>
  15. * Este programa ? distribuido na esperan?a que possa ser util, mas SEM NENHUMA GARANTIA; <BR>
  16. * sem uma garantia implicita de ADEQUA??O a qualquer MERCADO ou APLICA??O EM PARTICULAR. <BR>
  17. * Veja a Licen?a P?blica Geral GNU para maiores detalhes. <BR>
  18. * Voc? deve ter recebido uma c?pia da Licen?a P?blica Geral GNU junto com este programa, se n?o, <BR>
  19. * de acordo com os termos da LPG-PC <BR>
  20. * <BR>
  21. *
  22. * Tela para cadastro de produtos.
  23. *
  24. */
  25. package org.freedom.modulos.rep;
  26. import java.awt.event.ActionListener;
  27. import org.freedom.infra.model.jdbc.DbConnection;
  28. import java.util.ArrayList;
  29. import java.util.List;
  30. import org.freedom.acao.InsertEvent;
  31. import org.freedom.acao.InsertListener;
  32. import org.freedom.library.persistence.GuardaCampo;
  33. import org.freedom.library.persistence.ListaCampos;
  34. import org.freedom.library.swing.component.JTextFieldFK;
  35. import org.freedom.library.swing.component.JTextFieldPad;
  36. import org.freedom.library.swing.frame.Aplicativo;
  37. import org.freedom.library.swing.frame.FDados;
  38. import org.freedom.modulos.rep.RPPrefereGeral.EPrefere;
  39. public class RPProduto extends FDados implements ActionListener, InsertListener {
  40. private static final long serialVersionUID = 1L;
  41. private final JTextFieldPad txtCodProd = new JTextFieldPad( JTextFieldPad.TP_INTEGER, 10, 0 );
  42. private final JTextFieldPad txtRefProd = new JTextFieldPad( JTextFieldPad.TP_STRING, 13, 0 );
  43. private final JTextFieldPad txtDescProd = new JTextFieldPad( JTextFieldPad.TP_STRING, 50, 0 );
  44. private final JTextFieldPad txtCodBarra = new JTextFieldPad( JTextFieldPad.TP_STRING, 13, 0 );
  45. private final JTextFieldPad txtCodGrupo = new JTextFieldPad( JTextFieldPad.TP_STRING, 14, 0 );
  46. private final JTextFieldPad txtCodUnid = new JTextFieldPad( JTextFieldPad.TP_STRING, 8, 0 );
  47. private final JTextFieldPad txtCodFor = new JTextFieldPad( JTextFieldPad.TP_INTEGER, 10, 0 );
  48. private final JTextFieldPad txtRefProdFor = new JTextFieldPad( JTextFieldPad.TP_STRING, 13, 0 );
  49. private final JTextFieldPad txtPesoLiq = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 10, Aplicativo.casasDec );
  50. private final JTextFieldPad txtSaldoProd = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 10, Aplicativo.casasDec );
  51. private final JTextFieldPad txtPesoBruto = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 10, Aplicativo.casasDec );
  52. private final JTextFieldPad txtEmbalagem = new JTextFieldPad( JTextFieldPad.TP_STRING, 20, 0 );
  53. private final JTextFieldPad txtPercIPI = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 6, Aplicativo.casasDec );
  54. private final JTextFieldPad txtComiss = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 6, Aplicativo.casasDec );
  55. private final JTextFieldPad txtCubagem = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 12, 5 );
  56. private final JTextFieldFK txtDescGrupo = new JTextFieldFK( JTextFieldPad.TP_STRING, 50, 0 );
  57. private final JTextFieldPad txtSgGrupo = new JTextFieldPad( JTextFieldPad.TP_STRING, 10, 0 );
  58. private final JTextFieldFK txtDescUnid = new JTextFieldFK( JTextFieldPad.TP_STRING, 50, 0 );
  59. private final JTextFieldFK txtRazFor = new JTextFieldFK( JTextFieldPad.TP_STRING, 60, 0 );
  60. private final JTextFieldPad txtPreco1 = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 15, Aplicativo.casasDecFin );
  61. private final JTextFieldPad txtPreco2 = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 15, Aplicativo.casasDecFin );
  62. private final JTextFieldPad txtPreco3 = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 15, Aplicativo.casasDecFin );
  63. private final JTextFieldPad txtPreco4 = new JTextFieldPad( JTextFieldPad.TP_DECIMAL, 15, Aplicativo.casasDecFin );
  64. private final ListaCampos lcGrupo = new ListaCampos( this, "GP" );
  65. private final ListaCampos lcUnidade = new ListaCampos( this, "UD" );
  66. private final ListaCampos lcFornecedor = new ListaCampos( this, "FO" );
  67. private List<Object> prefere = new ArrayList<Object>();
  68. public RPProduto() {
  69. super( false );
  70. setTitulo( "Cadastro de produtos" );
  71. setAtribos( 50, 50, 500, 420 );
  72. montaListaCampos();
  73. montaTela();
  74. setListaCampos( true, "PRODUTO", "RP" );
  75. lcGrupo.addInsertListener( this );
  76. lcUnidade.addInsertListener( this );
  77. lcCampos.addInsertListener( this );
  78. }
  79. private void montaListaCampos() {
  80. /*******************
  81. * GRUPO *
  82. *******************/
  83. lcGrupo.add( new GuardaCampo( txtCodGrupo, "CodGrup", "C?d.grupo", ListaCampos.DB_PK, true ) );
  84. lcGrupo.add( new GuardaCampo( txtDescGrupo, "DescGrup", "Descri??o do grupo", ListaCampos.DB_SI, false ) );
  85. lcGrupo.add( new GuardaCampo( txtSgGrupo, "SiglaGrup", "Sigla", ListaCampos.DB_SI, false ) );
  86. lcGrupo.montaSql( false, "GRUPO", "RP" );
  87. lcGrupo.setQueryCommit( false );
  88. lcGrupo.setReadOnly( true );
  89. txtCodGrupo.setTabelaExterna( lcGrupo, null );
  90. /*******************
  91. * UNIDADE *
  92. *******************/
  93. lcUnidade.add( new GuardaCampo( txtCodUnid, "CodUnid", "C?d.unid.", ListaCampos.DB_PK, true ) );
  94. lcUnidade.add( new GuardaCampo( txtDescUnid, "DescUnid", "Descri??o da unidade", ListaCampos.DB_SI, false ) );
  95. lcUnidade.montaSql( false, "UNIDADE", "RP" );
  96. lcUnidade.setQueryCommit( false );
  97. lcUnidade.setReadOnly( true );
  98. txtCodUnid.setTabelaExterna( lcUnidade, null );
  99. /*******************
  100. * FORNECEDOR *
  101. *******************/
  102. lcFornecedor.add( new GuardaCampo( txtCodFor, "CodFor", "C?d.for.", ListaCampos.DB_PK, true ) );
  103. lcFornecedor.add( new GuardaCampo( txtRazFor, "RazFor", "Raz?o social do fornecedor", ListaCampos.DB_SI, false ) );
  104. lcFornecedor.montaSql( false, "FORNECEDOR", "RP" );
  105. lcFornecedor.setQueryCommit( false );
  106. lcFornecedor.setReadOnly( true );
  107. txtCodFor.setTabelaExterna( lcFornecedor, null );
  108. }
  109. private void montaTela() {
  110. adicCampo( txtCodProd, 7, 30, 100, 20, "CodProd", "C?d.prod.", ListaCampos.DB_PK, true );
  111. adicCampo( txtRefProd, 110, 30, 100, 20, "RefProd", "Ref?rencia", ListaCampos.DB_SI, true );
  112. adicCampo( txtDescProd, 213, 30, 260, 20, "DescProd", "Descri??o do produto", ListaCampos.DB_SI, true );
  113. adicCampo( txtCodBarra, 7, 70, 100, 20, "CodBarProd", "C?d.barras", ListaCampos.DB_SI, false );
  114. adicCampo( txtPesoLiq, 110, 70, 100, 20, "PesoLiqProd", "Peso liq.", ListaCampos.DB_SI, false );
  115. adicCampo( txtPesoBruto, 213, 70, 100, 20, "PesoBrutProd", "Peso bruto", ListaCampos.DB_SI, false );
  116. adicCampo( txtEmbalagem, 316, 70, 157, 20, "EmbalaProd", "Embalagem", ListaCampos.DB_SI, false );
  117. adicCampo( txtPreco1, 7, 110, 100, 20, "PrecoProd1", "Pre?o 1", ListaCampos.DB_SI, false );
  118. adicCampo( txtPreco2, 110, 110, 100, 20, "PrecoProd2", "Pre?o 2", ListaCampos.DB_SI, false );
  119. adicCampo( txtPreco3, 213, 110, 100, 20, "PrecoProd3", "Pre?o 3", ListaCampos.DB_SI, false );
  120. adicCampo( txtPreco4, 316, 110, 157, 20, "PrecoCusto", "Pre?o 4", ListaCampos.DB_SI, false );
  121. adicCampo( txtPercIPI, 7, 150, 100, 20, "PercIPIProd", "% IPI", ListaCampos.DB_SI, false );
  122. adicCampo( txtComiss, 110, 150, 100, 20, "ComisProd", "% Comiss?o", ListaCampos.DB_SI, false );
  123. adicCampo( txtCubagem, 213, 150, 100, 20, "CubagemProd", "Cubagem", ListaCampos.DB_SI, false );
  124. adicCampo( txtSaldoProd, 316, 150, 100, 20, "SaldoProd", "Saldo", ListaCampos.DB_SI, false );
  125. adicCampo( txtCodGrupo, 7, 190, 100, 20, "CodGrup", "C?d.grupo", ListaCampos.DB_FK, txtDescGrupo, true );
  126. adicDescFK( txtDescGrupo, 110, 190, 363, 20, "DescGrupo", "Descri??o do grupo" );
  127. adicCampo( txtCodUnid, 7, 230, 100, 20, "CodUnid", "C?d.unidade", ListaCampos.DB_FK, txtDescUnid, true );
  128. adicDescFK( txtDescUnid, 110, 230, 363, 20, "DescUnid", "Descri??o da unidade" );
  129. adicCampo( txtCodFor, 7, 270, 100, 20, "CodFor", "C?d.for.", ListaCampos.DB_FK, txtRazFor, false );
  130. adicDescFK( txtRazFor, 110, 270, 363, 20, "RazFor", "Raz?o social do fornecedor" );
  131. adicCampo( txtRefProdFor, 7, 310, 203, 20, "RefProdFor", "Ref?rencia no fornecedor", ListaCampos.DB_SI, false );
  132. }
  133. public void setConexao( DbConnection cn ) {
  134. super.setConexao( cn );
  135. lcGrupo.setConexao( cn );
  136. lcUnidade.setConexao( cn );
  137. lcFornecedor.setConexao( cn );
  138. prefere = RPPrefereGeral.getPrefere( cn );
  139. txtCodGrupo.setVlrString( (String) prefere.get( EPrefere.CODGRUPO.ordinal() ) );
  140. lcGrupo.carregaDados();
  141. txtCodUnid.setVlrString( (String) prefere.get( EPrefere.CODUNID.ordinal() ) );
  142. lcUnidade.carregaDados();
  143. }
  144. public void afterInsert( InsertEvent ievt ) {
  145. if ( ievt.getListaCampos() == lcCampos ) {
  146. txtCodGrupo.setVlrString( (String) prefere.get( EPrefere.CODGRUPO.ordinal() ) );
  147. lcGrupo.carregaDados();
  148. txtCodUnid.setVlrString( (String) prefere.get( EPrefere.CODUNID.ordinal() ) );
  149. lcUnidade.carregaDados();
  150. }
  151. }
  152. public void beforeInsert( InsertEvent ievt ) {
  153. }
  154. }