@extends('layout')
@section('title','Mouvements stock magasin ')
@section('description','Mouvements stock magasin')
@section('content')
			<br/>
          <div class="section-body">
		  <br/>
			<div class="row">
			<div class="col-md-12">
			<a type="button" target="_blank" href="{{route('mouvement-magasin-recherche')}}" class="btn btn-icon btn-info pull-right"><i class="fas fa-print"></i> Imprimer</a>	
			<a class="btn btn-icon btn-warning pull-right" href="{{route('nouveauProduit')}}"> <i class="fa fa-sign-plus"></i> Ajouter nouveau</a>
			<br/>
			<br/>
			</div>
			
            <div class="col-md-12">
            @if (session('status'))
            <div class="alert alert-warning" style="font-size: 15px; background-color: #328039; color: white">
                <i class="fa fa-check"></i> &nbsp; {{ session('status') }}
            </div>
        @endif

        @if (session('error'))
            <div class="alert alert-danger" style="font-size: 15px; background-color: #fb5757; color: white">
                <i class="ti-na"></i> {{ session('error') }}
            </div>
        @endif
        @if ($errors->any())
            <div class="alert alert-danger" style="font-size: 15px; background-color: #fb5757; color: white" >
                <ul>
                    @foreach ($errors->all() as $error)
                        <li> <i class="ti-na"></i> {{ $error }}</li>
                    @endforeach
                </ul>
            </div>
        @endif
             @if (session('user')->roles=="Admin")
			  <div class="card">
                  <div class="card-header">
                    <h4>Recherche</h4>
                  </div>
                  <div class="card-body">
				<form  action="{{route('magasinPost')}}" method="POST">
                         {{csrf_field()}}
				  <div class="row" style="padding-top: 30px">
					<div class="col-lg-4 col-md-4" hidden> 
					  <div class="form-group">
                      <label>Magasin<font color="red">*</font></label>
                      <select class="form-control select2" name="magasin" required>
                        <option value="1">1</option>
                      </select>
                    </div>
					</div>
					<div class="col-lg-4 col-md-4"> 
					  <div class="form-group">
                      <label>Catégorie<font color="red">*</font></label>
                      <select class="form-control select2" name="categorie_id" required>
                        <option value="">Sélectionner la catégorie</option>
						 @foreach($categorie as $categories)
						<option value="{{$categories->idcat}}">{{$categories->libelle}} </option>
						@endforeach
                      </select>
                    </div>
					</div>
                     <div class="col-lg-3 col-md-12"> 
					  <div class="form-group">
                      <label>Date début <font color="red">*</font></label>
                      <input type="text" class="form-control" name="date_debut" id="champ_date">
					  <div id="calendarMain"></div>
                    </div>
					</div>
					<div class="col-lg-3 col-md-12"> 
					  <div class="form-group">
                      <label>Date fin <font color="red">*</font></label>
                      <input type="text" class="form-control" name="date_fin" id="champ_date2">
					  <div id="calendarMain2"></div>
                    </div>
					</div>
					<div class="col-lg-2 col-md-12"  style="margin-top:25px"> 
                      <button class="btn btn-icon icon-left btn-success"><i class="fas fa-search"></i> Rech</button>
					</div>
                      </div>
					<br><br>	  
				</form>
					  
					    </div>
						 
                    </div>
					@endif
                <div class="card">
                  <div class="card-header">
                    <h4>Catégorie : <font color="red">{{ DB::table('categorie')->where('idcat',$categorie_id)->first()->libelle }}</font>
					</h4>
                  </div>
                  <div class="card-body">
                    <div class="table-responsive">
                      <table class="table table-striped" id="table-1">
                        <thead>
                          <tr>
							<th style="text-align:center;">N°</th>
                                                        <th style="text-align:center;">PA</th>
							<th style="text-align:center;">Désignation</th>
							<th style="text-align:center;">Prix détail</th>
							<th style="text-align:center;">Prix semi</th>
							<th style="text-align:center;">Prix gros</th>
							<th style="text-align:center;">Initial</th>
							<th style="text-align:center;">Entrées(Qté approv.)</th>
							<th style="text-align:center;">Sorties(Qté transférée)</th>
							<th style="text-align:center;">En stock</th>
							<th style="text-align:center;">Valeur</th>
							<th style="text-align:center;">Historique</th>
						</tr>
                        </thead>
                       <tbody>
	@foreach($produits as $produit)
	@php
	if ($date_debut == ""){
	   $vinv = DB::table('stock_magasin')
	        ->where('produit_id', $produit->id)
	        ->where('magasin_id', $magasin)
	        ->where('type_operation', 'Inventaire')
	        ->get()->count();
	   if ($vinv>0){
	     $init = DB::table('stock_magasin')
	        ->where('produit_id', $produit->id)
	        ->where('magasin_id', $magasin)
	        ->where('type_operation', 'Inventaire')
	        ->orderBydesc('id')
	        ->take(1)->first();
	    $entree1 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Appro')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $entree2 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'TransfertRecu')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $entree0 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation appro')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $entree00 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation transfertrecu')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $entree = ($entree1 + $entree2) - ($entree0 + $entree00);
	   
	   $sortie1 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Transfert')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie2 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Vente')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie3 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Destockage')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie0 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation transfert')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie00 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation vente')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $retour = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Retour')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie = ($sortie1 + $sortie2 + $sortie3) - ($sortie0 + $sortie00 + $retour);
	   $initial = $init->qte;    
	    $totap = $initial + $entree;
	    $totstk = $totap - $sortie;
	    
	   }else
	   {
	         $initial = 0;
	         $entree1 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Appro')
	            ->sum('qte');
	       $entree2 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'TransfertRecu')
	            ->sum('qte');
	       $entree0 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation appro')
	            ->sum('qte');
	       $entree00 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation transfertrecu')
	            ->sum('qte');
	       $entree = ($entree1 + $entree2) - ($entree0 + $entree00);
	         $sortie1 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Transfert')
	            ->sum('qte');
	        $sortie2 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Vente')
	            ->sum('qte');
	       $sortie3 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Destockage')
	            ->sum('qte');
	       $sortie0 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation transfert')
	            ->sum('qte');
	        $sortie00 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation vente')
	            ->sum('qte');
	       $retour = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Retour')
	            ->sum('qte');
	       $sortie = ($sortie1 + $sortie2 + $sortie3) - ($sortie0 + $sortie00 + $retour);
	    $totap = $initial + $entree;
	    $totstk = $totap - $sortie;
	   }
	} else {
	    $vinv = DB::table('stock_magasin')
	        ->where('produit_id', $produit->id)
	        ->where('magasin_id', $magasin)
	        ->where('type_operation', 'Inventaire')
	        ->whereBetween('date', [$date_debut,$date_fin])
	        ->get()->count();
	   if ($vinv>0){
	    $init = DB::table('stock_magasin')
	        ->where('produit_id', $produit->id)
	        ->where('magasin_id', $magasin)
	        ->where('type_operation', 'Inventaire')
	        ->orderBydesc('id')
	        ->take(1)->first();
	    $entree1 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Appro')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	    $entree2 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'TransfertRecu')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $entree0 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation appro')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $entree00 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation transfertrecu')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $entree = ($entree1 + $entree2) - ($entree0 + $entree00);
	    $sortie1 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Transfert')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie2 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Vente')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie3 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Destockage')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie0 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation transfert')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie00 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation vente')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	       $retour = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Retour')
	            ->where('id', '>', $init->id)
	            ->sum('qte');
	   $sortie = ($sortie1 + $sortie2 + $sortie3) - ($sortie0 + $sortie00 + $retour);
	   $initial = $init->qte;    
	    $totap = $initial + $entree;
	    $totstk = $totap - $sortie;
	    
	   }else
	   {
	         $initial = 0;
	         $entree1 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Appro')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	       $entree2 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'TransfertRecu')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	       $entree0 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation appro')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	       $entree00 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation transfertrecu')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	       $entree = ($entree1 + $entree2) - ($entree0 + $entree00);
	       $sortie1 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Transfert')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	       $sortie2 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Vente')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	       $sortie3 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Destockage')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	       $sortie0 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Transfert')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	       $sortie00 = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Annulation vente')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	        $retour = DB::table('stock_magasin')
	            ->where('produit_id', $produit->id)
	            ->where('magasin_id', $magasin)
	            ->where('type_operation', 'Retour')
	            ->whereBetween('date', [$date_debut,$date_fin])
	            ->sum('qte');
	            
	           $sortie = ($sortie1 + $sortie2 + $sortie3) - ($sortie0 + $sortie00 + $retour);
	            
	    $totap = $initial + $entree;
	    $totstk = $totap - $sortie;
	   }
	   
	}
		$valeur = $produit->pr * $totstk;
	@endphp
	<tr>
        <td style="text-align:center;font-size:14px;">{{$loop->iteration}}</td>
        <td style="text-align:center;font-size:14px;">{{number_format($produit->pr, 0, ' ', ' ')}}</td>
        <td style="text-align:left;font-size:14px;">{{$produit->barcode}} {{$produit->designation}}</td>
        <td style="text-align:center;font-size:14px;">{{number_format($produit->prix_detail, 0, ' ', ' ')}}</td>
        <td style="text-align:center;font-size:14px;">{{number_format($produit->prix_semigros, 0, ' ', ' ')}}</td>
        <td style="text-align:center;font-size:14px;">{{number_format($produit->prix_gros, 0, ' ', ' ')}}</td>
        <td style="text-align:center;font-size:14px;"> {{$initial}}</td>
        <td style="text-align:center;font-size:14px;"> {{$totap}}</td>
        <td style="text-align:center;font-size:14px;"> {{$sortie}}</td>
		<td style="text-align:center;font-size:14px;">
		    @if($produit->stock_mini >= $totstk)
            <span class="badge badge-danger badge-shadow">
		        {{$totstk}}
			</span>
			@else
			<span class="badge badge-success badge-shadow">
    			{{$totstk}}
			</span>
			@endif
		
        </td>
		<td style="text-align:center;font-size:14px;">{{number_format($valeur, 0, ' ', ' ')}}</td>
        <td class="center" style="text-align:center;">
			<a class="btn btn-icon btn-danger" href="{{route('detail-mouvement-magasin2',['id'=> $produit->id])}}">
			<i class="fas fa-file"></i>
            </a>
			<a class="btn btn-info" href="{{route('modifierproduit',['id'=> $produit->id])}}">
                <i class="fas fa-edit"></i>
            </a>
            <a target="_blank" class="btn btn-warning" href="{{route('listeproduitmagpdf22',['id'=>$produit->id])}}">
                <i class="fas fa-eye"></i>
            </a>
        </td>
    </tr>
	@endforeach
                        </tbody>
                      </table>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
		<div class="modal fade bd-example-modal-sm" id="Validermodal">
			<div class="modal-dialog modal-sm">
				<div class="modal-content">
					<div class="modal-body">
						<p>Voulez-vous valider la facture ?</p>
					</div>
					<div class="modal-footer" style="background-color:#ffffff" id="valider">

					</div>
				</div>
			</div>
		</div>

        <div class="modal fade bd-example-modal-sm" id="Annulermodal">
			<div class="modal-dialog modal-sm">
				<div class="modal-content">
					<div class="modal-body">
						<p>Etes-vous sûr d'annuler cette facture ?</p>
					</div>
					<div class="modal-footer" style="background-color:#ffffff" id="annuler">

					</div>
				</div>
			</div>
		</div>
		<div class="modal fade bd-example-modal-sm" id="Supprimermodal">
			<div class="modal-dialog modal-sm">
				<div class="modal-content">
					<div class="modal-body">
						<p>Etes-vous sûr de supprimer cette facture ?</p>
					</div>
					<div class="modal-footer" style="background-color:#ffffff" id="supprimer">

					</div>
				</div>
			</div>
		</div>

@endsection