<?php

/**
 * Class that operate on table 'billtemplatedetail'. Database Mysql.
 *
 * @author: http://phpdao.com
 * @date: 2022-05-25 03:14
 */
class BilltemplatedetailMySqlExtDAO extends BilltemplatedetailMySqlDAO {

    public function insertWithId($billtemplatedetail, $id) {
        $sql = 'INSERT INTO billtemplatedetail (id,billTemplateId, type, parcode, productid, sizeid, colorid, unitid, quantity) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)';
        $sqlQuery = new SqlQuery($sql);

        $sqlQuery->setNumber($id);
        $sqlQuery->setNumber($billtemplatedetail->billTemplateId);
        $sqlQuery->setNumber($billtemplatedetail->type);
        $sqlQuery->set($billtemplatedetail->parcode);
        $sqlQuery->setNumber($billtemplatedetail->productid);
        $sqlQuery->setNumber($billtemplatedetail->sizeid);
        $sqlQuery->setNumber($billtemplatedetail->colorid);
        $sqlQuery->setNumber($billtemplatedetail->unitid);
        $sqlQuery->setNumber($billtemplatedetail->quantity);

        $id = $this->executeInsert($sqlQuery);
        $billtemplatedetail->id = $id;
        return $id;
    }

    public function queryByBillTemplateIdEXAndType($billTemplateId, $type) {
        $sql = 'SELECT billtemplatedetail.*, product.productName,unit.unitName ,productcat.productCatName, product.productCatId
                ,size.name as sizeName,color.name as colorName,productunit.productnumber
		 FROM billtemplatedetail JOIN product
		 ON billtemplatedetail.productid = product.productId
		 left JOIN productunit
		 ON billtemplatedetail.unitid = productunit.productunitid
		 left JOIN  unit
		 ON unit.unitId = productunit.unitid

		 join productcat

		  on productcat.productCatId=product.productCatId

                left join sizecolor as size on size.id = billtemplatedetail.sizeid
                left join sizecolor as color on color.id = billtemplatedetail.colorid

		 WHERE billtemplatedetail.billTemplateId = ' . $billTemplateId . ' and  billtemplatedetail.type = ' . $type . ' order by billtemplatedetail.id asc';
        //echo $sql;
        $sqlQuery = new SqlQuery($sql);
        return $this->getList($sqlQuery);
    }

}

?>