public OrdenServicioModel InsertarActualizarOrdenServicio(OrdenServicioModel modOrdenServicio) { Mapper.CreateMap <OrdenServicioModel, InsertarActualizarOrdenServicioCommand>(); var command = Mapper.Map <OrdenServicioModel, InsertarActualizarOrdenServicioCommand>(modOrdenServicio); var result = (InsertarActualizarOrdenServicioOutput)command.Execute(); modOrdenServicio.idordenserviciotecnico = result.idordenservicio; modOrdenServicio.numeroordenservicio = result.numeroordenservicio; return(modOrdenServicio); }
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 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 })); }
public JsonResult JsonGenerarDespacho(string ids, DateTime?fecharecojo, int?idtransporte) { string[] guias = ids.Split(','); var modGuiaAct = new GuiaRemisionModel(); //var modGuiaAct = new GuiaRemisionModel(); //modGuiaAct. foreach (var item in guias) { var guia = new DespachoData().obtenerGuiaRemision(Convert.ToInt64(item)); var osts = new RecepcionData().GetListarOrdenServicio(Convert.ToInt32(item)); foreach (var item1 in osts) { var modOrdenServicio = new OrdenServicioModel(); modOrdenServicio.idordenserviciotecnico = item1.idordenserviciotecnico; modOrdenServicio.__tipooperacion = 2; // actualizar estado modOrdenServicio.idestado = (Int32)Constantes.EstadoOrdenServicio.PendienteRecojoDelivery; new OrdenServicioData().InsertarActualizarOrdenServicio(modOrdenServicio); } } var modGuiaRemision = new DespachoData().obtenerGuiaRemision(Convert.ToInt64(guias[0])); var modProgramacion = new ProgramacionModel(); modProgramacion.idestado = (Int32)(Constantes.EstadoDespacho.programada); modProgramacion.fechahoraregistro = DateTime.Now; modProgramacion.fecharecojo = fecharecojo; modProgramacion.idtransportista = idtransporte.Value; modProgramacion.idsucursalorigen = modGuiaRemision.idsucursalorigen; modProgramacion.idsucursaldestino = modGuiaRemision.idsucursaldestino; modProgramacion.idusuarioregistro = Usuario.Idusuario; modProgramacion.numero = "100-000001"; modProgramacion.__tipooperacion = 1; var res = new DespachoData().InsertarActualizarProgramacion(modProgramacion); var modProgramacionDetalle = new ProgramacionDetalleModel(); foreach (var item in guias) { modGuiaAct = new DespachoData().obtenerGuiaRemision(Convert.ToInt64(item)); modGuiaAct.idestado = (Int32)Constantes.EstadoGuiaRemision.Programada; modGuiaAct.__tipooperacion = 2; new DespachoData().InsertarActualizarGuiaRemision(modGuiaAct); modProgramacionDetalle = new ProgramacionDetalleModel(); modProgramacionDetalle.idguia = Convert.ToInt32(item); modProgramacionDetalle.idprogramacion = res; var resdetalle = new DespachoData().InsertarActualizarProgramacionDetalle(modProgramacionDetalle); } return(Json(new { res = true })); }
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 })); }
public JsonResult guardarIngreso(DocumentoRecepcionModel model) { var detalle = (List <DocumentoRecepcionDetalleModel>)Session["DocumentoRecepcion"]; if (detalle == null) { return(Json(new { res = false, msj = "Debe de cargar un excel al sistema" })); } #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 List <InventarioModel> inventarios = new List <InventarioModel>(); InventarioModel inventarioModel = null; // new InventarioModel(); DocumentoRecepcionDetalleModel modelDetalle = null; OrdenServicioModel ordenModel = new OrdenServicioModel(); List <DocumentoRecepcionDetalleModel> detalles = new List <DocumentoRecepcionDetalleModel>(); ordenModel.activo = true; ordenModel.anioincindecia = DateTime.Now.Year; ordenModel.bounce = "0"; ordenModel.idproducto = model.idproducto; ordenModel.codigoproducto = "Varios"; ordenModel.idusuario = Usuario.Idusuario; ordenModel.cotizado = false; ordenModel.documento_coincide = false; ordenModel.engarantia = true; ordenModel.fechahoraregistro = DateTime.Now; ordenModel.idestado = (Int16)Constantes.EstadoOrdenServicio.PendienteAsignacionTecnico; ordenModel.idtipoordenservicio = (Int16)Constantes.tipoordenservicio.osp; ordenModel.idsucursalorigen = Usuario.idsucursal; ordenModel.__tipooperacion = 1; ordenModel.delivery = true; ordenModel = new OrdenServicioData().InsertarActualizarOrdenServicio(ordenModel); model.fechahoraregistro = DateTime.Now; model.activo = true; model.idtiporecibo = (Int16)Constantes.TipoRecibo.Personalizacion; model.idusuarioregistro = Usuario.Idusuario; model.idordenservicio = ordenModel.idordenserviciotecnico.Value; model.idproducto = model.idproducto; model.iddocumentorecepcion = new RecepcionData().insertarActualizarDocumentoRecepcion(model); foreach (var item in detalle) { inventarioModel = new InventarioModel(); 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; detalles.Add(modelDetalle); inventarioModel.cantidad = item.cantidad; inventarioModel.codigoproducto = item.codigo; inventarioModel.fechahoraregistro = DateTime.Now; inventarioModel.idalmacen = model.idalmacen; inventarioModel.idestado = (Int16)Constantes.Producto.PendientePersonalizar; inventarioModel.serie = item.serie; inventarioModel.imei = item.imei; inventarioModel.pallet = item.pallet; inventarioModel.idusuarioregistro = Usuario.Idusuario; inventarioModel.__idoperacion = 1; inventarioModel.iddocumentorecepcion = model.iddocumentorecepcion.Value; new InventarioData().InsertarActualizarInventario(inventarioModel); } RecepcionData.InsertarDocumentoRecepcionDetalleLote(detalles); return(Json(new { res = true })); }