public ActionResult Inserta(string __a, string __b, string __c, string __d)
        {
            Int32 resultado = 0;

            if (Convert.ToInt32(__d) == 1 || Convert.ToInt32(__d) == 2)
            {
                resultado = new NLectura().NInsertaMasivo(
                    new Request_Lectura_Inserta_Masivo()
                {
                    lec_archivo          = __a,
                    lec_asignacion_fecha = __b,
                    lec_id = __c,
                    usu_id = ((Sesion)Session["Session_Usuario_Acceso"]).usuario.usu_id
                }
                    );
            }
            else if (Convert.ToInt32(__d) == 3 || Convert.ToInt32(__d) == 4)
            {
                resultado = new NCorte().NInsertaMasivo(
                    new Request_Corte_Inserta_Masivo()
                {
                    cor_archivo          = __a,
                    cor_asignacion_fecha = __b,
                    cor_id = __c,
                    usu_id = ((Sesion)Session["Session_Usuario_Acceso"]).usuario.usu_id
                }
                    );
            }

            return(new ContentResult
            {
                Content = "{ \"_a\": " + resultado + " }",
                ContentType = "application/json"
            });
        }
        public string JsonInsertarExel(HttpPostedFileBase file, int idlocal, string idfechaAsignacion)
        {
            List <Cls_Entidad_Importacion_Lecturas> objeto_List_Importacion_Lecturas = new List <Cls_Entidad_Importacion_Lecturas>();
            DateTime _fecha_actual = DateTime.Now;

            object loDatos;

            try
            {
                string extension    = System.IO.Path.GetExtension(file.FileName);
                string nomExcel     = ((Sesion)Session["Session_Usuario_Acceso"]).usuario.usu_id + extension;
                string fileLocation = Server.MapPath("~/Upload") + "\\" + nomExcel;
                file.SaveAs(fileLocation);



                NLectura obj_Lectura_Importacion_Bl = new NLectura();

                Cls_Negocio_Importacion_Lecturas Objeto_Negocio = new Cls_Negocio_Importacion_Lecturas();
                Objeto_Negocio.Capa_Negocio_ListaExcel(fileLocation, ((Sesion)Session["Session_Usuario_Acceso"]).usuario.usu_id, idlocal, idfechaAsignacion);

                loDatos = Objeto_Negocio.Capa_Negocio_Listar_Temporal_Lecturas_Agrupado(((Sesion)Session["Session_Usuario_Acceso"]).usuario.usu_id);
                return(_Serialize(loDatos, true));
            }
            catch (Exception ex)
            {
                return(_Serialize(ex.Message, true));
            }
        }
        public ActionResult ValidaInformacion(string __a, string __b)
        {
            /* Leyenda de servicios:
             * 1 -> Lectura
             * 2 -> Relectura
             * 3 -> Corte
             * 4 -> Reconexion
             *
             * _v = lec_estado
             * _e = lec_suministro
             * _f = lec_medidor
             * _i = lec_direccion
             * _l = lec_cliente_nombre
             * clase = clase
             * _t = cor_orden
             */

            Int32 servicio = Convert.ToInt32(__b);

            List <Lectura> oLs = new List <Lectura>();

            if (servicio == 1 || servicio == 2)
            {
                oLs = new NLectura().NListaValidado(
                    new Request_Lectura_Validacion()
                {
                    archivo = __a
                }
                    );
            }
            else if (servicio == 3 || servicio == 4)
            {
                foreach (Corte oBj in new NCorte().NListaValidado(
                             new Request_Corte_Validacion()
                {
                    archivo = __a
                }
                             ))
                {
                    oLs.Add(
                        new Lectura()
                    {
                        lec_estado         = oBj.cor_estado,
                        lec_suministro     = oBj.cor_suministro,
                        lec_medidor        = oBj.cor_medidor,
                        lec_direccion      = oBj.cor_direccion,
                        lec_cliente_nombre = oBj.cor_interlocutor,
                        clase     = oBj.clase,
                        lec_orden = oBj.cor_orden
                    }
                        );
                }
            }

            return(new ContentResult
            {
                Content = MvcApplication._Serialize(oLs),
                ContentType = "application/json"
            });
        }
        public ActionResult Importar(HttpPostedFileBase file, int idlocal)
        {
            DateTime _fecha_actual = DateTime.Now;

            try
            {
                string extension    = System.IO.Path.GetExtension(file.FileName);
                string nomExcel     = ((Sesion)Session["Session_Usuario_Acceso"]).usuario.usu_id + extension;
                string fileLocation = Server.MapPath("~/Upload") + "\\" + nomExcel;

                file.SaveAs(fileLocation);



                DataTable      dt            = new DataTable();
                List <Lectura> listaLecturas = new List <Lectura>();
                Lectura        objLectura;

                dt = new NLectura().ListaExcel(fileLocation);

                foreach (DataRow row in dt.Rows)
                {
                    objLectura = new Lectura();
                    objLectura.lec_importacion_archivo = nomExcel;
                    objLectura.lec_suministro          = row["CLIENTE"].ToString();
                    objLectura.lec_direccion           = row["DIRECCION"].ToString();
                    objLectura.lec_seccion             = Convert.ToInt32(row["Sc"].ToString());
                    objLectura.lec_zona          = row["Zn"].ToString();
                    objLectura.lec_correlativo   = Convert.ToInt32(row["CRR"].ToString());
                    objLectura.lec_medidor       = row["MEDIDOR"].ToString();
                    objLectura.lec_medidor_marca = row["MARCA"].ToString();
                    objLectura.MesUno            = row["Mes Uno"].ToString();
                    objLectura.MesDos            = row["Mes Dos"].ToString();
                    objLectura.MesTres           = row["Mes Tres"].ToString();
                    objLectura.MesCuatro         = row["Mes Cuatro"].ToString();
                    objLectura.MesCinco          = row["Mes Cinco"].ToString();
                    objLectura.dniOpe            = row["DNI"].ToString();
                    objLectura.bloque            = row["Bloque"].ToString();
                    objLectura.lec_orden         = Convert.ToInt32(row["Orden"].ToString());
                    objLectura.loc_id            = idlocal;
                    objLectura.id_UsuarioExpor   = ((Sesion)Session["Session_Usuario_Acceso"]).usuario.usu_id;
                    listaLecturas.Add(objLectura);
                }
                return(new ContentResult
                {
                    Content = MvcApplication._Serialize(new NLectura().NImportarArchivoExcel(listaLecturas)),
                    ContentType = "application/json"
                });
            }
            catch (Exception e)
            {
                return(new ContentResult
                {
                    Content = MvcApplication._Serialize(e.Message),
                    ContentType = "application/json"
                });
            }
        }
        public string ListadoReporteDiario(int cliente, string fechaini, string fechafin, int idServicio)
        {
            object loDatos;

            try
            {
                NLectura obj_negocio = new NLectura();
                loDatos = obj_negocio.Capa_Negocio_Get_ListadoReporteDiario(cliente, fechaini, fechafin, idServicio);
                return(_Serialize(loDatos, true));
            }
            catch (Exception ex)
            {
                return(_Serialize(ex.Message, true));
            }
        }
        public string ListandoAgrupadoLecturas(int id_local, int id_servicio, string fechaini, string fechaFin)
        {
            object loDatos;

            try
            {
                NLectura obj_negocio = new NLectura();
                loDatos = obj_negocio.NListaLecturaAgrupado(id_local, id_servicio, fechaini, fechaFin);
                return(_Serialize(loDatos, true));
            }
            catch (Exception ex)
            {
                return(_Serialize(ex.Message, true));
            }
        }
        public string MostrandoFotos(int id_lectura, int idservicio)
        {
            object loDatos;

            try
            {
                NLectura obj_negocio = new NLectura();
                loDatos = obj_negocio.Capa_Negocio_Get_MostrarFotos(id_lectura, idservicio);
                return(_Serialize(loDatos, true));
            }
            catch (Exception ex)
            {
                return(_Serialize(ex.Message, true));
            }
        }
        public string ListandoDetalladoLecturasEstado(int id_local, int id_servicio, string fechaini, string fechaFin, int ipOperario, int categoriaLectura)
        {
            object loDatos;

            try
            {
                NLectura obj_negocio = new NLectura();
                loDatos = obj_negocio.NListaLecturaDetalladoEstado(id_local, id_servicio, fechaini, fechaFin, ipOperario, categoriaLectura);
                return(_Serialize(loDatos, true));
            }
            catch (Exception ex)
            {
                return(_Serialize(ex.Message, true));
            }
        }
        public ActionResult ImportaArchivo(HttpPostedFileBase __a, string __b)
        {
            int      _fila           = 0;
            int      _cantidad       = 0;
            bool     _estado         = true;
            string   _valor          = "";
            string   _local          = "";
            string   _server         = "";
            string   _extension      = "";
            int      ser_id          = 0;
            string   ser_descripcion = "";
            DateTime _fecha_actual   = DateTime.Now;
            DateTime _valida_fecha;
            Int32    _valida_entero;

            List <Lectura> oRp = new List <Lectura>();

            if (__a != null)
            {
                #region Inserta informacion

                _extension = __a.FileName.Split('.')[1];
                //_server = String.Format("{0:ddMMyyyy_hhmmss}." + _extension, DateTime.Now);
                _server = String.Format("{0:ddMMyyyy_hhmmss}.xlsx", _fecha_actual);
                _local  = Path.Combine(Server.MapPath("/Lecturas/Temp/Importacion"), _server);
                //_local = Path.Combine(Server.MapPath("/Temp/Importacion"), _server);
                __a.SaveAs(_local);

                FileInfo oFile = new FileInfo(_local);
                using (Excel.ExcelPackage oEx = new Excel.ExcelPackage(oFile))
                {
                    foreach (Excel.ExcelWorksheet oWs in oEx.Workbook.Worksheets)
                    {
                        ser_descripcion = oWs.Name.ToUpper();
                        ser_id          = (ser_descripcion == "LECTURA" ? 1 : (ser_descripcion == "RELECTURA" ? 2 : (ser_descripcion == "CORTE" ? 3 : (ser_descripcion == "RECONEXION" ? 4 : 0))));

                        #region Servicio lectura y/o relectura

                        if (ser_descripcion == "LECTURA" || ser_descripcion == "RELECTURA")
                        {
                            List <Lectura> _oRq = new List <Lectura>();

                            _fila   = 2;
                            _estado = true;

                            do
                            {
                                _valor = oWs.Cells[_fila, 1].Text;
                                if (_valor.Length != 0)
                                {
                                    _oRq.Add(
                                        new Lectura()
                                    {
                                        lec_importacion_archivo = _server,
                                        //lec_numero_instalacion = oWs.Cells[_fila, 2].Text,
                                        //lec_medidor = oWs.Cells[_fila, 4].Text,
                                        //lec_direccion = oWs.Cells[_fila, 5].Text + " " + oWs.Cells[_fila, 6].Text,
                                        //lec_distrito = oWs.Cells[_fila, 7].Text,
                                        //lec_anterior = oWs.Cells[_fila, 9].Text,
                                        //lec_interlocutor = oWs.Cells[_fila, 13].Text,
                                        //lec_suministro = oWs.Cells[_fila, 14].Text,
                                        //lec_cliente_tipo = oWs.Cells[_fila, 15].Text,
                                        //lec_categoria = oWs.Cells[_fila, 16].Text,
                                        //lec_zona = oWs.Cells[_fila, 17].Text,
                                        //lec_medidor_marca = oWs.Cells[_fila, 18].Text,
                                        //lec_cliente_nombre = oWs.Cells[_fila, 19].Text,
                                        //ope_id = Convert.ToInt32(oWs.Cells[_fila, 20].Text.Length == 0 ? "0" : oWs.Cells[_fila, 20].Text),
                                        //lec_orden = Convert.ToInt32(oWs.Cells[_fila, 21].Text.Length == 0 ? "0" : oWs.Cells[_fila, 21].Text),

                                        lec_suministro    = oWs.Cells[_fila, 1].Text,
                                        lec_direccion     = oWs.Cells[_fila, 2].Text,
                                        lec_seccion       = Convert.ToInt32(oWs.Cells[_fila, 3].Text),
                                        lec_zona          = oWs.Cells[_fila, 4].Text,
                                        lec_correlativo   = Convert.ToInt32(oWs.Cells[_fila, 5].Text),
                                        lec_medidor       = oWs.Cells[_fila, 6].Text,
                                        lec_medidor_marca = oWs.Cells[_fila, 7].Text,
                                        lec_anterior      = oWs.Cells[_fila, 8].Text,
                                        dniOpe            = oWs.Cells[_fila, 9].Text,
                                        bloque            = oWs.Cells[_fila, 10].Text,
                                        lec_orden         = Convert.ToInt32(oWs.Cells[_fila, 11].Text),
                                        loc_id            = Convert.ToInt32(__b),
                                        ser_id            = ser_id,
                                        emp_id            = ((Sesion)Session["Session_Usuario_Acceso"]).empresa.emp_id
                                    }
                                        );

                                    _fila++;
                                }
                                else
                                {
                                    _estado = false;
                                }
                            } while (_estado == true);

                            _cantidad = new NLectura().NBulkInfo(_oRq);

                            break;
                        }

                        #endregion

                        #region Servicio corte y/o reconexion

                        if (ser_descripcion == "CORTE" || ser_descripcion == "RECONEXION")
                        {
                            List <Corte> _oRq = new List <Corte>();

                            _fila   = 2;
                            _estado = true;

                            do
                            {
                                _valor = oWs.Cells[_fila, 24].Text;
                                if (_valor.Length != 0)
                                {
                                    _oRq.Add(
                                        new Corte()
                                    {
                                        emp_id = ((Sesion)Session["Session_Usuario_Acceso"]).empresa.emp_id,
                                        ser_id = ser_id,
                                        cor_importacion_fecha   = _fecha_actual,
                                        cor_importacion_archivo = _server,
                                        loc_id                 = Convert.ToInt32(__b),
                                        cor_aviso_clase        = oWs.Cells[_fila, 1].Text,
                                        cor_aviso              = oWs.Cells[_fila, 2].Text,
                                        cor_aviso_fecha        = (DateTime.TryParse(oWs.Cells[_fila, 3].Text, out _valida_fecha) ? String.Format("{0:yyyy-MM-dd}", _valida_fecha) : ""),  //Convert.ToDateTime(oWs.Cells[_fila, 3].Text)
                                        cor_documento_bloqueo  = oWs.Cells[_fila, 4].Text,
                                        cor_suministro         = oWs.Cells[_fila, 5].Text,
                                        cor_interlocutor       = oWs.Cells[_fila, 6].Text,
                                        cor_clase_cuenta       = oWs.Cells[_fila, 7].Text,
                                        cor_deuda              = oWs.Cells[_fila, 8].Text,
                                        cor_cantidad           = oWs.Cells[_fila, 9].Text,
                                        cor_instalacion_numero = oWs.Cells[_fila, 10].Text,
                                        cor_medidor            = oWs.Cells[_fila, 11].Text,
                                        cor_direccion          = oWs.Cells[_fila, 12].Text,
                                        cor_distrito           = oWs.Cells[_fila, 13].Text,
                                        cor_seccion            = oWs.Cells[_fila, 14].Text,
                                        ope_id                 = (Int32.TryParse(oWs.Cells[_fila, 24].Text, out _valida_entero) ? _valida_entero : 0),
                                        cor_orden              = (Int32.TryParse(oWs.Cells[_fila, 25].Text, out _valida_entero) ? _valida_entero : 0)
                                    }
                                        );

                                    _fila++;
                                }
                                else
                                {
                                    _estado = false;
                                }
                            } while (_estado == true);

                            _cantidad = new NCorte().NBulkInfo(_oRq);

                            break;
                        }

                        #endregion
                    }
                }

                #endregion
            }

            return(new ContentResult
            {
                Content = "{ \"__a\" : \"" + _server + "\", \"__b\" : " + _cantidad + ", \"__c\": { \"__a\": " + ser_id + ", \"__b\": \"" + ser_descripcion + "\" } }",
                ContentType = "application/json"
            });
        }
        public string Reporte_DetalleLecturas(int id_local, int id_servicio, string fechaini, string fechaFin, int ipOperario, int categoriaLectura)
        {
            string Res = "";
            string _servidor;
            string _ruta;
            string resultado = "";
            int    _fila     = 2;
            string FileRuta  = "";
            string FileExcel = "";


            List <ResumenLecturas> loDatos = new List <ResumenLecturas>();

            try
            {
                NLectura obj_negocio = new NLectura();
                loDatos = obj_negocio.NListaLecturaDetalladoEstado(id_local, id_servicio, fechaini, fechaFin, ipOperario, categoriaLectura);

                if (loDatos.Count == 0)
                {
                    return(_Serialize("0|No hay informacion para mostrar.", true));
                }

                _servidor = String.Format("{0:ddMMyyyy_hhmmss}.xlsx", DateTime.Now);
                FileRuta  = System.Web.Hosting.HostingEnvironment.MapPath("~/Upload/Detalle_Resumen_Lecturas_" + _servidor);
                string rutaServer = ConfigurationManager.AppSettings["servidor-archivos"];


                FileExcel = rutaServer + "Detalle_Resumen_Lecturas_" + _servidor;
                FileInfo _file = new FileInfo(FileRuta);
                if (_file.Exists)
                {
                    _file.Delete();
                    _file = new FileInfo(FileRuta);
                }

                using (Excel.ExcelPackage oEx = new Excel.ExcelPackage(_file))
                {
                    Excel.ExcelWorksheet oWs = oEx.Workbook.Worksheets.Add("ControlProcesos");
                    oWs.Cells.Style.Font.SetFromFont(new Font("Tahoma", 9));

                    oWs.Cells[1, 1].Value = "Lecturista";
                    oWs.Cells[1, 2].Value = "Direccion";
                    oWs.Cells[1, 3].Value = "Suministro";
                    oWs.Cells[1, 4].Value = "Medidor";
                    oWs.Cells[1, 5].Value = "Zona";
                    oWs.Cells[1, 6].Value = "Lectura";
                    oWs.Cells[1, 7].Value = "Confirmacion Lectura";
                    oWs.Cells[1, 8].Value = "Observacion";
                    oWs.Cells[1, 9].Value = "Estado";


                    //marco detalle CABECERA
                    for (int i = 1; i <= 11; i++)
                    {
                        oWs.Cells[1, i].Style.Font.Size = 9;
                        oWs.Cells[1, i].Style.Font.Bold = true;
                        oWs.Cells[1, i].Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);    //marco
                        oWs.Cells[1, i].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                    }

                    foreach (ResumenLecturas obj in loDatos)
                    {
                        //marco detalle
                        for (int i = 1; i <= 9; i++)
                        {
                            oWs.Cells[_fila, i].Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);    //marco
                        }

                        oWs.Cells[_fila, 1].Value = obj.id_Operario_Lectura;
                        oWs.Cells[_fila, 2].Value = obj.direccion_lectura;
                        oWs.Cells[_fila, 3].Value = obj.suministro_lectura;
                        oWs.Cells[_fila, 4].Value = obj.medidor_lectura;
                        oWs.Cells[_fila, 5].Value = obj.Zona_lectura;
                        oWs.Cells[_fila, 6].Value = obj.LecturaMovil_Lectura;
                        oWs.Cells[_fila, 7].Value = obj.confirmacion_Lectura;
                        oWs.Cells[_fila, 8].Value = obj.abreviatura_observacion;
                        oWs.Cells[_fila, 9].Value = obj.descripcion_estado;

                        _fila++;
                    }

                    oWs.Cells.Style.Font.Size            = 8; //letra tamaño
                    oWs.Row(1).Style.Font.Bold           = true;
                    oWs.Row(1).Style.HorizontalAlignment = Style.ExcelHorizontalAlignment.Center;
                    oWs.Row(1).Style.VerticalAlignment   = Style.ExcelVerticalAlignment.Center;

                    for (int i = 1; i <= 9; i++)
                    {
                        oWs.Column(i).AutoFit();
                    }

                    oEx.Save();
                }
                return(_Serialize("1|" + FileExcel, true));
            }
            catch (Exception ex)
            {
                return(_Serialize("0|" + ex.Message, true));
            }
        }
