| | |
| | | LogHelper.Info($"推送任务{mst.S_CODE},对应的Wcs出库任务未执行,暂不推送", "NDC"); |
| | | return false; |
| | | } |
| | | |
| | | //接驳位两个agv任务,a任务取货完成 推送b任务 |
| | | var agvTask = LocationHelper.GetConnectionTask(wmsWork.CONNECTION,"agv"); |
| | | |
| | | LogHelper.Info($"推送任务{mst.S_CODE},当前接驳位{wmsWork.CONNECTION},第一个agv任务信息"+JsonConvert.SerializeObject(agvTask), "NDC"); |
| | | //if (agvTask==null) |
| | | //{ |
| | | // LogHelper.Info($"推送任务{mst.S_CODE},当前接驳位{wmsWork.CONNECTION},agv任务没找到,暂不推送", "NDC"); |
| | | // return false; |
| | | //} |
| | | |
| | | if (agvTask != null) |
| | | { |
| | | if (agvTask.S_B_STATE != "取货完成") |
| | | { |
| | | LogHelper.Info($"推送任务{mst.S_CODE},当前接驳位{wmsWork.CONNECTION},agv任务{agvTask.S_CODE},状态{agvTask.S_B_STATE},暂不推送", "NDC"); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | //接驳位两个agv任务,a任务取货完成 推送b任务 |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | internal static LocationRecordsResult LocationRecords(LocationRecordsParme model) { |
| | | var result = new LocationRecordsResult(); |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | |
| | | internal static Result MesUdeItem(MesUdeItemParme model) |
| | | { |
| | |
| | | { |
| | | var task = TaskHelper.GetTaskByWorkNo(model.task_no, "agv"); |
| | | |
| | | var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no,"wcs"); |
| | | var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no, "wcs"); |
| | | |
| | | if (task != null && wcsTask != null) |
| | | if (task != null) |
| | | { |
| | | LogHelper.Info($"cancelTask1取消agv任务{task.S_CODE}:", "取消"); |
| | | if (task.S_B_STATE.Trim() == "未执行") |
| | | { |
| | | //未执行直接修改状态为取消 |
| | | LogHelper.Info("cancelTask1取消agv任务:", "取消"); |
| | | TaskHelper.opMesTask(task, 3); |
| | | TaskHelper.Fail(task); |
| | | TaskProcess.CacheBitCancelUpdate(task); |
| | | |
| | | if (task.S_TYPE.Contains("入库") || task.S_TYPE.Contains("回库")) |
| | | { |
| | | ContainerHelper.delCntr(task.S_CNTR_CODE); |
| | | ContainerHelper.delCntrItem(task.S_CNTR_CODE); |
| | | |
| | | } |
| | | else { |
| | | WcsTask.WcsCancellTask(wcsTask); |
| | | } |
| | | |
| | | |
| | | TaskHelper.Fail(wcsTask); |
| | | TaskProcess.OperateStatus(wcsTask, 7); |
| | | result.errCode = 0; |
| | | result.errMsg = "取消成功"; |
| | | result.success = true; |
| | | return result; |
| | | } |
| | | else if (task.S_B_STATE.Trim() != "取消" && task.S_B_STATE.Trim() != "失败") |
| | | else if (task.S_B_STATE.Trim() != "取消" && task.S_B_STATE.Trim() != "失败" && task.S_B_STATE.Trim() != "完成") |
| | | { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == task.S_CODE && a.S_ACTION == "4").First(); |
| | |
| | | result.success = false; |
| | | return result; |
| | | } |
| | | |
| | | //已推送但是没有完成或者取消,通知hosttoagv |
| | | TaskHelper.Fail(task); |
| | | |
| | | NDCApi.CancelOrder(task.S_CODE.Trim()); |
| | | TaskProcess.CacheBitCancelUpdate(task); |
| | | if (task.S_TYPE.Contains("入库") || task.S_TYPE.Contains("回库")) |
| | | { |
| | | ContainerHelper.delCntr(task.S_CNTR_CODE); |
| | | ContainerHelper.delCntrItem(task.S_CNTR_CODE); |
| | | ContainerHelper.delCntrLoc(task.S_CNTR_CODE); |
| | | } |
| | | else { |
| | | WcsTask.WcsCancellTask(wcsTask); |
| | | } |
| | | TaskHelper.Fail(wcsTask); |
| | | TaskProcess.OperateStatus(wcsTask, 7); |
| | | |
| | | TaskHelper.opMesTask(task, 3); |
| | | //已推送但是没有完成或者取消,通知hosttoagv |
| | | TaskHelper.Fail(task); |
| | | |
| | | NDCApi.CancelOrder(task.S_CODE.Trim()); |
| | | TaskProcess.CacheBitCancelUpdate(task); |
| | | |
| | | result.errCode = 0; |
| | | result.errMsg = "取消成功"; |
| | | result.success = true; |
| | |
| | | result.errMsg = $"{model.task_no}任务不存在"; |
| | | result.success = false; |
| | | } |
| | | |
| | | if (wcsTask != null) |
| | | { |
| | | LogHelper.Info($"cancelTask1取消Wcs任务{wcsTask.S_CODE}", "取消"); |
| | | if (wcsTask.S_B_STATE.Trim() == "未执行") |
| | | { |
| | | //未执行直接修改状态为取消 |
| | | if (wcsTask.S_TYPE.Contains("入库") || wcsTask.S_TYPE.Contains("回库")) |
| | | { |
| | | ContainerHelper.delCntr(wcsTask.S_CNTR_CODE); |
| | | ContainerHelper.delCntrItem(wcsTask.S_CNTR_CODE); |
| | | } |
| | | TaskHelper.Fail(wcsTask); |
| | | TaskProcess.OperateStatus(wcsTask, 7); |
| | | result.errCode = 0; |
| | | result.errMsg = "取消成功"; |
| | | result.success = true; |
| | | return result; |
| | | } |
| | | else if (wcsTask.S_B_STATE.Trim() != "取消" && wcsTask.S_B_STATE.Trim() != "失败" && wcsTask.S_B_STATE.Trim() != "完成") |
| | | { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == wcsTask.S_CODE && a.S_ACTION == "5").First(); |
| | | |
| | | LogHelper.Info($"该任务{wcsTask.S_CODE}动作信息"+JsonConvert.SerializeObject(qhflag), "取消"); |
| | | if (qhflag != null) |
| | | { |
| | | LogHelper.Info($"该任务{wcsTask.S_CODE}已经取货完成", "取消"); |
| | | result.errCode = 1; |
| | | result.errMsg = "任务已经取货完成,不允许取消"; |
| | | result.success = false; |
| | | return result; |
| | | } |
| | | |
| | | if (wcsTask.S_TYPE.Contains("入库") || wcsTask.S_TYPE.Contains("回库")) |
| | | { |
| | | ContainerHelper.delCntr(wcsTask.S_CNTR_CODE); |
| | | ContainerHelper.delCntrItem(wcsTask.S_CNTR_CODE); |
| | | ContainerHelper.delCntrLoc(wcsTask.S_CNTR_CODE); |
| | | } |
| | | WcsTask.WcsCancellTask(wcsTask); |
| | | TaskHelper.Fail(wcsTask); |
| | | TaskProcess.OperateStatus(wcsTask, 7); |
| | | result.errCode = 0; |
| | | result.errMsg = "取消成功"; |
| | | result.success = true; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | LogHelper.Info("cancelTask1取消任务异常:"+ex.Message, "取消"); |
| | | LogHelper.Info("cancelTask1取消任务异常:" + ex.Message, "取消"); |
| | | result.errCode = 1; |
| | | result.errMsg = "取消任务异常"; |
| | | return result; |