Пример #1
0
function search_merge_sort($array)
{
    //if array is but one element, array is sorted, so return as is
    if (sizeof($array) <= 1) {
        return $array;
    }
    //bifurcate unsorted array
    $array2 = array_splice($array, sizeof($array) / 2);
    //recursively merge-sort and return
    return search_merge(search_merge_sort($array), search_merge_sort($array2));
}
Пример #2
0
function ordenarPedidosDet4Vencimiento($resumen, $id, $idlocal)
{
    $oProducto = new producto();
    if (!$oProducto->Load($id)) {
        return $resumen;
    }
    //Existe el Producto
    if (!$oProducto->get("FechaVencimiento")) {
        return $resumen;
    }
    //Meneja Vencimiento?
    //Obtiene resumen por fecha
    $Vence = getPedidoDet2Kardex('VenceResumen', $resumen, $id, $idlocal);
    //~pedidodet:fecha
    $aResumen = explode("~", $resumen);
    $aVence = explode("~", $Vence);
    $Fechas = array();
    $nResumen = array();
    //Resumen ordenado por fecha
    foreach ($aVence as $pFecha) {
        $aFecha = explode(":", $pFecha);
        if (isset($aFecha[1])) {
            array_push($Fechas, strtotime($aFecha[1]));
        }
    }
    $Fechas = search_merge_sort($Fechas);
    //Resumen fechas ordenadas
    foreach ($Fechas as $Fecha) {
        //Get IdPedido de Resumen fechas desordenadas
        foreach ($aVence as $pFecha) {
            $aFecha = explode(":", $pFecha);
            if (!isset($aFecha[1])) {
                break;
            }
            if ($Fecha == strtotime($aFecha[1])) {
                //Push Resumen Kardex
                foreach ($aResumen as $pPedido) {
                    $aPedido = explode(":", $pPedido);
                    if ($aPedido[0] == $aFecha[0]) {
                        if (!in_array($pPedido, $nResumen)) {
                            array_push($nResumen, $pPedido);
                        }
                        break;
                    }
                }
            }
        }
    }
    //Resumen ordenado por vencimiento
    $resumen = implode("~", $nResumen);
    return $resumen;
}