public ProductCoursePageResponse GetProductCoursePageInfo(ProductCoursePageRequest request)
        {
            var response = new ProductCoursePageResponse();

            response.DataList = ProductCourseRepository.GetProductCoursePageInfo(request, out int total);
            response.Total    = total;
            return(response);
        }
Example #2
0
 public BaseResponse GetProductCoursePageInfo(ProductCoursePageRequest request)
 {
     try
     {
         ProductCoursePageResponse response = ProductCourseRepository.GetProductCoursePageInfo(request);
         return(ApiSuccessResult(response));
     }
     catch (Exception ex)
     {
         _Log4Net.Error("GetEXTCourseByPage--异常信息", ex);
         return(ApiErrorResult(ex.Message));
     }
 }
Example #3
0
        public IActionResult ExportExcle(ProductCoursePageRequest request)
        {
            try
            {
                ProductCoursePageResponse response = ProductCourseRepository.GetProductCoursePageInfo(request);
                foreach (var item in response.DataList)
                {
                    if (item.CourseStatus == "0")
                    {
                        item.CourseStatus = "无效";
                    }
                    else if (item.CourseStatus == "1")
                    {
                        item.CourseStatus = "有效";
                    }
                    else if (item.CourseStatus == "-1")
                    {
                        item.CourseStatus = "已删除";
                    }
                    else
                    {
                        item.CourseStatus = "未知";
                    }
                    if (item.ExtractStatus == "1000")
                    {
                        item.ExtractStatus = "未提取";
                    }
                    else if (item.ExtractStatus == "2000")
                    {
                        item.ExtractStatus = "已提取";
                    }
                    else if (item.ExtractStatus == "3000")
                    {
                        item.ExtractStatus = "已关联";
                    }
                    else
                    {
                        item.ExtractStatus = "未知";
                    }
                }

                var stream = ExcelHelper.SaveExcel(response.DataList);
                return(File(stream, "application/vnd.ms-excel", "课程信息.xlsx"));
            }
            catch (Exception ex)
            {
                _Log4Net.Error("ExportExcle--异常信息", ex);
                return(null);
            }
        }
        public List <ProductCoursePageInfo> GetProductCoursePageInfo(ProductCoursePageRequest request, out int total)
        {
            StringBuilder _query = new StringBuilder();

            _query.Append(@"select c.SysDictValue PocSource,a.TeachLevelOneOrgName LevelOneOrgName,a.CourseName,b.ProductTypeName,a.CourseStatus,a.ExtractStatus,
                            a.FeeUnitPrice,a.FeeUnitPriceName,a.TotalClassHour,a.CourseYear,a.GradeName,a.CategoryName,a.SubjectName,a.TermName,a.ClassTypeName,
                            count(d.Id) AuthorizeNum,a.ProductCreatedDate as CreatedDate,a.ProductUpdateDate as UpdateDate from T_EXT_Course a
                            left join T_EXT_ItemType b on a.ProductTypeTwoID  = b.ProductTypeID
                            left join T_EXT_CourseRange d on d.CourseID = a.CourseID
                            left join T_SYS_Dictionary c on c.SysDictKey = cast(a.POCSource as nvarchar)");

            var _groupby = @" group by a.Id,c.SysDictValue,a.TeachLevelOneOrgName,a.CourseName,b.ProductTypeName,a.CourseStatus,a.ExtractStatus,
                            a.FeeUnitPrice,a.FeeUnitPriceName,a.TotalClassHour,a.CourseYear,a.GradeName,a.CategoryName,a.SubjectName,
                            a.TermName,a.ClassTypeName,a.ProductCreatedDate,a.ProductUpdateDate";

            var _parameters = new DynamicParameters();
            var _where      = new StringBuilder(" where 1 = 1");

            if (request.PocSource?.Count > 0)
            {
                _where.Append(" and a.POCSource in @Pocsource");
                _parameters.Add("@Pocsource", request.PocSource.ToArray());
            }
            if (request.LevelOneOrgID?.Count > 0)
            {
                _where.Append(" and a.TeachLevelOneOrgID in @OneOrgId");
                _parameters.Add("@OneOrgId", request.LevelOneOrgID.ToArray());
            }
            if (request.CourseStatus != null && request.CourseStatus != CourseStatusEnum.All)
            {
                _where.Append(" and a.CourseStatus = @CourseStatus");
                _parameters.Add("@CourseStatus", (int)request.CourseStatus);
            }
            if (request.ExtractStatus != null)
            {
                _where.Append(" and a.ExtractStatus = @ExtractStatus");
                _parameters.Add("@ExtractStatus", (int)request.ExtractStatus);
            }
            if (!string.IsNullOrWhiteSpace(request.CourseName))
            {
                var signs = new List <string> {
                    "'", "[", "%", "_"
                };
                _where.Append(" and a.CourseName like @CourseName");
                _parameters.Add("@CourseName", $"%{request.CourseName.ReplaceBySigns(signs)}%");
            }

            var countsql = $@"with tab as(
                             select count(1) num from T_EXT_Course a
                             left join T_EXT_ItemType b on a.ProductTypeTwoID  = b.ProductTypeID
                             left join T_EXT_CourseRange d on d.CourseID = a.CourseID
                             left join T_SYS_Dictionary c on c.SysDictKey = cast(a.POCSource as nvarchar)
                             {_where.ToString()}
                             {_groupby}
                             )
                             select count(1) from tab";

            total = GetInfos <int>(EumDBName.POC, countsql, _parameters).First();

            if (request.IsExport)
            {
                return(GetInfos <ProductCoursePageInfo>(EumDBName.POC, _query.ToString() + _where.ToString() + _groupby, _parameters).ToList());
            }

            return(GetPageInfos <ProductCoursePageInfo>(EumDBName.POC, _query.ToString() + _where.ToString() + _groupby, "a.Id ASC", request.PageIndex, request.PageSize, _parameters).ToList());
        }