/// <summary> /// 新增配置区域断电 /// </summary> /// <param name="data"></param> /// <returns></returns> public string AddRegionOutageConfig(RegionOutageBusinessModel data) { try { string error = ""; //2.新增 RegionOutageConfigListAddRequest regionOutageConfigListRequest = new RegionOutageConfigListAddRequest(); regionOutageConfigListRequest.JC_RegionOutageConfigInfoList = data.RegionOutageConfigInfoList; regionOutageConfigListRequest.AnalysisModelId = data.AnalysisModelId; //调用接口 Basic.Framework.Web.BasicResponse <List <JC_RegionOutageConfigInfo> > analysisTemplateResult = regionOutageConfigService.AddJC_RegionOutageConfigList(regionOutageConfigListRequest); if (analysisTemplateResult.IsSuccess == false) { error = analysisTemplateResult.Message; } else { if (analysisTemplateResult.Code != 100) { error = analysisTemplateResult.Message; } else { error = "100"; } } return(error); } catch (Exception ex) { return("-100"); } }
public BasicResponse <List <JC_RegionOutageConfigInfo> > AddJC_RegionOutageConfigList(RegionOutageConfigListAddRequest jC_RegionOutageConfigListAddRequest) { var responseStr = HttpClientHelper.Post(Webapi + "/v1/RegionOutageConfig/AddJC_RegionOutageConfigList?token=" + Token, JSONHelper.ToJSONString(jC_RegionOutageConfigListAddRequest)); return(JSONHelper.ParseJSONString <BasicResponse <List <JC_RegionOutageConfigInfo> > >(responseStr)); }
/// <summary> /// 批量新增区域断点设置 /// </summary> /// <param name="jC_RegionOutageConfigListAddRequest"></param> /// <returns></returns> public BasicResponse <List <JC_RegionOutageConfigInfo> > AddJC_RegionOutageConfigList(RegionOutageConfigListAddRequest jC_RegionOutageConfigListAddRequest) { string analysisModelId = jC_RegionOutageConfigListAddRequest.AnalysisModelId; var _jC_RegionOutageConfig = ObjectConverter.CopyList <JC_RegionOutageConfigInfo, JC_RegionoutageconfigModel>(jC_RegionOutageConfigListAddRequest.JC_RegionOutageConfigInfoList); List <JC_RegionoutageconfigModel> updateList = _jC_RegionOutageConfig == null ? new List <JC_RegionoutageconfigModel>() : _jC_RegionOutageConfig.ToList(); List <JC_RegionoutageconfigModel> regionOutageByModelList = _Repository.GetRegionOutageConfigListByAnalysisModelId(analysisModelId); List <JC_RegionoutageconfigModel> removeList = new List <JC_RegionoutageconfigModel>(); List <Jc_JcsdkzInfo> removeSDKZControlList = new List <Jc_JcsdkzInfo>(); if (regionOutageByModelList != null && regionOutageByModelList.Count > 0) { var oriControlList = regionOutageByModelList.Where(q => q.ControlStatus == 1).ToList(); //var oriRemoveControlList = regionOutageByModelList.Where(q => q.ControlStatus == 0).ToList(); foreach (var item in oriControlList) { if (!updateList.Where(q => q.ControlStatus == 1).ToList().Exists(q => q.PointId == item.PointId)) { removeList.Add(item); } } /* * foreach (var item in oriRemoveControlList) * { * if (!updateList.Where(q => q.ControlStatus == 0).ToList().Exists(q => q.PointId == item.PointId)) * { * var switchModelId = ObjectConverter.Copy<JC_RegionoutageconfigModel, JC_RegionoutageconfigModel>(item); * switchModelId.AnalysisModelId = switchModelId.RemoveModelId; * removeList.Add(switchModelId); * } * } */ } if (removeList.Count > 0) { IEnumerable <IGrouping <string, JC_RegionoutageconfigModel> > removeSDKZModelGroup = removeList.GroupBy(p => p.AnalysisModelId); foreach (var removeSDKZModelList in removeSDKZModelGroup) { string queryAnalysisModelId = removeSDKZModelList.FirstOrDefault().AnalysisModelId; BasicResponse <List <Jc_JcsdkzInfo> > analysisZKResponse = manualCrossControlService.GetManualCrossControlByTypeZkPoint(new ManualCrossControlGetByTypeZkPointRequest() { ZkPoint = queryAnalysisModelId, Type = (short)Enums.ControlType.LargeDataAnalyticsAreaPowerOff }); if (analysisZKResponse != null && analysisZKResponse.Data != null && analysisZKResponse.Data.Count > 0) { foreach (var removeSDKZModel in removeSDKZModelList) { BasicResponse <Jc_DefInfo> cachedPoint = pointDefineCacheService.PointDefineCacheByPointIdRequeest(new Sys.Safety.Request.Cache.PointDefineCacheByPointIdRequeest() { PointID = removeSDKZModel.PointId }); if (null != cachedPoint && cachedPoint.Data != null) { Jc_JcsdkzInfo removeSDKZInfo = analysisZKResponse.Data.FirstOrDefault(q => q.Bkpoint == cachedPoint.Data.Point); if (null != removeSDKZInfo) { removeSDKZControlList.Add(removeSDKZInfo); } } } } } } TransactionsManager.BeginTransaction(() => { if (removeSDKZControlList.Count > 0) { manualCrossControlService.DeleteManualCrossControls(new ManualCrossControlsRequest() { ManualCrossControlInfos = removeSDKZControlList }); } _Repository.DeleteUserRoleByAnalysisModelId(analysisModelId); _Repository.AddJC_RegionOutageConfigList(_jC_RegionOutageConfig.ToList()); }); if (Basic.Framework.Data.PlatRuntime.Items.ContainsKey(DataContract.UserRoleAuthorize.KeyConst.RegionOutageChangedKey)) { Basic.Framework.Data.PlatRuntime.Items[DataContract.UserRoleAuthorize.KeyConst.RegionOutageChangedKey] = DateTime.Now; } else { Basic.Framework.Data.PlatRuntime.Items.Add(DataContract.UserRoleAuthorize.KeyConst.RegionOutageChangedKey, DateTime.Now); } var jC_RegionOutageConfig = new BasicResponse <List <JC_RegionOutageConfigInfo> >(); jC_RegionOutageConfig.Data = jC_RegionOutageConfigListAddRequest.JC_RegionOutageConfigInfoList; return(jC_RegionOutageConfig); }
public BasicResponse <List <JC_RegionOutageConfigInfo> > AddJC_RegionOutageConfigList(RegionOutageConfigListAddRequest jC_RegionOutageConfigListAddRequest) { return(_regionOutageConfigService.AddJC_RegionOutageConfigList(jC_RegionOutageConfigListAddRequest)); }