namespace IStation.Application
|
{
|
/// <summary>
|
/// 陈行输水调度配置
|
/// </summary>
|
[AllowAnonymous]
|
[Route("OpenApi/Dispatch/Config")]
|
[ApiDescriptionSettings("Schedule", Name = "调度配置", Order = 1)]
|
public class ScheduleConfig_Controller : IDynamicApiController, ITransient
|
{
|
private readonly Service.Station _service_station = new();
|
private readonly Service.ScheduleConfig _service_schedule_config = new();
|
|
|
/// <summary>
|
/// 获取配置
|
/// </summary>
|
[Route("Get")]
|
[HttpGet]
|
[NonUnify]
|
public ChScheduleConfigDto Get()
|
{
|
var request_id = Yw.YitIdHelper.NextId();
|
var log_title = "调度配置";
|
Log.Info(request_id, log_title, "获取!");
|
var schedule_config = _service_schedule_config.Get();
|
if (schedule_config == null)
|
{
|
Log.Info(request_id, log_title, "获取:ScheduleConfig文件缺失!");
|
return default;
|
}
|
var dto = schedule_config.Adapt<Model.ChScheduleConfig, ChScheduleConfigDto>();
|
return dto;
|
}
|
|
|
/// <summary>
|
/// 更新配置
|
/// </summary>
|
[Route("Update")]
|
[HttpGet]
|
[NonUnify]
|
public SaveChScheduleConfigOutput Update()
|
{
|
var update_id = Yw.YitIdHelper.NextId();
|
var log_title = "调度配置";
|
Log.Info(update_id, log_title, "更新!");
|
|
try
|
{
|
var schedule_config = _service_schedule_config.Get();
|
if (schedule_config == null)
|
{
|
Log.Info(update_id, log_title, "更新失败:ScheduleConfig文件缺失!");
|
return new SaveChScheduleConfigOutput() { Result = false, Msg = "ScheduleConfig文件缺失!" };
|
}
|
|
var msg = GlobalHelper.GetFlagCumulativeRuntimeDict(out Dictionary<int, double> station1_flag_cumulative_run_time_dict, out Dictionary<int, double> station2_flag_cumulative_run_time_dict, 35);
|
if (!string.IsNullOrEmpty(msg))
|
{
|
Log.Info(update_id, log_title, $"更新失败:{msg}");
|
return new SaveChScheduleConfigOutput() { Result = false, Msg = $"更新失败:{msg}" };
|
}
|
|
schedule_config.Station1.FlagCumulativeRuntimeDict = station1_flag_cumulative_run_time_dict;
|
schedule_config.Station2.FlagCumulativeRuntimeDict = station2_flag_cumulative_run_time_dict;
|
var bol = _service_schedule_config.Save(schedule_config);
|
if (!bol)
|
{
|
Log.Info(update_id, log_title, $"更新失败:Save()");
|
return new SaveChScheduleConfigOutput() { Result = false, Msg = "更新失败:Save()" };
|
}
|
|
Log.Info(update_id, log_title, $"更新成功!");
|
Log.Debug(update_id, log_title, JsonHelper.Object2Json(schedule_config));
|
|
}
|
catch (Exception ex)
|
{
|
Log.Error(update_id, log_title, "更新失败!", ex);
|
return new SaveChScheduleConfigOutput() { Result = false, Msg = ex.Message };
|
}
|
|
return new SaveChScheduleConfigOutput() { Result = true, Msg = "更新成功!" };
|
|
}
|
|
|
/// <summary>
|
/// 保存配置
|
/// </summary>
|
[AllowAnonymous]
|
[Route("Save")]
|
[HttpPost]
|
[NonUnify]
|
public SaveChScheduleConfigOutput Save([Required] ChScheduleConfigInput input)
|
{
|
if (input == null)
|
{
|
return new SaveChScheduleConfigOutput() { Result = false, Msg = "入参不能为空!" };
|
}
|
|
var request_id = Yw.YitIdHelper.NextId();
|
var log_title = "调度配置";
|
Log.Info(request_id, log_title, "保存!");
|
Log.Debug(request_id, log_title, JsonHelper.Object2Json(input));
|
|
var schedule_config = input.Adapt<ChScheduleConfigInput, Model.ChScheduleConfig>();
|
var bol = _service_schedule_config.Save(schedule_config);
|
if (!bol)
|
{
|
Log.Info(request_id, log_title, $"保存失败:Save()");
|
return new SaveChScheduleConfigOutput() { Result = false, Msg = "保存失败:Save()" };
|
}
|
|
Log.Info(request_id, log_title, $"保存成功!");
|
return new SaveChScheduleConfigOutput() { Result = true, Msg = "保存成功!" };
|
}
|
|
}
|
}
|