统计中把按周查看改为按日查看

This commit is contained in:
2024-10-30 10:57:48 +08:00
parent e2b856bdbf
commit a2e6e79eb1

View File

@@ -549,12 +549,14 @@ class FinanceController extends BaseAdminController
$timeType = \Yii::$app->request->get('time_type');
$month = [];
$week = [];
$day = [];
switch ($timeType) {
case 1:
$startTime = strtotime(date('Y-m-1 00:00:00'));
$endTime = strtotime(date('Y-m-d H:i:s'));
$week = $this->getWeekList($startTime, $endTime);
$day = $this->getDayList($startTime, $endTime);
break;
case 2:
$startTime = strtotime(date('Y-1-1 00:00:00'));
@@ -577,15 +579,16 @@ class FinanceController extends BaseAdminController
throw new Exception('参数错误');
}
$where = $this->getFinanceWhere($role, $admin);
$result = $this->getSleMoney($startTime, $endTime, $month, $week, $where);
$result = $this->getSleMoney($startTime, $endTime, $month, $week, $day, $where);
$year = date('Y');
$week = array_map(function ($v) use($year) {
return $year.'-第' . $v . '周';
}, $week);
// $year = date('Y');
// $week = array_map(function ($v) use($year) {
// return $year.'-第' . $v . '周';
// }, $week);
return [
'line' => [
'month' => !empty($month) ? $month : $week,
// 'month' => !empty($month) ? $month : $week,
'month' => !empty($month) ? $month : $day,
'sale_money' => $result['sale_money'],
'legend' => $result['line_legend'],
// 'buy_money' => $result['buy_money'],
@@ -607,18 +610,6 @@ class FinanceController extends BaseAdminController
*/
public function getFinanceWhere($role, $admin)
{
// $role = UserRoleEnum::SUPPLY;
// $admin->store_id = 2;
// $admin->province_id = 14;
// $admin->city_id = 1225;
// // F920I5RQ
// // AIV1W807
// // X74G8Q5U
// // AIV1W807
// // 6TXQ576X
// // F920I5RQ
// // U5v7s3b9
// $admin->code = 'AIV1W807';
$where = [];
switch ($role) {
case UserRoleEnum::SUPER_ADMIN:
@@ -661,10 +652,11 @@ class FinanceController extends BaseAdminController
* @param $endTime
* @param $month
* @param $week
* @param $day
* @param array $where
* @return array[]
*/
public function getSleMoney($startTime, $endTime, $month, $week, $where = [])
public function getSleMoney($startTime, $endTime, $month, $week, $day, $where = [])
{
// 根据$month列表的月份统计数据
$query = Reconciliation::find()->where(['between', 'created_at', $startTime, $endTime])->andWhere(['status' => 1])->select([
@@ -695,8 +687,10 @@ class FinanceController extends BaseAdminController
// TODO 暂时不统计供货价
// $buyMoney = [];
// 判断获取时间方法
$dateStr = !empty($week) ? 'W' : 'Y-m';
$dateArr = !empty($week) ? $week : $month;
// $dateStr = !empty($week) ? 'W' : 'Y-m';
// $dateArr = !empty($week) ? $week : $month;
$dateStr = !empty($day) ? 'm-d' : 'Y-m';
$dateArr = !empty($day) ? $day : $month;
foreach ($model as $v) {
$thisMonth = date($dateStr, $v['created_at']);
@@ -873,4 +867,22 @@ class FinanceController extends BaseAdminController
}
return $weeks;
}
/**
* 获取选中的时间段有几周
*
* @param $startTime
* @param $endTime
* @return array
*/
public function getDayList($startTime, $endTime)
{
$weeks = [];
$currentTime = $startTime;
while ($currentTime <= $endTime) {
$weeks[] = date('m-d', $currentTime);
$currentTime = strtotime('+1 day', $currentTime);
}
return $weeks;
}
}