lixiaojun
2024-12-11 393d0a648f1cb3ff845b01b530a4a7bf7eca21cd
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -2161,7 +2161,11 @@
                working.ModelID = vm.ModelID;
                working.Name = vm.Name;
                working.WorkingInfo = JsonHelper.Object2Json(vm.WorkingInfo);
                working.MonitorInfo = JsonHelper.Object2Json(vm.MonitorInfo);
                var useWorkingMonitorInfo = vm.MonitorInfo?.Where(x => x.PropValue.HasValue).ToList();
                if (useWorkingMonitorInfo != null && useWorkingMonitorInfo.Count > 0)
                {
                    working.MonitorInfo = JsonHelper.Object2Json(useWorkingMonitorInfo);
                }
                working.SortCode = vm.SortCode;
                working.Description = vm.Description;
@@ -2231,9 +2235,7 @@
                #endregion
            };
            dlg.ShowDialog();
        }
        //水力计算
@@ -2246,18 +2248,61 @@
        #region 导出报告
        private void barBtnExportWord_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        private async void barBtnExportWord_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var fileName = FileDialogHelper.SaveWordDoc("导出Word报告");
            if (string.IsNullOrEmpty(fileName))
            {
                return;
            }
            var vm = new ReportViewModel();
            vm.ProjectName = _project.Name;
            vm.Description = _project.Description;
            SimulationWordReport word = new SimulationWordReport();
            word.Create(fileName, vm);
            var vm = new SimulationWorkingReportViewModel();
            vm.ReportType = "模拟工况运行报告";
            vm.Info = new SimulationReportInfoItemViewModel()
            {
                Name = _project.Name,
                Description = _project.Description,
            };
            vm.Pumps = new List<SimulationReportPumpItemViewModel>();
            var pumps = _hydroInfo.Pumps;
            foreach (var pump in _hydroInfo.Pumps)
            {
                var pumpItem = new SimulationReportPumpItemViewModel();
                pumpItem.Name = pump.Name;
                pumpItem.ModelType = pumpItem.ModelType;
                pumpItem.SerialNO = (_hydroInfo.Pumps.IndexOf(pump) + 1).ToString();
                pumpItem.RatedQ = $"{pump.RatedQ ?? 0}m³/h";
                pumpItem.RatedH = $"{pump.RatedH ?? 0}m";
                pumpItem.RatedP = $"{pump.RatedP}kW";
                pumpItem.RatedN = $"{pump.RatedN ?? 0}r/min";
                vm.Pumps.Add(pumpItem);
                var pumpDb = await BLLFactory<HStation.BLL.AssetsPumpMain>.Instance.GetByIDEx(long.Parse(pump.DbId));
                if (pumpDb != null)
                {
                    if (pumpDb.PropContent != null && pumpDb.PropContent.Count > 0)
                    {
                        var ratedUProp = pumpDb.PropContent.Find(x => x.TagName == HStation.Assets.PumpDataType.RatedVoltage);
                        if (ratedUProp != null)
                        {
                            pumpItem.RatedU = ratedUProp.PropValue;
                        }
                        var ratedIProp = pumpDb.PropContent.Find(x => x.TagName == HStation.Assets.PumpDataType.RatedCurrent);
                        if (ratedIProp != null)
                        {
                            pumpItem.RatedI = ratedIProp.PropValue;
                        }
                        var ratedFProp = pumpDb.PropContent.Find(x => x.TagName == HStation.Assets.PumpDataType.RatedFactor);
                        if (ratedFProp != null)
                        {
                            pumpItem.RatedF = ratedFProp.PropValue;
                        }
                    }
                }
            }
            var reportHelper = new SimulationWorkingReportHelper();
            reportHelper.Create(fileName, vm);
            TipFormHelper.ShowInfo("导出成功!");
        }
        #endregion
@@ -2636,6 +2681,11 @@
        //删除方案
        private async void DeleteScheme()
        {
            var bol = XtraMessageBox.Show("请问是否删除当前方案?", "询问", MessageBoxButtons.YesNo) == DialogResult.Yes;
            if (!bol)
            {
                return;
            }
            if (_scheme == null)
            {
                return;