diff --git a/trunk/SIPRPSoft/lib/cursos.jar b/trunk/SIPRPSoft/lib/cursos.jar index b3615a1d..abe614be 100644 Binary files a/trunk/SIPRPSoft/lib/cursos.jar and b/trunk/SIPRPSoft/lib/cursos.jar differ diff --git a/trunk/SIPRPSoft/lib/evolute.jar b/trunk/SIPRPSoft/lib/evolute.jar index 68a64726..0051e072 100644 Binary files a/trunk/SIPRPSoft/lib/evolute.jar and b/trunk/SIPRPSoft/lib/evolute.jar differ diff --git a/trunk/SIPRPSoft/lib/shst.jar b/trunk/SIPRPSoft/lib/shst.jar index fc7d30c8..bac238ff 100644 Binary files a/trunk/SIPRPSoft/lib/shst.jar and b/trunk/SIPRPSoft/lib/shst.jar differ diff --git a/trunk/SIPRPSoft/src/siprp/cursos/provider/CursosTemplatesProvider.java b/trunk/SIPRPSoft/src/siprp/cursos/provider/CursosTemplatesProvider.java index a5249e81..b87613b3 100644 --- a/trunk/SIPRPSoft/src/siprp/cursos/provider/CursosTemplatesProvider.java +++ b/trunk/SIPRPSoft/src/siprp/cursos/provider/CursosTemplatesProvider.java @@ -1,10 +1,33 @@ package siprp.cursos.provider; +import static com.evolute.utils.strings.UnicodeLatin1Map.atilde; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Locale; + +import javax.swing.JOptionPane; + +import com.evolute.genericpeople.AutorizacaoProviderInterface; import com.evolute.genericpeople.DefaultTemplateProvider; +import com.evolute.genericpeople.PessoaInterface; import com.evolute.genericpeople.TemplateConstants; +import com.evolute.module.cursos.CursosDataProvider; +import com.evolute.module.cursos.CursosLogic; +import com.evolute.module.cursos.data.CurCursosData; +import com.evolute.module.cursos.data.CurFormandosData; +import com.evolute.swing.frame.EvoFrame; +import com.evolute.utils.Singleton; +import com.evolute.utils.error.ErrorLogger; +import com.evolute.utils.tables.ColumnizedObjectArray; +import com.evolute.utils.xml.SimpleXMLElement; public class CursosTemplatesProvider extends DefaultTemplateProvider { + private CursosDataProvider cursosProvider = CursosDataProvider.getProvider(); + public CursosTemplatesProvider() { setTemplate( TemplateConstants.SUMARIOS, "com/evolute/module/cursos/templates/sumarios.xsl" ); @@ -19,4 +42,126 @@ public class CursosTemplatesProvider extends DefaultTemplateProvider setTemplate( TemplateConstants.INSCRICAO_REJEITADA, "com/evolute/module/cursos/templates/inscricao_rejeitada.xsl" ); setTemplate( TemplateConstants.CONFIRMAR_INSCRICAO, "com/evolute/module/cursos/templates/confirmar_inscricao.xsl" ); } + + @Override + public SimpleXMLElement getXMLForImpressaoFormador( boolean visualizar, CurCursosData curso, EvoFrame parent, List< ColumnizedObjectArray > formadores ) + throws Exception + { + return super.getXMLForImpressaoFormador( visualizar, curso, parent, formadores ); + } + + @Override + public SimpleXMLElement getXMLForImpressaoFormando( boolean visualizar, CurCursosData curso, EvoFrame parent, List< ColumnizedObjectArray > formandos ) + throws Exception + { + SimpleXMLElement xml = null; + if( formandos != null && !formandos.isEmpty() ) + { + CurFormandosData formando = cursosProvider.getFormandoByID( formandos.get( 0 ).getID() ); + PessoaInterface pessoa = cursosProvider.getPessoaFromFormando( formando ); + + Integer numero = super.getNumeroCertificado( formando.getId(), curso.getId() ); + if( numero == null ) + { + return null; + } + String numCertificado = numero.toString(); + Calendar cal = Calendar.getInstance(); + String year = "" + cal.get( Calendar.YEAR ); + year = year.substring( 2, year.length() ); + numCertificado += "/" + year; + + String nomePessoa = super.getNomePessoa( pessoa ); + if( nomePessoa == null ) + { + JOptionPane.showMessageDialog( parent, "O nome do formando tem de estar preenchido!", "Erro", JOptionPane.ERROR_MESSAGE, null ); + return null; + } + + String sexo = pessoa.getSexo(); + if( sexo == null ) + { + JOptionPane.showMessageDialog( parent, "O formador tem de ter o campo sexo preenchido", "Erro", JOptionPane.ERROR_MESSAGE, null); + return null; + } + + String profissao = super.getProfissao( pessoa ); + if( profissao == null ) + { + JOptionPane.showMessageDialog( parent, "A profiss" + atilde + "o do formando tem de estar preenchida!", "Erro", JOptionPane.ERROR_MESSAGE, null ); + return null; + } + + String naturalidade = super.getNaturalDe( pessoa ); + if( naturalidade == null ) + { + JOptionPane.showMessageDialog( parent, "A naturalidade do formando tem de estar preenchida!", "Erro", JOptionPane.ERROR_MESSAGE, null ); + return null; + } + + String dataNascimento = super.getDataNascimento( pessoa ); + if( dataNascimento == null ) + { + JOptionPane.showMessageDialog( parent, "A data de nascimento do formando tem de estar preenchida", "Erro", JOptionPane.ERROR_MESSAGE, null); + return null; + } + + String nacionalidade = super.getNacionalidade( pessoa ); + if( nacionalidade == null ) + { + JOptionPane.showMessageDialog( parent, "A nacionalidade do formando tem de estar preenchida", "Erro", JOptionPane.ERROR_MESSAGE, null); + return null; + } + + String bi_numero = pessoa.getBINumero() == null || "".equals( pessoa.getBINumero().trim() ) ? "" : "portadora do Bilhete de Identidade nº " + pessoa.getBINumero() + ", "; + String bi_emissao = pessoa.getBIArquivo() == null || "".equals( pessoa.getBIArquivo().trim() ) ? "" : " emitido em " + pessoa.getBIArquivo() + ", "; + String bi_data_emissao = pessoa.getBIData() == null ? "" : "em " + DefaultTemplateProvider.D_F.format( pessoa.getBIData() ) + ", "; + + + xml = new SimpleXMLElement( CERTIFICADO_FORMANDO_XML_NAME ); + xml.addElement( new SimpleXMLElement( "numero_certificado", numCertificado ) ); + xml.addElement( new SimpleXMLElement( "signature_filename1", visualizar ? "": AutorizacaoProviderInterface.ASSINATURA1_FILENAME ) ); + + xml.addElement( new SimpleXMLElement( "nome_pessoa", nomePessoa ) ); + xml.addElement( new SimpleXMLElement( "profissao", profissao ) ); + xml.addElement( new SimpleXMLElement( "naturalidade", naturalidade ) ); + xml.addElement( new SimpleXMLElement( "data_nascimento", dataNascimento ) ); + xml.addElement( new SimpleXMLElement( "nacionalidade", nacionalidade ) ); + xml.addElement( new SimpleXMLElement( "sexo", sexo ) ); + xml.addElement( new SimpleXMLElement( "bi_numero", bi_numero ) ); + xml.addElement( new SimpleXMLElement( "bi_emissao", bi_emissao ) ); + xml.addElement( new SimpleXMLElement( "bi_data_emissao", bi_data_emissao ) ); + + //TODO : -certificado + xml.addElement( new SimpleXMLElement( "nome_formadora", "TODO - nome formadora" ) ); + xml.addElement( new SimpleXMLElement( "nome_formadora_e_responsavel", "TODO - nome formadora e responsavel" ) ); + + xml.addElement( new SimpleXMLElement( "nr_livro_registo", "TODO - NUMERO" ) ); + xml.addElement( new SimpleXMLElement( "numero_certificado", numCertificado ) ); + try + { + if( CursosLogic.getInstance().fillDadosCurso( parent, xml, curso, null ) ) + { + Date today = (Date) Singleton.getInstance( Singleton.TODAY ); + SimpleXMLElement dataCorrenteElement = new SimpleXMLElement( "data_corrente", new SimpleDateFormat( "dd' de 'MMMM' de 'yyyy", new Locale( "pt", "PT" ) ).format( today ) ); + xml.addElement( dataCorrenteElement ); + System.out.println( xml ); + } + else + { + xml = null; + } + } + catch( Exception ex ) + { + ErrorLogger.logException( ex ); + } + } + else + { + xml = super.generateXMLTesteFormando( parent, curso ); + } + return xml; + } + } diff --git a/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_empresas.xsl b/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_empresas.xsl index 270909c2..99b3ec3d 100644 --- a/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_empresas.xsl +++ b/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_empresas.xsl @@ -1,7 +1,7 @@ - + diff --git a/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_formador.xsl b/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_formador.xsl index 91a64679..15253255 100644 --- a/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_formador.xsl +++ b/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_formador.xsl @@ -1,7 +1,7 @@ - + @@ -15,6 +15,7 @@ + @@ -22,95 +23,87 @@       -       -     - Certificado -   + Certificado     A S.I.P.R.P – Sociedade Ibérica de Prevenção de Riscos Profissionais Unipessoal, Lda ( localizada no Atrium do Saldanha – Praça Duque de Saldanha, 1 – 9ºG, Lisboa ), certifica que - #Nome# - , natural de - #naturalidade# - nascida a - #data nascimento# - , com a nacionalidade - #nacionalidade# - de sexo - #sexo# - , portadora do Bilhete de Identidade nº - #numerobi# - , emitido em - #emissaobi# - em - #dataemissaobi# - , ministrou uma acção de formação no dia - #datacurso# - , com duração total de - #tempocurso# - , relativa à - #curso# -   + , + + + + de sexo , + + + + ministrou uma acção de formação no dia , + com duração total de , + relativa a     - #data# -   +             - -   - #nome# -   -   -   -   -   -   -   - #nome# -   - - - Responsável de Formação -   -   -   -   -   - Director -   - -   -   + + + + + + + + + + + + + + Responsável de Formação + + + Director + + + +           - -   - #nome# -   - - -   - Formadora -   -     + + + + + + + + +   + + + + + Formadora + + +   + + + +       @@ -120,8 +113,7 @@       - Este certificado está registado no Livro de Registo de Formação nº# sob o nº# -   + Este certificado está registado no Livro de Registo de Formação nº sob o nº diff --git a/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado para formando b/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_formando.xsl similarity index 63% rename from trunk/SIPRPSoft/src/siprp/cursos/templates/certificado para formando rename to trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_formando.xsl index 098a7623..8c265dbd 100644 --- a/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado para formando +++ b/trunk/SIPRPSoft/src/siprp/cursos/templates/certificado_formando.xsl @@ -1,7 +1,7 @@ - + @@ -20,42 +20,25 @@       - Certificado de Frequência de Formação Profissional -   - (de acordo com o Dec. Reg. 35/2002 de 23 de Abril ) -   + Certificado de Frequência de Formação Profissional + (de acordo com o Dec. Reg. 35/2002 de 23 de Abril )     A S.I.P.R.P – Sociedade Ibérica de Prevenção de Riscos Profissionais Unipessoal, Lda ( localizada no Atrium do Saldanha – Praça Duque de Saldanha, 1 – 9ºG, Lisboa ), certifica que - #Nome# - nascida em - #localidade# - a - - #data nascimento# - , com nacionalidade - #nacionalidade# - , de sexo - #sexo# - , portadora do Bilhete de Identidade nº - #numero# - , emitido pelo Arquivo de Identificação de - #localidadebi# - em # - data emissao# - , frequentou no dia - #data curso# - , com a duração total de - #tempo curso# - , o Curso de Formação Profissional de - #curso# -   + + nascida em + a , + com nacionalidade , + de sexo , + + frequentou no dia , + com a duração total de , + o Curso de Formação Profissional de     - #data# -   +       @@ -63,31 +46,27 @@       - -   - #Nome# -   -   -   -   -   -   - #Nome# -   - - -   - Formadora -   -   -   -   - Formadora e Responsável de Formação -   - -   -   -   + + + + + + + + + + + + + + Formadora + + + Formadora e Responsável de Formação + + + +       @@ -106,8 +85,7 @@       - Este certificado está registado no Livro de Registo de Formação nº# sob o nº# -   + Este certificado está registado no Livro de Registo de Formação nº sob o nº