Beispiel #1
0
        public async Task <IHttpActionResult> PostReportDatHang(NvPhieuDatHangVm.ParameterDatHang para)
        {
            var result = new TransferObj <NvPhieuDatHangVm.DatHangReport>();

            try
            {
                var data     = new List <NvPhieuDatHangVm.DatHangExpImpModel>();
                var reporter = new NvPhieuDatHangVm.DatHangReport();
                reporter.UnitCode = _service.GetCurrentUnitCode();
                reporter.Year     = para.ToDate.Year;
                var period = _service.UnitOfWork.Repository <MdPeriod>().DbSet.Where(x => x.ToDate == para.ToDate).FirstOrDefault();
                if (period != null)
                {
                    reporter.Period = period.Period;
                }
                var unitCode = _service.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                data = _service.ReportDatHangTongHop(para);
                reporter.DetailData.AddRange(data);
                result.Data    = reporter;
                result.Status  = true;
                result.Message = "Xuất báo cáo thành công";
                return(Ok(result));
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }
        }
Beispiel #2
0
        public async Task <IHttpActionResult> ReportDoanhSoSn(ParameterDoanhSoSn para)
        {
            var result = new TransferObj <ReportDSSN>();

            try
            {
                var reporter = new ReportDSSN();
                var data     = new List <CustomDoanhSoSnReport>();
                reporter.UnitCode = _servicePeriod.GetCurrentUnitCode();
                var unitCode = _servicePeriod.GetCurrentUnitCode();

                reporter.FromDate    = para.FromDate;
                reporter.ToDate      = para.ToDate;
                reporter.CreateDate  = DateTime.Now;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }

                //thêm

                data          = _service.ReportDoanhSoSn(para);
                reporter.Data = data.ToList();
                reporter.Data.ForEach(x => x.MapCustomerName(_service.UnitOfWork));
                //reporter.MapUnitUserName(_service.UnitOfWork);
                //------

                // reporter.Data = _service.ReportDoanhSoSn(para);
                result.Data    = reporter;
                result.Status  = true;
                result.Message = "Xuất báo cáo thành công";
                return(Ok(result));
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }
        }
Beispiel #3
0
        public async Task <IHttpActionResult> PostReportGDQTongHop(ParameterCashier para)
        {
            NvGiaoDichQuayVm.ReportGDQTongHopNew reporter = new NvGiaoDichQuayVm.ReportGDQTongHopNew();
            try
            {
                var unitCode = _service.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.ToDate      = para.ToDate;
                reporter.FromDate    = para.FromDate;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.Username;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                switch (para.LoaiGiaoDich)
                {
                case TypeGiaoDich.NHAPBANLETRALAI:
                    reporter.DataDetails.AddRange(_service.ReportNhapBLeTraLai(para));
                    break;

                default:
                    reporter.DataDetails.AddRange(_service.ReportGiaoDichQuay(para));
                    break;
                }
            }
            catch (Exception ex)
            {
            }
            return(Ok(reporter));
        }
Beispiel #4
0
        public async Task <IHttpActionResult> PostPrintTranferCashieer(ParameterCashier para)
        {
            NvGiaoDichQuayVm.ReportGDQ reporter = new NvGiaoDichQuayVm.ReportGDQ();
            List <NvGiaoDichQuayVm.ReportGDQDetailLevel2> result = new List <NvGiaoDichQuayVm.ReportGDQDetailLevel2>();

            try
            {
                //for (int i = 0; i < nv.Count();i++ )
                //{
                var unitCode = _service.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.ToDate      = para.ToDate;
                reporter.FromDate    = para.FromDate;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                reporter.DataDetails.AddRange(_service.CreatePrintTranferCashieer(para.FromDate, para.ToDate, para.UnitCode, para.SellingMachineCodes, para.CashieerCodes));
                //}
            }
            catch (Exception ex)
            {
            }
            return(Ok(reporter));
        }
