Add export data

This commit is contained in:
Amir
2022-11-24 15:49:00 +08:00
parent b56efd06c0
commit 6d1b9bbbab
6 changed files with 187 additions and 44 deletions
+40 -8
View File
@@ -93,20 +93,52 @@ class LelongController extends Controller
public function exportData($lelongid)
{
$lelong = Lelong::with('cawangan')->where('lelong.id', $lelongid)->first();
$lelong = Lelong::with(['cawangan', 'lelongBidJual'])->find($lelongid);
$allCawangan = $lelong->cawangan->keyBy('caw_code');
$lelongBid = $lelong->lelongBidJual->groupBy('kodcaw');
foreach ($lelongBid as $index => $lelong_bid) {
foreach ($allCawangan as $data => $cawangan) {
if ($data == $index) {
$cawangan['lelongBid'] = $lelong_bid;
}
}
}
foreach ($lelong->cawangan as $index => $caw) {
$allLelongBid = $caw->lelongBid->count();
$settlePayment = $caw->lelongBid->where('status_payment', 1)->count();
$lelong->cawangan[$index]['lelong_laku'] = $allLelongBid;
$lelong->cawangan[$index]['selesai_bayar'] = $settlePayment;
}
$lelong['jumlah_lelong_laku'] = $lelong->lelongBidJual->count();
return view('lelong.exportData', compact('lelong'));
}
public function exportDataToApi(Request $request)
{
$lelongDetails = Lelong::find($request->lelong_id);
$cawanganLelong = CawanganLelong::with('cawangan')->where('caw_id', $request->cawangan)->where('lelong_id', $request->lelong_id)->first();
$lelongBidMaster = LelongBid::where('lelong_id', $request->lelong_id)
$lelongBidMaster = LelongBid::with('payment:norujukan,status_payment_opt,remark')
->where('lelong_id', $request->lelong_id)
->where('status_jual', 1)
->where('status_payment', 1)
->where('kodcaw', $cawanganLelong->cawangan->caw_code)
->get();
foreach ($lelongBidMaster as $index => $lelongBid) {
if ($lelongBid->payment->status_payment_opt == 1) {
$lelongBidMaster[$index]['payment_method'] = "TUNAI";
$lelongBidMaster[$index]['teller'] = "LELONG";
} elseif ($lelongBid->payment->status_payment_opt == 2) {
$lelongBidMaster[$index]['payment_method'] = "BAYARAN ONLINE";
$lelongBidMaster[$index]['teller'] = "LELONG ONLINE";
}
}
$lelongbid = $lelongBidMaster->pluck('id');
$lelongbidId = $lelongBidMaster->keyBy('id');
@@ -120,25 +152,25 @@ class LelongController extends Controller
$paymentOnline = Payment::where('lelong_id', $request->lelong_id)
->where('status', '=', 2)
->where('status_payment_opt', '=', 2)
->where('remark', '=', 'BERJAYA BAYARAN ONLINE')
->where('kodcaw', '=', $cawanganLelong->cawangan->caw_code)
->sum('total_payment');
$paymentTunai = Payment::where('lelong_id', $request->lelong_id)
->where('status', '=', 1)
->where('status', '=', 2)
->where('status_payment_opt', '=', 1)
->where('remark', '=', 'TUNAI')
->where('kodcaw', '=', $cawanganLelong->cawangan->caw_code)
->sum('total_payment');
// dd($paymentOnline, $paymentTunai);
// dd($lelongBidMaster->toArray(), $lelongbidmarhun->toArray(), floatval($paymentOnline), floatval($paymentTunai));
$exportData = Http::withOptions(['verify' => config('app.api_verify')])->post(
config('app.api_url') . 'exportLelong',
[
'kodcaw' => $cawanganLelong->cawangan->caw_code,
'tarikh' => $request->tarikh_lelong,
'masadari' => $lelongDetails->masamula_lelong,
'masahingga' => $lelongDetails->masatamat_lelong,
'lelongbid' => $lelongBidMaster->toArray(),
'lelongbidmarhun' => $lelongbidmarhun->toArray(),
'gldetail' => floatval($paymentOnline),
+5
View File
@@ -61,6 +61,11 @@ class Cawangan extends Model
return $this->hasMany(LelongBid::class, 'caw_id', 'id');
}
public function lelongBidJual()
{
return $this->hasMany(LelongBid::class, 'caw_id', 'id')->where('status_jual', 1);
}
public function user()
{
return $this->belongsTo(User::class, 'kodcaw', 'caw_code');
+16 -1
View File
@@ -36,6 +36,16 @@ class Lelong extends Model
return $this->hasMany(LelongBid::class, 'lelong_id', 'id');
}
public function lelongBidJual()
{
return $this->hasMany(LelongBid::class, 'lelong_id', 'id')->where('status_jual', 1);
}
public function lelongBidBelumSemak()
{
return $this->hasMany(LelongBid::class, 'lelong_id', 'id')->where('status_semak', 0);
}
public function lelKarat()
{
return $this->hasMany(LelKarat::class, 'lelong_id', 'id');
@@ -43,6 +53,11 @@ class Lelong extends Model
public function pengesahan()
{
return $this->hasMany(Pengesahan::class,'lelong_id','id');
return $this->hasMany(Pengesahan::class, 'lelong_id', 'id');
}
public function pengesahanTelahSah()
{
return $this->hasMany(Pengesahan::class, 'lelong_id', 'id')->whereNotNull('disahkan_oleh');
}
}
+6 -1
View File
@@ -74,6 +74,11 @@ class LelongBid extends Model
public function pengesahan()
{
return $this->belongsTo(Pengesahan::class, 'id', 'lelongbid_id');
return $this->hasMany(Pengesahan::class, 'lelongbid_id', 'id');
}
public function payment()
{
return $this->hasOne(Payment::class, 'norujukan', 'norujukan')->where('status', 2);
}
}
+7 -2
View File
@@ -28,8 +28,13 @@ class Pengesahan extends Model
return $this->belongsTo(LelongBidMarhun::class, 'lelongbidmarhun_id' , 'id');
}
public function lelong()
public function lelong()
{
return $this->belongsTo(Lelong::class,'lelong_id','id');
return $this->belongsTo(Lelong::class, 'lelong_id', 'id');
}
public function lelongbid()
{
return $this->belongsTo(LelongBid::class, 'lelongbid_id', 'id');
}
}
+113 -32
View File
@@ -4,54 +4,135 @@
<div class="container">
<div class="card">
<div class="card-header">Export Data Lelong</div>
<div class="card-body">
<a href="{{ route('lelong.senarailelong') }}" class="btn btn-light">
<h3><i class="fas fa-arrow-alt-circle-left"></i></h3>
<div class="card-header header-style">
<a href="{{ route('lelong.senarailelong') }}" class="header-style-icon">
<i class="fas fa-arrow-left"></i>
</a>
<div class="header-style-title">
export data lelong : {{$lelong['tarikh_lelong']}}
</div>
</div>
<div class="card-body">
@if ($message = Session::get('success'))
<div class="alert alert-success">
{{ $message }}
</div>
@endif
<p>Batch Lelong: {{$lelong['id']}}</p>
<p>Tarikh Lelong: {{$lelong['tarikh_lelong']}}</p>
<p>Masa Mula Lelong: {{$lelong['masamula_lelong']}}</p>
<p>Masa Tamat Lelong: {{$lelong['masatamat_lelong']}}</p>
<table class="table table-striped table-xl text-center" id="senarailelongtaklaku" style="width:100%">
<thead class="bg-primary text-white">
<tr>
<th>Bil</th>
<th>Kod Cawangan</th>
<th>Cawangan</th>
<th>Status</th>
<th>Tindakan</th>
</tr>
</thead>
<tbody>
<form action="{{ route('lelong.exportDataToApi') }}" method="POST">
@csrf
<input type="hidden" name="lelong_id" value="{{ $lelong->id }}">
<input type="hidden" name="tarikh_lelong" value="{{ $lelong->tarikh_lelong }}">
<div class="row">
<div class="col-md-12 col-lg-6">
<div class="form-group row">
<label class="col-6 col-form-label">Batch Lelong</label>
<div class="col-6">
<div class="input-group">
<input type="text" readonly class="form-control bg-light" value="{{$lelong['id']}}">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-form-label">Masa Mula Lelong</label>
<div class="col-6">
<div class="input-group">
<input type="text" readonly class="form-control bg-light" value="{{$lelong['masamula_lelong']}}">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-form-label">Masa Tamat Lelong</label>
<div class="col-6">
<div class="input-group">
<input type="text" readonly class="form-control bg-light" value="{{$lelong['masatamat_lelong']}}">
</div>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-form-label">Jumlah Surat Laku</label>
<div class="col-6">
<div class="input-group">
<input type="text" readonly class="form-control bg-light" value="{{$lelong['jumlah_lelong_laku']}}">
</div>
</div>
</div>
</div>
</div>
<div style="overflow-x: auto;">
<table class="table table-bordered text-center" id="sayasukatido" style="width:100%">
<thead class="bg-primary text-white">
<tr>
<th>Bil</th>
<th>Kod Cawangan</th>
<th>Cawangan</th>
<th>Status</th>
<th>Tindakan</th>
</tr>
</thead>
<tbody>
@foreach($lelong->cawangan as $data)
<tr>
<td>{{$loop->iteration}}</td>
<td>{{$data->caw_code}}</td>
<td>{{$data->caw_name}}</td>
@if($data->pivot->export_data_sts == null)
<td><span class="badge badge-danger">Belum Selesai</span></td>
<td><button type="submit" name="cawangan" value="{{ $data->id }}" class="btn btn-sm btn-primary">EXPORT <i class="fas fa-file-export"></i></button></td>
@elseif($data->pivot->export_data_sts == "SUCCESS")
<td class="text-success">Selesai</td>
<td></td>
<td>
<p>Surat Laku: {{$data->lelong_laku}}</p>
<p>Selesai Bayar: {{$data->selesai_bayar}}</p>
</td>
@if($data->pivot->export_data_sts == "SUCCESS")
<td class="text-success">Selesai Export</td>
@elseif($data->selesai_bayar == $data->lelong_laku)
<td>
<form action="{{ route('lelong.exportDataToApi') }}" method="POST">
@csrf
<input type="hidden" name="lelong_id" value="{{ $lelong->id }}">
<input type="hidden" name="tarikh_lelong" value="{{ $lelong->tarikh_lelong }}">
<button type="submit" name="cawangan" value="{{ $data->id }}" class="btn btn-primary">EXPORT <i class="fas fa-file-export"></i></button>
</form>
</td>
@elseif($data->selesai_bayar < $data->lelong_laku)
<td>Bayaran belum diselesai sepenuhnya</td>
@endif
</tr>
@endforeach
</form>
</tbody>
</table>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
var tablesayasukatido = $('#sayasukatido').DataTable({
// "pageLength": 50,
});
$('#confirmExport').confirm({
title: 'Export Data Lelong',
content: 'Adakah anda pasti? Tindakan ini tidak dapat dikembalikan.',
icon: 'fa fa-exclamation-triangle',
type: 'blue',
boxWidth: '500px',
useBootstrap: false,
typeAnimated: true,
buttons: {
Batal: {
btnClass: 'btn-default',
action: function() {}
},
Daftar: {
btnClass: 'btn-blue',
action: function() {
$("#submitexport").submit();
console.log('lallu');
$.dialog({
icon: 'fa fa-spinner fa-spin',
title: 'Dalam Proses !',
content: 'Halaman akan dikemaskini selepas proses selesai.',
closeIcon: false,
boxWidth: '500px',
useBootstrap: false,
});
}
},
}
});
</script>
@endsection