Files
ctms-yii/ctms-api/controllers/gm/v1/IndexController.php
T
2025-07-13 19:40:10 +08:00

154 lines
4.7 KiB
PHP
Executable File

<?php
//主入口页
namespace api\controllers\gm\v1;
use Yii;
use yii\data\Pagination;
use addons\models\AcCar;
use addons\models\AcCarOwner;
use addons\models\AcCarBrand;
use addons\models\AcCarSeries;
use addons\models\AcStore;
use addons\models\AcEmployee;
use addons\models\AcOrder;
use addons\models\AcOrderPre;
use addons\models\AcOrderStatus;
use addons\models\AcTruck;
use addons\models\AcDriver;
use addons\models\AcPlat;
use common\models\CVcode;
use addons\models\AcContact;
use common\models\Member as User;
use addons\models\AcUserExt;
class IndexController extends Common
{
public function beforeAction($action)
{
if (!$this->pid) {
$this->result('您正使用本系统内部接口,禁止非法链接使用!');
}
return parent::beforeAction($action);
}
public function actionIndex()
{
$apis = [
'h5data' => '拉取APP首页数据',
];
$this->result('您正使用CMTS-GM系统接口!', $apis, 200);
}
public function actionH5data()
{
$pid = $this->pid;
$model = new AcOrder();
$search = $where = $orwhere = [];
$where[] = 'and';
$where[] = ['=', 'pid', $pid];
$deleted = 0;
$where[] = ['=', 'deleted', $deleted]; //排除已删除运单
$status_code = -1;
$where[] = ['<>', 'status_code', $status_code]; //排除已取消运单
$start = date('Y-m-d 00:00:00'); //今日0点
// $start = date('2020-08-29 00:00:00'); //测试时段
$start = strtotime($start);
$end = date('Y-m-d H:i:s'); //当前时间点
// $end = date('2021-09-04 00:00:00'); //测试时段
$end = strtotime($end);
//今日运单
$_where = $where;
$_where[] = ['=', 'is_turnover', 0]; //排除交车单
$_where[] = ['between', 'sign_date', $start, $end];
$data = $model->find()->where($_where);
$order_today_count = (int)$data->count();
//今日交车
$_where = $where;
$_where[] = ['=', 'is_turnover', 1]; //交车单
$_where[] = ['between', 'sign_date', $start, $end];
$data = $model->find()->where($_where);
$jiaoche_today_count = (int)$data->count();
//今日录单
$_where = $where;
$_where[] = ['between', 'create_at', $start, $end];
$data = $model->find()->where($_where);
$order_today_create = (int)$data->count();
//昨日
$_end = $start;
$_start = date('Y-m-d 00:00:00', strtotime("-1 day"));
$_start = strtotime($_start);
//昨日运单
$_where = $where;
$_where[] = ['=', 'is_turnover', 0]; //排除交车单
$_where[] = ['between', 'sign_date', $_start, $_end];
$data = $model->find()->where($_where);
$order_yesterday_count = (int)$data->count();
//昨日交车
$_where = $where;
$_where[] = ['=', 'is_turnover', 1]; //交车单
$_where[] = ['between', 'sign_date', $_start, $_end];
$data = $model->find()->where($_where);
$jiaoche_yesterday_count = (int)$data->count();
//昨日录单
$_where = $where;
$_where[] = ['between', 'create_at', $_start, $_end];
$data = $model->find()->where($_where);
$order_yesterday_create = (int)$data->count();
//本月起始时间点
$_start = date('Y-m-01 00:00:00');
$ldm = strtotime("last day of " . $_start);
$m = date("Y-m-d", $ldm) . " 23:59:59";
$_start = strtotime($_start);
$_end = strtotime($m);
//本月运单
$_where = $where;
$_where[] = ['=', 'is_turnover', 0]; //排除交车单
$_where[] = ['between', 'sign_date', $_start, $_end];
$data = $model->find()->where($_where);
$order_month_count = (int)$data->count();
//本月交车
$_where = $where;
$_where[] = ['=', 'is_turnover', 1];
$_where[] = ['between', 'sign_date', $_start, $_end];
$data = $model->find()->where($_where);
$jiaoche_month_count = (int)$data->count();
//累计运单
$_where = $where;
$_where[] = ['=', 'is_turnover', 0]; //排除交车单
$data = $model->find()->where($_where);
$order_all_count = (int)$data->count();
//累计交车
$_where = $where;
$_where[] = ['=', 'is_turnover', 1];
$data = $model->find()->where($_where);
$jiaoche_all_count = (int)$data->count();
$return = [];
$return['code'] = 200;
$return['msg'] = '首页数据下载!';
$return['data'] = [
'orderToday' => $order_today_count,
'orderTodayCreate'=>$order_today_create,
'orderYesterday'=>$order_yesterday_count,
'orderYesterdayCreate'=>$order_yesterday_create,
'orderMonth' => $order_month_count,
'orderTotal' => $order_all_count,
'jiaocheToday' => $jiaoche_today_count,
'jiaocheYesterday' => $jiaoche_yesterday_count,
'jiaocheMonth' => $jiaoche_month_count,
'jiaocheTotal' => $jiaoche_all_count,
'notice' => 0
];
$this->result($return['msg'], $return['data'], $return['code']);
}
}