 <?php

if (isset($_SERVER['HTTP_ORIGIN'])) {
    header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 86400'); // cache for 1 day
}

error_reporting(E_ERROR | E_PARSE);

$jsonpost = $_POST['json'];

//$jsonpost = '{"datos":[{"database":"72999_locall11","sala":0,"mesa":2,"suc_id":"2","puesto":0,"porcdesc":0,"porcdesc_general":0,"ord_precio":0,"opcion":111,"pr_id":0,"cantidad":0,"autoinc":"586","sala1":0,"puesto1":0,"no_estacion":"4","pref_desc":0,"mod_id_auto":0,"po_visible_grid":"y","po_pr_detalle":"","po_id":"240000012","po_op_id":"240000012","deposito":"2","po_utilidad":"NaN","po_utilidad_porc":0,"po_signo":"1","po_desc1":0,"po_desc2":0,"po_montoimp":null}]}';

$obj = json_decode($jsonpost);
$datos = $obj->{'datos'};

foreach ($datos as $valor) {

    $_SESSION['database'] = $valor->{'database'};
    $_SESSION['pr_id'] = $valor->{'pr_id'};
    $_SESSION['cantidad'] = $valor->{'cantidad'};
    $_SESSION['sala'] = $valor->{'sala'};
    $_SESSION['sala1'] = $valor->{'sala1'};
    $_SESSION['mesa'] = $valor->{'mesa'};
    $_SESSION['mesa1'] = $valor->{'mesa1'};
    $_SESSION['puesto'] = $valor->{'puesto'};
    $_SESSION['puesto1'] = $valor->{'puesto1'};
    $_SESSION['suc_id'] = $valor->{'suc_id'};
    $_SESSION['porcdesc'] = $valor->{'porcdesc'};
    $_SESSION['porcdesc_general'] = $valor->{'porcdesc_general'};
    $_SESSION['ord_precio'] = $valor->{'ord_precio'};
    $_SESSION['opcion'] = $valor->{'opcion'};
    $_SESSION['autoinc'] = $valor->{'autoinc'};
    $_SESSION['sala1'] = $valor->{'sala1'};
    $_SESSION['mesa1'] = $valor->{'mesa1'};
    $_SESSION['puesto1'] = $valor->{'puesto1'};
    $_SESSION['no_estacion'] = $valor->{'no_estacion'};
    $_SESSION['pref_desc'] = $valor->{'pref_desc'};
    $_SESSION['po_id'] = $valor->{'po_id'};
    $_SESSION['po_op_id'] = $valor->{'po_op_id'};
    $_SESSION['mod_id_auto'] = $valor->{'mod_id_auto'};
    $_SESSION['po_visible_grid'] = $valor->{'po_visible_grid'};
    $_SESSION['po_pr_detalle'] = $valor->{'po_pr_detalle'};
    $_SESSION['po_v_id'] = $valor->{'id_vendedor_config'};
    $_SESSION['deposito'] = $valor->{'deposito'};
    $_SESSION['po_utilidad'] = $valor->{'po_utilidad'};
    $_SESSION['po_utilidad_porc'] = $valor->{'po_utilidad_porc'};
    $_SESSION['po_signo'] = $valor->{'po_signo'};
    $_SESSION['ubic_id'] = $valor->{'ubic_id'};
    $_SESSION['po_montoimp'] = $valor->{'po_montoimp'};
    $_SESSION['po_desc1'] = $valor->{'po_desc1'};
    $_SESSION['po_desc2'] = $valor->{'po_desc2'};
    $_SESSION['po_itbms'] = $valor->{'po_itbms'};
    $_SESSION['pr_costo'] = $valor->{'pr_costo'};
    $_SESSION['mod_cant_f'] = $valor->{'mod_cant_f'};
    $_SESSION['po_descripcion'] = $valor->{'po_descripcion'};
    $_SESSION['pr_id_padreGuardar'] = $valor->{'pr_id_padreGuardar'};
    $_SESSION['po_id_npar'] = $valor->{'po_id_npar'};
    $_SESSION['po_id_refe'] = $valor->{'po_id_refe'};
    $_SESSION['pr_tipo'] = $valor->{'pr_tipo'};
    $_SESSION['w_tipo'] = $valor->{'w_tipo'};
    $_SESSION['cant_equipo'] = $valor->{'cant_equipo'};
    $_SESSION['po_op_idI'] = $valor->{'po_op_idI'};
    $_SESSION['po_op_idD'] = $valor->{'po_op_idD'};
    $_SESSION['traspaso'] = $valor->{'traspaso'};
    $_SESSION['po_precioneto'] = $valor->{'po_precioneto'};
}

