/** * Retorna la página principal del mantenimiento * @return type HTML.twig */ public function mantCuotasAction($entId, $cuoTipo) { $entidadDao = new EntidadDao($this->getDoctrine()); $listadoDNMDao = new ListadoDNMDao($this->getDoctrine()); $entidad = $entidadDao->getEntidad($entId); $year = new \DateTime(); $autorizadoDNM = $listadoDNMDao->estaAutorizado($year->format('Y') + 0, $entidad->getEntNrc(), $entidad->getEntNit()); if (!$autorizadoDNM) { $this->get('session')->setFlash('notice', ListadoDNMDao::$MSG_ERROR_DNM_NOAUTH); } $opciones = $this->getRequest()->getSession()->get('opciones'); return $this->render('MinSalSCAAdminBundle:Cuota:mantCuotas.html.twig', array('opciones' => $opciones, 'cuoTipo' => $cuoTipo, 'entId' => $entId, 'entNombre' => $entidad->getEntNombre(), 'autorizadoDNM' => $autorizadoDNM)); }
public function manttListadoDNMedicionAction() { $request = $this->getRequest(); $id = $request->get('id'); //aunque tenga ldnm_id siempre tomara lo que retornara del jqgrid id $nombres = $request->get('ldnm_nombres'); $apellidos = $request->get('ldnm_apellidos'); $year = $request->get('ldnm_year'); $nit = $request->get('ldnm_nit'); $nrc = $request->get('ldnm_nrc'); $tipo_persona = $request->get('ldnm_tipo_persona'); $razon = $request->get('ldnm_razon'); $operacion = $request->get('oper'); $dnmDao = new ListadoDNMDao($this->getDoctrine()); if ($operacion == 'edit') { $dnmDao->editListadoDNM($id, $nombres, $apellidos, $year, $nit, $nrc, $tipo_persona, $razon); } if ($operacion == 'del') { $dnmDao->delListadoDNM($id); } if ($operacion == 'add') { $dnmDao->addListadoDNM($id, $nombres, $apellidos, $year, $nit, $nrc, $tipo_persona, $razon); } return new Response("{sc:true,msg:''}"); }
public function mantCargarEntidadAction($entId) { $opciones = $this->getRequest()->getSession()->get('opciones'); $entidadDao = new EntidadDao($this->getDoctrine()); $listadoDNMDao = new ListadoDNMDao($this->getDoctrine()); $entidad = $entidadDao->getEntidad($entId); $autorizadoDNM = null; $autorizadoDNMText = null; $autorizadoGuardar = false; $user = $this->get('security.context')->getToken()->getUser(); if ($user->getUserInternoTipo() == User::$MINSAL || $user->getUserTipo() == null) { $autorizadoGuardar = true; } if (!$entidad) { $entidad = new Entidad(); } else { $year = new \DateTime(); $autorizadoDNM = $listadoDNMDao->estaAutorizado($year->format('Y') + 0, $entidad->getEntNrc(), $entidad->getEntNit()); if (!$autorizadoDNM) { $autorizadoDNMText = ListadoDNMDao::$MSG_ERROR_DNM_NOAUTH; } } $form = $this->createForm(new EntidadType(), $entidad); return $this->render('MinSalSCAAdminBundle:Entidad:showEntidad.html.twig', array('form' => $form->createView(), 'opciones' => $opciones, 'entId' => $entId, 'entHabilitado' => $entidad->getEntHabilitado(), 'autorizadoDNM' => $autorizadoDNM, 'autorizadoDNMText' => $autorizadoDNMText, 'autorizadoGuardar' => $autorizadoGuardar)); }
/** * Actualiza el estado/transicion de la solicitud de importacion * * pendiente revisar a que pagina se redirecciona de forma dinamica * pendiente extraer la nueva transicion a la que se actualizara la solicitud * pendiente validar si la solicitud no ha sido previamente cambiada de estado y se quiere volver a cambiar. (submit + back + submit again) * * @param Request $request * @return \Symfony\Component\HttpFoundation\RedirectResponse */ public function cambiarEstadoAction(Request $request, $impDetId, $traId) { $auditUser = $this->container->get('security.context')->getToken()->getUser(); $errorList = ''; $solImportacionDao = new SolImportacionDao($this->getDoctrine()); $solImportacionDetDao = new SolImportacionDetDao($this->getDoctrine()); $transicionDao = new TransicionDao($this->getDoctrine()); //Buscamos el encabezado para realizar la transicion $solImportacionDet = new SolImportacionDet(); $solImportacionDet = $solImportacionDao->getSolImportacionDet($impDetId); $roles = $auditUser->getRols(); $nextTransiciones = $transicionDao->getTransicionesSiguientes($solImportacionDet->getSolImportacion()->getTransicion()->getTraId()); //Validacion para asegurarse que el usuario que esta visualizando la solicitud tiene autorizacion para evaluarla y pasarla a la siguiente etapa foreach ($roles as $rol) { $transicionesRol = $rol->getTransiciones(); foreach ($transicionesRol as $transicionRol) { foreach ($nextTransiciones as $reg) { if ($reg->getFlujo()->getFluId() == Flujo::$IMPORTACION && $transicionRol->getTraId() == $reg->getTraId() && $traId == $reg->getTraId()) { $entidad = $solImportacionDet->getSolImportacion()->getEntidad(); $year = new \DateTime(); $listadoDNMDao = new ListadoDNMDao($this->getDoctrine()); $autorizadoDNM = $listadoDNMDao->estaAutorizado($year->format('Y') + 0, $entidad->getEntNrc(), $entidad->getEntNit()); if ($autorizadoDNM == true && $entidad->getEntHabilitado() == true) { if ($reg->getTraComentario()) { $solImpComentario = $request->get('solImpComentario'); if ($solImpComentario == null || $solImpComentario == '') { $errorList = $errorList . '- Es necesario detallar un comentario para pasar a la siguiente etapa'; } else { $solImportacionDet->getSolImportacion()->setSolImpComentario($solImpComentario); } } if ($reg->getTraLitrosLibera() || $reg->getTraLiberaTotal()) { $impDetLitrosLib = $solImportacionDet->getImpDetLitrosLib(); $impDetLitros = $solImportacionDet->getImpDetLitros(); $litrosLib = $request->get('impDetLitrosLib'); if ($reg->getTraLiberaTotal()) { $solImportacionDet->setImpDetLitrosLib($impDetLitros); $inventarioDet = $this->agregarInventario($solImportacionDet->getCuota(), $impDetLitros - $impDetLitrosLib); $inventarioDet->setSolImportacionDet($solImportacionDet); $solImportacionDet->addInventarioDet($inventarioDet); } else { if ($reg->getTraLitrosLibera()) { try { $litrosLib = (double) $litrosLib; $impDetLitrosLib = (double) $impDetLitrosLib; $impDetLitros = (double) $impDetLitros; if ($litrosLib == null || $litrosLib == '') { $errorList = $errorList . '- Debe ingresar los litros a liberar'; } else { if ($impDetLitros - $impDetLitrosLib - $litrosLib <= 0) { $errorList = $errorList . '- La cantidad de litros liberados debe ser menor a la cantidad pendiente por liberar ' . ($impDetLitros - $impDetLitrosLib); } else { if ($litrosLib <= 0) { $errorList = $errorList . '- Debe ingresar una cantidad mayor a 0'; } else { $solImportacionDet->setImpDetLitrosLib($impDetLitrosLib + $litrosLib); $inventarioDet = $this->agregarInventario($solImportacionDet->getCuota(), $litrosLib); $inventarioDet->setSolImportacionDet($solImportacionDet); $solImportacionDet->addInventarioDet($inventarioDet); } } } } catch (Exception $e) { $errorList = $errorList . '- Debe ingresar un número valido'; } } } } } else { $errorList = ' '; } if ($errorList == '') { $solImportacionDet->getSolImportacion()->setTransicion($reg); $solImportacionDet->getSolImportacion()->setAuditUserUpd($auditUser->getUsername()); $solImportacionDet->getSolImportacion()->setAuditDateUpd(new \DateTime()); $solImportacionDetDao->editSolImportacionDet($solImportacionDet); $this->generarEmailEtapaNotificacion($solImportacionDet, $reg); $this->get('session')->setFlash('notice', '#### El registro paso a etapa "' . $reg->getEtpFin()->getEtpNombre() . '" con estado "' . $reg->getEstado()->getEstNombre() . '" ####'); return $this->redirect($this->generateUrl('MinSalSCAProcesosBundle_mantSolImportacionVerSolicitudes')); } } } } } if ($errorList == '') { $this->get('session')->setFlash('notice', '#### AUDITORIA: Su usuario no tiene permisos para cambiar el estado en esta etapa "' . $solImportacionDet->getSolImportacion()->getTransicion()->getEtpFin()->getEtpNombre() . '" ####'); } else { $this->get('session')->setFlash('notice', $errorList); } return $this->redirect($this->generateUrl('MinSalSCAProcesosBundle_mantCargarSolImportacion', array('impDetId' => $impDetId))); }
/** * Actualiza el estado/transicion de la solicitud de local * * pendiente revisar a que pagina se redirecciona de forma dinamica * pendiente extraer la nueva transicion a la que se actualizara la solicitud * pendiente validar si la solicitud no ha sido previamente cambiada de estado y se quiere volver a cambiar. (submit + back + submit again) * * @param \Symfony\Component\HttpFoundation\Request $request * @param type $localDetId * @param type $traId * @return type */ public function cambiarEstadoAction(Request $request, $localDetId, $traId) { $auditUser = $this->container->get('security.context')->getToken()->getUser(); $errorList = ''; $proseguir = false; $solLocalDao = new SolLocalDao($this->getDoctrine()); $solLocalDetDao = new SolLocalDetDao($this->getDoctrine()); $transicionDao = new TransicionDao($this->getDoctrine()); $inventarioDetDao = new InventarioDetDao($this->getDoctrine()); //Buscamos el encabezado para realizar la transicion $solLocalDet = new SolLocalDet(); $solLocalDet = $solLocalDao->getSolLocalDet($localDetId); $invsDetTemp = $solLocalDet->getInventariosDet(); foreach ($invsDetTemp as $tmp) { if ($solLocalDet->getSolLocal()->getEntidad()->getEntId() != $tmp->getInventario()->getEntidad()->getEntId()) { $inventarioProv = $tmp->getInventario(); } } $roles = $auditUser->getRols(); $nextTransiciones = $transicionDao->getTransicionesSiguientes($solLocalDet->getSolLocal()->getTransicion()->getTraId()); //Validacion para asegurarse que el usuario que esta visualizando la solicitud tiene autorizacion para evaluarla y pasarla a la siguiente etapa foreach ($roles as $rol) { $transicionesRol = $rol->getTransiciones(); foreach ($transicionesRol as $transicionRol) { foreach ($nextTransiciones as $reg) { if ($reg->getFlujo()->getFluId() == Flujo::$LOCAL && $transicionRol->getTraId() == $reg->getTraId() && $traId == $reg->getTraId()) { //Validacion de empresa que ingresa la solicitud $entidad = $solLocalDet->getSolLocal()->getEntidad(); $year = new \DateTime(); $listadoDNMDao = new ListadoDNMDao($this->getDoctrine()); $autorizadoDNM = $listadoDNMDao->estaAutorizado($year->format('Y') + 0, $entidad->getEntNrc(), $entidad->getEntNit()); //Validacion de la empresa seleccionada como proveedor $autorizadoDNMProv = true; $inventarioDetTmp = $solLocalDet->getInventariosDet(); $inventarioDetTmp = $inventarioDetTmp[0]; $provEntidad = $inventarioDetTmp->getInventario()->getEntidad(); if ($provEntidad == null) { $provEntidad = true; } else { $autorizadoDNM = $listadoDNMDao->estaAutorizado($year->format('Y') + 0, $provEntidad->getEntNrc(), $provEntidad->getEntNit()); $provEntidad = $autorizadoDNM && $provEntidad->getEntHabilitado(); } if ($autorizadoDNM == true && $entidad->getEntHabilitado() == true && $provEntidad == true) { if ($solLocalDet->getSolLocal()->getEntidad()->getEntId() == $auditUser->getEntidad()->getEntId() && $rol->getRolTipo() == User::$COMPRADOR || $inventarioProv->getEntidad()->getEntId() == $auditUser->getEntidad()->getEntId() && $rol->getRolTipo() == User::$VENDEDOR) { $proseguir = true; } if ($proseguir == false) { $errorList = $errorList . '#### AUDITORIA: Su usuario no tiene permisos para cambiar el estado de esta solicitud ####'; } else { if ($reg->getTraComentario()) { $solLocalComentario = $request->get('solLocalComentario'); if ($solLocalComentario == null || $solLocalComentario == '') { $errorList = $errorList . '- Es necesario detallar un comentario para pasar a la siguiente etapa'; } else { $solLocalDet->getSolLocal()->setSolLocalComentario($solLocalComentario); } } if ($reg->getTraLitrosLibera() || $reg->getTraLiberaTotal()) { $localDetLitrosLib = $solLocalDet->getLocalDetLitrosLib(); $localDetLitros = $solLocalDet->getLocalDetLitros(); $litrosLib = $request->get('localDetLitrosLib'); if ($reg->getTraLiberaTotal()) { $solLocalDet->setLocalDetLitrosLib($localDetLitros); $inventarioDet = $this->agregarInventario($solLocalDet->getCuota(), $localDetLitros - $localDetLitrosLib); $inventarioDet->setSolLocalDet($solLocalDet); $solLocalDet->addInventarioDet($inventarioDet); $inventarioDetProv = $this->agregarInventarioProveedor($solLocalDet, $inventarioProv->getInvId(), $localDetLitros - $localDetLitrosLib, $solLocalDet->getCuota()->getCuoGrado(), false, false); $inventarioDetProv->setSolLocalDet($solLocalDet); $inventarioDetProv->getSolLocalDet()->addInventarioDet($inventarioDet); } else { if ($reg->getTraLitrosLibera()) { try { $litrosLib = (double) $litrosLib; $localDetLitrosLib = (double) $localDetLitrosLib; $localDetLitros = (double) $localDetLitros; if ($litrosLib == null || $litrosLib == '') { $errorList = $errorList . '- Debe ingresar los litros a liberar'; } else { if ($localDetLitros - $localDetLitrosLib - $litrosLib <= 0) { $errorList = $errorList . '- La cantidad de litros liberados debe ser menor a la cantidad pendiente por liberar ' . ($localDetLitros - $localDetLitrosLib); } else { if ($litrosLib <= 0) { $errorList = $errorList . '- Debe ingresar una cantidad mayor a 0'; } else { $solLocalDet->setLocalDetLitrosLib($localDetLitrosLib + $litrosLib); $inventarioDet = $this->agregarInventario($solLocalDet->getCuota(), $litrosLib); $inventarioDet->setSolLocalDet($solLocalDet); $solLocalDet->addInventarioDet($inventarioDet); $inventarioDetProv = $this->agregarInventarioProveedor($solLocalDet, $inventarioProv->getInvId(), $litrosLib, $solLocalDet->getCuota()->getCuoGrado(), false, true); $inventarioDetProv->setSolLocalDet($solLocalDet); $inventarioDetProv->getSolLocalDet()->addInventarioDet($inventarioDet); } } } } catch (Exception $e) { $errorList = $errorList . '- Debe ingresar un número valido'; } } } } } } else { $errorList = ' '; } if ($errorList == '') { if ($reg->getEtpFin()->getEtpId() == Etapa::$FINALIZADA_OBS && ($reg->getEstado()->getEstId() == Estado::$CANCELADO || $reg->getEstado()->getEstId() == Estado::$RECHAZADO)) { /*NOTA: Solo se busca el registro de inventario que esten en R (reserva) para eliminarse * Los demás se asumen que si ya entraron a inventario no hay reversa */ $inventarioDetTmp = $inventarioDetDao->findInventarioDet($inventarioProv->getInvId(), $localDetId, 'R'); $inventarioDetTmp = $this->eliminarInventarioDetProveedorAction($inventarioDetTmp); } $solLocalDet->getSolLocal()->setTransicion($reg); $solLocalDet->getSolLocal()->setAuditUserUpd($auditUser->getUsername()); $solLocalDet->getSolLocal()->setAuditDateUpd(new \DateTime()); $solLocalDetDao->editSolLocalDet($solLocalDet); $this->generarEmailEtapaNotificacion($solLocalDet, $reg, $inventarioProv->getEntidad()->getEntId()); $this->get('session')->setFlash('notice', '#### El registro paso a etapa "' . $reg->getEtpFin()->getEtpNombre() . '" con estado "' . $reg->getEstado()->getEstNombre() . '" ####'); return $this->redirect($this->generateUrl('MinSalSCAProcesosBundle_mantSolLocalVerSolicitudes')); } } } } } if ($errorList == '') { $this->get('session')->setFlash('notice', '#### AUDITORIA: Su usuario no tiene permisos para cambiar el estado en esta etapa "' . $solLocalDet->getSolLocal()->getTransicion()->getEtpFin()->getEtpNombre() . '" ####'); } else { $this->get('session')->setFlash('notice', $errorList); } return $this->redirect($this->generateUrl('MinSalSCAProcesosBundle_mantCargarSolLocal', array('localDetId' => $localDetId))); }