/** * Devuelve el listado principal de registros del mantenimiento * @return Response */ public function consultarInventariosDetJSONAction() { $user = $this->get('security.context')->getToken()->getUser(); $inventarioDetDao = new InventarioDetDao($this->getDoctrine()); $registros = $inventarioDetDao->getInventariosDet($user->getEntidad()->getEntId()); $numfilas = count($registros); //$emple = new InventarioDet(); if ($numfilas != 0) { $inventarioDet = new InventarioDet(); $i = 0; foreach ($registros as $ent) { $inventarioDet->setInvDetFecha($ent['invDetFecha']); $registros[$i]['invDetFechaText'] = $inventarioDet->getInvDetFechaText(); $i = $i + 1; } } else { //$rows[0]['id'] = 0; //$rows[0]['cell'] = array(' ', ' ',' ', ' ', ' ', ' ', ' ', ' '); } $datos = json_encode($registros); $pages = floor($numfilas / 10) + 1; $jsonresponse = '{ "page":"1", "total":"' . $pages . '", "records":"' . $numfilas . '", "rows":' . $datos . '}'; $response = new Response($jsonresponse); $response->headers->set('Content-Type', 'application/json'); return $response; }
private function agregarInventarioProveedor(SolLocalDet $solLocalDet, $invId, $litros, $grados, $reserva, $liberarParcial) { $user = $this->get('security.context')->getToken()->getUser(); $inventarioDao = new InventarioDao($this->getDoctrine()); $inventarioDetDao = new InventarioDetDao($this->getDoctrine()); //$inventarioDetDao = new InventarioDetDao($this->getDoctrine()); //$alcoholDao = new AlcoholDao($this->getDoctrine()); $inventarioDet = null; $localDetId = $solLocalDet->getLocalDetId(); //Buscamos si el encabezado en la tabla de "Inventario" existe $inventario = $inventarioDao->getInventario($invId); if ($inventario != null) { $invLitros = $inventario->getInvLitros(); $invReservado = $inventario->getInvReservado(); $invGrado = $inventario->getInvGrado(); if ($reserva) { //Esta formula es para convertir los litros en el grado del inventario del proveedor $inventario->setInvReservado($invReservado + $litros * $grados / $invGrado); $inventarioDet = new InventarioDet(); $inventarioDet->setInvDetFecha(new \DateTime()); $inventarioDet->setAuditUserIns($user->getUsername()); $inventarioDet->setAuditDateIns(new \DateTime()); $inventarioDet->setInvDetLitros($litros * $grados / $invGrado); $inventarioDet->setInvDetAccion("R"); } else { $inventario->setInvLitros($invLitros - $litros * $grados / $invGrado); $inventario->setInvReservado($invReservado - $litros * $grados / $invGrado); $inventarioDet = $inventarioDetDao->findInventarioDet($invId, $localDetId, 'R'); $inventarioDet->setAuditUserUpd($user->getUsername()); $inventarioDet->setAuditDateUpd(new \DateTime()); if ($liberarParcial) { $inventarioDetParcial = new InventarioDet(); $inventarioDetParcial->setInvDetFecha(new \DateTime()); $inventarioDetParcial->setAuditUserIns($user->getUsername()); $inventarioDetParcial->setAuditDateIns(new \DateTime()); $inventarioDetParcial->setInvDetLitros($litros * $grados / $invGrado); $inventarioDetParcial->setInvDetAccion("-"); $inventarioDetParcial->setSolLocalDet($solLocalDet); $inventarioDetParcial->setInventario($inventario); $inventarioDetParcial->getInventario()->addInventarioDet($inventarioDetParcial); $inventarioDet->setInvDetLitros($inventarioDet->getInvDetLitros() - $litros * $grados / $invGrado); } else { $inventarioDet->setInvDetAccion("-"); } } $inventario->setAuditUserUpd($user->getUsername()); $inventario->setAuditDateUpd(new \DateTime()); $inventarioDet->setInventario($inventario); //## Detalle de inventario $inventarioDet->getInventario()->addInventarioDet($inventarioDet); } else { throw new Exception('No existe inventario de Proveedor'); } return $inventarioDet; }