Beispiel #5
0
        public async Task <IHttpActionResult> ReportTheoNCCByMerChandise(ParameterInventory para)
        {
            var result = new TransferObj <InventoryReport>();

            try
            {
                var reporter = new InventoryReport();
                var data     = new List <InventoryExpImp>();
                reporter.UnitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.Year     = para.ToDate.Year;
                var period = _service.UnitOfWork.Repository <MdPeriod>().DbSet.Where(x => x.ToDate == para.ToDate).FirstOrDefault();
                if (period != null)
                {
                    reporter.Period = period.Period;
                }
                var unitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                //switch (para.GroupBy)
                //{
                //    case TypeGroupInventory.WAREHOUSE:
                //        data = _service.CreateReportInventoryByWareHouse(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        reporter.DetailData = data.ToList();
                //        reporter.DetailData.ForEach(x => x.MapWareHouseName(_service.UnitOfWork));
                //        reporter.MapUnitUserName(_service.UnitOfWork);
                //        reporter.GroupType = "Kho hàng";
                //        break;
                //    case TypeGroupInventory.TYPE:
                //        data = _service.CreateReportInventoryByType(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        reporter.DetailData = data.ToList();
                //        reporter.DetailData.ForEach(x => x.MapTypeName(_service.UnitOfWork));
                //        reporter.MapUnitUserName(_service.UnitOfWork);
                //        reporter.GroupType = "Loại hàng hóa";
                //        break;
                //    case TypeGroupInventory.GROUP:
                //        data = _service.CreateReportInventoryByGroup(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        reporter.DetailData = data.ToList();
                //        reporter.DetailData.ForEach(x => x.MapGroupName(_service.UnitOfWork));
                //        reporter.MapUnitUserName(_service.UnitOfWork);
                //        reporter.GroupType = "Nhóm hàng hóa";
                //        break;
                //    case TypeGroupInventory.MERCHANDISE:
                //        data = _service.CreateReportInventoryByMerchandise(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        reporter.DetailData = data.ToList();
                //        reporter.DetailData.ForEach(x => x.MapMerchandiseName(_service.UnitOfWork));
                //        reporter.MapUnitUserName(_service.UnitOfWork);
                //        reporter.GroupType = "Hàng hóa";
                //        break;

                //    default:
                //        //data = _service.CreateReportInventoryByDay(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        break;
                //}
                //result.Data = reporter;
                result.Status  = true;
                result.Message = "Xuất báo cáo thành công";
                return(Ok(result));
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }
        }
Beispiel #6
0
        public async Task <IHttpActionResult> PostReportTongHop(ParameterKiemKe para)
        {
            NvKiemKeVm.ReportTongHop       reporter = new NvKiemKeVm.ReportTongHop();
            List <NvKiemKeVm.ObjectReport> result   = new List <NvKiemKeVm.ObjectReport>();

            try
            {
                var unitCode = _serviceKK.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.ToDate      = para.ToDate;
                reporter.FromDate    = para.FromDate;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                switch (para.GroupBy)
                {
                case TypeGroupKiemKe.WAREHOUSE:
                    reporter.NameGroupBy = "Kho hàng";
                    break;

                case TypeGroupKiemKe.TYPE:
                    reporter.NameGroupBy = "Loại vật tư";
                    break;

                case TypeGroupKiemKe.GROUP:
                    reporter.NameGroupBy = "Nhóm vật tư";
                    break;

                case TypeGroupKiemKe.MERCHANDISE:
                    reporter.NameGroupBy = "Vật tư";
                    break;

                case TypeGroupKiemKe.NHACUNGCAP:
                    reporter.NameGroupBy = "Nhà cung cấp";
                    break;

                case TypeGroupKiemKe.KEHANG:
                    reporter.NameGroupBy = "Kệ hàng";
                    break;

                default:
                    reporter.NameGroupBy = "Vật tư";
                    break;
                }
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _serviceKK.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                reporter.DataDetails.AddRange(_serviceKK.ReportKiemKe(para));
            }
            catch (Exception ex)
            {
            }
            return(Ok(reporter));
        }
