public DynamicGridDataModel Process(string companyId) { var result = new DynamicGridDataModel() { total = 10000, rows = new List <Dictionary <string, string> >() }; if (string.IsNullOrEmpty(companyId)) { return(result); } var idArr = companyId.Split('_'); var id = Convert.ToInt32(idArr[1]); var allRecords = _companyBll.GetCompanyconnectrecordByCompanyId(id); if (allRecords == null) { return(result); } foreach (var record in allRecords) { var dic = new Dictionary <string, string>(); dic.Add("CompanyConnectRecordId", record.CompanyConnectRecordId.ToString()); dic.Add("PhoneConnectDate", record.PhoneConnectDate.GetFormatStr()); dic.Add("CompanyState", record.CompanyState.ToString()); dic.Add("IsValidateAddress", record.IsValidateAddress.ToString()); dic.Add("ConfirmAddress", record.ConfirmAddress?.ToString()); dic.Add("GoHomePerson", record.GoHomePerson?.ToString()); dic.Add("GoHomeTime", record.GoHomeTime.GetFormatStr()); dic.Add("PhoneConnectState", record.PhoneConnectState?.ToString()); dic.Add("CooperationIntention", record.CooperationIntention.ToString()); result.rows.Add(dic); } return(result); }
/// <summary> /// 获取grid的数据 /// </summary> /// <param name="excelId"></param> /// <param name="accountItemIds">科目</param> /// <param name="financialDataItemIds">项目</param> /// <param name="qiJianTypeId">期间类型</param> /// <param name="onlyStatisticChildren">是否只统计下级项目</param> /// <returns></returns> public DynamicGridDataModel GetGridData(int excelId, string accountItemIds, string financialDataItemIds, int qiJianTypeId, int onlyStatisticChildren, int xiangMuTreeTypeId, int statisticAccountChildren) { var gridData = new DynamicGridDataModel() { rows = new List <Dictionary <string, string> >() }; var shouRuDatas = new List <Dictionary <string, string> >(); var zhiChuDatas = new List <Dictionary <string, string> >(); var datas = _financialDataBll.GetFinancialDataByFilter(new FinancialDataModel() { ExcelRecordId = excelId }); datas = datas.Where(x => x.QiJianTypeId == qiJianTypeId).ToList(); var accountItems = _financialDataBll.GetAccountByExcelRecordId(excelId); var financialDataItems = _financialDataBll.GetFinancialDataItemByExcelRecordId(excelId, xiangMuTreeTypeId); var accountItemIdList = accountItemIds.Split(',').OrderBy(x => x).ToList(); if (statisticAccountChildren == 1) { accountItemIdList = GetAccountWidthChildren(accountItemIdList, accountItems); } if (statisticAccountChildren == 1) { } var financialDataItemIdList = GetFinancialDataItemIdList(financialDataItemIds, onlyStatisticChildren, financialDataItems); gridData.total = accountItemIdList.Count; foreach (var accountItemId in accountItemIdList) { var dataDic = new Dictionary <string, string>(); var accountItem = accountItems.First(x => x.AccountCode == accountItemId); var dataInAccountItem = datas.Where(x => x.AccountCode == accountItemId).ToList(); dataDic.Add("AccountCode", accountItem.AccountCode); dataDic.Add("AccountName", accountItem.AccountName); foreach (var financialDataItemId in financialDataItemIdList) { var financialDataItem = financialDataItems.FirstOrDefault(x => x.ItemId.ToString() == financialDataItemId); var financialData = GetFinancialDataForAccountItem(financialDataItem, financialDataItems, dataInAccountItem); dataDic.Add(financialDataItem.ItemId.ToString(), Math.Round(financialData, 2, MidpointRounding.AwayFromZero).ToString()); } if (accountItem.AccountTypeId == 1) { shouRuDatas.Add(dataDic); } else { zhiChuDatas.Add(dataDic); } } GetSumResultWithAccountItemType(gridData.rows, shouRuDatas, zhiChuDatas, accountItems); return(gridData); }