updated reports

This commit is contained in:
franknstayn
2022-03-12 20:17:57 +08:00
parent a94ef951a3
commit a24e016b85
4 changed files with 91 additions and 55 deletions

View File

@@ -17,7 +17,7 @@ use Maatwebsite\Excel\Facades\Excel;
use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Support\Facades\Input;
class AdminController extends Controller class AdminController extends Controller
@@ -446,7 +446,23 @@ class AdminController extends Controller
{ {
$AdminModel = new AdminModel; $AdminModel = new AdminModel;
$array_store_orders = $AdminModel->selectStoreOrders(); $start = Carbon::now()->startOfMonth()->startOfDay();
$end = Carbon::now()->endOfMonth()->endOfDay();
$min = Input::get('min');
$max = Input::get('max');
if ($min && $max) {
// var_dump(Carbon::parse($min)->format('Y-m-d'), $max);
$start = Carbon::parse($min)->format('Y-m-d');
$end = Carbon::parse($max)->format('Y-m-d');
}
//
$array_store_orders = $AdminModel->selectStoreOrders($start, $end);
// var_dump($array_store_orders); // var_dump($array_store_orders);
return view('admin_pages.reports') return view('admin_pages.reports')
->with('array_store_orders', $array_store_orders); ->with('array_store_orders', $array_store_orders);
@@ -1401,13 +1417,14 @@ class AdminController extends Controller
public function homeCarousel() public function homeCarousel()
{ {
$AdminModel = new AdminModel; $AdminModel = new AdminModel;
$selectHomeCarousel = $AdminModel->selectHomeCarousel(); $selectHomeCarousel = $AdminModel->selectHomeCarousel();
return view('admin_pages.home_carousel')->with("carousels", $selectHomeCarousel); return view('admin_pages.home_carousel')->with("carousels", $selectHomeCarousel);
} }
public function orderStatus() { public function orderStatus()
$AdminModel = new AdminModel; {
$AdminModel = new AdminModel;
$selectOrderStatus = $AdminModel->selectOrderStatus(); $selectOrderStatus = $AdminModel->selectOrderStatus();
return view('admin_pages.order_status')->with("order_status", $selectOrderStatus); return view('admin_pages.order_status')->with("order_status", $selectOrderStatus);
} }

View File

@@ -4,6 +4,7 @@ namespace App\Models\admin;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Carbon\Carbon;
class AdminModel extends Model class AdminModel extends Model
{ {
@@ -297,13 +298,13 @@ class AdminModel extends Model
return $i; return $i;
} }
function selectStoreOrders() function selectStoreOrders($start, $end) {
{
$i = DB::table('orders')->select('orders.*', 'orders.Id as Order_Id', 'orders.DateCreated AS date_ordered', 'payment_details.InvoiceNumber', 'payment_details.Currency', 'payment_details.Payer_Email', 'payment_details.Payer_Firstname', 'payment_details.Payer_Lastname', 'shipping_addresses.*', 'teamstores.*') $i = DB::table('orders')->select('orders.*', 'orders.Id as Order_Id', 'orders.DateCreated AS date_ordered', 'payment_details.InvoiceNumber', 'payment_details.Currency', 'payment_details.Payer_Email', 'payment_details.Payer_Firstname', 'payment_details.Payer_Lastname', 'shipping_addresses.*', 'teamstores.*')
->leftjoin('payment_details', 'payment_details.CartKey', '=', 'orders.CartKey') ->leftjoin('payment_details', 'payment_details.CartKey', '=', 'orders.CartKey')
->leftjoin('shipping_addresses', 'shipping_addresses.PaymentDetail_Id', '=', 'payment_details.Id') ->leftjoin('shipping_addresses', 'shipping_addresses.PaymentDetail_Id', '=', 'payment_details.Id')
->leftjoin('teamstores', 'teamstores.Id', '=', 'orders.StoreId') ->leftjoin('teamstores', 'teamstores.Id', '=', 'orders.StoreId')
// ->where('orders.StoreId', $store_id) ->whereBetween('orders.DateCreated', [$start, $end])
->orderby('orders.DateCreated', 'DESC') ->orderby('orders.DateCreated', 'DESC')
->get(); ->get();
return $i; return $i;

View File

@@ -276,6 +276,13 @@ desired effect
// hash && $('ul.nav a[href="' + hash + '"]').tab('show'); // hash && $('ul.nav a[href="' + hash + '"]').tab('show');
// $.fn.dataTable.moment( 'DD/M/YYYY' ); // $.fn.dataTable.moment( 'DD/M/YYYY' );
var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
// console.log(firstDay.toString("MM/dd/yyyy"), lastDay)
$('#min').val(moment(firstDay).format('MM/DD/YYYY'))
$('#max').val(moment(lastDay).format('MM/DD/YYYY'))
// console.log();
callSpectrumApi(); callSpectrumApi();
$('#orders_table').DataTable({ $('#orders_table').DataTable({
columnDefs: [{ columnDefs: [{
@@ -345,7 +352,7 @@ desired effect
var startDate = new Date(data[5]); var startDate = new Date(data[5]);
} }
if (min == null && max == null) { if (min == null && max == null) {

View File

@@ -11,14 +11,14 @@
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content Header (Page header) --> <!-- Content Header (Page header) -->
<section class="content-header"> <section class="content-header">
<h1> <h1>
Reports Reports
<!-- <small>Optional description</small> --> <!-- <small>Optional description</small> -->
</h1> </h1>
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="{{ url ('admin') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li> <li><a href="{{ url ('admin') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
<li class="active"> Reports</li> <li class="active"> Reports</li>
</ol> </ol>
</section> </section>
<!-- Main content --> <!-- Main content -->
@@ -27,22 +27,33 @@
<div class="col-md-12"> <div class="col-md-12">
<div class="box"> <div class="box">
<div class="box-header with-border"> <div class="box-header with-border">
<h4 class="box-title">Reports</h4> <h4 class="box-title">Reports</h4>
</div> </div>
<div class="box-body"> <div class="box-body">
<div class="row"> <div class="row">
<div class="col-md-3"> <form action="">
<div class="form-group"> <div class="col-md-3">
<label class="control-label">Select Date From: <span class="required">*</span></label> <div class="form-group">
<input type="text" name="min" class="form-control datepicker-reports" id="min" placeholder="Select Date" required autocomplete="off"/> <label class="control-label">Select Date From: <span class="required">*</span></label>
<input type="text" name="min" class="form-control datepicker-reports" id="min" placeholder="Select Date" required autocomplete="off" />
</div>
</div> </div>
</div> <div class="col-md-3">
<div class="col-md-3"> <div class="form-group">
<div class="form-group"> <label class="control-label">Select Date To: <span class="required">*</span></label>
<label class="control-label">Select Date To: <span class="required">*</span></label> <input type="text" name="max" class="form-control datepicker-reports" id="max" placeholder="Select Date" required autocomplete="off" />
<input type="text" name="max" class="form-control datepicker-reports" id="max" placeholder="Select Date" required autocomplete="off"/> </div>
</div> </div>
</div> <div class="col-md-3 ml-0">
<div class="form-group">
<label class="control-label">&nbsp;</label>
<div>
<button class="btn btn-primary">Submit</button>
</div>
</div>
</div>
</form>
<div class="col-md-3"> <div class="col-md-3">
<div class="form-group"> <div class="form-group">
<label class="control-label">Filter By Store</label> <label class="control-label">Filter By Store</label>
@@ -50,7 +61,7 @@
</div> </div>
</div> </div>
<div class="col-md-12"> <div class="col-md-12">
<table class="table table-bordered table-condensed nowrap" id="tbl_store_orders"> <table class="table table-bordered table-condensed nowrap" id="tbl_store_orders">
<thead> <thead>
<tr> <tr>
@@ -80,32 +91,32 @@
</thead> </thead>
<tbody> <tbody>
@foreach($array_store_orders as $item_order) @foreach($array_store_orders as $item_order)
<tr> <tr>
<td>{{ $item_order->StoreName }}</td> <td>{{ $item_order->StoreName }}</td>
<td>{{ $item_order->InvoiceNumber }}</td> <td>{{ $item_order->InvoiceNumber }}</td>
<td>{{ $item_order->ProductName }}</td> <td>{{ $item_order->ProductName }}</td>
<td>{{ $item_order->Name }}</td> <td>{{ $item_order->Name }}</td>
<td>{{ $item_order->Number }}</td> <td>{{ $item_order->Number }}</td>
<td>{{ $item_order->Size }}</td> <td>{{ $item_order->Size }}</td>
<td>{{ $item_order->JerseySize }}</td> <td>{{ $item_order->JerseySize }}</td>
<td>{{ $item_order->ShortsSize }}</td> <td>{{ $item_order->ShortsSize }}</td>
<td>{{ $item_order->Price . ' ' . $item_order->Currency }}</td> <td>{{ $item_order->Price . ' ' . $item_order->Currency }}</td>
<td>{{ $item_order->Quantity }} </td> <td>{{ $item_order->Quantity }} </td>
<td>{{ date('Y/m/d', strtotime($item_order->date_ordered)) }}</td> <td>{{ date('Y/m/d', strtotime($item_order->date_ordered)) }}</td>
<td>{{ $item_order->Payer_Email }} </td> <td>{{ $item_order->Payer_Email }} </td>
<td>{{ $item_order->Payer_Firstname . ' ' . $item_order->Payer_Lastname }} </td> <td>{{ $item_order->Payer_Firstname . ' ' . $item_order->Payer_Lastname }} </td>
<td>{{ $item_order->recipient_name }} </td> <td>{{ $item_order->recipient_name }} </td>
<td>{{ $item_order->line1 }} </td> <td>{{ $item_order->line1 }} </td>
<td>{{ $item_order->line2 }} </td> <td>{{ $item_order->line2 }} </td>
<td>{{ $item_order->city }} </td> <td>{{ $item_order->city }} </td>
<td>{{ $item_order->state }} </td> <td>{{ $item_order->state }} </td>
<td>{{ $item_order->postal_code }} </td> <td>{{ $item_order->postal_code }} </td>
<td>{{ $item_order->country_code }} </td> <td>{{ $item_order->country_code }} </td>
<td>{{ date('F j, Y g:i a', strtotime($item_order->date_ordered)) }}</td> <td>{{ date('F j, Y g:i a', strtotime($item_order->date_ordered)) }}</td>
<td class="text-center"> <td class="text-center">
<a href="#" data-pid="{{ $item_order->ProductId }}" data-id="{{ $item_order->Order_Id }}" data-ck="{{ $item_order->CartKey }}" class="btn btn-default btn-xs btn-order-item-details">View Details</a> <a href="#" data-pid="{{ $item_order->ProductId }}" data-id="{{ $item_order->Order_Id }}" data-ck="{{ $item_order->CartKey }}" class="btn btn-default btn-xs btn-order-item-details">View Details</a>
</td> </td>
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>
</table> </table>