using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Drawing;
|
using System.Data;
|
using System.Linq;
|
using System.Text;
|
using System.Windows.Forms;
|
using DevExpress.XtraEditors;
|
using IStation.CalcModel;
|
using System.Threading.Tasks;
|
using DevExpress.XtraRichEdit.Model;
|
using IStation.BLL;
|
|
namespace IStation.WinFrmUI.CalcErQu
|
{
|
public partial class pageCalcParas : XtraUserControl
|
{
|
private bool _isInitialPageFinished = false;
|
public pageCalcParas()
|
{
|
InitializeComponent();
|
|
|
SetStyle();
|
|
RegistButtonClick();
|
|
this.winBottomPnl.ButtonClick += new DevExpress.XtraBars.Docking2010.ButtonEventHandler(this.winBottomPnl_ButtonClick);
|
this.winBottomPnl.ButtonUnchecked += new DevExpress.XtraBars.Docking2010.ButtonEventHandler(this.winBottomPnl_ButtonUnchecked);
|
this.winBottomPnl.ButtonChecked += new DevExpress.XtraBars.Docking2010.ButtonEventHandler(this.winBottomPnl_ButtonChecked);
|
|
|
|
}
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public void InitialDataSource()
|
{
|
var anaSetting = IStation.AnaGlobalParas.Setting;
|
if (anaSetting == null)
|
return;
|
dateEditDay.DateTime = DateTime.Today;
|
dateEditDay.Properties.MaxValue = DateTime.Today.AddDays(1);
|
Task.Run(() =>
|
{
|
// 获取今日预测值(24点时)
|
//var v = IStation.BLL.ReservoirWaterLevel.GetTodayEndPredictiveValue();
|
//if (v > 0)
|
//{
|
// this.Invoke(new Action(() =>
|
// {
|
// textEdit当前水库水位.Text = Math.Round( v,2).ToString();
|
// }));
|
//}
|
|
var last3 = BLL.TotalWaterIn.GetLastDay3();
|
if (last3 != null && last3.Count == 3)
|
{
|
this.Invoke(new Action(() =>
|
{
|
this.bci前一日取水总量.Tag = last3[0].ToString();
|
this.bci前一日取水总量.Caption = string.Format("昨日总量:{0}", last3[0]);
|
|
this.bci前两日取水总量.Tag = last3[1].ToString();
|
this.bci前两日取水总量.Caption = string.Format("前日总量:{0}", last3[1]);
|
|
this.bci前三日取水总量.Tag = last3[2].ToString();
|
this.bci前三日取水总量.Caption = string.Format("大前日总量:{0}", last3[2]);
|
}));
|
}
|
});
|
|
imageComboClacOptType.SelectedIndex = anaSetting.OptSortType;
|
|
checkEdit供水总量.Checked = anaSetting.HaveTargetTotalFlow;
|
|
//textEdit当前水库水位.Text = anaSetting.LastReservoirCurrentLevel;
|
//textEdit最低水位限制.Text = anaSetting.LastReservoirMinLevel;
|
//textEdit最高水位限制.Text = anaSetting.LastReservoirMaxLevel;
|
//textEdit供水总量万.Text = anaSetting.LastTargetTotalFlow.ToString();
|
|
|
RefreshRiver();
|
|
|
|
|
}
|
|
|
|
#region 获取
|
|
public IStation.CalcModel.AnaRequest GetAnaRequest()
|
{
|
IStation.CalcModel.AnaRequest request = new CalcModel.AnaRequest();
|
request.CalcOptType = GetOptCalcType();
|
request.StartTime = new DateTime(dateEditDay.DateTime.Year, dateEditDay.DateTime.Month, dateEditDay.DateTime.Day, Convert.ToInt32(spinEditStart.EditValue), 0, 0);
|
if(Convert.ToInt32(spinEditStart.EditValue) < Convert.ToInt32(spinEditEnd.EditValue))
|
{
|
request.EndTime = new DateTime(dateEditDay.DateTime.Year, dateEditDay.DateTime.Month, dateEditDay.DateTime.Day, Convert.ToInt32(spinEditEnd.EditValue), 0, 0);
|
}
|
else
|
{
|
request.EndTime = new DateTime(dateEditDay.DateTime.Year, dateEditDay.DateTime.Month, dateEditDay.DateTime.Day, Convert.ToInt32(spinEditEnd.EditValue), 0, 0);
|
request.EndTime = request.EndTime.AddDays(1);
|
}
|
|
|
request.WaterLevels长江 = this._waterLevels长江;
|
request.StartOpenCount = Convert.ToInt32(
|
imageComboCurrentOpenCount.EditValue);
|
|
if (string.IsNullOrEmpty(textEdit当前水库水位.Text))
|
{
|
textEdit当前水库水位.Focus();
|
MessageBox.Show("请输入 当前水库水位");
|
return null;
|
}
|
request.CurrentWaterBoxLevel = Convert.ToDouble(textEdit当前水库水位.Text);
|
|
|
|
if (checkEdit供水总量.Checked)
|
{
|
if (string.IsNullOrEmpty(textEdit取水总量万.Text))
|
{
|
MessageBox.Show("请输入供水总量");
|
return null;
|
}
|
request.TotalFlow取水总量 = 10000 * Convert.ToDouble(textEdit取水总量万.Text);
|
}
|
|
|
|
|
if (!string.IsNullOrEmpty(textEdit最高水位限制.Text))
|
{
|
request.MaxLimitWaterBoxLevel = Convert.ToDouble(textEdit最高水位限制.Text);
|
|
if (!string.IsNullOrEmpty(textEdit最高水位时间.Text))
|
{
|
request.MaxLimitWaterBoxTime = textEdit最高水位时间.Text;
|
}
|
}
|
|
|
|
|
|
|
|
|
|
|
var flow_list = reservoirParasRequestCtrl.GetFlowHourValues();
|
if (flow_list == null || flow_list.Count() < 1)
|
{
|
MessageBox.Show("请输入水库用水参数");
|
return null;
|
}
|
request.ReservoirDropFlow = flow_list;
|
|
// request.ReservoirMaxLimitHours = reservoirParasRequestCtrl.GetMaxLevelHourValues();
|
// request.ReservoirMinLimitHours = reservoirParasRequestCtrl.GetMinLevelHourValues();
|
|
return request;
|
}
|
|
public eCalcOptType GetOptCalcType()
|
{
|
eCalcOptType sortType = eCalcOptType.功率;
|
if (this.imageComboClacOptType.SelectedIndex == 0)
|
{
|
sortType = eCalcOptType.功率;
|
}
|
else if (this.imageComboClacOptType.SelectedIndex == 1)
|
{
|
sortType = eCalcOptType.电费;
|
}
|
return sortType;
|
}
|
|
|
#endregion
|
|
|
#region 操作提示
|
DevExpress.Utils.FlyoutPanel _flyoutPanel = null;
|
public void ShowFlyoutTipInfo()
|
{
|
//if (_flyoutPanel != null)
|
//{
|
// // if (_flyoutPanel.FlyoutPanelState.IsActive) return;
|
// return;
|
//}
|
//if (!_isCurrentPage)
|
// return;
|
|
//if (SPump.WinFrmUI.XPump.Properties.Settings.Default.ApplicationHangYeUseNumber > 5)
|
// return;
|
|
//System.Timers.Timer t = new System.Timers.Timer(2000);//实例化Timer类,设置时间间隔
|
//t.Elapsed += tShowFlyoutTipInfo;//到达时间的时候执行事件
|
//t.AutoReset = false;//设置是执行一次(false)还是一直执行(true)
|
//t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件
|
//Control.CheckForIllegalCrossThreadCalls = false;
|
|
//SPump.WinFrmUI.XPump.Properties.Settings.Default.ApplicationJieZhiUseNumber++;
|
//SPump.WinFrmUI.XPump.Properties.Settings.Default.Save();
|
}
|
void tShowFlyoutTipInfo(object source, System.Timers.ElapsedEventArgs e)
|
{
|
//if (this.InvokeRequired)
|
//{
|
// this.Invoke(new MethodInvoker(delegate { tShowFlyoutTipInfo(source, e); }));
|
// return;
|
//}
|
|
//this._flyoutPanel = new DevExpress.Utils.FlyoutPanel();
|
//((System.ComponentModel.ISupportInitialize)(this._flyoutPanel)).BeginInit();
|
//this._flyoutPanel.SuspendLayout();
|
|
//DevExpress.XtraEditors.LabelControl flyoutPanelHintLabel = new DevExpress.XtraEditors.LabelControl();
|
//flyoutPanelHintLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
|
//flyoutPanelHintLabel.Location = new System.Drawing.Point(15, 20);
|
//flyoutPanelHintLabel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
//flyoutPanelHintLabel.Name = "flyoutPanelHintLabel";
|
//flyoutPanelHintLabel.Size = new System.Drawing.Size(255, 40);
|
//flyoutPanelHintLabel.TabIndex = 0;
|
//if (SPump.WinFrmUI.Localization.IsCN)
|
// flyoutPanelHintLabel.Text = "提醒:如果您想进入选型状态,\r\n请点击此命令。";
|
//else
|
// flyoutPanelHintLabel.Text = GetTranslateString("提醒:如果您想进入选型状态") + "\r\n" + GetTranslateString("请点击此命令");
|
|
|
|
//this._flyoutPanel.Appearance.BackColor = System.Drawing.Color.Pink;
|
//this._flyoutPanel.Appearance.Options.UseBackColor = true;
|
//this._flyoutPanel.Controls.Add(flyoutPanelHintLabel);
|
|
//this._flyoutPanel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
//this._flyoutPanel.Name = "flyoutPanel";
|
//this._flyoutPanel.OptionsBeakPanel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
|
//this._flyoutPanel.OptionsBeakPanel.BorderColor = System.Drawing.Color.Silver;
|
//this._flyoutPanel.OptionsButtonPanel.AllowGlyphSkinning = true;
|
//this._flyoutPanel.OptionsButtonPanel.ButtonPanelHeight = 36;
|
//// this._flyoutPanel.OptionsButtonPanel.ButtonPanelLocation = DevExpress.Utils.FlyoutPanelButtonPanelLocation.
|
//DevExpress.Utils.ToolTipItem toolTipItem1 = new DevExpress.Utils.ToolTipItem();
|
//toolTipItem1.Text = "Exit";
|
//DevExpress.Utils.SuperToolTip superToolTip1 = new DevExpress.Utils.SuperToolTip();
|
//superToolTip1.Items.Add(toolTipItem1);
|
//this._flyoutPanel.OptionsButtonPanel.Buttons.AddRange(new DevExpress.XtraEditors.ButtonPanel.IBaseButton[] {
|
//new DevExpress.Utils.PeekFormButton("Button", SPump.WinFrmUI.XPump.Properties.Resources.Close16, -1, DevExpress.XtraEditors.ButtonPanel.ImageLocation.Default, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "Exit", false, -1, true, superToolTip1, true, false, true, null, "Exit", -1, false)});
|
//this._flyoutPanel.OptionsButtonPanel.ShowButtonPanel = true;
|
//this._flyoutPanel.Padding = new System.Windows.Forms.Padding(0, 36, 0, 0);
|
//this._flyoutPanel.Size = new System.Drawing.Size(280, 72);
|
//this._flyoutPanel.TabIndex = 6;
|
//this._flyoutPanel.ButtonClick += new DevExpress.Utils.FlyoutPanelButtonClickEventHandler(this.OnFlyoutPanelButtonClick);
|
//this._flyoutPanel.OptionsBeakPanel.BeakLocation = DevExpress.Utils.BeakPanelBeakLocation.Bottom;
|
////this._flyoutPanel.Options.
|
//this.Controls.Add(this._flyoutPanel);
|
|
|
|
//Point pt = new Point(this.winBottomPnl.Width / 2 + this.winBottomPnl.ButtonInterval /2 , 0);
|
//pt = this.winBottomPnl.PointToScreen(pt);
|
//_flyoutPanel.ShowBeakForm(pt);
|
|
//((System.ComponentModel.ISupportInitialize)(this._flyoutPanel)).EndInit();
|
//this._flyoutPanel.ResumeLayout(false);
|
//this._flyoutPanel.PerformLayout();
|
}
|
|
private void OnFlyoutPanelButtonClick(object sender, DevExpress.Utils.FlyoutPanelButtonClickEventArgs e)
|
{
|
string tag = e.Button.Tag as string;
|
if (string.Equals(tag, "Exit", StringComparison.OrdinalIgnoreCase))
|
{
|
if (this._flyoutPanel != null)
|
this._flyoutPanel.HideBeakForm();
|
}
|
}
|
#endregion
|
|
|
public event MethodInvoker OnNextPageEvent;//下一步委托事件
|
// public event MethodInvoker OnBeforePageEvent;//上一步委托事件
|
|
|
private void NextStep()
|
{
|
var anaSetting = IStation.AnaGlobalParas.Setting;
|
if (anaSetting == null)
|
return;
|
anaSetting.OptSortType = imageComboClacOptType.SelectedIndex;
|
anaSetting.HaveTargetTotalFlow = checkEdit供水总量.Checked;
|
|
//anaSetting.LastReservoirCurrentLevel =
|
// textEdit当前水库水位.Text;
|
//anaSetting.LastReservoirMinLevel =
|
// textEdit最低水位限制.Text;
|
//anaSetting.LastReservoirMaxLevel =
|
// textEdit最高水位限制.Text;
|
//anaSetting.LastTargetTotalFlow = Convert.ToDouble(textEdit供水总量万.Text);
|
//IStation.SettingsHelper.Save();
|
|
|
//PredictWater predictWater = new PredictWater();
|
// //算法
|
//var Predict= predictWater.GetPredictWaterOneDay(new DateTime(2023, 3, 1, 0, 0, 0), new DateTime(2023, 3, 1, 23, 0, 0), 30,out string error);
|
// //平均数
|
// var Ana = predictWater.GetAnaWaterOneDay(new DateTime(2023, 3, 1, 0, 0, 0), new DateTime(2023, 3, 1, 23, 0, 0), 30,out string error1);
|
|
|
|
|
|
|
|
if (OnNextPageEvent != null)
|
{
|
OnNextPageEvent.Invoke();
|
}
|
|
}
|
|
private void dateEditDay_EditValueChanged(object sender, EventArgs e)
|
{
|
RefreshRiver();
|
|
var day = this.dateEditDay.DateTime.Date;
|
|
var open_num = BLL.AnaPrj.GetLastTimeOpenPumpCount(day.AddDays(-1));
|
imageComboCurrentOpenCount.EditValue = open_num;
|
}
|
|
private void btnRefresh水位_Click(object sender, EventArgs e)
|
{
|
RefreshRiver();
|
}
|
|
private List<Model.TimeWaterLevel> _waterLevels长江 = null;
|
private void RefreshRiver()
|
{
|
if (_isInitialPageFinished == false)
|
return;
|
|
|
|
Initial长江水位();
|
}
|
private bool Initial长江水位()
|
{
|
//DateTime rangeStartTime = this.dateEditDay.DateTime.Date.AddDays(-2);
|
//DateTime rangeEndTime = this.dateEditDay.DateTime.Date.AddDays(1);
|
//GetAnaRangeTime(out rangeStartTime, out rangeEndTime);
|
|
|
WaitFrmHelper.ShowWaitForm(this);
|
string error = null;
|
try
|
{
|
string benchmark = "";
|
_waterLevels长江 = viewRealTimeRiverWaterLevelCtrl1.SetBindingData3Day(this.dateEditDay.DateTime, out benchmark);
|
if (benchmark != null && _waterLevels长江 != null)
|
{
|
var anaSetting = IStation.AnaGlobalParas.Setting;
|
|
layoutControlGroup2.Text = "长江水位: 暂时认为潮汐查询的数据( 就是陈行基准,如不是,需要修正)";
|
// layoutControlGroup2.Text = string.Format
|
//("长江水位: 暂时认为潮汐查询的数据( 就是陈行基准,如不是,需要修正),网站返回备注是:{0}",
|
//benchmark);
|
var base_level = anaSetting.RiverWaterLevelBase;
|
if (Math.Abs(base_level) > 0.1)
|
{
|
List<Model.TimeWaterLevel> waterLevels长江xz = new List<Model.TimeWaterLevel>();
|
foreach (var m in _waterLevels长江)
|
{
|
Model.TimeWaterLevel m2 = new Model.TimeWaterLevel(m);
|
m2.Level += base_level;
|
waterLevels长江xz.Add(m2);
|
}
|
this._waterLevels长江 = waterLevels长江xz;
|
}
|
|
|
return true;
|
}
|
else
|
{
|
layoutControlGroup2.Text = "长江水位:" + error;
|
return false;
|
}
|
}
|
catch (Exception ex)
|
{
|
error = ex.Message;
|
}
|
finally
|
{
|
WaitFrmHelper.HideWaitForm(this);
|
if (!string.IsNullOrEmpty(error))
|
{
|
MessageBox.Show(error);
|
}
|
}
|
return false;
|
}
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="startTime"></param>
|
/// <param name="endTime"></param>
|
private void GetAnaRangeTime(out DateTime startTime, out DateTime endTime)
|
{
|
var anaSetting = IStation.AnaGlobalParas.Setting;
|
|
var day = this.dateEditDay.DateTime.Date;
|
var startHour = anaSetting.StartHourPerDay;
|
if (startHour < 1)
|
{
|
startTime = day;
|
endTime = startTime.AddDays(1);
|
}
|
else
|
{
|
startTime = new DateTime(day.Year, day.Month, day.Day, startHour, 0, 0);
|
endTime = startTime.AddDays(1);
|
}
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void pageCalcParas_Load(object sender, EventArgs e)
|
{
|
_isInitialPageFinished = true;
|
}
|
|
|
//
|
private void winBottomPnl_ButtonChecked(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
|
{
|
|
|
}
|
|
//
|
private void winBottomPnl_ButtonUnchecked(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
|
{
|
//var btn = e.Button as DevExpress.XtraBars.Docking2010.WindowsUIButton;
|
//if (btn == null || btn.Tag == null)
|
// return;
|
//if (_ctrlSelectParas4General == null)
|
// return;
|
|
//var tag = btn.Tag.ToString();
|
//if (tag == "更多设计点")
|
//{
|
// _ctrlSelectParas4General.SetMorePointTab(btn.Checked,false );
|
//}
|
|
}
|
|
//
|
private void winBottomPnl_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
|
{
|
}
|
|
public void SetStyle()
|
{
|
//this.winBottomPnl.BackColor = SPump.WinFrmUI.CorpSkinStyleHelper.TileNavPane_NormalBackColor;
|
//this.labNext.ForeColor = SPump.WinFrmUI.CorpSkinStyleHelper.SkinMainColor;
|
//this.labPre.ForeColor = SPump.WinFrmUI.CorpSkinStyleHelper.SkinMainColor;
|
//this.labSelected.ForeColor = SPump.WinFrmUI.CorpSkinStyleHelper.SkinMainColor;
|
//this.winBottomPnl.Appearance.BackColor = SPump.WinFrmUI.CorpSkinStyleHelper.TileNavPane_NormalBackColor;
|
//this.winBottomPnl.AppearanceHovered.BackColor = SPump.WinFrmUI.CorpSkinStyleHelper.TileNavPane_HoveredBackColor;
|
//this.winBottomPnl.AppearanceSelected.BackColor = SPump.WinFrmUI.CorpSkinStyleHelper.TileNavPane_SelectBackColor;
|
}
|
|
|
//获取翻译语言
|
private string GetTranslateString(string text)
|
{
|
return text;
|
}
|
/// <summary>
|
///
|
/// </summary>
|
private void RegistButtonClick()
|
{
|
foreach (var btn in winBottomPnl.Buttons)
|
{
|
if (btn is DevExpress.XtraBars.Docking2010.WindowsUIButton)
|
{
|
var ui_btn = btn as DevExpress.XtraBars.Docking2010.WindowsUIButton;
|
if (ui_btn == null)
|
continue;
|
if (ui_btn.Tag == null)
|
continue;
|
switch (ui_btn.Tag.ToString())
|
{
|
case "分析设置":
|
ui_btn.Click += (sender, e) =>
|
{
|
AnaSettingMgrDlg frm = new AnaSettingMgrDlg();
|
if (frm.ShowDialog() != DialogResult.OK)
|
return;
|
};
|
break;
|
case "电价信息":
|
ui_btn.Click += (sender, e) =>
|
{
|
ViewElecPriceByDay frm = new ViewElecPriceByDay();
|
frm.SetBindingData(dateEditDay.DateTime.Date);
|
frm.Show();
|
};
|
break;
|
default:
|
break;
|
}
|
}
|
}
|
|
|
foreach (var btn in winStepPnl.Buttons)
|
{
|
if (btn is DevExpress.XtraBars.Docking2010.WindowsUIButton)
|
{
|
var ui_btn = btn as DevExpress.XtraBars.Docking2010.WindowsUIButton;
|
if (ui_btn == null)
|
continue;
|
if (ui_btn.Tag == null)
|
continue;
|
switch (ui_btn.Tag.ToString())
|
{
|
case "下一步":
|
ui_btn.Click += (sender, e) =>
|
{
|
NextStep();
|
};
|
break;
|
|
default:
|
break;
|
}
|
}
|
}
|
|
}
|
|
private void checkEdit供水总量_CheckedChanged(object sender, EventArgs e)
|
{
|
textEdit取水总量万.Enabled = checkEdit供水总量.Checked;
|
}
|
|
internal bool IsReCalc()
|
{
|
return checkEdit重新计算方案.Checked;
|
}
|
|
|
private void BTN计算方案_Click(object sender, EventArgs e)
|
{
|
NextStep();
|
}
|
|
|
|
private void imageComboSouceWL_SelectedIndexChanged(object sender, EventArgs e)
|
{
|
if (imageComboSouceWL.SelectedIndex == 0)
|
viewRealTimeRiverWaterLevelCtrl1.SetTideSouce(Model.eTideSouce.Book);
|
else
|
viewRealTimeRiverWaterLevelCtrl1.SetTideSouce(Model.eTideSouce.Web);
|
|
Initial长江水位();
|
}
|
|
|
|
|
|
|
|
private void bci前一日取水总量_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
bci前一日取水总量.Checked = true;
|
bci前两日取水总量.Checked = false;
|
|
bci前三日取水总量.Checked = false;
|
if (bci前一日取水总量.Tag == null)
|
return;
|
|
textEdit取水总量万.Text = bci前一日取水总量.Tag .ToString();
|
}
|
|
private void bci前两日取水总量_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
bci前一日取水总量.Checked = false;
|
bci前两日取水总量.Checked = true;
|
bci前三日取水总量.Checked = false;
|
if (bci前两日取水总量.Tag == null)
|
return;
|
|
textEdit取水总量万.Text = bci前两日取水总量.Tag.ToString();
|
}
|
|
private void bci前三日取水总量_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
bci前两日取水总量.Checked = false;
|
bci前一日取水总量.Checked = false;
|
bci前三日取水总量.Checked = true;
|
if (bci前三日取水总量.Tag == null)
|
return;
|
|
textEdit取水总量万.Text = bci前三日取水总量.Tag.ToString();
|
}
|
|
private void labRefresh水位_Click(object sender, EventArgs e)
|
{ // 获取今日预测值(24点时)
|
//var v = IStation.BLL.ReservoirWaterLevel.GetTodayEndPredictiveValue();
|
//if (v > 0)
|
//{
|
// textEdit当前水库水位.Text = Math.Round(v, 2).ToString();
|
//}
|
//else
|
//{
|
// MessageBox.Show("计算失败,可能没有今日的调度方案");
|
//}
|
}
|
|
|
|
}
|
}
|