예제 #11
0
        public ActionResult ImportarExcel(HttpPostedFileBase file, int idlocal)
        {
            DateTime _fecha_actual = DateTime.Now;

            try
            {
                string extension    = System.IO.Path.GetExtension(file.FileName);
                string nomExcel     = ((Sesion)Session["Session_Usuario_Acceso"]).usuario.usu_id + extension;
                string fileLocation = Server.MapPath("~/Upload") + "\\" + nomExcel;
                file.SaveAs(fileLocation);

                DataTable           dt            = new DataTable();
                List <LeerLecturas> listaLecturas = new List <LeerLecturas>();
                LeerLecturas        objLectura;

                dt = new NLectura().ListaExcel(fileLocation);

                foreach (DataRow row in dt.Rows)
                {
                    objLectura = new LeerLecturas();
                    objLectura.lec_importacion_archivo = nomExcel;
                    objLectura.claseAviso_corte        = row["Clase de aviso"].ToString();
                    objLectura.aviso_corte             = row["Aviso"].ToString();
                    objLectura.fechaAviso_corte        = Convert.ToDateTime(row["Fecha de aviso"].ToString());
                    objLectura.docBloqueo_corte        = string.IsNullOrEmpty(row["Documento de bloqueo"].ToString()) ? "" : Convert.ToDateTime(row["Documento de bloqueo"]).ToString("dd/MM/yyyy");

                    objLectura.claseCuenta_corte        = row["Cta.Contr."].ToString();
                    objLectura.nombreInterlocutor_corte = row["Nombre interlocutor"].ToString();
                    objLectura.claseCuenta_corte        = row["Clase cuenta"].ToString();
                    objLectura.deudaSoles_corte         = row["Deuda Soles"].ToString();
                    objLectura.cantidad_corte           = row["Cantidad de recibos"].ToString();
                    objLectura.nroInstalacion_corte     = row["Instalacion"].ToString();
                    objLectura.medidor_corte            = row["N°Ser.Me."].ToString();
                    objLectura.direccion_corte          = row["Dirección de Instal."].ToString();
                    objLectura.distrito_corte           = row["Distrito de Instal."].ToString();

                    objLectura.unidad_corte       = row["Unidad de Lectura"].ToString();
                    objLectura.ejecutante_corte   = row["Ejecutante"].ToString();
                    objLectura.orden_corte        = Convert.ToInt32(row["Orden"].ToString());
                    objLectura.creadoPor_corte    = Convert.ToInt32(row["Creado por"].ToString());
                    objLectura.statusSistem_corte = row["Status de sistema"].ToString();
                    objLectura.codificacion_corte = row["Cód.codificación"].ToString();
                    objLectura.contador           = Convert.ToInt32(row["Contador"].ToString());
                    objLectura.tecnico            = Convert.ToInt32(row["Cód.codificación"].ToString());
                    objLectura.secuencia          = Convert.ToInt32(row["Cód.codificación"].ToString());
                    listaLecturas.Add(objLectura);
                }
                return(new ContentResult
                {
                    Content = MvcApplication._Serialize(new NLectura().NImportarArchivoExcel01(listaLecturas)),
                    ContentType = "application/json"
                });
            }
            catch (Exception e)
            {
                return(new ContentResult
                {
                    Content = MvcApplication._Serialize(e.Message),
                    ContentType = "application/json"
                });
            }
        }