Subversion-Projekte lars-tiefland.ci

Revision

Revision 1192 | Revision 1274 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php

/**
 *
 * @package WebanOS CI
 * @author Lars Tiefland <ltiefland@gmail.com> 
 * @copyright 2016
 * @version $Rev: 1204 $
 */

class Order_model extends CI_Model
{
        public function __construct()
        {
                parent::__construct();
                $this->load->model('bestelladresse_model', 'bestelladresse');
                $this->load->model('artikel_to_bestellung_model', 'artikel');
        }

        public function get_list()
        {
                $orders = array();
                $sql = "SELECT
                                b.id
                        FROM
                                Bestellung b
                        ORDER BY
                                b.id DESC
                        LIMIT
                                100
                ";
                $res = $GLOBALS['order_db']->query($sql);
                while ($order = $res->unbuffered_row('array'))
                {
                        $order = $this->get($order['id']);
                        $billAddr = $this->bestelladresse->get($order['bill_addr_id']);
                        $shipAddr = $this->bestelladresse->get($order['ship_addr_id']);
                        $artikel = $this->artikel->get($order['id']);

                        $artikelstatus_buffer = unserialize($order["artikelstatus_buffer"]);
                        foreach ($artikelstatus_buffer as $key => $value)
                        {
                                switch ($key)
                                {
                                        case "statusOffen":
                                                $info[$key]["class"] = "status_red";
                                                break;
                                        case "statusInBearbeitung":
                                                $info[$key]["class"] = "status_yellow";
                                                break;
                                        case "statusReserviert":
                                                $info[$key]["class"] = "status_blue";
                                                break;
                                        case "statusErledigt":
                                                $info[$key]["class"] = "status_green";
                                                break;
                                        case "statusAbgeschlossen":
                                        default:
                                                $info[$key]["class"] = "status_white";
                                                break;

                                }
                                $info[$key]["wert"] = $value;
                        }
                        $order["info"] = $info;
                        $rechnungsstatus_buffer = unserialize($order["rechnungsstatus_buffer"]);
                        foreach ($rechnungsstatus_buffer as $key => $value)
                        {
                                switch ($key)
                                {
                                        case "rechnungSchreiben":
                                                $rstatus[$key]["class"] = "status_red";
                                                break;
                                        case "rechnungGeschrieben":
                                                $rstatus[$key]["class"] = "status_yellow";
                                                break;
                                        case "rechnungBezahlt":
                                                $rstatus[$key]["class"] = "status_green";
                                                break;

                                }
                                $rstatus[$key]["wert"] = $value;
                        }
                        $order["rechnungsstatus"] = $rstatus;
                        $lieferscheinstatus_buffer = unserialize($order["lieferscheinstatus_buffer"]);
                        foreach ($lieferscheinstatus_buffer as $key => $value)
                        {
                                switch ($key)
                                {
                                        case "lieferscheinSchreiben":
                                                $lstatus[$key]["class"] = "status_yellow";
                                                break;
                                        case "lieferscheinGeschrieben":
                                                $lstatus[$key]["class"] = "status_green";
                                                break;
                                        case "lieferscheinOffen":
                                                $lstatus[$key]["class"] = "status_red";
                                                break;

                                }
                                $lstatus[$key]["wert"] = $value;
                        }
                        $order['lieferscheinstatus'] = $lstatus;

                        $order['artikel'] = $artikel;
                        $order['shipAddr'] = $shipAddr;
                        $order['billAddr'] = $billAddr;
                        $orders[] = $order;
                }
                return $orders;
        }

        public function get($id)
        {
                $orders = array();
                $sql = "SELECT
                                b.id,
                                b.shops_ID,
                                b.login,
                                bill_addr_id,
                                ship_addr_id,
                                erstellt_am,
                                erstellt_von,
                                letzte_aenderung_am,
                                letzte_aenderung_von,
                                status,
                                fremd_id,
                                artikelstatus_buffer,
                                rechnungsstatus_buffer,
                                lieferscheinstatus_buffer,
                                bezahlt,
                                bezahlt_am,
                                s.name AS shop
                        FROM
                                Bestellung b
                        JOIN
                                shops s
                        ON
                                s.id=b.shops_id
                        WHERE
                                b.id=".$id."
                ";
                $res = $GLOBALS['order_db']->query($sql);
                $order = $res->unbuffered_row('array');
                $billAddr = $this->bestelladresse->get($order['bill_addr_id']);
                $shipAddr = $this->bestelladresse->get($order['ship_addr_id']);
                $artikel = $this->artikel->get($order['id']);

                $artikelstatus_buffer = unserialize($order["artikelstatus_buffer"]);
                foreach ($artikelstatus_buffer as $key => $value)
                {
                        switch ($key)
                        {
                                case "statusOffen":
                                        $info[$key]["class"] = "status_red";
                                        break;
                                case "statusInBearbeitung":
                                        $info[$key]["class"] = "status_yellow";
                                        break;
                                case "statusReserviert":
                                        $info[$key]["class"] = "status_blue";
                                        break;
                                case "statusErledigt":
                                        $info[$key]["class"] = "status_green";
                                        break;
                                case "statusAbgeschlossen":
                                default:
                                        $info[$key]["class"] = "status_white";
                                        break;

                        }
                        $info[$key]["wert"] = $value;
                }
                $order["info"] = $info;
                $rechnungsstatus_buffer = unserialize($order["rechnungsstatus_buffer"]);
                foreach ($rechnungsstatus_buffer as $key => $value)
                {
                        switch ($key)
                        {
                                case "rechnungSchreiben":
                                        $rstatus[$key]["class"] = "status_red";
                                        break;
                                case "rechnungGeschrieben":
                                        $rstatus[$key]["class"] = "status_yellow";
                                        break;
                                case "rechnungBezahlt":
                                        $rstatus[$key]["class"] = "status_green";
                                        break;

                        }
                        $rstatus[$key]["wert"] = $value;
                }
                $order["rechnungsstatus"] = $rstatus;
                $lieferscheinstatus_buffer = unserialize($order["lieferscheinstatus_buffer"]);
                foreach ($lieferscheinstatus_buffer as $key => $value)
                {
                        switch ($key)
                        {
                                case "lieferscheinSchreiben":
                                        $lstatus[$key]["class"] = "status_yellow";
                                        break;
                                case "lieferscheinGeschrieben":
                                        $lstatus[$key]["class"] = "status_green";
                                        break;
                                case "lieferscheinOffen":
                                        $lstatus[$key]["class"] = "status_red";
                                        break;

                        }
                        $lstatus[$key]["wert"] = $value;
                }
                $order['lieferscheinstatus'] = $lstatus;

                $order['artikel'] = $artikel;
                $order['shipAddr'] = $shipAddr;
                $order['billAddr'] = $billAddr;

                return $order;
        }
}

?>