/var/www/vhosts/nabawater/backend/models
Edit: /var/www/vhosts/nabawater/backend/models/VendorOrderReportSearch.php (2943B)
'php:Y-m-d H:i:s'],
['to_date', 'compare', 'compareAttribute' => 'from_date', 'operator' => '>'],
];
}
/**
* @param $params
* @return ActiveDataProvider
* @throws \Throwable
*/
public function search($params, $type = null)
{
$query = Order::find()
->alias('O')
->select([
'O.*',
'O.coupon_offer_value as total_discount_value',
'COUNT(O.order_id) AS no_of_orders',
'SUM(O.vendor_profit) as total_vendor_profit',
'SUM(O.admin_profit) as total_admin_commission',
'SUM(O.order_total) as total_order_amount',
'DATE(O.order_date_time) as order_date'
])
->where(['=' ,'O.order_status',Order::ORDER_STATUS_DELIVERED])
->groupBy(['O.branch_id', 'DATE(O.order_date_time)']);
if($type != null){
$query->andwhere(['O.payment_option' => $type]);
}
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'defaultPageSize' => Com::postPerPage()
],
'sort' => [
'defaultOrder' => [
'order_date_time' => SORT_DESC
]
]
]);
$this->load($params);
if(!$this->validate()) {
return $dataProvider;
}
$query->andFilterWhere(['>=', 'order_date_time', $this->from_date])
->andFilterWhere(['<=', 'order_date_time', $this->to_date])
->andFilterWhere(['O.vendor_id' => $this->vendor_id]);
return $dataProvider;
}
/**
* @return array
*/
public function getVendors()
{
$query = Vendor::find()->alias('V')
->select(['V.vendor_id']);
Vendor::selectTranslation($query);
return ArrayHelper::map($query->all(), 'vendor_id', 'vendor_name');
}
}