| | |
| | | [HttpPost] |
| | | [Route("AGVSeriesReports")] |
| | | public ReturnResults AGVSeriesReports(UpdateTaskState model) { |
| | | //var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | | //var task = db.Queryable<TN_Task>().Where(t => t.S_CODE == model.TaskID).First(); |
| | | //if (task == null) return new ReturnResults(); |
| | | //if (task.S_B_STATE == "完成" && task.N_B_STATE == 3 || task.S_B_STATE == "错误" && task.N_B_STATE == 4) { |
| | | // return new ReturnResults(); |
| | | //} |
| | | |
| | | var agvTaskState = new AgvTaskState() { |
| | | task_no = model.TaskID, |
| | | forklift_no = model.ForkliftNo, |
| | |
| | | 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状态一键回报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); |
| | | |
| | |
| | | |
| | | try { |
| | | |
| | | |
| | | using (var tran = db.UseTran()) { |
| | | LogHelper.Info("LogCntrCg:" + JsonConvert.SerializeObject(locCntrCg)); |
| | | if (string.IsNullOrEmpty(locCntrCg.LocCode)) return ""; |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// DEBUG:模拟输送线产线满托盘下线流程 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [Route("AddInboundTask")] |
| | | public string AddInboundTask(AddInboundTaskInfo model) { |
| | |
| | | }; |
| | | |
| | | var endLoc = db.Queryable<TN_Location>() |
| | | .Where(a => Settings.AreaMap[AreaName.K空托存放区].Contains(a.S_AREA_CODE)) |
| | | .Where(a => Settings.AreaMap[AreaName.M满托货架区].Contains(a.S_AREA_CODE)) |
| | | .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y") // 筛选:未上锁 |
| | | .Where(a => a.N_CURRENT_NUM == 0) // 筛选:空货位 |
| | | .OrderBy(l => l.N_LAYER) |
| | |
| | | var cntId = locCntrRel.S_CNTR_CODE; |
| | | var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); |
| | | |
| | | LocationHelper.LockLoc(ref startLoc, 2); // 起点出库锁 |
| | | LocationHelper.LockLoc(ref endLoc, 1); // 终点入库锁 |
| | | LocationHelper.LockStartLoc(ref startLoc); // 起点出库锁 |
| | | LocationHelper.LockEndLoc(ref endLoc); // 终点入库锁 |
| | | |
| | | using (var tran = db.Ado.UseTran()) { |
| | | if (db.Insertable<TN_CG_Detail>(cgDetail).ExecuteCommand() <= 0) { |
| | |
| | | } |
| | | |
| | | public class AddInboundTaskInfo { |
| | | /// <summary> |
| | | /// 物料编码 |
| | | /// </summary> |
| | | public string ItemCode { get; set; } |
| | | /// <summary> |
| | | /// 批次号 |
| | | /// </summary> |
| | | public string BatchNo { get; set; } |
| | | /// <summary> |
| | | /// 容器编码 |
| | | /// </summary> |
| | | public string CntrCode { get; set; } |
| | | /// <summary> |
| | | /// 起始货位 |
| | | /// </summary> |
| | | public string StartLoc { get; set; } |
| | | } |
| | | |
| | |
| | | /// AGV 小车号 |
| | | /// </summary> |
| | | public string ForkliftNo { set; get; } |
| | | /// <summary> |
| | | /// AGV 下一个状态 |
| | | /// </summary> |
| | | public int NextState { set; get; } |
| | | ///// <summary> |
| | | ///// AGV 下一个状态 |
| | | ///// </summary> |
| | | //public int NextState { set; get; } |
| | | } |
| | | |
| | | public class FalseOk { |