/// <summary> /// 获取行政村上报和未上报统计信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public List <VillageNumViewModel> GetVillageReportNum(GetVillageReportNum request) { using (var db = DbFactory.Open()) { var year = DateTime.Now.Year; if (request.Year != 0) { year = request.Year; } var list = new List <VillageNumViewModel>(); #region 从ADCDInfo表中获取行政村的总数量 var builder = db.From <ADCDInfo>(); builder.Where(x => x.adcd.StartsWith(adcd.Substring(0, 9)) && x.adcd != adcd); var adcdList = db.Select(builder).Select(x => x.adcd); //if(adcdList.Count()==0) // throw new Exception("行政村信息不存在"); #endregion var count = 0; #region 获取行政村信息上报统计 if (adcdList.Count() != 0) { var ADCDDisasterInfoBuilder = db.From <ADCDDisasterInfo>(); // ADCDDisasterInfoBuilder.Where(x => x.Year == year && Sql.In(x.adcd, adcdList)); ADCDDisasterInfoBuilder.Where(x => x.Year == year && x.adcd.StartsWith(adcd.Substring(0, 9))); ADCDDisasterInfoBuilder.SelectDistinct(x => x.adcd); count = db.Select(ADCDDisasterInfoBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村信息, NoReported = adcdList.Count() - count, HasReported = count }); } #endregion #region 获取行政村防汛防台工作组上报统计 if (adcdList.Count() != 0) { var VillageWorkingGroupBuilder = db.From <VillageWorkingGroup>(); //VillageWorkingGroupBuilder.Where(x => x.Year == year && Sql.In(x.VillageADCD, adcdList)); VillageWorkingGroupBuilder.Where(x => x.Year == year && x.VillageADCD.StartsWith(adcd.Substring(0, 9))); VillageWorkingGroupBuilder.SelectDistinct(x => x.VillageADCD); count = db.Select(VillageWorkingGroupBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村防汛防台工作组, NoReported = adcdList.Count() - count, HasReported = count }); } #endregion #region 获取行政村网格责任人上报统计 if (adcdList.Count() != 0) { var VillageGridPersonLiableBuilder = db.From <VillageGridPersonLiable>(); //Sql.In(x.VillageADCD, adcdList) VillageGridPersonLiableBuilder.Where(x => x.Year == year && x.VillageADCD.StartsWith(adcd.Substring(0, 9))); VillageGridPersonLiableBuilder.SelectDistinct(x => x.VillageADCD); count = db.Select(VillageGridPersonLiableBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村网格责任人, NoReported = adcdList.Count() - count, HasReported = count }); } #endregion #region 获取行政村危险区转移人员上报统计 if (adcdList.Count() != 0) { var VillageTransferPersonBuilder = db.From <VillageTransferPerson>(); //Sql.In(x.adcd, adcdList) VillageTransferPersonBuilder.Where(x => x.Year == year && x.adcd.StartsWith(adcd.Substring(0, 9))); VillageTransferPersonBuilder.SelectDistinct(x => x.adcd); count = db.Select(VillageTransferPersonBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村危险区人员转移清单, NoReported = adcdList.Count() - count, HasReported = count }); } #endregion #region 获取镇街防汛防台责任人数量上报统计 var TownPersonBuilder = db.From <TownPersonLiable>(); TownPersonBuilder.Where(x => x.Year == year && x.adcd == adcd); count = dyConverter.ToInt32(db.Count(TownPersonBuilder)); list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.镇级防汛防台责任人, NoReported = 0, HasReported = count }); #endregion #region 获取行政村防汛形势图上报统计 if (adcdList.Count() != 0) { var VillagePicBuilder = db.From <VillagePic>(); //Sql.In(x.adcd, adcdList) VillagePicBuilder.Where(x => x.Year == year && x.adcd.StartsWith(adcd.Substring(0, 9))); VillagePicBuilder.SelectDistinct(x => x.adcd); count = db.Select(VillagePicBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村防汛防台形势图, NoReported = adcdList.Count() - count, HasReported = count }); } #endregion #region var iscount = db.Select <ADCDInfo>("select adcd from ADCDInfo where adcd like '%" + adcd.Substring(0, 9) + "%' and adcd != " + adcd + " and lng > 0 and lat > 0"); var nocount = db.Select <ADCDInfo>("select adcd from ADCDInfo where adcd like '%" + adcd.Substring(0, 9) + "%' and adcd != " + adcd + " and ((lng is null and lat is null) or (lng = 0 and lat =0))"); list.Add(new VillageNumViewModel() { //行政村信息审批统计 ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村标绘, NoReported = nocount.Count, HasReported = iscount.Count }); #endregion // return(list); } }
public List <VillageNumViewModel> Get(GetVillageReportNum request) { return(VillageTransferPersonManager.GetVillageReportNum(request)); }