public List <VillageNumViewModel> GetVillageReportNum1(GetVillageReportNum1 request) { using (var db = DbFactory.Open()) { var year = DateTime.Now.Year; if (string.IsNullOrEmpty(adcd)) { throw new Exception("镇级编码不能为空!"); } var _adcd = request.adcd; 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.SelectDistinct(x => x.adcd); count = db.Select(ADCDDisasterInfoBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村信息, NoReported = adcdList.Count() - count, HasReported = count }); } else { list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村信息, NoReported = 0, HasReported = 0 }); } #endregion #region 获取行政村防汛防台工作组上报统计 if (adcdList.Count() != 0) { var VillageWorkingGroupBuilder = db.From <VillageWorkingGroup>(); VillageWorkingGroupBuilder.Where(x => x.Year == year && Sql.In(x.VillageADCD, adcdList)); VillageWorkingGroupBuilder.SelectDistinct(x => x.VillageADCD); count = db.Select(VillageWorkingGroupBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村防汛防台工作组, NoReported = adcdList.Count() - count, HasReported = count }); } else { list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村防汛防台工作组, NoReported = 0, HasReported = 0 }); } #endregion #region 获取行政村网格责任人上报统计 if (adcdList.Count() != 0) { var VillageGridPersonLiableBuilder = db.From <VillageGridPersonLiable>(); VillageGridPersonLiableBuilder.Where(x => x.Year == year && Sql.In(x.VillageADCD, adcdList)); VillageGridPersonLiableBuilder.SelectDistinct(x => x.VillageADCD); count = db.Select(VillageGridPersonLiableBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村网格责任人, NoReported = adcdList.Count() - count, HasReported = count }); } else { list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村网格责任人, NoReported = 0, HasReported = 0 }); } #endregion #region 获取行政村危险区转移人员上报统计 if (adcdList.Count() != 0) { var VillageTransferPersonBuilder = db.From <VillageTransferPerson>(); VillageTransferPersonBuilder.Where(x => x.Year == year && Sql.In(x.adcd, adcdList)); VillageTransferPersonBuilder.SelectDistinct(x => x.adcd); count = db.Select(VillageTransferPersonBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村危险区人员转移清单, NoReported = adcdList.Count() - count, HasReported = count }); } else { list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村危险区人员转移清单, NoReported = 0, HasReported = 0 }); } #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>(); VillagePicBuilder.Where(x => x.Year == year && Sql.In(x.adcd, adcdList)); VillagePicBuilder.SelectDistinct(x => x.adcd); count = db.Select(VillagePicBuilder).Count; list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村防汛防台形势图, NoReported = adcdList.Count() - count, HasReported = count }); } else { list.Add(new VillageNumViewModel() { ZZTX = GrassrootsFloodCtrlEnums.ZZTXEnums.行政村防汛防台形势图, NoReported = 0, HasReported = 0 }); } #endregion // return(list); } }
public List <VillageNumViewModel> Get(GetVillageReportNum1 request) { return(VillageTransferPersonManager.GetVillageReportNum1(request)); }