/** * Resets all references to other model objects or collections of model objects. * * This method is a user-space workaround for PHP's inability to garbage collect * objects with circular references (even in PHP 5.3). This is currently necessary * when using Propel in certain daemon or large-volume/high-memory operations. * * @param boolean $deep Whether to also clear the references on all referrer objects. */ public function clearAllReferences($deep = false) { if ($deep && !$this->alreadyInClearAllReferencesDeep) { $this->alreadyInClearAllReferencesDeep = true; if ($this->collLugarinventarios) { foreach ($this->collLugarinventarios as $o) { $o->clearAllReferences($deep); } } if ($this->aArticulovariante instanceof Persistent) { $this->aArticulovariante->clearAllReferences($deep); } if ($this->aOrdencompra instanceof Persistent) { $this->aOrdencompra->clearAllReferences($deep); } $this->alreadyInClearAllReferencesDeep = false; } // if ($deep) if ($this->collLugarinventarios instanceof PropelCollection) { $this->collLugarinventarios->clearIterator(); } $this->collLugarinventarios = null; $this->aArticulovariante = null; $this->aOrdencompra = null; }
/** * Resets all references to other model objects or collections of model objects. * * This method is a user-space workaround for PHP's inability to garbage collect * objects with circular references (even in PHP 5.3). This is currently necessary * when using Propel in certain daemon or large-volume/high-memory operations. * * @param boolean $deep Whether to also clear the references on all referrer objects. */ public function clearAllReferences($deep = false) { if ($deep && !$this->alreadyInClearAllReferencesDeep) { $this->alreadyInClearAllReferencesDeep = true; if ($this->collTraspasodetalless) { foreach ($this->collTraspasodetalless as $o) { $o->clearAllReferences($deep); } } if ($this->aLugarRelatedByIdlugardestinatario instanceof Persistent) { $this->aLugarRelatedByIdlugardestinatario->clearAllReferences($deep); } if ($this->aLugarRelatedByIdlugarremitente instanceof Persistent) { $this->aLugarRelatedByIdlugarremitente->clearAllReferences($deep); } if ($this->aOrdencompra instanceof Persistent) { $this->aOrdencompra->clearAllReferences($deep); } $this->alreadyInClearAllReferencesDeep = false; } // if ($deep) if ($this->collTraspasodetalless instanceof PropelCollection) { $this->collTraspasodetalless->clearIterator(); } $this->collTraspasodetalless = null; $this->aLugarRelatedByIdlugardestinatario = null; $this->aLugarRelatedByIdlugarremitente = null; $this->aOrdencompra = null; }
/** * @return \yii\db\ActiveQuery */ public function getOrdencompras() { return $this->hasMany(Ordencompra::className(), ['idproveedor' => 'idproveedor']); }
/** * Filter the query by a related Ordencompra object * * @param Ordencompra|PropelObjectCollection $ordencompra The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return TraspasoQuery The current query, for fluid interface * @throws PropelException - if the provided filter is invalid. */ public function filterByOrdencompra($ordencompra, $comparison = null) { if ($ordencompra instanceof Ordencompra) { return $this->addUsingAlias(TraspasoPeer::IDORDENCOMPRA, $ordencompra->getIdordencompra(), $comparison); } elseif ($ordencompra instanceof PropelObjectCollection) { if (null === $comparison) { $comparison = Criteria::IN; } return $this->addUsingAlias(TraspasoPeer::IDORDENCOMPRA, $ordencompra->toKeyValue('PrimaryKey', 'Idordencompra'), $comparison); } else { throw new PropelException('filterByOrdencompra() only accepts arguments of type Ordencompra or PropelCollection'); } }
public function editarAction() { //Cachamos el valor desde nuestro params $id = (int) $this->params()->fromRoute('id'); //Verificamos que el Id articulo que se quiere modificar exista if (!\TraspasoQuery::create()->filterByIdinventariolugar($id)->exists()) { $id = 0; } //Si es incorrecto redireccionavos al action nuevo if (!$id) { return $this->redirect()->toRoute('almacen-transferencias', array('action' => 'nuevo')); } $request = $this->getRequest(); $entity = \TraspasoQuery::create()->findOneByIdinventariolugar($id); $entity_array = $entity->toArray(); $entity_array['detalles'] = array(); $traspaso_detalles = $entity->getTraspasodetalless(); foreach ($traspaso_detalles as $detalle) { $tmp['costo'] = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovarianteCosto(); $tmp['idarticulovariante'] = $detalle->getLugarinventario()->getOrdencompradetalle()->getIdarticulovariante(); $tmp['idlugarinventario'] = $detalle->getIdlugarinventario(); $tmp['cantidad'] = (int) $detalle->getTraspasoCantidad(); $tmp['descripcion'] = ''; $idarticulovariante = $detalle->getLugarinventario()->getOrdencompradetalle()->getIdarticulovariante(); $articulovariante = \ArticulovarianteQuery::create()->findPk($idarticulovariante); $articulovariantevalor = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($idarticulovariante)->find(); $tmp['descripcion'] .= $articulovariante->getArticulo()->getArticuloNombre() . ' '; $propiedadCount = 0; foreach ($articulovariantevalor as $key => $value) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($value->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($value->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articulovariantevalor->count()) { $tmp['descripcion'] .= ' - '; } } $tmp['caducidad'] = !is_null($detalle->getLugarinventario()->getOrdencompradetalle()->getOrdencompradetalleCaducidad('m/Y')) ? $detalle->getLugarinventario()->getOrdencompradetalle()->getOrdencompradetalleCaducidad('m/Y') : 'N/D'; array_push($entity_array['detalles'], $tmp); } //Instanciamos nuestro lugares $lugaresCollection = \LugarQuery::create()->find(); $lugarArray = array(); foreach ($lugaresCollection as $lugar) { $lugarArray[] = array('value' => $lugar->getIdLugar(), 'name' => $lugar->getLugarNombre()); } if ($request->isPost()) { //Si hicieron POST $post_data = $request->getPost(); //echo '<pre>';var_dump($entity_array); echo '<pre>';exit(); //Eliminamos nuestra anterior transferencia $traspaso = \TraspasoQuery::create()->findOneByIdinventariolugar($id); $traspaso_idorden = $traspaso->getIdOrdencompra(); $traspaso_detalles = $traspaso->getTraspasodetalless(); //Eliminamos los detalles y los regresamos a almacen general foreach ($traspaso_detalles as $detalle) { //Instanciamos nuestro el lugar inventario del detalle $lugar_inventario = $detalle->getLugarinventario(); $current_stock = $lugar_inventario->getLugarinventarioCantidad(); $new_stock = $current_stock + $detalle->getTraspasoCantidad(); $lugar_inventario->setLugarinventarioCantidad($new_stock); $lugar_inventario->save(); } //Eliminamos el traspaso y la orden $traspaso->delete(); \OrdencompraQuery::create()->findPk($traspaso_idorden)->delete(); /* * Creamos la nueva */ $traspaso_fecha = \DateTime::createFromFormat('d/m/Y', $post_data['traspaso_fecha']); //Si existen items en el traspaso if (isset($post_data["traspaso_detalles"])) { //Creamos una nueva orden donde vamos a registrar el traspaso $orden = new \Ordencompra(); $orden->setIdproveedor(1)->setOrdencompraNofactura($traspaso_fecha->getTimestamp())->setOrdencompraFecha($traspaso_fecha->format('Y-m-d h:m:s'))->setOrdencompraImporte(0.0)->setOrdencompraStatus('inventario')->setOrdencompraFechaapagar($traspaso_fecha->format('Y-m-d'))->save(); //Generamos el traspaso $traspaso = new \Traspaso(); $traspaso->setIdinventariolugar($entity_array['Idinventariolugar']); $traspaso_fecha = \DateTime::createFromFormat('d/m/Y', $post_data['traspaso_fecha']); $traspaso->setTraspasoFecha($traspaso_fecha->format('Y-m-d h:m:s')); $traspaso->setIdordencompra($orden->getIdordencompra()); $traspaso->setTraspasoStatus('recibido'); $traspaso->setIdlugarremitente($post_data['traspaso_idlugarorigen']); $traspaso->setIdlugardestinatario($post_data["traspaso_idlugardestinatario"]); $traspaso->save(); $idtraspaso = $traspaso->getIdinventariolugar(); //Se guardo con exito la orden if (!$orden->isPrimaryKeyNull()) { $idorden = $orden->getIdordencompra(); //Modificamos el idorden de nuestro traspaso //Insertamos los orden items foreach ($post_data["traspaso_detalles"] as $detalle) { //Agregamos los detalles del traspaso $traspaso_detalle = new \Traspasodetalles(); $traspaso_detalle->setIdtraspaso($idtraspaso)->setIdlugarinventario($detalle["idlugarinventario"])->setTraspasoCantidad($detalle["traspaso_cantidad"])->save(); //Agregamos el order item a la orden $orden_detalle = new \Ordencompradetalle(); $orden_detalle->setIdordencompra($idorden)->setIdarticulovariante($detalle["idarticulovariante"])->setOrdencompradetalleCantidad($detalle["traspaso_cantidad"])->setOrdencompradetalleCosto(0.0)->setOrdencompradetallePrecio(0.0)->setOrdencompradetalleImporte(0.0); if ($detalle['caducidad'] != 'N/D') { $caducidad = \DateTime::createFromFormat('m/Y', $detalle['caducidad']); $orden_detalle->setOrdencompradetalleCaducidad($caducidad->format('Y-m-d')); } $orden_detalle->save(); //Insertamos en nuestro almacen destinatario $lugar_inventario = new \Lugarinventario(); $lugar_inventario->setIdlugar($post_data["traspaso_idlugardestinatario"])->setIdordencompradetalle($orden_detalle->getIdordencompradetalle())->setLugarinventarioCantidad($orden_detalle->getOrdencompradetalleCantidad())->save(); //Restamos del lugarinventario remitente (almacen general) $lugar_inventario = \LugarinventarioQuery::create()->findPk($detalle["idlugarinventario"]); $current_stock = $lugar_inventario->getLugarinventarioCantidad(); $new_stock = $current_stock - $orden_detalle->getOrdencompradetalleCantidad(); $lugar_inventario->setLugarinventarioCantidad($new_stock)->save(); } } } //Agregamos un mensaje $this->flashMessenger()->addMessage('Transferencia modificada exitosamente!'); return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => true))); } return new ViewModel(array('id' => $id, 'transferencia' => $entity_array, 'lugares' => $lugarArray)); }
function confirmar() { $id = $_REQUEST['idOrdenCompra']; $dataOrdenCompra = $_REQUEST['OrdenCompra']; $dataOrdenCompraDetalle = $_REQUEST['Detalleordencompra']; //echo '<pre>'; //print_r($dataOrdenCompraDetalle); //exit; $dataOrdenCompra['valorizado'] = 1; if ($_REQUEST['conformidad'] != 'on') { $dataOrdenCompra['vbimportaciones'] = 0; } if ($_REQUEST['registrado'] == 1) { $detalleMovimiento = $this->AutoLoadModel('detallemovimiento'); $dataproducto = $_REQUEST['Producto']; } $totalDOC = count($dataOrdenCompraDetalle); $ordenCompra = new Ordencompra(); $detalleOrdenCompra = new Detalleordencompra(); $producto = new Producto(); $historialProducto = new Historialproducto(); $exito1 = $ordenCompra->actualizaOrdenCompra($dataOrdenCompra, $id); for ($i = 1; $i <= $totalDOC; $i++) { //Actualizando el DetalleOrdenCompra $idDOC = $dataOrdenCompraDetalle[$i]['iddetalleordencompra']; $ddoci = $dataOrdenCompraDetalle[$i]; $exito_doc = $detalleOrdenCompra->actualizaDetalleOrdenCompra($ddoci, $idDOC); $idProducto = $dataOrdenCompraDetalle[$i]['idproducto']; if ($_REQUEST['registrado'] == 1) { $tcv = $ordenCompra->TipoCambioxIdOrdenCompra($id); $tipocambio = $tcv[0]['tipocambiovigente']; $filtro = "m.idordencompra='{$id}' and dm.idproducto='{$idProducto}' "; $dataMovimiento = $detalleMovimiento->buscaDetalleMovimientoxFiltro($filtro); $iddetallemovimiento = $dataMovimiento[0]['iddetallemovimiento']; $precioCosto = $dataOrdenCompraDetalle[$i]['cifunitario'] * $tipocambio; $cantidadRecibida = $dataOrdenCompraDetalle[$i]['cantidadrecibidaoc']; $stockactual = $dataMovimiento[0]['stockactual'] - $dataMovimiento[0]['cantidad']; $precioactual = $dataproducto[$i]['preciocosto']; $stockproducto = $stockactual + $cantidadRecibida; $preciovalorizado = ($precioCosto * $cantidadRecibida + $stockactual * $precioactual) / $stockproducto; $preciovalorizado = round($preciovalorizado, 2); $ddm['preciovalorizado'] = $preciovalorizado; $ddm['pu'] = $precioCosto; $datop['preciocosto'] = $preciovalorizado; $exitoM = $detalleMovimiento->actualizaDetalleMovimientoxid($iddetallemovimiento, $ddm); } $datop['fob'] = $dataOrdenCompraDetalle[$i]['fobdoc']; $exitoP = $producto->actualizaProducto($datop, $idProducto); // $preciocosto=$dataOrdenCompraDetalle[$i]['totalunitario']; // $idproducto=$dataOrdenCompraDetalle[$i]['idproducto']; // $cantidad=$dataOrdenCompraDetalle[$i]['cantidadsolicitadaoc']; // $dp=$producto->buscaProducto($idproducto);//Data producto // $psv=(($dp[0]['stockactual']*$dp[0]['preciocosto'])+($cantidad*$precioCosto))/($dp[0]['stockactual']+$cantidad);//Precio de stock valorizado // /*Datos de la tabla producto*/ // $dp1['preciocosto']=$precioCosto; // $dp1['fob']=$dataOrdenCompraDetalle[$i]['fobdoc']; // $dp1['cif']=$dataOrdenCompraDetalle[$i]['cifunitario']; // $dp1['precioreferencia01']=($psv*1.10); // //Datos para Historial producto // $dhp['idproducto']=$idproducto; // $dhp['preciofob']=$dataOrdenCompraDetalle[$i]['fobdoc']; // $dhp['hpreciocosto']=$precioCosto; // $dhp['preciostockvalorizado']=$psv; // $exito2=$producto->actualizaProducto($dp1,$idproducto); // $exito3=$historialProducto->grabaHistorialProducto($dhp); } if ($exito_doc and $exito1) { $ruta['ruta'] = "/importaciones/ordencompra"; $this->view->show('ruteador.phtml', $ruta); } }
public function guardarordenAction() { //Recibimos la orden como parametro $request = $this->request; $orden = $request->getPost('orden'); //Cre un nuevo objeto de ordencompra $ordenCompra = new \Ordencompra(); //Seteo los datos $ordencompra_fecha = new \DateTime(); $ordencompra_fecha = $ordencompra_fecha->createFromFormat('d/m/Y', $orden['orden_fecha']); if (!empty($orden['orden_fechaapagar'])) { $ordencompra_fechapagar = new \DateTime(); $ordencompra_fechapagar = $ordencompra_fechapagar->createFromFormat('d/m/Y', $orden['orden_fechaapagar']); } $ordencompra_importe = $orden['orden_importe']; $ordencompra_importe_split = explode('$ ', $ordencompra_importe); $ordencompra_importe = $ordencompra_importe_split[1]; $ordencompra_importe = str_replace(',', '', $ordencompra_importe); //Guardamos nuestra compra $ordenCompra->setIdproveedor($orden['orden_proveedor'])->setOrdencompraStatus($orden['orden_status'])->setOrdencompraNofactura($orden['orden_folio'])->setOrdencompraFecha($ordencompra_fecha->format('Y-m-d'))->setOrdencompraImporte($ordencompra_importe); if (isset($ordencompra_fechapagar)) { $ordenCompra->setOrdencompraFechaapagar($ordencompra_fechapagar->format('Y-m-d')); } if (!is_null($orden['orden_facturapdf'])) { $ordenCompra->setOrdencompraFacturapdf($orden['orden_facturapdf']); } //echo '<pre>';var_dump($ordenCompra->toArray()); echo '<pre>';exit(); $ordenCompra->save(); //Itenaramos sobre los items foreach ($orden['orden_items'] as $item) { $item_importe = $item['ordencompradetalle_importe']; $item_importe_split = explode('$ ', $item_importe); $item_importe = $item_importe_split[1]; $item_importe = str_replace(',', '', $item_importe); $ordenCompraDetalle = new \Ordencompradetalle(); $ordenCompraDetalle->setIdordencompra($ordenCompra->getIdordencompra())->setIdarticulovariante($item['idarticulovariante'])->setOrdencompradetalleCantidad($item['ordencompradetalle_cantidad'])->setOrdencompradetalleCosto($item['ordencompradetalle_costo'])->setOrdencompradetallePrecio($item['ordencompradetalle_precio'])->setOrdencompradetalleImporte($item_importe); if (!empty($item['ordencompradetalle_caducidad'])) { $caducidad = \DateTime::createFromFormat('m/Y', $item['ordencompradetalle_caducidad']); $caducidad = $caducidad->format('Y-m-d'); $ordenCompraDetalle->setOrdencompradetalleCaducidad($caducidad); } $ordenCompraDetalle->save(); //Tambien actualizamos el precio del articulo variante $articulo_variante = \ArticulovarianteQuery::create()->findPk($item['idarticulovariante']); $articulo_variante->setArticulovariantePrecio($item['ordencompradetalle_precio']); $articulo_variante->setArticulovarianteCosto($item['ordencompradetalle_costo']); $articulo_variante->save(); //Los insertamos en nuestro almacen general $lugarInventario = new \Lugarinventario(); $lugarInventario->setIdlugar($orden['orden_lugar'])->setIdordencompradetalle($ordenCompraDetalle->getIdordencompradetalle())->setLugarinventarioCantidad($ordenCompraDetalle->getOrdencompradetalleCantidad())->save(); } //Agregamos un mensaje $this->flashMessenger()->addMessage('Orden generada exitosamente!'); return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => true))); }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param Ordencompra $obj A Ordencompra object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool($obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getIdordencompra(); } // if key === null OrdencompraPeer::$instances[$key] = $obj; } }
function registra() { $dataMovimiento = $_REQUEST['Movimiento']; $idOrdenCompra = $dataMovimiento[idordencompra]; $numero = $_REQUEST['txtCantidadDetalleMovimiento']; $producto = new Producto(); $movimiento = new Movimiento(); $detalleMovimiento = new Detallemovimiento(); $ordenCompra = new Ordencompra(); $detalleOrdenCompra = new Detalleordencompra(); $historialProducto = new Historialproducto(); $exitoMovimiento = $movimiento->grabaMovimiento($dataMovimiento); $operacion = $dataMovimiento[idtipomovimiento] == 1 ? "+" : "-"; //Si el concepto movimiento es ingreso por compras if ($dataMovimiento[idordencompra]) { $dataOrdenCompra = array('registrado' => '1'); $exitoOrdenCompra = $ordenCompra->actualizaOrdenCompra($dataOrdenCompra, $idOrdenCompra); for ($i = 1; $i <= $numero; $i++) { $datosDetalleMovimiento = $_REQUEST['Detallemovimiento' . $i]; $datosProducto = $_REQUEST['Producto' . $i]; if ($datosDetalleMovimiento[estado]) { $cantidad = $datosDetalleMovimiento[cantidadrecibida]; $idProducto = $datosDetalleMovimiento[idproducto]; $iddetalleordencompra = $datosDetalleMovimiento[iddetalleordencompra]; //Obtenemos el stock actual y agregamos el elemento stockactual al //array $datosProducto y lo actualizamos la tabla wc_producto $dataProducto = $producto->buscaProducto($idProducto); $datosProducto['stockactual'] = $dataProducto[0]['stockactual'] + $cantidad; $exitoProducto = $producto->actualizaProducto($datosProducto, $idProducto); //Actualizamos la cantidadrecibida de la tabla wc_detalleordencompra $cantidadRecibida = array('cantidadrecibida' => $cantidad); $exitoDetalleOrdenCompra = $detalleOrdenCompra->actualizaDetalleOrdenCompra($cantidadRecibida, $iddetalleordencompra); //Preparar el array $datosProducto para insertar registro en al tabla //wc_historialproducto. Eliminamos los elemtos stockactual y preciolista //luego agregamos idproducto y cantidad. unset($datosProducto['stockactual']); unset($datosProducto['preciolista']); $datosProducto['idproducto'] = $idProducto; $datosProducto['cantidad'] = $cantidad; $datosProducto['fecha'] = date('Y/m/d'); $exitoHistorialProducto = $historialProducto->grabaHistorialProducto($datosProducto); //Preparamos el array $datosDetalleMovimiento para insertar registro en la //tabla wc_detallemovimiento. unset($datosDetalleMovimiento['iddetalleordencompra']); unset($datosDetalleMovimiento['estado']); array_splice($datosDetalleMovimiento, -2); $datosDetalleMovimiento['cantidad'] = $cantidad; $exitoDetalleMovimiento = $detalleMovimiento->grabaDetalleMovimieto($datosDetalleMovimiento); } } if ($exitoMovimiento and $exitoOrdenCompra and $exitoProducto and $exitoDetalleOrdenCompra and $exitoHistorialProducto and $exitoDetalleMovimiento) { $ruta['ruta'] = "/movimiento/listar"; $this->view->show("ruteador.phtml", $ruta); } } else { $dataDetalleMovimiento = array_splice($_REQUEST, 3, count($_REQUEST) - 8); foreach ($dataDetalleMovimiento as $data) { $cantidad = $data[cantidad]; $idProducto = $data[idproducto]; $dataProducto = $producto->buscaProducto($idProducto); $stockActual = $dataProducto[0]['stockactual']; $stockNuevo = $operacion == '+' ? array('stockactual' => $stockActual + $cantidad) : array('stockactual' => $stockActual - $cantidad); $exitoDetalleMovimiento = $detalleMovimiento->grabaDetalleMovimieto($data); $exitoProducto = $producto->actualizaProducto($stockNuevo, $idProducto); } if ($exitoMovimiento and $exitoDetalleMovimiento and $exitoProducto) { $ruta['ruta'] = "/movimiento/listar"; $this->view->show("ruteador.phtml", $ruta); } } }
function agotados() { $fecha = $_REQUEST['fecha']; $fechaInicio = $_REQUEST['fechaInicio']; $fechaFinal = $_REQUEST['fechaFinal']; $idProducto = $_REQUEST['idProducto']; $repote = new Reporte(); $ordenCompra = new Ordencompra(); $linea = new Linea(); $cantidadDoc = 0; $rutaImagen = $this->rutaImagenesProducto(); $data = $repote->reporteAgotados($fecha, $fechaInicio, $fechaFinal, $idProducto); //$data=$repote->reporteAgotados('','','',''); $unidadMedida = $this->unidadMedida(); $cantidadData = count($data); for ($i = 0; $i < $cantidadData; $i++) { $fu = ''; //Fecha ultima compra $fp = ''; //Fecha penultima compra $c1 = 0; //Cantidad 1 $c2 = 0; //Cantidad 2 $doc = $ordenCompra->lista2UltimasCompras($data[$i]['idproducto']); $cantidadDoc = count($doc); //Data orden compra if ($cantidadDoc) { if ($cantidadDoc == 2) { $fu = $doc[0]['fordencompra']; $fp = $doc[1]['fordencompra']; $c1 = $doc[0]['cantidadsolicitadaoc']; $c2 = $doc[1]['cantidadsolicitadaoc']; } else { $fu = $doc[0]['fordencompra']; $c1 = $doc[0]['cantidadsolicitadaoc']; } } //><img src="'.$rutaImagen.$data[$i]['codigo'].'/'.$data[$i]['imagen'].'"></td>'; $data[$i]['codigo'] = $data[$i]['codigop']; $data[$i]['nompro'] = $data[$i]['nompro']; $data[$i]['fechaultima'] = date("d/m/Y", strtotime($fu)); $data[$i]['cantidadultima'] = $c1; $data[$i]['fechapenultima'] = date("d/m/Y", strtotime($fp)); $data[$i]['cantidadpenultima'] = $c2; $data[$i]['nomlin'] = $linea->nombrexid($data[$i]['idlinea']); } $pdf = new PDF_Mc_Table("L", "mm", "A4"); $titulos = array('Penultima', 'C.Penul', 'Ultima', 'C. Ultima', 'codigo', 'Descripcion', 'Sublinea'); $columnas = array('fechapenultima', 'cantidadpenultima', 'fechaultima', 'cantidadultima', 'codigo', 'nompro', 'nomlin'); $ancho = array(20, 15, 25, 18, 22, 110, 70); $orientacion = array('C', 'C', 'C', 'C', 'C', '', ''); $pdf->_titulo = "Reporte de Agotados"; $pdf->AddPage(); $relleno = true; $pdf->SetFillColor(202, 232, 234); $pdf->SetTextColor(12, 78, 139); $pdf->SetDrawColor(12, 78, 139); $pdf->SetLineWidth(0.3); $pdf->SetFont('Helvetica', 'B', 8); $pdf->fill($relleno); //un arreglo con su medida a lo ancho $pdf->SetWidths($ancho); $valor = "Reporte de Ventas"; $pdf->titlees($valor); //un arreglo con alineacion de cada celda $pdf->SetAligns($orientacion); for ($i = 0; $i < count($titulos); $i++) { $pdf->Cell($ancho[$i], 7, $titulos[$i], 1, 0, 'C', true); } $pdf->Ln(); $pdf->SetFillColor(224, 235, 255); $pdf->SetTextColor(0); $pdf->SetFont(''); for ($i = 0; $i < $cantidadData; $i++) { $fila = array($data[$i]['fechapenultima'], $data[$i]['cantidadpenultima'], utf8_decode($data[$i]['fechaultima']), $data[$i]['cantidadultima'], $data[$i]['codigo'], utf8_decode($data[$i]['nompro']), $data[$i]['nomlin']); $pdf->Row($fila); $relleno = !$relleno; $pdf->fill($relleno); } $pdf->AliasNbPages(); $pdf->Output(); }
/** * @param Ordencompra $ordencompra The ordencompra object to add. */ protected function doAddOrdencompra($ordencompra) { $this->collOrdencompras[] = $ordencompra; $ordencompra->setProveedor($this); }
/** * @return \yii\db\ActiveQuery */ public function getOrdencompras() { return $this->hasMany(Ordencompra::className(), ['estatus_did' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getOrdencompras() { return $this->hasMany(Ordencompra::className(), ['requisicion_did' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getOrdencompras() { return $this->hasMany(Ordencompra::className(), ['idcordinacion' => 'idcoordinacion']); }
/** * Exclude object from result * * @param Ordencompra $ordencompra Object to remove from the list of results * * @return OrdencompraQuery The current query, for fluid interface */ public function prune($ordencompra = null) { if ($ordencompra) { $this->addUsingAlias(OrdencompraPeer::IDORDENCOMPRA, $ordencompra->getIdordencompra(), Criteria::NOT_EQUAL); } return $this; }
function ordenCompra() { if (count($_REQUEST) == 6) { $ordenCompra = new Ordencompra(); /*$url="/".$_REQUEST['url']; $opciones=new general(); $data['Opcion']=$opciones->buscaOpcionexurl($url); $data['Modulo']=$opciones->buscaModulosxurl($url);*/ $data['Ordencompra'] = $ordenCompra->listadoOrdenescompra(); $this->view->show("/reporte/ordencompra.phtml", $data); } else { $idProveedor = $_REQUEST['idProveedor']; $fecha = $_REQUEST['fecha']; $fechaInicio = $_REQUEST['fechaInicio']; $fechaFinal = $_REQUEST['fechaFinal']; $repote = new Reporte(); $data = $repote->reporteOrdenCompra($idProveedor, $fecha, $fechaInicio, $fechaFinal); $data2 = array(); for ($i = 0; $i < count($data); $i++) { $data2[$i]['codigooc'] = $data[$i]['codigooc']; $data2[$i]['fordencompra'] = date("d/m/Y", strtotime($data[$i]['fordencompra'])); $data2[$i]['nomalm'] = $data[$i]['nomalm'] . '</td>'; $data2[$i]['razonsocialp'] = $data[$i]['razonsocialp']; $data2[$i]['fob'] = $data[$i]['fob']; } $objeto = $this->formatearparakui($data2); header("Content-type: application/json"); echo json_encode($objeto); } }
/** * Filter the query by a related Ordencompra object * * @param Ordencompra|PropelObjectCollection $ordencompra the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ProveedorQuery The current query, for fluid interface * @throws PropelException - if the provided filter is invalid. */ public function filterByOrdencompra($ordencompra, $comparison = null) { if ($ordencompra instanceof Ordencompra) { return $this->addUsingAlias(ProveedorPeer::IDPROVEEDOR, $ordencompra->getIdproveedor(), $comparison); } elseif ($ordencompra instanceof PropelObjectCollection) { return $this->useOrdencompraQuery()->filterByPrimaryKeys($ordencompra->getPrimaryKeys())->endUse(); } else { throw new PropelException('filterByOrdencompra() only accepts arguments of type Ordencompra or PropelCollection'); } }
public function caducidadbylugarAction() { $request = $this->request; if ($request->isPost()) { $post_data = $request->getPost(); //Creamos una nueva Orden de compra, donde el proveedor va ser el mismo hospital $orden = new \Ordencompra(); $orden->setIdproveedor(1); $fecha = new \DateTime(); $orden->setOrdencompraNofactura($fecha->getTimestamp()); $orden->setOrdencompraFecha($fecha->format('Y-m-d')); $orden->setOrdencompraImporte(0); $orden->setOrdencompraStatus('inventario'); $orden->setOrdencompraFechaapagar($fecha->format('Y-m-d')); $post_data_array = array(); foreach ($post_data as $post) { if (is_array($post)) { $post_data_array[] = $post; } } //Comenzamos a itinerar sobre el post foreach ($post_data_array as $row) { //Si ya es una orden de compra detalle existente if (isset($row['id'])) { //Creamos una instancia de la orden compra detalle $ocd = \OrdencompradetalleQuery::create()->findPk($row['id']); //Setiamos los valores $newCaducidad = new \DateTime(); //Si nos envian la fecha, le damos formato if (!empty($row['caducidad'])) { $newCaducidad = $newCaducidad->createFromFormat('d/m/y', '01/' . $row['caducidad']); } else { $newCaducidad = null; } $ocd->setOrdencompradetalleCantidad($row['cantidad']); if (!is_null($newCaducidad)) { $ocd->setOrdencompradetalleCaducidad($newCaducidad->format('Y-m-d')); } $ocd->save(); //Ahora actualizamos en lugarInventario $lugarInventario = \LugarinventarioQuery::create()->filterByIdlugar($post_data['idlugar'])->filterByIdordencompradetalle($ocd->getIdordencompradetalle())->findOne(); $lugarInventario->setLugarinventarioCantidad($row['cantidad']); $lugarInventario->save(); } else { //En dado caso que no exista... if (is_null($orden->getIdordencompra())) { $orden->save(); } //Nueva instancia de orden compra detalle $ocd = new \Ordencompradetalle(); $newCaducidad = new \DateTime(); //Si nos envian la fecha, le damos formato if (!empty($row['caducidad'])) { $newCaducidad = $newCaducidad->createFromFormat('d/m/y', '01/' . $row['caducidad']); } else { $newCaducidad = null; } $ocd->setIdordencompra($orden->getIdordencompra())->setIdarticulovariante($post_data['idarticulovariante'])->setOrdencompradetalleCantidad($row['cantidad'])->setOrdencompradetalleCosto(0)->setOrdencompradetallePrecio(0)->setOrdencompradetalleImporte(0); if (!is_null($newCaducidad)) { $ocd->setOrdencompradetalleCaducidad($newCaducidad->format('Y-m-d')); } $ocd->save(); //Hacemos el insert en lugar inventario $lugarInventario = new \Lugarinventario(); $lugarInventario->setIdlugar($post_data['idlugar'])->setIdordencompradetalle($ocd->getIdordencompradetalle())->setLugarinventarioCantidad($ocd->getOrdencompradetalleCantidad())->save(); } } //Agregamos un mensaje $this->flashMessenger()->addMessage('Existencias guardadas exitosamente!'); //Redireccionamos return $this->redirect()->toUrl('/productos/existencias'); } //Cachamos los datos de la url $idarticulovariante = $this->params()->fromQuery('idarticulovariante'); $idlugar = $this->params()->fromQuery('idlugar'); $descripcion = $this->params()->fromQuery('descripcion'); $existencias = $this->params()->fromQuery('existencias'); $lugarNombre = $this->params()->fromQuery('lugarNombre'); $modalName = 'modal-producto-' . $idarticulovariante . '-lugar-' . $idlugar; $modal = array('id' => $idarticulovariante, 'idlugar' => $idlugar, 'nombre' => \ArticulovarianteQuery::create()->findOneByIdarticulovariante($idarticulovariante)->getArticulo()->getArticuloNombre(), 'descripcion' => $descripcion, 'caducidad' => array(), 'existencias' => $existencias, 'lugar_nombre' => $lugarNombre); //Obtenemos todas las ordenes de compra por idarticulovariante $ordenCompraDetalleCollection = \OrdencompradetalleQuery::create()->findByIdarticulovariante($idarticulovariante); //Comenzamos a itinerar foreach ($ordenCompraDetalleCollection as $kocd => $vocd) { $tmp['idordendetallecompra'] = $vocd->getIdordencompradetalle(); if (!is_null($vocd->getOrdencompradetalleCaducidad())) { $date = new \DateTime($vocd->getOrdencompradetalleCaducidad()); $tmp['caducidad'] = $date->format('m/y'); } else { $tmp['caducidad'] = ''; } //Por cada item de articulovariante revisamos su lugar en el inventrario $idodencompreadetalle = $vocd->getIdordencompradetalle(); $lugarinventarioCollection = \LugarinventarioQuery::create()->filterByIdlugar($idlugar)->filterByIdordencompradetalle($idodencompreadetalle)->find(); //Itineramos en lugarInventario foreach ($lugarinventarioCollection as $kli => $vli) { $tmp['cantidad'] = $vli->getLugarinventarioCantidad(); $modal['caducidad'][] = $tmp; } } $viewModel = new ViewModel(); $viewModel->setTerminal(true); $viewModel->setVariables(array('modalName' => $modalName, 'modal' => $modal)); return $viewModel; }
/** * @return \yii\db\ActiveQuery */ public function getOrdencompraD() { return $this->hasOne(Ordencompra::className(), ['id' => 'ordencompra_did']); }
public function actionAjaxObtenerOrdenesProveedor() { $idProveedor = $_POST['idProveedor']; $ordenes = Ordencompra::model()->ObtenerOrdenesXProveedor($idProveedor); Util::renderJSON($ordenes); }