Пример #1
0
        public async Task <AbpFileUploadResultModel> ExportExcle()
        {
            var query = from m in _supplyRepository.GetAll()
                        //join u in _userRepository.GetAll() on m.CreatorUserId equals u.Id
                        select new SupplyListDto()
            {
                Code         = m.Code,
                Id           = m.Id,
                CreationTime = m.CreationTime,
                ExpiryDate   = m.ExpiryDate,
                Money        = m.Money,
                Name         = m.Name,
                ProductDate  = m.ProductDate,
                Status       = m.Status,
                Type         = m.Type,
                Unit         = m.Unit,
                UserId       = m.UserId,
                Version      = m.Version,
                //CreationUserName = u.Name,
                LastModificationTime = m.LastModificationTime.Value,
                PutInDate            = m.PutInDate,
            };


            var dt = new DataTable("用品总台账");

            dt.Columns.Add("编号", typeof(String));
            dt.Columns.Add("名称", typeof(String));
            dt.Columns.Add("品牌型号", typeof(String));
            dt.Columns.Add("类别", typeof(String));
            dt.Columns.Add("单价(元)", typeof(decimal));
            dt.Columns.Add("领用日期", typeof(DateTime));
            dt.Columns.Add("入库日期", typeof(DateTime));
            dt.Columns.Add("检定到期日期", typeof(DateTime));
            dt.Columns.Add("状态", typeof(String));
            foreach (var item in query)
            {
                dt.Rows.Add(new object[] { item.Code, item.Name, item.Version, ((SupplyType)item.Type).ToString(),
                                           item.Money, item.ProductDate, item.PutInDate, item.ExpiryDate, ((SupplyStatus)item.Status).ToString() });
            }
            var    abpExcleManager = AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <AbpExcleManager>();
            string filePath        = hostingEnv.WebRootPath + $@"/Files/makeExcel/supply/{DateTime.Now.Year}/{DateTime.Now.Month}/";

            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            var    userName     = (await UserManager.GetUserByIdAsync(AbpSession.UserId.Value)).Name;
            var    fileName     = $"用品总台账_{DateTime.Now.ToString("yyyyMMdd")}";
            var    fileExtend   = ".xls";
            string fileFullName = filePath + fileName + fileExtend;

            abpExcleManager.WriteExcel(dt, fileFullName);
            var entity = new AbpFile()
            {
                Id         = Guid.NewGuid(),
                FileName   = fileName + fileExtend,
                FileExtend = fileExtend,
                FileSize   = 0,
                FilePath   = fileFullName,
            };

            _abpFilerepository.Insert(entity);
            var ret = new AbpFileUploadResultModel()
            {
                Id         = entity.Id,
                FileName   = entity.FileName + entity.FileExtend,
                Size       = 0,
                FileExtend = entity.FileExtend,
            };

            return(ret);
        }
Пример #2
0
        public async Task <AbpFileUploadResultModel> ExportExcle()
        {
            var query = from m in _userSupplyRepository.GetAll()
                        join b in UserManager.Users on m.UserId equals b.Id
                        join u in _supplyBaseRepository.GetAll() on m.SupplyId equals u.Id
                        join ownerUser in UserManager.Users on u.UserId equals "u_" + ownerUser.Id into g
                        from ou in g.DefaultIfEmpty()
                        where b.Id == AbpSession.UserId.Value && m.Status != (int)UserSupplyStatus.已退还 && m.Status != (int)UserSupplyStatus.已报废
                        select new UserSupplyListDto()
            {
                Id                 = m.Id,
                Unit               = u.Unit,
                SupplyId           = u.Id,
                SupplyType         = u.Type,
                Supply_Code        = u.Code,
                Supply_Money       = u.Money,
                Supply_Name        = u.Name,
                Supply_Version     = u.Version,
                Status             = m.Status,
                StartTime          = m.StartTime,
                EndTime            = m.EndTime,
                Supply_UserId      = u.UserId,
                CreationTime       = m.CreationTime,
                SupplyTypeTitle    = ((SupplyType)u.Type).ToString(),
                StatusTitle        = ((UserSupplyStatus)m.Status).ToString(),
                Supply_UserId_Name = ou == null ? "" : ou.Name,
            };
            var dt = new DataTable("用品清单");

            dt.Columns.Add("编号", typeof(String));
            dt.Columns.Add("名称", typeof(String));
            dt.Columns.Add("品牌型号", typeof(String));
            dt.Columns.Add("类别", typeof(String));
            dt.Columns.Add("单价(元)", typeof(decimal));
            dt.Columns.Add("用户", typeof(String));
            dt.Columns.Add("领用日期", typeof(DateTime));
            dt.Columns.Add("检定到期日期", typeof(DateTime));
            dt.Columns.Add("状态", typeof(String));
            foreach (var item in query)
            {
                dt.Rows.Add(new object[] { item.Supply_Code, item.Supply_Name, item.Supply_Version, item.SupplyTypeTitle,
                                           item.Supply_Money, item.Supply_UserId_Name, item.StartTime, item.EndTime, item.StatusTitle });
            }
            var    abpExcleManager = AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <AbpExcleManager>();
            string filePath        = hostingEnv.WebRootPath + $@"/Files/makeExcel/userSupply/{DateTime.Now.Year}/{DateTime.Now.Month}/";

            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            var    userName     = (await UserManager.GetUserByIdAsync(AbpSession.UserId.Value)).Name;
            var    fileName     = $"{userName}-个人用品清单";
            var    fileExtend   = ".xls";
            string fileFullName = filePath + fileName + fileExtend;

            abpExcleManager.WriteExcel(dt, fileFullName);
            var entity = new AbpFile()
            {
                Id         = Guid.NewGuid(),
                FileName   = fileName + fileExtend,
                FileExtend = fileExtend,
                FileSize   = 0,
                FilePath   = fileFullName,
            };

            _abpFilerepository.Insert(entity);
            var ret = new AbpFileUploadResultModel()
            {
                Id         = entity.Id,
                FileName   = entity.FileName + entity.FileExtend,
                Size       = 0,
                FileExtend = entity.FileExtend,
            };

            return(ret);
        }