Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
0.00% |
0 / 30 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
| ReturnController | |
0.00% |
0 / 30 |
|
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 1 |
| saleReturn | |
0.00% |
0 / 30 |
|
0.00% |
0 / 1 |
12 | |||
| 1 | <?php |
| 2 | |
| 3 | namespace App\Http\Controllers\admin; |
| 4 | |
| 5 | use App\Http\Controllers\Controller; |
| 6 | use App\Models\admin\Sale; |
| 7 | use App\Models\admin\SaleDetalis; |
| 8 | use App\Models\admin\SalePayment; |
| 9 | use App\Models\ReturnItem; |
| 10 | use Illuminate\Support\Facades\DB; |
| 11 | |
| 12 | class ReturnController extends Controller |
| 13 | { |
| 14 | public function saleReturn($id) |
| 15 | { |
| 16 | try { |
| 17 | DB::beginTransaction(); |
| 18 | $sale = SaleDetalis::query()->findOrFail($id); |
| 19 | |
| 20 | ReturnItem::query()->create([ |
| 21 | 'sale_id' => $sale->sale_id, |
| 22 | 'product_id' => $sale->product_id, |
| 23 | 'qty' => $sale->qty, |
| 24 | 'category_id' => $sale->category_id, |
| 25 | 'brand_id' => $sale->brand_id, |
| 26 | 'color_id' => $sale->color_id, |
| 27 | 'size_id' => $sale->size_id, |
| 28 | 'origin_id' => $sale->origin_id, |
| 29 | 'selling_price' => $sale->selling_price, |
| 30 | ]); |
| 31 | $price = $sale->qty * $sale->selling_price; |
| 32 | $payment = SalePayment::query()->where('sale_id', $sale->sale_id)->first(); |
| 33 | $total = $payment->total - $price; |
| 34 | $paid = $payment->paid - $price; |
| 35 | $due = $total - $paid; |
| 36 | |
| 37 | $payment->update(['total' => $total, 'paid' => $paid, 'due' => $due]); |
| 38 | $saleId = $sale->sale_id; |
| 39 | $sale->delete(); |
| 40 | $checkSale = SaleDetalis::query()->where('sale_id', $saleId)->exists(); |
| 41 | if ($checkSale == false) { |
| 42 | Sale::query()->findOrFail($saleId)->update(['is_return' => 1]); |
| 43 | } |
| 44 | |
| 45 | DB::commit(); |
| 46 | |
| 47 | return redirect()->back(); |
| 48 | |
| 49 | } catch (\Throwable $e) { |
| 50 | DB::rollBack(); |
| 51 | report($e); |
| 52 | |
| 53 | return back()->with('error', 'Could not process the return.'); |
| 54 | } |
| 55 | } |
| 56 | } |