Rev 323 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 323 | Rev 325 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | package br.com.ec.domain.service.impl; |
1 | package br.com.ec.domain.service.impl; |
| 2 | 2 | ||
| - | 3 | import java.io.ByteArrayOutputStream; |
|
| 3 | import java.util.List; |
4 | import java.util.List; |
| 4 | 5 | ||
| - | 6 | import javax.servlet.ServletContext; |
|
| - | 7 | ||
| - | 8 | import org.apache.poi.openxml4j.opc.OPCPackage; |
|
| - | 9 | import org.apache.poi.xwpf.usermodel.XWPFDocument; |
|
| - | 10 | import org.apache.poi.xwpf.usermodel.XWPFParagraph; |
|
| - | 11 | import org.apache.poi.xwpf.usermodel.XWPFRun; |
|
| - | 12 | import org.apache.poi.xwpf.usermodel.XWPFTable; |
|
| - | 13 | import org.apache.poi.xwpf.usermodel.XWPFTableCell; |
|
| - | 14 | import org.apache.poi.xwpf.usermodel.XWPFTableRow; |
|
| 5 | import org.primefaces.event.FlowEvent; |
15 | import org.primefaces.event.FlowEvent; |
| 6 | import org.springframework.beans.factory.annotation.Autowired; |
16 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | import org.springframework.stereotype.Service; |
17 | import org.springframework.stereotype.Service; |
| 8 | 18 | ||
| 9 | import br.com.ec.core.exception.NegocioException; |
19 | import br.com.ec.core.exception.NegocioException; |
| Line 15... | Line 25... | ||
| 15 | import br.com.ec.domain.dto.PessoaDTO; |
25 | import br.com.ec.domain.dto.PessoaDTO; |
| 16 | import br.com.ec.domain.model.Endereco; |
26 | import br.com.ec.domain.model.Endereco; |
| 17 | import br.com.ec.domain.model.Funcionario; |
27 | import br.com.ec.domain.model.Funcionario; |
| 18 | import br.com.ec.domain.model.Pessoa; |
28 | import br.com.ec.domain.model.Pessoa; |
| 19 | import br.com.ec.domain.model.tipos.TipoComissionamento; |
29 | import br.com.ec.domain.model.tipos.TipoComissionamento; |
| - | 30 | import br.com.ec.domain.model.tipos.TipoDependentes; |
|
| - | 31 | import br.com.ec.domain.model.tipos.TipoEscolaridade; |
|
| - | 32 | import br.com.ec.domain.model.tipos.TipoEstadoCivil; |
|
| - | 33 | import br.com.ec.domain.model.tipos.TipoRacaCor; |
|
| - | 34 | import br.com.ec.domain.model.tipos.TipoSexo; |
|
| 20 | import br.com.ec.domain.service.FuncionarioService; |
35 | import br.com.ec.domain.service.FuncionarioService; |
| 21 | import br.com.ec.domain.service.PessoaService; |
36 | import br.com.ec.domain.service.PessoaService; |
| 22 | import br.com.ec.repository.PessoaRepository; |
37 | import br.com.ec.repository.PessoaRepository; |
| 23 | 38 | ||
| 24 | @Service |
39 | @Service |
| Line 99... | Line 114... | ||
| 99 | 114 | ||
| 100 | @Override |
115 | @Override |
| 101 | public Pessoa detalharPessoa(Long sequencialPessoa) { |
116 | public Pessoa detalharPessoa(Long sequencialPessoa) { |
| 102 | return pessoaRepository.detalharPessoa(sequencialPessoa); |
117 | return pessoaRepository.detalharPessoa(sequencialPessoa); |
| 103 | }
|
118 | }
|
| 104 | /*
|
- | |
| 105 |
|
119 | |
| 106 | @Override
|
120 | @Override |
| 107 | public List<Pessoa> consultarPessoasJuridicas() {
|
- | |
| 108 | return pessoaRepository.consultarPessoasJuridicas();
|
- | |
| 109 | }
|
- | |
| 110 |
|
- | |
| 111 | @Override
|
- | |
| 112 | public byte[] emitirFichaColaboradorEsocial(ServletContext contexto, Pessoa pessoa) {
|
- | |
| - | 121 | public byte[] emitirFichaColaboradorEsocial(ServletContext contexto, Long sequencialPessoa) { |
|
| - | 122 | Pessoa pessoa = pessoaRepository.detalharPessoa(sequencialPessoa); |
|
| 113 | return replaceTextosArquivos("/arquivos/modelos/modelo_formulario_esocial.doc", contexto, pessoa);
|
123 | return replaceTextosArquivos("/arquivos/modelos/modelo_formulario_esocial.doc", contexto, pessoa); |
| 114 | }
|
124 | }
|
| 115 |
|
125 | |
| 116 | @Override
|
126 | @Override |
| 117 | public byte[] emitirTermoAdmissional(ServletContext contexto, Pessoa pessoa) {
|
- | |
| - | 127 | public byte[] emitirSolicitacaoExameAdmissional(ServletContext contexto, Long sequencialPessoa) { |
|
| - | 128 | Pessoa pessoa = pessoaRepository.detalharPessoa(sequencialPessoa); |
|
| 118 | return replaceTextosArquivos("/arquivos/modelos/modelo_exame_admissional.docx", contexto, pessoa);
|
129 | return replaceTextosArquivos("/arquivos/modelos/modelo_exame_admissional.docx", contexto, pessoa); |
| 119 | }
|
130 | }
|
| 120 |
|
131 | |
| 121 | @Override
|
132 | @Override |
| 122 | public byte[] emitirTermoDemissional(ServletContext contexto, Pessoa pessoa) {
|
- | |
| - | 133 | public byte[] emitirSolicitacaoExameDemissional(ServletContext contexto, Long sequencialPessoa) { |
|
| - | 134 | Pessoa pessoa = pessoaRepository.detalharPessoa(sequencialPessoa); |
|
| 123 | return replaceTextosArquivos("/arquivos/modelos/modelo_exame_demissional.docx", contexto, pessoa);
|
135 | return replaceTextosArquivos("/arquivos/modelos/modelo_exame_demissional.docx", contexto, pessoa); |
| - | 136 | }
|
|
| - | 137 | ||
| - | 138 | @Override |
|
| - | 139 | public byte[] emitirSolicitacaoExamePeriodico(ServletContext contexto, Long sequencialPessoa) { |
|
| - | 140 | Pessoa pessoa = pessoaRepository.detalharPessoa(sequencialPessoa); |
|
| - | 141 | return replaceTextosArquivos("/arquivos/modelos/modelo_exame_periodico.docx", contexto, pessoa); |
|
| - | 142 | }
|
|
| - | 143 | ||
| - | 144 | @Override |
|
| - | 145 | public byte[] emitirSolicitacaoAberturaContaBancaria(ServletContext contexto, Long sequencialPessoa) { |
|
| - | 146 | Pessoa pessoa = pessoaRepository.detalharPessoa(sequencialPessoa); |
|
| - | 147 | return replaceTextosArquivos("/arquivos/modelos/modelo_abertura_conta.docx", contexto, pessoa); |
|
| - | 148 | }
|
|
| - | 149 | ||
| - | 150 | @Override |
|
| - | 151 | public byte[] emitirAdesaoValeTransporte(ServletContext contexto, Long sequencialPessoa) { |
|
| - | 152 | Pessoa pessoa = pessoaRepository.detalharPessoa(sequencialPessoa); |
|
| - | 153 | return replaceTextosArquivos("/arquivos/modelos/modelo_adesao_vale_transporte.docx", contexto, pessoa); |
|
| 124 | }
|
154 | }
|
| 125 |
|
155 | |
| 126 | @SuppressWarnings("resource")
|
156 | @SuppressWarnings("resource") |
| 127 | private byte[] replaceTextosArquivos(String caminhoArquivo, ServletContext contexto, Pessoa pessoa) {
|
157 | private byte[] replaceTextosArquivos(String caminhoArquivo, ServletContext contexto, Pessoa pessoa) { |
| 128 | ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
158 | ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
| 129 | XWPFDocument doc;
|
159 | XWPFDocument doc;
|
| 130 | try {
|
160 | try { |
| 131 | Funcionario funcionario = funcionarioService.consultarFuncionarioPorPessoa(pessoa);
|
- | |
| - | 161 | Funcionario funcionario = funcionarioService.consultarFuncionarioPelaPessoa(pessoa.getSequencial()); |
|
| 132 | doc = new XWPFDocument(OPCPackage.open(contexto.getResourceAsStream(caminhoArquivo)));
|
162 | doc = new XWPFDocument(OPCPackage.open(contexto.getResourceAsStream(caminhoArquivo))); |
| 133 | for (XWPFParagraph paragrafo : doc.getParagraphs()) {
|
163 | for (XWPFParagraph paragrafo : doc.getParagraphs()) { |
| 134 | replaceParagrafo(pessoa, funcionario, paragrafo);
|
164 | replaceParagrafo(pessoa, funcionario, paragrafo); |
| 135 | }
|
165 | }
|
| 136 | for (XWPFTable tbl : doc.getTables()) {
|
166 | for (XWPFTable tbl : doc.getTables()) { |
| Line 184... | Line 214... | ||
| 184 | texto = replaceTexto(texto, "#NASCIMENTO_DATA", pessoa.getDataNascimentoFormatada());
|
214 | texto = replaceTexto(texto, "#NASCIMENTO_DATA", pessoa.getDataNascimentoFormatada()); |
| 185 | texto = replaceTexto(texto, "#NASCIMENTO_LOCAL", pessoa.getLocalNascimento());
|
215 | texto = replaceTexto(texto, "#NASCIMENTO_LOCAL", pessoa.getLocalNascimento()); |
| 186 | texto = replaceTexto(texto, "#NASCIMENTO_UF", pessoa.getUfNascimento());
|
216 | texto = replaceTexto(texto, "#NASCIMENTO_UF", pessoa.getUfNascimento()); |
| 187 | texto = replaceTexto(texto, "#EMAIL", pessoa.getEmail());
|
217 | texto = replaceTexto(texto, "#EMAIL", pessoa.getEmail()); |
| 188 | texto = replaceTexto(texto, "#TELEFONE", pessoa.getTelefone());
|
218 | texto = replaceTexto(texto, "#TELEFONE", pessoa.getTelefone()); |
| - | 219 | ||
| - | 220 | texto = replaceTexto(texto, "#DEFICIENCIA_MOTORA_SIM", VerificadorUtil.naoEstaNulo(pessoa.getPessoaDeficienteMotora())? pessoa.getPessoaDeficienteMotora()? "X" : " " : " "); |
|
| - | 221 | texto = replaceTexto(texto, "#DEFICIENCIA_MOTORA_NAO", VerificadorUtil.naoEstaNulo(pessoa.getPessoaDeficienteMotora())? !pessoa.getPessoaDeficienteMotora()? "X" : " " : " "); |
|
| - | 222 | ||
| - | 223 | texto = replaceTexto(texto, "#DEFICIENCIA_VISUAL_SIM", VerificadorUtil.naoEstaNulo(pessoa.getPessoaDeficienteMotora())? pessoa.getPessoaDeficienteVisual()? "X" : " " : " "); |
|
| - | 224 | texto = replaceTexto(texto, "#DEFICIENCIA_VISUAL_NAO", VerificadorUtil.naoEstaNulo(pessoa.getPessoaDeficienteMotora())? !pessoa.getPessoaDeficienteVisual()? "X" : " " : " "); |
|
| - | 225 | ||
| - | 226 | texto = replaceTexto(texto, "#DEFICIENCIA_AUDITIVA_SIM", VerificadorUtil.naoEstaNulo(pessoa.getPessoaDeficienteMotora())? pessoa.getPessoaDeficienteAuditiva()? "X" : " " : " "); |
|
| - | 227 | texto = replaceTexto(texto, "#DEFICIENCIA_AUDITIVA_NAO", VerificadorUtil.naoEstaNulo(pessoa.getPessoaDeficienteMotora())? !pessoa.getPessoaDeficienteAuditiva()? "X" : " " : " "); |
|
| - | 228 | ||
| - | 229 | texto = replaceTexto(texto, "#REABILITADO_SIM", VerificadorUtil.naoEstaNulo(pessoa.getPessoaDeficienteMotora())? pessoa.getPessoaReabilitado()? "X" : " " : " "); |
|
| - | 230 | texto = replaceTexto(texto, "#REABILITADO_NAO", VerificadorUtil.naoEstaNulo(pessoa.getPessoaDeficienteMotora())? !pessoa.getPessoaReabilitado()? "X" : " " : " "); |
|
| - | 231 | ||
| - | 232 | texto = replaceTexto(texto, "#DEFICIENCIA_OBSERVACOES", pessoa.getPessoaDeficienteObservacao()); |
|
| - | 233 | ||
| - | 234 | for (TipoDependentes tipoDependente : TipoDependentes.values()) { |
|
| - | 235 | texto = replaceTexto(texto, "#TIPO_DEPENDENTE[" + tipoDependente.getValor() + "]", VerificadorUtil.naoEstaNulo(pessoa.getTipoEstadoCivil())? |
|
| - | 236 | pessoa.getTipoEstadoCivil().equals(tipoDependente.getValor())? "X" : " " : " "); |
|
| - | 237 | }
|
|
| - | 238 | ||
| - | 239 | texto = replaceTexto(texto, "#DEPENDENTES_DADOS", pessoa.getDadosDependentes()); |
|
| - | 240 | ||
| - | 241 | texto = replaceTexto(texto, "#DEPENDENTES_IRRF_SIM", VerificadorUtil.naoEstaNulo(pessoa.getDependentesFinsIRRF())? pessoa.getDependentesFinsIRRF()? "X" : " " : " "); |
|
| - | 242 | texto = replaceTexto(texto, "#DEPENDENTES_IRRF_NAO", VerificadorUtil.naoEstaNulo(pessoa.getDependentesFinsIRRF())? !pessoa.getDependentesFinsIRRF()? "X" : " " : " "); |
|
| - | 243 | ||
| - | 244 | texto = replaceTexto(texto, "#DEPENDENTES_SAL_FAMILIA_SIM", VerificadorUtil.naoEstaNulo(pessoa.getDependentesFinsSalarioFamilia())? pessoa.getDependentesFinsSalarioFamilia()? "X" : " " : " "); |
|
| - | 245 | texto = replaceTexto(texto, "#DEPENDENTES_SAL_FAMILIA_NAO", VerificadorUtil.naoEstaNulo(pessoa.getDependentesFinsSalarioFamilia())? !pessoa.getDependentesFinsSalarioFamilia()? "X" : " " : " "); |
|
| 189 |
|
246 | |
| 190 | for (TipoEstadoCivil estadoCivil : TipoEstadoCivil.values()) {
|
247 | for (TipoEstadoCivil estadoCivil : TipoEstadoCivil.values()) { |
| 191 | texto = replaceTexto(texto, "#ESTADOCIVIL[" + estadoCivil.getValor() + "]", VerificadorUtil.naoEstaNulo(pessoa.getTipoEstadoCivil())?
|
248 | texto = replaceTexto(texto, "#ESTADOCIVIL[" + estadoCivil.getValor() + "]", VerificadorUtil.naoEstaNulo(pessoa.getTipoEstadoCivil())? |
| 192 | pessoa.getTipoEstadoCivil().equals(estadoCivil.getValor())? "X" : " " : " ");
|
249 | pessoa.getTipoEstadoCivil().equals(estadoCivil.getValor())? "X" : " " : " "); |
| 193 | }
|
250 | }
|
| Line 228... | Line 285... | ||
| 228 | if (VerificadorUtil.naoEstaNulo(funcionario)) {
|
285 | if (VerificadorUtil.naoEstaNulo(funcionario)) { |
| 229 | texto = replaceTexto(texto, "#PIS", funcionario.getPis());
|
286 | texto = replaceTexto(texto, "#PIS", funcionario.getPis()); |
| 230 | texto = replaceTexto(texto, "#CTPS_NUMERO", funcionario.getCtps());
|
287 | texto = replaceTexto(texto, "#CTPS_NUMERO", funcionario.getCtps()); |
| 231 | texto = replaceTexto(texto, "#CTPS_SERIE", funcionario.getCtpsSerie());
|
288 | texto = replaceTexto(texto, "#CTPS_SERIE", funcionario.getCtpsSerie()); |
| 232 | texto = replaceTexto(texto, "#CTPS_UF", funcionario.getCtpsUf());
|
289 | texto = replaceTexto(texto, "#CTPS_UF", funcionario.getCtpsUf()); |
| - | 290 | ||
| - | 291 | texto = replaceTexto(texto, "#PRIMEIRO_EMPREGO_SIM", VerificadorUtil.naoEstaNulo(funcionario.getPrimeiroEmprego())? funcionario.getPrimeiroEmprego()? "X" : " " : " "); |
|
| - | 292 | texto = replaceTexto(texto, "#PRIMEIRO_EMPREGO_NAO", VerificadorUtil.naoEstaNulo(funcionario.getPrimeiroEmprego())? !funcionario.getPrimeiroEmprego()? "X" : " " : " "); |
|
| - | 293 | ||
| - | 294 | texto = replaceTexto(texto, "#OPTANTE_FGTS_SIM", VerificadorUtil.naoEstaNulo(funcionario.getOptantePeloFGTS())? funcionario.getOptantePeloFGTS()? "X" : " " : " "); |
|
| - | 295 | texto = replaceTexto(texto, "#OPTANTE_FGTS_NAO", VerificadorUtil.naoEstaNulo(funcionario.getOptantePeloFGTS())? !funcionario.getOptantePeloFGTS()? "X" : " " : " "); |
|
| 233 | }
|
296 | }
|
| 234 | return texto;
|
297 | return texto; |
| 235 | }
|
298 | }
|
| 236 | 299 | ||
| 237 | private String replaceTexto(String texto, String codigo, String campo) {
|
300 | private String replaceTexto(String texto, String codigo, String campo) { |
| Line 241... | Line 304... | ||
| 241 | } else {
|
304 | } else { |
| 242 | return texto.replace(codigo, " ");
|
305 | return texto.replace(codigo, " "); |
| 243 | }
|
306 | }
|
| 244 | }
|
307 | }
|
| 245 | return texto;
|
308 | return texto; |
| - | 309 | }
|
|
| - | 310 | ||
| - | 311 | /*
|
|
| - | 312 | @Override
|
|
| - | 313 | public List<Pessoa> consultarPessoasJuridicas() {
|
|
| - | 314 | return pessoaRepository.consultarPessoasJuridicas();
|
|
| 246 | }
|
315 | }
|
| 247 | */
|
316 | */
|
| 248 | }
|
317 | }
|