public JsonResult JsonGetDetalleComprobante(long?iddocumentocompra) { bool resultado = false; try { if (iddocumentocompra == null) { if (Session["DetalleComprobanteModel"] != null) { var detalle = (DetalleComprobanteModel)Session["DetalleComprobanteModel"]; var listado = new List <DetalleComprobanteModel>(); listado.Add(detalle); return((new JqGridExtension <DetalleComprobanteModel>()).DataBind(listado, listado.Count)); } } var listadoTotal = FacturacionData.GetListarDetalleComprobante(iddocumentocompra).ToList(); Session["DetalleComprobanteModel"] = listadoTotal.FirstOrDefault(); //var producto = new ProductoData().obtenerProducto(listadoTotal[0].idproducto); //aca es por cada producto , actualmente solo funciona para uno. //OJO return((new JqGridExtension <DetalleComprobanteModel>()).DataBind(listadoTotal, listadoTotal.Count)); } catch (Exception ex) { return(Json(new { res = resultado }, JsonRequestBehavior.AllowGet)); } }
public JsonResult ValidarProductoInventario(long iddocumentocompra) { var detallecomprobante = FacturacionData.GetListarDetalleComprobante(iddocumentocompra).FirstOrDefault(); if (detallecomprobante == null) { return(Json(new { res = true })); } var inventario = new InventarioData().obtenerProductoInventario(detallecomprobante.idproducto, detallecomprobante.serie, detallecomprobante.imei); if (inventario != null) { if ((Int32)Constantes.EstadoProducto.NoDisponible != inventario.idestado) { return(Json(new { res = false, msj = "El producto que intenta ingresar, está actualmente " + "está dentro de un proceso de reparación." })); } } { return(Json(new { res = true })); } }
public JsonResult JsonGetListarDocumentos(int?idTipoDocumento, string numeroDocumento, int?idTipoComprobante, string numeroComprobante, string sord, int page, int rows) { var listadoTotal = FacturacionData.GetListarComprobante(null, numeroComprobante, idTipoComprobante).ToList(); return((new JqGridExtension <ComprobanteModel>()).DataBind(listadoTotal, listadoTotal.Count)); }
public JsonResult RegistrarNuevaIncidencia(IncidenciaModel modelo) { var respuesta = string.Empty; modelo.idusuarioregistro = Usuario.Idusuario; modelo.fechahoraregistro = DateTime.Now; modelo.atendidaxcallcenter = false; modelo.idestado = (Int32)Constantes.EstadoIncidencia.EnProceso; modelo.idsucursal = Usuario.idsucursal; modelo.idproducto = Convert.ToInt32(modelo.ItemIncidencia); ///////Registrado previamente if (modelo.iddocumentocompra != null) { var detallecomprobante = FacturacionData.GetListarDetalleComprobante(modelo.iddocumentocompra).ToList(); var hoy = DateTime.Now.Date; var fechareparacion = detallecomprobante[0].fechaemision; modelo.fechaemision = fechareparacion; modelo.idsucursalventa = detallecomprobante[0].idsucursalventa; var periodo = Convert.ToInt16(ConfigurationManager.AppSettings["PeriodoGarantiaReparacion"]); modelo.idtipogarantia = (int)Constantes.TipoGarantia.Reparacion; modelo.periodogarantia = periodo; if ((hoy - fechareparacion).TotalDays > periodo) { modelo.engarantia = false; } else { modelo.engarantia = true; } } else { var detalle_aux = (DetalleComprobanteModel)Session["DetalleComprobanteModel"]; var detalledocumentocompra = new DetalleComprobanteModel(); var documentocompra = (ComprobanteModel)Session["ComprobanteCliente"]; documentocompra.idconceptofacturacion = (Int16)(Constantes.ConceptoFacturacion.Venta); documentocompra.ventapartner = true; documentocompra.idusuarioregistro = Usuario.Idusuario; documentocompra.idcliente = modelo.idcliente; documentocompra.ventaenlinea = false; documentocompra.total = 0; documentocompra.subtotal = 0; documentocompra.igv = 0; documentocompra.idestado = (Int16)(Constantes.EstadoFacturacion.Facturado); documentocompra.idpartner = modelo.idpartner; documentocompra.idsucursalventa = modelo.idsucursalventa; documentocompra.fechahoraregistro = DateTime.Now; modelo.iddocumentocompra = new FacturacionData().insertarActualizarComprobanteCliente(documentocompra); modelo.fechaemision = documentocompra.fechaemision; detalledocumentocompra.cantidad = 1; detalledocumentocompra.idproducto = modelo.idproducto; detalledocumentocompra.iddocumentocompra = modelo.iddocumentocompra; detalledocumentocompra.total = detalle_aux.total; detalledocumentocompra.igv = detalle_aux.igv; detalledocumentocompra.imei = detalle_aux.imei; detalledocumentocompra.serie = detalle_aux.serie; var iddetalledocumento = new FacturacionData().insertarActualizarDetalleComprobanteCliente(detalledocumentocompra); } // Evaluar si garantia DAP var producto = new ProductoData().obtenerProducto(modelo.idproducto); var garantias = new IncidenciaData() .ListarEvaluarGarantia(producto.idtipoproducto.Value , producto.idfabricante.Value , modelo.idpartner ).ToList(); if (garantias != null && garantias.ToList().Count != 0) { //Dar prioridad a la garantia DAP // var dap = AgendamientoData.EvaluarGarantia(DateTime.Now.Date , modelo.fechaemision.Value , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.DAP)).SingleOrDefault()); var garantia_cliente = AgendamientoData.EvaluarGarantia(DateTime.Now.Date , modelo.fechaemision.Value , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).SingleOrDefault()); if (dap) { modelo.idtipogarantia = (int)Constantes.TipoGarantia.DAP; modelo.periodogarantia = garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.DAP)).Single().periodo; modelo.engarantia = true; modelo.requiereevaluacion = true; } else if (garantia_cliente) { modelo.idtipogarantia = (int)Constantes.TipoGarantia.Cliente; modelo.periodogarantia = garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).Single().periodo; modelo.engarantia = true; modelo.requiereevaluacion = true; } else { modelo.idtipogarantia = (int)Constantes.TipoGarantia.Cliente; modelo.periodogarantia = garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).Single().periodo; modelo.engarantia = false; modelo.requiereevaluacion = false; } } else { //modelo.idtipogarantia = (int)Constantes.TipoGarantia.Cliente; modelo.periodogarantia = 0; modelo.engarantia = false; modelo.requiereevaluacion = false; } try { var detalle_aux = (DetalleComprobanteModel)Session["DetalleComprobanteModel"]; modelo.__tipooperacion = 1; // Actualizacion y Agregacion general modelo.idetapa = (Int32)Constantes.Etapa.Registro; modelo.activo = true; modelo.serie = detalle_aux.serie; modelo.imei = detalle_aux.imei; modelo.idproducto = detalle_aux.idproducto; var result = new IncidenciaData().insertarActualizarIncidencia(modelo); return(Json(new { engarantia = modelo.engarantia, res = true, incidencia = result.idincidencia, num_incidencia = result.numeroincidencia, })); } catch (Exception ex) { ModelState.AddModelError("", ex.InnerException.ToString()); return(Json(new { res = false, Errors = ModelState.Errors() }, JsonRequestBehavior.AllowGet)); } }
public ActionResult AtencionEvaluacion(long idincidencia) { var model = new EvaluacionModel(); var dataIncidencia = new IncidenciaData(); var incidenciaModel = dataIncidencia.ObtenerIncidencia(idincidencia); var productoModel = new ProductoData().obtenerProducto(incidenciaModel.idproducto); var detallecomprobante = FacturacionData.GetListarDetalleComprobante(incidenciaModel.iddocumentocompra).ToList(); var evaluacion = AgendamientoData.ListarIncidenciaEvaluacion(idincidencia).ToList(); #region asignacion de propiedades model.numeroincidencia = incidenciaModel.numeroincidencia; model.anioincidencia = incidenciaModel.anioincidencia; model.falla = incidenciaModel.falla; model.producto = incidenciaModel.producto; model.requerimientocliente = incidenciaModel.requerimientocliente; model.codigoproducto = incidenciaModel.codigoproducto; model.idrequerimientocliente = incidenciaModel.idrequerimientocliente; model.incidenciagarantia = incidenciaModel.incidenciagarantia; model.requiereevaluacion = incidenciaModel.requiereevaluacion; model.idordenserviciotecnico = incidenciaModel.idordenserviciotecnico; #endregion if (!incidenciaModel.incidenciagarantia) // No fue vendido en smartway ni en partner ni reparado en smartway { return(View("SeguimientoIncidencia")); // no puede ingresar a esta página } if (detallecomprobante[0].idconceptofacturacion == (Int16)(Constantes.ConceptoFacturacion.Reparacion)) /// REPARADO EN SMARTWAY { ///Aca pensar en como se hará el tema del concepto de reparacion para la garantía /// } else { //vendido en smartway o partner var garantias = dataIncidencia.ListarEvaluarGarantia(productoModel.idtipoproducto.Value , incidenciaModel.idfabricante , incidenciaModel.idpartner ).ToList(); if (garantias != null && garantias.ToList().Count != 0) { //Dar prioridad a la garantia DAP // var dap = AgendamientoData.EvaluarGarantia(DateTime.Now.Date , detallecomprobante[0].fechaemision , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.DAP)).SingleOrDefault()); var garantia_cliente = AgendamientoData.EvaluarGarantia(DateTime.Now.Date , detallecomprobante[0].fechaemision , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).SingleOrDefault()); if (garantia_cliente) { garantias.ForEach(x => { if (x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)) { x.resultado = true; model.garantia = "Con garantía de Cliente"; model.engarantia = true; } } ); model.idtipogarantia = (Int16)Constantes.TipoGarantia.Cliente; } if (dap) { garantias.ForEach(x => { if (x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.DAP)) { x.resultado = true; model.garantia = "Con garantía DAP"; model.engarantia = true; } } ); model.idtipogarantia = (Int16)Constantes.TipoGarantia.DAP; } if (garantia_cliente == false && dap == false) { model.garantia = "Fuera de garantía"; model.engarantia = false; } } else { model.garantia = "Fuera de garantía"; model.engarantia = false; garantias.Add(new Mantenimiento.Models.GarantiaModel() { descripcion = "No existen garantias registradas para este producto" }); } model.idincidencia = idincidencia; model.ListaGarantias = garantias; model.ListaCondiciones = dataIncidencia.ListarCondiciones (incidenciaModel.idtipoproducto, incidenciaModel.idfabricante).ToList(); model.idetapa = incidenciaModel.idetapa; if (incidenciaModel.idetapa >= 2) { int i = 0; evaluacion = evaluacion.OrderBy(x => x.idcondicion).ToList(); foreach (var item in model.ListaCondiciones.OrderBy(x => x.idcondicion).ToList()) { if (item.idcondicion == evaluacion[i].idcondicion) { item.activo = evaluacion[i].valor; } i++; } model.Evaluacion = true; model.ListaCondiciones = model.ListaCondiciones.OrderByDescending(x => x.valor).ToList(); } else { model.ListaCondiciones = model.ListaCondiciones.OrderByDescending(x => x.valor).ToList(); foreach (var item in model.ListaCondiciones) { if (item.valor) { item.activo = true; } else { item.activo = false; } } } } if (model.ideva.HasValue) { model.evaluacionrealizada = true; } else { model.evaluacionrealizada = false; } //if (incidenciaModel.idcoti.HasValue) // model.cotizacionrealizada = true; //else // model.cotizacionrealizada = false; return(View(model)); }
public JsonResult guardarIngresoosr(DocumentoRecepcionModel model) { var detalle = (List <DocumentoRecepcionDetalleModel>)Session["DocumentoRecepcion"]; #region comprobar requisitos de la carga var modProducto = new ProductoData().obtenerProducto(model.idproducto); foreach (var item in detalle) { switch (modProducto.idrequisitoascanear) { case (Int32)Constantes.Scanear.Imei: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } break; case (Int32)Constantes.Scanear.Mac: if (string.IsNullOrEmpty(item.mac)) { return(Json(new { res = false, msj = "La carga requiere del número de MAC" })); } break; case (Int32)Constantes.Scanear.Serie: if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } break; case (Int32)Constantes.Scanear.SerieImei: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } break; case (Int32)Constantes.Scanear.SerieImeiMac: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } if (string.IsNullOrEmpty(item.mac)) { return(Json(new { res = false, msj = "La carga requiere del número de MAC" })); } break; default: break; } } #endregion var dataIncidencia = new IncidenciaData(); List <InventarioModel> inventarios = new List <InventarioModel>(); InventarioModel inventarioModel = null; // new InventarioModel(); DocumentoRecepcionDetalleModel modelDetalle = null; OrdenServicioModel ordenModel = new OrdenServicioModel(); if (detalle == null) { return(Json(new { res = false, msj = "No existen datos cargados en el sistema." })); } model.fechahoraregistro = DateTime.Now; model.activo = true; model.idtiporecibo = (Int16)Constantes.TipoRecibo.Reparacion; model.idusuarioregistro = Usuario.Idusuario; model.iddocumentorecepcion = new RecepcionData().insertarActualizarDocumentoRecepcion(model); foreach (var item in detalle) { //traer documento de compra var detfact = FacturacionData.GetListarDetalleComprobante(null, item.serie).ToList(); bool cliente = false; bool reparacion = false; var garantias = dataIncidencia.ListarEvaluarGarantia(modProducto.idtipoproducto.Value , modProducto.idfabricante.Value , model.idpartner ).ToList(); if (detfact.Count > 0) { cliente = AgendamientoData.EvaluarGarantia(DateTime.Now.Date , detfact[0].fechaemision , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).SingleOrDefault()); reparacion = AgendamientoData.EvaluarGarantia(DateTime.Now.Date , detfact[0].fechaemision , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Reparacion)).SingleOrDefault()); } inventarioModel = new InventarioModel(); inventarioModel.cantidad = item.cantidad; inventarioModel.codigoproducto = item.codigo; inventarioModel.fechahoraregistro = DateTime.Now; inventarioModel.idalmacen = model.idalmacen; inventarioModel.idestado = (Int16)Constantes.Producto.PendienteReparar; inventarioModel.serie = item.serie; inventarioModel.imei = item.imei; inventarioModel.mac = item.mac; inventarioModel.pallet = item.pallet; inventarioModel.idusuarioregistro = Usuario.Idusuario; inventarioModel.__idoperacion = 1; inventarioModel.idproducto = model.idproducto; inventarioModel.iddocumentorecepcion = model.iddocumentorecepcion.Value; inventarioModel.idinventario = new InventarioData().InsertarActualizarInventario(inventarioModel); ordenModel = new OrdenServicioModel(); ordenModel.activo = true; ordenModel.anioincindecia = DateTime.Now.Year; ordenModel.bounce = "0"; ordenModel.idproducto = model.idproducto; ordenModel.codigoproducto = modProducto.codigoproducto; ordenModel.idusuario = Usuario.Idusuario; ordenModel.cotizado = false; ordenModel.documento_coincide = false; ordenModel.engarantia = cliente; ordenModel.idtipogarantia = (Int16)Constantes.TipoGarantia.Cliente; ordenModel.fechahoraregistro = DateTime.Now; if (detfact.Count != 0) { ordenModel.fechadocumento = detfact[0].fechaemision; } ordenModel.fecharecepcion = model.fechahorarecepcion; ordenModel.idestado = (Int16)Constantes.EstadoOrdenServicio.PendienteAsignacionTecnico; ordenModel.idtipoordenservicio = (Int16)Constantes.tipoordenservicio.osr; ordenModel.__tipooperacion = 1; ordenModel.idcliente = model.idcliente; ordenModel.idpartner = model.idpartner; ordenModel.serie = item.serie; ordenModel.imei = item.imei; ordenModel.mac = item.mac; ordenModel.iddocumentorecepcion = model.iddocumentorecepcion.Value; ordenModel.idinventario = inventarioModel.idinventario.Value; ordenModel = new OrdenServicioData().InsertarActualizarOrdenServicio(ordenModel); modelDetalle = new DocumentoRecepcionDetalleModel(); inventarioModel.idproducto = model.idproducto; modelDetalle.caja = ""; modelDetalle.cantidad = 1; modelDetalle.codigo = item.codigo; modelDetalle.fabricante = ""; modelDetalle.fechahorapersonalizacion = DateTime.Now; modelDetalle.fila = item.fila; modelDetalle.iddocumentorecepcion = model.iddocumentorecepcion.Value; modelDetalle.idfila = item.idfila; modelDetalle.idmodelo = item.idmodelo; modelDetalle.idproducto = inventarioModel.idproducto; modelDetalle.idusuariopersonalizacion = Usuario.Idusuario; modelDetalle.numeropallet = item.pallet; modelDetalle.repuesto = false; modelDetalle.serie = item.serie; modelDetalle.mac = item.mac; new RecepcionData().insertarActualizarDocumentoRecepcionDetalle(modelDetalle); } return(Json(new { res = true })); }