Subversion Repositories Integrator Subversion

Rev

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
}