{{-- resources/views/panel/invoice_edit.blade.php --}} @extends('panel.master') @section('t') ویرایش فاکتور @stop @section('content') @php use Illuminate\Support\Facades\DB; // --- دریافت دسترسی‌ها (مثل صفحهٔ ثبت) --- $B10 = $B13 = $B14 = $B15 = $B16 = $B17 = $B18 = $B0 = $B2 = "off"; $modirpanel = session()->get('modirpanel'); $Status = session()->get('Status'); if ($Status == "clerk") { $accesslevels = DB::select("select * from accesslevels WHERE PhoneMonshis = ?", [$modirpanel]); foreach ($accesslevels as $value0) { $B16 = $value0->B16; $B0 = $value0->B0; $B2 = $value0->B2; } } // --- آماده‌سازی های قبلی (شبیه صفحهٔ ثبت) --- $IdUser= session()->get('IdUser'); $idanbars = session()->get('IdAnbar'); $IdForsatForoshestwos = session()->get('IdForsatForoshestwos') ?: request()->get('IdForsatForoshestwos'); $forsatforoshtwosts = DB::select("select * from forsatforoshtwos WHERE IdForsatForoshestwos='$IdForsatForoshestwos'"); foreach ($forsatforoshtwosts as $val){ $StatusFactorUser=$val->Status; $Idpricetype=$val->Ghimat; $StatusFactor=$val->StatusFactor; } $pricetypes = DB::table('pricetypes')->where('Idpricetype', $Idpricetype) ->get(); foreach($pricetypes as $val){ $namkhimat=$val->Parent.'/'.$val->Name; $columns=$val->columns; } if(empty($namkhimat)){$namkhimat="بدون تایپ قیمتی";} if(empty($columns)){ $columns='prises';} $today = date('Y-m-d'); $today = jdate($today)->format('Y-m-d'); $NameCategury[0] = "0"; $accesslevelcateguris = DB::table('accesslevelcateguris') ->join('categuris','accesslevelcateguris.IdCategury','=','categuris.IdCategury') ->where('accesslevelcateguris.IdUser',$IdUser)->get(); foreach($accesslevelcateguris as $val){ $NameCategury[] = $val->NameCategury; } // گرفتن لیست خریداران و کاربران ثبت‌کننده (مثل ثبت) $IdForsatForoshes = session()->get('IdForsatForoshes'); if (!empty($IdForsatForoshes)) { $forsatforoshes = DB::table('forsatforoshes')->where('IdForsatForoshes', $IdForsatForoshes)->get(); } else { $ss = ['me','Major','shreds']; $forsatforoshes = DB::table('forsatforoshes')->whereIn('Status', $ss)->get(); } // آماده‌سازی لیست کالاها (anbarkalas, anbarkalas2, anbarkalas3) - دقیقاً مثل صفحهٔ ثبت if(count($idanbars) == 1){ $anbarkalas2 = DB::table('anbarkalas')->where('Mojudi','!=','0')->where('anbarkalas.IdAnbar',$idanbars) ->join('sellproductforsats','anbarkalas.IdAnbarKala','=','sellproductforsats.IdAnbarKala') ->join('forsatforoshtwos','sellproductforsats.IdForsatForoshestwos','=','forsatforoshtwos.IdForsatForoshestwos') ->where('forsatforoshtwos.Status','پیش فاکتور') ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->wherenull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar')->wherenotin('sabtkalas.categury',$NameCategury) ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar',DB::raw('(sum(sellproductforsats.NumberProduct)) as total'),DB::raw('((anbarkalas.Mojudi-sellproductforsats.NumberProduct)) as total2')) ->groupBy('anbarkalas.IdAnbarKala')->get(); $limIdAnbarKala = []; foreach($anbarkalas2 as $anbarkal){ $limIdAnbarKala[] = $anbarkal->IdAnbarKala; } if(!empty($limIdAnbarKala) && count($limIdAnbarKala) > 1){ $anbarkalas3 = DB::table('anbarkalas')->whereNotIn('IdAnbarKala',$limIdAnbarKala) ->where('Mojudi','!=','0')->where('anbarkalas.IdAnbar',$idanbars) ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->whereNotIn('sabtkalas.categury',$NameCategury)->whereNotNull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar') ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar')->get(); $anbarkalas = DB::table('anbarkalas')->whereNotIn('IdAnbarKala',$limIdAnbarKala) ->where('Mojudi','!=','0')->where('anbarkalas.IdAnbar',$idanbars) ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->whereNotIn('sabtkalas.categury',$NameCategury)->wherenull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar') ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar')->get(); } else { $anbarkalas3 = DB::table('anbarkalas')->where('Mojudi','!=','0')->where('anbarkalas.IdAnbar',$idanbars) ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->whereNotNull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar')->whereNotIn('sabtkalas.categury',$NameCategury) ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar')->get(); $anbarkalas = DB::table('anbarkalas')->where('Mojudi','!=','0')->where('anbarkalas.IdAnbar',$idanbars) ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->whereNull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar')->whereNotIn('sabtkalas.categury',$NameCategury) ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar')->get(); } } else { // حالت چند انبار (معادل بالا برای whereIn) $anbarkalas2 = DB::table('anbarkalas')->where('Mojudi','!=','0')->whereIn('anbarkalas.IdAnbar',$idanbars) ->join('sellproductforsats','anbarkalas.IdAnbarKala','=','sellproductforsats.IdAnbarKala') ->join('forsatforoshtwos','sellproductforsats.IdForsatForoshestwos','=','forsatforoshtwos.IdForsatForoshestwos') ->where('forsatforoshtwos.Status','پیش فاکتور') ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->wherenull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar')->wherenotin('sabtkalas.categury',$NameCategury) ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar',DB::raw('(sum(sellproductforsats.NumberProduct)) as total')) ->groupBy('anbarkalas.IdAnbarKala')->get(); $limIdAnbarKala = []; foreach($anbarkalas2 as $anbarkal){ $limIdAnbarKala[] = $anbarkal->IdAnbarKala; } if(!empty($limIdAnbarKala) && count($limIdAnbarKala) > 1){ $anbarkalas3 = DB::table('anbarkalas')->whereNotIn('IdAnbarKala',$limIdAnbarKala)->where('Mojudi','!=','0')->whereIn('anbarkalas.IdAnbar',$idanbars) ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->whereNotNull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar')->whereNotIn('sabtkalas.categury',$NameCategury) ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar')->get(); $anbarkalas = DB::table('anbarkalas')->whereNotIn('IdAnbarKala',$limIdAnbarKala)->where('Mojudi','!=','0')->whereIn('anbarkalas.IdAnbar',$idanbars) ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->whereNull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar')->whereNotIn('sabtkalas.categury',$NameCategury) ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar')->get(); } else { $anbarkalas3 = DB::table('anbarkalas')->where('Mojudi','!=','0')->whereIn('anbarkalas.IdAnbar',$idanbars) ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->whereNotNull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar')->whereNotIn('sabtkalas.categury',$NameCategury) ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar')->get(); $anbarkalas = DB::table('anbarkalas')->where('Mojudi','!=','0')->whereIn('anbarkalas.IdAnbar',$idanbars) ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala')->whereNull('sabtkalas.Status') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar')->whereNotIn('sabtkalas.categury',$NameCategury) ->select('sabtkalas.*','anbarkalas.IdAnbarKala','anbarkalas.Mojudi','anbars.NameAnbar')->get(); } } // --- گرفتن آیتم‌های فاکتور برای ویرایش --- $sellproducts = []; if (!empty($IdForsatForoshestwos)) { $sellproducts = DB::table('sellproductforsats') ->where('IdForsatForoshestwos', $IdForsatForoshestwos) ->join('anbarkalas','sellproductforsats.IdAnbarKala','=','anbarkalas.IdAnbarKala') ->join('sabtkalas','anbarkalas.CodeKala','=','sabtkalas.CodeKala') ->join('anbars','anbarkalas.IdAnbar','=','anbars.IdAnbar') ->select( 'sellproductforsats.*', 'sabtkalas.NameKala', 'sabtkalas.CodeKala', 'sabtkalas.Photo2', 'anbarkalas.Mojudi', 'sabtkalas.Cbm1Ctn', 'sabtkalas.Vazn', 'sabtkalas.TedadCtn', 'anbarkalas.IdAnbarKala', 'anbars.NameAnbar' )->get(); } @endphp @foreach($forsatforoshtwos2 as $value111) @endforeach

