コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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);
        }