Beispiel #1
0
        public HttpResponseMessage GetReporteExcelRegistroControl([FromUri] ParametersRegistroControl parms)
        {
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.BadRequest);
            List <ReporteRegistroControlPartialModel> Lista = GetRegistroControlFiltro(parms);

            MemoryStream    memoryStream = new MemoryStream();
            List <string[]> header       = new List <string[]>();

            header.Add(new string[] { "A" });
            header.Add(new string[] { "B" });
            header.Add(new string[] { "C" });
            header.Add(new string[] { "D" });
            header.Add(new string[] { "E" });
            byte[] fileExcell    = reportExcelService.CreateReportBinary <ReporteRegistroControlPartialModel>(header, Lista, "Excel1");
            var    contentLength = fileExcell.Length;

            var statuscode = HttpStatusCode.OK;

            response         = Request.CreateResponse(statuscode);
            response.Content = new StreamContent(new MemoryStream(fileExcell));
            response.Content.Headers.ContentType   = new MediaTypeHeaderValue("application/octet-stream");
            response.Content.Headers.ContentLength = contentLength;
            ContentDispositionHeaderValue contentDisposition = null;

            if (ContentDispositionHeaderValue.TryParse("inline; filename=" + "document" + ".xlsx", out contentDisposition))
            {
                response.Content.Headers.ContentDisposition = contentDisposition;
            }
            return(response);
        }
