mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
Merge branch 'master' of https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal into multi-payment-final
# Conflicts: # app/Classes/Modules/Segments/ControllersLogic/UpdateConstantPostcodeLogic.php # app/Classes/ValueObjects/Constants/TransactionType.php # routes/api.php # routes/web.php
This commit is contained in:
@@ -41,6 +41,8 @@ Route::group(['prefix' => 'account', 'namespace' => 'Accounts', 'as' => 'account
|
||||
Route::put('/update/{id}', 'UpdateUserController@update')->name('update');
|
||||
Route::post('/admin/create', 'CreateAdminUserController@create')->name('admin.create');
|
||||
Route::delete('/delete/{id}', 'DeleteUserController@delete')->name('delete');
|
||||
|
||||
Route::put('/update/{id}/role', 'UpdateUserRoleController@update')->name('update.role');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -63,6 +63,8 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function
|
||||
require __DIR__ . '/report.php';
|
||||
|
||||
require __DIR__ . '/wallet.php';
|
||||
|
||||
require __DIR__ . '/contact.php';
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::group(['middleware' => 'apipub', 'prefix' => 'v1', 'as' => 'apipub.'], function () {
|
||||
Route::group(['middleware' => 'token.check'], function () {
|
||||
Route::get('/list', 'Transactions\ListTransactionsController@list')->name('list');
|
||||
});
|
||||
});
|
||||
@@ -9,6 +9,7 @@ Route::group(['prefix' => 'company', 'as' => 'company.', 'namespace' => 'Compani
|
||||
Route::put('/update/{id}', 'UpdateCompanyController@update')->name('update');
|
||||
Route::delete('/delete/{id}', 'DeleteCompanyController@destroy')->name('delete');
|
||||
Route::put('/name-and-debtor/update/{id}', 'UpdateCompanyNameAndDebtorController@update')->name('update.nameAndDebtor');
|
||||
Route::put('/type/update/{id}', 'UpdateCompanyTypeController@create')->name('update.type');
|
||||
|
||||
Route::post('/team/create', 'AddNewMemberController@create')->name('team.create');
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
|
||||
Route::group(['prefix' => 'contact', 'as' => 'contact.', 'namespace' => 'Contacts'], function () {
|
||||
|
||||
Route::put('/{id}/update', 'UpdateContactController@update')->name('update');
|
||||
|
||||
});
|
||||
|
||||
@@ -4,7 +4,9 @@ use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::group(['prefix' => 'order', 'as' => 'order.', 'namespace' => 'Orders'], function () {
|
||||
Route::get('/show/{id}', 'FetchOrderController@fetch')->name('show');
|
||||
Route::get('/v2/show/{id}', 'FetchOrderV2Controller@fetch')->name('v2.show');
|
||||
Route::get('/list', 'ListOrdersController@list')->name('list');
|
||||
Route::get('/v2/list', 'ListOrdersV2Controller@list')->name('v2.list');
|
||||
Route::post('/create', 'CreateOrderController@create')->name('create');
|
||||
Route::put('/confirm/{id}', 'ConfirmOrderController@confirm')->name('confirm');
|
||||
Route::put('/cancel/{id}', 'CancelOrderController@cancel')->name('cancel');
|
||||
|
||||
@@ -11,6 +11,7 @@ Route::group(['namespace' => 'PackingLists', 'as' => 'packing_list.', 'prefix' =
|
||||
Route::put('/update/{id}', 'UpdatePackingListController@update')->name('update');
|
||||
Route::put('/status/{id}/update/{status}', 'UpdatePackingListStatusController@update')->name('status.update');
|
||||
Route::delete('/delete/{id}', 'DeletePackingListController@delete')->name('delete');
|
||||
Route::delete('/delete-by-package-id/{id}', 'DeletePackingListByPackageIdController@delete')->name('delete.by_package_id');
|
||||
|
||||
Route::put('/reschedule/{id}', 'ReschedulePackingListController@reschedule')->name('reschedule');
|
||||
Route::put('/update-dispatch-date/{id}', 'UpdateDispatchDatePackingListController@update')->name('update_dispatch_date');
|
||||
|
||||
@@ -6,6 +6,7 @@ Route::group(['prefix' => 'transactions', 'namespace' => 'Transactions', 'as' =>
|
||||
|
||||
Route::get('/list', 'ListTransactionsController@list')->name('list');
|
||||
Route::delete('/suspend/{id}', 'SuspendTransactionController@suspend')->name('suspend');
|
||||
Route::delete('/delete/{id}', 'DeleteTransactionController@delete')->name('delete');
|
||||
Route::put('{id}/status/update/{status}', 'UpdateTransactionStatusController@update')->where('status', 'approve|expire|reject')->name('update');
|
||||
|
||||
Route::group(['prefix' => 'payment', 'as' => 'payment.'], function () {
|
||||
|
||||
+131
-6
@@ -30,6 +30,7 @@ use App\Classes\ValueObjects\Constants\PackageType;
|
||||
use App\Classes\ValueObjects\Constants\PackingListType;
|
||||
use App\Classes\ValueObjects\Constants\PaymentMethodType;
|
||||
use App\Classes\ValueObjects\Constants\TransactionType;
|
||||
use App\Http\Resources\CompanyResource;
|
||||
use App\Models\CompanyConnection;
|
||||
use App\Models\CompanyModule;
|
||||
use App\Models\Document;
|
||||
@@ -138,14 +139,70 @@ Route::get('/orders', function () {
|
||||
return view('pages.orders.index');
|
||||
})->name('orders');
|
||||
|
||||
Route::get('/support', function () {
|
||||
return view('pages.support', [
|
||||
'email' => null,
|
||||
'orderNo' => null,
|
||||
'orderNoNotFound' => null,
|
||||
'marking' => null,
|
||||
'markingReturn' => null,
|
||||
'markingNotFound' => null,
|
||||
]);
|
||||
})->name('support');
|
||||
|
||||
Route::post('/support', function (Request $request) {
|
||||
|
||||
$orderNoNotFound = false;
|
||||
$orderNo = $request->input('orderNo');
|
||||
|
||||
$marking = $request->input('marking');
|
||||
$markingReturn = null;
|
||||
$markingNotFound = false;
|
||||
|
||||
if ($orderNo) {
|
||||
if (Order::where('reference', $orderNo)->count()) {
|
||||
return redirect(route('order.show', $orderNo));
|
||||
} else {
|
||||
$orderNoNotFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($marking) {
|
||||
$orderNo = null;
|
||||
$markingReturn = CompanyConnection::where('invitee_reference', $marking)->get();
|
||||
if (count($markingReturn)) {
|
||||
$markingReturn = $markingReturn->first();
|
||||
$markingReturn = $markingReturn->invitee;
|
||||
$markingReturn->reference = $marking;
|
||||
$markingReturn = $markingReturn->toJson();
|
||||
} else {
|
||||
$markingNotFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.support', [
|
||||
'email' => null,
|
||||
'orderNo' => $orderNo,
|
||||
'orderNoNotFound' => $orderNoNotFound,
|
||||
'marking' => $marking,
|
||||
'markingReturn' => $markingReturn,
|
||||
'markingNotFound' => $markingNotFound,
|
||||
]);
|
||||
})->name('support');
|
||||
|
||||
Route::get('/orders-table', function () {
|
||||
return view('pages.orders.table');
|
||||
})->name('ordersTable');
|
||||
|
||||
Route::get('/order/show/{order_number}', function ($orderNumber) {
|
||||
return view('pages.orders.profile', ['id' => $orderNumber]);
|
||||
// return view('pages.orders.profile', ['id' => $orderNumber]);
|
||||
return view('pages.orders.profile_v2', ['id' => $orderNumber]);
|
||||
})->name('order.show');
|
||||
|
||||
Route::get('/order/v2/show/{order_number}', function ($orderNumber) {
|
||||
return view('pages.orders.profile_v2', ['id' => $orderNumber]);
|
||||
})->name('order.v2.show');
|
||||
|
||||
Route::get('/address', function () {
|
||||
return view('pages.addresses.index');
|
||||
})->name('address');
|
||||
@@ -375,9 +432,21 @@ Route::get('/settings', function () {
|
||||
Route::get('/customer/{company_module_id}/summary', 'Exports\ExportCompanyModuleSummaryController@export')->name('customer.summary.export');
|
||||
Route::get('/export-customer-order/{marking}', 'Exports\ExportCompanyModuleSummaryController@exportorderSummaryByMarking')->name('customer.orderSummary.export');
|
||||
|
||||
Route::get('/customer/summary/monthly', function () {
|
||||
Route::get('/customer/summary/{year}/monthly', function ($year) {
|
||||
if (!in_array($year, [2022, 2023])) {
|
||||
return 'Year Error!';
|
||||
}
|
||||
|
||||
// $containers = Container::whereMonth('loading_date', '>=', ((float)Carbon::now()->format('m') - 2))->whereYear('loading_date', (float)Carbon::now()->format('Y'))->get();
|
||||
$containers = Container::whereMonth('loading_date', '>=', 9)->whereYear('loading_date', 2022)->get();
|
||||
|
||||
if ($year == 2022) {
|
||||
$containers = Container::whereMonth('loading_date', '>=', 9)->whereYear('loading_date', 2022)->get();
|
||||
}
|
||||
|
||||
if ($year == 2023) {
|
||||
$containers = Container::whereMonth('loading_date', '>=', 1)->whereYear('loading_date', 2023)->get();
|
||||
}
|
||||
|
||||
$marking = '769SMC';
|
||||
$connection = CompanyConnection::where('invitee_reference', $marking)->first();
|
||||
$companyModuleId = $connection->invitee->id;
|
||||
@@ -802,7 +871,7 @@ Route::get('/invoices/approve', function(Request $request){
|
||||
Route::get('/invoices/show-duplicated', function(Request $request){
|
||||
$transactionWithMultipleInvoice = DB::table('transactions')
|
||||
->where('type', TransactionType::SHIPPING_INVOICE)
|
||||
->where('status', '!=' , ApprovalStatus::EXPIRED)
|
||||
->whereNotIn('status', [ApprovalStatus::EXPIRED, ApprovalStatus::SUSPENDED])
|
||||
->where('deleted_at', null)
|
||||
->select('owner_id', DB::raw('count(*) as count'))
|
||||
->groupBy('owner_id')
|
||||
@@ -831,9 +900,18 @@ Route::get('/invoices/show-duplicated', function(Request $request){
|
||||
|
||||
foreach($duplicatedInvoice as $invoice) {
|
||||
$order = $invoice->owner->owner;
|
||||
|
||||
$billplzPaymentId = '';
|
||||
|
||||
if ($invoice->status == ApprovalStatus::COMPLETED) {
|
||||
if ($invoice->transactions->first()->type == TransactionType::PAYMENT) {
|
||||
$billplzPaymentId = $invoice->transactions->first()->payment_reference ;
|
||||
}
|
||||
}
|
||||
|
||||
echo "<tr>";
|
||||
echo '<td style="border:1px solid"><a target="_blank" href="'.route('order.show', $order->reference).'">'. $order->reference.' - </a>' . $order->created_at . '</td>';
|
||||
echo "<td style='border:1px solid'>".ApprovalStatus::APPROVAL_STATUS_ID[$invoice->status]."</td>";
|
||||
echo "<td style='border:1px solid'>".ApprovalStatus::APPROVAL_STATUS_ID[$invoice->status]. ' Billplz reference: ' . $billplzPaymentId . "</td>";
|
||||
echo "<td style='border:1px solid'>$invoice->owner_id</td>";
|
||||
echo "<td style='border:1px solid'>$invoice->amount</td>";
|
||||
echo "<td style='border:1px solid'>".$duplicatedOrderArray[$invoice->owner_id]."</td>";
|
||||
@@ -1014,7 +1092,54 @@ Route::get('/billplz/audit', function (Request $request) {
|
||||
}else{
|
||||
echo "billplz error</br>";
|
||||
}
|
||||
Route::get('/final-duplicated-invoice-debug', function(){
|
||||
$duplicatedTransactions = Transaction::select(DB::raw('owner_type, owner_id, receiver, type, GROUP_CONCAT(id) as transaction_ids, COUNT(*) as count'))
|
||||
->whereNotIn('status', [ApprovalStatus::REJECTED,ApprovalStatus::SUSPENDED,ApprovalStatus::EXPIRED])
|
||||
->groupBy('owner_type', 'owner_id', 'receiver', 'type')
|
||||
->having('count', '>', 1)
|
||||
->get();
|
||||
|
||||
$approvalStatusArray = ApprovalStatus::APPROVAL_STATUS_ID;
|
||||
|
||||
$transactionType = TransactionType::TRANSACTION_TYPE_ID;
|
||||
|
||||
echo '<table style="width: 100%; text-align: center; border: 1px solid black">
|
||||
<tr>
|
||||
<!-- <th style="border: 1px solid black" >Owner Type</th> -->
|
||||
<!-- <th style="border: 1px solid black" >Owner Id</th> -->
|
||||
<!--<th style="border: 1px solid black" >Reveiver</th>-->
|
||||
<th style="border: 1px solid black" >Order</th>
|
||||
<th style="border: 1px solid black" >Transaction type</th>
|
||||
<th style="border: 1px solid black" >Count</th>
|
||||
<th style="border: 1px solid black" >Invoice Ids</th>
|
||||
<th style="border: 1px solid black" >Invoices</th>
|
||||
</tr>';
|
||||
|
||||
foreach ($duplicatedTransactions as $transaction) {
|
||||
$transactionIds = explode(',', $transaction->transaction_ids);
|
||||
|
||||
$duplicatedInvoice = Transaction::whereIn('id', $transactionIds)->get();
|
||||
|
||||
$order_reference = $duplicatedInvoice->first()->owner->owner->reference ?? null;
|
||||
|
||||
if ($transaction->type == TransactionType::PAYMENT) {
|
||||
$order_reference = $duplicatedInvoice->first()->owner->owner->owner->reference ?? null;
|
||||
}
|
||||
|
||||
echo 'Total: ' . $totalAmount;
|
||||
echo '<tr>';
|
||||
// echo '<td style="border: 1px solid black">' . $transaction->owner_type . '</td>';
|
||||
// echo '<td style="border: 1px solid black">' . $transaction->owner_id . '</td>';
|
||||
echo '<td style="border: 1px solid black">' . $transaction->receiver . '</td>';
|
||||
echo '<td style="border: 1px solid black">' . '<a target="_blank" href="'.route('order.show', $order_reference).'">'. $order_reference .'</a>' . '</td>';
|
||||
echo '<td style="border: 1px solid black">' . $transactionType[$transaction->type] . '</td>';
|
||||
echo '<td style="border: 1px solid black">' . count($transactionIds) . '</td>';
|
||||
echo '<td style="border: 1px solid black; text-align: left">';
|
||||
foreach ($duplicatedInvoice as $invoice) {
|
||||
echo '<p>ID: ' . $invoice->id . '. Status: ' . $approvalStatusArray[$invoice->status] . '. Amount: ' . $invoice->amount . '</p>';
|
||||
}
|
||||
echo'</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</table>';
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user