//print_r($_SESSION['opcion']);

include 'conn.php';
include 'funciones.php';

$jsonData = array();
$jsonTempData = array();
$espera = 0;
$pr_descripcion = 0;
$pr_costo = 0;
$pr_itbms = 0;
$pr_precioneto = 0;
$po_posicion = 0;
$po_op_id = null;

//INSERTAR
if ($_SESSION['opcion'] == "0") {

    $po_op_id = $_SESSION['po_op_id'];

    $suc_est = $_SESSION['suc_id'] . $_SESSION['no_estacion'];

    $sqlOrden = "select max(po_posicion) as po_posicion from " . $_SESSION['database'] . ".tmp_producto_op" .
        " where po_op_id = '" . $po_op_id . "'";
    // " and mesa = ".$_SESSION['mesa']." and ubicacion = ".$_SESSION['puesto'].
    // " and suc_id = ".$_SESSION['suc_id'];
    $qur = $connection->query($sqlOrden);

    while ($r = mysqli_fetch_assoc($qur)) {

        $po_posicion = $r['po_posicion'];
        //$po_op_id = $r['po_op_id'];
    }
    //print_r($po_op_id);

    if ($po_op_id == null) {

        $sqlOrden = "select LPAD(no_operacionespera,9,'0') as no_operacionespera from " . $_SESSION['database'] . ".conf_sistema  where suc_id = " . $_SESSION['suc_id'] . " and no_estacion =" . $_SESSION['no_estacion'] . "";
        $qur = $connection->query($sqlOrden);

        while ($r = mysqli_fetch_assoc($qur)) {

            $espera = $r['no_operacionespera'];
            $po_op_id = $suc_est . substr($espera, strlen($suc_est), 9);
        }

        $sqlOrden = "update " . $_SESSION['database'] . ".conf_sistema set no_operacionespera = no_operacionespera + 1 where suc_id = " . $_SESSION['suc_id'] . " and no_estacion =" . $_SESSION['no_estacion'] . "";
        $qur = $connection->query($sqlOrden);

    }

    $po_posicion = $po_posicion + 1;

    if ($_SESSION['pref_desc'] == 1) {
        $pr_descripcion = "..." . $pr_descripcion;

        $sql = "select po_relac_unic from " . $_SESSION['database'] . ".tmp_producto_op " .
            " where po_id = (select a.po_id from (select po_id from " . $_SESSION['database'] . ".tmp_producto_op where sala = " . $_SESSION['sala'] .
            " and mesa = " . $_SESSION['mesa'] . " and ubicacion = " . $_SESSION['puesto'] .
            " and suc_id =" . $_SESSION['suc_id'] .
            " order by po_posicion desc limit 1) a)";

        $qur = $connection->query($sql);

        while ($r = mysqli_fetch_assoc($qur)) {
            $relac_unic = $r['po_relac_unic'];
        }

    } else {
        $sqlOrden = "update " . $_SESSION['database'] . ".secuencias set sec_valorn = sec_valorn + 1 where sec_id = 7";
        $qur = $connection->query($sqlOrden);

        $sqlOrden = "select LPAD(sec_valorn,9,'0') as valor from " . $_SESSION['database'] . ".secuencias where sec_id = 7";
        $qur = $connection->query($sqlOrden);

        while ($r = mysqli_fetch_assoc($qur)) {
            $relac_unic = $r['valor'];
        }
    }

    $po_relac_unic = $suc_est . substr($relac_unic, strlen($suc_est), 9);

    $sql = "insert into " . $_SESSION['database'] . ".tmp_producto_op " .
        " (
		    po_cant_asoc,
		    po_id_refe,
		    po_id_npar,
		    po_father,
		    po_montoimp,
		    po_desc1,
		    po_desc2,
		    po_fech_despa1,
			trig_unic,
		    ubic_id,
		    po_utilidad,
		    po_utilidad_porc,
		    po_v_id,
		    po_op_id,
			po_costo,
			po_precio,
			po_itbms,
			po_id_prod,
			po_cant,
			po_dep_id,
			po_pr_tipo,
			po_visible_grid,
			po_precioneto,
			po_signo,
			mesa, ubicacion,
			po_relac_unic,
			po_descripcion,
			po_posicion,
			sala,
			porcdesc,
			porcdesc_general,
			suc_id,
			e_id,
			mod_id_auto, po_pr_detalle)" .
        " values (" .
        $_SESSION['cant_equipo'] . ",'" .
        $_SESSION['po_id_refe'] . "','" .
        $_SESSION['po_id_npar'] . "','" .
        $_SESSION['pr_id_padreGuardar'] . "','" .
        $_SESSION['po_desc1'] . "','" .
        $_SESSION['po_desc2'] . "','" .
        $_SESSION['po_montoimp'] . "'," .
        "now()" . ",'" .
        $po_relac_unic . "'," .
        $_SESSION['ubic_id'] . ",'" .
        $_SESSION['po_utilidad'] . "','" .
        $_SESSION['po_utilidad_porc'] . "'," .
        $_SESSION['po_v_id'] . ",'" .
        $po_op_id . "', '" .
        $_SESSION['pr_costo'] . "','" .
        $_SESSION['ord_precio'] . "', '" .
        $_SESSION['po_itbms'] . "', '" .
        $_SESSION['pr_id'] . "', '" .
        $_SESSION['mod_cant_f'] . "', " .
        $_SESSION['deposito'] . ", " .
        $_SESSION['pr_tipo'] . ", '" .
        $_SESSION['po_visible_grid'] . "', '" .
        $_SESSION['po_precioneto'] . "', '" .
        $_SESSION['po_signo'] . "'," .
        $_SESSION['mesa'] . ", " .
        $_SESSION['puesto'] . ", '" .
        $po_relac_unic . "', '" .
        $_SESSION['po_descripcion'] . "', " .
        $po_posicion . ", " .
        $_SESSION['sala'] . ", '" .
        $_SESSION['porcdesc'] . "', '" .
        $_SESSION['porcdesc_general'] . "', " .
        $_SESSION['suc_id'] . "," .
        $_SESSION['no_estacion'] . ", " .
        $_SESSION['mod_id_auto'] . ", '" .
        $_SESSION['po_pr_detalle'] . "')";

    $qur = $connection->query($sql);

    print_r($sql);

    $jsonTempData = array();
    $jsonTempData['po_op_id'] = $po_op_id;
    $jsonData[] = $jsonTempData;
    $json->po_op_id = $jsonData;

    $sql = "select po_id from " . $_SESSION['database'] . ".tmp_producto_op" .
        " where po_id = (select a.po_id from (select max(po_id) as po_id from " . $_SESSION['database'] . ".tmp_producto_op where sala = " . $_SESSION['sala'] .
        " and mesa = " . $_SESSION['mesa'] . " and ubicacion = " . $_SESSION['puesto'] .
        " and suc_id =" . $_SESSION['suc_id'] .
        " and po_id_prod = '" . $_SESSION['pr_id'] . "') a)";
    $qur = $connection->query($sql);

    // print_r($sql);

    while ($r = mysqli_fetch_assoc($qur)) {

        $jsonTempData1 = array();
        $jsonTempData1['po_id'] = $r['po_id'];
        $jsonData1[] = $jsonTempData1;
        $json->po_id = $jsonData1;

    }

}

