Example #1
0
        public IActionResult GetAllArea()
        {
            var            area = _service.GetAllArea();
            List <AreaDto> Dto  = new List <AreaDto>();

            foreach (var item in area)
            {
                AreaDto Dtos = _mapper.Map <AreaDto>(item);
                Dto.Add(Dtos);
            }
            return(Ok(Dto));
        }
Example #2
0
        public ActionResult LayoutMap(int idlayout)
        {
            if (idlayout <= 0)
            {
                return(HttpNotFound());
            }

            List <SeatDto> objsseats = _seatService.GetAllSeat();
            List <AreaDto> objsareas = _areaService.GetAllArea().Where(a => a.TMLayoutId == idlayout).ToList();

            List <AreaViewModel> areaViewModel = new List <AreaViewModel>();

            List <SeatViewModel> localSeatsView = new List <SeatViewModel>();
            List <SeatDto>       localSeats;

            foreach (var item in objsareas)
            {
                localSeats = objsseats.Where(s => s.AreaId == item.Id).ToList();

                foreach (var itemchild in localSeats)
                {
                    localSeatsView.Add(new SeatViewModel
                    {
                        Number = itemchild.Number,
                        Row    = itemchild.Row,
                    });
                }

                areaViewModel.Add(new AreaViewModel
                {
                    CoordX      = item.CoordX,
                    CoordY      = item.CoordY,
                    CountSeatsX = localSeats.Max(s => s.Number),
                    CountSeatsY = localSeats.Max(s => s.Row),
                    Description = item.Description,
                    Seats       = localSeatsView,
                });
            }

            TMLayoutViewModel layoutViewModel = new TMLayoutViewModel
            {
                Layout = _tmlayoutService.GetTMLayout(idlayout),
                Areas  = areaViewModel,
            };

            return(PartialView("_LayoutMap", layoutViewModel));
        }
