/// <summary> /// 添加或修改R_Preal记录 /// </summary> /// <param name="prealInfo"></param> public static void InsertPrealData(R_PrealInfo prealInfo) { RPrealCacheAddRequest request = new RPrealCacheAddRequest(); request.PrealInfo = prealInfo; rPRealCacheService.AddRRealCache(request); }
/// <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> /// 清除Preal信息 /// </summary> /// <param name="id"></param> public static void DeletePreal(R_PrealInfo preal) { RPrealCacheDeleteRequest request = new RPrealCacheDeleteRequest(); request.PrealInfo = preal; rPRealCacheService.DeleteRRealCache(request); }
public Basic.Framework.Web.BasicResponse UpdateRRealInfo(Sys.Safety.Request.PersonCache.RPrealCacheUpdatePropertiesRequest RealCacheRequest) { R_PrealInfo updateitem = KJ237CacheHelper.Cache.FindFirst <R_PrealInfo>(o => o.Id == RealCacheRequest.Id); updateitem.CopyProperties(RealCacheRequest.UpdateItems); KJ237CacheHelper.Cache.Update <R_PrealInfo>(updateitem); return(new BasicResponse()); }
/// <summary> /// 获取单个人员信息 /// </summary> /// <returns></returns> public static R_PrealInfo GetOnePrealInfo(string bh) { R_PrealInfo item = null; RPrealCacheGetByConditonRequest request = new RPrealCacheGetByConditonRequest(); request.Predicate = a => a.Bh == bh; var result = rPRealCacheService.GetRealCache(request); if (result.IsSuccess && result.Data != null && result.Data.Count > 0) { item = result.Data[0]; } return(item); }
public Basic.Framework.Web.BasicResponse BatchUpdateRealInfo(Sys.Safety.Request.PersonCache.RPrealCacheBatchUpdatePropertiesRequest request) { List <R_PrealInfo> updateitems = new List <R_PrealInfo>(); foreach (string tempId in request.UpdateItems.Keys) { R_PrealInfo updateitem = KJ237CacheHelper.Cache.FindFirst <R_PrealInfo>(o => o.Id == tempId); if (updateitem != null) { updateitem.CopyProperties(request.UpdateItems[tempId]); updateitems.Add(updateitem); } } KJ237CacheHelper.Cache.BatchUpdate <R_PrealInfo>(updateitems); return(new BasicResponse()); }
public BasicResponse OldPlsPersonRealSync(OldPlsPersonRealSyncRequest request) { try { var req = new RPrealCacheGetAllRequest(); var res = _RPRealCacheService.GetAllRRealCache(req); var allPersonRealCache = res.Data; //所有人员实时缓存 var info = request.Info; foreach (var item in info) { R_PrealInfo personRealCache = new R_PrealInfo(); var ifExist = false; if (allPersonRealCache != null) { personRealCache = allPersonRealCache.FirstOrDefault(a => a.Yid == item.Yid); if (personRealCache != null) { ifExist = true; } } if (!ifExist) { var req2 = new RPrealCacheAddRequest { PrealInfo = item }; _RPRealCacheService.AddRRealCache(req2); } else { if (item.Bh != personRealCache.Bh || item.JobNumber != personRealCache.JobNumber || item.PersonName != personRealCache.PersonName || item.Department != personRealCache.Department || item.Duty != personRealCache.Duty || item.TypeOfWork != personRealCache.TypeOfWork || item.CurrentPosition != personRealCache.CurrentPosition || item.Rtime != personRealCache.Rtime || item.UpPosition != personRealCache.UpPosition || item.OnPosition != personRealCache.OnPosition || item.Ontime != personRealCache.Ontime || item.Rjsc != personRealCache.Rjsc || item.Bjtype != personRealCache.Bjtype || item.Flag != personRealCache.Flag) { var req2 = new RPrealCacheUpdateRequest { PrealInfo = item }; _RPRealCacheService.UpdateRRealCahce(req2); } } } if (allPersonRealCache != null) { for (var i = allPersonRealCache.Count - 1; i >= 0; i--) { var ifExist = info.Any(a => a.Yid == allPersonRealCache[i].Yid); if (!ifExist) { var req3 = new RPrealCacheDeleteRequest { PrealInfo = allPersonRealCache[i] }; _RPRealCacheService.DeleteRRealCache(req3); } } } return(new BasicResponse()); } catch (Exception exc) { LogHelper.Error(exc.ToString()); return(new BasicResponse() { Code = 101, Message = "同步失败" }); } }
public static void CreateR_PBInfo(string pointID, string areaID, DateTime stime, PersonAlarmState datastate, R_PrealInfo prealInfo) { R_PbInfo pb = new R_PbInfo(); // 编号 pb.Id = IdHelper.CreateLongId().ToString(); // 区域ID if (string.IsNullOrEmpty(areaID)) { pb.Areaid = "0"; } else { pb.Areaid = areaID; } // 人员Id pb.Yid = prealInfo.Yid; // 测点Id pb.Pointid = pointID; // 报警开始时间,等同于写记录时间 pb.Starttime = stime; // 报警结束时间 pb.Endtime = new DateTime(1900, 1, 1); // 报警类型(关联枚举表) pb.Type = (int)datastate; // 系统类型标志:0—人员,1—机车 pb.Z4 = prealInfo.Sysflag; pb.Z1 = "0"; pb.Z2 = "0"; pb.Z3 = "0"; pb.Z5 = "0"; pb.Z6 = "0"; pb.InfoState = InfoState.AddNew; //更新数据库 DataToDbAddRequest <R_PbInfo> request = new DataToDbAddRequest <R_PbInfo>(); request.Item = pb; r_PbService.AddItem(request); //更新缓存 R_PBCacheAddRequest addRequest = new R_PBCacheAddRequest(); addRequest.R_PBInfo = pb; r_PBCacheService.AddR_PBCache(addRequest); }