Rev 724 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 724 | Rev 740 | ||
|---|---|---|---|
| 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.ByteArrayInputStream; |
|
| - | 4 | import java.io.ByteArrayOutputStream; |
|
| - | 5 | import java.io.FileNotFoundException; |
|
| - | 6 | import java.io.IOException; |
|
| - | 7 | import java.io.InputStream; |
|
| 3 | import java.util.ArrayList; |
8 | import java.util.ArrayList; |
| - | 9 | import java.util.Iterator; |
|
| 4 | import java.util.List; |
10 | import java.util.List; |
| 5 | 11 | ||
| - | 12 | import javax.faces.context.FacesContext; |
|
| - | 13 | ||
| - | 14 | import org.apache.poi.hssf.usermodel.HSSFSheet; |
|
| - | 15 | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
|
| - | 16 | import org.apache.poi.ss.usermodel.Cell; |
|
| - | 17 | import org.apache.poi.ss.usermodel.Row; |
|
| - | 18 | import org.primefaces.model.DefaultStreamedContent; |
|
| - | 19 | import org.primefaces.model.StreamedContent; |
|
| 6 | import org.springframework.beans.factory.annotation.Autowired; |
20 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | import org.springframework.stereotype.Service; |
21 | import org.springframework.stereotype.Service; |
| 8 | 22 | ||
| 9 | import br.com.ec.core.exception.NegocioException; |
23 | import br.com.ec.core.exception.NegocioException; |
| 10 | import br.com.ec.core.generic.AbstractService; |
24 | import br.com.ec.core.generic.AbstractService; |
| 11 | import br.com.ec.core.generic.GenericRepository; |
25 | import br.com.ec.core.generic.GenericRepository; |
| - | 26 | import br.com.ec.core.util.ArquivoUtil; |
|
| - | 27 | import br.com.ec.core.util.StringUtil; |
|
| 12 | import br.com.ec.core.util.VerificadorUtil; |
28 | import br.com.ec.core.util.VerificadorUtil; |
| 13 | import br.com.ec.core.validador.Validador; |
29 | import br.com.ec.core.validador.Validador; |
| 14 | import br.com.ec.domain.dto.AvaliacaoDTO; |
30 | import br.com.ec.domain.dto.AvaliacaoDTO; |
| 15 | import br.com.ec.domain.dto.AvaliacaoFuncionarioDTO; |
31 | import br.com.ec.domain.dto.AvaliacaoFuncionarioDTO; |
| 16 | import br.com.ec.domain.dto.AvaliacaoLojaDTO; |
32 | import br.com.ec.domain.dto.AvaliacaoLojaDTO; |
| 17 | import br.com.ec.domain.dto.AvaliacaoLojaFuncionarioDTO; |
33 | import br.com.ec.domain.dto.AvaliacaoLojaFuncionarioDTO; |
| - | 34 | import br.com.ec.domain.dto.FolhaPagamentoFuncionarioDTO; |
|
| 18 | import br.com.ec.domain.dto.FuncionarioDTO; |
35 | import br.com.ec.domain.dto.FuncionarioDTO; |
| 19 | import br.com.ec.domain.dto.LojaDTO; |
36 | import br.com.ec.domain.dto.LojaDTO; |
| 20 | import br.com.ec.domain.dto.VigenciaDTO; |
37 | import br.com.ec.domain.dto.VigenciaDTO; |
| 21 | import br.com.ec.domain.model.Avaliacao; |
38 | import br.com.ec.domain.model.Avaliacao; |
| 22 | import br.com.ec.domain.model.AvaliacaoFuncionario; |
39 | import br.com.ec.domain.model.AvaliacaoFuncionario; |
| Line 25... | Line 42... | ||
| 25 | import br.com.ec.domain.model.AvaliacaoProduto; |
42 | import br.com.ec.domain.model.AvaliacaoProduto; |
| 26 | import br.com.ec.domain.model.Funcionario; |
43 | import br.com.ec.domain.model.Funcionario; |
| 27 | import br.com.ec.domain.model.Loja; |
44 | import br.com.ec.domain.model.Loja; |
| 28 | import br.com.ec.domain.model.Produto; |
45 | import br.com.ec.domain.model.Produto; |
| 29 | import br.com.ec.domain.model.Vigencia; |
46 | import br.com.ec.domain.model.Vigencia; |
| - | 47 | import br.com.ec.domain.model.tipos.TipoComissionamento; |
|
| 30 | import br.com.ec.domain.service.AvaliacaoFuncionarioService; |
48 | import br.com.ec.domain.service.AvaliacaoFuncionarioService; |
| 31 | import br.com.ec.domain.service.AvaliacaoLojaService; |
49 | import br.com.ec.domain.service.AvaliacaoLojaService; |
| 32 | import br.com.ec.domain.service.AvaliacaoProdutoService; |
50 | import br.com.ec.domain.service.AvaliacaoProdutoService; |
| 33 | import br.com.ec.domain.service.AvaliacaoService; |
51 | import br.com.ec.domain.service.AvaliacaoService; |
| 34 | import br.com.ec.domain.service.FuncionarioService; |
52 | import br.com.ec.domain.service.FuncionarioService; |
| Line 204... | Line 222... | ||
| 204 | public void removerParticipanteDaAvaliacao(AvaliacaoFuncionarioDTO avaliacaoFuncionarioDTO) { |
222 | public void removerParticipanteDaAvaliacao(AvaliacaoFuncionarioDTO avaliacaoFuncionarioDTO) { |
| 205 | AvaliacaoFuncionarioId avaliacaoFuncionarioId = new AvaliacaoFuncionarioId(); |
223 | AvaliacaoFuncionarioId avaliacaoFuncionarioId = new AvaliacaoFuncionarioId(); |
| 206 | avaliacaoFuncionarioId.setSequencialAvaliacao(avaliacaoFuncionarioDTO.getSequencialDaAvaliacao()); |
224 | avaliacaoFuncionarioId.setSequencialAvaliacao(avaliacaoFuncionarioDTO.getSequencialDaAvaliacao()); |
| 207 | avaliacaoFuncionarioId.setSequencialFuncionario(avaliacaoFuncionarioDTO.getSequencialDoFuncionario()); |
225 | avaliacaoFuncionarioId.setSequencialFuncionario(avaliacaoFuncionarioDTO.getSequencialDoFuncionario()); |
| 208 | avaliacaoFuncionarioService.excluir(avaliacaoFuncionarioId); |
226 | avaliacaoFuncionarioService.excluir(avaliacaoFuncionarioId); |
| - | 227 | }
|
|
| - | 228 | ||
| - | 229 | @Override |
|
| - | 230 | public StreamedContent emitirRelatorioImportacaoFolhaPagamento(AvaliacaoDTO avaliacao) { |
|
| - | 231 | ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
|
| - | 232 | ||
| - | 233 | try { |
|
| - | 234 | String caminhoArquivo = "/arquivos_padrao/folhadepagamento_contabilidade.xls"; |
|
| - | 235 | InputStream arquivo = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(caminhoArquivo); |
|
| - | 236 | HSSFWorkbook workbook = new HSSFWorkbook(arquivo); |
|
| - | 237 | HSSFSheet sheet = workbook.getSheetAt(0); |
|
| - | 238 | ||
| - | 239 | Iterator rowIterator = sheet.rowIterator(); |
|
| - | 240 | while (rowIterator.hasNext()) { |
|
| - | 241 | Row row = (Row) rowIterator.next(); |
|
| - | 242 | if (row.getRowNum() < 11) { |
|
| - | 243 | continue; |
|
| - | 244 | } else { |
|
| - | 245 | Iterator cellIterator = row.cellIterator(); |
|
| - | 246 | Integer codigoFolha = null; |
|
| - | 247 | while (cellIterator.hasNext()) { |
|
| - | 248 | Boolean atualizar = true; |
|
| - | 249 | Cell cell = (Cell) cellIterator.next(); |
|
| - | 250 | switch (cell.getColumnIndex()) { |
|
| - | 251 | case 1: |
|
| - | 252 | Integer tipoCelula = cell.getCellType(); |
|
| - | 253 | if (tipoCelula.equals(Cell.CELL_TYPE_NUMERIC)) { |
|
| - | 254 | Double codigo = cell.getNumericCellValue(); |
|
| - | 255 | codigoFolha = codigo.intValue(); |
|
| - | 256 | } else { |
|
| - | 257 | atualizar = false; |
|
| - | 258 | }
|
|
| - | 259 | break; |
|
| - | 260 | case 3: |
|
| - | 261 | if (atualizar) { |
|
| - | 262 | for (AvaliacaoLojaFuncionarioDTO avaliacaoLojaDTO : avaliacao.getAvaliacoesLojas()) { |
|
| - | 263 | for (AvaliacaoFuncionarioDTO avaliacaoFuncionarioDTO : avaliacaoLojaDTO.getFuncionarios()) { |
|
| - | 264 | if (VerificadorUtil.estaNulo(avaliacaoFuncionarioDTO.getFuncionarioDTO().getCodigoContabilidade())) { |
|
| - | 265 | throw new NegocioException("Participante " + avaliacaoFuncionarioDTO.getFuncionarioDTO().getNomeDaPessoa() + " sem código contábil cadastrado"); |
|
| - | 266 | }
|
|
| - | 267 | if (avaliacaoFuncionarioDTO.getFuncionarioDTO().getCodigoContabilidade().equals(codigoFolha)) { |
|
| - | 268 | Double valorComissao = avaliacaoFuncionarioDTO.getValorComissao(); |
|
| - | 269 | if (VerificadorUtil.estaNulo(valorComissao)) { |
|
| - | 270 | throw new NegocioException("Obrigatório informar todas as comissões"); |
|
| - | 271 | }
|
|
| - | 272 | String valor = StringUtil.formatarValorComDoisDigitos(valorComissao.toString()); |
|
| - | 273 | cell.setCellValue(valor.replace(".", ",")); |
|
| - | 274 | break; |
|
| - | 275 | }
|
|
| - | 276 | }
|
|
| - | 277 | }
|
|
| - | 278 | }
|
|
| - | 279 | break; |
|
| - | 280 | }
|
|
| - | 281 | }
|
|
| - | 282 | }
|
|
| - | 283 | }
|
|
| - | 284 | ||
| - | 285 | try { |
|
| - | 286 | workbook.write(baos); |
|
| - | 287 | return DefaultStreamedContent.builder() |
|
| - | 288 | .name("folha_pagamento") |
|
| - | 289 | .contentType(ArquivoUtil.retornarContentTypeArquivo("xls")) |
|
| - | 290 | .stream(() -> new java.io.ByteArrayInputStream(baos.toByteArray())) |
|
| - | 291 | .build(); |
|
| - | 292 | } catch (FileNotFoundException e) { |
|
| - | 293 | e.printStackTrace(); |
|
| - | 294 | } catch (IOException e) { |
|
| - | 295 | e.printStackTrace(); |
|
| - | 296 | } finally { |
|
| - | 297 | baos.close(); |
|
| - | 298 | arquivo.close(); |
|
| - | 299 | workbook.close(); |
|
| - | 300 | }
|
|
| - | 301 | } catch (FileNotFoundException e) { |
|
| - | 302 | e.printStackTrace(); |
|
| - | 303 | } catch (NegocioException ne) { |
|
| - | 304 | throw new NegocioException(ne.getMessage()); |
|
| - | 305 | } catch (Exception e) { |
|
| - | 306 | e.printStackTrace(); |
|
| - | 307 | }
|
|
| - | 308 | ||
| - | 309 | return null; |
|
| - | 310 | /*
|
|
| - | 311 | try {
|
|
| - | 312 | List<byte[]> arquivos = new ArrayList<byte[]>();
|
|
| - | 313 | for (FolhaPagamentoFuncionarioDTO funcionarioFolhaPagamento : folhaPagamentoDTO.getFuncionarios()) {
|
|
| - | 314 | arquivos.add(funcionarioFolhaPagamento.getArquivo().getArquivo());
|
|
| - | 315 | }
|
|
| - | 316 | ByteArrayInputStream input = new ByteArrayInputStream(ArquivoUtil.compactarArquivos(arquivos, "recibo"));
|
|
| - | 317 | return DefaultStreamedContent.builder().contentType(ArquivoUtil.retornarContentTypeArquivo("zip")).name("recibos.zip").stream(() -> input).build();
|
|
| - | 318 | } catch (IOException e) {
|
|
| - | 319 | e.printStackTrace();
|
|
| - | 320 | }
|
|
| - | 321 | return null;
|
|
| - | 322 | */
|
|
| 209 | }
|
323 | }
|
| 210 | 324 | ||
| 211 | /*
|
325 | /*
|
| 212 | @Override
|
326 | @Override
|
| 213 | public Avaliacao detalhar(Avaliacao avaliacao) {
|
327 | public Avaliacao detalhar(Avaliacao avaliacao) {
|