//UPDATE PRECIO, CANTIDAD, DECUENTO
if ($_SESSION['opcion'] == "1") {

    $sql = "update " . $_SESSION['database'] . ".tmp_producto_op set
                                          po_utilidad = '" . $_SESSION['po_utilidad'] . "',
                                          po_utilidad_porc = '" . $_SESSION['po_utilidad_porc'] . "',
                                          po_signo = '" . $_SESSION['po_signo'] . "',
                                          po_desc1 = '" . $_SESSION['po_desc1'] . "',
                                          po_montoimp = '" . $_SESSION['po_montoimp'] . "',
                                          po_precio = '" . $_SESSION['ord_precio'] . "',
										  po_cant = " . $_SESSION['mod_cant_f'] . ",
										  porcdesc = '" . $_SESSION['porcdesc'] . "',
										  porcdesc_general = '" . $_SESSION['porcdesc_general'] .
        "' where po_id_refe = " . $_SESSION['po_id_refe'] .
        "  and po_op_id = '" . $_SESSION['po_op_id'] . "'";

    $qur = $connection->query($sql);

    $sql = "update " . $_SESSION['database'] . ".tmp_producto_op set
										  po_desc2 = (((po_precio - po_desc1) * " . $_SESSION['porcdesc_general'] . ")/100)" .
        " , po_precioneto = " . $_SESSION['po_precioneto'] .
        " where  po_op_id = '" . $_SESSION['po_op_id'] . "'";

}

