1731 lines
62 KiB
PHP
1731 lines
62 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Mobile;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Lelong;
|
|
use App\Models\LelongBid;
|
|
use App\Models\LelongBidder;
|
|
use App\Models\LelongBidMarhun;
|
|
use App\Models\LelKarat;
|
|
use App\Models\User;
|
|
use App\Models\Payment;
|
|
use App\Models\Cart;
|
|
use Carbon\Carbon;
|
|
use App\Models\Cawangan;
|
|
use App\Models\CawanganLelong;
|
|
use App\Models\FileMarhun;
|
|
use App\Models\Resit;
|
|
use App\Models\FileResit;
|
|
use App\Models\Invoice;
|
|
use App\Models\JenisEmas;
|
|
use App\Services\MarhunPhotoService;
|
|
use App\Services\ResitPhotoService;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use PDF;
|
|
|
|
class LelongMobileController extends Controller
|
|
{
|
|
|
|
public function getlelongdetails(Request $request){
|
|
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateString();
|
|
|
|
// $arrayLelong = [];
|
|
$lelong = Lelong::where('tarikh_lelong','=',$currentdate)
|
|
->where('sts_lelong','=',1)
|
|
->get()->toArray();
|
|
|
|
if($lelong)
|
|
{
|
|
foreach($lelong as $index1=>$lel)
|
|
{
|
|
$lelongbid = LelongBid::whereIn('lelong_id',$lelong)
|
|
->get()->toArray();
|
|
|
|
$lelong[$index1]['lelongbid'] = $lelongbid;
|
|
|
|
foreach($lelongbid as $index2=>$lelbidmarhun){
|
|
$cawangan = Cawangan::where('id','=',$lelbidmarhun['caw_id'])->first()->toArray();
|
|
// $id = lelongbid::first();
|
|
|
|
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $lelbidmarhun['id'])
|
|
->get()->toArray();
|
|
|
|
$lelong[$index1]['lelongbid'][$index2]['lelongbidmarhun'] = $lelongbidmarhun;
|
|
$lelong[$index1]['lelongbid'][$index2]['cawangan'] = $cawangan;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
$lelong[0]['lelongbid'] = [];
|
|
}
|
|
|
|
return response()->json($lelong);
|
|
|
|
}
|
|
|
|
public function getListKarat()
|
|
{
|
|
|
|
$activeLelong = Lelong::where('sts_lelong', '=', 1)->first();
|
|
if (isset($activeLelong)) {
|
|
$getKarat = LelKarat::where('lelong_id', '=' ,$activeLelong['id'])->whereNotIn('karat', ['18.0Kp', '14.0Kp'])->get();
|
|
|
|
$date_convert = strtotime($getKarat[0]['updated_at']);
|
|
$updatedDateTime = date("d-m-Y h:i A", $date_convert);
|
|
|
|
return response()->json([
|
|
'success' => true,
|
|
'karat' => $getKarat,
|
|
'update_time' => $updatedDateTime
|
|
], 201);
|
|
} else {
|
|
return response()->json([
|
|
'success' => false,
|
|
], 201);
|
|
}
|
|
|
|
}
|
|
|
|
public function bidderSelectBidItem(Request $request){
|
|
|
|
// $feepayment = Payment::join('resit', 'payment.resit_id','=','resit.id')
|
|
// ->where('payment.user_id',$request->user_id)
|
|
// ->where('payment.lelong_id', '=', $request->lelong_id)
|
|
// ->where('resit.resit_type',1)
|
|
// ->where('resit.status','PAID')->first();
|
|
// // dd($feepayment);
|
|
// if($feepayment != null){
|
|
|
|
$user = User::where('id', '=', $request->user_id)
|
|
->first();
|
|
|
|
$carts = Cart::join('lelongbid', 'carts.lelongbid_id', '=', 'lelongbid.id')
|
|
// ->join('lelong', 'lelongbid.lelong_id', '=', 'lelong.id')
|
|
// ->where('lelong.sts_lelong','=',1)
|
|
->where('carts.user_id', $user->id)
|
|
->select('lelongbid.id as lelongbid_id',
|
|
'lelongbid.t_lelong',
|
|
'lelongbid.nilaimarhun',
|
|
'lelongbid.cajlelong',
|
|
'carts.hargabida',
|
|
'carts.id as cart_id')
|
|
->get();
|
|
// dd($carts);
|
|
// dd($selectBid[0]->hargabida);
|
|
|
|
$currentdate = Carbon::now()->toDateTimeString();
|
|
|
|
foreach($carts as $cart)
|
|
{
|
|
$lelongBidder = new LelongBidder();
|
|
$lelongBidder->nama_bidder = $request->name;
|
|
$lelongBidder->user_id = $user->id;
|
|
$lelongBidder->notelbimbit = $user->notelbimbit;
|
|
$lelongBidder->hargabida = $cart->hargabida;
|
|
$lelongBidder->lelongbid_id = $cart->lelongbid_id;
|
|
$lelongBidder->nilaimarhun = $cart->nilaimarhun;
|
|
$lelongBidder->cajlelong = $cart->cajlelong;
|
|
$lelongBidder->masa_bidaan = $currentdate;
|
|
if($lelongBidder->save())
|
|
{
|
|
$delincart = Cart::where('id',$cart->cart_id)->first();
|
|
$delincart->delete();
|
|
}
|
|
|
|
}
|
|
|
|
$response = [
|
|
'success' => "success",
|
|
'message' => "Bidder berjaya disimpan"
|
|
];
|
|
|
|
return response()->json($response, 201);
|
|
// }
|
|
// else if($feepayment == null){
|
|
|
|
// $response = [
|
|
// 'success' => "error",
|
|
// 'message' => "Something wrong with the server"
|
|
// ];
|
|
// return response()->json($response, 201);
|
|
// }
|
|
}
|
|
|
|
public function listBidItem(Request $request){
|
|
|
|
$lelongbidder = LelongBidder::where('user_id','=', $request->user_id)
|
|
->get()->toArray();
|
|
|
|
foreach($lelongbidder as $index1=>$lelbid)
|
|
{
|
|
$lelongbid = LelongBid::whereIn('id',$lelongbidder)
|
|
->get()->toArray();
|
|
|
|
$lelongbidder[$index1]['lelongbid'] = $lelongbid;
|
|
}
|
|
|
|
return response()->json($lelongbidder);
|
|
}
|
|
|
|
public function bidRecord(Request $request)
|
|
{
|
|
$lelongbidder = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->where('user_id', '=', $request->user_id)
|
|
->where('lelong_id', '=', $request->lelong_id)
|
|
->get()->toArray();
|
|
foreach ($lelongbidder as $index => $data) {
|
|
$cawangan = Cawangan::where('caw_code', '=', $data['kodcaw'])->select('caw_name')->first();
|
|
$lelongbidder[$index]['caw_name'] = $cawangan['caw_name'];
|
|
}
|
|
|
|
return response()->json($lelongbidder);
|
|
}
|
|
|
|
public function bidRecordByCawangan($userId)
|
|
{
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateString();
|
|
$lelong = Lelong::where('tarikh_lelong', '=', $currentdate)->select('id', 'masatamat_lelong')->first();
|
|
|
|
if ($lelong) {
|
|
$date_convert = strtotime($lelong->masatamat_lelong);
|
|
$lelong['masatamat_lelong'] = date("h:i A", $date_convert);
|
|
$groupCawangan = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->join('cawangan', 'lelongbid.caw_id', '=', 'cawangan.id')
|
|
->where('user_id', '=', $userId)
|
|
->where('lelong_id', $lelong->id)
|
|
->select('caw_id', 'caw_name')
|
|
->groupBy('caw_id')
|
|
->get()->toArray();
|
|
|
|
foreach ($groupCawangan as $index => $cawangan) {
|
|
|
|
$lelongBidder = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->where('user_id', $userId)
|
|
->where('caw_id', $cawangan)
|
|
->where('lelong_id', $lelong->id)
|
|
->get()->toArray();
|
|
|
|
$total_hargabida = 0;
|
|
$total_berat = 0;
|
|
foreach ($lelongBidder as $index1 => $data) {
|
|
$fileMarhun = FileMarhun::where('lelongbid_id', $data['id'])->where('photo_type', 1)->get();
|
|
if ($fileMarhun->isNotEmpty()) {
|
|
$lelongBidder[$index1]['filemarhun'] = $fileMarhun;
|
|
}
|
|
|
|
$date_convert = strtotime($data['masa_bidaan']);
|
|
$lelongBidder[$index1]['masa_bidaan'] = date("h:i A", $date_convert);
|
|
|
|
$total_hargabida += $data['hargabida'];
|
|
$total_berat += $data['berat'];
|
|
$marhun = LelongBidMarhun::where('lelongbid_id', '=', $data['id'])->get()->toArray();
|
|
$lelongBidder[$index1]['lelongbidmarhun'] = $marhun;
|
|
}
|
|
$groupCawangan[$index]['total_berat'] = number_format((float)$total_berat, 2, '.', '');
|
|
$groupCawangan[$index]['total_bidaan'] = number_format((float)$total_hargabida, 2, '.', '');
|
|
$groupCawangan[$index]['lelongbid'] = $lelongBidder;
|
|
}
|
|
}
|
|
if ($lelong && $groupCawangan) {
|
|
return response()->json([
|
|
'success' => true,
|
|
'lelongbidder' => $groupCawangan,
|
|
'lelong' => $lelong,
|
|
], 201);
|
|
} else {
|
|
return response()->json([
|
|
'success' => false,
|
|
'message' => 'Empty Data'
|
|
], 201);
|
|
}
|
|
}
|
|
|
|
// please do not delete this changes
|
|
// backup web pembida
|
|
public function listBidItemWeb($user_id, Request $request){
|
|
|
|
$lelongbidder = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->where('user_id','=', $request->user_id)
|
|
->select('lelongbid.lelong_id', 'lelongbid.t_lelong')
|
|
->groupBy('lelongbid.lelong_id', 'lelongbid.t_lelong')
|
|
->get()->toArray();
|
|
|
|
foreach($lelongbidder as $index1=>$lelbid)
|
|
{
|
|
$lelongbid = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
|
->where('lelong_id', $lelbid['lelong_id'])
|
|
->where('lelongbidder.user_id', $request->user_id)
|
|
->get()->toArray();
|
|
|
|
$lelongbidder[$index1]['lelongbid']=$lelongbid;
|
|
|
|
}
|
|
return response()->json($lelongbidder);
|
|
}
|
|
|
|
public function historyFeePay (Request $request)
|
|
{
|
|
$checkpay = Payment::join('resit', 'payment.resit_id', '=', 'resit.id')
|
|
->where('resit.user_id', $request->user_id)
|
|
->where('payment.lelong_id', $request->lelong_id)
|
|
->where('payment.status', 1)
|
|
->where('resit.resit_type', 1)
|
|
->select('resit.id as resit id',
|
|
'resit.resit_type',
|
|
'resit.status as resit_status',
|
|
'resit.paid_at',
|
|
'payment.id as payment_id',
|
|
'payment.lelong_id',
|
|
'payment.status as payment_status'
|
|
)
|
|
->first();
|
|
|
|
if($checkpay)
|
|
{
|
|
$response =
|
|
[
|
|
"message" => "Success",
|
|
"status" => 1
|
|
];
|
|
}
|
|
else
|
|
{
|
|
$response =
|
|
[
|
|
"message" => "Sila buat pembayaran yuran terlebih dahulu",
|
|
"status" => 2
|
|
];
|
|
}
|
|
return response()->json($response, 201) ;
|
|
}
|
|
|
|
public function searchLelByCaw(Request $request){
|
|
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateString();
|
|
|
|
// $arrayLelong = [];
|
|
$lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
|
|
->where('tarikh_lelong','=',$currentdate)
|
|
->where('caw_id', '=', $request->caw_id)
|
|
->where('status_online', '=', 1)
|
|
->get()->toArray();
|
|
|
|
foreach($lelong as $index1=>$lel)
|
|
{
|
|
$lelongbid = LelongBid::where('lelong_id',$lel['lelong_id'])
|
|
->where('caw_id', '=', $request->caw_id)
|
|
->get()->toArray();
|
|
|
|
$lelong[$index1]['lelongbid'] = $lelongbid;
|
|
|
|
foreach($lelongbid as $index2=>$lelbidmarhun){
|
|
// $cawangan = Cawangan::where('id','=',$lelbidmarhun['caw_id'])->first()->toArray();
|
|
// $id = lelongbid::first();
|
|
|
|
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $lelbidmarhun['id'])
|
|
->get()->toArray();
|
|
|
|
$lelong[$index1]['lelongbid'][$index2]['lelongbidmarhun'] = $lelongbidmarhun;
|
|
// $lelong[$index1]['lelongbid'][$index2]['cawangan'] = $cawangan;
|
|
}
|
|
|
|
}
|
|
|
|
if($lelong) {
|
|
return response()->json(
|
|
['success' => true, 'message' => $lelong], 201
|
|
);
|
|
}
|
|
else {
|
|
return response()->json(
|
|
['success' => false, 'message' => 'Empty Data'], 201
|
|
);
|
|
}
|
|
}
|
|
|
|
public function listSuratLelong(Request $request)
|
|
{
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateString();
|
|
|
|
$lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
|
|
->where('tarikh_lelong', '=', $currentdate)
|
|
->where('caw_id', '=', $request->caw_id)
|
|
->where('status_online', '=', 1)
|
|
->first();
|
|
|
|
if ($lelong) {
|
|
$lelongbid = LelongBid::where('lelong_id', $lelong['lelong_id'])
|
|
->where('caw_id', '=', $request->caw_id)
|
|
->where('status_jual', '=', 0)
|
|
->select('id', 'kodcaw')
|
|
->get();
|
|
$pluckedLelongBid = $lelongbid->pluck('id')->toArray();
|
|
|
|
$carts = Cart::where('user_id', $request->user_id)
|
|
->select('lelongbid_id')
|
|
->get();
|
|
$pluckedCarts = $carts->pluck('lelongbid_id')->toArray();
|
|
|
|
$lelongbidder = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', "=", 'lelongbid.id')
|
|
->where('lelong_id', $request->lelong_id)
|
|
->where('user_id', $request->user_id)
|
|
->select('lelongbid_id')
|
|
->get();
|
|
$pluckedLelongBidder = $lelongbidder->pluck('lelongbid_id')->toArray();
|
|
|
|
$arrayDiff1 = array_diff($pluckedLelongBid, $pluckedCarts);
|
|
$arrayDiff2 = array_diff($arrayDiff1, $pluckedLelongBidder);
|
|
|
|
$listLelong = [];
|
|
foreach ($arrayDiff2 as $index => $data) {
|
|
|
|
$lelongbid = LelongBid::where('id', $data)->first()->toArray();
|
|
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $lelongbid['id'])->get()->toArray();
|
|
foreach ($lelongbidmarhun as $index1 => $marhun) {
|
|
$marhunDesc = JenisEmas::where('marhun', $marhun['marhun'])->first()->toArray();
|
|
$lelongbidmarhun[$index1]['marhun_desc'] = $marhunDesc['descpt'];
|
|
}
|
|
|
|
$lelongbid['lelongbidmarhun'] = $lelongbidmarhun;
|
|
|
|
$fileMarhun = FileMarhun::where('lelongbid_id', $lelongbid['id'])->where('photo_type', 1)->get();
|
|
// dd($fileMarhun);
|
|
|
|
// foreach ($fileMarhun as $index) {
|
|
// dd($index);
|
|
// // $eachmarhun = FileMarhun::where('lelongbidmarhun_id', '=', $index['id'])->first();
|
|
// // if (isset($eachmarhun)) {
|
|
// // $index->eachmarhun_filename = route('marhun.showphotomarhun', ['norujukan_sag' => $lelongbid['norujukan'], 'filemarhun_id' => $index->id]);
|
|
// // $test = route('marhun.showphotomarhun', ['norujukan_sag' => $lelongbid['norujukan'], 'filemarhun_id' => $index->id]);
|
|
// $marhunPhotoService = new MarhunPhotoService();
|
|
// $marhun_photo = $marhunPhotoService->get($lelongbid['norujukan'], $index);
|
|
// dd($marhun_photo);
|
|
// return $marhun_photo;
|
|
// }
|
|
// // dd($fileMarhun);
|
|
|
|
if ($fileMarhun->isNotEmpty()) {
|
|
$lelongbid['filemarhun'] = $fileMarhun;
|
|
}
|
|
|
|
array_push($listLelong, $lelongbid);
|
|
}
|
|
$lelong['lelongbid'] = $listLelong;
|
|
|
|
return response()->json(
|
|
['success' => true, 'message' => $lelong],
|
|
201
|
|
);
|
|
} else {
|
|
return response()->json(
|
|
['success' => false, 'message' => 'Empty Data'],
|
|
201
|
|
);
|
|
}
|
|
}
|
|
|
|
public function listSuratLelong2(Request $request)
|
|
{
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateString();
|
|
|
|
$lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
|
|
->where('tarikh_lelong', '=', $currentdate)
|
|
->where('caw_id', '=', $request->caw_id)
|
|
->where('status_online', '=', 1)
|
|
->select('lelong.id', 'lelong.tarikh_lelong', 'lelong.sts_lelong', 'cawangan_lelong.caw_id')
|
|
->first();
|
|
|
|
$listLelong = [];
|
|
if ($lelong) {
|
|
$jenis_emas = JenisEmas::select('marhun', 'descpt')->get()->keyBy('marhun');
|
|
|
|
$cart_all = Cart::join('lelongbid', 'carts.lelongbid_id', "=", 'lelongbid.id')
|
|
->where('user_id', $request->user_id)
|
|
->where('caw_id', '=', $request->caw_id)
|
|
->pluck('lelongbid_id');
|
|
|
|
$lelongbidder_all = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', "=", 'lelongbid.id')
|
|
->where('lelong_id', $lelong->id)
|
|
->where('user_id', $request->user_id)
|
|
->where('caw_id', '=', $request->caw_id)
|
|
->pluck('lelongbid_id');
|
|
|
|
$combine_carts_lelongbidder = $cart_all->concat($lelongbidder_all);
|
|
|
|
$lelongbid_all = LelongBid::with('lelongBidMarhun', 'fileMarhunMainMany')
|
|
->where('lelong_id', $lelong->id)
|
|
->where('caw_id', $request->caw_id)
|
|
->where('status_jual', 0)
|
|
->whereNotIn('id', $combine_carts_lelongbidder)
|
|
->get();
|
|
|
|
foreach ($lelongbid_all as $lelongbid) {
|
|
foreach ($lelongbid->lelongBidMarhun as $lel_bid_marhun) {
|
|
if ($jenis_emas[$lel_bid_marhun->marhun]) {
|
|
$lel_bid_marhun['marhun_desc'] = $jenis_emas[$lel_bid_marhun->marhun]->descpt;
|
|
}
|
|
}
|
|
$lelongbid->lelongbidmarhun = $lelongbid->lelongBidMarhun;
|
|
unset($lelongbid->lelongBidMarhun);
|
|
|
|
if ($lelongbid->fileMarhunMainMany->isNotEmpty()) {
|
|
$lelongbid->filemarhun = $lelongbid->fileMarhunMainMany;
|
|
}
|
|
unset($lelongbid->fileMarhunMainMany);
|
|
|
|
array_push($listLelong, $lelongbid);
|
|
}
|
|
|
|
$lelong['lelongbid'] = $listLelong;
|
|
|
|
return response()->json(
|
|
['success' => true, 'message' => $lelong],201
|
|
);
|
|
} else {
|
|
return response()->json(
|
|
['success' => false, 'message' => 'Empty Data'],201
|
|
);
|
|
}
|
|
}
|
|
|
|
public function photoMarhun(Request $request)
|
|
{
|
|
$fileMarhun = FileMarhun::find($request->filemarhun_id);
|
|
$marhunPhotoService = new MarhunPhotoService();
|
|
$marhun_photo = $marhunPhotoService->get($request->norujukan, $fileMarhun);
|
|
return base64_encode($marhun_photo);
|
|
}
|
|
|
|
public function lelongOnline()
|
|
{
|
|
$lelong = Lelong::where('sts_lelong', '=', 1)->first();
|
|
if ($lelong) {
|
|
$date_convert = strtotime($lelong->masatamat_lelong);
|
|
$lelong->masatamat_lelong = date("h:i A", $date_convert);
|
|
|
|
return response()->json(['success' => true, 'lelong' => $lelong]);
|
|
} else {
|
|
return response()->json(['success' => false,]);
|
|
}
|
|
}
|
|
|
|
public function itemInCart(Request $request)
|
|
{
|
|
$cart = Cart::where('user_id', $request->user_id)->count();
|
|
if ($cart) {
|
|
return response()->json(['success' => true, 'cart' => $cart]);
|
|
} else {
|
|
return response()->json(['success' => false,]);
|
|
}
|
|
}
|
|
|
|
public function searchLelongByCawangan(Request $request){
|
|
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateString();
|
|
|
|
// $arrayLelong = [];
|
|
$lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
|
|
->where('tarikh_lelong','=',$currentdate)
|
|
->where('caw_id', '=', $request->caw_id)
|
|
->where('status_online', '=', 1)
|
|
->get()->toArray();
|
|
|
|
|
|
foreach($lelong as $index1 => $lel)
|
|
{
|
|
$lelongbid = LelongBid ::where('lelong_id', $lel['lelong_id'])
|
|
->where('caw_id', '=', $request->caw_id)
|
|
->get()->toArray();
|
|
|
|
$lelong[$index1]['lelongbid'] = $lelongbid;
|
|
// dd($lelong);
|
|
|
|
|
|
|
|
foreach($lelongbid as $index=>$lelbidmarhun){
|
|
// $cawangan = Cawangan::where('id','=',$lelbidmarhun['caw_id'])->first()->toArray();
|
|
// $id = lelongbid::first();
|
|
|
|
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $lelbidmarhun['id'])
|
|
->get()->toArray();
|
|
|
|
$lelong['lelongbid'][$index]['lelongbidmarhun'] = $lelongbidmarhun;
|
|
// $lelong[$index1]['lelongbid'][$index2]['cawangan'] = $cawangan;
|
|
// dd($lelong);
|
|
}
|
|
}
|
|
|
|
if($lelong) {
|
|
return response()->json(
|
|
['success' => true, 'message' => $lelong], 201
|
|
);
|
|
}
|
|
else {
|
|
return response()->json(
|
|
['success' => false, 'message' => 'Empty Data'], 201
|
|
);
|
|
}
|
|
|
|
}
|
|
|
|
public function bidresult($user_id)
|
|
{
|
|
$sag = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->join('lelong', 'lelongbid.lelong_id', '=', 'lelong.id')
|
|
->where('lelongbidder.user_id',$user_id)
|
|
// ->where('lelongbid.lelong_id',$lelong_id)
|
|
->where('lelongbidder.status_bidder',1)
|
|
->whereNull('lelongbidder.status_payment')
|
|
->select(
|
|
'lelongbid.lelong_id',
|
|
'lelongbidder.user_id',
|
|
'lelongbidder.lelongbid_id',
|
|
'lelongbidder.hargabida',
|
|
'lelongbidder.status_payment',
|
|
'lelongbid.norujukan'
|
|
|
|
)
|
|
->get();
|
|
|
|
// dd($sag);
|
|
$data = [];
|
|
$total_hargabida = $sag->sum('hargabida');
|
|
array_push($data,[
|
|
'sag'=> $sag,
|
|
'total_hargabida'=> $total_hargabida
|
|
]);
|
|
// dd($winner);
|
|
return response()->json($data);
|
|
}
|
|
|
|
public function resultInCawangan(Request $request)
|
|
{
|
|
|
|
$user = User::find($request->user_id, ['name', 'nokp']);
|
|
|
|
$lelongbid = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
|
->where('lelongbid.lelong_id', $request->lelong_id)
|
|
->where('lelongbidder.user_id', $request->user_id)
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->where('lelongbid.kodcaw', $request->kodcaw)
|
|
->select(
|
|
'lelongbid.id AS id',
|
|
'lelongbidder.id AS bidder_id',
|
|
'lelongbid.norujukan',
|
|
'lelongbid.kodcaw',
|
|
'lelongbidder.hargabida',
|
|
'lelongbid.marhun',
|
|
'lelongbid.berat',
|
|
)
|
|
->get();
|
|
|
|
foreach ($lelongbid as $index => $data) {
|
|
$lelongbidmarhun = LelongBidMarhun::where('lelongbid_id', $data->id)->get();
|
|
foreach ($lelongbidmarhun as $index1 => $lelbidmarhun) {
|
|
$jenis_emas = JenisEmas::where('marhun', '=', $lelbidmarhun->marhun)->select('descpt')->first();
|
|
$lelongbidmarhun[$index1]['marhun_desc'] = $jenis_emas->descpt;
|
|
}
|
|
$lelongbid[$index]['lelongbidmarhun'] = $lelongbidmarhun->toArray();
|
|
}
|
|
// dd($lelongbid->toArray(), $user->toArray());
|
|
return response()->json([
|
|
'success' => true,
|
|
'user' => $user,
|
|
'lelongbid' => $lelongbid
|
|
]);
|
|
}
|
|
|
|
public function resultInCawangan2(Request $request)
|
|
{
|
|
|
|
$current = new Carbon();
|
|
$date_convert = strtotime($current);
|
|
$current_convert = date("d-m-Y h:i A", $date_convert);
|
|
|
|
$user = User::find($request->user_id, ['name', 'nokp', 'alamat', 'notelbimbit']);
|
|
|
|
$lelong = Lelong::find($request->lelong_id, ['id', 'tarikh_lelong']);
|
|
|
|
$date_convert = strtotime($lelong->tarikh_lelong);
|
|
$date_lelong_convert = date("d-m-Y", $date_convert);
|
|
|
|
$cawangan = Cawangan::where('caw_code', $request->kodcaw)->select('caw_name', 'alamat1', 'alamat2', 'notel', 'nofaks')->first();
|
|
|
|
$lelong_bid_all = LelongBid::with(['lelongBidMarhun:id,lelongbid_id,marhun,berat', 'lelongBidMarhun.jenisEmas:marhun,descpt'])
|
|
->join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
|
->where('lelongbid.lelong_id', $request->lelong_id)
|
|
->where('lelongbidder.user_id', $request->user_id)
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->where('lelongbid.kodcaw', $request->kodcaw)
|
|
->select(
|
|
'lelongbid.id AS id',
|
|
'lelongbidder.id AS bidder_id',
|
|
'lelongbid.norujukan',
|
|
'lelongbid.kodcaw',
|
|
'lelongbidder.hargabida',
|
|
'lelongbid.marhun',
|
|
'lelongbid.berat',
|
|
)
|
|
->get();
|
|
|
|
// return view('pdf.surathakkepemilikanbrg', compact('current_convert', 'date_lelong_convert', 'user', 'lelong_bid_all', 'cawangan'));
|
|
|
|
$pdf = PDF::loadView('pdf.surathakkepemilikanbrg', compact('current_convert', 'date_lelong_convert', 'user', 'lelong_bid_all', 'cawangan'))->setPaper('a4', 'potrait');
|
|
|
|
return $pdf->download('Penyata Bayaran.pdf');
|
|
}
|
|
|
|
public function downloadInvoice(Request $request)
|
|
{
|
|
$user = User::find($request->user_id, ['name', 'nokp']);
|
|
|
|
$pdf = PDF::loadView('pdf.penyatabayaranpembida')->setPaper('a4', 'potrait');
|
|
|
|
return $pdf->download('Penyata Bayaran.pdf');
|
|
|
|
return response()->json($user);
|
|
}
|
|
|
|
public function bidresults($user_id, $lelong_id)
|
|
{
|
|
$sag = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
|
->where('lelongbid.lelong_id', $lelong_id)
|
|
->where('lelongbidder.user_id', $user_id)
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->select(
|
|
'lelongbid.kodcaw'
|
|
)
|
|
->groupBy('lelongbid.kodcaw')
|
|
->get();
|
|
$getTarikhLelong = Lelong::where('id', $lelong_id)->select('tarikh_lelong')->first();
|
|
$tarikhLelong = $getTarikhLelong->tarikh_lelong;
|
|
|
|
$tarikhLelong = strtotime($tarikhLelong);
|
|
$tarikhLelong = date("d-m-Y", $tarikhLelong);
|
|
|
|
$data = [];
|
|
|
|
foreach ($sag as $index1 => $kodcaw) {
|
|
$groupBycaw = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
|
->where('lelongbid.lelong_id', $lelong_id)
|
|
->where('lelongbidder.user_id', $user_id)
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->where('lelongbid.kodcaw', $kodcaw->kodcaw)
|
|
->select(
|
|
'lelongbid.id AS id',
|
|
'lelongbidder.id AS bidder_id',
|
|
'lelongbid.norujukan AS norujukan',
|
|
'lelongbid.kodcaw AS kodcaw',
|
|
'lelongbidder.hargabida AS total_payment',
|
|
'lelongbid.marhun AS marhun',
|
|
'lelongbid.hargaasas',
|
|
'lelongbid.berat',
|
|
'lelongbidder.status_payment')
|
|
->get();
|
|
|
|
$getCawangan = Cawangan::where('caw_code', $kodcaw->kodcaw)
|
|
->select('caw_name', 'caw_code')
|
|
->first();
|
|
$namaCawangan = $getCawangan->caw_name;
|
|
$kodCawangan = $getCawangan->caw_code;
|
|
|
|
$status_payment_cawangan['status'] = 1;
|
|
|
|
$payment = Payment::where('norujukan', $groupBycaw[0]->norujukan)
|
|
->where(function ($query) {
|
|
$query->where('status', '=', 1)
|
|
->orWhere('status', '=', 2);
|
|
})
|
|
->first();
|
|
if ($payment != null) {
|
|
$checkPayMethod = Resit::find($payment->resit_id);
|
|
$date_convert = strtotime($checkPayMethod->created_at);
|
|
$checkPayMethod['pay_time'] = date("H:i:s", $date_convert);
|
|
$status_payment_cawangan['resit'] = $checkPayMethod->toArray();
|
|
if ($checkPayMethod->billplz_id == "") {
|
|
$status_payment_cawangan['payment_method'] = "TUNAI";
|
|
$status_payment_cawangan['payment_method_opt'] = 1;
|
|
} elseif (str_starts_with($checkPayMethod->billplz_id, 'CDM')) {
|
|
$status_payment_cawangan['payment_method'] = "CDM";
|
|
$status_payment_cawangan['payment_method_opt'] = 3;
|
|
$file_resit = FileResit::where('user_id', $user_id)->where('lelong_id', $lelong_id)->where('kodcaw', $kodCawangan)->get();
|
|
foreach($file_resit as $index => $resit)
|
|
{
|
|
$date_convert = strtotime($resit->created_at);
|
|
$updatedDateTime = date("H:i:s", $date_convert);
|
|
$file_resit[$index]['masa_upload'] = $updatedDateTime;
|
|
}
|
|
$status_payment_cawangan['file_resit'] = $file_resit;
|
|
} else {
|
|
$status_payment_cawangan['payment_method'] = "ONLINE";
|
|
$status_payment_cawangan['payment_method_opt'] = 2;
|
|
}
|
|
if ($payment->disahkan_pada == NULL) {
|
|
$status_payment_cawangan['status'] = 9; // status pending tunggu pengesahan
|
|
}
|
|
} else {
|
|
$status_payment_cawangan['status'] = null;
|
|
}
|
|
|
|
$total_hargabida = 0;
|
|
foreach ($groupBycaw as $index => $hargabida) {
|
|
$fileMarhun = FileMarhun::where('lelongbid_id', $hargabida->id)->where('photo_type', 1)->get();
|
|
if ($fileMarhun->isNotEmpty()) {
|
|
$groupBycaw[$index]['filemarhun'] = $fileMarhun;
|
|
}
|
|
$marhun = LelongBidMarhun::where('lelongbid_id', '=', $hargabida->id)->get()->toArray();
|
|
$groupBycaw[$index]['lelongbidmarhun'] = $marhun;
|
|
|
|
$totalbida = Lelongbidder::where('id', $hargabida->bidder_id)
|
|
->select('hargabida')
|
|
->first();
|
|
$groupBycaw[$index]['hargabida'] = number_format($totalbida['hargabida'], 2, '.', ',');
|
|
$total_hargabida = $total_hargabida + $totalbida['hargabida'];
|
|
}
|
|
$sag = $groupBycaw;
|
|
array_push($data, [
|
|
'kodcaw' => $kodCawangan,
|
|
'cawangan' => $namaCawangan,
|
|
'sag' => $sag,
|
|
'total_hargabida' => number_format($total_hargabida, 2, '.', ','),
|
|
'status_payment_cawangan' => $status_payment_cawangan
|
|
]);
|
|
}
|
|
|
|
$response = [
|
|
'success' => true,
|
|
'tarikh_lelong' => $tarikhLelong,
|
|
'data' => $data
|
|
];
|
|
|
|
return response()->json($response);
|
|
|
|
}
|
|
|
|
public function bidPayRemaining($user_id, $lelong_id)
|
|
{
|
|
$sag = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
|
->where('lelongbid.lelong_id', $lelong_id)
|
|
->where('lelongbidder.user_id', $user_id)
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->whereNull('lelongbidder.status_payment')
|
|
->select(
|
|
'lelongbid.kodcaw'
|
|
)
|
|
->groupBy('lelongbid.kodcaw')
|
|
->get();
|
|
// dd($sag->toArray());
|
|
$getTarikhLelong = Lelong::where('id', $lelong_id)->select('tarikh_lelong')->first();
|
|
$tarikhLelong = $getTarikhLelong->tarikh_lelong;
|
|
|
|
$date_convert = strtotime($tarikhLelong);
|
|
$tarikhLelong = date("d-m-Y", $date_convert);
|
|
|
|
$data = [];
|
|
|
|
foreach ($sag as $index1 => $kodcaw) {
|
|
// dd($kodcaw->toArray());
|
|
$groupBycaw = LelongBid::join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
|
->where('lelongbid.lelong_id', $lelong_id)
|
|
->where('lelongbidder.user_id', $user_id)
|
|
->where('lelongbidder.status_bidder', 1)
|
|
->whereNull('lelongbidder.status_payment')
|
|
->where('lelongbid.kodcaw', $kodcaw->kodcaw)
|
|
->select(
|
|
'lelongbidder.id AS id',
|
|
'lelongbid.id AS lelongbid_id',
|
|
'lelongbid.norujukan AS norujukan',
|
|
'lelongbid.kodcaw AS kodcaw',
|
|
'lelongbidder.hargabida AS total_payment',
|
|
'lelongbid.marhun AS marhun',
|
|
'lelongbidder.status_payment')
|
|
->get();
|
|
|
|
$getCawangan = Cawangan::where('caw_code', $kodcaw->kodcaw)
|
|
->select('caw_name', 'caw_code')
|
|
->first();
|
|
$namaCawangan = $getCawangan->caw_name;
|
|
$kodCawangan = $getCawangan->caw_code;
|
|
|
|
$sag = $groupBycaw;
|
|
|
|
$total_hargabida = 0;
|
|
foreach ($groupBycaw as $hargabida) {
|
|
$totalbida = Lelongbidder::where('id', $hargabida['id'])
|
|
->select('hargabida')
|
|
->first();
|
|
$total_hargabida = $total_hargabida + $totalbida['hargabida'];
|
|
}
|
|
|
|
array_push($data, [
|
|
'kodcaw' => $kodCawangan,
|
|
'cawangan' => $namaCawangan,
|
|
'sag' => $sag,
|
|
'total_hargabida' => number_format($total_hargabida, 2, '.', ',')
|
|
]);
|
|
}
|
|
|
|
$response = [
|
|
'success' => true,
|
|
'tarikh_lelong' => $tarikhLelong,
|
|
'data' => $data
|
|
];
|
|
|
|
return response()->json($response);
|
|
|
|
}
|
|
|
|
public function updatebiditem(Request $request)
|
|
{
|
|
// dd($request->norujukan->toArray());
|
|
// foreach($request->norujukan as $norujukan)
|
|
// {
|
|
// dd($norujukan);
|
|
// }
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateTimeString();
|
|
|
|
$lelongbid = LelongBid::whereIn('norujukan',$request->norujukan)
|
|
->where('lelong_id',$request->lelong_id)
|
|
->get();
|
|
|
|
foreach($lelongbid as $bid)
|
|
{
|
|
$lelongbidder = LelongBidder::where('lelongbid_id',$bid->id)
|
|
->where('user_id',$request->user_id)->first();
|
|
$lelongbidder->status_payment =1;
|
|
$lelongbidder->payment_id = $request->paymentid;
|
|
$lelongbidder->save();
|
|
|
|
$lelongbid = LelongBid::where('id',$bid->id)->first();
|
|
$lelongbid->status_jual = 1;
|
|
$lelongbid->t_jual = $currentdate;
|
|
$lelongbid->hargajual = $lelongbidder->hargabida;
|
|
$lelongbid->save();
|
|
|
|
}
|
|
|
|
// $alllelongbidder = LelongBidder::join('lelongbid','lelongbidder.lelongbid_id','lelongbid.id')
|
|
// ->where('lelongbidder.user_id',$request->user_id)
|
|
// ->where('lelongbid.lelong_id',$request->lelong_id)
|
|
// ->where('lelongbidder.status_bidder',1)
|
|
// ->select('lelongbidder.hargabida')
|
|
// ->get();
|
|
|
|
// $resit = Resit::where('lelong_id',$request->lelong_id)
|
|
// ->where('user_id',$request->user_id)
|
|
// ->where('resit_type',2)
|
|
// ->first();
|
|
|
|
// if($resit->total_payment > $alllelongbidder->SUM('hargabida'))
|
|
// {
|
|
// $resit->status = 'PAID';
|
|
// $resit->paid_at = $currentdate;
|
|
// $resit->save();
|
|
// }
|
|
|
|
$response = [
|
|
'success' => "success",
|
|
'message' => "Bidaan berjaya dibayar"
|
|
];
|
|
|
|
return response()->json($response, 201);
|
|
|
|
}
|
|
|
|
public function history($user_id)
|
|
{
|
|
$lelongs_id = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->where('lelongbidder.user_id',$user_id)->select('lelongbid.lelong_id')->groupBy('lelongbid.lelong_id')->get();
|
|
|
|
$arrayID = [];
|
|
foreach($lelongs_id as $lelong_id)
|
|
{
|
|
array_push($arrayID,$lelong_id);
|
|
}
|
|
$lelongs = Lelong::whereIn('id',$arrayID)->get()->toArray();
|
|
// dd($lelongs);
|
|
|
|
foreach($lelongs as $index1 => $lelong)
|
|
{
|
|
// dd($lelong['id']);
|
|
$datalelongbidder = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->where('lelongbid.lelong_id',$lelong['id'])
|
|
->where('user_id',$user_id)
|
|
->where('status_bidder',1)->get();
|
|
|
|
$payment = Payment::join('resit', 'payment.resit_id', '=', 'resit.id')
|
|
->where('payment.lelong_id',$lelong['id'])
|
|
->where('payment.user_id',$user_id)
|
|
->where('resit.resit_type',2)
|
|
->first();
|
|
|
|
if($payment->status == 'PAID')
|
|
{
|
|
$status = 'Selesai';
|
|
}
|
|
else
|
|
{
|
|
$status = 'Belum Selesai';
|
|
}
|
|
$lelongs[$index1]['total'] = $datalelongbidder->sum('hargabida');
|
|
$lelongs[$index1]['status'] = $status;
|
|
$lelongs[$index1]['detail_sag'] = $datalelongbidder;
|
|
}
|
|
return response()->json($lelongs, 201);
|
|
}
|
|
|
|
public function listCawLelongToday()
|
|
{
|
|
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateString();
|
|
|
|
$lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
|
|
->join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
|
|
->where('tarikh_lelong', '=', $currentdate)
|
|
->select(
|
|
'lelong.id as lelong_id',
|
|
'lelong.tarikh_lelong',
|
|
'cawangan.caw_name',
|
|
'cawangan_lelong.caw_id',
|
|
'cawangan_lelong.masamula_lelong',
|
|
'cawangan_lelong.masatamat_lelong',
|
|
)
|
|
->groupBy('cawangan.caw_name')
|
|
->get();
|
|
|
|
foreach($lelong as $index => $data)
|
|
{
|
|
if($data['masamula_lelong'] != null)
|
|
{
|
|
$date_convert = strtotime($data['masamula_lelong']);
|
|
$lelong[$index]['masamula_lelong'] = date("h:i A", $date_convert);
|
|
|
|
$date_convert_2 = strtotime($data['masatamat_lelong']);
|
|
$lelong[$index]['masatamat_lelong'] = date("h:i A", $date_convert_2);
|
|
}
|
|
|
|
$lelong[$index]['caw_name'] = substr($data['caw_name'], 8);
|
|
|
|
}
|
|
|
|
if ($lelong->isNotEmpty()) {
|
|
return response()->json([
|
|
'success' => true,
|
|
'lelong' => $lelong,
|
|
]);
|
|
} else {
|
|
return response()->json([
|
|
'success' => false,
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function listCawLelongTodayStarted()
|
|
{
|
|
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateString();
|
|
|
|
$lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
|
|
->join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
|
|
->where('tarikh_lelong', '=', $currentdate)
|
|
->where('cawangan_lelong.status_online', 1)
|
|
->select(
|
|
'lelong.id as lelong_id',
|
|
'lelong.tarikh_lelong',
|
|
'cawangan.caw_name',
|
|
'cawangan_lelong.caw_id',
|
|
'lelong.masamula_lelong',
|
|
'lelong.masatamat_lelong',
|
|
)
|
|
->get()->toArray();
|
|
// dd($lelong);
|
|
|
|
if ($lelong) {
|
|
return response()->json([
|
|
'success' => true,
|
|
'lelong' => $lelong
|
|
]);
|
|
} else {
|
|
return response()->json([
|
|
'success' => false,
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function listCawLelongNext()
|
|
{
|
|
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateString();
|
|
|
|
$lelongs = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
|
|
->join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
|
|
->where('tarikh_lelong', '>', $currentdate)
|
|
->select(
|
|
'lelong.id as lelong_id',
|
|
'lelong.tarikh_lelong',
|
|
'cawangan.caw_name',
|
|
'cawangan_lelong.caw_id',
|
|
'lelong.masamula_lelong',
|
|
'lelong.masatamat_lelong',
|
|
)
|
|
->orderBy('lelong.tarikh_lelong', 'ASC')
|
|
->get();
|
|
|
|
$lelongs = $lelongs->groupBy('tarikh_lelong');
|
|
|
|
$lelong = collect();
|
|
|
|
foreach ($lelongs as $index => $lel) {
|
|
$unique_caw = $lel->unique('caw_id');
|
|
foreach ($unique_caw as $lel_caw) {
|
|
$lelong->add($lel_caw);
|
|
}
|
|
}
|
|
|
|
foreach($lelong as $index => $data)
|
|
{
|
|
$date_convert = strtotime($data['tarikh_lelong']);
|
|
$lelong[$index]['tarikh_lelong'] = date("d-m-Y", $date_convert);
|
|
|
|
$lelong[$index]['caw_name'] = substr($data['caw_name'], 8);
|
|
}
|
|
|
|
if ($lelong) {
|
|
return response()->json([
|
|
'success' => true,
|
|
'lelong' => $lelong
|
|
]);
|
|
} else {
|
|
return response()->json([
|
|
'success' => false,
|
|
'message' => "Empty Data"
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function bayarCdm(Request $request)
|
|
{
|
|
// dd($request->all());
|
|
$validator = Validator::make($request->all(), [
|
|
'lelong_id' => 'required|string',
|
|
'user_id' => 'required',
|
|
]);
|
|
|
|
if ($validator->fails()) {
|
|
$errors = [
|
|
'success' => "error",
|
|
'message' => $validator->errors()
|
|
];
|
|
return response($errors, 201);
|
|
}
|
|
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateTimeString();
|
|
|
|
$user = Auth::user();
|
|
|
|
// $imageName = time().'.'.$request->resit->extension();
|
|
// $data = base64_encode($request->resit->get());
|
|
// $file_type = $request->resit->extension();
|
|
|
|
$resit = Resit::where('lelong_id', $request->lelong_id)
|
|
->where('user_id',$request->user_id)
|
|
->where('resit_type', 2)
|
|
->first();
|
|
|
|
$payment = new Payment;
|
|
$payment->user_id = $request->user_id;
|
|
$payment->lelong_id = $request->lelong_id;
|
|
$payment->kodcaw = $user->kodcaw;
|
|
$payment->status_payment_opt = 3;
|
|
$payment->status = 2;
|
|
$payment->remark = 'BAYARAN CDM';
|
|
$payment->resit_id = $resit->id;
|
|
$payment->total_payment = $request->total_payment;
|
|
$payment->diminta_pada = $currentdate;
|
|
$payment->diminta_oleh = $user->id;
|
|
$payment->save();
|
|
|
|
if($payment)
|
|
{
|
|
$images = $request->images;
|
|
foreach($images as $img)
|
|
{
|
|
$addfile = new FileResit;
|
|
$addfile->user_id = $request->user_id;
|
|
$addfile->payment_id = $payment->id;
|
|
$addfile->file_type = $img['file_type'];
|
|
$addfile->filename = $img['filename'];
|
|
$addfile->save();
|
|
}
|
|
}
|
|
|
|
$bid_id = $request->bid_id;
|
|
foreach($bid_id as $bid)
|
|
{
|
|
$eachbid = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
|
|
->join('users', 'lelongbidder.user_id', '=', 'users.id')
|
|
->where('lelongbidder.lelongbid_id', $bid['lelongbid_id'])
|
|
->select('lelongbidder.hargabida',
|
|
'lelongbid.hargaasas',
|
|
'lelongbid.norujukan',
|
|
'lelongbidder.lelongbid_id',
|
|
'lelongbidder.id as lelongbidder_id',
|
|
'lelongbid.lelong_id as lelong_id'
|
|
)
|
|
->first();
|
|
|
|
$updatelelbidbidder = LelongBidder::where('lelongbid_id', $bid['lelongbid_id'])
|
|
->where('user_id',$request->user_id)
|
|
->first();
|
|
$updatelelbidbidder->status_payment = 2;
|
|
$updatelelbidbidder->payment_id = $payment->id;
|
|
$updatelelbidbidder->save();
|
|
|
|
$eachbidupdate = LelongBid::where('id',$bid)->first();
|
|
$eachbidupdate->hargajual = $eachbid->hargabida;
|
|
$eachbidupdate->save();
|
|
|
|
}
|
|
if ($payment) {
|
|
return response()->json([
|
|
'success' => true,
|
|
'user' => $user,
|
|
'payment' => $payment,
|
|
'file_resit' => $images,
|
|
'updatelelbidbidder' => $updatelelbidbidder,
|
|
'eachbidupdate' => $eachbidupdate
|
|
]);
|
|
}
|
|
else {
|
|
return response()->json([
|
|
'success' => false,
|
|
'message' => "Muat naik bukti pembayaran tidak berjaya!"
|
|
]);
|
|
}
|
|
|
|
// return response($response, 201);
|
|
}
|
|
|
|
public function updateResit(Request $request)
|
|
{
|
|
$validator = Validator::make($request->all(), [
|
|
'lelong_id' => 'required|string',
|
|
'user_id' => 'required',
|
|
'payment_id' => 'required'
|
|
]);
|
|
|
|
if ($validator->fails()) {
|
|
$errors = [
|
|
'success' => "error",
|
|
'message' => $validator->errors()
|
|
];
|
|
return response($errors, 201);
|
|
}
|
|
|
|
$paymentexist = Payment::join('fileresit', 'payment.id', '=', 'fileresit.payment_id')
|
|
->where('payment.lelong_id', $request->lelong_id)
|
|
->where('payment.user_id', $request->user_id)
|
|
->first();
|
|
|
|
if($paymentexist)
|
|
{
|
|
$getpayment = Payment::join('fileresit', 'payment.id', '=', 'fileresit.payment_id')
|
|
->where('payment.lelong_id', $request->lelong_id)
|
|
->where('payment.user_id', $request->user_id)
|
|
->select('payment.id as payment_id',
|
|
'payment.lelong_id',
|
|
'payment.user_id',
|
|
'fileresit.id as fileresit_id',
|
|
'fileresit.file_type',
|
|
'fileresit.filename'
|
|
)
|
|
->first();
|
|
|
|
|
|
$images = $request->images;
|
|
foreach($images as $img)
|
|
{
|
|
$deletepayment = FileResit::where('payment_id', $request->payment_id)
|
|
->where('id', $img['fileresit_id'])
|
|
->delete();
|
|
|
|
$addfile = new FileResit;
|
|
$addfile->user_id = $request->user_id;
|
|
$addfile->payment_id = $request->payment_id;
|
|
$addfile->file_type = $img['file_type'];
|
|
$addfile->filename = $img['filename'];
|
|
$addfile->save();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ($addfile) {
|
|
return response()->json([
|
|
'success' => true,
|
|
'payment' => $paymentexist,
|
|
'file_resit' => $images
|
|
]);
|
|
}
|
|
else {
|
|
return response()->json([
|
|
'success' => false,
|
|
'message' => "Kemaskini bukti pembayaran tidak berjaya!"
|
|
]);
|
|
}
|
|
|
|
}
|
|
|
|
public function getInvoiceId(Request $request) {
|
|
$invoice = Invoice::where('user_id', $request->user_id)->where('lelong_id', $request->lelong_id)->first();
|
|
$lelong = Lelong::find($request->lelong_id);
|
|
|
|
$date_convert = strtotime($lelong->tarikh_lelong);
|
|
$lelong->tarikh_lelong = date("d/m/Y", $date_convert);
|
|
|
|
if ($invoice) {
|
|
return response()->json([
|
|
'success' => true,
|
|
'invoice' => $invoice,
|
|
'lelong' => $lelong
|
|
]);
|
|
} else {
|
|
return response()->json([
|
|
'success' => false,
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function resultLelong()
|
|
{
|
|
$user = Auth::user();
|
|
$current_date = Carbon::now()->toDateString();
|
|
|
|
$lelong = Lelong::join('lelongbid', 'lelong.id', '=', 'lelongbid.lelong_id')
|
|
->join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
|
->where('lelongbidder.user_id', $user->id)
|
|
->where('status_bidder', 1)
|
|
->select('lelong.id', 'lelong.tarikh_lelong')
|
|
->groupBy('lelong.id')
|
|
->orderBy('lelong.id','desc')
|
|
->get();
|
|
|
|
foreach ($lelong as $index => $tarikhLelong) {
|
|
|
|
$jumlah = 0;
|
|
$status = 1;
|
|
$lelongbid = LelongBid::join('lelongbidder', 'lelongbid.id', 'lelongbidder.lelongbid_id')
|
|
->where('lelongbid.lelong_id', $tarikhLelong->id)
|
|
->where('lelongbidder.user_id', $user->id)
|
|
->where('status_bidder', 1)
|
|
->select('lelongbidder.hargabida', 'lelongbidder.status_payment')
|
|
->get();
|
|
|
|
foreach ($lelongbid as $data) {
|
|
$jumlah = $jumlah + $data->hargabida;
|
|
|
|
if ($data->status_payment == null) {
|
|
$status = null;
|
|
}
|
|
}
|
|
|
|
$date_convert = strtotime($tarikhLelong->tarikh_lelong);
|
|
$lelong[$index]['tarikh_lelong'] = date("d-m-Y", $date_convert);
|
|
|
|
$lelong[$index]['jumlah'] = number_format($jumlah, 2, '.', ',');
|
|
$lelong[$index]['status'] = $status;
|
|
}
|
|
|
|
if ($lelong->isNotEmpty()) {
|
|
return response()->json([
|
|
'success' => true,
|
|
'lelong' => $lelong,
|
|
]);
|
|
} else {
|
|
$current_lelong = Lelong::where('tarikh_lelong', $current_date)->where('sts_lelong', 3)->select('id', 'tarikh_lelong')->first();
|
|
|
|
if ($current_lelong != null) {
|
|
|
|
$lelong_bidder_user = LelongBidder::query()
|
|
->join('lelongbid', 'lelongbidder.lelongbid_id', 'lelongbid.id')
|
|
->where('user_id', $user->id)
|
|
->where('lelongbid.lelong_id', $current_lelong->id)
|
|
->select(
|
|
'lelongbidder.id AS lelongbidder_id',
|
|
'lelongbid.id AS lelongbid_id',
|
|
'nama_bidder',
|
|
'user_id',
|
|
'status_bidder'
|
|
)
|
|
->get();
|
|
|
|
if ($lelong_bidder_user->isNotEmpty()) {
|
|
|
|
$status_menang = 0; // kalah semua bidaan
|
|
|
|
foreach ($lelong_bidder_user as $lelong_bidder) {
|
|
if ($lelong_bidder->status_bidder == 1) {
|
|
$status_menang = 1; // menang sekurang-kurangnya satu bidaan
|
|
}
|
|
}
|
|
|
|
return response()->json([
|
|
'success' => false,
|
|
'status' => $status_menang,
|
|
'message' => 'Kalah semua bidaan.'
|
|
]);
|
|
}
|
|
}
|
|
|
|
return response()->json([
|
|
'success' => false, // tiada bidaan dibuat @ tiada lelong pada hari semasa
|
|
'message' => 'Tiada bidaan dibuat @ tiada lelong pada hari semasa.'
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function resultStatus($userId, $lelongId)
|
|
{
|
|
// dd('hey');
|
|
$lelong = Lelong::join('lelongbid', 'lelong.id', '=', 'lelongbid.lelong_id')
|
|
->join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
|
|
->where('lelongbidder.user_id', $userId)
|
|
->where('lelong.id', $lelongId)
|
|
->where('status_bidder', 1)
|
|
->get();
|
|
|
|
foreach ($lelong as $index) {
|
|
|
|
$status = true;
|
|
|
|
if ($index->status_payment == null || $index->status_payment == 0) {
|
|
$status = false;
|
|
}
|
|
}
|
|
|
|
if ($lelong) {
|
|
return response()->json([
|
|
'success' => true,
|
|
'statusMenang' => true,
|
|
'statusBayaran' => $status,
|
|
]);
|
|
} else {
|
|
return response()->json([
|
|
'success' => false,
|
|
'statusMenang' => false,
|
|
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function listPhotoResit(Request $request)
|
|
{
|
|
$file_resit = FileResit::where('user_id', '=', $request->user_id)->where('lelong_id', '=', $request->lelong_id)->get();
|
|
|
|
if ($file_resit->isNotEmpty()) {
|
|
|
|
foreach($file_resit as $index => $resit)
|
|
{
|
|
$date_convert = strtotime($resit->created_at);
|
|
$updatedDateTime = date("d-m-Y H:i:s", $date_convert);
|
|
$file_resit[$index]['masa_upload'] = $updatedDateTime;
|
|
}
|
|
|
|
return response()->json([
|
|
'success' => true,
|
|
'file_resit' => $file_resit,
|
|
]);
|
|
} else {
|
|
return response()->json([
|
|
'success' => false,
|
|
]);
|
|
}
|
|
|
|
}
|
|
|
|
public function addPhotoResit(Request $request)
|
|
{
|
|
$file_type = $request->gambarResit->getClientOriginalExtension();
|
|
|
|
if(strtolower($file_type) != "jpg" && strtolower($file_type) != "jpeg" && strtolower($file_type) != "png")
|
|
{
|
|
return response()->json([
|
|
'success' => false,
|
|
'message1' => "Jenis gambar tidak sah",
|
|
'message2' => "Sila muat naik gambar dalam bentuk PNG atau JPG sahaja."
|
|
]);
|
|
}
|
|
|
|
$addfile = new FileResit();
|
|
$addfile->user_id = $request->user_id;
|
|
$addfile->lelong_id = $request->lelong_id;
|
|
$addfile->original_file_type = $file_type;
|
|
$addfile->kodcaw = $request->kodcaw;
|
|
$addfile->payment_id = 0;
|
|
$addfile->original_size = filesize($request->gambarResit);
|
|
$addfile->save();
|
|
|
|
$directory = "/{$request->user_id}/{$request->lelong_id}/";
|
|
$imageExtension = $file_type;
|
|
|
|
$resitImageFileName = $addfile->id;
|
|
|
|
Storage::disk('resit')->putFileAs($directory, $request->gambarResit, "${resitImageFileName}.${imageExtension}");
|
|
$stored_path = Storage::disk('resit')->path("{$directory}{$resitImageFileName}.${imageExtension}");
|
|
$resitPhotoService = new ResitPhotoService();
|
|
|
|
try {
|
|
$convertToWebP = $resitPhotoService->optimizeImageToWebP($stored_path, $directory, $resitImageFileName);
|
|
} catch (\Exception $e) {
|
|
return $e;
|
|
}
|
|
|
|
$compress_size = Storage::disk('resit')->getSize("{$directory}${resitImageFileName}.webp");
|
|
|
|
$addfile->update([
|
|
'file_type' => 'webp',
|
|
'compress_size' => $compress_size
|
|
]);
|
|
|
|
Storage::disk('resit')->delete("{$directory}${resitImageFileName}.${imageExtension}");
|
|
|
|
return response()->json(['success' => true]);
|
|
}
|
|
|
|
public function showPhotoResit(Request $request)
|
|
{
|
|
$fileResit = FileResit::find($request->fileresit_id);
|
|
$resitPhotoService = new ResitPhotoService();
|
|
$resit_photo = $resitPhotoService->get($fileResit->user_id, $fileResit);
|
|
return base64_encode($resit_photo);
|
|
}
|
|
|
|
public function deletePhotoResit(Request $request)
|
|
{
|
|
$deleteFile = FileResit::find($request->fileresit_id);
|
|
|
|
$directory = "/{$deleteFile->user_id}/{$deleteFile->lelong_id}/";
|
|
$imageExtension = $deleteFile->file_type;
|
|
|
|
$deleteFile_id = $deleteFile->id;
|
|
|
|
$resitImageFileName = "${deleteFile_id}.${imageExtension}";
|
|
|
|
Storage::disk('resit')->delete("{$directory}${resitImageFileName}");
|
|
$deleteFile->delete();
|
|
|
|
return response()->json(['success' => true]);
|
|
|
|
}
|
|
|
|
public function portalApi(Request $request)
|
|
{
|
|
$lelong = LelongBid::select('fasa', 't_lelong')
|
|
->where([['norujukan', $request->norujukan]])
|
|
->first();
|
|
return response()->json(['lelong' => $lelong]);
|
|
}
|
|
|
|
public function initializeCdmPayment(Request $request)
|
|
{
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$day = $current->day;
|
|
$month = $current->month;
|
|
$year = $current->format('y');
|
|
|
|
$original_file_type = strtolower($request->gambarResit->getClientOriginalExtension());
|
|
if($original_file_type != "jpg" && $original_file_type != "jpeg" && $original_file_type != "png")
|
|
{
|
|
return response()->json([
|
|
'success' => false,
|
|
'message1' => "Jenis gambar tidak sah",
|
|
'message2' => "Sila muat naik gambar dalam bentuk PNG atau JPG sahaja."
|
|
]);
|
|
}
|
|
|
|
$this->addPhotoResit($request);
|
|
|
|
$previous_siri = Resit::orderBy('id','desc')->first();
|
|
if($previous_siri){
|
|
$nosiri = $previous_siri->id + 1;
|
|
}else{
|
|
$nosiri = 1;
|
|
}
|
|
|
|
$reference_no = 'LPKB' . $day . $month . $year . sprintf("%08d", $nosiri);
|
|
|
|
$cdm_reference = 'CDM' . sprintf('%06d', $nosiri);
|
|
|
|
$add_resit = new Resit();
|
|
$add_resit->user_id = $request->user_id;
|
|
$add_resit->lelong_id = $request->lelong_id;
|
|
$add_resit->reference_no = $reference_no;
|
|
$add_resit->invoice_id = $request->invoice_id;
|
|
$add_resit->invoice_no = $request->invoice_no;
|
|
$add_resit->billplz_id = $cdm_reference;
|
|
$add_resit->total_payment = $request->total;
|
|
$add_resit->resit_type = 2;
|
|
$add_resit->save();
|
|
|
|
$selectedSag = json_decode($request->sag, true);
|
|
foreach ($selectedSag as $index) {
|
|
$add_payment = new Payment;
|
|
$add_payment->user_id = $request->user_id;
|
|
$add_payment->lelong_id = $request->lelong_id;
|
|
$add_payment->kodcaw = $index['kodcaw'];
|
|
$add_payment->lelongbid_id = $index['lelongbid_id'];
|
|
$add_payment->norujukan = $index['norujukan'];
|
|
$add_payment->total_payment = $index['total_payment'];
|
|
$add_payment->status_payment_opt = 3; //bayar secara CDM 3
|
|
$add_payment->status = 2; //paybidwin
|
|
$add_payment->remark = 'CDM';
|
|
$add_payment->resit_id = $add_resit->id;
|
|
$add_payment->save();
|
|
|
|
$updateTagBid = LelongBid::where('norujukan', $index['norujukan'])->first();
|
|
$updateTagBid->status_payment = 2;
|
|
$updateTagBid->save();
|
|
|
|
$updateTagBidder = LelongBidder::where('lelongbid_id', $updateTagBid->id)
|
|
->where('user_id', $request->user_id)->first();
|
|
$updateTagBidder->status_payment = 2;
|
|
$updateTagBidder->payment_id = $add_payment->id;
|
|
$updateTagBidder->save();
|
|
}
|
|
return response()->json(['success' => true]);
|
|
}
|
|
|
|
public function listLelong()
|
|
{
|
|
$lelong_all = Lelong::select('id', 'tarikh_lelong', 'fasa')->get();
|
|
foreach($lelong_all as $index => $lelong)
|
|
{
|
|
$date_convert = strtotime($lelong->tarikh_lelong);
|
|
$lelong_all[$index]['tarikh_lelong'] = date("d-m-Y", $date_convert);
|
|
}
|
|
return response()->json($lelong_all);
|
|
}
|
|
|
|
public function listLelongByCawangan(Request $request)
|
|
{
|
|
$cawangan = Cawangan::with('lelong')->find($request->caw_id);
|
|
$lelong_all = $cawangan->lelong;
|
|
foreach($lelong_all as $index => $lelong)
|
|
{
|
|
$date_convert = strtotime($lelong->tarikh_lelong);
|
|
$lelong_all[$index]['tarikh_lelong'] = date("d-m-Y", $date_convert);
|
|
$lelong_all[$index]['new_id'] = str_pad($lelong->id, 3, "0", STR_PAD_LEFT);
|
|
}
|
|
return response()->json($lelong_all);
|
|
}
|
|
|
|
public function listCawangan(Request $request)
|
|
{
|
|
$cawangan_all = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
|
|
->where('lelong_id', $request->lelong_id)
|
|
->select('cawangan_lelong.caw_id', 'cawangan.caw_name')->get();
|
|
return response()->json($cawangan_all);
|
|
}
|
|
|
|
public function listLelongBid(Request $request)
|
|
{
|
|
$lelong_bid_all = LelongBid::with('fileMarhunMain')
|
|
->where('caw_id', $request->caw_id)
|
|
->where('lelong_id', $request->lelong_id)
|
|
->select(['id','norujukan', 'marhun', 'nilaimarhun', 'status_semak', 'berat', 'hargaasas'])
|
|
->get();
|
|
|
|
$belum_semak = $lelong_bid_all->where('status_semak', 0)->count();
|
|
|
|
return response()->json([
|
|
"jumlah_surat" => $lelong_bid_all->count(),
|
|
"belum_semak" => $belum_semak,
|
|
"lelong_bid" => $lelong_bid_all,
|
|
]);
|
|
}
|
|
|
|
public function showPhotoMarhun(Request $request)
|
|
{
|
|
$fileMarhun = FileMarhun::find($request->filemarhun_id, ['file_type']);
|
|
|
|
$directory = "/{$request->norujukan}/overall_photo/";
|
|
$imageExtension = $fileMarhun->file_type;
|
|
|
|
$marhunImageFileName = "overall.{$imageExtension}";
|
|
|
|
if (Storage::disk('marhun')->exists("{$directory}${marhunImageFileName}")) {
|
|
$marhun_photo = Storage::disk('marhun')->get("{$directory}${marhunImageFileName}");
|
|
return base64_encode($marhun_photo);
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
public function checkAvailabilityFpxSession(Request $request)
|
|
{
|
|
$user = Auth::user();
|
|
|
|
$current_date_time = Carbon::now()->toDateTimeString();
|
|
|
|
$payment = Payment::query()
|
|
->where('user_id', $user->id)
|
|
->where('lelong_id', $request->lelong_id)
|
|
->where('kodcaw', $request->kodcaw)
|
|
->orderBy('id', 'DESC')
|
|
->select('resit_id')
|
|
->first();
|
|
|
|
if ($payment) {
|
|
$resit = Resit::query()
|
|
->where('id', $payment->resit_id)
|
|
->select('id', 'status', 'created_at')
|
|
->first();
|
|
|
|
$resit_date_time = $resit->created_at->toDateTimeString();
|
|
|
|
$resit_time = strtotime($resit_date_time);
|
|
$future_date = $resit_time + (60 * 2);
|
|
$end_session_date_time_formated = date("Y-m-d H:i:s", $future_date);
|
|
|
|
if ($resit->status == null && $end_session_date_time_formated > $current_date_time) {
|
|
return response()->json([
|
|
'status' => false,
|
|
'message' => 'Previous session is active! Please wait 2 minutes before start again.'
|
|
]);
|
|
} else {
|
|
return response()->json([
|
|
'status' => true,
|
|
'message' => 'None session active'
|
|
]);
|
|
}
|
|
} else {
|
|
return response()->json([
|
|
'status' => true,
|
|
'message' => 'None session active'
|
|
]);
|
|
}
|
|
}
|
|
|
|
}
|