Beispiel #2
0
        public async Task <IHttpActionResult> GetRegistroControl([FromUri] ParametersRegistroControl parms)
        {
            try
            {
                IdentityUser user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                var userArea    = usuarioAreaService.GetAll(d => d.US_ID_USUARIO == user.Id && d.UA_ESTATUS == 1, null, includes: c => c.AspNetUsers).ToList();
                var userAreacod = new List <AreaOperativaModel>();
                foreach (var item in userArea)
                {
                    userAreacod.Add(areaOperativaService.GetSingle(d => d.CA_ID_AREA == item.CA_ID_AREA));
                }

                //var rgcont = GetRegistroControlFiltro(parms);


                List <ReporteRegistroControlPartialModel> RegistroControl = GetRegistroControlFiltro(parms);

                var retorno = new List <ReporteRegistroControlPartialModel>();

                foreach (var a in RegistroControl)
                {
                    foreach (var b in userAreacod)
                    {
                        if (a.AreaId == b.CA_ID_AREA)
                        {
                            retorno.Add(a);
                        }
                    }
                }

                var ListRetorno = retorno.Select(c => new
                {
                    Supervisor      = c.Supervisor,
                    NombreOperacion = c.NombreOperacion,
                    Lote            = c.Lote,
                    Capturador      = c.Capturador,
                    TotalRegistro   = c.TotalRegistro,
                    TotalDebito     = c.TotalDebito.ToString("N2"),
                    TotalCredito    = c.TotalCredito.ToString("N2"),
                    Total           = c.Total.ToString("N2"),
                    Status          = c.Status,
                    FechaCreacion   = c.FechaCreacion,
                    HoraCreacion    = c.HoraCreacion
                });

                if (ListRetorno != null)
                {
                    return(Ok(ListRetorno));
                }
                return(NotFound());
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Beispiel #3
0
        public List <ReporteRegistroControlPartialModel> GetRegistroControlFiltro(ParametersRegistroControl parms)
        {
            List <ReporteRegistroControlModel> Registrocontrol;
            DateTime ParfechaAc = DateTime.Now.Date.Date;

            // ultima version
            Registrocontrol = reportService.GetAll(c => c.RC_FECHA_CREACION >= ParfechaAc, null, includes: c => c.AspNetUsers).ToList();

            List <ComprobanteModel> Comprobante = serviceComprobante.GetAll(c => (c.TC_FECHA_CREACION >= ParfechaAc || c.TC_FECHA_APROBACION >= ParfechaAc || c.TC_FECHA_RECHAZO >= ParfechaAc || c.TC_FECHA_MOD >= ParfechaAc), null, includes: c => c.AspNetUsers).ToList();

            var estatusList = catalagoService.GetAll(c => c.CA_TABLA == "sax_estatus_carga", null, c => c.SAX_CATALOGO_DETALLE).FirstOrDefault();

            var ltsTipoOperacion = catalagoService.GetAll(c => c.CA_TABLA == "sax_tipo_operacion", null, c => c.SAX_CATALOGO_DETALLE).FirstOrDefault();
            var ListaOperacion   = ltsTipoOperacion.SAX_CATALOGO_DETALLE.Where(s => s.CD_VALOR != "CONCILIACION").ToList();

            //var retorno = new List<ReporteRegistroControlPartialModel>();

            int    EstausConc  = Convert.ToInt16(BusinessEnumerations.EstatusCarga.CONCILIADO);
            string Conc_Aut    = Convert.ToString(BusinessEnumerations.TipoConciliacion.AUTOMATICO);
            string Conc_Man    = Convert.ToString(BusinessEnumerations.TipoConciliacion.MANUAL);
            int    EstatusAnul = Convert.ToInt16(BusinessEnumerations.EstatusCarga.ANULADO);
            int    PorAnular   = Convert.ToInt16(BusinessEnumerations.EstatusCarga.POR_ANULAR);
            int    Rechazado   = Convert.ToInt16(BusinessEnumerations.EstatusCarga.RECHAZADO);
            int    Anuladas    = Convert.ToInt16(BusinessEnumerations.TipoOperacion.ANULACION);
            int    ConcMan     = Convert.ToInt16(BusinessEnumerations.TipoOperacion.CONCILIACION_MANUAL);
            int    ConcAut     = Convert.ToInt16(BusinessEnumerations.TipoOperacion.CONCILIACION);

            //Comprobante = Comprobante.Where(t => (  t.TC_ESTATUS != EstausConc.ToString()) ).ToList();

            var comprobante     = new List <ComprobanteModel>();
            var registrocontrol = new List <ReporteRegistroControlModel>();

            foreach (var g in ListaOperacion)
            {
                foreach (var r in Registrocontrol)
                {
                    if (r.RC_COD_OPERACION == g.CD_ESTATUS)
                    {
                        registrocontrol.Add(r);
                    }
                }
                foreach (var t in Comprobante)
                {
                    if (t.TC_COD_OPERACION == g.CD_ESTATUS.ToString())
                    {
                        comprobante.Add(t);
                    }
                }
            }
            if (parms != null)
            {
                int aprobacion = Convert.ToInt16(parms.TipoAprobacion);


                if (parms.TipoAprobacion != null && parms.TipoAprobacion != string.Empty)
                {
                    if (aprobacion == Anuladas) //Colocar anulaciones
                    {
                        comprobante     = comprobante.Where(x => (x.TC_ESTATUS == EstatusAnul.ToString())).ToList();
                        registrocontrol = registrocontrol.Where(x => x.RC_COD_OPERACION == aprobacion).ToList();
                    }
                    else
                    {
                        registrocontrol = registrocontrol.Where(x => x.RC_COD_OPERACION.Equals(aprobacion)).ToList();

                        comprobante = comprobante.Where(x => x.TC_COD_OPERACION == aprobacion.ToString()).ToList();
                    }
                }
                if (parms.Lote != null && parms.Lote != string.Empty)
                {
                    registrocontrol = registrocontrol.Where(x => x.RC_COD_PARTIDA.Equals(parms.Lote)).ToList();
                    comprobante     = comprobante.Where(x => x.TC_COD_COMPROBANTE.Equals(parms.Lote)).ToList();
                }
            }

            var comprobantes      = new List <ComprobanteModel>();
            ComprobanteModel reg2 = new ComprobanteModel();

            foreach (var reg in comprobante)
            {
                if (reg.TC_ESTATUS == EstatusAnul.ToString() || reg.TC_ESTATUS == PorAnular.ToString()) //COMPROBANTES DE CONCILIACION
                {
                    reg.TC_USUARIO_CREACION = reg.TC_USUARIO_MOD;
                    reg.TC_FECHA_CREACION   = reg.TC_FECHA_MOD != null ? reg.TC_FECHA_MOD.Value : ParfechaAc;
                }

                if (reg.TC_FECHA_RECHAZO != null)
                {
                    if (reg.TC_FECHA_APROBACION != null)
                    {
                        if (reg.TC_ESTATUS == EstatusAnul.ToString() && reg.TC_FECHA_APROBACION.Value.Date == reg.TC_FECHA_RECHAZO.Value.Date)
                        {
                            reg2                   = reg.CloneEntity();
                            reg2.TC_ESTATUS        = Rechazado.ToString();
                            reg2.TC_FECHA_CREACION = reg.TC_FECHA_RECHAZO != null ? reg.TC_FECHA_RECHAZO.Value : ParfechaAc;
                        }
                    }
                }
                if (reg.TC_ESTATUS == EstausConc.ToString()) // estatus actual
                {
                    if (reg.TC_FECHA_RECHAZO == null && reg.TC_FECHA_APROBACION == null)
                    {
                        // ESTOY CREANDO
                    }
                    else
                    {
                        //if (reg.TC_FECHA_APROBACION != null)
                        //{
                        //    if (reg.TC_FECHA_APROBACION.Value.Date == ParfechaAc)
                        //    {
                        //        //reg.TC_ESTATUS = EstatusAnul.ToString();
                        //        //reg.TC_USUARIO_CREACION = reg.TC_USUARIO_APROBADOR;
                        //        //reg.TC_FECHA_CREACION = reg.TC_FECHA_APROBACION != null ? reg.TC_FECHA_APROBACION.Value : ParfechaAc;
                        //    }
                        //}
                        if (reg.TC_FECHA_APROBACION_ANULACION != null)
                        {
                            if (reg.TC_FECHA_APROBACION_ANULACION.Value.Date == ParfechaAc)
                            {
                                reg.TC_ESTATUS          = EstatusAnul.ToString();
                                reg.TC_USUARIO_CREACION = reg.TC_USUARIO_MOD;
                                reg.TC_FECHA_CREACION   = reg.TC_FECHA_MOD.Value;
                                //reg.TC_FECHA_APROBACION_ANULACION != null ? reg.TC_FECHA_APROBACION_ANULACION.Value : ParfechaAc;
                            }
                        }
                        if (reg.TC_FECHA_RECHAZO_ANULACION != null)
                        {
                            if (reg.TC_FECHA_RECHAZO_ANULACION.Value.Date == ParfechaAc)
                            {
                                reg.TC_ESTATUS          = Rechazado.ToString();
                                reg.TC_USUARIO_CREACION = reg.TC_USUARIO_MOD;
                                reg.TC_FECHA_CREACION   = reg.TC_FECHA_MOD != null ? reg.TC_FECHA_MOD.Value : ParfechaAc;
                            }
                        }
                    }
                }
                //else
                //{
                //    if (reg.TC_ESTATUS == EstatusAnul.ToString())
                //    {
                //        reg.TC_USUARIO_CREACION = reg.TC_USUARIO_MOD;
                //        reg.TC_FECHA_CREACION = reg.TC_FECHA_MOD.Value;
                //    }
                //}

                if (reg.TC_ESTATUS == EstausConc.ToString())
                {
                    if (reg.TC_COD_OPERACION == ConcAut.ToString())
                    {
                    }
                    else
                    {
                        comprobantes.Add(reg);
                    }
                }
                else
                {
                    comprobantes.Add(reg);
                }

                if (reg2.TC_COD_COMPROBANTE == reg.TC_COD_COMPROBANTE)
                {
                    comprobantes.Add(reg2);

                    reg2 = new ComprobanteModel();
                }
            }

            if (parms.UsuarioCapturador != null && parms.UsuarioCapturador != string.Empty)
            {
                registrocontrol = registrocontrol.Where(x => x.RC_USUARIO_CREACION.Equals(parms.UsuarioCapturador)).ToList();
                comprobantes    = comprobantes.Where(x => x.TC_USUARIO_CREACION.Equals(parms.UsuarioCapturador)).ToList();
                //comprobante.Where(x => (x.TC_USUARIO_CREACION.Equals(parms.UsuarioCapturador) || x.TC_USUARIO_MOD.Equals(parms.UsuarioCapturador))).ToList();
            }


            List <ReporteRegistroControlPartialModel> Lista = (from c in registrocontrol
                                                               select new ReporteRegistroControlPartialModel
            {
                Supervisor = (c.AspNetUsers != null ? c.AspNetUsers.LastName : ""),
                //Supervisor = GetNameSupervisor(c.RC_USUARIO_APROBADOR.ToString()),
                NombreOperacion = GetNameTipoOperacion(c.RC_COD_OPERACION.ToString(), ref ltsTipoOperacion, "No"),
                Lote = c.RC_COD_PARTIDA,
                Capturador = c.AspNetUsers1 != null ? c.AspNetUsers1.LastName : "",
                TotalRegistro = c.RC_TOTAL_REGISTRO,
                TotalDebito = c.RC_TOTAL_DEBITO,
                TotalCredito = c.RC_TOTAL_CREDITO,
                Total = c.RC_TOTAL,
                Status = GetStatusRegistroControl(c.RC_ESTATUS_LOTE.ToString(), estatusList),
                FechaCreacion = c.RC_FECHA_CREACION.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture),
                HoraCreacion = c.RC_FECHA_CREACION.ToString("HH:mm:ss"),
                AreaId = Convert.ToInt16(c.CA_ID_AREA)
            }
                                                               ).ToList();

            List <ReporteRegistroControlPartialModel> Lista2 = (from c in comprobantes
                                                                select new ReporteRegistroControlPartialModel
            {
                Supervisor = c.AspNetUsers1 != null ? c.AspNetUsers1.LastName : "",
                NombreOperacion = GetNameTipoOperacion(c.TC_COD_OPERACION, ref ltsTipoOperacion, c.TC_USUARIO_MOD),
                Lote = c.TC_COD_COMPROBANTE,
                //Capturador = c.AspNetUsers != null ? c.AspNetUsers.LastName : "",
                Capturador = GetNameSupervisor(c.TC_USUARIO_CREACION.ToString()),
                TotalRegistro = c.TC_TOTAL_REGISTRO,
                TotalDebito = c.TC_TOTAL_DEBITO,
                TotalCredito = c.TC_TOTAL_CREDITO,
                Total = c.TC_TOTAL,
                Status = GetStatusRegistroControl(c.TC_ESTATUS, estatusList),
                FechaCreacion = c.TC_FECHA_CREACION.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture),
                HoraCreacion = c.TC_FECHA_CREACION.ToString("HH:mm:ss"),
                AreaId = Convert.ToInt16(c.CA_ID_AREA)
            }).ToList();

            List <ReporteRegistroControlPartialModel> Lista3 = Lista.Union(Lista2).ToList();

            return(Lista3.OrderBy(j => j.FechaCreacion).ToList());
        }