public JsonResult ActualizarInventario(InventarioModel model) { model.__idoperacion = 3; var result = new InventarioData().InsertarActualizarInventario(model); return(Json(new { res = true })); }
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 listarAlmacenes(int idsucursal) { var almacenes = InventarioData.GetListarAlmacen(idsucursal, null).Where(x => x.idalmacen == 10).ToList(); var listaalmacen = new SelectList(almacenes, "idalmacen", "nombrealmacen"); return(Json(listaalmacen)); }
public ActionResult ExportarInventario(int?idproducto, int idalmacen, string serie, string imei) { var result = InventarioData.GetListarInventarioxAlmacen(idalmacen, serie, imei, idproducto).ToList(); // return (new JqGridExtension<InventarioModel>()).DataBind(result, result.Count); var output = Utilidades.Exportar <InventarioModel>(result); return(File(output.ToArray(), "application/vnd.ms-excel", "Inventario_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls")); }
public JsonResult obtenerInventario(int idalmacen, int idproducto, string imei, string serie) { int idestado = 45; var inventario = new InventarioData().obtenerInventario(idalmacen, idproducto, idestado); if (inventario == null) { return(Json(new { res = false })); } else { return(Json(new { res = true, inventario })); } }
public JsonResult JsonListarInventario(int?idproducto, int idalmacen, string serie, string imei) { if (imei == "") { imei = null; } if (serie == "") { serie = null; } var result = InventarioData.GetListarInventarioxAlmacen(idalmacen, serie, imei, idproducto).ToList(); return((new JqGridExtension <InventarioModel>()).DataBind(result, result.Count)); }
public JsonResult AgregarDetalleIncidencia(int?idproducto, string serie, string imei, decimal?precio, DateTime?fechaemision) { Session["DetalleComprobanteModel"] = null; var detalle = new DetalleComprobanteModel(); var inventario = new InventarioData().obtenerProductoInventario(idproducto.Value, serie, 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." })); } } var producto = new ProductoData().obtenerProducto(idproducto.Value); detalle.cantidad = 1; detalle.codigoproducto = producto.codigoproducto; detalle.descripcionlarga = producto.descripcionlarga; detalle.total = precio; detalle.serie = serie; detalle.imei = imei; detalle.idproducto = idproducto.Value; Session["DetalleComprobanteModel"] = detalle; return(Json(new { res = true })); }
public OrdenServicioModel GenerarOrdenServicio(long idincidencia, int idestado, IncidenciaModel ModIncidencia) { var modOrdenServicio = new OrdenServicioModel(); var producto = new InventarioData().obtenerProductoInventario(ModIncidencia.idproducto , ModIncidencia.serie , ModIncidencia.imei ); modOrdenServicio.idinventario = producto.idinventario; modOrdenServicio.cambioproducto = false; modOrdenServicio.fechahoraregistro = DateTime.Now; modOrdenServicio.idestado = idestado; modOrdenServicio.idusuario = Usuario.Idusuario; modOrdenServicio.idcliente = ModIncidencia.idcliente; modOrdenServicio.idincidencia = idincidencia; modOrdenServicio.idtipoordenservicio = (Int32)Constantes.tipoordenservicio.ost; modOrdenServicio.activo = true; modOrdenServicio.cotizado = false; modOrdenServicio.idproducto = ModIncidencia.idproducto; modOrdenServicio.engarantia = ModIncidencia.engarantia; modOrdenServicio.serie = ModIncidencia.serie; modOrdenServicio.imei = ModIncidencia.imei; modOrdenServicio.idsucursaldestino = ModIncidencia.idsucursaldestino.Value; modOrdenServicio.idsucursalorigen = ModIncidencia.idsucursal; modOrdenServicio.iddirecciondelivery = ModIncidencia.iddirecciondelivery; if (modOrdenServicio.iddirecciondelivery != null) { modOrdenServicio.delivery = true; } else { modOrdenServicio.delivery = false; } return(new OrdenServicioData().InsertarActualizarOrdenServicio(modOrdenServicio)); }
public ReturnValor UpdateInventariosCerrarDeshacer(InventarioAux pInventario) { ReturnValor objReturnValor = new ReturnValor(); try { inventarioData = new InventarioData(); using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { objReturnValor.Exitosa = inventarioData.UpdateInventariosCerrarDeshacer(pInventario); if (objReturnValor.Exitosa) { tx.Complete(); } } objReturnValor.Message = objReturnValor.Exitosa ? HelpMessages.InventarioCerradoOK : HelpMessages.InventarioCerradoNOOK; } catch (Exception ex) { returnValor = HelpException.mTraerMensaje(ex); } return(returnValor); }
public JsonResult RegistrarEstadoFisico(IncidenciaModel model) { int idEstadoOrdenServicio; if (model.AccesoriosSeleccionados != null) { var modEstadoFisico = new EstadoFisicoModel(); modEstadoFisico.idincidencia = model.idincidencia.Value; modEstadoFisico.idsaccesorios = string.Join(",", model.AccesoriosSeleccionados); new AgendamientoData().insertarActualizarAccesorioIncidencia(modEstadoFisico); } var modIncidencia = new IncidenciaData().ObtenerIncidencia(model.idincidencia.Value); modIncidencia.__tipooperacion = 5;// cambiar estado modIncidencia.idestado = (int)(Constantes.EstadoIncidencia.Cerrada); modIncidencia.idetapa = (int)(Constantes.Etapa.EstadoFisico); if (model.idsucursalreparacion.HasValue) { modIncidencia.idsucursalreparacion = model.idsucursalreparacion; modIncidencia.idsucursaldestino = model.idsucursalreparacion; idEstadoOrdenServicio = (Int32)Constantes.EstadoOrdenServicio.PendienteDespacho; } else { modIncidencia.idsucursalreparacion = modIncidencia.idsucursal; idEstadoOrdenServicio = (Int32)Constantes.EstadoOrdenServicio.PendienteAsignacionTecnico; } modIncidencia.iddirecciondelivery = model.iddirecciondelivery; var result = new IncidenciaData().insertarActualizarIncidencia(modIncidencia); var ModInventario = new InventarioModel(); ModInventario.cantidad = 1; ModInventario.fechahoraregistro = DateTime.Now; //almacen principal var objAlmacen = InventarioData.GetListarAlmacen(modIncidencia.idsucursal, "001").FirstOrDefault(); ModInventario.idalmacen = objAlmacen.idalmacen.Value; ModInventario.iddocumentorecepcion = 0; ModInventario.idestado = (Int32)Constantes.Producto.PendienteReparar; ModInventario.idproducto = modIncidencia.idproducto; ModInventario.idusuarioregistro = Usuario.Idusuario; ModInventario.imei = modIncidencia.imei; ModInventario.serie = modIncidencia.serie; ModInventario.__idoperacion = 1; ModInventario.idinventario = new InventarioData().InsertarActualizarInventario(ModInventario); #region Para ordenes que se atienden en la misma localidad if (modIncidencia.idsucursal == modIncidencia.idsucursaldestino.Value) { idEstadoOrdenServicio = (Int32)Constantes.EstadoOrdenServicio.PendienteAsignacionTecnico; //modOrdenServicio.__tipooperacion = 2; //new OrdenServicioData().InsertarActualizarOrdenServicio(modOrdenServicio); } #endregion var modOrdenServicio = GenerarOrdenServicio(model.idincidencia.Value, idEstadoOrdenServicio, modIncidencia); return(Json(new { res = true, idordenservicio = modOrdenServicio.idordenserviciotecnico, numeroordenservicio = modOrdenServicio.numeroordenservicio })); }
public JsonResult AprobarDesaprobarCotizacion(long idcotizacion, string estado, long idordenservicio) { var model = new VentaCotizacionModel(); var modOrdenServicio = new OrdenServicioData().obtenerOrdenServicio(idordenservicio); var modOrdenTrabajo = new OrdenTrabajoModel(); var TrabajoDetalleModel = new OrdenTrabajoDetalleModel(); if (estado == "aprobado") { modOrdenServicio.idestado = (Int32)Constantes.EstadoOrdenServicio.PendienteInicioReparacion; modOrdenServicio.cotizado = true; modOrdenTrabajo.idestado = (Int32)Constantes.EstadoOrdenTrabajo.Asignada; model.aceptado = true; } else if (estado == "rechazado") { modOrdenServicio.idestado = (Int32)Constantes.EstadoOrdenServicio.PendienteEntregaCliente; modOrdenTrabajo.idestado = (Int32)Constantes.EstadoOrdenTrabajo.Completada; model.aceptado = false; } modOrdenServicio.__tipooperacion = 2; modOrdenTrabajo.__tipooperacion = 2; model.__tipooperacion = 2; model.idcotizacion = idcotizacion; modOrdenServicio.idordenserviciotecnico = idordenservicio; modOrdenTrabajo.idordentrabajo = modOrdenServicio.idordentrabajo; new ReparacionesData().InsertarActualizarOrdenTrabajo(modOrdenTrabajo); new VentaData().insertarActualizarCotizacion(model); new OrdenServicioData().InsertarActualizarOrdenServicio(modOrdenServicio); #region registrar reparaciones TarifaModel modTarifa; AlmacenModel modAlmacen; var usuario = UsuariosData.ObtenerUsuario(16); var listadoTotal = VentaData.listarCotizacionDetalle(idordenservicio).ToList(); foreach (var item in listadoTotal) { if (item.descripcion != "Repuesto") { continue; } var modRepuesto = new ProductoData().obtenerProducto(item.idproducto); modAlmacen = new InventarioData().obtenerAlmacen(Constantes.CodAlmacen.Telecom_Repuestos); var existerepuesto = new InventarioData().obtenerInventario(modAlmacen.idalmacen.Value, item.idproducto, 45); #region enviomail StringBuilder sb = new StringBuilder(); sb.Append("<table width='100%' cellpadding='0' cellspacing='0' border='0' dir='ltr' style='font-size:16px;background-color:rgb(227,225,225)'>"); sb.Append("<tbody>"); sb.Append("<tr>"); sb.Append(" <td align='center' valign='top' style='margin:0;padding:40'>"); sb.Append(" <table align='center' border='0' cellspacing='0' cellpadding='0' width='700' bgcolor='#1ab394' style='width:700px;border:1px solid "); sb.Append(" transparent; "); sb.Append("order-radius:13px;margin:auto;background-color:#18a689'>"); sb.Append(" <tbody>"); sb.Append(" <tr>"); sb.Append(" <td>"); sb.Append(" <table cellpadding='0' cellspacing='0' border='0' width='100%'>"); sb.Append(" <tbody>"); sb.Append(" <tr>"); sb.Append(" <td valign='top' align='left' style='padding:0px;margin:0px'>"); sb.Append(" <table cellpadding='0' cellspacing='0' border='0' width='100%'>"); sb.Append(" <tbody>"); sb.Append(" <tr>"); sb.Append(" <td align='left' valign='top'>"); sb.Append(" <table width='100%' border='0' cellpadding='0' cellspacing='0' align='center'>"); sb.Append(" <tbody>"); sb.Append(" <tr>"); sb.Append(" <td align='left' valign='top' style='font-family:Arial,Helvetica,sans-serif;font-size:20px;border-radius:6px"); sb.Append(" color:rgb(' sb.Append('55,255,255)'>"); sb.Append(" <div style='text-align:center'><span style='color:rgb(255,255,255);font-weight:bold'><br></span></div>"); sb.Append(" <div style='text-align:center'><span style='color:rgb(255,255,255);font-weight:bold'>Smartway - SIR Notificaciones"); sb.Append(" </span></div>"); sb.Append(" <div style='text-align:center'><span style='color:rgb(255,255,255);font-weight:bold'><br></span></div>"); sb.Append(" <span style='color:rgb(38,38,38)'></span>"); sb.Append(" </td>"); sb.Append(" </tr>"); sb.Append(" </tbody>"); sb.Append(" </table>"); sb.Append(" </td>"); sb.Append(" </tr>"); sb.Append(" <tr>"); sb.Append(" <td>"); sb.Append(" <table width='100%' border='0' cellpadding='10' cellspacing='10' align='center' bgcolor='white'>"); sb.Append(" <tbody>"); sb.Append(" <tr>"); sb.Append(" <td align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38)"); sb.Append(" font-size:12px;background-color:rgb(255,255,255);width:190px ' colspan='4'> "); sb.Append(" Sr(a). "+ usuario.usr_str_nombre + ' ' + usuario.usr_str_apellidos + ""); sb.Append(" </td>"); sb.Append(" </tr>"); sb.Append(" <tr>"); sb.Append(" <td colspan='10' align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);"); sb.Append(" font-size:12px;background-color:rgb(255,255,255);width:190px ' colspan='4'>"); sb.Append(" Se le informa que el usuario "+ Usuario.NombreUsuario + " ha realizado una solicitud de respuesto para la reparación de la orden de servicio: " + modOrdenServicio.numeroordenservicio); sb.Append(" </td>"); sb.Append(" </tr>"); sb.Append(" <tr>"); sb.Append(" <td colspan='10' align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);"); sb.Append(" font-size:14px;font-weight:bold;background-color:rgb(255,255,255)' colspan='4'>"); sb.Append(" <span style='font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38)'>Se ha solicitado el siguiente respuesto.</span> "); sb.Append(""); sb.Append(" </td>"); sb.Append(" </tr>"); sb.Append(" <tr>"); sb.Append(" <td align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);"); sb.Append("ont-size:12px;background-color:rgb(255,255,255);width:190px'>"); sb.Append(" "+ modRepuesto.codigoproducto); sb.Append(" </td>"); sb.Append(" <td align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);"); sb.Append("ont-size:12px;background-color:rgb(255,255,255);width:190px'>"); sb.Append(" </td>"); sb.Append(" <td align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);"); sb.Append("ont-size:12px;background-color:rgb(255,255,255);width:190px'>"); sb.Append(" "+ modRepuesto.descripcionlarga); sb.Append(" </td>"); //sb.Append(" < td align = 'left' valign = 'top' style = 'padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);"); //sb.Append("ont-size:12px;background-color:rgb(255,255,255);width:190px'>"); //sb.Append(" " + existerepuesto == null ? "" : existerepuesto.serie); sb.Append(" </td>"); sb.Append(" </tr>"); sb.Append(" "); sb.Append(" "); sb.Append(" </tbody>"); sb.Append(" "); sb.Append(" </table>"); sb.Append(" </td>"); sb.Append(" </tr>"); sb.Append(" <tr>"); sb.Append(" <td>"); sb.Append(" "); sb.Append(" </tbody>"); sb.Append(" </table>"); sb.Append(" </td>"); sb.Append(" </tr>"); sb.Append(" </tbody>"); sb.Append(" </table>"); sb.Append(" </td>"); sb.Append(" </tr>"); sb.Append("</tbody>"); sb.Append("</table>"); #endregion bool correo = MailHelper.EnviarMail(usuario.usr_str_email, "[Se ha solicitado un repuesto de almacén]", sb.ToString(), true); if (existerepuesto == null) { } else if (existerepuesto.cantidad == 0) { // NO se notifica } else { existerepuesto.cantidad = existerepuesto.cantidad - 1; if (existerepuesto.serie != null || existerepuesto.imei != null) { if (existerepuesto.serie != "" || existerepuesto.imei != "") { existerepuesto.idestado = (Int32)Constantes.Producto.NoDisponible; } else { existerepuesto.idestado = (Int32)Constantes.Producto.Disponible; } } else { existerepuesto.idestado = (Int32)Constantes.Producto.Disponible; } existerepuesto.__idoperacion = 2; new InventarioData().InsertarActualizarInventario(existerepuesto); } var diagnostico = new DiagnosticoData().listarDiagnostico(null, null, null, null, item.iddiagnostico).FirstOrDefault(); var aux = new ReparacionData().listarReparacion(null , null, item.idreparacion).ToList(); var modReparacion = aux.Where(x => x.idreparacion.Value.Equals(item.idreparacion)).FirstOrDefault(); var modIncidencia = new IncidenciaData().ObtenerIncidencia(modOrdenServicio.idincidencia.Value); modTarifa = new AgendamientoData().calcularTarifa( modIncidencia.idtipoproducto , modReparacion.idnivelreparacion , modIncidencia.idpartner); TrabajoDetalleModel = new OrdenTrabajoDetalleModel(); TrabajoDetalleModel.activo = true; TrabajoDetalleModel.costo = modRepuesto.costounitario; TrabajoDetalleModel.diagnostico = diagnostico.descripcion; TrabajoDetalleModel.reparacion = modReparacion.descripcion; TrabajoDetalleModel.repuesto = modRepuesto.descripcionlarga; TrabajoDetalleModel.iddiagnostico = item.iddiagnostico; TrabajoDetalleModel.idrepuesto = item.idproducto; TrabajoDetalleModel.idreparacion = item.idreparacion; TrabajoDetalleModel.costo = modRepuesto.costounitario; TrabajoDetalleModel.descripcion = "Repuesto"; TrabajoDetalleModel.idordentrabajo = modOrdenServicio.idordentrabajo.Value; TrabajoDetalleModel.__idoperacion = 1; TrabajoDetalleModel.servicio = false; if (existerepuesto != null) { TrabajoDetalleModel.idinventario = existerepuesto.idinventario; } var asociado = new ReparacionesData().InsertarActualizarOrdenTrabajoDetalle(TrabajoDetalleModel); if (modTarifa != null) { TrabajoDetalleModel = new OrdenTrabajoDetalleModel(); TrabajoDetalleModel.activo = true; TrabajoDetalleModel.costo = modTarifa.costo.Value; TrabajoDetalleModel.diagnostico = diagnostico.descripcion; TrabajoDetalleModel.reparacion = modReparacion.nivelreparacion; TrabajoDetalleModel.repuesto = ""; TrabajoDetalleModel.iddiagnostico = item.iddiagnostico; TrabajoDetalleModel.idrepuesto = item.idrepuesto; TrabajoDetalleModel.idreparacion = item.idreparacion; TrabajoDetalleModel.descripcion = modReparacion.nivelreparacion; TrabajoDetalleModel.idordentrabajo = modOrdenServicio.idordentrabajo.Value; TrabajoDetalleModel.servicio = true; TrabajoDetalleModel.idservicioasociado = asociado; TrabajoDetalleModel.__idoperacion = 1; new ReparacionesData().InsertarActualizarOrdenTrabajoDetalle(TrabajoDetalleModel); } } // return Json(new { res = true }); #endregion return(Json(new { res = true })); }
public InventarioLogic() { inventarioData = new InventarioData(); inventarioSerieData = new InventarioSerieData(); returnValor = new ReturnValor(); }
public JsonResult RegistrarDespacho(OrdenSalidaModel model) { var detalle = (List <OrdenSalidaDetalleModel>)Session["DespachoMasivo"]; #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; } var inventario = new InventarioData().obtenerProductoInventario(modProducto.idproducto.Value , item.serie, item.imei); if (inventario == null) { return(Json(new { res = false, msj = "El item con serie: " + item.serie + " no existe." })); } item.idinventario = inventario.idinventario; var ordenservicio = new InventarioData().obtenerOrdenServicioxInventario(inventario.idinventario); if (ordenservicio == null) { return(Json(new { res = false, msj = "El item con serie: " + item.serie + " tiene un error con la orden de servicio." })); } item.idordenservicio = ordenservicio.idordenserviciotecnico.Value; if (inventario.idestado == (Int32)Constantes.EstadoProducto.PendienteReparar) { return(Json(new { res = false, msj = "El item con serie: " + item.serie + " está pendiente de reparación." })); } if (inventario.idestado != (Int32)Constantes.EstadoProducto.Reparado) { if (inventario.idestado != (Int32)Constantes.EstadoProducto.Inoperativo) { return(Json(new { res = false, msj = "El item con serie: " + item.serie + " no está disponible para despacho." })); } } } #endregion if (detalle == null) { return(Json(new { res = false, msj = "No existen datos cargados en el sistema." })); } model.fechahoraregistro = DateTime.Now; model.activo = true; model.idusuarioregistro = Usuario.Idusuario; model.iddocumentosalida = new DespachoData().InsertarOrdenSalida(model); foreach (var item in detalle) { item.fechahoraatencion = DateTime.Now; item.idordensalida = model.iddocumentosalida.Value; item.cantidad = 1; item.idusuarioatencion = Usuario.Idusuario; item.idproducto = model.idproducto; new DespachoData().InsertarOrdenSalidaDetalle(item); var inventarioModel = new InventarioModel(); inventarioModel.idestado = (Int16)Constantes.Producto.NoDisponible; inventarioModel.idinventario = item.idinventario; inventarioModel.cantidad = 0; inventarioModel.__idoperacion = 2; new InventarioData().InsertarActualizarInventario(inventarioModel); var ordenServicioModel = new OrdenServicioModel(); ordenServicioModel.idordenserviciotecnico = item.idordenservicio; ordenServicioModel.idestado = (Int16)Constantes.EstadoOrdenServicio.Cerrada; ordenServicioModel.__tipooperacion = 2; new OrdenServicioData().InsertarActualizarOrdenServicio(ordenServicioModel); } return(Json(new { res = true })); }