<?php

session_start();

$filename = 'c_leitura.php';

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

include 'c_leitura.php';
require_once __DIR__ . DIRECTORY_SEPARATOR . "sealed" . DIRECTORY_SEPARATOR . "autoload.php";
require_once("db.php");

$id_clientes = filter_input(INPUT_POST, 'id_clientes', FILTER_CALLBACK, array('options' => 'filter_var'));
$id_cobrancas = filter_input(INPUT_POST, 'id_cobrancas', FILTER_CALLBACK, array('options' => 'filter_var'));
$dataBaixa = date("Y-m-d");
$cont = 0;

if ($_SESSION['UsuarioNivel'] == 3) {
    $tabela = 'cobranca_ponto';
    $id_clientes = $id_cobrancas;
} elseif ($_SESSION['UsuarioNivel'] == 1) {
    $tabela = 'cobranca_agregado';
}


foreach ($id_clientes as $key => $id_cliente) {
    if ($_SESSION['UsuarioNivel'] == 3) {
        $cobrancas_merge = array();
        $cobrancas_merge[id_cobranca] = $id_clientes;
    } elseif ($_SESSION['UsuarioNivel'] == 1) {
        $cobrancas = cobranca_agregadoDAO::getid_cobrancas($id_cliente);
        $cobrancasSocios = cobranca_agregadoDAO::getCobrancasSubUsers($cobrancas['id_cliente'][$key], ' AND nivel = 4');
        $cobrancas_merge = array_merge_recursive($cobrancas, $cobrancasSocios);
    }

    $Metrica_result = mysql_query("UPDATE $tabela "
            . " SET pago = 1,"
            . " data_pagamento = '$dataBaixa'"
            . " WHERE id_cobranca IN ( " . implode(',', $cobrancas_merge[id_cobranca]) . " )");


    $Metrica_result2 = mysql_query("UPDATE metricas "
            . " SET status_leitura = 2,"
            . " status = 0 "
            . " WHERE id_cobranca IN ( " . implode(',', $cobrancas_merge[id_cobranca]) . " )");


    if (!$Metrica_result) {
        echo json_encode(array('success' => 0, 'msg' => 'Ocorreu um erro ao baixar a cobrança ID: ' . $idCobranca));
        exit;
    } else {

        //buscar o cliente responsavel pela cobrança e que não tenha mais cobranças vencidas
        $query = "SELECT a.id_cliente
					FROM cobranca_agregado a
					WHERE 
					a.id_cobranca IN ( " . implode(',', $cobrancas_merge[id_cobranca]) . " )
					AND a.ativo = 1
					AND a.id_cliente NOT IN (	
						SELECT b.id_cliente
						FROM cobranca_agregado b
						WHERE
						NOW() > b.data_vencimento
						AND b.pago = 0
						AND b.ativo = 1
					)";
        $result = mysql_query($query) or die(mysql_error());

        //se o cliente não possui mais faturas em aberto
        if (mysql_num_rows($result) > 0) {

            $row = mysql_fetch_array($result);
            $id_cliente = $row['id_cliente'];

            //desbloquear o cliente quando realizar o pagamento da fatura
            mysql_query("UPDATE user SET status = 1 WHERE id IN '$id_cliente'");
        }
    }

    $cont++;
    if ($_SESSION['UsuarioNivel'] == 3) {
        break;
    }
}

if ($cont > 1) {
    echo json_encode(array('success' => 1, 'msg' => 'Cobranças baixadas com sucesso!'));
} else {
    echo json_encode(array('success' => 1, 'msg' => 'Cobrança baixada com sucesso!'));
}
