修复bug

This commit is contained in:
2024-11-13 15:16:20 +08:00
parent 64ce01bb91
commit 7e26a985b2
6 changed files with 192 additions and 102 deletions

View File

@@ -544,54 +544,53 @@ class FinanceController extends BaseAdminController
*/
public function actionSaleMoney()
{
$get = \Yii::$app->request->get();
$admin = \Yii::$app->user->identity;
$role = $admin->role;
$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'));
$endTime = strtotime(date('Y-m-d H:i:s'));
$month = $this->getMonthsList($startTime, $endTime);
break;
case 3:
$thisYear = date('Y');
$lastYear = $thisYear - 1;
$startTime = strtotime($lastYear . '-01-01 00:00:00');
$endTime = strtotime($lastYear . '-12-31 23:59:59');
$month = $this->getMonthsList($startTime, $endTime);
break;
case 4:
$startTime = strtotime('2023-01-01 00:00:00');
$endTime = time();
$month = $this->getMonthsList($startTime, $endTime);
break;
default:
throw new Exception('参数错误');
$startTime = strtotime($get['start_time']. ' 00:00:00');
$endTime = strtotime($get['end_time']. ' 23:59:59');
$day = $this->getDayList($startTime, $endTime);
$month = $this->getMonthsList($startTime, $endTime);
if (count($day) > 60) {
$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'));
// $endTime = strtotime(date('Y-m-d H:i:s'));
// $month = $this->getMonthsList($startTime, $endTime);
// break;
// case 3:
// $thisYear = date('Y');
// $lastYear = $thisYear - 1;
// $startTime = strtotime($lastYear . '-01-01 00:00:00');
// $endTime = strtotime($lastYear . '-12-31 23:59:59');
// $month = $this->getMonthsList($startTime, $endTime);
// break;
// case 4:
// $startTime = strtotime('2023-01-01 00:00:00');
// $endTime = time();
// $month = $this->getMonthsList($startTime, $endTime);
// break;
// default:
// throw new Exception('参数错误');
// }
$where = $this->getFinanceWhere($role, $admin);
$result = $this->getSleMoney($startTime, $endTime, $month, $week, $day, $where);
$result = $this->getSleMoney($startTime, $endTime, $month, [], $day, $where);
// $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 : $day,
'month' => !empty($day) ? $day : $month,
'sale_money' => $result['sale_money'],
'legend' => $result['line_legend'],
// 'buy_money' => $result['buy_money'],
],
'drug' => [
'data' => $result['drug_data']
@@ -685,10 +684,7 @@ class FinanceController extends BaseAdminController
// 总金额
$totalMoney = 0;
// TODO 暂时不统计供货价
// $buyMoney = [];
// 判断获取时间方法
// $dateStr = !empty($week) ? 'W' : 'Y-m';
// $dateArr = !empty($week) ? $week : $month;
$dateStr = !empty($day) ? 'm-d' : 'Y-m';
$dateArr = !empty($day) ? $day : $month;
@@ -696,7 +692,6 @@ class FinanceController extends BaseAdminController
$thisMonth = date($dateStr, $v['created_at']);
$saleMoney[$thisMonth] = bcadd($saleMoney[$thisMonth] ?? '0', $v['total_price'], 2);
$totalMoney = bcadd($totalMoney, $v['total_price'], 2);
// $buyMoney[$thisMonth] = bcadd($buyMoney[$thisMonth]?? '0', $v['total_buy_price'], 3);
// 药品
if (!isset($drugSaleMoney[$v['drug_type']])) {
@@ -710,16 +705,13 @@ class FinanceController extends BaseAdminController
}
foreach ($dateArr as $v) {
if (!isset($saleMoney[$v])) $saleMoney[$v] = '0.00';
// if (!isset($buyMoney[$v])) $buyMoney[$v] = '0.00';
}
return [
'sale_money' => $this->getArrValues($saleMoney),
// 'buy_money' => $this->getArrValues($buyMoney),
'total_money' => $totalMoney,
'line_legend' => ['销售金额'],
// 药品类型统计
'drug_data' => $this->getArrValues($drugSaleMoney),
];
}