<?php

$filename = 'c_leitura.php';

if (!file_exists($filename)) {
    header("Location: error.php");
    exit;
}

include 'c_leitura.php';
session_start();
//$nivel_necessario = 3;
$nivel_necessario = 6;


//AND $_SESSION['UsuarioNivel'] != 6
// Verifica se nÃ£o hÃ¡ a variÃ¡vel da sessÃ£o que identifica o usuÃ¡rio
if (!isset($_SESSION['UsuarioID']) OR ( ($_SESSION['UsuarioNivel'] > $nivel_necessario) )) {
    // DestrÃ³i a sessÃ£o por seguranÃ§a
    session_destroy();
    // Redireciona o visitante de volta pro login
    header("Location: index.php");
    exit;
}
require_once __DIR__ . DIRECTORY_SEPARATOR . "sealed" . DIRECTORY_SEPARATOR . "autoload.php";

require_once("db.php");
$erro = false;

$argsPost = array(
    'id' => array(
        'filter' => FILTER_SANITIZE_STRING
    )
);

$inputPOST = filter_input_array(INPUT_POST, $argsPost);

//recebe o id do ponto
if (!empty($inputPOST['id'])) {

    $id = $inputPOST['id'];

    //se o usuÃ¡rio for um operador(6)
    if ($_SESSION['UsuarioNivel'] == 6) {

        $resultUser = mysql_query("SELECT  ponto.id_apoio "
                . " FROM ponto, user a "
                . " WHERE  ponto.id = a.id_apoio "
                . " AND a.id = " . $_SESSION['UsuarioID']
                . " AND ponto.status = 1 ")or die(mysql_error());
        $rowUser = mysql_fetch_array($resultUser);

        if ($rowUser['id_apoio']) {
            $SocioCliente = FUNCOES::getSocioCliente($rowUser['id_apoio']);
        } else {
            $SocioCliente = array($_SESSION['UsuarioID']);
        }

        
        //buscar as metricas do ponto
        $result = mysql_query("SELECT metricas.id, metrica_parcial.id_metrica_parcial
							FROM metricas, tablet, ponto, user a, metrica_parcial
							WHERE 
							metricas.idprod = tablet.idprod 
							AND metrica_parcial.id_metrica_fk = metricas.id
							AND ponto.id = a.id_apoio
							AND tablet.id_ponto = ponto.id 
							AND ponto.id = '$id'
							AND ponto.id_apoio IN ( " . implode(',', $SocioCliente) . "  )
							AND metricas.status_leitura = 1") or die(mysql_error());

        $dataFechamento = date('Y-m-d H:i:s');
        $loteFechamento = date('YmdHis');

        while ($row = mysql_fetch_array($result)) {


            $query = "UPDATE metricas SET status_leitura = 2, 
							status = 0, 
							data_fechamento_leitura = '$dataFechamento', 
							operador_fechamento = '$_SESSION[UsuarioID]', 
							lote_fechamento = '$loteFechamento' 
							WHERE 
							metricas.id = '$row[id]' 
							AND lote_fechamento is null"; //AND metricas.status = 1
            $resultupdate = mysql_query($query) or die(mysql_error());

            $query = "UPDATE metrica_parcial SET status_leitura = 2, 
							data_fechamento_leitura = '$dataFechamento', 
							operador_fechamento = '$_SESSION[UsuarioID]', 
							lote_fechamento = '$loteFechamento' 
							WHERE 
							metrica_parcial.id_metrica_parcial = '$row[id_metrica_parcial]'"
                      . " AND lote_fechamento is null";
            $resultupdate = mysql_query($query) or die(mysql_error());

            if (!$resultupdate) {
                $erro = true;
            }
        }
        //AND d.id_apoio = '$_SESSION[UsuarioID]'
        //buscar as cobranÃ§as do ponto que pertencem a este Ponto
        $resultCobrancasPonto = mysql_query("SELECT a.id_cobranca 
								FROM cobranca_ponto a
								INNER JOIN metrica_parcial b on b.id_cobranca = a.id_cobranca
								INNER JOIN tablet c on c.idprod = b.idprod
								INNER JOIN ponto d on d.id = c.id_ponto
								INNER JOIN user e on e.id = d.id_apoio
								WHERE
								a.pago = 0
								AND a.cobranca_fechada = 0
								AND d.id = '$id'
                                                                AND d.id_apoio IN (" . implode(',', $SocioCliente) . ") 
								GROUP BY a.id_cobranca") or die(mysql_error());

        while ($row = mysql_fetch_array($resultCobrancasPonto)) {
            // if($erro) { continue; }
            $query2 = "UPDATE cobranca_ponto SET cobranca_fechada = 1, "
                    . " tipo_cobranca = 'Manual', "
                    . " operador_fechamento = '$_SESSION[UsuarioID]' "
                    . " WHERE id_cobranca = '$row[id_cobranca]' "
                    . " AND ativo = 1"
                    . " AND operador_fechamento is null";
            $resultupdate3 = mysql_query($query2) or die(mysql_error());

            if (!$resultupdate3) {
                $erro = true;
            }
        }

        //se o usuÃ¡rio for um cliente(3)
    } elseif ($_SESSION['UsuarioNivel'] == 3) {



        //buscar as metricas do ponto
        $apoios = FUNCOES::getApoiosBYNivel($_SESSION[UsuarioID], 6);
        $apoios2 = FUNCOES::getApoios($_SESSION[UsuarioID]);
        $apoios_merge = array_merge($apoios, $apoios2);
        
        $result = mysql_query("SELECT metricas.id, metrica_parcial.id_metrica_parcial
								FROM metricas, tablet, ponto, metrica_parcial
								WHERE 
								metricas.idprod = tablet.idprod 
								AND metrica_parcial.id_metrica_fk = metricas.id
								AND tablet.id_ponto = ponto.id 
								AND ponto.id = '$id'
                                                                #AND metricas.status_leitura = 1
								AND ponto.id_apoio IN (" . implode(',', $apoios_merge) . ") 
								") or die(mysql_error());

        $dataFechamento = date('Y-m-d H:i:s');
        $loteFechamento = date('YmdHis');


        while ($row = mysql_fetch_array($result)) {
            $query = "UPDATE metricas 
						SET 
						status_leitura = 2, 
						status = 0, 
						data_fechamento_leitura = '$dataFechamento', 
						cliente_fechamento = '$_SESSION[UsuarioID]', 
						lote_fechamento = '$loteFechamento'
						WHERE metricas.id = '$row[id]' 
						AND lote_fechamento is null"; //AND metricas.status = 1
            $resultupdate = mysql_query($query) or die(mysql_error());

            $query = "UPDATE metrica_parcial 
						SET 
						status_leitura = 2, 
						data_fechamento_leitura = '$dataFechamento', 
						cliente_fechamento = '$_SESSION[UsuarioID]', 
							lote_fechamento = '$loteFechamento'
						WHERE metrica_parcial.id_metrica_parcial = '$row[id_metrica_parcial]'"
                                               . " AND lote_fechamento is null";
            $resultupdate = mysql_query($query) or die(mysql_error());

            if (!$resultupdate) {
                $erro = true;
            }
        }


        //buscar as cobranÃ§as do ponto que pertencem a este Ponto
        $resultCobrancasPonto = mysql_query("SELECT a.id_cobranca 
								FROM cobranca_ponto a
								INNER JOIN metrica_parcial b on b.id_cobranca = a.id_cobranca
								INNER JOIN tablet c on c.idprod = b.idprod
								INNER JOIN ponto d on d.id = c.id_ponto
								INNER JOIN user e on e.id = d.id_apoio
								WHERE
								a.pago = 0
								AND a.cobranca_fechada = 0
								AND d.id = '$id'
                                                                #AND b.status_leitura = 1
								AND d.id_apoio IN (" . implode(',', $apoios_merge) . ")
								GROUP BY a.id_cobranca") or die(mysql_error());

        while ($row = mysql_fetch_array($resultCobrancasPonto)) {
            // if($erro) { continue; }

            $query2 = "UPDATE cobranca_ponto SET cobranca_fechada = 1,"
                    . " tipo_cobranca = 'Manual', "
                    . " cliente_fechamento = '$_SESSION[UsuarioID]' "
                    . " WHERE id_cobranca = '$row[id_cobranca]' "
                    . " AND ativo = 1"
                    . " AND cliente_fechamento is null";
            $resultupdate3 = mysql_query($query2) or die(mysql_error());

            if (!$resultupdate3) {
                $erro = true;
            }
        }
    } elseif ($_SESSION['UsuarioNivel'] == 4) {
        //SÃ“CIO
        //buscar as metricas do ponto
        $result = mysql_query("SELECT metricas.id, metrica_parcial.id_metrica_parcial , ponto.nome username
								FROM metricas, tablet, ponto, metrica_parcial
								WHERE 
								metricas.idprod = tablet.idprod 
								AND metrica_parcial.id_metrica_fk = metricas.id
								AND tablet.id_ponto = ponto.id 
								AND ponto.id = '$id'
								AND ponto.id_apoio IN (" . $_SESSION[UsuarioID] . ") 
								AND metricas.status_leitura = 1") or die(mysql_error());

        $dataFechamento = date('Y-m-d H:i:s');
        $loteFechamento = date('YmdHis');



        while ($row = mysql_fetch_array($result)) {
            $username = $row['username'];

            $query = "UPDATE metricas 
						SET 
						status_leitura = 2, 
						status = 0, 
						data_fechamento_leitura = '$dataFechamento', 
						cliente_fechamento = '$_SESSION[UsuarioID]', 
						lote_fechamento = '$loteFechamento'
						WHERE metricas.id = '$row[id]' 
						AND metricas.status = 1"
                    . " AND lote_fechamento is null";
            $resultupdate = mysql_query($query) or die(mysql_error());

            $query = "UPDATE metrica_parcial 
						SET 
						status_leitura = 2, 
						data_fechamento_leitura = '$dataFechamento', 
						cliente_fechamento = '$_SESSION[UsuarioID]', 
							lote_fechamento = '$loteFechamento'
						WHERE metrica_parcial.id_metrica_parcial = '$row[id_metrica_parcial]'"
                    . " AND lote_fechamento is null";
            $resultupdate = mysql_query($query) or die(mysql_error());

            if (!$resultupdate) {
                $erro = true;
            }
        }
        if (empty($username)){
            $queryponto = "select nome FROM  ponto WHERE id = $id ";
            $resultponto = mysql_query($queryponto);
            $rowponto = mysql_fetch_array($resultponto);
            $username = $rowponto['nome'];
        }

        //buscar as cobranÃ§as do ponto que pertencem a este Ponto
        $resultCobrancasPonto = mysql_query("SELECT a.id_cobranca 
								FROM cobranca_ponto a
								INNER JOIN metrica_parcial b on b.id_cobranca = a.id_cobranca
								INNER JOIN tablet c on c.idprod = b.idprod
								INNER JOIN ponto d on d.id = c.id_ponto
								INNER JOIN user e on e.id = d.id_apoio
								WHERE
								a.pago = 0
								AND a.cobranca_fechada = 0
								AND d.id = '$id'
								AND d.id_apoio = '$_SESSION[UsuarioID]'
								GROUP BY a.id_cobranca") or die(mysql_error());

        while ($row = mysql_fetch_array($resultCobrancasPonto)) {
            // if($erro) { continue; }

            $query2 = "UPDATE cobranca_ponto SET cobranca_fechada = 1,"
                    . " tipo_cobranca = 'Manual', "
                    . " cliente_fechamento = '$_SESSION[UsuarioID]' "
                    . " WHERE id_cobranca = '$row[id_cobranca]' "
                    . " AND ativo = 1"
                    . " AND cliente_fechamento is null";
            $resultupdate3 = mysql_query($query2) or die(mysql_error());

            if (!$resultupdate3) {
                $erro = true;
            }
        }
    }
}
if (!$erro) {
    if ($_SESSION['UsuarioNivel'] == 3) {
        echo json_encode(array('success' => 1, 'msg' => 'Faturas fechadas com sucesso!', 'id_ponto' => $id));
    } elseif ($_SESSION['UsuarioNivel'] == 4) {
        echo json_encode(array('success' => 1, 'msg' => 'Faturas fechadas com sucesso!', 'username' => $username));
    } else {
        echo json_encode(array('success' => 1, 'msg' => 'Faturas fechadas com sucesso!'));
    }
} else {
    echo json_encode(array('success' => 0, 'msg' => 'Erro ao fechar faturas'));
}
exit;

// header('Location: gerenciar_fatura.php?msg=1');

