Ejemplo n.º 1
0
    public function imprimirAction()
    {
        $id = $this->_getParam('id', 0);
        $borrador = $this->_getParam('borrador', 0);
        $objTrans = new Application_Model_DbTable_Transaccion();
        $objDocPri = new Application_Model_DbTable_Documentoprincipal();
        $objDocDest = new Application_Model_DbTable_Documentohasdestinatario();
        $objDest = new Application_Model_DbTable_Destinatario();
        $objTraInv = new Application_Model_DbTable_Inventariohastransaccion();
        $objInv = new Application_Model_DbTable_Inventario();
        $objMer = new Application_Model_DbTable_Mercaderia();
        $objTalla = new Application_Model_DbTable_Talla();
        $objTrpo = new Application_Model_DbTable_Transporte();
        $objPrSec = new Application_Model_DbTable_Principalhassecundario();
        $objDos = new Application_Model_DbTable_Documentosecundario();
        $objCol = new Application_Model_DbTable_Color();
        $arr_trans = $objTrans->getTransaccion($id);
        $arr_doc_pri = $objDocPri->getDocumentoprincipal($arr_trans['dop_id_documento_principal']);
        $arr_doc_dest = $objDocDest->listarRegistros($arr_doc_pri['dop_id_documento_principal']);
        $arr_transporte = $objTrpo->getTransporte($arr_trans['ctr_id_transporte']);
        $arr_doc_pri['dop_fecha'] = $this->getDescFecha(substr(new Zend_Date($arr_doc_pri['dop_fecha'], 'dd/MM/YYYY'), 0, 10));
        $arr_transporte['ctr_fecha_salida'] = $this->getDescFecha(substr(new Zend_Date($arr_transporte['ctr_fecha_salida'], 'dd/MM/YYYY'), 0, 10));
        $arr_transporte['ctr_fecha_llegada'] = $this->getDescFecha(substr(new Zend_Date($arr_transporte['ctr_fecha_llegada'], 'dd/MM/YYYY'), 0, 10));
        foreach ($arr_doc_dest as $doc_dest) {
            $arr = $objDest->getDestinatario($doc_dest->des_id_destinatario);
            if (strtolower($doc_dest->dhdo_tipo) == 'origen') {
                $arr_dest_origen = $arr;
            } else {
                $arr_dest_llegada = $arr;
            }
        }
        $arr_tran_inv = $objTraInv->listarRegistros($id);
        $arr_det = array();
        $ind_det = 0;
        $arr_cod_mer = array();
        foreach ($arr_tran_inv as $tra_inv) {
            $arr_inv = $objInv->getInventario($tra_inv->inv_id_inventario);
            $arr_mer = $objMer->getMercaderia($arr_inv['mer_id_mercaderia']);
            $arr_tall = $objTalla->getRegistro($arr_mer['tal_id_talla']);
            if (!in_array($arr_mer['mer_codigo'], $arr_cod_mer)) {
                $arr_color = $objCol->getColor($arr_mer['col_id_color']);
                array_push($arr_cod_mer, $arr_mer['mer_codigo']);
                $arr_det[$ind_det]['col_nombre'] = $arr_color['col_nombre'];
                $arr_det[$ind_det]['mer_codigo'] = $arr_mer['mer_codigo'];
                $arr_det[$ind_det]['mer_articulo'] = $arr_mer['mer_articulo'];
                $arr_det[$ind_det]['mer_costo'] = $arr_mer['mer_costo'] * $arr_inv['inv_cantidad'];
                $arr_det[$ind_det]['talla'] = array($arr_tall['tal_talla']);
                $arr_det[$ind_det]['inv_cantidad'] = array($arr_inv['inv_cantidad']);
                $ind_det++;
            } else {
                $pos = array_search($arr_mer['mer_codigo'], $arr_cod_mer);
                array_push($arr_det[$pos]['talla'], $arr_tall['tal_talla']);
                array_push($arr_det[$pos]['inv_cantidad'], $arr_inv['inv_cantidad']);
                $arr_det[$pos]['mer_costo'] += $arr_mer['mer_costo'] * $arr_inv['inv_cantidad'];
            }
        }
        $arr_doc_sec = $objPrSec->listarRegistros($arr_doc_pri['dop_id_documento_principal']);
        foreach ($arr_doc_sec as $doc_sec) {
            $arr_dos = $objDos->getDocumentosecundario($doc_sec->dos_id_documento_secundario);
        }
        //$arr_doc_pri['monto_neto']  = $arr_doc_pri['dop_monto_total']-$arr_doc_pri['dop_iva'];
        if ($borrador == 1) {
            $this->view->borrador = "BORRADOR";
        } else {
            $this->view->borrador = "";
        }
        $this->view->arr_trans = $arr_trans;
        $this->view->arr_doc_pri = $arr_doc_pri;
        $this->view->arr_doc_dest = $arr_doc_dest;
        $this->view->arr_dest_ori = $arr_dest_origen;
        $this->view->arr_dest_lle = $arr_dest_llegada;
        $this->view->arr_det = $arr_det;
        $this->view->arr_transporte = $arr_transporte;
        $this->view->arr_dos = $arr_dos;
        ob_start();
        ?>
        <page>
		<?php 
        echo $this->view->render('transaccion/imprimirpdf.phtml');
        ?>
        </page>
		<?php 
        $html = ob_get_clean();
        require_once "html2pdf/html2pdf.class.php";
        $html2pdf = new HTML2PDF('P', 'CARTA', 'es', true, 'ISO-8859-1');
        //$html2pdf->RotatedText(35,190,'W a t e r m a r k   d e m o',45);
        $html2pdf->pdf->SetDisplayMode('fullpage');
        $html2pdf->writeHTML($html, false);
        $this->view->pdf = $html2pdf;
        $this->view->render('transaccion/imprimir.phtml');
    }