Beispiel #7
0
        public async Task <IHttpActionResult> ReportLanDauKh(ParameterLanDauKh para)
        {
            ReportLanDauKh reporter = new ReportLanDauKh();

            try
            {
                var unitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.FromDate    = para.FromDate;
                reporter.ToDate      = para.ToDate;
                reporter.CreateDate  = DateTime.Now;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.Username;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                reporter.DataDetails.AddRange(_service.ReportLanDauKh(para));
            }
            catch (Exception ex)
            {
            }
            return(Ok(reporter));



            //var result = new TransferObj<ReportLanDauKh>();
            //try
            //{
            //    var reporter = new ReportLanDauKh();
            //    //var data = new List<CustomLanDauKhReport>();
            //    reporter.UnitCode = _servicePeriod.GetCurrentUnitCode();
            //    var unitCode = _servicePeriod.GetCurrentUnitCode();

            //    reporter.FromDate = para.FromDate;
            //    reporter.ToDate = para.ToDate;
            //    reporter.CreateDate = DateTime.Now;
            //    reporter.TenDonVi = CurrentSetting.GetUnitName(unitCode);
            //    reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
            //    //GetNhanVien
            //    if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
            //    {
            //        var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
            //        var name = currentUser.Identity.Name;
            //        var nhanVien = _service.UnitOfWork.Repository<AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
            //        if (nhanVien != null)
            //        {
            //            reporter.Username = nhanVien.TenNhanVien;
            //        }
            //        else
            //        {
            //            reporter.Username = "******";
            //        }
            //    }
            //    reporter.Data = _service.ReportLanDauKh(para);
            //    result.Data = reporter;
            //    result.Status = true;
            //    result.Message = "Xuất báo cáo thành công";
            //    return Ok(result);
            //}
            //catch (Exception e)
            //{
            //    return InternalServerError();
            //}
        }
Beispiel #8
0
        public async Task <IHttpActionResult> PostReportInventoryTongHop(ParameterInventory para)
        {
            var result = new TransferObj <InventoryReport>();

            try
            {
                var data     = new List <InventoryExpImpLevel2>();
                var reporter = new InventoryReport();
                reporter.UnitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.Year     = para.ToDate.Year;
                var period = _service.UnitOfWork.Repository <MdPeriod>().DbSet.Where(x => x.ToDate == para.ToDate).FirstOrDefault();
                if (period != null)
                {
                    reporter.Period = period.Period;
                }
                var unitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                var tableName = ProcedureCollection.GetTableName(period.Year, period.Period);
                data = _service.ReportTonTongHop(para);
                switch (para.GroupBy)
                {
                case TypeGroupInventory.MADONVI:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Mã đơn vị";
                    break;

                case TypeGroupInventory.WAREHOUSE:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Kho hàng";
                    break;

                case TypeGroupInventory.TYPE:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Loại hàng hóa";
                    break;

                case TypeGroupInventory.GROUP:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Nhóm hàng hóa";
                    break;

                case TypeGroupInventory.NHACUNGCAP:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Nhà cung cấp";
                    break;

                default:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Hàng hóa";
                    break;
                }


                result.Data    = reporter;
                result.Status  = true;
                result.Message = "Xuất báo cáo thành công";
                return(Ok(result));
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }
        }
Beispiel #9
0
        public async Task <IHttpActionResult> ReportInventoryByDay(ParameterInventory para)
        {
            var result = new TransferObj <InventoryReport>();

            try
            {
                var reporter = new InventoryReport();
                var data     = new List <InventoryExpImpLevel2>();
                reporter.UnitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.Year     = para.ToDate.Year;
                var period = _service.UnitOfWork.Repository <MdPeriod>().DbSet.Where(x => x.ToDate == para.ToDate).FirstOrDefault();
                if (period != null)
                {
                    reporter.Period = period.Period;
                }
                var unitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                switch (para.GroupBy)
                {
                case TypeGroupInventory.MADONVI:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MADONVI.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    //data = _service.CreateReportInventoryByWareHouse( para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Đơn vị";
                    break;

                case TypeGroupInventory.WAREHOUSE:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MAKHO.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    //data = _service.CreateReportInventoryByWareHouse( para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Kho hàng";
                    break;

                case TypeGroupInventory.TYPE:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MALOAIVATTU.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Loại hàng hóa";
                    break;

                case TypeGroupInventory.GROUP:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MANHOMVATTU.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Nhóm hàng hóa";
                    break;

                case TypeGroupInventory.MERCHANDISE:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MAVATTU.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    //data = _service.CreateReportInventoryByMerchandise(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Hàng hóa";
                    break;

                case TypeGroupInventory.NHACUNGCAP:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MAKHACHHANG.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    //data = _service.CreateReportInventoryByCustomer(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Nhà cung cấp";
                    break;

                default:
                    //data = _service.CreateReportInventoryByDay(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                    break;
                }
                result.Data    = reporter;
                result.Status  = true;
                result.Message = "Xuất báo cáo thành công";
                return(Ok(result));
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }
        }