public JsonResult GetLotesPorProducto(int IdSucursal = 0, int IdPuntoVta = 0, decimal IdProducto = 0) { int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); var resultado = bus_producto.get_info(IdEmpresa, IdProducto); if (resultado == null) { resultado = new in_Producto_Info(); } var punto_venta = bus_punto_venta.get_info(IdEmpresa, IdSucursal, IdPuntoVta); if (punto_venta != null) { if (resultado.IdProducto_padre > 0) { List_producto.set_list(bus_producto.get_list_stock_lotes(IdEmpresa, IdSucursal, Convert.ToInt32(punto_venta.IdBodega), Convert.ToDecimal(resultado.IdProducto_padre))); } } else { List_producto.set_list(new List <in_Producto_Info>()); } return(Json(resultado, JsonRequestBehavior.AllowGet)); }
public JsonResult MostrarBotonesSRI(int IdSucursal = 0, int IdPuntoVta = 0) { var resultado = 0; int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); var punto_venta = bus_punto_venta.get_info(IdEmpresa, IdSucursal, IdPuntoVta); resultado = (punto_venta.EsElectronico == true) ? 1 : 0; return(Json(new { resultado }, JsonRequestBehavior.AllowGet)); }
public ActionResult Modificar(int IdEmpresa = 0, int IdSucursal = 0, int IdPuntoVta = 0) { fa_PuntoVta_Info model = bus_punto.get_info(IdEmpresa, IdSucursal, IdPuntoVta); if (model == null) { return(RedirectToAction("Index")); } cargar_combos(model); return(View(model)); }
public ActionResult Nuevo(fa_guia_remision_Info model) { try { fa_PuntoVta_Info info_puntovta = new fa_PuntoVta_Info(); info_puntovta = bus_punto_venta.get_info(model.IdEmpresa, model.IdSucursal, model.IdPuntoVta); model.IdBodega = info_puntovta.IdBodega; model.IdUsuarioCreacion = SessionFixed.IdUsuario; model.CodGuiaRemision = (model.CodGuiaRemision == null) ? "" : model.CodGuiaRemision; model.lst_detalle_x_factura = List_rel.get_list(model.IdTransaccionSession); model.lst_detalle = detalle_info.get_list(model.IdTransaccionSession); model.CodDocumentoTipo = cl_enumeradores.eTipoDocumento.GUIA.ToString(); string mensaje = bus_guia.validar(model); if (mensaje != "") { cargar_combos(model); ViewBag.mensaje = mensaje; SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); return(View(model)); } if (!validar(model, ref mensaje)) { cargar_combos(model); ViewBag.mensaje = mensaje; SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); return(View(model)); } if (!bus_guia.guardarDB(model)) { ViewBag.mensaje = "Ha ocurrido un problema, comuniquese con sistemas"; cargar_combos(model); SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); return(View(model)); } return(RedirectToAction("Modificar", new { IdEmpresa = model.IdEmpresa, IdGuiaRemision = model.IdGuiaRemision, Exito = true })); } catch (Exception ex) { //SisLogError.set_list((ex.InnerException) == null ? ex.Message.ToString() : ex.InnerException.ToString()); ViewBag.error = ex.Message.ToString(); cargar_combos(model); return(View(model)); } }
public JsonResult GetUltimoDocumento(int IdSucursal = 0, int IdPuntoVta = 0) { int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); tb_sis_Documento_Tipo_Talonario_Info resultado; var punto_venta = bus_punto_venta.get_info(IdEmpresa, IdSucursal, IdPuntoVta); if (punto_venta != null) { resultado = bus_talonario.GetUltimoNoUsado(IdEmpresa, cl_enumeradores.eTipoDocumento.NTDB.ToString(), punto_venta.Su_CodigoEstablecimiento, punto_venta.cod_PuntoVta, punto_venta.EsElectronico, false); } else { resultado = new tb_sis_Documento_Tipo_Talonario_Info(); } if (resultado == null) { resultado = new tb_sis_Documento_Tipo_Talonario_Info(); } return(Json(new { data_puntovta = punto_venta, data_talonario = resultado }, JsonRequestBehavior.AllowGet)); }
public ActionResult Consultar(int IdEmpresa = 0, int IdSucursal = 0, int IdPuntoVta = 0, bool Exito = false) { #region Validar Session if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession)) { return(RedirectToAction("Login", new { Area = "", Controller = "Account" })); } SessionFixed.IdTransaccionSession = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString(); SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession; #endregion fa_PuntoVta_Info model = bus_punto.get_info(IdEmpresa, IdSucursal, IdPuntoVta); model.lst_usuarios = bus_punto_usuario.get_list(IdEmpresa, IdPuntoVta); model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual); Lista_PtoVta_Usuario.set_list(model.lst_usuarios, model.IdTransaccionSession); if (model == null) { return(RedirectToAction("Index")); } #region Permisos seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Facturacion", "PuntoVenta", "Index"); model.Nuevo = (info.Nuevo == true ? 1 : 0); model.Modificar = (info.Modificar == true ? 1 : 0); model.Anular = (info.Anular == true ? 1 : 0); #endregion if (Exito) { ViewBag.MensajeSuccess = MensajeSuccess; } cargar_combos(model); return(View(model)); }
public ActionResult Consultar(int IdEmpresa = 0, int IdSucursal = 0, int IdPuntoVta = 0, bool Exito = false) { fa_PuntoVta_Info model = bus_punto.get_info(IdEmpresa, IdSucursal, IdPuntoVta); if (model == null) { return(RedirectToAction("Index")); } #region Permisos seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Facturacion", "PuntoVenta", "Index"); ViewBag.Nuevo = info.Nuevo; ViewBag.Modificar = info.Modificar; ViewBag.Anular = info.Anular; #endregion if (Exito) { ViewBag.MensajeSuccess = MensajeSuccess; } cargar_combos(model); return(View(model)); }
public JsonResult GetUltimoDocumento(int IdSucursal = 0, int IdPuntoVta = 0) { int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); tb_sis_Documento_Tipo_Talonario_Info resultado = new tb_sis_Documento_Tipo_Talonario_Info(); var punto_venta = bus_punto_venta.get_info(IdEmpresa, IdSucursal, IdPuntoVta); if (punto_venta != null) { var sucursal = bus_sucursal.get_info(IdEmpresa, IdSucursal); resultado = bus_talonario.get_info_ultimo_no_usado(IdEmpresa, sucursal.Su_CodigoEstablecimiento, punto_venta.cod_PuntoVta, "GUIA"); } if (resultado == null) { resultado = new tb_sis_Documento_Tipo_Talonario_Info(); } return(Json(resultado, JsonRequestBehavior.AllowGet)); }
private bool validar_factura(fa_factura_Info i_validar, ref string msg) { string MsgValidaciones = string.Empty; i_validar.lst_det = List_det.get_list(i_validar.IdTransaccionSession); if (i_validar.lst_det.Count == 0) { msg = "No ha ingresado registros en el detalle de la factura"; return(false); } if (i_validar.lst_det.Where(q => q.vt_cantidad == 0).Count() > 0) { msg = "Existen registros con cantidad 0 en el detalle de la factura"; return(false); } if (i_validar.lst_det.Where(q => q.IdProducto == 0).Count() > 0) { msg = "Existen registros sin producto en el detalle de la factura"; return(false); } if (i_validar.lst_det.Sum(q => q.vt_total) == 0) { msg = "La factura no tiene valor, por favor revise"; return(false); } #region Talonario var pto_vta = bus_punto_venta.get_info(i_validar.IdEmpresa, i_validar.IdSucursal, Convert.ToInt32(i_validar.IdPuntoVta)); if (pto_vta != null && pto_vta.EsElectronico) { var info_documento = bus_talonario.GetUltimoNoUsado(i_validar.IdEmpresa, cl_enumeradores.eTipoDocumento.FACT.ToString(), pto_vta.Su_CodigoEstablecimiento, pto_vta.cod_PuntoVta, pto_vta.EsElectronico, false); i_validar.vt_NumFactura = info_documento.NumDocumento; } i_validar.IdBodega = pto_vta.IdBodega; i_validar.vt_serie1 = pto_vta.Su_CodigoEstablecimiento; i_validar.vt_serie2 = pto_vta.cod_PuntoVta; i_validar.IdCaja = pto_vta.IdCaja; #endregion #region Validar cliente final var param = bus_param.get_info(i_validar.IdEmpresa); if (param != null && param.IdClienteConsumidorFinal != null && param.MontoMaximoConsumidorFinal > 0 && i_validar.IdCliente == param.IdClienteConsumidorFinal) { if (i_validar.info_resumen.Total > Convert.ToDecimal(param.MontoMaximoConsumidorFinal ?? 0)) { msg = "El límite de venta para consumidor final es de $ " + param.MontoMaximoConsumidorFinal.ToString() + ", por favor revise."; return(false); } } #endregion #region Resumen i_validar.info_resumen = new fa_factura_resumen_Info { SubtotalIVASinDscto = (decimal)Math.Round(i_validar.lst_det.Where(q => q.vt_por_iva != 0).Sum(q => q.vt_cantidad * q.vt_Precio), 2, MidpointRounding.AwayFromZero), SubtotalSinIVASinDscto = (decimal)Math.Round(i_validar.lst_det.Where(q => q.vt_por_iva == 0).Sum(q => q.vt_cantidad * q.vt_Precio), 2, MidpointRounding.AwayFromZero), Descuento = (decimal)Math.Round(i_validar.lst_det.Sum(q => q.vt_DescUnitario * q.vt_cantidad), 2, MidpointRounding.AwayFromZero), SubtotalIVAConDscto = (decimal)Math.Round(i_validar.lst_det.Where(q => q.vt_por_iva != 0).Sum(q => q.vt_Subtotal), 2, MidpointRounding.AwayFromZero), SubtotalSinIVAConDscto = (decimal)Math.Round(i_validar.lst_det.Where(q => q.vt_por_iva == 0).Sum(q => q.vt_Subtotal), 2, MidpointRounding.AwayFromZero), ValorIVA = (decimal)Math.Round(i_validar.lst_det.Sum(q => q.vt_iva), 2, MidpointRounding.AwayFromZero) }; i_validar.info_resumen.SubtotalSinDscto = i_validar.info_resumen.SubtotalIVASinDscto + i_validar.info_resumen.SubtotalSinIVASinDscto; i_validar.info_resumen.SubtotalConDscto = i_validar.info_resumen.SubtotalIVAConDscto + i_validar.info_resumen.SubtotalSinIVAConDscto; i_validar.info_resumen.Total = i_validar.info_resumen.SubtotalConDscto + i_validar.info_resumen.ValorIVA; #endregion i_validar.IdUsuario = SessionFixed.IdUsuario; i_validar.IdUsuarioUltModi = SessionFixed.IdUsuario; #region ValidacionDeTalonario if (i_validar.IdCbteVta == 0 && !pto_vta.EsElectronico) { var talonario = bus_talonario.get_info(i_validar.IdEmpresa, i_validar.vt_tipoDoc, i_validar.vt_serie1, i_validar.vt_serie2, i_validar.vt_NumFactura); if (talonario == null) { msg = "No existe un talonario creado con la numeración: " + i_validar.vt_serie1 + "-" + i_validar.vt_serie2 + "-" + i_validar.vt_NumFactura; return(false); } if (talonario.Usado == true) { msg = "El talonario: " + i_validar.vt_serie1 + "-" + i_validar.vt_serie2 + "-" + i_validar.vt_NumFactura + " se encuentra utilizado."; return(false); } if (bus_factura.factura_existe(i_validar.IdEmpresa, i_validar.vt_serie1, i_validar.vt_serie2, i_validar.vt_NumFactura)) { msg = "Existe una factura registrada con el número: " + i_validar.vt_serie1 + "-" + i_validar.vt_serie2 + "-" + i_validar.vt_NumFactura + "."; return(false); } } #endregion #region ValidarStock if (i_validar.lst_det.Where(q => q.tp_manejaInven == "S").Count() > 0) { if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.vt_fecha, cl_enumeradores.eModulo.INV, i_validar.IdSucursal, ref msg)) { return(false); } var lst_validar = i_validar.lst_det.GroupBy(q => new { q.IdProducto, q.pr_descripcion, q.tp_manejaInven, q.se_distribuye }).Select(q => new in_Producto_Stock_Info { IdEmpresa = i_validar.IdEmpresa, IdSucursal = i_validar.IdSucursal, IdBodega = i_validar.IdBodega, IdProducto = q.Key.IdProducto, pr_descripcion = q.Key.pr_descripcion, tp_manejaInven = q.Key.tp_manejaInven, SeDestribuye = q.Key.se_distribuye ?? false, Cantidad = q.Sum(v => v.vt_cantidad), CantidadAnterior = q.Sum(v => v.CantidadAnterior), }).ToList(); if (!bus_producto.validar_stock(lst_validar, ref msg)) { return(false); } } #endregion #region ValidarCentroCosto int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); ct_parametro_Bus bus_parametro = new ct_parametro_Bus(); var info_ct_parametro = bus_parametro.get_info(IdEmpresa); if (i_validar.lst_det.Count > 0) { if (info_ct_parametro.EsCentroCostoObligatorio == true) { foreach (var item in i_validar.lst_det) { if (item.IdCentroCosto == "" || item.IdCentroCosto == null) { mensaje = "Debe seleccionar el centro de costo para los items del detalle"; return(false); } } } } #endregion return(true); }