//UPDATE PR_DETALLE
if ($_SESSION['opcion'] == "888") {

    $sql = "update " . $_SESSION['database'] . ".tmp_producto_op set po_pr_detalle = '" . $_SESSION['po_pr_detalle'] . "' where po_id_refe = " . $_SESSION['po_id_refe'] . "";
}

//print_r($sql);

//UPDATE, % GENERAL
if ($_SESSION['opcion'] == "11") {

    $sql = "update " . $_SESSION['database'] . ".tmp_producto_op set porcdesc_general = '" . $_SESSION['porcdesc_general'] .
        "', po_desc2 = (((po_precio - po_desc1) * " . $_SESSION['porcdesc_general'] . ")/100)" .
        " , po_precioneto = " . $_SESSION['po_precioneto'] .
        " where  po_op_id = '" . $_SESSION['po_op_id'] . "'";

}

if ($_SESSION['opcion'] == "11.1") {

    $sql = "update " . $_SESSION['database'] . ".tmp_producto_op set porcdesc_general = '" . $_SESSION['porcdesc_general'] .
        "' where sala = " . $_SESSION['sala'] .
        " and mesa = " . $_SESSION['mesa'] .
        " and suc_id = " . $_SESSION['suc_id'];
}

//UPDATE TRASPASO ITEM NO USANDO POR EL MOEMENTO
if ($_SESSION['opcion'] == "111111111") {

    $sql = "update " . $_SESSION['database'] . ".tmp_producto_op set sala = " . $_SESSION['sala'] . ", mesa = " . $_SESSION['mesa'] . ", ubicacion = " . $_SESSION['puesto'] .
        " where po_id = " . $_SESSION['autoinc'];
}

//UPDATE TRASPASO ITEM COMBO
if ($_SESSION['opcion'] == "111") {

    $po_op_id = $_SESSION['po_op_idI'];

    if ($_SESSION['traspaso'] == "AD") {

        $po_op_id = $_SESSION['po_op_idD'];
    }

    $sql = "update " . $_SESSION['database'] . ".tmp_producto_op set
			   po_op_id = " . $po_op_id . ",
			   sala = " . $_SESSION['sala1'] . ",
			   mesa = " . $_SESSION['mesa1'] . ",
			   ubicacion = " . $_SESSION['puesto1'] .
        " where  po_father = " . $_SESSION['pr_id_padreGuardar'] . "";

}

//UPDATE TRASPASO ALL
if ($_SESSION['opcion'] == "112") {

    $po_op_id_desde = $_SESSION['po_op_idI'];
    $po_op_id_hasta = $_SESSION['po_op_idD'];

    $po_op_id_desde = $_SESSION['po_op_idD'];
    $po_op_id_hasta = $_SESSION['po_op_idI'];

    if ($_SESSION['traspaso'] == "TAD") {

        $po_op_id_desde = $_SESSION['po_op_idI'];
        $po_op_id_hasta = $_SESSION['po_op_idD'];

    }

    $sql = "update " . $_SESSION['database'] . ".tmp_producto_op set
			   po_op_id = " . $po_op_id_hasta . ",
			   sala = " . $_SESSION['sala1'] . ",
			   mesa = " . $_SESSION['mesa1'] . ",
			   ubicacion = " . $_SESSION['puesto1'] .
        " where  po_father = " . $_SESSION['pr_id_padreGuardar'] . "";

}

