|
@@ -90,6 +90,19 @@ class PackagesController extends Curd
|
|
if ($orderIds) {
|
|
if ($orderIds) {
|
|
$where['order_id'] = ['in', implode(',', $orderIds)];
|
|
$where['order_id'] = ['in', implode(',', $orderIds)];
|
|
}
|
|
}
|
|
|
|
+ if (!empty($where['order_status_system']) && in_array($where['order_status_system'], ['PENDING', 'WAITING', 'SENDING', 'RECVING', 'SIGNED', 'CONFIRM'])) {
|
|
|
|
+ if ($where['order_status_system'] == 'SENDING') {
|
|
|
|
+ $where['order_express.order_express_type'] = '配送';
|
|
|
|
+ }
|
|
|
|
+ $where['order_is_complete'] = 'N';
|
|
|
|
+// $where['order_category'] = isset($where['order_category']) ? $where['order_category'] : ['in', 'SYSTEM,NORMAL,DISHES'];
|
|
|
|
+ }
|
|
|
|
+ // 自提订单
|
|
|
|
+ if (!empty($where['order_status_system']) && $where['order_status_system'] == 'PICKUP') {
|
|
|
|
+ $where['order_is_complete'] = 'N';
|
|
|
|
+ $where['order_status_system'] = 'SENDING';
|
|
|
|
+ $where['order_express.order_express_type'] = '自提';
|
|
|
|
+ }
|
|
|
|
|
|
$query = $this->doSelect($where, $field, $order);
|
|
$query = $this->doSelect($where, $field, $order);
|
|
return $this->doFormat($query, $format, $limit);
|
|
return $this->doFormat($query, $format, $limit);
|
|
@@ -117,8 +130,18 @@ class PackagesController extends Curd
|
|
'express' => function ($query) {
|
|
'express' => function ($query) {
|
|
$query->select('join_express_order_id', 'order_express_type');
|
|
$query->select('join_express_order_id', 'order_express_type');
|
|
}
|
|
}
|
|
- ])->leftJoin('order_return', 'order_return.join_return_order_id', '=', 'order.order_id');
|
|
|
|
|
|
+ ])->leftJoin('order_return', 'order_return.join_return_order_id', '=', 'order.order_id')
|
|
|
|
+ ->leftJoin('order_express', 'order_express.join_express_order_id', '=', 'order.order_id');
|
|
// ->leftJoin('order_sheet','join_sheet_order_id','=','order.order_id');
|
|
// ->leftJoin('order_sheet','join_sheet_order_id','=','order.order_id');
|
|
|
|
+ if (isset($where['order_status_system']) && $where['order_status_system'] == 'DONE'){
|
|
|
|
+ $model = $model->where(function($query){
|
|
|
|
+ $query->where('order_status_system','DONE')
|
|
|
|
+ ->orWhere(function($query2){
|
|
|
|
+ $query2->where('order_status_system','CONFIRM')->where('order_is_complete','Y');
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ unset($where['order_status_system']);
|
|
|
|
+ }
|
|
foreach ($where as $column => $value) {
|
|
foreach ($where as $column => $value) {
|
|
if (is_array($value)) {
|
|
if (is_array($value)) {
|
|
if ($value[0] === 'like' || $value[0] === 'not like') {
|
|
if ($value[0] === 'like' || $value[0] === 'not like') {
|
|
@@ -152,6 +175,7 @@ class PackagesController extends Curd
|
|
$model = $model->orderBy($field, $order);
|
|
$model = $model->orderBy($field, $order);
|
|
}
|
|
}
|
|
$model = $model->select('order.*', 'order_return.orders_return_id', 'order_return.join_return_order_id', 'order_return.order_return_status', 'order_return.order_return_apply_json', 'order_return.order_return_remark');
|
|
$model = $model->select('order.*', 'order_return.orders_return_id', 'order_return.join_return_order_id', 'order_return.order_return_status', 'order_return.order_return_apply_json', 'order_return.order_return_remark');
|
|
|
|
+
|
|
return $model;
|
|
return $model;
|
|
}
|
|
}
|
|
|
|
|