Beispiel #1
0
 public function __construct()
 {
     $this->idpartida = 0;
     $this->fecha = Today();
     $this->hora = Hora();
     $this->cantidad = 0;
     $this->concepto = "";
     $this->preciounitario = 0.0;
     $this->descuento = 0.0;
     $this->importe = 0.0;
     $this->status = 0;
     $this->usuario = 0;
     $this->idpedido = 0;
     $this->idproducto = 0;
     $this->preciobase = "";
     $this->impuesoporc = "";
     $this->impuesto = "";
 }
Beispiel #2
0
 public function establecePartidaCatidad(Modproducto $producto, $cantidad)
 {
     if ($this->idpedido == "" || $this->idpedido == 0) {
         return array("error" => "idpedidonull");
     }
     if ($producto->getIdproducto() == "" || $producto->getIdproducto() == 0) {
         return array("error" => "idproductonull");
     }
     $res = array("error" => false);
     $this->db->where("idpartida in (select idpartida from relpedpar where idpedido = {$this->idpedido}) and idpartida in (select idpartida from relpropar where idproducto = {$producto->getIdproducto()})");
     $regs = $this->db->get('partida');
     $partida = new Modpartida();
     if ($regs->num_rows() > 0) {
         $partida->setIdpartida($regs->row_array()["idpartida"]);
         $partida->getFromDatabase();
     } else {
         $partida->setIdpedido($this->idpedido);
         $partida->setIdproducto($producto->getIdproducto());
         $partida->setStatus($this->modflujo->getEstadoInicial($this->config->item('idflujopartida'))["idestado"]);
     }
     $partida->setFecha(Today());
     $partida->setHora(Hora());
     $partida->setCantidad($cantidad);
     $partida->setConcepto($producto->getNombre());
     $partida->setPreciounitario($producto->getPrecioTotal());
     $partida->setImporte(floatval($partida->getCantidad() * $partida->getPreciounitario()));
     $partida->setPreciobase($producto->getPrecio());
     $partida->setImpuesoporc($producto->getImpuesto());
     $partida->setImpuesto($producto->getImpuesto() / 100.0 * $producto->getPrecio() * $partida->getCantidad());
     $partida->setUsuario($this->session->userdata('idusuario'));
     if ($regs->num_rows() > 0) {
         $partida->updateToDatabase();
     } else {
         $partida->addToDatabase();
     }
     if ($cantidad == 0) {
         $partida->delete();
     }
     return $partida;
 }
Beispiel #3
0
 public function importaXML($archivo)
 {
     $this->load->model('modproducto');
     $this->load->model("modcatalogo");
     $doc = new DOMDocument();
     $doc->load($this->config->item("ruta_uploads") . $archivo);
     foreach ($doc->getElementsByTagName("producto") as $prod) {
         $id = 0;
         $desc = "";
         $obs = "";
         $this->modproducto->Inicializar();
         if ($prod->getAttribute("idwinapp") != "") {
             $id = $this->modproducto->getIdFromIdWinApp($prod->getAttribute("idwinapp"));
             if ($id > 0) {
                 $this->modproducto->getFromDatabase($id);
             }
         }
         $naux = $prod->getElementsByTagName("descripcion");
         if ($naux->length > 0 && trim($naux->item(0)->nodeValue) != "") {
             $desc = trim($naux->item(0)->nodeValue);
         }
         $naux = $prod->getElementsByTagName("observaciones");
         if ($naux->length > 0 && trim($naux->item(0)->nodeValue) != "") {
             $obs = trim($naux->item(0)->nodeValue);
         }
         $this->modproducto->setNombre($prod->getAttribute("producto"));
         $this->modproducto->setDescripcion($desc);
         $this->modproducto->setObservaciones($obs);
         $this->modproducto->setPrecio($prod->getAttribute("precio"));
         $this->modproducto->setIdwinapp($prod->getAttribute("idwinapp"));
         $this->modproducto->setActivo($prod->getAttribute("activo") == "true" ? 1 : 0);
         $this->modproducto->setFechaactualizacion(Today());
         $this->modproducto->setHoraactualizacion(Hora());
         $this->modproducto->setImpuesto($prod->getAttribute("impuesto"));
         $this->modproducto->setCategoria($this->modcatalogo->getIdOption(2, $prod->getAttribute("categoria")));
         $this->modproducto->setMarca($this->modcatalogo->getIdOption(3, $prod->getAttribute("marca")));
         if ($id > 0) {
             $this->modproducto->updateToDatabase();
             $this->modsesion->addLog('actualizar', $this->modproducto->getIdproducto(), $this->modproducto->getNombre(), "producto", "");
         } else {
             $this->modproducto->setFechacarga(Today());
             $this->modproducto->setHoracarga(Hora());
             $this->modproducto->addToDatabase();
             $this->modsesion->addLog('agregar', $this->modproducto->getIdproducto(), $this->modproducto->getNombre(), "producto", "");
         }
     }
 }