/// <summary> /// 业务逻辑 /// </summary> /// <param name="request"></param> /// <returns></returns> public GridBaseResponsek <List <GetFinancialDataByPagingResponse> > Process(GetFinancialDataByPagingRequest request) { var result = new GridBaseResponsek <List <GetFinancialDataByPagingResponse> >(); var bllRequest = new GetFinancialDataByPagingRequest() { AccountCode = request.AccountCode, ExcelRecordId = request.ExcelRecordId, QiJianTypeId = request.QiJianTypeId, XiangMuItemId = request.XiangMuItemId, Limit = request.Limit, Page = (request.Page - 1) * request.Limit }; var financialDataItems = _financialDataBll.GetFinancialDataItemByExcelRecordId(request.ExcelRecordId); var dataItem = financialDataItems.FirstOrDefault(x => x.ItemId.ToString() == request.XiangMuItemId); bllRequest.XiangMuTypeId = dataItem.ItemTypeId; if (dataItem.ItemTypeId == (int)FinancialDataItemTypeEnum.XuNiJiTuan) { var children = financialDataItems.Where(x => x.ParentId == dataItem.ItemId); bllRequest.XiangMuItemId = string.Join(",", children.Select(x => x.ItemId).ToList()); } var totalCount = 0; var datas = _financialDataBll.GetFinancialDataByPaging(bllRequest, out totalCount); foreach (var data in datas) { data.DetailData = Math.Round(data.DetailData, 2); } result.total = totalCount; result.rows = datas; return(result); }
/// <summary> /// 反查数据 /// </summary> /// <returns></returns> public ActionResult PeggingFinancialData(GetFinancialDataByPagingRequest request) { try { var action = new PeggingFinancialDataAction(_financialDataBll); var result = action.Process(request); return(Json(result)); } catch (Exception ex) { Log.Write("反查数据出错", MessageType.Error, typeof(FinancialDataController), ex); return(Json(new SuccessModel())); } }
/// <summary> /// GetFinancialDataByPaging /// </summary> /// <param name="request"></param> /// <param name="totalCount"></param> /// <returns></returns> public List <GetFinancialDataByPagingResponse> GetFinancialDataByPaging(GetFinancialDataByPagingRequest request, out int totalCount) { var store = CurrentConnectStringContext.StoredProcedure("FinancialData_GetDetailByPaging") .Parameter("v_ExcelRecordId", request.ExcelRecordId) .Parameter("v_AccountCode", request.AccountCode) .Parameter("v_QiJianTypeId", request.QiJianTypeId) .Parameter("v_XiangMuTypeId", request.XiangMuTypeId) .Parameter("v_XiangMuItemId", request.XiangMuItemId) .Parameter("v_PageIndex", request.Page) .Parameter("v_PageSize", request.Limit) .ParameterOut("v_TotalCount", DataTypes.Int32); var result = store.QueryMany <GetFinancialDataByPagingResponse>(); totalCount = store.ParameterValue <int>("v_TotalCount"); return(result); }
/// <summary> /// GetFinancialDataByPaging /// </summary> /// <param name="request"></param> /// <param name="totalCount"></param> /// <returns></returns> public List <GetFinancialDataByPagingResponse> GetFinancialDataByPaging(GetFinancialDataByPagingRequest request, out int totalCount) { return(_financialDataDal.GetFinancialDataByPaging(request, out totalCount)); }