/// <summary> /// 结束R_PB报警 /// </summary> /// <param name="datastate"></param> /// <param name="timeNow"></param> /// <param name="prealInfo"></param> public static void EndR_PBInfo(PersonAlarmState datastate, DateTime timeNow, R_PrealInfo prealInfo) { R_PBCacheGetByConditonRequest request = new R_PBCacheGetByConditonRequest(); request.Predicate = a => a.Yid == prealInfo.Yid && a.Type == (int)datastate && (a.Endtime == null || a.Endtime < DateTime.Parse("2000-01-01")); var result = r_PBCacheService.GetR_PBCache(request); if (result.Data != null && result.IsSuccess) { List <R_PbInfo> pbItems = result.Data; pbItems.ForEach(a => { a.Endtime = timeNow; a.InfoState = InfoState.Modified; }); //更新数据库 DataToDbBatchAddRequest <R_PbInfo> request1 = new DataToDbBatchAddRequest <R_PbInfo>(); request1.Items = pbItems; r_PbService.AddItems(request1); //更新缓存 R_PBCacheBatchUpdateRequest request2 = new R_PBCacheBatchUpdateRequest(); request2.R_PBInfos = pbItems; r_PBCacheService.BatchUpdateR_PBCache(request2); } }
/// <summary> /// 人员报警表跨天数据处理(结束当天的报警,写第二天的开始) 20171206 /// </summary> /// <param name="today"></param> /// <param name="tomorrow"></param> public static void Drv_CrossDayPro(DateTime today, DateTime tomorrow) { List <R_PbInfo> R_PBList = GetAllR_PBItems().FindAll(a => a.Endtime == null || a.Endtime.ToString("yyyy-MM-dd") == "1900-01-01"); R_PBList.ForEach(a => { a.Endtime = today; a.InfoState = InfoState.Modified; }); //更新数据库 DataToDbBatchAddRequest <R_PbInfo> request1 = new DataToDbBatchAddRequest <R_PbInfo>(); request1.Items = R_PBList; r_PbService.AddItems(request1); //更新缓存 R_PBCacheBatchUpdateRequest request2 = new R_PBCacheBatchUpdateRequest(); request2.R_PBInfos = R_PBList; r_PBCacheService.BatchUpdateR_PBCache(request2); //写所有未结束的报警记录的第二天开始记录 foreach (R_PbInfo tempR_PB in R_PBList) { R_PbInfo newPB = new R_PbInfo(); newPB.Id = IdHelper.CreateLongId().ToString(); newPB.Areaid = tempR_PB.Areaid; newPB.Yid = tempR_PB.Yid; newPB.Pointid = tempR_PB.Pointid; newPB.Zdzs = tempR_PB.Zdzs; newPB.Starttime = tomorrow; newPB.Endtime = new DateTime(1900, 1, 1, 0, 0, 0); newPB.Type = tempR_PB.Type; newPB.Z1 = tempR_PB.Z1; newPB.Z2 = tempR_PB.Z2; newPB.Z3 = tempR_PB.Z3; newPB.Z4 = tempR_PB.Z4; newPB.Z5 = tempR_PB.Z5; newPB.Z6 = tempR_PB.Z6; newPB.Upflag = "0"; //更新数据库 DataToDbAddRequest <R_PbInfo> request = new DataToDbAddRequest <R_PbInfo>(); request.Item = newPB; r_PbService.AddItem(request); //更新缓存 R_PBCacheAddRequest addRequest = new R_PBCacheAddRequest(); addRequest.R_PBInfo = newPB; r_PBCacheService.AddR_PBCache(addRequest); } }
/// <summary> /// 系统退出处理(结束数据库中的所有人员报警) /// </summary> public static void Drv_SystemExistPro(DateTime time) { List <R_PbInfo> R_PBList = GetAllR_PBItems().FindAll(a => a.Endtime == null || a.Endtime.ToString("yyyy-MM-dd") == "1900-01-01"); R_PBList.ForEach(a => { a.Endtime = time; a.InfoState = InfoState.Modified; }); //更新数据库 DataToDbBatchAddRequest <R_PbInfo> request1 = new DataToDbBatchAddRequest <R_PbInfo>(); request1.Items = R_PBList; r_PbService.AddItems(request1); }
/// <summary> /// 批量添加数据至列表 /// </summary> /// <param name="dataToDbRequest"></param> /// <returns></returns> public abstract BasicResponse AddItems(DataToDbBatchAddRequest <T> dataToDbRequest);
public override BasicResponse AddItems(DataToDbBatchAddRequest <Jc_Ll_YInfo> dataToDbRequest) { AccumulationYearDataToDb.Instance.AddItems(dataToDbRequest.Items); return(new BasicResponse()); }