/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.elotech.websaude.integracao.cnes.backend.controller;

import br.com.elotech.websaude.integracao.cnes.backend.model.Equipe;
import br.com.elotech.websaude.integracao.cnes.backend.model.ProfissionalEquipe;

import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;

import static br.com.elotech.websaude.integracao.cnes.backend.model.dao.Conexao.CONN;
/**
 *
 * @author elotech
 */
public class UsuariosEquipeController {
    PreparedStatement pstmt;
    UsuariosController usuariosController = new UsuariosController();
    TbEquipeController tbEquipeController = new TbEquipeController();
    MicroareaController microareaController = new MicroareaController();
    
    public void excluirTodosCnes() throws SQLException{
        CONN.prepareStatement("DELETE FROM usuarios_equipe WHERE not exists (select true from usuarios where usr_mestre='S' AND usr_codigo=usuarios_equipe.usr_codigo)").executeUpdate();
    }
    
    public void cadastrarEquipe(Equipe equipe, int uni_codigo,int co_seq_equipe) throws SQLException{
        List<ProfissionalEquipe> profissionais = equipe.profissionaisEquipe;
        for(ProfissionalEquipe pe:profissionais){
            System.out.println("pe.profId = "+pe.profId);
            int usr_codigo = usuariosController.getUsuariosByProfId(pe.profId);
            
            String sql = "INSERT INTO usuarios_equipe(co_equipe,usr_codigo) VALUES(?,?)";
            int tbEquipeCodigo = tbEquipeController.verificaSeExiste(equipe.coEquipe, uni_codigo);
            
            pstmt = CONN.prepareStatement(sql);
            pstmt.setInt(1, tbEquipeCodigo);
            pstmt.setInt(2, usr_codigo);
            System.out.println(pstmt);
            pstmt.executeUpdate();
            CONN.commit();
            
            if(co_seq_equipe>0){
                if(pe.microarea!=null)
                    if(pe.microarea.length()>0)
                        microareaController.cadastrarMicroarea(co_seq_equipe,pe.microarea,usr_codigo,(pe.dtDesligamento==null?false:(pe.dtDesligamento.length()>0?false:true)));
            }

        }
    }
    
}
