| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Runtime.ConstrainedExecution; |
| | | using System.Web.Http; |
| | | |
| | |
| | | returnResult.ResultList.Add(temp4); |
| | | |
| | | agvTaskState.state = 5; |
| | | var temp5 = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp5); |
| | | |
| | | agvTaskState.state = 6; |
| | | var temp6 = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp6); |
| | | |
| | | agvTaskState.state = 2; |
| | | var temp2 = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp2); |
| | | |
| | | return returnResult; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 模拟AGV回报任务状态(指定下一个状态,用于需要分段测试的场景)<br/> |
| | | /// 性能相对较差,仅用于测试,一般不使用 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [Route("AgvReports")] |
| | | public ReturnResults AgvReports(AgvReportsInfo model) { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | ReturnResults returnResult = new ReturnResults(); |
| | | returnResult.ResultList = new List<ReturnResult>(); |
| | | var agvTaskState = new AgvTaskState() { |
| | | task_no = model.TaskId, |
| | | forklift_no = model.ForkliftNo, |
| | | }; |
| | | |
| | | var taskAction = db.Queryable<TN_Task_Action>() |
| | | .Where(t => t.S_TASK_CODE == model.TaskId) |
| | | .OrderBy(t => new { create = SqlFunc.Desc(t.T_CREATE) }).First(); // 最后一个Action状态 |
| | | |
| | | var lastState = taskAction?.N_ACTION_CODE ?? 0; |
| | | |
| | | if (model.NextState <= 0 || model.NextState >= 7) { |
| | | LogHelper.Info("小车回报状态不在134562的范围内"); |
| | | } |
| | | |
| | | // 0 ==> 1,3,4,5,6,2 |
| | | if (lastState == 0 && model.NextState >= 1) { |
| | | agvTaskState.state = 1; |
| | | var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp); |
| | | } |
| | | // 0,1 ==> 3,4,5,6,2 |
| | | if (lastState < 2 && model.NextState >= 2) { |
| | | agvTaskState.state = 3; |
| | | var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp); |
| | | } |
| | | // 0,1,3 ==> 4,5,6,2 |
| | | if (lastState < 4 && lastState != 2 && (model.NextState >= 3 || model.NextState == 2)) { |
| | | agvTaskState.state = 4; |
| | | var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp); |
| | | } |
| | | // 0,1,3,4 ==> 5,6,2 |
| | | if (lastState < 5 && lastState != 2 && (model.NextState >= 4 || model.NextState == 2)) { |
| | | agvTaskState.state = 5; |
| | | var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp); |
| | | } |
| | | // 0,1,3,4,5 ==> 6,2 |
| | | if (lastState < 6 && lastState != 2 && (model.NextState >= 5 || model.NextState == 2)) { |
| | | agvTaskState.state = 6; |
| | | var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp); |
| | | } |
| | | // 0,1,3,4,5,6 ==> 2 |
| | | if (lastState != 2 && model.NextState == 2) { |
| | | agvTaskState.state = 2; |
| | | var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp); |
| | | } |
| | | |
| | | return returnResult; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// AGV状态一键回报134 |
| | | /// </summary> |
| | | /// <param name="model">容器号</param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [Route("AGVSeriesReports14")] |
| | | public ReturnResults AGVSeriesReports14(UpdateTaskState model) { |
| | | var agvTaskState = new AgvTaskState() { |
| | | task_no = model.TaskID, |
| | | forklift_no = model.ForkliftNo, |
| | | state = 1 |
| | | }; |
| | | ReturnResults returnResult = new ReturnResults(); |
| | | returnResult.ResultList = new List<ReturnResult>(); |
| | | |
| | | var temp1 = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp1); |
| | | |
| | | agvTaskState.state = 3; |
| | | var temp3 = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp3); |
| | | |
| | | agvTaskState.state = 4; |
| | | var temp4 = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp4); |
| | | |
| | | return returnResult; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// AGV状态一键回报562 |
| | | /// </summary> |
| | | /// <param name="model">容器号</param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [Route("AGVSeriesReports62")] |
| | | public ReturnResults AGVSeriesReports62(UpdateTaskState model) { |
| | | var agvTaskState = new AgvTaskState() { |
| | | task_no = model.TaskID, |
| | | forklift_no = model.ForkliftNo, |
| | | state = 5 |
| | | }; |
| | | ReturnResults returnResult = new ReturnResults(); |
| | | returnResult.ResultList = new List<ReturnResult>(); |
| | | |
| | | var temp5 = WCSCore.OperateAgvTaskStatus(agvTaskState); |
| | | returnResult.ResultList.Add(temp5); |
| | | |