//UPDATE PROCESADOS PUESTO
if ($_SESSION['opcion'] == "12") {

    if ($_SESSION['tipo'] == "2") {
        $_SESSION['sec_orden'] = 7;
    } else {
        $_SESSION['sec_orden'] = 8;
    }

    $sqlOrden = "select LPAD(sec_valorn,9,'0') as valor from " . $_SESSION['database'] . ".secuencias where sec_id = " . $_SESSION['sec_orden'];
    $qur = $connection->query($sqlOrden);

    while ($r = mysqli_fetch_assoc($qur)) {

        $_SESSION['orden_proceso'] = $r['valor'];
        $jsonTempData = array();
        $jsonTempData['orden_proceso'] = $r['valor'];
        $jsonData[] = $jsonTempData;

    }

    $json->jsonordenproceso = $jsonData;

    $sqlOrdenSum = "update " . $_SESSION['database'] . ".secuencias set sec_valorn = sec_valorn + 1 where sec_id = " . $_SESSION['sec_orden'];
    $qur = $connection->query($sqlOrdenSum);

    $sql = "update " . $_SESSION['database'] . ".ordenes set orden_proceso = '" . $_SESSION['orden_proceso'] . "', procesado = 1" .
        " where procesado = 0 and sala = " . $_SESSION['sala'] .
        " and mesa = " . $_SESSION['mesa'] . " and puesto = " . $_SESSION['puesto'] .
        " and op_tipo = " . $_SESSION['tipo'] . "";

}

//UPDATE PROCESADOS ALL PUESTO
if ($_SESSION['opcion'] == "13") {

    if ($_SESSION['tipo'] == "2") {
        $_SESSION['sec_orden'] = 7;
    } else {
        $_SESSION['sec_orden'] = 8;
    }

    $sqlOrden = "select LPAD(sec_valorn,9,'0') as valor from " . $_SESSION['database'] . ".secuencias where sec_id = " . $_SESSION['sec_orden'];
    $qur = $connection->query($sqlOrden);

    while ($r = mysqli_fetch_assoc($qur)) {

        $_SESSION['orden_proceso'] = $r['valor'];
        $jsonTempData = array();
        $jsonTempData['orden_proceso'] = $r['valor'];
        $jsonData[] = $jsonTempData;

    }
    $json->jsonordenproceso = $jsonData;

    $sqlOrdenSum = "update " . $_SESSION['database'] . ".secuencias set sec_valorn = sec_valorn + 1 where sec_id = " . $_SESSION['sec_orden'];
    $qur = $connection->query($sqlOrdenSum);

    $sql = "update " . $_SESSION['database'] . ".ordenes set orden_proceso = '" . $_SESSION['orden_proceso'] . "', procesado = 1" .
        " where procesado = 0 and sala = " . $_SESSION['sala'] .
        " and mesa = " . $_SESSION['mesa'] .
        " and op_tipo = " . $_SESSION['tipo'] . "";
}

//DELETE PRODUCTO
if ($_SESSION['opcion'] == "2") {

    $sql = "delete from " . $_SESSION['database'] . ".tmp_producto_op
	where po_id_refe = '" . $_SESSION['po_id_refe'] . "' and po_op_id = '" . $_SESSION['po_op_id'] . "'";

    if ($_SESSION['pr_tipo'] == 1) {
        $sql = "delete from " . $_SESSION['database'] . ".tmp_producto_op
		where po_id_npar = '" . $_SESSION['po_id_npar'] . "' and po_op_id = '" . $_SESSION['po_op_id'] . "'";
    }
    if ($_SESSION['w_tipo'] == 6) {
        $sql = "delete from " . $_SESSION['database'] . ".tmp_producto_op
		where po_father = '" . $_SESSION['pr_id_padreGuardar'] . "' and po_op_id = '" . $_SESSION['po_op_id'] . "'";
    }

    if ($_SESSION['pref_desc'] == 1) {
        //$sql= "delete from ".$_SESSION['database'].".tmp_producto_op where po_relac_unic =
        //(select a.po_relac_unic from
        //(select po_relac_unic
        // from ".$_SESSION['database'].".tmp_producto_op
        // where po_id = ".$_SESSION['po_id'].
        // " ) a)";

    } else {

        //$sql= "delete from ".$_SESSION['database'].".tmp_producto_op
        //where po_id = (select a.po_id from (select po_id from ".
        //$_SESSION['database'].".tmp_producto_op
        //where sala = ".$_SESSION['sala'].
        //" and mesa = ".$_SESSION['mesa']." and
        //ubicacion = ".$_SESSION['puesto'].
        //" and suc_id = ".$_SESSION['suc_id']."
        //and po_id_prod = '".$_SESSION['pr_id']."'
        //and po_cant = ".$_SESSION['mod_cant_f']." limit 1) a)";

    }

}

