|
@@ -11,8 +11,276 @@ use support\Request;
|
|
|
|
|
|
class CardController
|
|
|
{
|
|
|
-
|
|
|
public function list(Request $request)
|
|
|
+ {
|
|
|
+ $page = $request->get('page', 1);
|
|
|
+ $pageSize = $request->get('pageSize', 20);
|
|
|
+ $times = $request->get('times', [date('Y-m-01 00:00:00'), date('Y-m-d 23:59:59')]);
|
|
|
+ $times[0] = strtotime($times[0]);
|
|
|
+ $times[1] = strtotime(date('Y-m-d 23:59:59', strtotime($times[1])));
|
|
|
+ $name = $request->get('card_main_name');
|
|
|
+ $cardMain = CardMain::when(!empty($name), function ($query) use ($name) {
|
|
|
+ $query->where('card_main_name', 'like', '%' . $name . '%');
|
|
|
+ })->get()
|
|
|
+ ->toArray();
|
|
|
+ $cardIds = array_column($cardMain, 'card_main_id');
|
|
|
+ $cardAmount = array_column($cardMain, 'card_main_amount', 'card_main_id');
|
|
|
+ $cardName = array_column($cardMain, 'card_main_name', 'card_main_id');
|
|
|
+
|
|
|
+ $cardStatus = [
|
|
|
+ 'issue' => 'ISSUE',
|
|
|
+ 'add' => 'ADD',
|
|
|
+ 'waiting' => 'WAITING',
|
|
|
+ 'pending' => 'PENDING',
|
|
|
+ 'used' => 'USED',
|
|
|
+ 'done' => 'DONE',
|
|
|
+ 'expired' => 'EXPIRED',
|
|
|
+ 'paused' => 'PAUSED'
|
|
|
+ ];
|
|
|
+ $data = [];
|
|
|
+ foreach ($cardStatus as $key => $status) {
|
|
|
+ $cards = Card::when(!empty($cardIds), function ($query) use ($cardIds) {
|
|
|
+ $query->whereIn('join_card_main_id', $cardIds);
|
|
|
+ })->when($status == 'ISSUE', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.issue_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.issue_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.issue_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'ADD', function ($query) use ($times) {
|
|
|
+ $query->whereBetween('card_addtimes', $times)
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(card_addtimes),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'WAITING', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(card_assign_datetime) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(card_assign_datetime) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(card_assign_datetime)),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'PENDING', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.buy_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.buy_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.buy_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'USED', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.used_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.used_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.used_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'DONE', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.done_time'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.done_time'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.done_time' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'EXPIRED', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.expired_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.expired_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.expired_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'PAUSED', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.paused_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.paused_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.paused_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->selectRaw('count(card_id) as total,join_card_main_id')
|
|
|
+ ->groupBy('join_card_main_id', 'group_by_time')
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+ $data[$key] = $cards;
|
|
|
+ }
|
|
|
+ $start = new \DateTime(date('Y-m-d', $times[0]));
|
|
|
+ $end = new \DateTime(date('Y-m-d 23:59:59', $times[1]));
|
|
|
+
|
|
|
+ // 创建一个 DateInterval,设置为一天
|
|
|
+ $interval = new \DateInterval('P1D');
|
|
|
+ // 创建一个日期范围对象,用于迭代所有日期
|
|
|
+ $dateRange = new \DatePeriod($start, $interval, $end);
|
|
|
+ $rows = [];
|
|
|
+ $statistics = [
|
|
|
+ 'issue' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'add' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'waiting' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'pending' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'used' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'done' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'expired' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'paused' => ['total' => 0, 'amount' => 0],
|
|
|
+ ];
|
|
|
+ foreach ($dateRange as $date) {
|
|
|
+ $dayDate = $date->format('Y-m-d');
|
|
|
+ foreach ($data as $key => $datum) {
|
|
|
+ if (!empty($datum)) {
|
|
|
+ foreach ($datum as $item) {
|
|
|
+ if ($item['group_by_time'] == $dayDate) {
|
|
|
+ $dateKey = $dayDate . '_' . $item['join_card_main_id'];
|
|
|
+ $total = $item['total'];
|
|
|
+ $statistics[$key]['total'] += $total;
|
|
|
+ $mainAmount = $cardAmount[$item['join_card_main_id']] ?? 0;
|
|
|
+ $amount = $total * $mainAmount;
|
|
|
+ $statistics[$key]['amount'] += $amount;
|
|
|
+ if (!empty($rows[$dateKey]) && !empty($rows[$dateKey][$key]) && !empty($rows[$dateKey][$key]['total'])) {
|
|
|
+ $total = $rows[$dateKey][$key]['total'] + $total;
|
|
|
+ $amount = $rows[$dateKey][$key]['amount'] + $amount;
|
|
|
+ }
|
|
|
+ $rows[$dateKey]['key'] = strtotime($dayDate) . '_' . $item['join_card_main_id'];
|
|
|
+ $rows[$dateKey]['date'] = $dayDate;
|
|
|
+ $rows[$dateKey]['card_main_id'] = $item['join_card_main_id'];
|
|
|
+ $rows[$dateKey]['card_main_name'] = $cardName[$item['join_card_main_id']] ?? '';
|
|
|
+ $rows[$dateKey]['card_main_amount'] = $mainAmount;
|
|
|
+ $rows[$dateKey][$key] = [
|
|
|
+ 'total' => $total,
|
|
|
+ 'amount' => $amount
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $rows = array_reverse($rows);
|
|
|
+ $rowsCount = count($rows);
|
|
|
+ $start = $pageSize * ($page - 1);
|
|
|
+ $data = array_slice($rows, $start, $pageSize);
|
|
|
+
|
|
|
+ return json_success('success', [
|
|
|
+ 'total' => $rowsCount,
|
|
|
+ 'rows' => array_values($data),
|
|
|
+ 'page' => $page,
|
|
|
+ 'pageSize' => $pageSize,
|
|
|
+ 'statistics' => $statistics
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function exportCard(Request $request)
|
|
|
+ {
|
|
|
+ $times = $request->get('times', [date('Y-m-01 00:00:00'), date('Y-m-d 23:59:59')]);
|
|
|
+ $times[0] = strtotime($times[0]);
|
|
|
+ $times[1] = strtotime(date('Y-m-d 23:59:59', strtotime($times[1])));
|
|
|
+ $name = $request->get('card_main_name');
|
|
|
+ $keys = $request->get('keys', []);
|
|
|
+ $cardMain = CardMain::when(!empty($name), function ($query) use ($name) {
|
|
|
+ $query->where('card_main_name', 'like', '%' . $name . '%');
|
|
|
+ })->get()
|
|
|
+ ->toArray();
|
|
|
+ $cardIds = array_column($cardMain, 'card_main_id');
|
|
|
+ $cardAmount = array_column($cardMain, 'card_main_amount', 'card_main_id');
|
|
|
+ $cardName = array_column($cardMain, 'card_main_name', 'card_main_id');
|
|
|
+
|
|
|
+ $cardStatus = [
|
|
|
+ 'issue' => 'ISSUE',
|
|
|
+ 'add' => 'ADD',
|
|
|
+ 'waiting' => 'WAITING',
|
|
|
+ 'pending' => 'PENDING',
|
|
|
+ 'used' => 'USED',
|
|
|
+ 'done' => 'DONE',
|
|
|
+ 'expired' => 'EXPIRED',
|
|
|
+ 'paused' => 'PAUSED'
|
|
|
+ ];
|
|
|
+ $data = [];
|
|
|
+ foreach ($cardStatus as $key => $status) {
|
|
|
+ $cards = Card::when(!empty($cardIds), function ($query) use ($cardIds) {
|
|
|
+ $query->whereIn('join_card_main_id', $cardIds);
|
|
|
+ })->when($status == 'ISSUE', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.issue_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.issue_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.issue_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'ADD', function ($query) use ($times) {
|
|
|
+ $query->whereBetween('card_addtimes', $times)
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(card_addtimes),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'WAITING', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(card_assign_datetime) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(card_assign_datetime) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(card_assign_datetime)),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'PENDING', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.buy_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.buy_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.buy_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'USED', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.used_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.used_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.used_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'DONE', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.done_time'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.done_time'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.done_time' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'EXPIRED', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.expired_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.expired_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.expired_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->when($status == 'PAUSED', function ($query) use ($times) {
|
|
|
+ $query->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.paused_datetime'))) as SIGNED) >= {$times[0]}")
|
|
|
+ ->whereRaw("CAST(UNIX_TIMESTAMP(JSON_UNQUOTE(JSON_EXTRACT(card_extend_json,'$.paused_datetime'))) as SIGNED) <= {$times[1]}")
|
|
|
+ ->selectRaw("DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP( JSON_UNQUOTE( JSON_EXTRACT( card_extend_json, '$.paused_datetime' )))),'%Y-%m-%d') AS group_by_time");
|
|
|
+ })->selectRaw('count(card_id) as total,join_card_main_id')
|
|
|
+ ->groupBy('join_card_main_id', 'group_by_time')
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+ $data[$key] = $cards;
|
|
|
+ }
|
|
|
+ $start = new \DateTime(date('Y-m-d', $times[0]));
|
|
|
+ $end = new \DateTime(date('Y-m-d 23:59:59', $times[1]));
|
|
|
+
|
|
|
+ // 创建一个 DateInterval,设置为一天
|
|
|
+ $interval = new \DateInterval('P1D');
|
|
|
+ // 创建一个日期范围对象,用于迭代所有日期
|
|
|
+ $dateRange = new \DatePeriod($start, $interval, $end);
|
|
|
+ $rows = [];
|
|
|
+ $statistics = [
|
|
|
+ 'issue' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'add' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'waiting' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'pending' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'used' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'done' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'expired' => ['total' => 0, 'amount' => 0],
|
|
|
+ 'paused' => ['total' => 0, 'amount' => 0],
|
|
|
+ ];
|
|
|
+ foreach ($dateRange as $date) {
|
|
|
+ $dayDate = $date->format('Y-m-d');
|
|
|
+ foreach ($data as $key => $datum) {
|
|
|
+ if (!empty($datum)) {
|
|
|
+ foreach ($datum as $item) {
|
|
|
+ if ($item['group_by_time'] == $dayDate) {
|
|
|
+ // 有选择,过滤
|
|
|
+ if (!empty($keys) && !in_array(strtotime($dayDate) . '_' . $item['join_card_main_id'], $keys)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $dateKey = $dayDate . '_' . $item['join_card_main_id'];
|
|
|
+ $total = $item['total'];
|
|
|
+ $statistics[$key]['total'] += $total;
|
|
|
+ $mainAmount = $cardAmount[$item['join_card_main_id']] ?? 0;
|
|
|
+ $amount = $total * $mainAmount;
|
|
|
+ $statistics[$key]['amount'] += $amount;
|
|
|
+ if (!empty($rows[$dateKey]) && !empty($rows[$dateKey][$key]) && !empty($rows[$dateKey][$key]['total'])) {
|
|
|
+ $total = $rows[$dateKey][$key]['total'] + $total;
|
|
|
+ $amount = $rows[$dateKey][$key]['amount'] + $amount;
|
|
|
+ }
|
|
|
+ $rows[$dateKey]['date'] = $dayDate;
|
|
|
+ $rows[$dateKey]['card_main_id'] = $item['join_card_main_id'];
|
|
|
+ $rows[$dateKey]['card_main_name'] = $cardName[$item['join_card_main_id']] ?? '';
|
|
|
+ $rows[$dateKey]['card_main_amount'] = $mainAmount;
|
|
|
+ $rows[$dateKey][$key] = [
|
|
|
+ 'total' => $total,
|
|
|
+ 'amount' => $amount
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $rows = array_reverse($rows);
|
|
|
+ $exportData = [];
|
|
|
+ foreach ($rows as $row) {
|
|
|
+ $exportData[] = [
|
|
|
+ 'date' => $row['date'],
|
|
|
+ 'card_main_name' => $row['card_main_name'],
|
|
|
+ 'card_main_amount' => $row['card_main_amount'],
|
|
|
+ 'issue' => isset($row['issue']) ? $row['issue']['total'] . '张 (¥' . sprintf('%.2f', $row['issue']['amount']) . ')' : '--',
|
|
|
+ 'add' => isset($row['add']) ? $row['add']['total'] . '张 (¥' . sprintf('%.2f', $row['add']['amount']) . ')' : '--',
|
|
|
+ 'waiting' => isset($row['waiting']) ? $row['waiting']['total'] . '张 (¥' . sprintf('%.2f', $row['waiting']['amount']) . ')' : '--',
|
|
|
+ 'pending' => isset($row['pending']) ? $row['pending']['total'] . '张 (¥' . sprintf('%.2f', $row['pending']['amount']) . ')' : '--',
|
|
|
+ 'used' => isset($row['used']) ? $row['used']['total'] . '张 (¥' . sprintf('%.2f', $row['used']['amount']) . ')' : '--',
|
|
|
+ 'done' => isset($row['done']) ? $row['done']['total'] . '张 (¥' . sprintf('%.2f', $row['done']['amount']) . ')' : '--',
|
|
|
+ 'expired' => isset($row['expired']) ? $row['expired']['total'] . '张 (¥' . sprintf('%.2f', $row['expired']['amount']) . ')' : '--',
|
|
|
+ 'paused' => isset($row['paused']) ? $row['paused']['total'] . '张 (¥' . sprintf('%.2f', $row['paused']['amount']) . ')' : '--'
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ return json_success('success', $exportData);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function listOld(Request $request)
|
|
|
{
|
|
|
$page = $request->get('page', 1);
|
|
|
$pageSize = $request->get('pageSize', 20);
|
|
@@ -33,7 +301,7 @@ class CardController
|
|
|
$query->whereBetween('card_main_addtimes', $addtimes);
|
|
|
});
|
|
|
$total = $cardMain->count();
|
|
|
- $rows = $cardMain->select('card_main_id', 'card_main_amount','card_main_name')
|
|
|
+ $rows = $cardMain->select('card_main_id', 'card_main_amount', 'card_main_name')
|
|
|
->orderBy('card_main_addtimes', 'DESC')
|
|
|
->forPage($page, $pageSize)
|
|
|
->get()
|
|
@@ -78,7 +346,7 @@ class CardController
|
|
|
$row['used']['total'] = $usedTotal;
|
|
|
$row['used']['amount'] = sprintf('%.2f', $usedTotal * $row['card_main_amount']);
|
|
|
$statistics['used']['total'] += $usedTotal;
|
|
|
- $statistics['used']['amount'] = sprintf('%.2f', $usedTotal * $row['card_main_amount']+$statistics['used']['amount']);
|
|
|
+ $statistics['used']['amount'] = sprintf('%.2f', $usedTotal * $row['card_main_amount'] + $statistics['used']['amount']);
|
|
|
// 使用完成统计
|
|
|
$doneTotal = Card::where('card_status', 'DONE')->where('join_card_main_id', $row['card_main_id'])->count();
|
|
|
$row['done']['total'] = $doneTotal;
|