Primer commit del sistema avantika sin cambios
This commit is contained in:
332
crons/rep-prods-prov-single.php
Executable file
332
crons/rep-prods-prov-single.php
Executable file
@@ -0,0 +1,332 @@
|
||||
<?php
|
||||
|
||||
include_once('/home/novomoda/public_html/sistema/init.php');
|
||||
include_once('/home/novomoda/public_html/sistema/config.php');
|
||||
include_once(DOC_ROOT.'/libraries.php');
|
||||
|
||||
if(!isset($_SESSION))
|
||||
session_start();
|
||||
|
||||
$_SESSION['empresaId'] = 15;
|
||||
|
||||
$start = microtime(true);
|
||||
|
||||
/**
|
||||
Ejecuta TODOS los proveedores, sucursales y desde el 01-06-2013
|
||||
*/
|
||||
|
||||
$mesI = '06';
|
||||
$anioI = 2013;
|
||||
$mesF = date('m');
|
||||
$anioF = date('Y');
|
||||
$codigoBarra = trim($_POST['codigoBarra']);
|
||||
|
||||
$nomMes = $util->GetMMMName(intval($mesI));
|
||||
$perIni = $nomMes.' '.$anioI;
|
||||
$nomMes = $util->GetMMMName(intval($mesF));
|
||||
$perFin = $nomMes.' '.$anioF;
|
||||
|
||||
$mI = intval($mesI);
|
||||
$mF = intval($mesF);
|
||||
|
||||
$yI = $anioI;
|
||||
$yF = $anioF;
|
||||
|
||||
$anios = $yF - $yI;
|
||||
|
||||
if($anios == 0){
|
||||
$meses = $mF - $mI;
|
||||
$meses += 1;
|
||||
}else{
|
||||
$meses = (12 - $mI) + 1 + $mF;
|
||||
}
|
||||
|
||||
$strFechaI = strtotime('01-'.$mesI.'-'.$anioI);
|
||||
|
||||
$sql = 'SELECT proveedorId FROM proveedor WHERE proveedorId = 111';
|
||||
$util->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
||||
$proveedores = $util->DBSelect($_SESSION['empresaId'])->GetResult();
|
||||
|
||||
foreach($proveedores as $prov){
|
||||
|
||||
if(!isset($_SESSION))
|
||||
session_start();
|
||||
|
||||
$_SESSION['empresaId'] = 15;
|
||||
|
||||
echo $proveedorId = $prov['proveedorId'];
|
||||
echo '<br><br>';
|
||||
|
||||
$proveedor->setProveedorId($proveedorId);
|
||||
$nomProv = $proveedor->GetNameById();
|
||||
|
||||
$reportes->setIdSuc(0);
|
||||
$resSuc = $reportes->EnumSucursales();
|
||||
|
||||
$sql = "SELECT p.productoId, p.precioVentaIva, p.prodCatId, p.prodSubcatId, p.modelo, p.codigoBarra, p.costo,
|
||||
p.proveedorId,
|
||||
(
|
||||
SELECT ped.fechaOrdenCompIng
|
||||
FROM pedido AS ped, pedidoProducto AS pp
|
||||
WHERE ped.pedidoId = pp.pedidoId
|
||||
AND pp.productoId = p.productoId
|
||||
ORDER BY ped.fechaOrdenCompIng DESC
|
||||
LIMIT 1
|
||||
) AS fecha
|
||||
FROM producto p
|
||||
WHERE p.baja = '0'
|
||||
AND p.proveedorId = '".$proveedorId."'
|
||||
ORDER BY p.descripcion";
|
||||
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
||||
$resProds = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
||||
|
||||
$sucursales = array();
|
||||
foreach($resSuc as $suc){
|
||||
|
||||
$sucursalId = $suc['sucursalId'];
|
||||
|
||||
echo 'Suc = '.$sucursalId;
|
||||
echo '<br>';
|
||||
|
||||
$totPzas = 0;
|
||||
$totImporte = 0;
|
||||
$totVtas = 0;
|
||||
$totImporteVtas = 0;
|
||||
$totIniciales = array();
|
||||
$totEntradas = array();
|
||||
$totSalidas = array();
|
||||
$productos = array();
|
||||
$resCategorias = array();
|
||||
$resSubcats = array();
|
||||
foreach($resProds as $res){
|
||||
|
||||
$prodCatId = $res['prodCatId'];
|
||||
$prodSubcatId = $res['prodSubcatId'];
|
||||
|
||||
if($productoId > 0 && $res['productoId'] != $productoId)
|
||||
continue;
|
||||
|
||||
if(!in_array($prodCatId, $resCategorias))
|
||||
$resCategorias[] = $prodCatId;
|
||||
|
||||
if(count($resSubcats[$prodCatId]) == 0)
|
||||
$resSubcats[$prodCatId] = array();
|
||||
|
||||
$resSub = $resSubcats[$prodCatId];
|
||||
|
||||
if(!in_array($prodSubcatId, $resSub))
|
||||
$resSubcats[$prodCatId][] = $prodSubcatId;
|
||||
|
||||
if($res['fecha'] == 0)
|
||||
continue;
|
||||
|
||||
echo $res['productoId'];
|
||||
echo '<br>';
|
||||
|
||||
$res['modelo'] = utf8_encode($res['modelo']);
|
||||
|
||||
//Obtenemos el Saldo Inicial
|
||||
$fechaII = '2013-06-01';
|
||||
|
||||
$cantInicial = 0;
|
||||
$totalVtas = 0;
|
||||
$mostrar = false;
|
||||
$totalPzas = 0;
|
||||
$iniciales = array();
|
||||
$entradas = array();
|
||||
$salidas = array();
|
||||
for($m=0; $m<$meses; $m++){
|
||||
|
||||
$fechaIni = date('Y-m-01',strtotime('+'.$m.' month',$strFechaI));
|
||||
$fechaFin = date('Y-m-31',strtotime('+'.$m.' month',$strFechaI));
|
||||
|
||||
echo ' ';
|
||||
echo $fechaIni.' - '.$fechaFin;
|
||||
|
||||
|
||||
$producto->setProductoId($res['productoId']);
|
||||
$producto->setFechaIni($fechaIni);
|
||||
$producto->setFechaFin($fechaFin);
|
||||
|
||||
$producto->setSucursalId($sucursalId);
|
||||
$cantSalida = $producto->GetCantVendido();
|
||||
|
||||
echo ' :: '.$cantSalida;
|
||||
echo '<br>';
|
||||
|
||||
$cantSalidaVtas = $cantSalida;
|
||||
|
||||
$totalVtas += $cantSalida;
|
||||
|
||||
$cantSalida += $producto->GetSalEnvTT();
|
||||
|
||||
$cantEntrada = $producto->GetCantTotalCompBySuc();
|
||||
$cantEntrada += $producto->GetEntEnvTT();
|
||||
|
||||
$cantEntradaA = $producto->GetEntAjusteEnv();
|
||||
|
||||
$cantSalidaA = $producto->GetSalAjusteEnv();
|
||||
|
||||
//$cantEntradaA += $producto->GetEntAjusteExcel();
|
||||
|
||||
$totalPzas = ($cantInicial + $cantEntrada - $cantSalida + $cantEntradaA - $cantSalidaA);
|
||||
|
||||
$totSubs[$prodSubcatId][$m]['inicial'] += $cantInicial;
|
||||
$totSubs[$prodSubcatId][$m]['entradas'] += $cantEntrada;
|
||||
$totSubs[$prodSubcatId][$m]['salidas'] += $cantSalida;
|
||||
$totSubs[$prodSubcatId][$m]['entradasA'] += $cantEntradaA;
|
||||
$totSubs[$prodSubcatId][$m]['salidasA'] += $cantSalidaA;
|
||||
|
||||
$totCats[$prodCatId][$m]['inicial'] += $cantInicial;
|
||||
$totCats[$prodCatId][$m]['entradas'] += $cantEntrada;
|
||||
$totCats[$prodCatId][$m]['salidas'] += $cantSalida;
|
||||
$totCats[$prodCatId][$m]['entradasA'] += $cantEntradaA;
|
||||
$totCats[$prodCatId][$m]['salidasA'] += $cantSalidaA;
|
||||
|
||||
if($cantEntrada > 0 || $cantEntradaA > 0 || $cantInicial > 0)
|
||||
$mostrar = true;
|
||||
|
||||
if($cantSalida > 0 || $cantSalidaA > 0 || $cantInicial > 0)
|
||||
$mostrar = true;
|
||||
|
||||
if($mostrar == true){
|
||||
$iniciales[$m] = $cantInicial;
|
||||
$entradas[$m] = $cantEntrada;
|
||||
$salidas[$m] = $cantSalida;
|
||||
$entradasA[$m] = $cantEntradaA;
|
||||
$salidasA[$m] = $cantSalidaA;
|
||||
|
||||
$salidasVtas[$m] = $cantSalidaVtas;
|
||||
|
||||
$totIniciales[$m] += $cantInicial;
|
||||
$totEntradas[$m] += $cantEntrada;
|
||||
$totSalidas[$m] += $cantSalida;
|
||||
$totEntradasA[$m] += $cantEntradaA;
|
||||
$totSalidasA[$m] += $cantSalidaA;
|
||||
}else{
|
||||
$iniciales[$m] = 0;
|
||||
$entradas[$m] = 0;
|
||||
$salidas[$m] = 0;
|
||||
$entradasA[$m] = 0;
|
||||
$salidasA[$m] = 0;
|
||||
|
||||
$salidasVtas[$m] = 0;
|
||||
}
|
||||
|
||||
$cantInicial = $cantInicial + $cantEntrada - $cantSalida + $cantEntradaA - $cantSalidaA;
|
||||
|
||||
}//for
|
||||
|
||||
$res['iniciales'] = $iniciales;
|
||||
$res['entradas'] = $entradas;
|
||||
$res['salidas'] = $salidas;
|
||||
$res['salidasVtas'] = $salidasVtas;
|
||||
$res['entradasA'] = $entradasA;
|
||||
$res['salidasA'] = $salidasA;
|
||||
$res['totalPzas'] = $totalPzas;
|
||||
$res['proveedor'] = $nomProv;
|
||||
|
||||
$res['importe'] = $res['costo'] * $totalPzas;
|
||||
|
||||
$res['totalVtas'] = $totalVtas;
|
||||
$res['precioVta'] = $infP['precioVentaIva'];
|
||||
$res['importeVtas'] = $totalVtas * $infP['precioVentaIva'];
|
||||
|
||||
$totSubs[$prodSubcatId]['totalPzas'] += $totalPzas;
|
||||
$totCats[$prodCatId]['totalPzas'] += $totalPzas;
|
||||
$totSubs[$prodSubcatId]['importe'] += $res['importe'];
|
||||
$totCats[$prodCatId]['importe'] += $res['importe'];
|
||||
|
||||
$totSubs[$prodSubcatId]['totalVtas'] += $totalVtas;
|
||||
$totCats[$prodCatId]['totalVtas'] += $totalVtas;
|
||||
$totSubs[$prodSubcatId]['importeVtas'] += $res['importeVtas'];
|
||||
$totCats[$prodCatId]['importeVtas'] += $res['importeVtas'];
|
||||
|
||||
$res['prodCatId'] = $infP['prodCatId'];
|
||||
$res['prodSubcatId'] = $infP['prodSubcatId'];
|
||||
|
||||
if($mostrar == true){
|
||||
$totPzas += $totalPzas;
|
||||
$totImporte += $res['importe'];
|
||||
|
||||
$totVtas += $totalVtas;
|
||||
$totImporteVtas += $res['importeVtas'];
|
||||
|
||||
$productos[$prodCatId][$prodSubcatId][] = $res;
|
||||
}
|
||||
|
||||
}//foreach
|
||||
|
||||
$categorias = array();
|
||||
foreach($resCategorias as $prodCatId){
|
||||
$card['prodCatId'] = $prodCatId;
|
||||
$prodCat->setProdCatId($prodCatId);
|
||||
$card['nombre'] = utf8_encode($prodCat->GetNameById());
|
||||
$categorias[] = $card;
|
||||
}
|
||||
|
||||
$subcategorias = array();
|
||||
foreach($resSubcats as $prodCatId => $subcats){
|
||||
$card = array();
|
||||
$subcats2 = array();
|
||||
foreach($subcats as $prodSubcatId){
|
||||
$card['prodSubcatId'] = $prodSubcatId;
|
||||
$prodSubcat->setProdSubcatId($prodSubcatId);
|
||||
$card['nombre'] = utf8_encode($prodSubcat->GetNameById());
|
||||
$subcats2[] = $card;
|
||||
}
|
||||
|
||||
$subcategorias[$prodCatId] = $subcats2;
|
||||
|
||||
}
|
||||
|
||||
$suc['productos'] = $productos;
|
||||
$suc['categorias'] = $categorias;
|
||||
$suc['subcategorias'] = $subcategorias;
|
||||
$suc['totSubs'] = $totSubs;
|
||||
$suc['totCats'] = $totCats;
|
||||
|
||||
$suc['totIniciales'] = $totIniciales;
|
||||
$suc['totEntradas'] = $totEntradas;
|
||||
$suc['totSalidas'] = $totSalidas;
|
||||
$suc['totEntradasA'] = $totEntradasA;
|
||||
$suc['totSalidasA'] = $totSalidasA;
|
||||
$suc['totPzas'] = $totPzas;
|
||||
$suc['totImporte'] = $totImporte;
|
||||
$suc['totVtas'] = $totVtas;
|
||||
$suc['totImporteVtas'] = $totImporteVtas;
|
||||
|
||||
$sucursales[] = $suc;
|
||||
|
||||
}//foreach
|
||||
|
||||
//****
|
||||
|
||||
$serialize = urlencode(serialize($sucursales));
|
||||
|
||||
$sql = "REPLACE INTO `reporteProvBest` (
|
||||
`proveedorId` ,
|
||||
`fecha` ,
|
||||
`reporte` ,
|
||||
`sucursal`
|
||||
)
|
||||
VALUES (
|
||||
'".$proveedorId."',
|
||||
'".date("Y-m-d H:i:s")."',
|
||||
'".$serialize."',
|
||||
'')"
|
||||
;
|
||||
$util->DBSelect($_SESSION['empresaId'])->setQuery($sql);
|
||||
$util->DBSelect($_SESSION['empresaId'])->InsertData();
|
||||
|
||||
}//foreach
|
||||
|
||||
echo 'Done';
|
||||
|
||||
$end = microtime(true);
|
||||
echo "Tiempo de Ejecucion: ";
|
||||
echo $time = number_format(($end - $start), 2);
|
||||
|
||||
exit;
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user