public function aceptartransaccionAction() { $this->view->test = $this->getRequest()->getParams(); $form = new Application_Form_Addtolocal(); $this->view->form = $form; if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($form->isValid($formData)) { $aceptar = $this->getRequest()->getPost('aceptar'); if ($aceptar == 'Confirmar') { // SI SE CONFIRMA LA TRANSACCION $transaccion = new Application_Model_DbTable_Transaccion(); $bodega = new Application_Model_DbTable_Bodega(); $documentoPrincipal = new Application_Model_DbTable_Documentoprincipal(); $glosaInventario = new Application_Model_DbTable_Glosainventario(); $historialInventario = new Application_Model_DbTable_Historialinventario(); $inventario = new Application_Model_DbTable_Inventario(); $investado = new Application_Model_DbTable_Investado(); $transporte = new Application_Model_DbTable_Transporte(); $usuarioInfo = Zend_Auth::getInstance()->getStorage()->read(); $fecha = date('Y/m/d H:i:s'); $id_transaccion = $formData['id_transaccion']; $transaccionArr = $transaccion->getTransaccion($id_transaccion); //get datos de transaccion $inventarioArr = $inventario->getInventario2($id_transaccion); //get arreglos/matriz con inventarios,pasando por transaccion has inventario $documentoPrincipalArr = $documentoPrincipal->getDocumentoprincipal($transaccionArr['dop_id_documento_principal']); //get documento principal $transporteArr = $transporte->getTransporte($transaccionArr['ctr_id_transporte']); //get transporte for ($i = 0; $i < $inventarioArr; $i++) { //* * * ADD HISTORIAL INVENTARIO, CAMBIO A LOCAL => INVENTARIO = 0 $glosaInventarioArr = $glosaInventario->getGlosainventario("Transacción Hacia Local"); $lastHistorial = $historialInventario->getLastHistorialinventario($inventarioArr[$i]['inv_id_inventario']); //busca al ultimo hijo del historial del inventario, //$lastHistorial-> [0]['hii_id_historial_inventario']/inv_id_inventario/ghi_id_glosa_inventario/ hii_entrada/hii_salida/hii_total/hii_fecha/ hii_descripcion/hii_id_padre_historia $resultadoInventarioArr = array("inv_id_inventario" => $inventarioArr[$i]['inv_id_inventario'], "ghi_id_glosa_inventario" => $glosaInventarioArr['ghi_id_glosa_inventario'], "hii_entrada" => '0', "hii_salida" => $lastHistorial[0]['hii_total'], "hii_total" => '0', "hii_fecha" => $fecha, "hii_descripcion" => 'Transacción hacia Local, cantidad: ' . $lastHistorial[0]['hii_total'] . ' del inventario: ' . $inventarioArr[$i]['inv_id_inventario'] . ' por Usuario: ' . $usuarioInfo->usu_rut, "hii_id_padre_historia" => $lastHistorial[0]['hii_id_historial_inventario']); $nuevo_id_historial_inventario = $historialInventario->addHistorialInventario($resultadoInventarioArr); //se ingresa nuevo historial donde el padre es el id sacado, inventario=0 //* * * ADD INVENTARIO NUEVO, CAMBIO A LOCAL $nuevoInventarioArr = $inventarioArr[$i]; $nuevoInventarioArr['bod_id_bodega'] = $bodega->getBodega2($documentoPrincipalArr['dop_nom_des_llegada']); $nuevoInventarioArr['inve_id_inv_estado'] = $investado->getInvestado2("Disponible"); $nuevoInventarioArr['inv_fecha'] = $fecha; $nuevo_id_inventario = $inventario->addInventario($nuevoInventarioArr[$i]); //* * * ADD HISTORIAL INVENTARIO, CAMBIO A LOCAL => INVENTARIO = LAST BODEGA $glosaInventarioArr2 = $glosaInventario->getGlosainventario("Transacción desde Bodega Principal"); $lastHistorialArr = $historialInventario->getLastHistorialinventario($inventarioArr[$i]['inv_id_inventario']); //busca al ultimo hijo del historial del inventario, //$lastHistorial-> [0]['hii_id_historial_inventario']/inv_id_inventario/ghi_id_glosa_inventario/ hii_entrada/hii_salida/hii_total/hii_fecha/ hii_descripcion/hii_id_padre_historia $resultadoInventarioArr2 = array("inv_id_inventario" => $nuevo_id_inventario, "ghi_id_glosa_inventario" => $glosaInventarioArr2['ghi_id_glosa_inventario'], "hii_entrada" => $lastHistorialArr[0]['hii_total'], "hii_salida" => '0', "hii_total" => $lastHistorialArr[0]['hii_total'], "hii_fecha" => $fecha, "hii_descripcion" => 'Transacción desde Bodega Principal, cantidad: ' . $lastHistorialArr[0]['hii_total'] . ' del inventario: ' . $inventarioArr[$i]['inv_id_inventario'] . ' por Usuario: ' . $usuarioInfo->usu_rut, "hii_id_padre_historia" => $nuevo_id_historial_inventario); $historialInventario->addHistorialInventario($resultadoInventarioArr2); //se ingresa nuevo historial donde el padre es el id sacado, inventario=0 //* * * UPDATE INVENTARIO VIEJO, CAMBIO A LOCAL => INVENTARIO = 0 $inventarioArr[$i]['inv_cantidad'] = '0'; $inventarioArr[$i]['inve_id_inv_estado'] = $investado->getInvestado2("Depletado"); $inventarioArr[$i]['inv_fecha'] = $fecha; $inventario->updateInventario($inventarioArr[$i]); // EDITA INVENTARIO, CANTIDAD = 0 } //* * * TRANSACCION ESTADO = HACIA LOCAL (FINALIZADA) $transaccionArr['tra_tipo_motivo'] = 'Hacia Local (Finalizada)'; $transaccionArr['tra_fecha_finalizacion'] = $fecha; $transaccionArr['tra_rut_autorizado_final'] = $usuarioInfo->usu_rut; $transaccion->updateTransaccion($transaccionArr); } else { if ($aceptar == 'Rechazar') { // SI SE RECHAZA LA TRANSACCION } } //* * * ACTUALIZA FECHA DE LLEGADA EN TRANSPORTE $transporteArr['ctr_fecha_llegada'] = $fecha; $transporte->updateTransporte($transporteArr); } else { $form->populate($formData); } } }
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); } }