/**
  * Eliminacion logica del registro en la tabla. Se encargada colocar el flag audit_deleted =true
  * 
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 private function eliminarInventarioDetProveedorAction(InventarioDet $inventarioDet)
 {
     //Buscamos el encabezado para quitarle la cantidad a eliminar
     $inventarioOld = $inventarioDet->getInventario();
     $invLitros = $inventarioOld->getInvLitros();
     $invReservado = $inventarioOld->getInvReservado();
     if ($inventarioDet->getInvDetAccion() == '+') {
         $inventarioOld->setInvLitros($invLitros - $inventarioDet->getInvDetLitros());
     } else {
         if ($inventarioDet->getInvDetAccion() == 'R') {
             //$inventarioOld->setInvLitros($invLitros - $inventarioDet->getInvDetLitros());
             $inventarioOld->setInvReservado($invReservado - $inventarioDet->getInvDetLitros());
         } else {
             if ($inventarioDet->getInvDetAccion() == '-') {
                 $inventarioOld->setInvLitros($invLitros + $inventarioDet->getInvDetLitros());
             }
         }
     }
     $inventarioOld->setAuditUserUpd('SCA');
     $inventarioOld->setAuditDateUpd(new \DateTime());
     $inventarioDet->setAuditUserUpd('SCA');
     $inventarioDet->setAuditDateUpd(new \DateTime());
     $inventarioDet->setAuditDeleted(true);
     $inventarioDet->setInvDetComentario("Solicitud #" . $inventarioDet->getSolLocalDet()->getLocalDetId() . " Cancelada x Vencimiento");
     return $inventarioDet;
 }
 /**
  * Eliminacion logica del registro en la tabla. Se encargada colocar el flag audit_deleted =true
  * 
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function eliminarAction(InventarioDet $inventarioDet)
 {
     $auditUser = $this->container->get('security.context')->getToken()->getUser();
     $inventarioDetDao = new InventarioDetDao($this->getDoctrine());
     $inventarioDao = new InventarioDao($this->getDoctrine());
     //Buscamos el encabezado para quitarle la cantidad a eliminar
     $inventarioOld = $inventarioDao->findInventario($inventarioDet->getInventario()->getEntidad()->getEntId(), $inventarioDet->getAlcId(), $inventarioDet->getInvGrado(), $inventarioDet->getInvNombreEsp());
     //$inventarioOld = $inventarioDet->getInventario();
     $invLitros = $inventarioOld->getInvLitros();
     $invReservado = $inventarioOld->getInvReservado();
     if ($inventarioDet->getInvDetAccion() == '+') {
         $inventarioOld->setInvLitros($invLitros - $inventarioDet->getInvDetLitros());
     } else {
         if ($inventarioDet->getInvDetAccion() == 'R') {
             //$inventarioOld->setInvLitros($invLitros - $inventarioDet->getInvDetLitros());
             $inventarioOld->setInvReservado($invReservado - $inventarioDet->getInvDetLitros());
         } else {
             if ($inventarioDet->getInvDetAccion() == '-') {
                 $inventarioOld->setInvLitros($invLitros + $inventarioDet->getInvDetLitros());
             }
         }
     }
     $inventarioOld->setAuditUserUpd($auditUser->getUsername());
     $inventarioOld->setAuditDateUpd(new \DateTime());
     $inventarioDetDao->delInventarioDet($inventarioDet->getInvDetId(), $auditUser->getUsername());
     $this->get('session')->setFlash('notice', '#### El registro ha sido eliminado ####');
     return $this->redirect($this->generateUrl('MinSalSCAProcesosBundle_mantInventariosDet'));
 }
 /**
  * 
  * @param Cuota $cuota
  * @param double $litros
  * @return InventarioDet
  */
 private function agregarInventario(Cuota $cuota, $litros)
 {
     $user = $this->get('security.context')->getToken()->getUser();
     $inventarioDao = new InventarioDao($this->getDoctrine());
     //$inventarioDetDao = new InventarioDetDao($this->getDoctrine());
     $alcoholDao = new AlcoholDao($this->getDoctrine());
     $inventarioDet = new InventarioDet();
     //Buscamos si el encabezado en la tabla de "Inventario" existe
     $inventario = $inventarioDao->findInventario($cuota->getEntidad()->getEntId(), $cuota->getAlcohol()->getAlcId(), $cuota->getCuoGrado(), $cuota->getCuoNombreEsp());
     if ($inventario != null) {
         $invLitros = $inventario->getInvLitros();
         $inventario->setInvLitros($invLitros + $litros);
         $inventario->setAuditUserUpd($user->getUsername());
         $inventario->setAuditDateUpd(new \DateTime());
         $inventarioDet->setInventario($inventario);
     } else {
         //#### Encabezado de Inventario
         $inventarioDet->setInventario(new Inventario());
         $inventarioDet->getInventario()->setEntidad($cuota->getEntidad());
         $inventarioDet->getInventario()->setAlcohol($alcoholDao->getAlcohol($cuota->getAlcohol()->getAlcId()));
         $inventarioDet->getInventario()->setInvLitros($litros);
         $inventarioDet->getInventario()->setAuditUserIns($user->getUsername());
         $inventarioDet->getInventario()->setAuditDateIns(new \DateTime());
         $inventarioDet->getInventario()->setInvGrado($cuota->getCuoGrado());
         $inventarioDet->getInventario()->setInvNombreEsp($cuota->getCuoNombreEsp());
     }
     //## Detalle de inventario
     $inventarioDet->getInventario()->addInventarioDet($inventarioDet);
     $inventarioDet->setInvDetFecha(new \DateTime());
     //#### Auditoría
     $inventarioDet->setAuditUserIns($user->getUsername());
     $inventarioDet->setAuditDateIns(new \DateTime());
     $inventarioDet->setInvDetAccion("+");
     $inventarioDet->setInvDetLitros($litros);
     //$inventarioDetDao->editInventarioDet($inventarioDet);
     //$this->getDoctrine()->getEntityManager()->persist($inventarioDet);
     return $inventarioDet;
 }
 /**
  * Eliminacion logica del registro en la tabla. Se encargada colocar el flag audit_deleted =true
  * 
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 private function eliminarInventarioDetProveedorAction(InventarioDet $inventarioDet)
 {
     $auditUser = $this->container->get('security.context')->getToken()->getUser();
     //Buscamos el encabezado para quitarle la cantidad a eliminar
     $inventarioOld = $inventarioDet->getInventario();
     $invLitros = $inventarioOld->getInvLitros();
     $invReservado = $inventarioOld->getInvReservado();
     if ($inventarioDet->getInvDetAccion() == '+') {
         $inventarioOld->setInvLitros($invLitros - $inventarioDet->getInvDetLitros());
     } else {
         if ($inventarioDet->getInvDetAccion() == 'R') {
             //$inventarioOld->setInvLitros($invLitros - $inventarioDet->getInvDetLitros());
             $inventarioOld->setInvReservado($invReservado - $inventarioDet->getInvDetLitros());
         } else {
             if ($inventarioDet->getInvDetAccion() == '-') {
                 $inventarioOld->setInvLitros($invLitros + $inventarioDet->getInvDetLitros());
             }
         }
     }
     $inventarioOld->setAuditUserUpd($auditUser->getUsername());
     $inventarioOld->setAuditDateUpd(new \DateTime());
     $inventarioDet->setAuditUserUpd($auditUser->getUsername());
     $inventarioDet->setAuditDateUpd(new \DateTime());
     $inventarioDet->setAuditDeleted(true);
     $inventarioDet->setInvDetComentario("Solicitud #" . $inventarioDet->getSolLocalDet()->getLocalDetId() . " Cancelada/Rechazada");
     return $inventarioDet;
 }