diff --git a/NutrIF_Service/src/br/edu/ifpb/nutrif/controller/FuncionarioController.java b/NutrIF_Service/src/br/edu/ifpb/nutrif/controller/FuncionarioController.java index c131cf1b..9a598fa5 100644 --- a/NutrIF_Service/src/br/edu/ifpb/nutrif/controller/FuncionarioController.java +++ b/NutrIF_Service/src/br/edu/ifpb/nutrif/controller/FuncionarioController.java @@ -246,4 +246,52 @@ public Response getByNome(@PathParam("nome") String nome) { return builder.build(); } + + @PermitAll + @POST + @Path("/migrar") + @Consumes("application/json") + @Produces("application/json") + public Response migrarFuncionarios(List pessoasAcesso){ + + ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST); + builder.expires(new Date()); + + List funcionarios = new ArrayList(); + + try { + + for(PessoaAcesso pessoaAcesso: pessoasAcesso) { + + // Campus + int idCampus = pessoaAcesso.getCampus().getId(); + Campus campus = CampusDAO.getInstance().getById(idCampus); + pessoaAcesso.setCampus(campus); + + // Tipo Funcionário + pessoaAcesso.setTipo(Funcionario.TIPO_FUNCIONARIO); + + // Ativar Funacionário. + pessoaAcesso.setAtivo(true); + + //Inserir o Pessoa - Funcionário. + Pessoa pessoa = pessoaAcesso.getPessoa(); + Funcionario funcionario = Funcionario.setFuncionario(pessoa); + Integer idFuncionario = FuncionarioDAO.getInstance().insert( + funcionario); + + funcionarios.add(funcionario); + } + + builder.status(Response.Status.OK); + builder.entity(funcionarios); + + } catch (SQLExceptionNutrIF exception) { + + builder.status(Response.Status.INTERNAL_SERVER_ERROR).entity( + exception.getError()); + } + + return builder.build(); + } }