| | |
| | | [HttpPost] |
| | | public IActionResult GetPalletNo(Pallnetmsg pallmsg) |
| | | { |
| | | var logStr = $@".\log\AGV\AGV申请叫桶" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | var result = new ErpModel { Success = -1, Message = "", }; |
| | | try |
| | | { |
| | | var jsonData = JsonConvert.SerializeObject(pallmsg); |
| | | LogFile.SaveLogToFile($"AGV申请叫桶:( {jsonData} ),", logStr); |
| | | |
| | | if (string.IsNullOrWhiteSpace(pallmsg.Location)) |
| | | { |
| | | result.Message = "叫料位置为空!"; |
| | |
| | | result.Message = "任务类型为空!"; |
| | | return Ok(result); |
| | | } |
| | | _rcsserver.GetPalletNo(pallmsg); |
| | | _rcsserver.GetPalletNo(pallmsg ,_config.AgvHost + _config.GenAgvSchedulingTask); |
| | | result.Success = 0; |
| | | result.Message = "叫桶成功!"; |
| | | return Ok(result); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogFile.SaveLogToFile($"AGV申请叫桶异常:( {e.Message} ),", logStr); |
| | | |
| | | result.Message = e.Message; |
| | | return Ok(result); |
| | | } |
| | |
| | | result.Message = "桶编号不能为空!"; |
| | | return Ok(result); |
| | | } |
| | | _rcsserver.ChangePalletStatus(pallmsg.PalletNo); |
| | | _rcsserver.ChangePalletStatus(pallmsg.PalletNo, _config.AgvHost + _config.GenAgvSchedulingTask); |
| | | result.Success = 0; |
| | | result.Message = "操作成功!"; |
| | | return Ok(result); |
| | |
| | | result.Message = "桶号为空!"; |
| | | return Ok(result); |
| | | } |
| | | _rcsserver.CleanPallet(pallmsg); |
| | | _rcsserver.CleanPallet(pallmsg, _config.AgvHost + _config.GenAgvSchedulingTask); |
| | | result.Success = 0; |
| | | result.Message = "叫桶成功!"; |
| | | return Ok(result); |
| | |
| | | [HttpPost] |
| | | public IActionResult ApplyLocatNo(Pallnetmsg pallmsg) |
| | | { |
| | | var logStr = $@".\log\AGV\AGV申请储位" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | |
| | | var result = new ErpModel { Success = -1, Message = "" }; |
| | | try |
| | | { |
| | | var jsonData = JsonConvert.SerializeObject(pallmsg); |
| | | LogFile.SaveLogToFile($"AGV申请储位:( {jsonData} ),", logStr); |
| | | |
| | | if (string.IsNullOrWhiteSpace(pallmsg.Location)) |
| | | { |
| | | result.Message = "申请位置为空!"; |
| | |
| | | result.Message = "申请托盘号为空!"; |
| | | return Ok(result); |
| | | } |
| | | _rcsserver.ApplyLocatNo(pallmsg); |
| | | _rcsserver.ApplyLocatNo(pallmsg, _config.AgvHost + _config.GenAgvSchedulingTask); |
| | | result.Success = 0; |
| | | result.Message = "申请储位成功!"; |
| | | return Ok(result); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogFile.SaveLogToFile($"AGV申请储位异常:( {e.Message} ),", logStr); |
| | | |
| | | result.Message = e.Message; |
| | | return Ok(result); |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 任务完成反馈 |
| | | /// Agv任务完成反馈 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult RCSFinishTask(TaskModel model) |
| | | public IActionResult agvCallBack(AgvTaskDto model) |
| | | { |
| | | var result = new ErpModel { Success = -1, Message = "" }; |
| | | try |
| | | { |
| | | /*var claimsIdentity = this.User.Identity as ClaimsIdentity; |
| | | if (claimsIdentity == null) |
| | | //记录log |
| | | var logStr = $@".\log\AGV\任务执行通知" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | var jsonData = JsonConvert.SerializeObject(model); |
| | | LogFile.SaveLogToFile($"任务执行通知:( {jsonData} ),", logStr); |
| | | |
| | | if (string.IsNullOrEmpty(model.reqCode)) |
| | | { |
| | | throw new Exception("未获取到用户信息"); |
| | | return Ok(new AgvResultModel { code = "-1", message = "请求失败,reqCode参数异常", reqCode = model.reqCode }); |
| | | } |
| | | string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; |
| | | if (string.IsNullOrWhiteSpace(UserId)) |
| | | switch (model.method) |
| | | { |
| | | throw new Exception("未获取到用户信息"); |
| | | }*/ |
| | | case "start"://任务开始 |
| | | return Ok(new AgvResultModel { code = "0", message = "成功", reqCode = model.reqCode }); |
| | | |
| | | result = _noticeSvc.RCSFinishTask(model.TaskNo, model.Status); |
| | | case "outbin"://走出储位 |
| | | return Ok(new AgvResultModel { code = "0", message = "成功", reqCode = model.reqCode }); |
| | | |
| | | return Ok(result); |
| | | case "end"://任务结束 |
| | | result = _noticeSvc.RCSFinishTask(model.reqCode, "1"); |
| | | return Ok(result); |
| | | case "cancel"://任务单取消 |
| | | return Ok(new AgvResultModel { code = "0", message = "成功", reqCode = model.reqCode }); |
| | | |
| | | case "apply"://CTU料箱取放申请 |
| | | return Ok(new AgvResultModel { code = "0", message = "成功", reqCode = model.reqCode }); |
| | | |
| | | default: |
| | | return Ok(new AgvResultModel { code = "-1", message = "请求失败,method任务类型错误", reqCode = model.reqCode }); |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | catch (Exception ex) |
| | | { |
| | | result.Message = e.Message; |
| | | return Ok(result); |
| | | return Ok(new AgvResultModel { code = "-1", message = ex.Message, reqCode = model.reqCode }); |
| | | } |
| | | } |
| | | |