Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0
已删除1个文件
已重命名4个文件
已修改17个文件
| | |
| | | .Map(dest => dest.Flags, src => src.Flags) |
| | | .Map(dest => dest.UseStatus, src => Yw.Model.eUseStatus.Enable); |
| | | |
| | | config.ForType<AddXhsProjectSiteExtensionsInput, Model.XhsProjectSite>() |
| | | .Map(dest => dest.Paras, src => src.Paras) |
| | | .Map(dest => dest.Flags, src => src.Flags) |
| | | .Map(dest => dest.UseStatus, src => Yw.Model.eUseStatus.Enable); |
| | | |
| | | config.ForType<UpdateXhsProjectSiteInput, Model.XhsProjectSite>() |
| | | .Map(dest => dest.Paras, src => src.Paras) |
| | | .Map(dest => dest.Flags, src => src.Flags); |
| | |
| | | var project = input.Adapt<AddXhsProjectInput, Model.XhsProject>(); |
| | | project.SortCode = _service.GetMaxSortCode(0) + 1; |
| | | |
| | | var siteList = input.SiteList?.Select(x => x.Adapt<AddXhsProjectSiteExtensionsInput, Model.XhsProjectSite>()).ToList(); |
| | | var siteList = input.SiteList?.Select(x => x.Adapt<AddXhsProjectSiteInput, Model.XhsProjectSite>()).ToList(); |
| | | var id = _service.InsertEx(project, siteList); |
| | | return id; |
| | | } |
| | |
| | | .Map(dest => dest.Flags, src => src.Flags) |
| | | .Map(dest => dest.UseStatus, src => Yw.Model.eUseStatus.Enable); |
| | | |
| | | config.ForType<AddXhsProjectSiteExtensionsInput, Model.XhsProjectSite>() |
| | | .Map(dest => dest.Paras, src => src.Paras) |
| | | .Map(dest => dest.Flags, src => src.Flags) |
| | | .Map(dest => dest.UseStatus, src => Yw.Model.eUseStatus.Enable); |
| | | |
| | | config.ForType<UpdateXhsProjectSiteInput, Model.XhsProjectSite>() |
| | | .Map(dest => dest.Paras, src => src.Paras) |
| | | .Map(dest => dest.Flags, src => src.Flags); |
| | |
| | | var project = input.Adapt<AddXhsProjectInput, Model.XhsProject>(); |
| | | project.SortCode = _service.GetMaxSortCode(0) + 1; |
| | | |
| | | var siteList = input.SiteList?.Select(x => x.Adapt<AddXhsProjectSiteExtensionsInput, Model.XhsProjectSite>()).ToList(); |
| | | var siteList = input.SiteList?.Select(x => x.Adapt<AddXhsProjectSiteInput, Model.XhsProjectSite>()).ToList(); |
| | | var id = _service.InsertEx(project, siteList); |
| | | return id; |
| | | }); |
| | |
| | | return default; |
| | | } |
| | | var mapper = new MapperConfiguration(cfg => cfg.CreateMap<HStation.Vmo.XhsProjectExtensionsVmo, HStation.Dto.AddXhsProjectExtensionsInput>() |
| | | .ForMember(d => d.SiteList, opt => opt.MapFrom(src => Vmo2AddDtos(src.SiteList))) |
| | | .ForMember(d => d.SiteList, opt => opt.MapFrom(src => XhsProjectSite.Vmo2AddDtos(src.SiteList))) |
| | | ).CreateMapper(); |
| | | var dto = mapper.Map<HStation.Vmo.XhsProjectExtensionsVmo, HStation.Dto.AddXhsProjectExtensionsInput>(vmo); |
| | | return dto; |
| | |
| | | return default; |
| | | } |
| | | var mapper = new MapperConfiguration(cfg => cfg.CreateMap<HStation.Vmo.XhsProjectExtensionsVmo, HStation.Dto.AddXhsProjectExtensionsInput>() |
| | | .ForMember(d => d.SiteList, opt => opt.MapFrom(src => Vmo2AddDtos(src.SiteList))) |
| | | .ForMember(d => d.SiteList, opt => opt.MapFrom(src => XhsProjectSite.Vmo2AddDtos(src.SiteList))) |
| | | ).CreateMapper(); |
| | | var dtoList = mapper.Map<List<HStation.Vmo.XhsProjectExtensionsVmo>, List<HStation.Dto.AddXhsProjectExtensionsInput>>(vmoList); |
| | | return dtoList; |
| | | } |
| | | |
| | | //vmo to add dtos |
| | | internal static List<HStation.Dto.AddXhsProjectSiteExtensionsInput> Vmo2AddDtos(List<HStation.Vmo.XhsProjectSiteVmo> vmoList) |
| | | { |
| | | if (vmoList == null || vmoList.Count < 1) |
| | | { |
| | | return default; |
| | | } |
| | | var mapper = new MapperConfiguration(cfg => cfg.CreateMap<HStation.Vmo.XhsProjectSiteVmo, HStation.Dto.AddXhsProjectSiteExtensionsInput>() |
| | | ).CreateMapper(); |
| | | var dtoList = mapper.Map<List<HStation.Vmo.XhsProjectSiteVmo>, List<HStation.Dto.AddXhsProjectSiteExtensionsInput>>(vmoList); |
| | | return dtoList; |
| | | } |
| | | |
ÎļþÃû´Ó Dto/HStation.Dto.Xhs.Core/01-project/01-normal/XhsProjectStdDto.cs ÐÞ¸Ä |
| | |
| | | /// </summary> |
| | | public string Name { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 详ç»å°å |
| | | /// </summary> |
| | |
| | | /// <summary> |
| | | /// ç«ç¹å表 |
| | | /// </summary> |
| | | public List<AddXhsProjectSiteExtensionsInput> SiteList { get; set; } |
| | | public List<AddXhsProjectSiteInput> SiteList { get; set; } |
| | | } |
| | | } |
| | |
| | | public class AddXhsProjectSiteInput |
| | | { |
| | | |
| | | |
| | | /// <summary> |
| | | /// 项ç®id |
| | | /// </summary> |
| | | [Required, Range(1, long.MaxValue, ErrorMessage = "ProjectID å¿
须大äº0")] |
| | | public long ProjectID { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | return false; |
| | | }).ToList(); |
| | | |
| | | //计ç®è¿äºèç¹çå¿è½ï¼å¿è½è®¡ç®å
¬å¼ä¸ºï¼å¿è½=éæ°´é*èç¹æ°´å¤´ |
| | | |
| | | foreach (var node in negativeDemandNodes) |
| | | { |
| | | if (node is Node n) |
| | | { |
| | | double energyInW = GetEnergyPowerByQH(Math.Abs(dictNodes[n.Id].Demand), dictNodes[n.Id].Head); |
| | | var energyPoint = new EnergyPoint |
| | | { |
| | | Id = n.Id, |
| | | EnergyType = eEnergyType.Input, |
| | | EnergyPower = energyInW, |
| | | |
| | | }; |
| | | points.Add(energyPoint); |
| | | result.InputEnergy.Add(n.Id,new List<EnergyPoint> { energyPoint }); |
| | | result.InputTotalEnerge += energyInW; |
| | | } |
| | | } |
| | | |
| | | //æ¾å°ç®¡ç½ä¸éæ°´é为æ£çèç¹ |
| | | var positiveDemandNodes = network.GetAllNodes().Where(n => |
| | | { |
| | |
| | | return false; |
| | | }).ToList(); |
| | | |
| | | double minElev = 99999999; |
| | | |
| | | List<Node> DemandNodes=new List<Node>(); |
| | | DemandNodes.AddRange(negativeDemandNodes); |
| | | DemandNodes.AddRange(positiveDemandNodes); |
| | | foreach (var node in DemandNodes) |
| | | { |
| | | if (node is Junction n) |
| | | { |
| | | if (n.Elev < minElev) |
| | | { |
| | | minElev = n.Elev; |
| | | } |
| | | } |
| | | else if (node is Tank t) |
| | | { |
| | | if (t.PoolElev < minElev) |
| | | { |
| | | minElev = t.PoolElev; |
| | | } |
| | | } |
| | | else if (node is Reservoir r) |
| | | { |
| | | var elev = r.PoolElev == null ? 0 : (double)r.PoolElev; |
| | | if (elev < minElev) |
| | | { |
| | | minElev = elev; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //计ç®è¿äºèç¹çå¿è½ï¼å¿è½è®¡ç®å
¬å¼ä¸ºï¼å¿è½=éæ°´é*èç¹æ°´å¤´ |
| | | |
| | | foreach (var node in negativeDemandNodes) |
| | | { |
| | | if (node is Node n) |
| | | { |
| | | double energyInW = GetEnergyPowerByQH(Math.Abs(dictNodes[n.Id].Demand), dictNodes[n.Id].Head- minElev); |
| | | var energyPoint = new EnergyPoint |
| | | { |
| | | Id = n.Id, |
| | | EnergyType = eEnergyType.Input, |
| | | EnergyPower = energyInW, |
| | | |
| | | }; |
| | | points.Add(energyPoint); |
| | | result.InputEnergy.Add(n.Id, new List<EnergyPoint> { energyPoint }); |
| | | result.InputTotalEnerge += energyInW; |
| | | } |
| | | } |
| | | |
| | | |
| | | foreach (var node in positiveDemandNodes) |
| | | { |
| | | if (node is Node n) |
| | | { |
| | | double energyInW = GetEnergyPowerByQH(Math.Abs(dictNodes[n.Id].Demand), dictNodes[n.Id].Head); |
| | | double energyInW = GetEnergyPowerByQH(Math.Abs(dictNodes[n.Id].Demand), dictNodes[n.Id].Head- minElev); |
| | | var energyPoint = new EnergyPoint |
| | | { |
| | | Id = n.Id, |
| | |
| | | x.Roughness = 110; |
| | | } |
| | | string statusString = x.LinkStatus == PipeStatus.Closed ? "CLOSED" : ""; |
| | | pipeSb.AppendLine($"{x.Id}\t{x.StartNode.Id}\t{x.EndNode.Id}\t{x.Length}\t{x.Diameter}\t{x.Roughness}\t{x.MinorLoss}\t{statusString}\t;\t");// + $"{p.Level}"); |
| | | double minorLoss = x.MinorLoss + x.EndMinorloss + x.StartMinorloss; |
| | | pipeSb.AppendLine($"{x.Id}\t{x.StartNode.Id}\t{x.EndNode.Id}\t{x.Length}\t{x.Diameter}\t{x.Roughness}\t{minorLoss}\t{statusString}\t;\t");// + $"{p.Level}"); |
| | | if (x.LinkStatus != PipeStatus.Open) |
| | | { |
| | | statusSb.AppendLine(x.Id + "\t" + statusString); |
| | |
| | | var labels = GetLabels(); |
| | | if (labels != null && labels.Count > 0) |
| | | { |
| | | _views.ForEach(x => x.SetLogicCalcuCustomLabels(labels)); |
| | | _views.ForEach(async x => await x.SetLogicCalcuCustomLabels(labels)); |
| | | return; |
| | | } |
| | | } |
| | | _views.ForEach(x => x.ClearLogicCalcuCustomLabels()); |
| | | _views.ForEach(async x => await x.ClearLogicCalcuCustomLabels()); |
| | | } |
| | | |
| | | //è·åè®¡ç®æ ç¾ |
| | |
| | | elementWorking.HeaderControl = ckEdit; |
| | | elementWorking.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item; |
| | | elementWorking.Text = working.Name; |
| | | elementWorking.Hint = working.Description; |
| | | elementWorking.Tag = working; |
| | | elementWorking.Click += async (sender, e) => |
| | | { |
| | |
| | | |
| | | /// <summary> |
| | | /// æ´æ°æ¹æ¡å·¥åµ |
| | | /// æ´æ°ï¼ä¼è§¦åæ´æ°äºä»¶ |
| | | /// </summary> |
| | | public void UpdateSchemeWorking(XhsSchemeVmo scheme, Yw.Vmo.HydroWorkingVmo working) |
| | | { |
| | |
| | | { |
| | | return; |
| | | } |
| | | var elementScheme = this.elementSchemeList.Elements.FirstOrDefault(x => x.Tag is XhsSchemeVmo && (x.Tag as XhsSchemeVmo).ID == scheme.ID); |
| | | var elementScheme = this.elementSchemeList.Elements.FirstOrDefault(x => (x.Tag is XhsSchemeVmo) && (x.Tag as XhsSchemeVmo).ID == scheme.ID); |
| | | if (elementScheme == null) |
| | | { |
| | | return; |
| | | } |
| | | elementScheme.Style = DevExpress.XtraBars.Navigation.ElementStyle.Group; |
| | | var ckEdit = new CheckEdit(); |
| | | ckEdit.Properties.AutoWidth = true; |
| | | ckEdit.Properties.Caption = string.Empty; |
| | | ckEdit.CheckedChanged += (sender, e) => |
| | | var element = elementScheme.Elements. |
| | | Where(x => (x.Tag is HydroWorkingVmo) && (x.Tag as HydroWorkingVmo).ID == working.ID).FirstOrDefault(); |
| | | if (element == null) |
| | | { |
| | | this.ProjectSiteSchemeWorkingCheckedEvent?.Invoke(scheme, working, ckEdit.Checked); |
| | | }; |
| | | this.accordionControl1.Controls.Add(ckEdit); |
| | | var elementWorking = new DevExpress.XtraBars.Navigation.AccordionControlElement(); |
| | | elementWorking.HeaderControl = ckEdit; |
| | | elementWorking.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item; |
| | | elementWorking.Text = working.Name; |
| | | elementWorking.Tag = working; |
| | | elementWorking.Click += async (sender, e) => |
| | | { |
| | | var hydroInfo = await GetSchemeHydroInfo(scheme, true); |
| | | this.ShowProjectSiteSchemeWorkingEvent?.Invoke(_project, _projectSite, scheme, hydroInfo, working, this.svgImg32[4]); |
| | | }; |
| | | elementScheme.Elements.Add(elementWorking); |
| | | return; |
| | | } |
| | | element.Tag = working; |
| | | element.Text = working.Name; |
| | | element.Hint = working.Description; |
| | | this.ProjectSiteSchemeWorkingUpdateEvent?.Invoke(scheme, working); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public void RemoveSchemeWorking(XhsSchemeVmo scheme, Yw.Vmo.HydroWorkingVmo working) |
| | | { |
| | | |
| | | if (_project == null) |
| | | { |
| | | return; |
| | | } |
| | | if (_projectSite == null) |
| | | { |
| | | return; |
| | | } |
| | | if (scheme == null) |
| | | { |
| | | return; |
| | | } |
| | | if (working == null) |
| | | { |
| | | return; |
| | | } |
| | | var elementScheme = this.elementSchemeList.Elements.FirstOrDefault(x => (x.Tag is XhsSchemeVmo) && (x.Tag as XhsSchemeVmo).ID == scheme.ID); |
| | | if (elementScheme == null) |
| | | { |
| | | return; |
| | | } |
| | | var element = elementScheme.Elements. |
| | | Where(x => (x.Tag is HydroWorkingVmo) && (x.Tag as HydroWorkingVmo).ID == working.ID).FirstOrDefault(); |
| | | if (element == null) |
| | | { |
| | | return; |
| | | } |
| | | if (element.HeaderControl != null) |
| | | { |
| | | this.accordionControl1.Controls.Remove(element.HeaderControl); |
| | | } |
| | | elementScheme.Elements.Remove(element); |
| | | if (elementScheme.Elements.Count < 1) |
| | | { |
| | | elementScheme.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item; |
| | | } |
| | | this.ProjectSiteSchemeWorkingRemoveEvent?.Invoke(scheme, working); |
| | | } |
| | | |
| | | |
| | | #endregion |
| | | |
| | | |
| | |
| | | var visualVmListHelper = GetVisualVmListHelper(); |
| | | var vm = visualVmListHelper.GetVisual(visual); |
| | | _propertyCtrl.SelectedObject = vm; |
| | | _propertyCtrl.UpdateRows(); |
| | | } |
| | | |
| | | //æ´æ°å±æ§æ§ä»¶ |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region é¢è²å级 |
| | | |
| | | var gradingHelper = await GetGradingHelper(); |
| | | gradingHelper.Set(); |
| | | |
| | | #endregion |
| | | |
| | | #region è®¡ç®æ ç¾ |
| | | |
| | | var calcuResultLabelHelper = await GetCalcuResultLabelHelper(); |
| | |
| | | this.simulationFunctionMgrCtrl1.CreateProjectSiteSchemeEvent += XhsProjectSimulationFunctionMgrCtrl1_CreateProjectSiteSchemeEvent; |
| | | this.simulationFunctionMgrCtrl1.ShowProjectSiteSchemeEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteSchemeEvent; |
| | | this.simulationFunctionMgrCtrl1.ShowProjectSiteSchemeWorkingEvent += XhsProjectSimulationFunctionMgrCtrl1_ShowProjectSiteSchemeWorkingEvent; |
| | | this.simulationFunctionMgrCtrl1.ProjectSiteSchemeWorkingCheckedEvent += SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingCheckedEvent; |
| | | this.simulationFunctionMgrCtrl1.ProjectSiteSchemeWorkingUpdateEvent += SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingUpdateEvent; |
| | | this.simulationFunctionMgrCtrl1.ProjectSiteSchemeWorkingRemoveEvent += SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingRemoveEvent; |
| | | } |
| | | |
| | | private XhsProjectVmo _project = null;//é¡¹ç® |
| | | private object _locker = new object();//éå®å¯¹è±¡ |
| | | |
| | | |
| | | /// <summary> |
| | | /// åå§åæ°æ®æº |
| | |
| | | { |
| | | var page = new XhsProjectSimulationWorkingPage(); |
| | | page.PageTitle.HeaderSvgImage = svgImage; |
| | | page.UpdateWorkingEvent += (rhs) => |
| | | { |
| | | this.simulationFunctionMgrCtrl1.UpdateSchemeWorking(scheme, rhs); |
| | | }; |
| | | page.RemoveWorkingEvent += (rhs) => |
| | | { |
| | | this.simulationFunctionMgrCtrl1.RemoveSchemeWorking(scheme, rhs); |
| | | }; |
| | | page.SetBindingData(project, projectSite, scheme, hydroInfo, working); |
| | | CreatePage(page, guid); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //项ç®ç«æ¹æ¡å·¥åµéæ©æ¹åäºä»¶ |
| | | private void SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingCheckedEvent(XhsSchemeVmo scheme, HydroWorkingVmo working, bool hasChecked) |
| | | { |
| | | var guid = new PageGuid() |
| | | { |
| | | Modular = this.PageGuid.Modular, |
| | | MoudingType = eMoudingType.Tab, |
| | | Function = SimulationFunctionHelper.Scheme, |
| | | TagName = scheme.ID.ToString() |
| | | }; |
| | | var page = FindPage(guid); |
| | | if (page == null) |
| | | { |
| | | return; |
| | | } |
| | | var ctrl = page as XhsProjectSimulationSchemePage; |
| | | if (ctrl == null) |
| | | { |
| | | return; |
| | | } |
| | | ctrl.UpdateWorkingCheckedList(working, hasChecked); |
| | | } |
| | | |
| | | //项ç®ç«æ¹æ¡å·¥åµæ´æ°äºä»¶ |
| | | private void SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingUpdateEvent(XhsSchemeVmo scheme, HydroWorkingVmo working) |
| | | { |
| | | var guid = new PageGuid() |
| | | { |
| | | Modular = this.PageGuid.Modular, |
| | | MoudingType = eMoudingType.Tab, |
| | | Function = SimulationFunctionHelper.Scheme, |
| | | TagName = scheme.ID.ToString() |
| | | }; |
| | | var page = FindPage(guid); |
| | | if (page == null) |
| | | { |
| | | return; |
| | | } |
| | | var ctrl = page as XhsProjectSimulationSchemePage; |
| | | if (ctrl == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | } |
| | | |
| | | //项ç®ç«æ¹æ¡å·¥åµç§»é¤äºä»¶ |
| | | private void SimulationFunctionMgrCtrl1_ProjectSiteSchemeWorkingRemoveEvent(XhsSchemeVmo scheme, HydroWorkingVmo working) |
| | | { |
| | | var guid = new PageGuid() |
| | | { |
| | | Modular = this.PageGuid.Modular, |
| | | MoudingType = eMoudingType.Tab, |
| | | Function = SimulationFunctionHelper.Scheme, |
| | | TagName = scheme.ID.ToString() |
| | | }; |
| | | var page = FindPage(guid); |
| | | if (page == null) |
| | | { |
| | | return; |
| | | } |
| | | var ctrl = page as XhsProjectSimulationSchemePage; |
| | | if (ctrl == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #region TabbedView ç¸å
³äºä»¶å¤çç¨åº |
| | |
| | | } |
| | | } |
| | | this.propertyGridControl1.SelectedObject = value; |
| | | this.propertyGridControl1.UpdateRows(); |
| | | } |
| | | } |
| | | |
| | |
| | | this.colModelType.Visible = true; |
| | | this.colElev.Visible = false; |
| | | this.colMinorLoss.Visible = false; |
| | | this.colCalcuPress.Visible = false; |
| | | this.colCalcuHead.Visible = false; |
| | | this.colHasDb.Visible = false; |
| | | this.colFlags.Visible = true; |
| | | this.colDescription.Visible = true; |
| | | this.colCalcuDemand.Visible = false; |
| | | this.colCalcuHead.Visible = false; |
| | | this.colCalcuPress.Visible = false; |
| | | this.colSet.Visible = false; |
| | | } |
| | | |
| | |
| | | this.colModelType.Visible = true; |
| | | this.colMaterial.Visible = true; |
| | | this.colCaliber.Visible = true; |
| | | this.colRunningThroughLoss.Visible = false; |
| | | this.colBranchThroughLoss.Visible = false; |
| | | this.colElev.Visible = false; |
| | | this.colMinorLoss.Visible = false; |
| | | this.colCalcuPress.Visible = false; |
| | | this.colCalcuHead.Visible = false; |
| | | this.colRunningThroughLoss.Visible = false; |
| | | this.colBranchThroughLoss.Visible = false; |
| | | this.colHasDb.Visible = false; |
| | | this.colFlags.Visible = true; |
| | | this.colDescription.Visible = true; |
| | | this.colCalcuDemand.Visible = false; |
| | | this.colCalcuHead.Visible = false; |
| | | this.colCalcuPress.Visible = false; |
| | | this.colSet.Visible = false; |
| | | } |
| | | |
| | |
| | | this.colModelType.Visible = true; |
| | | this.colMaterial.Visible = true; |
| | | this.colDiameter.Visible = true; |
| | | this.colLength.Visible = false; |
| | | this.colLength.Visible = true; |
| | | this.colRoughness.Visible = false; |
| | | this.colMinorLoss.Visible = false; |
| | | this.colCalcuFlow.Visible = false; |
| | | this.colCalcuVelocity.Visible = false; |
| | | this.colCalcuHeadLoss.Visible = false; |
| | | this.colHasDb.Visible = false; |
| | | this.colFlags.Visible = true; |
| | | this.colDescription.Visible = true; |
| | | this.colCalcuFrictionLoss.Visible = false; |
| | | this.colCalcuMinorLoss.Visible = false; |
| | | this.colCalcuHeadLoss.Visible = false; |
| | | this.colCalcuVelocity.Visible = false; |
| | | this.colCalcuFlow.Visible = false; |
| | | this.colSet.Visible = false; |
| | | } |
| | | |