コード例 #1
0
 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);
         }
     }
 }
コード例 #2
0
ファイル: VentaController.php プロジェクト: BGCX262/zsmo-git
 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);
     }
 }