Ejemplo n.º 2
0
 public function deleteAction()
 {
     if ($this->getRequest()->isPost()) {
         $del = $this->getRequest()->getPost('del');
         if ($del == 'Si') {
             $id = $this->getRequest()->getPost('id');
             $mercaderia = new Application_Model_DbTable_Mercaderia();
             $mercaderia->deleteMercaderia($id);
         }
         $this->_helper->redirector('index');
     } else {
         $id = $this->_getParam('id', 0);
         $mercaderia = new Application_Model_DbTable_Mercaderia();
         $this->view->mercaderia = $mercaderia->getMercaderia($id);
     }
 }
Ejemplo n.º 3
0
 private function pago_efectivo($formData)
 {
     $fecha = date('Y/m/d H:i:s');
     //buscar id del cliente
     $id_cliente = "1";
     //buscar id del credito
     $id_credito = "1";
     //talonario boleta, buscar por local y num boleta
     $id_talonario = "1";
     //entrega de ventas default
     $id_entrega_venta = "1";
     //guardar venta
     $ventaArr = array($id_cliente, $id_credito, $id_talonario, $id_entrega_venta, $fecha, $formData['f_total_final']);
     $venta = new Application_Model_DbTable_Venta();
     $id_venta = $venta->addVenta($ventaArr);
     //guardar descuento has venta
     $descuentohasventa = new Application_Model_DbTable_Descuentohasventa();
     $descuentohasventaArr = array($formData['des_id_descuento'], $id_venta, $formData['f_total_final']);
     $descuentohasventa->addDescuentohasventa($descuentohasventaArr);
     //guardar tipo de pago has venta
     $tipopagohasventa = new Application_Model_DbTable_Tipopagohasventa();
     $tipopagohasventaArr = array($formData['tip_id_tipo_pago'], $id_venta, $formData['f_total_final'], "", "", "");
     $tipopagohasventa->addTipopagohasventa($tipopagohasventaArr);
     //guardar comisiones (cajero + vendedor) en venta has usuario
     $ventahasusuario = new Application_Model_DbTable_Ventahasusuario();
     $usuario = new Application_Model_DbTable_Usuarios();
     $usuarioData = $usuario->getUsuario($formData['usu_id_usuario']);
     $perfil = new Application_Model_DbTable_UsuarioHasPerfil();
     $perfilData = $perfil->perfilesUsuario($formData['usu_id_usuario'])->toArray();
     $ventahasusuarioArrVendedor = array($id_venta, $formData['usu_id_usuario'], $formData['f_total_final'] * ($usuarioData['usu_porcentaje_comision'] / 100), $perfilData[0]['per_id_perfil']);
     $ventahasusuario->addVentahasusuario($ventahasusuarioArrVendedor);
     $usuarioInfo = Zend_Auth::getInstance()->getStorage()->read();
     $perfilDataCajero = $perfil->perfilesUsuario($usuarioInfo->usu_id_usuario)->toArray();
     $ventahasusuarioArrCajero = array($id_venta, $usuarioInfo->usu_id_usuario, $formData['f_total_final'] * ($usuarioInfo->usu_porcentaje_comision / 100), $perfilDataCajero[0]['per_id_perfil']);
     $ventahasusuario->addVentahasusuario($ventahasusuarioArrCajero);
     //guardar historial venta
     //no se ha devuelto nada, por lo tanto historial venta = null
     //guardar venta has inventario
     $inventario = new Application_Model_DbTable_Inventario();
     $ventahasinventario = new Application_Model_DbTable_Ventahasinventario();
     $mercaderia = new Application_Model_DbTable_Mercaderia();
     $bodega = new Application_Model_DbTable_Bodega();
     $historialInventario = new Application_Model_DbTable_Historialinventario();
     $filaInventario = explode('-', $formData['stringMercanciaInput']);
     $glosaInventario = new Application_Model_DbTable_Glosainventario();
     // stringMercanciaInput	|58001|2|34|44000|-|58001|2|34|44000|
     for ($i = 0; $i < count($filaInventario); $i++) {
         $filaInventario[$i] = explode('|', $filaInventario[$i]);
         $nomBodega = "Bodega " . $formData['loc_nombre'];
         $inventarioArr = $inventario->getInventarioPorFiltro($nomBodega, $filaInventario[$i][1], $filaInventario[$i][3]);
         $id_inventario = $inventarioArr[0]['inv_id_inventario'];
         $mercaderiaArr = $mercaderia->getMercaderia3($filaInventario[$i][1])->toArray();
         $id_mercaderia = $mercaderiaArr[0]['mer_id_mercaderia'];
         $bodegaArr = $bodega->getBodega2($nomBodega);
         $id_bodega = $bodegaArr['bod_id_bodega'];
         $ventahasinventarioArr = array($id_inventario, $id_venta, $filaInventario[$i][4], $filaInventario[$i][2]);
         $ventahasinventario->addVentahasinventario($ventahasinventarioArr);
         //guardar historial inventario
         $glosaInventarioArr = $glosaInventario->getGlosainventario("Venta");
         $historialLast = $historialInventario->getLastHistorialinventario($id_inventario);
         $newHiiTotal = $historialLast[0]['hii_total'] - $filaInventario[$i][2];
         //resta del ultimo historial menos la venta
         $historialInventarioArr = array('inv_id_inventario' => $id_inventario, 'ghi_id_glosa_inventario' => $glosaInventarioArr['ghi_id_glosa_inventario'], 'hii_entrada' => '0', 'hii_salida' => $filaInventario[$i][2], 'hii_total' => $newHiiTotal, 'hii_fecha' => $fecha, 'hii_descripcion' => 'Venta de mercadería (' . $filaInventario[$i][1] . '|' . $filaInventario[$i][2] . '|' . $filaInventario[$i][3] . '|' . $filaInventario[$i][4] . '), cantidad: ' . $filaInventario[$i][2] . ' del inventario: ' . $id_inventario . ' por Usuario:' . $usuarioInfo->usu_rut, 'hii_id_padre_historia' => $historialLast[0]['hii_id_historial_inventario']);
         $historialInventario->addHistorialinventario($historialInventarioArr);
         //guardar inventario
         if ($newHiiTotal == '0') {
             $newInvEstado = '3';
             //depleted
         } else {
             if ($newHiiTotal <= 0) {
                 $newInvEstado = '5';
                 //error
             } else {
                 $newInvEstado = '1';
                 //disponible
             }
         }
         $inventarioArr2 = array('inv_id_inventario' => $id_inventario, 'mer_id_mercaderia' => $id_mercaderia, 'bod_id_bodega' => $id_bodega, 'inve_id_inv_estado' => $newInvEstado, 'cjt_id_caja_tarea' => "1", 'inv_cantidad' => $newHiiTotal, 'inv_fecha' => $fecha);
         var_dump($inventarioArr2);
         //$inventario->updateInventario($inventarioArr2);
     }
 }