//DELETE PRODUCTO
if ($_SESSION['opcion'] == "21") {

    if ($_SESSION['pref_desc'] == 1) {
        $sql = "delete from " . $_SESSION['database'] . ".tmp_producto_op where po_relac_unic = (select a.po_relac_unic from (select po_relac_unic from " . $_SESSION['database'] . ".tmp_producto_op where po_id = " . $_SESSION['po_id'] .
            " ) a)";

    } else {
        $sql = "delete from " . $_SESSION['database'] . ".tmp_producto_op where po_id = (select a.po_id from (select po_id from " . $_SESSION['database'] . ".tmp_producto_op where sala = " . $_SESSION['sala'] .
            " and mesa = " . $_SESSION['mesa'] .
            " and suc_id = " . $_SESSION['suc_id'] . " and po_id_prod = '" . $_SESSION['pr_id'] . "' and po_cant = " . $_SESSION['cantidad'] . " limit 1) a)";
    }

}

//DELETE ALL PRODUCTOS
if ($_SESSION['opcion'] == "3") {

    $sql = "delete from " . $_SESSION['database'] . ".tmp_producto_op where po_op_id = " . $_SESSION['po_op_id'];

}

//DELETE ALL PRODUCTOS MESA
if ($_SESSION['opcion'] == "33") {

    $sql0 = "select distinct(po_op_id) from  " . $_SESSION['database'] . ".tmp_producto_op where sala = " . $_SESSION['sala'] .
        " and mesa = " . $_SESSION['mesa'] .
        " and suc_id = " . $_SESSION['suc_id'];
    $qur0 = $connection->query($sql0);

    while ($r = mysqli_fetch_assoc($qur0)) {

        $sql1 = "delete from " . $_SESSION['database'] . ".tmp_operacion where op_id = '" . $r['po_op_id'] . "'";

        $qur1 = $connection->query($sql1);

    }

    $sql2 = "delete from " . $_SESSION['database'] . ".tmp_producto_op where sala = " . $_SESSION['sala'] .
        " and mesa = " . $_SESSION['mesa'] .
        " and suc_id = " . $_SESSION['suc_id'];
    $qur2 = $connection->query($sql2);

}

//DELETE SALA
if ($_SESSION['opcion'] == "4") {

    $sql = "delete from " . $_SESSION['database'] . ".tmp_producto_op where sala = " . $_SESSION['sala'] .
        " and suc_id = " . $_SESSION['suc_id'];
}

//BUSCA TOTAL MOD_MAX PRODUCTO COMBO
if ($_SESSION['opcion'] == "5") {

    $sql = "select count(mod_id_auto) as cont_mod from " . $_SESSION['database'] . ".tmp_producto_op " .
        " where mod_id_auto = " . $_SESSION['mod_id_auto'] . " and po_relac_unic = (select a.po_relac_unic from (select po_relac_unic from " . $_SESSION['database'] . ".tmp_producto_op where po_id = " . $_SESSION['po_id'] . ") a)";

    $qur = $connection->query($sql);

    while ($r = mysqli_fetch_assoc($qur)) {

        $jsonTempData = array();
        $jsonTempData['cont_mod'] = $r['cont_mod'];
        $jsonData[] = $jsonTempData;

    }

    $json->jsoncont_mod = $jsonData;

}

//print_r($sql);

$qur = $connection->query($sql);

if ($_SESSION['codigo'] == "99") {

    $json->datos = "false";

} else {
    $json->datos = "true";

}

//print_r(json_encode($_SESSION['opcion']));
print_r(json_encode($json));

@mysqli_close($connection);
?>