public OperationResult PostPointsByBranch(Boolean isGetPointsByBranch, string userID, branchParams param) { var result = new OperationResult(); CommomMethods.visitLog(2, param.bankID, userID); try { using (var db = new HeatMapEntities()) { var data = db.Pro_GetTwoBankUserCount(param.bankID, param.type, param.level, param.longitude, param.latitude, param.distance * 2).ToList().Select(x => new HeatmapPoint { lng = x.Longitude, lat = x.Latitude, userCount = x.UserCount, }); result.ReturnData = data; result.ReturnCode = 1; } } catch (Exception ex) { result.Message = ex.Message; result.ReturnCode = 0; Logger.Log.Error(ex.StackTrace); } return(result); }
/// <summary> /// 获取城市资产统计数据 /// </summary> /// <param name="isGetBankStatisticData"></param> /// <param name="bankID"></param> /// <returns></returns> public OperationResult PostBankStatisticData(Boolean isGetBankStatisticData, branchParams param) { var result = new OperationResult(); int aum11 = 0, aum12 = 0, aum13 = 0, aum14 = 0, aum15 = 0, aum16 = 0, ump21 = 0, ump22 = 0, ump23 = 0, tCount = 0; List <Pro_GetAnywhereUMPStatisticsData_Result> UmpStatisticList = new List <Pro_GetAnywhereUMPStatisticsData_Result>(); List <Pro_GetAnywhereAUMStatisticsData_Result> AumStatisticList = new List <Pro_GetAnywhereAUMStatisticsData_Result>(); try { using (var db = new HeatMapEntities()) { var data = db.Pro_GetBankStatistics(param.bankID, param.isAum, param.AUMLevel, param.UMPLlevel, param.isNoDF).ToList(); // 1.获取数据集合 var dataList = new List <statistic_2>(); tCount = (int)db.Pro_GetTwoBranchUserCount(param.bankID).FirstOrDefault().UserCount; foreach (var point in data) { //AUM统计 switch (point.AUM_level) { case 11: aum11 += (int)point.UserCount; break; case 12: aum12 += (int)point.UserCount; break; case 13: aum13 += (int)point.UserCount; break; case 14: aum14 += (int)point.UserCount; break; case 15: aum15 += (int)point.UserCount; break; case 16: aum16 += (int)point.UserCount; break; default: break; } //UMP统计 switch (point.UMP_level) { case 21: ump21 += (int)point.UserCount; break; case 22: ump22 += (int)point.UserCount; break; case 23: ump23 += (int)point.UserCount; break; default: break; } } AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result { AUM_level = 11, AUM_Name = "零资产", UserCount = aum11, Total = tCount, Percent = aum11 * 100 / (decimal)tCount }); AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result { AUM_level = 12, AUM_Name = "非零不达标基客", UserCount = aum12, Total = tCount, Percent = aum12 * 100 / (decimal)tCount }); AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result { AUM_level = 13, AUM_Name = "达标基客", UserCount = aum13, Total = tCount, Percent = aum13 * 100 / (decimal)tCount }); AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result { AUM_level = 14, AUM_Name = "金卡", UserCount = aum14, Total = tCount, Percent = aum14 * 100 / (decimal)tCount }); AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result { AUM_level = 15, AUM_Name = "金葵花", UserCount = aum15, Total = tCount, Percent = aum15 * 100 / (decimal)tCount }); AumStatisticList.Add(new Pro_GetAnywhereAUMStatisticsData_Result { AUM_level = 16, AUM_Name = "私钻", UserCount = aum16, Total = tCount, Percent = aum16 * 100 / (decimal)tCount }); UmpStatisticList.Add(new Pro_GetAnywhereUMPStatisticsData_Result { UMP_level = 21, UMP_Name = "潜力金卡", UserCount = ump21, Total = tCount, Percent = ump21 * 100 / (decimal)tCount }); UmpStatisticList.Add(new Pro_GetAnywhereUMPStatisticsData_Result { UMP_level = 22, UMP_Name = "潜力金葵花", UserCount = ump22, Total = tCount, Percent = ump22 * 100 / (decimal)tCount }); UmpStatisticList.Add(new Pro_GetAnywhereUMPStatisticsData_Result { UMP_level = 23, UMP_Name = "潜力私钻", UserCount = ump23, Total = tCount, Percent = ump23 * 100 / (decimal)tCount }); // 2.设置单元格抬头 // key:实体对象属性名称,可通过反射获取值 // value:Excel列的名称 Dictionary <string, string> cellheader = new Dictionary <string, string> { { "name", "类型" }, { "count", "数量" }, { "percent", "百分比" }, }; foreach (var item in AumStatisticList) { dataList.Add(new statistic_2 { name = item.AUM_Name, count = item.UserCount.ToString(), percent = Math.Round((decimal)item.Percent, 2).ToString() + "%" }); } var url = ExcelHelper.EntityListToExcel2003(cellheader, dataList, "统计"); result.ReturnData = new { AumStatisticList = AumStatisticList, UmpStatisticList = UmpStatisticList, url = url }; result.ReturnCode = 1; } } catch (Exception ex) { result.Message = ex.Message; result.ReturnCode = 0; Logger.Log.Error(ex); } return(result); }
/// <summary> /// 获取分行的客户渗透率 /// </summary> /// <param name="isGetPenetranceByBranch"></param> /// <param name="userID"></param> /// <param name="param"></param> /// <returns></returns> public OperationResult PostPenetranceByBranch(Boolean isGetPenetranceByBranch, string userID, branchParams param) { var result = new OperationResult(); CommomMethods.visitLog(2, param.bankID, userID); try { using (var db = new HeatMapEntities()) { var cmbUserCount = db.Pro_GetTwoBankData(param.bankID, param.level, param.type, param.isAum, param.AUMLevel, param.UMPLlevel, param.isNoDF, param.isCheck, param.longitude, param.latitude, param.distance * 2).Sum(x => x.UserCount); var _3rdPartyUserCount = db.Pro_Get3rdDataByCityID(0, param.level, param.type, param.longitude, param.latitude, param.distance * 2).Sum(x => x.UserCount); result.ReturnData = new { cmbUserCount = cmbUserCount, _3rdPartyUserCount = _3rdPartyUserCount }; result.ReturnCode = 1; } } catch (Exception ex) { result.Message = ex.Message; result.ReturnCode = 0; Logger.Log.Error(ex.StackTrace); } return(result); }
/// <summary> /// 城市级别获取热力图数据 /// </summary> /// <param name="isGetPointsByBranchWithClientFilter"></param> /// <param name="userID"></param> /// <param name="param"></param> /// <returns></returns> public OperationResult PostPointsByBranchWithClientFilter(Boolean isGetPointsByBranchWithClientFilter, string userID, branchParams param) { var result = new OperationResult(); CommomMethods.visitLog(2, param.bankID, userID); try { using (var db = new HeatMapEntities()) { var data = db.Pro_GetTwoBankData(param.bankID, param.level, param.type, param.isAum, param.AUMLevel, param.UMPLlevel, param.isNoDF, param.isCheck, param.longitude, param.latitude, param.distance * 2).ToList().Select(x => new HeatmapPoint { lng = x.Longitude, lat = x.Latitude, userCount = x.UserCount, aumCount = x.AUMMoney, deposit = x.DepositMoney }); var _3rdPartyData = db.Pro_Get3rdDataByCityID(0, param.level, param.type, param.longitude, param.latitude, param.distance * 2).ToList().Select(x => new { lng = x.Longitude, lat = x.Latitude, thirdParty = x.UserCount, }); result.ReturnData = new { CMBData = data, _3rdPartyData = _3rdPartyData }; result.ReturnCode = 1; } } catch (Exception ex) { result.Message = ex.Message; result.ReturnCode = 0; Logger.Log.Error(ex.StackTrace); } return(result); }