<?php

/**
 * Class that operate on table 'toworkshoporder'. Database Mysql.
 *
 * @author: http://phpdao.com
 * @date: 2016-06-26 14:08
 */
class ToworkshoporderMySqlExtDAO extends ToworkshoporderMySqlDAO {

    public function queryByOrderStatusEX($value, $queryString) {
        $sql = 'SELECT * FROM toworkshoporder WHERE orderStatus IN( ' . $value . ' )  ' . $queryString . ' ';
        $sqlQuery = new SqlQuery($sql);
        //echo $sql;
        return $this->getList($sqlQuery);
    }

    public function queryByOrderStatusEXSimple($value, $queryString) {
        $sql = 'SELECT id FROM toworkshoporder WHERE orderStatus IN( ' . $value . ' )  ' . $queryString . ' ';
        $sqlQuery = new SqlQuery($sql);
        //echo $sql;
        return $this->getList($sqlQuery);
    }

    public function queryAllEX($queryString) {
        $sql = 'SELECT * FROM toworkshoporder  where 1 ' . $queryString . '';
        $sqlQuery = new SqlQuery($sql);
        return $this->getList($sqlQuery);
    }

    public function getDelayedOrdersByStatusAllData($ststus, $col1name, $col2name, $col3name) {//for history may be useless
        $sql = 'SELECT toworkshoporder.*,TIMESTAMPDIFF(HOUR,' . $col1name . ',' . $col2name . ') as hourdiff
                FROM toworkshoporder
                where orderStatus = ' . $ststus . '
                and TIMESTAMPDIFF(HOUR,' . $col1name . ',' . $col2name . ') > ' . $col3name . '
                and TIMESTAMPDIFF(HOUR,' . $col1name . ',' . $col2name . ') is not null ';
        $sqlQuery = new SqlQuery($sql);
        //echo $sql;
        return $this->getList($sqlQuery);
    }

    public function getDelayedOrdersByStatusCountOnly($ststus, $col1name, $col2name, $col3name) {//for history may be useless
        $sql = 'SELECT count(id)
                FROM toworkshoporder
                where orderStatus = ' . $ststus . '
                and TIMESTAMPDIFF(HOUR,' . $col1name . ',' . $col2name . ') > ' . $col3name . '
                and TIMESTAMPDIFF(HOUR,' . $col1name . ',' . $col2name . ') is not null  ';
        $sqlQuery = new SqlQuery($sql);
        //echo $sql . "<br/>";
        return $this->querySingleResult($sqlQuery);
    }

}

?>