//危险点统计
        private HiddenRiskPoint GetHiddenRiskPoint(RouteLeader requset)
        {
            Statistics      model  = new Statistics();
            HiddenRiskPoint result = new HiddenRiskPoint();

            model.year     = requset.year;
            model.adcd     = requset.adcd.Substring(0, 4);
            model.adcdtype = 5;
            var point = statisAnalysis.Statics(model);

            if (point != null)
            {
                var list = point[0].DisasterPoint.FindAll(x => x.typeid == 1).OrderBy(x => x.nums);
                foreach (var item in list)
                {
                    if (item.typename == "危房")
                    {
                        result.dangerousCount = item.nums;
                    }
                    if (item.typename == "山洪灾害危险区")
                    {
                        result.torrentialFloodCount = item.nums;
                    }
                    if (item.typename == "地质灾害点")
                    {
                        result.geologyCount = item.nums;
                    }
                    if (item.typename == "低洼易涝区")
                    {
                        result.lowLyingCount = item.nums;
                    }
                    if (item.typename == "屋顶山塘")
                    {
                        result.poolCount = item.nums;
                    }
                    if (item.typename == "堤防险段")
                    {
                        result.dikeCount = item.nums;
                    }
                    if (item.typename == "海塘险段")
                    {
                        result.seawallCount = item.nums;
                    }
                    if (item.typename == "其它")
                    {
                        result.otherCount = item.nums;
                    }
                }
                result.pointPersonCount = point[0].TransferPersonNums;
                return(result);
            }
            return(null);
        }
        //行政区划
        private AdministrativeDivision GetAdministrativeDivision(RouteLeader requset)
        {
            SPersonLiable model = new SPersonLiable();

            model.adcd = requset.adcd;
            model.year = requset.year;
            model.grid = 0;
            var admodel = supervise.PersonLiable(model);

            return(new AdministrativeDivision()
            {
                countryCount = admodel.CountyAll, townCount = admodel.TownAll, villageCount = admodel.VillageAll
            });
        }
        //基层防汛责任人
        private PersionLiableCount GetPersionLiable(RouteLeader requset)
        {
            StatisticsByPost model = new StatisticsByPost();

            model.year = requset.year;
            model.adcd = requset.adcd;
            var spmodel = statisAnalysis.StatisticsByPost(model);

            if (spmodel != null)
            {
                return(new PersionLiableCount()
                {
                    countryCount = spmodel[0].CountyPLNums, townCount = spmodel[0].TownPLNums, villageCount = spmodel[0].VillagePLNums
                });
            }
            return(null);
        }
        //领导页面的数据获取
        public LeaderSumModel GetLeaderModel(RouteLeader requset)
        {
            LeaderSumModel result = new LeaderSumModel();

            try
            {
                //行政区划
                Task <AdministrativeDivision> adtask = Task.Factory.StartNew <AdministrativeDivision>(() => { return(GetAdministrativeDivision(requset)); });
                //基层防汛责任人
                Task <PersionLiableCount> spTask = Task.Factory.StartNew <PersionLiableCount>(() => { return(GetPersionLiable(requset)); });
                //危险点统计
                Task <HiddenRiskPoint> pointTask = Task.Factory.StartNew <HiddenRiskPoint>(() => { return(GetHiddenRiskPoint(requset)); });
                //其他统计
                Task <LeaderSumModel> otherTask = Task.Factory.StartNew <LeaderSumModel>(() => { return(GetOtherCount()); });
                //获取市信息、按照市级统计责任人数、近30天注册人数
                Task <MessageRegistrationInfo> messageTask = Task.Factory.StartNew <MessageRegistrationInfo>(() => { return(GetMessageRegistrationInfo()); });
                Task.WaitAll(adtask, spTask, pointTask, otherTask);
                result = otherTask.Result;
                result.administrativeDivision = adtask.Result;
                result.hiddenRiskPoint        = pointTask.Result;
                result.persionLiableCount     = spTask.Result;
                result.messageRegistration    = messageTask.Result;
            }
            catch (Exception ex)
            {
                result.code    = 500;
                result.success = false;
                result.msg     = ex.ToString();
                return(result);
            }
            if (result != null)
            {
                result.code    = 200;
                result.success = true;
                result.msg     = "返回数据成功";
            }
            return(result);
        }
Beispiel #5
0
 public LeaderSumModel Get(RouteLeader requset)
 {
     return(leader.GetLeaderModel(requset));
 }