Example #3
0
        public void RemoveLayout(int layoutId)
        {
            // for transaction
            List <AreaDto> areas = _areaService.GetAllArea()
                                   .Where(a => a.TMLayoutId == layoutId).ToList();
            List <SeatDto> seats = _seatService.GetAllSeat()
                                   .Where(s => areas.Any(a => a.Id == s.AreaId)).ToList();

            seats.ForEach(s => _seatService.RemoveSeat(s.Id));
            areas.ForEach(a => _areaService.RemoveArea(a.Id));

            try
            {
                _tmlayoutService.RemoveTMLayout(layoutId);
            }
            catch (System.Data.SqlClient.SqlException)
            {
                areas.ForEach(a => _areaService.CreateArea(a));
                seats.ForEach(s => _seatService.CreateSeat(s));
            }
        }
        // GET: Welcome
        public ActionResult Index()
        {
            var measnumEndDate = new PagingOptions <t_bp_custom>(0, 7, t => t.measnumEndDate);
            var measnumDate    = customRep.GetByConditonPage <MeasnumDateModel>(t => t.measnumEndDate != null, t => new { t.ID, t.NAME, t.measnumEndDate }, measnumEndDate);//检测资质有效期日期

            var detectnumEndDate = new PagingOptions <t_bp_custom>(0, 7, t => t.detectnumEndDate);
            var detectnumDate    = customRep.GetByConditonPage <DetectnumDateModel>(t => t.detectnumEndDate != null, t => new { t.ID, t.NAME, t.detectnumEndDate }, detectnumEndDate);//计量认证有效期日期

            var checkenddate = new PagingOptions <t_bp_Equipment>(0, 7, t => t.checkenddate);
            var checkdate    = equipmentRep.GetByConditonPage <CheckdateModel>(t => t.checkenddate != null, t => new { t.id, t.EquName, t.checkenddate, t.customid }, checkenddate);//设备有效期

            var             allUnitByArea = checkUnitService.GetAllCustomInArea();
            WelcomeViewMoel viewmodel     = new WelcomeViewMoel()
            {
                EchartUnqualifyReportsCount = new List <EchartNameValue>(),
                EchartTotalReportsCount     = new List <EchartNameValue>(),
                EcharModifyReportsCount     = new List <EchartNameValue>(),
                MeasnumDate   = new List <DueRemindModel>(),
                DetectnumDate = new List <DueRemindModel>(),
                Checkdate     = new List <DueRemindModel>()
            };
            int i = 1;

            foreach (var item in measnumDate)
            {
                DueRemindModel dueRemind = new DueRemindModel();
                var            dateTime  = Convert.ToDateTime(DateTime.Now);
                var            time      = dateTime - Convert.ToDateTime(item.measnumEndDate);
                if (time.Days >= 0)
                {
                    dueRemind.Type = item.Name + "单位检测资质证书已经过期" + time.Days + "天";
                }
                else
                {
                    dueRemind.Type = item.Name + "单位检测资质证书有效期剩余" + time.Days * (-1) + "天";
                }
                dueRemind.Date = item.measnumEndDate.HasValue ? item.measnumEndDate.Value.ToString("yyyy-MM-dd") : string.Empty;
                dueRemind.Num  = i;
                i++;
                dueRemind.Id = item.Id;
                viewmodel.MeasnumDate.Add(dueRemind);
            }
            i = 1;
            foreach (var item in detectnumDate)
            {
                DueRemindModel dueRemind = new DueRemindModel();
                var            dateTime  = Convert.ToDateTime(DateTime.Now);
                var            time      = dateTime - Convert.ToDateTime(item.detectnumEndDate);
                if (time.Days >= 0)
                {
                    dueRemind.Type = item.Name + "单位计量认证证书已经过期" + time.Days + "天";
                }
                else
                {
                    dueRemind.Type = item.Name + "单位计量认证证书有效期剩余" + time.Days * (-1) + "天";
                }
                dueRemind.Num = i;
                i++;
                dueRemind.Date = item.detectnumEndDate.HasValue ? item.detectnumEndDate.Value.ToString("yyyy-MM-dd") : string.Empty;
                dueRemind.Id   = item.Id;
                viewmodel.DetectnumDate.Add(dueRemind);
            }

            i = 1;
            foreach (var item in checkdate)
            {
                DueRemindModel dueRemind = new DueRemindModel();
                var            dateTime  = Convert.ToDateTime(DateTime.Now);
                var            time      = dateTime - Convert.ToDateTime(item.checkenddate);
                var            checkName = checkUnitService.GetCheckUnitById(item.customid);
                if (time.Days >= 0)
                {
                    dueRemind.Type = checkName + "单位仪器设备检定已经过期" + time.Days + "天";
                }
                else
                {
                    dueRemind.Type = checkName + "单位仪器设备检定有效期剩余" + time.Days * (-1) + "天";
                }
                dueRemind.Num = i;
                i++;
                dueRemind.Id   = item.id;
                dueRemind.Date = item.checkenddate.HasValue ? item.checkenddate.Value.ToString("yyyy-MM-dd") : string.Empty;
                viewmodel.Checkdate.Add(dueRemind);
            }

            DateTime DtNow       = DateTime.Now;
            string   dtFormatStr = "yyyy-MM-dd'T'HH:mm:ss";
            string   endDtStr    = DtNow.AddDays(1).ToString(dtFormatStr);
            //string endDt = endDtStr
            DateTime DtStart    = DtNow.AddDays(-7);
            string   startDtStr = DtStart.ToString(dtFormatStr);

            #region 获得首页上部统计信息
            var instFilter = GetCurrentInstFilter();

            Func <Nest.QueryContainerDescriptor <es_t_bp_item>, QueryContainer> qcd = q =>
            {
                var qc = q.DateRange(qdr => qdr.Field(qdrf => qdrf.PRINTDATE).GreaterThanOrEquals(DateMath.FromString(startDtStr))) &&
                         q.DateRange(qddr => qddr.Field(qddrf => qddrf.PRINTDATE).LessThanOrEquals(DateMath.FromString(endDtStr)));

                if (instFilter.NeedFilter && instFilter.FilterInstIds.Count() > 0)
                {
                    qc = qc && +q.Terms(qtm => qtm.Field(qtmf => qtmf.CUSTOMID).Terms(instFilter.FilterInstIds));
                }

                return(qc);
            };
            var response = tbpitemESRep.Search(s => s.Size(0).Query(qcd).Aggregations(af => af.Terms(UnQualiKey, adn => adn.Field(aaa => aaa.CONCLUSIONCODE))
                                                                                      .Terms(ModifyKey, adm => adm.Field(aadm => aadm.HAVELOG))
                                                                                      .Terms(ReportKey, ada => ada.Field(adaa => adaa.HAVREPORT))));

            if (response.IsValid)
            {
                viewmodel.TotalReports = (int)response.Total;
                var unQualiBuckets = response.Aggs.Terms(UnQualiKey).Buckets;
                foreach (var buctet in unQualiBuckets)
                {
                    if (buctet.Key == "N")
                    {
                        viewmodel.UnqualifyReports = (int)buctet.DocCount;
                    }
                }
                var modifyBuckets = response.Aggs.Terms(ModifyKey).Buckets;
                foreach (var buctet in modifyBuckets)
                {
                    if (buctet.Key == "1")
                    {
                        viewmodel.ModifyReports = (int)buctet.DocCount;
                    }
                }
                var reportBuckets = response.Aggs.Terms(ReportKey).Buckets;

                foreach (var buctet in reportBuckets)
                {
                    if (buctet.Key == "1")
                    {
                        viewmodel.PKRReports = (int)buctet.DocCount;
                    }
                }
            }
            if (viewmodel.TotalReports == 0)
            {
                viewmodel.UnqualifyPercentage = "0";
                viewmodel.ModifyPercentage    = "0";
                viewmodel.PKRPercentage       = "0";
            }
            else
            {
                viewmodel.UnqualifyPercentage = (viewmodel.UnqualifyReports * 100 / viewmodel.TotalReports).ToString();
                viewmodel.ModifyPercentage    = (viewmodel.ModifyReports * 100 / viewmodel.TotalReports).ToString();
                viewmodel.PKRPercentage       = (viewmodel.PKRReports * 100 / viewmodel.TotalReports).ToString();
            }

            #endregion

            #region 获得首页中间部分地图信息数据

            var countByArea    = new Dictionary <string, int>();
            var unQualifyCount = new Dictionary <string, int>();
            var ModifyCount    = new Dictionary <string, int>();

            var EchartTotalReportsCount     = new Dictionary <string, int>();
            var EchartUnqualifyReportsCount = new Dictionary <string, int>();
            var EcharModifyReportsCount     = new Dictionary <string, int>();

            var allArea = areaService.GetAllArea();

            var userItems = userItemrep.GetDictByCondition <string, string>(r => r.UserId == GetCurrentUserId() && r.UserItemType == UserItemType.UnQualifiedReport,
                                                                            r => new { r.Id, r.ItemTableName });
            var userInstIds = userCustomrep.GetDictByCondition <string, string>(r => r.UserId == GetCurrentUserId() && r.UserCustomType == UserCustomType.UnQualifiedCount,
                                                                                r => new { r.Id, r.CustomId });

            SysSearchModel model = new SysSearchModel()
            {
                StartDt = DateTime.Today.AddDays(-7),
                EndDt   = DateTime.Today.AddDays(1)
            };
            var filterQuery = GetFilterQuery(checkUnitService, itemNameService, model, userInstIds, userItems);
            var mapResponse = tbpitemESRep.Search(s => s.Size(0).Query(filterQuery)
                                                  .Aggregations(af => af.Terms(aggeKey, item => item.Field(iif => iif.CUSTOMID).Size(1000)
                                                                               .Aggregations(aaaf => aaaf.Terms("Conclution", aaa => aaa.Field(aac => aac.CONCLUSIONCODE)).Terms("Havelog", aab => aab.Field(aad => aad.HAVELOG))
                                                                                             ))));

            if (mapResponse.IsValid)
            {
                var bucks = mapResponse.Aggs.Terms(aggeKey).Buckets;
                foreach (var item in bucks)
                {
                    var unqualiBucks = item.Terms("Conclution").Buckets;
                    var modifyBucks  = item.Terms("Havelog").Buckets;
                    var customId     = item.Key;
                    var unitArea     = string.Empty;

                    var areaBool = allUnitByArea.TryGetValue(item.Key, out unitArea);
                    if (areaBool)
                    {
                        GetDictResult(countByArea, item, unitArea);
                    }
                    else
                    {
                        unitArea = "其他";
                        GetDictResult(countByArea, item, unitArea);
                    }

                    foreach (var unqualifyItem in unqualiBucks)
                    {
                        if (unqualifyItem.Key == "N" || unqualifyItem.Key == "n")
                        {
                            GetDictResult(unQualifyCount, unqualifyItem, unitArea);
                        }
                    }

                    foreach (var modifyItem in modifyBucks)
                    {
                        if (modifyItem.Key == "1")
                        {
                            GetDictResult(ModifyCount, modifyItem, unitArea);
                        }
                    }
                }

                foreach (var item in countByArea)
                {
                    GetEchartValue(EchartTotalReportsCount, allArea, item);
                }

                foreach (var item in unQualifyCount)
                {
                    GetEchartValue(EchartUnqualifyReportsCount, allArea, item);
                }

                foreach (var item in ModifyCount)
                {
                    GetEchartValue(EcharModifyReportsCount, allArea, item);
                }

                foreach (var item in EchartTotalReportsCount)
                {
                    EchartNameValue echart = new EchartNameValue()
                    {
                        name  = item.Key,
                        value = item.Value
                    };
                    viewmodel.EchartTotalReportsCount.Add(echart);
                }

                foreach (var item in EchartUnqualifyReportsCount)
                {
                    EchartNameValue echart = new EchartNameValue()
                    {
                        name  = item.Key,
                        value = item.Value
                    };
                    viewmodel.EchartUnqualifyReportsCount.Add(echart);
                }

                foreach (var item in EcharModifyReportsCount)
                {
                    EchartNameValue echart = new EchartNameValue()
                    {
                        name  = item.Key,
                        value = item.Value
                    };
                    viewmodel.EcharModifyReportsCount.Add(echart);
                }

                viewmodel.EchartTotalReportsCount     = viewmodel.EchartTotalReportsCount.OrderBy(s => s.name).ToList();
                viewmodel.EchartUnqualifyReportsCount = viewmodel.EchartUnqualifyReportsCount.OrderBy(s => s.name).ToList();
                viewmodel.EcharModifyReportsCount     = viewmodel.EcharModifyReportsCount.OrderBy(s => s.name).ToList();
            }

            #endregion

            #region 获得首页下部到期提醒数据
            #endregion

            return(View(viewmodel));
        }
        /// <summary>
        /// 根据机构分组统计之后,塞到对应的地区中
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult Search(SysSearchModel model)
        {
            model.GroupType = "Custom";
            var        response = GetStatisData(model);
            DhtmlxGrid grid     = new DhtmlxGrid();

            /*
             * 1.查出所有报告数量以及分组统计不合格报告数量
             * 2.countByArea 存储该地区报告总数
             * 3.需要一个存储该地区所有不合格报告数量
             * 4.存储改地区所有有不合格报告数量的厂家    厂家总数
             *
             */
            if (response.IsValid)
            {
                var bucks = response.Aggs.Terms("Custom").Buckets;
                Dictionary <string, int> countByArea, unQualifyCount, countUnitByArea, unQualifyUnitCountByArea;
                GetSearchResult(bucks, out countByArea, out unQualifyCount, out countUnitByArea, out unQualifyUnitCountByArea);
                var allAreas = AreaService.GetAllArea();

                /*
                 * 1.从所有的地区中选择名字相对应的地区,判断是否为市级节点,是直接加入,不是的话需要判断本节点所属的市级节点是否存在,如果存在直接加上,不存在则增加一条数值为0的记录
                 */
                var index      = 1;
                var rootAreas  = new List <AreaResultModel>();
                var childAreas = new List <AreaResultModel>();
                foreach (var item in countByArea)
                {
                    if (item.Key.IsNullOrEmpty())
                    {
                        continue;
                    }


                    var unQualifyCountRow    = 0;
                    var unitCountByArea      = 0;
                    var unqualifyUnitCount   = 0;
                    var isUnqualify          = unQualifyCount.TryGetValue(item.Key, out unQualifyCountRow); //isUnqualify 标识是否有不合格报告
                    var isUnitCount          = countUnitByArea.TryGetValue(item.Key, out unitCountByArea);
                    var isUnqualifyUnitCount = unQualifyUnitCountByArea.TryGetValue(item.Key, out unqualifyUnitCount);
                    List <t_bp_area> areas   = new List <t_bp_area>();

                    var areass = allAreas.Where(t => t.AREANAME == item.Key);


                    if (areass != null)
                    {
                        areas = areass.ToList();
                    }

                    if (areas != null && areas.Count > 0)
                    {
                        var area = areas.First();
                        logger.Debug("areasfirst");
                        AreaResultModel areaResult = new AreaResultModel()
                        {
                            AreaCode              = area.AREACODE,
                            ParentCode            = area.PAREACODE,
                            Name                  = area.AREANAME,
                            TotalCount            = (int)item.Value,
                            UnqualifuCount        = unQualifyCountRow,
                            FactoryCount          = unitCountByArea,
                            UnqualifyFactoryCount = unqualifyUnitCount
                        };

                        if (area.PAREACODE == "45")//市
                        {
                            GetRootAreaResult(rootAreas, area, areaResult, areaResult);
                        }
                        else //市辖区,县等
                        {
                            childAreas.Add(areaResult);
                            var parentCode = area.PAREACODE;
                            if (parentCode != null)
                            {
                                List <t_bp_area> parentAreas = new List <t_bp_area>();
                                var parentAreass             = allAreas.Where(t => t.AREACODE == parentCode);
                                if (parentAreass != null)
                                {
                                    parentAreas = parentAreass.ToList();
                                }
                                if (parentAreas != null && parentAreas.Count > 0)
                                {
                                    var             parentArea       = parentAreas.First(); //获得所属市地区信息
                                    AreaResultModel parentareaResult = new AreaResultModel()
                                    {
                                        AreaCode              = parentArea.AREACODE,
                                        Name                  = parentArea.AREANAME,
                                        TotalCount            = 0,
                                        UnqualifuCount        = 0,
                                        FactoryCount          = 0,
                                        UnqualifyFactoryCount = 0
                                    };
                                    GetRootAreaResult(rootAreas, parentArea, areaResult, parentareaResult);
                                }
                            }
                        }
                    }
                }
                foreach (var item in rootAreas)
                {
                    DhtmlxGridRow row = new DhtmlxGridRow(item.AreaCode);
                    row.AddCell(index++);
                    row.AddCell(item.Name);
                    row.AddCell(item.TotalCount);
                    row.AddCell(item.UnqualifuCount);
                    row.AddCell(item.TotalCount == 0 ? "0" : Math.Round(((item.UnqualifuCount * 1.00 / item.TotalCount) * 100), 2).ToString() + "%");
                    row.AddCell(item.FactoryCount);
                    row.AddCell(item.UnqualifyFactoryCount);
                    row.AddCell(item.FactoryCount == 0 ? "0" : Math.Round(((item.UnqualifyFactoryCount * 1.00 / item.FactoryCount) * 100), 2).ToString() + "%");
                    row.AddCell(string.Empty); //同比
                    row.AddCell(string.Empty); //环比

                    if (item.TotalCount > 0)
                    {
                        row.AddLinkJsCell("详情查看", "showItemKeyGrid(\"{0}\")".Fmt(item.Name));
                    }

                    List <AreaResultModel> thisChildAreas = new List <AreaResultModel>();

                    var thisChildAreass = childAreas.Where(t => t.ParentCode == item.AreaCode);
                    if (thisChildAreass != null)
                    {
                        thisChildAreas = thisChildAreass.ToList();
                    }
                    if (thisChildAreas != null && thisChildAreas.Count > 0)
                    {
                        var childIndex = 1;
                        foreach (var childItem in thisChildAreas)
                        {
                            DhtmlxGridRow childRow = new DhtmlxGridRow(childItem.AreaCode);
                            childRow.AddCell(childIndex++);
                            childRow.AddCell(childItem.Name);
                            childRow.AddCell(childItem.TotalCount);
                            childRow.AddCell(childItem.UnqualifuCount);
                            childRow.AddCell(childItem.TotalCount == 0 ? "0" : Math.Round(((childItem.UnqualifuCount * 1.00 / childItem.TotalCount) * 100), 2).ToString() + "%");
                            childRow.AddCell(childItem.FactoryCount);
                            childRow.AddCell(childItem.UnqualifyFactoryCount);
                            childRow.AddCell(childItem.FactoryCount == 0 ? "0" : Math.Round(((childItem.UnqualifyFactoryCount * 1.00 / childItem.FactoryCount) * 100), 2).ToString() + "%");
                            childRow.AddCell(string.Empty);   //同比
                            childRow.AddCell(string.Empty);   //环比
                            if (childItem.UnqualifuCount > 0) //有不合格报告才显示详情查看
                            {
                                //TODO 由于改了实现方式,将市辖区,县的信息塞到了市中,在不合格详情查看时需要增加如果是市,则需要查本市所有的不合格数据
                                childRow.AddLinkJsCell("详情查看", "showItemKeyGrid(\"{0}\")".Fmt(childItem.Name));
                            }
                            row.AddRow(childRow);
                        }
                    }
                    grid.AddGridRow(row);
                }
                //foreach (var item in countByArea)
                //{
                //    var unQualifyCountRow = 0;
                //    var unitCountByArea = 0;
                //    var unqualifyUnitCount = 0;
                //    var isUnqualify = unQualifyCount.TryGetValue(item.Key, out unQualifyCountRow); //isUnqualify 标识是否有不合格报告
                //    var isUnitCount = countUnitByArea.TryGetValue(item.Key, out unitCountByArea);
                //    var isUnqualifyUnitCount = unQualifyUnitCountByArea.TryGetValue(item.Key, out unqualifyUnitCount);

                //    DhtmlxGridRow row = new DhtmlxGridRow(item.Key);
                //    row.AddCell(index++);
                //    row.AddCell(item.Key);
                //    row.AddCell(item.Value);
                //    row.AddCell(isUnqualify ? unQualifyCountRow : 0);
                //    row.AddCell(item.Value == 0 ? "0" : Math.Round(((unQualifyCountRow * 1.00 / item.Value) * 100), 2).ToString() + "%");
                //    row.AddCell(unitCountByArea.ToString());
                //    row.AddCell(unqualifyUnitCount.ToString());
                //    row.AddCell(unitCountByArea == 0 ? "0" : Math.Round(((unqualifyUnitCount * 1.00 / unitCountByArea) * 100), 2).ToString() + "%");
                //    row.AddCell(string.Empty);//同比
                //    row.AddCell(string.Empty);//环比
                //    if (isUnqualify)//有不合格报告才显示详情查看
                //    {
                //        row.AddLinkJsCell("详情查看", "showItemKeyGrid(\"{0}\")".Fmt(item.Key));
                //    }
                //    grid.AddGridRow(row);
                //}
            }

            string str = grid.BuildRowXml().ToString(System.Xml.Linq.SaveOptions.DisableFormatting);

            return(Content(str, "text/xml"));
        }
        public JsonResult GetMapData()
        {
            JsonResult result = new JsonResult();

            result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

            //Guid uid = Guid.Parse(Session["wp_username"].ToString());
            User_t account = UserContext.account;
            List <FlowMeterStatusAndArea>     fmlist = new List <FlowMeterStatusAndArea>();
            List <PressureMeterStatusAndArea> pmlist = new List <PressureMeterStatusAndArea>();
            List <QualityMeterStatusAndArea>  qmlist = new List <QualityMeterStatusAndArea>();

            //Func<List<FlowMeterStatusAndArea>> fmAndStatusArea = () => flowmeterService.GetFlowMeterStatusAndArea();
            //List<FlowMeterStatusAndArea> fmstatusAndAreaList = DBHelper.get<FlowMeterStatusAndArea>(fmAndStatusArea,
            //    ConfigurationManager.AppSettings["allFlowMeterStatusAndArea"]);

            //Func<List<PressureMeterStatusAndArea>> pmAndStatusArea = () => pressuremeterService.GetPressureMeterStatusAndArea();
            //List<PressureMeterStatusAndArea> pmstatusAndAreaList = DBHelper.get<PressureMeterStatusAndArea>(pmAndStatusArea,
            //    ConfigurationManager.AppSettings["allPressureMeterStatusAndArea"]).ToList();

            //Func<List<QualityMeterStatusAndArea>> qmAndStatusArea = () => qualitymeterService.GetQualityMeterStatusAndArea();
            //List<QualityMeterStatusAndArea> qmstatusAndAreaList = DBHelper.get<QualityMeterStatusAndArea>(qmAndStatusArea,
            //    ConfigurationManager.AppSettings["allQualityMeterStatusAndArea"]);

            if (account.Usr_Type == 3)
            {
                //fmlist = fmstatusAndAreaList.Where(p => p.flowmeter.FM_WaterConsumerUId==account.Usr_UId).ToList();
                //qmlist = qmstatusAndAreaList.Where(p=>p.qualitymeter);
                //pmlist = pmstatusAndAreaList.Where(p=>p.pressuremeter);

                AreaUser_t au = areauserService.GetAreaUserByUser(account.Usr_UId);
                Func <List <FlowMeterStatusAndArea> > fmsFunc = () => flowmeterService.GetFlowMeterStatusByArea(au.AU_AreaUId);
                fmlist = DBHelper.get <FlowMeterStatusAndArea>(fmsFunc,
                                                               ConfigurationManager.AppSettings["FlowMeterStatusByAreaUid"] + au.AU_AreaUId).Where(p => p.flowmeter.FM_WaterConsumerUId == account.Usr_UId).ToList();
            }
            else
            {
                List <Area_t> arealist = areaService.GetAllArea();
                foreach (var areaitem in arealist)
                {
                    Func <List <FlowMeterStatusAndArea> > fmsFunc = () => flowmeterService.GetFlowMeterStatusByArea(areaitem.Ara_UId);
                    var fmdata = DBHelper.get <FlowMeterStatusAndArea>(fmsFunc,
                                                                       ConfigurationManager.AppSettings["FlowMeterStatusByAreaUid"] + areaitem.Ara_UId);
                    fmlist.AddRange(fmdata);

                    Func <List <PressureMeterStatusAndArea> > pmsFunc = () => pressuremeterService.GetPressureMeterStatusByArea(areaitem.Ara_UId);
                    var pmsalist = DBHelper.get <PressureMeterStatusAndArea>(pmsFunc,
                                                                             ConfigurationManager.AppSettings["PressureMeterStatusByAreaUid"] + areaitem.Ara_UId).ToList();
                    pmlist.AddRange(pmsalist);

                    Func <List <QualityMeterStatusAndArea> > qmAndStatusArea = () => qualitymeterService.GetQualityMeterStatusByArea(areaitem.Ara_UId);
                    var qmslist = DBHelper.get <QualityMeterStatusAndArea>(qmAndStatusArea, ConfigurationManager.AppSettings["QualityMeterStatusByAreaUid"] + areaitem.Ara_UId);

                    qmlist.AddRange(qmslist);
                }
                //fmlist = fmstatusAndAreaList;
                //pmlist = pmstatusAndAreaList;
                //qmlist = qmstatusAndAreaList;
            }
            result.Data = new
            {
                fmstatusAndAreaList = fmlist,
                pmstatusAndAreaList = pmlist,
                qmstatusAndAreaList = qmlist,
            };
            return(result);
        }
Example #7
0
 public IEnumerable <AreaBaseDto> GetAllArea() => _areaService.GetAllArea();