ویرایش فاکتور — {{ $namkhimat }}

@if ($B16 == "on" or $B0 == "on" or $Status == "modir")

فاکتور — {{ $namkhimat }}

{{ csrf_field() }} {{-- بالای فرم --}}
@component('components.datetime', ['name' => 'DataSabtTwo', 'col' => '3', 'label' => 'تاریخ فاکتور','placeholder' => 'تاریخ فاکتور', 'id' => 'datetime5','value'=>$value111->DataSabtTwo, 'required' => 'true'])@endcomponent

{{-- انتخاب کالا (سلکت) --}}
{{-- جدول فاکتور (tbody ممکن است با آیتم‌های موجود پر شود) --}}
{{-- اگر آیتم‌های فاکتور وجود دارد، آنها را پر کن --}} @php $startIndex = 0; @endphp @foreach($sellproducts as $sp) @php $img = $sp->Photo2 ?? 'no-image.png'; $rowTotal = ($sp->NumberProduct ?? 0) * ($sp->PriceProduct ?? 0); @endphp @php $startIndex++; @endphp @endforeach
ردیف عکس کالا / کد موجودی قابل فروش تعداد در کارتن تعداد قیمت (تومان) جمع جزء توضیحات حذف
{{ $sp->NameAnbar }} - {{ $sp->NameKala }}
کد: {{ $sp->CodeKala }}
{{ $sp->Mojudi }} {{ $sp->Mojudi }} {{ $sp->TedadCtn }} {{ number_format($rowTotal) }}
جمع کل: 0 0
مجموع کل کارتن‌ها: 0 مجموع متر (CBM): 0 وزن کل (kg): 0
{{-- سایر تنظیمات نهایی --}}
با مدیریت هماهنگ کنید مشکل
@endif
@stop @section('extrajs') @stop @section('extraCss') @stop