| | |
| | | using IStation.CalcModel; |
| | | using IStation.Common; |
| | | using IStation.Dto; |
| | | using IStation.ZyDto; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System.Web; |
| | | using System.Web.Http; |
| | | using System.Web.Http; |
| | | |
| | | namespace IStation.WebApi.Controllers |
| | | { |
| | |
| | | public class AnaPrjController : ApiController |
| | | { |
| | | /// <summary> |
| | | /// |
| | | /// |
| | | /// </summary> |
| | | /// <param name="day"></param> |
| | | /// <returns></returns> |
| | | [Route("Debug")] |
| | | [HttpGet] |
| | | public IStation.Dto.ApiResult Debug(string info) |
| | | { |
| | | IStation.LogHelper.Info("debug:"+ info); |
| | | { |
| | | IStation.LogHelper.Info("debug:" + info); |
| | | |
| | | //IStation.CalcModel.AnaPrj entity = new IStation.CalcModel.AnaPrj(); |
| | | //entity.ID = "123"; |
| | |
| | | //var dal = new IStation.DAL.AnaProject(); |
| | | //dal.Insert(entity, ana_request); |
| | | |
| | | |
| | | var dal = new IStation.DAL.AnaProject(); |
| | | var aa = dal.GetLastRecord(); |
| | | return new IStation.Dto.ApiResult<string >("ok"); |
| | | return new IStation.Dto.ApiResult<string>("ok"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// |
| | | /// </summary> |
| | | /// <param name="day"></param> |
| | | /// <returns></returns> |
| | | [Route("GetPrjByDay")] |
| | | [Route("GetDefaultPrjByStartDay")] |
| | | [HttpGet] |
| | | public IStation.Dto.ApiResult GetPrjByDay(string day) |
| | | public IStation.Dto.ApiResult GetDefaultPrjByStartDay(string day) |
| | | { |
| | | if (day == null) |
| | | { |
| | |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 格式不正确" }; |
| | | } |
| | | IStation.CalcModel.AnaRequestBase requestBase = null; |
| | | var prj = Common.HistoryAnaPrjFileHelper.GetByDay(d,out requestBase); |
| | | |
| | | var prj = Common.HistoryAnaPrjFileHelper.GetByStartDay(d, out requestBase); |
| | | return new IStation.Dto.ApiResult<IStation.CalcModel.AnaPrj>(prj); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// 远程计算, 用于调试众毅 |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <returns></returns> |
| | | [Route("Calc")] |
| | | [HttpPost] |
| | | public IStation.Dto.ApiResult Calc([FromBody] ZyPrjRequest request) |
| | | { |
| | | LogHelper.Info(JsonHelper.Object2Json(request)); |
| | | if (request == null) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "request is null" }; |
| | | } |
| | | if (string.IsNullOrEmpty(request.StartTime)) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "StartTime is null" }; |
| | | } |
| | | if (string.IsNullOrEmpty(request.EndTime)) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "EndTime is null" }; |
| | | } |
| | | |
| | | DateTime start_timme = DateTime.Now; |
| | | DateTime end_timme = DateTime.Now; |
| | | if (!DateTime.TryParse(request.StartTime, out start_timme)) |
| | | { |
| | | IStation.LogHelper.Error(string.Format("ZyPrjRequest Time:{0}-{1} StartTime is error format", start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "StartTime is error format" }; |
| | | } |
| | | if (!DateTime.TryParse(request.EndTime, out end_timme)) |
| | | { |
| | | IStation.LogHelper.Error(string.Format("ZyPrjRequest Time:{0}-{1} EndTime is error format", start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "EndTime is error format" }; |
| | | } |
| | | if (end_timme < start_timme.AddMinutes(60)) |
| | | { |
| | | IStation.LogHelper.Error(string.Format("ZyPrjRequest Time:{0}-{1} 时间范围错误,间隔过短", start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "时间范围错误,间隔过短" }; |
| | | } |
| | | if (end_timme > start_timme.AddDays(1)) |
| | | { |
| | | IStation.LogHelper.Error(string.Format("ZyPrjRequest Time:{0}-{1} 时间范围错误,不能超过24小时", start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "时间范围错误,不能超过24小时" }; |
| | | } |
| | | |
| | | IStation.CalcModel.AnaRequest anaRequest = new AnaRequest(); |
| | | anaRequest.CalcOptType = (eCalcOptType)IStation.AnaGlobalParas.Setting.OptSortType; |
| | | anaRequest.StartTime = start_timme; |
| | | anaRequest.EndTime = end_timme; |
| | | anaRequest.WaterLevels长江 = ZyPrjController.GetTide3Day(Model.eTideSouce.Book, start_timme); |
| | | |
| | | #region 取水总量 |
| | | |
| | | if (!string.IsNullOrEmpty(request.TotalFlowIn)) |
| | | { |
| | | double TotalFlowIn = 0; |
| | | if (!double.TryParse(request.TotalFlowIn, out TotalFlowIn)) |
| | | { |
| | | IStation.LogHelper.Info(string.Format("Zy Prj Time:{0}-{1} , 注意取水总量单位是吨,当前参数参数过小", |
| | | start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "注意取水总量单位是吨,当前参数参数过小" }; |
| | | } |
| | | if (TotalFlowIn < 10000) |
| | | { |
| | | IStation.LogHelper.Info(string.Format("Zy Prj Time:{0}-{1} , 注意取水总量单位是吨,当前参数参数过小", |
| | | start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "注意取水总量单位是吨,当前参数参数过小" }; |
| | | } |
| | | |
| | | anaRequest.TotalFlowIn = TotalFlowIn; |
| | | } |
| | | |
| | | #endregion 取水总量 |
| | | |
| | | #region 水位要求 |
| | | |
| | | if (!string.IsNullOrEmpty(request.MaxReservoirLevelTime)) |
| | | { |
| | | anaRequest.MaxReservoirLevelTime = request.MaxReservoirLevelTime; |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(request.MaxReservoirLevel)) |
| | | { |
| | | double MaxReservoirLevel = 0; |
| | | if (!double.TryParse(request.MaxReservoirLevel, out MaxReservoirLevel)) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "请输入合理的水位要求值" }; |
| | | } |
| | | if (MaxReservoirLevel < 1 || MaxReservoirLevel > 10) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "请输入合理的水位要求值" }; |
| | | } |
| | | anaRequest.MaxReservoirLevel = MaxReservoirLevel; |
| | | } |
| | | else |
| | | { |
| | | if (string.IsNullOrEmpty(request.TotalFlowIn)) |
| | | { |
| | | IStation.LogHelper.Info(string.Format("Zy Prj Time:{0}-{1} , 请输入取水总量或水位要求", |
| | | start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "请输入取水总量或水位要求" }; |
| | | } |
| | | } |
| | | |
| | | #endregion 水位要求 |
| | | |
| | | #region 供水量 |
| | | |
| | | if (string.IsNullOrEmpty(request.TotalFlowOut)) |
| | | {//用预测值 |
| | | #region 用预测值 |
| | | |
| | | anaRequest.PerHourFlowOut = new List<double>(); |
| | | IStation.DAL.WaterPredictRecord dal = new DAL.WaterPredictRecord(); |
| | | var water_records = dal.GetByHourRangle(start_timme, end_timme); |
| | | //LogHelper.Info(water_records.Count.ToString()); |
| | | if (water_records == null) |
| | | { |
| | | IStation.LogHelper.Info(string.Format("Zy Prj Time:{0}-{1} , 水位预测数据为空,请先保持水位预测服务正常运行", |
| | | start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "水位预测数据为空,请先保持水位预测服务正常运行" }; |
| | | } |
| | | var count = (end_timme - start_timme).TotalHours; |
| | | if (water_records.Count != count) |
| | | { |
| | | IStation.LogHelper.Info(string.Format("Zy Prj Time:{0}-{1} , 预测数据获取失败,数据条无法匹配, 检查是否预测服务中断", |
| | | start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "预测数据获取失败,数据条无法匹配, 检查是否预测服务中断" }; |
| | | } |
| | | |
| | | foreach (var r in water_records) |
| | | { |
| | | if (r.States == 0) |
| | | { |
| | | var error_info11 = string.Format("预测数据异常,无法进行水位计算:{0} {1},{2}", r.DayHour, r.LastPredictValue, r.Description); |
| | | IStation.LogHelper.Info(string.Format("Zy Prj Time:{0}-{1} , {2}}", |
| | | start_timme, end_timme, error_info11)); |
| | | return new IStation.Dto.ApiResult<string>() |
| | | { |
| | | Code = ApiResultCode.Error, |
| | | Data = error_info11 |
| | | }; |
| | | } |
| | | anaRequest.PerHourFlowOut.Add(r.LastPredictValue);//计算中用吨 |
| | | } |
| | | |
| | | #endregion 用预测值 |
| | | } |
| | | else |
| | | { |
| | | double TotalFlowOut = 0; |
| | | if (!double.TryParse(request.TotalFlowOut, out TotalFlowOut)) |
| | | { |
| | | IStation.LogHelper.Info(string.Format("Zy Prj Time:{0}-{1} , 注意取水总量单位是吨,当前参数参数过小", |
| | | start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "注意供水总量单位是吨,当前参数参数过小" }; |
| | | } |
| | | if (TotalFlowOut < 10000) |
| | | { |
| | | IStation.LogHelper.Info(string.Format("Zy Prj Time:{0}-{1} , 注意取水总量单位是吨,当前参数参数过小", |
| | | start_timme, end_timme)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "注意供水总量单位是吨,当前参数参数过小" }; |
| | | } |
| | | //TotalFlowOut = TotalFlowOut ;//计算中用吨 |
| | | List<double> list = new List<double>(); |
| | | var count = (end_timme - start_timme).TotalHours; |
| | | for (var d = start_timme; d <= end_timme; d = d.AddHours(1)) |
| | | { |
| | | list.Add(TotalFlowOut / count); |
| | | } |
| | | anaRequest.PerHourFlowOut = list; |
| | | } |
| | | |
| | | #endregion 供水量 |
| | | |
| | | //开始时的开机状态 |
| | | List<int> StartOpenPumpIndexArray = new List<int>(); |
| | | if (!string.IsNullOrEmpty(request.StartOpenPumpIndexArray)) |
| | | { |
| | | var sss = request.StartOpenPumpIndexArray.Split(','); |
| | | foreach (var item in sss) |
| | | { |
| | | if (int.TryParse(item, out int index)) |
| | | { |
| | | StartOpenPumpIndexArray.Add(index); |
| | | } |
| | | } |
| | | } |
| | | anaRequest.IsKnownStartOpenPump = true; |
| | | anaRequest.StartOpenPumpIndexArray = StartOpenPumpIndexArray; |
| | | |
| | | //陈行水库水位 |
| | | if (string.IsNullOrEmpty(request.StartReservoirLevel)) |
| | | { |
| | | IStation.LogHelper.Info(" 未设置开始时水库水位 (Error: StartReservoirLevel is null)"); |
| | | return new IStation.Dto.ApiResult<string>() { Code = ApiResultCode.Error, Data = "未设置开始时水库水位 (Error: StartReservoirLevel is null) " }; |
| | | } |
| | | anaRequest.StartReservoirLevel = Convert.ToDouble(request.StartReservoirLevel); |
| | | if (anaRequest.StartReservoirLevel < 2) |
| | | { |
| | | IStation.LogHelper.Info(string.Format(" 设置开始时水库水位的数据过小 (Error: StartReservoirLevel is {0}})", |
| | | anaRequest.StartReservoirLevel)); |
| | | return new IStation.Dto.ApiResult<string>() |
| | | { |
| | | Code = ApiResultCode.Error, |
| | | Data = string.Format(" 设置开始时水库水位的数据过小 (Error: StartReservoirLevel is {0}})", |
| | | anaRequest.StartReservoirLevel) |
| | | }; |
| | | } |
| | | //bool isTemp = false; |
| | | //if (!string.IsNullOrEmpty(request.IsTemporary)) |
| | | //{ |
| | | // isTemp = Convert.ToBoolean(request.IsTemporary); |
| | | //} |
| | | |
| | | var calcHelper = new IStation.CalcPrjHelper(); |
| | | AnaPrj defaultPrj = null; |
| | | string error_info = calcHelper.Calc(anaRequest, out defaultPrj); |
| | | |
| | | if (!string.IsNullOrEmpty(error_info) || defaultPrj == null) |
| | | { |
| | | var er = string.Format("Zy Prj Time:{0}-{1} , 计算错误, 原因是:{2} ,Request::: {3}", |
| | | start_timme, end_timme, error_info, JsonHelper.Object2Json(anaRequest)); |
| | | |
| | | IStation.LogHelper.Info(er); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "计算错误, 原因是:" + error_info }; |
| | | } |
| | | else |
| | | { |
| | | IStation.LogHelper.Info(string.Format("Zy Prj Time:{0}-{1} , 计算成功", start_timme, end_timme)); |
| | | } |
| | | |
| | | //保存方案,不需要保存, 由客户端,点击保存再保存 |
| | | //if (!isTemp) |
| | | //{ |
| | | // var ret = Common.HistoryAnaPrjFileHelper.SavePrj(IStation.AnaGlobalParas.Setting, anaRequest, defaultPrj); |
| | | //} |
| | | |
| | | #region 推送 |
| | | |
| | | //if (!string.IsNullOrEmpty(request.IsSubmit) && Convert.ToBoolean(request.IsSubmit)) |
| | | //{ |
| | | // Task.Run(() => |
| | | // { |
| | | // _ = ZyProjectHelper.SubmitPrj(defaultPrj); |
| | | // }); |
| | | //} |
| | | |
| | | #endregion 推送 |
| | | |
| | | return new IStation.Dto.ApiResult<AnaPrj>(defaultPrj) { Code = ApiResultCode.Success }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取初始水位,和当时的开机状态, 用于调试众毅 |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <returns></returns> |
| | | [Route("GetAnaStartPara")] |
| | | [HttpGet] |
| | | public IStation.Dto.ApiResult GetAnaStartPara(string AnaStartTime) |
| | | { |
| | | if (string.IsNullOrEmpty(AnaStartTime)) { return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 格式不正确" }; } |
| | | |
| | | try |
| | | { |
| | | DateTime last_end_time; |
| | | if (!DateTime.TryParse(AnaStartTime, out last_end_time)) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day 格式不正确" }; |
| | | } |
| | | |
| | | IStation.CalcModel.AnaRequestBase requestBase; |
| | | var prj = Common.HistoryAnaPrjFileHelper.GetByEndTime大于(last_end_time, out requestBase); |
| | | if (prj == null) |
| | | { |
| | | IStation.LogHelper.Info(string.Format("GetAnaStartPara 未找到{0}结束的分析项目", AnaStartTime)); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = string.Format("未找到{0}结束的分析项目", AnaStartTime) }; |
| | | } |
| | | |
| | | DateTime calcTime = DateTime.Now;//new DateTime(2024, 6, 11, 17, 10, 10);// |
| | | |
| | | IStation.CalcModel.ZyStartInfo zyStartInfo = new IStation.CalcModel.ZyStartInfo(); |
| | | if (prj.EndTimeOpenPumpStatus != null && prj.EndTimeOpenPumpStatus.Count > 0) |
| | | { |
| | | zyStartInfo.OpenPumpStatus = string.Join(",", prj.EndTimeOpenPumpStatus); |
| | | } |
| | | |
| | | var near_pt = prj.NearPointTime(calcTime); |
| | | if (near_pt == null) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = string.Format("在项目中, 未找到{0}的水库水位数据", DateTime.Now) }; |
| | | } |
| | | |
| | | var new_yuce = near_pt.WaterLevelH;//昨天预测水位 |
| | | double now_level = ZyConnectHelper.GetRealReservoirWaterLevel();//实时水位 |
| | | if (prj.BlockTimes == null || prj.BlockTimes.Count() == 0) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "在项目中, BlockTimes值为空" }; |
| | | } |
| | | if (prj.BlockTimes.Last().PointTimes == null || prj.BlockTimes.Last().PointTimes.Count() == 0) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "在项目中, 最后一个 BlockTime的 PointTimes 属性值为空" }; |
| | | } |
| | | var lz = prj.BlockTimes.Last().PointTimes.Last().WaterLevelH; |
| | | double start_yuce = lz + now_level - new_yuce; |
| | | |
| | | IStation.LogHelper.Info(string.Format("GetAnaStartPara {0},{1},{2},{3} ", lz, now_level, new_yuce, start_yuce)); |
| | | |
| | | zyStartInfo.ReservoirWaterLevel = start_yuce; |
| | | return new IStation.Dto.ApiResult<IStation.CalcModel.ZyStartInfo>(zyStartInfo) { Code = ApiResultCode.Success }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | IStation.LogHelper.Error("GetAnaStartPara line 277", ex); |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = string.Format("在项目中, 接口报错: {0} ", ex.Message) }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="day"></param> |
| | | /// <returns></returns> |
| | |
| | | var list = HistoryAnaPrjFileHelper.GetExistStatus(year, month); |
| | | if (list == null) |
| | | { |
| | | list = new List<string >(); |
| | | list = new List<string>(); |
| | | } |
| | | |
| | | |
| | | return new IStation.Dto.ApiResult<List<string>>(list); |
| | | } |
| | | |
| | | ///// <summary> |
| | | ///// |
| | | ///// </summary> |
| | | ///// <param name="day"></param> |
| | | ///// <returns></returns> |
| | | //[Route("GetLastTimeOpenPumpCount")] |
| | | //[HttpGet] |
| | | //public IStation.Dto.ApiResult GetLastTimeOpenPumpCount(DateTime day) |
| | | //{ |
| | | // var status = HistoryAnaPrjFileHelper.GetLastTime_OpenPumpStatus (day); |
| | | // if(status == null) |
| | | // { |
| | | // return new IStation.Dto.ApiResult<int>(-1); |
| | | // } |
| | | // else |
| | | // { |
| | | // return new IStation.Dto.ApiResult<int>(status.Count); |
| | | // } |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="day"></param> |
| | | /// <returns></returns> |
| | | [Route("GetLastTimeOpenPumpCount")] |
| | | [HttpGet] |
| | | public IStation.Dto.ApiResult GetLastTimeOpenPumpCount(DateTime day) |
| | | { |
| | | var status = HistoryAnaPrjFileHelper.GetLastTime_OpenPumpStatus (day); |
| | | if(status == null) |
| | | { |
| | | return new IStation.Dto.ApiResult<int>(-1); |
| | | } |
| | | else |
| | | { |
| | | return new IStation.Dto.ApiResult<int>(status.Count); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="day"></param> |
| | | /// <returns></returns> |
| | | [Route("GetLastTimeOpenPumpStatus")] |
| | | [HttpGet] |
| | | public IStation.Dto.ApiResult GetLastTimeOpenPumpStatus(DateTime day) |
| | | { |
| | | var status = HistoryAnaPrjFileHelper.GetLastTime_OpenPumpStatus(day); |
| | | if(status == null) |
| | | return new IStation.Dto.ApiResult<string >(""); |
| | | else |
| | | return new IStation.Dto.ApiResult<string >(string.Join(",",status)); |
| | | } |
| | | ///// <summary> |
| | | ///// |
| | | ///// </summary> |
| | | ///// <param name="day"></param> |
| | | ///// <returns></returns> |
| | | //[Route("GetLastTimeOpenPumpStatus")] |
| | | //[HttpGet] |
| | | //public IStation.Dto.ApiResult GetLastTimeOpenPumpStatus(DateTime day) |
| | | //{ |
| | | // var status = HistoryAnaPrjFileHelper.GetLastTime_OpenPumpStatus(day); |
| | | // if(status == null) |
| | | // return new IStation.Dto.ApiResult<string >(""); |
| | | // else |
| | | // return new IStation.Dto.ApiResult<string >(string.Join(",",status)); |
| | | //} |
| | | |
| | | public class SavePrjRequest |
| | | { |
| | | { |
| | | public IStation.CalcModel.AnaSetting settting { get; set; } |
| | | public IStation.CalcModel.AnaRequestBase requestBase { get; set; } |
| | | public IStation.CalcModel.AnaPrj prj { get; set; } |
| | | public bool isSubmit { get; set; } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <returns></returns> |
| | |
| | | [HttpPost] |
| | | public async Task<IStation.Dto.ApiResult> SavePrj([FromBody] SavePrjRequest request) |
| | | { |
| | | if (request == null ) |
| | | if (request == null) |
| | | { |
| | | return new IStation.Dto.ApiResult() { Code = ApiResultCode.Error, Message = "day null" }; |
| | | } |
| | |
| | | //var dal = new IStation.DAL.AnaProject(); |
| | | //dal.Insert(request.prj, request.requestBase); |
| | | |
| | | |
| | | if (request.isSubmit) |
| | | { |
| | | string error = await ZyProjectHelper.SubmitPrj(request.prj);//, (id) => { IStation.LogHelper.Info("SavePrj success id=" + id); }, (info) => { IStation.LogHelper.Info("SavePrj failse info:" + info); });//.Result; |
| | | |
| | | if(!string.IsNullOrEmpty(error)) |
| | | if (!string.IsNullOrEmpty(error)) |
| | | { |
| | | IStation.LogHelper.Info("Submit prj finish (fail) day:" + request.requestBase.StartTime + ",error:" + error); |
| | | return new IStation.Dto.ApiResult<string>(error) { Code = ApiResultCode.Error}; |
| | | return new IStation.Dto.ApiResult<string>(error) { Code = ApiResultCode.Error }; |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | return new IStation.Dto.ApiResult<bool>(ret) { Code = ApiResultCode.Success }; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | } |