| | |
| | | using Utility; |
| | | using System.Threading.Tasks; |
| | | using Model.ModelVm.BllCheckVm; |
| | | using System.Collections.Generic; |
| | | using System.Security.Policy; |
| | | using WMS.IBLL; |
| | | |
| | | namespace Wms.Controllers |
| | | { |
| | |
| | | private readonly ITaskServer _taskSvc;//任务Svc |
| | | private readonly IBllTaskSyncServer _taskSyncSvc;//任务同步Svc |
| | | private readonly IWaveMageServer _waveSvc;//任务同步Svc |
| | | public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc) |
| | | private readonly IHttpServer _http; |
| | | public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IBllTaskSyncServer taskSyncSvc, IWaveMageServer waveSvc,IHttpServer http) |
| | | { |
| | | _config = setting.Value; |
| | | _exNoticeSvc = exNoticeSvc; |
| | |
| | | _taskSvc = taskSvc; |
| | | _taskSyncSvc = taskSyncSvc; |
| | | _waveSvc = waveSvc; |
| | | _http = http; |
| | | } |
| | | |
| | | #region WMS接口 调用下游系统接口 |
| | |
| | | /// <returns></returns> |
| | | [Authorize] |
| | | [HttpGet] |
| | | public IActionResult IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre) |
| | | public IActionResult IssueOutHouse(string soNo, string outMode) |
| | | { |
| | | try |
| | | { |
| | |
| | | //{ |
| | | // return Ok(new { code = 1, msg = "请选择出库口" }); |
| | | //} |
| | | var house = _exNoticeSvc.GetHouseBySo(soNo); |
| | | if (house == "W01") |
| | | { |
| | | var list = _exNoticeSvc.IssueOutHouseMk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str); |
| | | |
| | | var list = _exNoticeSvc.IssueOutHouse(soNo, unstackingMode, outMode, loadingAddre, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str); |
| | | return Ok(new { code = 0, msg = str }); |
| | | } |
| | | else if (house == "W02") |
| | | { |
| | | var list = _exNoticeSvc.IssueOutHouseLk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str); |
| | | |
| | | return Ok(new { code = 0, msg = str, data = list }); |
| | | |
| | | return Ok(new { code = 0, msg = str, data = list }); |
| | | } |
| | | else |
| | | { |
| | | return Ok(new { code = 1, msg = "仓库信息错误,请核实单据信息"}); |
| | | } |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// PDA下发出库 |
| | | /// </summary> |
| | | /// <param name="soNo"></param> |
| | | /// <param name="soDetailId">出库单明细ID</param> |
| | | /// <param name="outMode">出库地址(平库拣货位)</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | public IActionResult PDAIssueOut(string soNo, string soDetailId,string palletNo,string outMode) |
| | | { |
| | | try |
| | | { |
| | | //获取当前登录的用户ID |
| | | var claimsIdentity = this.User.Identity as ClaimsIdentity; |
| | | if (claimsIdentity == null) |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = "未获取到当前操作人信息"}); |
| | | } |
| | | var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; |
| | | if (string.IsNullOrWhiteSpace(userId)) |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = "未获取到当前操作人信息"}); |
| | | } |
| | | //验证出库口 |
| | | if (string.IsNullOrWhiteSpace(outMode)) |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = "请选择出库地址" }); |
| | | } |
| | | var house = _exNoticeSvc.GetHouseBySo(soNo); |
| | | if (house == "W01") |
| | | { |
| | | //var list = _exNoticeSvc.IssueOutHouseMk(soNo, outMode, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str); |
| | | |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "str", Data = "list" }); |
| | | } |
| | | else if (house == "W02") |
| | | { |
| | | var list = _http.IssueOutHouseLk(soNo,soDetailId, outMode,palletNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str); |
| | | |
| | | return Ok(new HttpReturnModel { Success = "0", Message = str, Data = list}); |
| | | } |
| | | else |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = "仓库信息错误,请核实单据信息" }); |
| | | } |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = e.Message }); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 重新下发出库任务 |
| | |
| | | #region WMS接口 被下游系统接口调用 |
| | | |
| | | /// <summary> |
| | | /// 绑定信息返回巷道口 |
| | | /// WCS申请空托跺组托入库 (叠托盘机) |
| | | /// </summary> |
| | | /// <param name="model">入库单信息</param> |
| | | /// <returns></returns> |
| | | [AllowAnonymous] |
| | | [HttpPost] |
| | | public IActionResult BindRequestRoadWay(BoxPalletBindVm model) |
| | | public IActionResult RequestPalletIn(RequestLocate model) |
| | | { |
| | | var logStr = $@".\log\WCS\WCS托盘绑定-申请巷道" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | var logStr = ""; |
| | | |
| | | logStr = $@".\log\WCS\WCS申请空托跺组托入库" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | |
| | | try |
| | | { |
| | | |
| | | var jsonData = JsonConvert.SerializeObject(model); |
| | | LogFile.SaveLogToFile($"WCS托盘绑定-申请巷道:( {jsonData} ),", logStr); |
| | | LogFile.SaveLogToFile($"WCS申请空托跺组托入库:( {jsonData} ),", logStr); |
| | | |
| | | _asnPalletBindSvc.BindPalletStock(model, 0); |
| | | //申请巷道 |
| | | var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, "W01"); |
| | | LogFile.SaveLogToFile($"WCS托盘绑定-申请巷道返回:( {JsonConvert.SerializeObject(list)} ),", logStr); |
| | | var list = _http.RequestPalletIn(model.PalletNo, model.HouseNo, model.PallNum,model.locate); |
| | | |
| | | return Ok(new { Success = 0, Message = "托盘绑定-申请巷道成功", TaskList = list }); |
| | | LogFile.SaveLogToFile($"WCS申请空托跺组托入库返回:( {JsonConvert.SerializeObject(list)} ),", logStr); |
| | | |
| | | return Ok(new { Success = 0, Message = "申请巷道成功", TaskList = list }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogFile.SaveLogToFile($"WCS托盘绑定-申请巷道返回:( {e.Message} ),", logStr); |
| | | LogFile.SaveLogToFile($"WCS申请空托跺组托入库返回:( {e.Message} ),", logStr); |
| | | |
| | | return Ok(new ErpModel { Success = -1, Message = e.Message }); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// PDA 人工申请储位 (立体库) |
| | |
| | | var claimsIdentity = this.User.Identity as ClaimsIdentity; |
| | | if (claimsIdentity == null) |
| | | { |
| | | return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | return Ok(new HttpReturnModel { Success = "1", Message = "未获取到当前操作人信息" }); |
| | | } |
| | | var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; |
| | | if (string.IsNullOrWhiteSpace(userId)) |
| | | { |
| | | return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | return Ok(new HttpReturnModel { Success = "1", Message = "未获取到当前操作人信息" }); |
| | | } |
| | | |
| | | |
| | | try |
| | | { |
| | | var list = _asnPalletBindSvc.RequestLocation(model.PalletNo, model.HouseNo); |
| | | _asnPalletBindSvc.IssueAsnTask(list, _config.ErpHost+ _config.AsnFinishUrl);//agv路径 |
| | | var list = _http.RequestLocation(model.PalletNo, model.HouseNo,model.Ceng); |
| | | _asnPalletBindSvc.IssueAsnTask(list, _config.WcsHost+ _config.IssueComApiUrl2);//WCS路径 |
| | | |
| | | new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo, "申请储位", $"申请储位托盘号:{model.PalletNo}的成功信息", int.Parse(userId)); |
| | | new OperationASNServer().AddLogOperationAsn("PDA模块", "申请入库", model.PalletNo, "添加", $"申请储位托盘号:{model.PalletNo}的成功信息", int.Parse(userId)); |
| | | |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "申请储位成功", Data = list }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo, "申请储位", $"申请储位托盘号:{model.PalletNo}的失败信息", int.Parse(userId)); |
| | | new OperationASNServer().AddLogOperationAsn("PDA模块", "申请入库", model.PalletNo, "添加", $"申请储位托盘号:{model.PalletNo}的失败信息", int.Parse(userId)); |
| | | |
| | | return Ok(new ErpModel { Success = -1, Message = e.Message }); |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = e.Message }); |
| | | } |
| | | } |
| | | |
| | |
| | | /// <returns></returns> |
| | | [AllowAnonymous] |
| | | [HttpPost] |
| | | public IActionResult RequestRoadWay(RequestLocate model) |
| | | public IActionResult RequestMiJiRoadWay(RequestLocate model) |
| | | { |
| | | var logStr = ""; |
| | | |
| | |
| | | var jsonData = JsonConvert.SerializeObject(model); |
| | | LogFile.SaveLogToFile($"WCS申请巷道:( {jsonData} ),", logStr); |
| | | |
| | | var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo); |
| | | var list = _http.RequestMiJiRoadWay(model.PalletNo, model.HouseNo); |
| | | |
| | | LogFile.SaveLogToFile($"WCS申请巷道返回:( {JsonConvert.SerializeObject(list)} ),", logStr); |
| | | //new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8), |
| | | // "申请巷道", $"申请巷道托盘号:{model.PalletNo.Substring(0, 8)}的成功信息", 2); |
| | | |
| | | return Ok(new { Success = 0, Message = "申请巷道成功", TaskList = list }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogFile.SaveLogToFile($"WCS申请巷道返回:( {e.Message} ),", logStr); |
| | | //new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8), |
| | | //"申请巷道", $"申请巷道托盘号:{model.PalletNo.Substring(0, 8)}的失败信息", 2); |
| | | |
| | | return Ok(new ErpModel { Success = -1, Message = e.Message }); |
| | | } |
| | |
| | | [HttpPost] |
| | | public IActionResult RequestMiJiLocation(RequestLocate model) |
| | | { |
| | | |
| | | //获取当前登录的用户ID |
| | | //var claimsIdentity = this.User.Identity as ClaimsIdentity; |
| | | //if (claimsIdentity == null) |
| | | //{ |
| | | // return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | //} |
| | | //var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; |
| | | //if (string.IsNullOrWhiteSpace(userId)) |
| | | //{ |
| | | // return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | //} |
| | | |
| | | //string palletno = model.PalletNo; |
| | | var logStr = ""; |
| | | if (model.PalletNo.Length == 9) |
| | | { |
| | | logStr = $@".\log\WCS\WMS申请储位" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | } |
| | | else if (model.PalletNo.Length == 8) |
| | | { |
| | | logStr = $@".\log\WCS\WCS申请储位" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | } |
| | | |
| | | |
| | | logStr = $@".\log\WCS\WCS申请储位" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | |
| | | try |
| | | { |
| | | if (model.PalletNo.Length == 9) |
| | | { |
| | | var jsonData = JsonConvert.SerializeObject(model); |
| | | LogFile.SaveLogToFile($"WMS申请储位:( {jsonData} ),", logStr); |
| | | } |
| | | else if (model.PalletNo.Length == 8) |
| | | { |
| | | var jsonData = JsonConvert.SerializeObject(model); |
| | | LogFile.SaveLogToFile($"WCS申请储位:( {jsonData} ),", logStr); |
| | | } |
| | | |
| | | var jsonData = JsonConvert.SerializeObject(model); |
| | | LogFile.SaveLogToFile($"WCS申请储位:( {jsonData} ),", logStr); |
| | | |
| | | string pallet = model.PalletNo.Substring(0, 8); |
| | | var list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo); |
| | | var list = _http.RequestMiJiLocation(pallet, model.HouseNo, model.RoadwayNo); |
| | | |
| | | if (model.PalletNo.Length == 9) |
| | | { |
| | | new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8), "申请储位", $"申请储位托盘号:{model.PalletNo.Substring(0, 8)}的成功信息", 2);// int.Parse(userId) |
| | | LogFile.SaveLogToFile($"WMS申请储位成功:( {JsonConvert.SerializeObject(list)} ),", logStr); |
| | | } |
| | | else if (model.PalletNo.Length == 8) |
| | | { |
| | | LogFile.SaveLogToFile($"WCS申请储位返回:( {JsonConvert.SerializeObject(list)} ),", logStr); |
| | | } |
| | | if (model.PalletNo.Length == 9) |
| | | { |
| | | |
| | | } |
| | | |
| | | LogFile.SaveLogToFile($"WCS申请储位返回:( {JsonConvert.SerializeObject(list)} ),", logStr); |
| | | |
| | | return Ok(new { Success = 0, Message = "申请储位成功", TaskList = list }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | if (model.PalletNo.Length == 9) |
| | | { |
| | | new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", model.PalletNo.Substring(0, 8), "申请储位", $"申请储位托盘号:{model.PalletNo.Substring(0, 8)}的失败信息", 2);//int.Parse(userId) |
| | | LogFile.SaveLogToFile($"WMS申请储位失败返回:( {e.Message} ),", logStr); |
| | | } |
| | | else if (model.PalletNo.Length == 8) |
| | | { |
| | | LogFile.SaveLogToFile($"WCS申请储位返回:( {e.Message} ),", logStr); |
| | | } |
| | | |
| | | LogFile.SaveLogToFile($"WCS申请储位返回:( {e.Message} ),", logStr); |
| | | |
| | | return Ok(new ErpModel { Success = -1, Message = e.Message }); |
| | | } |
| | | } |
| | |
| | | case "0"://入库完成任务 |
| | | if (model.TaskType == "0")//0:入库 1:出库 2:移库 |
| | | { |
| | | _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0); |
| | | _http.ArrivalSuccess2(model.TaskNo, 0); |
| | | return Ok(new WcsModel { StatusCode = 0, Msg = "入库完成" }); |
| | | } |
| | | break; |
| | |
| | | } |
| | | else if (model.TaskType == "2") |
| | | { |
| | | _exNoticeSvc.RelocationSuccess(model.TaskNo, 0); |
| | | _http.ExMoveSuccess(model.TaskNo, 0); |
| | | return Ok(new WcsModel { StatusCode = 0, Msg = "移库完成" }); |
| | | } |
| | | break; |
| | | case "2"://盘库完成任务 |
| | | if (model.TaskType == "1")//0:入库 1:出库 3:移库 |
| | | if (model.TaskType == "1")//0:入库 1:出库 2:移库 |
| | | { |
| | | _crCheckSvc.CheckSuccess(model.TaskNo, 0); |
| | | return Ok(new WcsModel { StatusCode = 0, Msg = "盘点出库完成" }); |
| | | } |
| | | else if (model.TaskType == "0")// 盘点出库托盘回库完成 |
| | | { |
| | | _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0); |
| | | _http.ArrivalSuccess2(model.TaskNo, 0); |
| | | return Ok(new WcsModel { StatusCode = 0, Msg = "入库完成" }); |
| | | } |
| | | break; |
| | | case "3"://移库完成任务、优化储位 |
| | | if (model.TaskType == "3") //0:入库 1:出库 3:移库 |
| | | case "3"://移库单 AGV走这 |
| | | if (model.TaskType == "2") //0:入库 1:出库 2:移库 |
| | | { |
| | | //填写移库完成代码 |
| | | _http.MoveSuccess(model.TaskNo, 0); |
| | | return Ok(new WcsModel { StatusCode = 0, Msg = "移库完成" }); |
| | | } |
| | | break; |
| | | case "4"://质检出库 |
| | | if (model.TaskType == "2") //0:入库 1:出库 2:移库 |
| | | { |
| | | //填写移库完成代码 |
| | | _http.ExMoveSuccess(model.TaskNo, 0); |
| | | return Ok(new WcsModel { StatusCode = 0, Msg = "移库完成" }); |
| | | } |
| | | break; |
| | | default: |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 接受wcs返回的信号 平库取货完成任务反馈 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult UpLocateByAgvOut(ReceiveWcsSignal model) |
| | | { |
| | | try |
| | | { |
| | | //记录log |
| | | var logStr = $@".\log\WCS\取货完成任务反馈" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | var jsonData = JsonConvert.SerializeObject(model); |
| | | LogFile.SaveLogToFile($"AGV取货完成WCS任务反馈:( {jsonData} ),", logStr); |
| | | |
| | | if (string.IsNullOrEmpty(model.TaskNo)) |
| | | { |
| | | return Ok(new WcsModel { StatusCode = -1, Msg = "接口数据不正确,任务号为空" }); |
| | | } |
| | | _http.UpLocateByAgvOut(model.TaskNo,0); |
| | | |
| | | return Ok(new WcsModel { StatusCode = 0, Msg = "接收成功" }); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return Ok(new WcsModel { StatusCode = -1, Msg = ex.Message }); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 手动完成的信号 //指令反馈(是否完成) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult ReceiveRenGongSignal(ReceiveWcsSignal model) |
| | | { |
| | | //获取当前登录的用户ID |
| | | var claimsIdentity = this.User.Identity as ClaimsIdentity; |
| | | if (claimsIdentity == null) |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "1", Message = "未获取到当前操作人信息" }); |
| | | } |
| | | var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; |
| | | if (string.IsNullOrWhiteSpace(userId)) |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "1", Message = "未获取到当前操作人信息" }); |
| | | } |
| | | try |
| | | { |
| | | if (string.IsNullOrEmpty(model.TaskNo) || string.IsNullOrEmpty(model.TaskStatus) || string.IsNullOrEmpty(model.TaskType)) |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = "参数错误" }); |
| | | } |
| | | //接收时间 |
| | | |
| | | var orderType = _taskSvc.GetTaskOrderType(model.TaskNo);// 判断单据类型入出移 |
| | | switch (orderType) |
| | | { |
| | | case "0"://入库完成任务 |
| | | if (model.TaskType == "0")//0:入库 1:出库 2:移库 |
| | | { |
| | | _http.ArrivalSuccess2(model.TaskNo, 0); |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "入库完成" }); |
| | | } |
| | | break; |
| | | case "1"://出库完成任务 |
| | | if (model.TaskType == "1")//0:入库 1:出库 2:移库 |
| | | { |
| | | _exNoticeSvc.ExportSuccess(model.TaskNo, 0); |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "出库完成" }); |
| | | } |
| | | else if (model.TaskType == "2") |
| | | { |
| | | _http.ExMoveSuccess(model.TaskNo, 0); |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "移库完成" }); |
| | | } |
| | | break; |
| | | case "2"://盘库完成任务 |
| | | if (model.TaskType == "1")//0:入库 1:出库 2:移库 |
| | | { |
| | | _crCheckSvc.CheckSuccess(model.TaskNo, 0); |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "盘点出库完成" }); |
| | | } |
| | | else if (model.TaskType == "0")// 盘点出库托盘回库完成 |
| | | { |
| | | _http.ArrivalSuccess2(model.TaskNo, 0); |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "入库完成" }); |
| | | } |
| | | break; |
| | | case "3"://移库单 |
| | | if (model.TaskType == "2") //0:入库 1:出库 2:移库 |
| | | { |
| | | //填写移库完成代码 |
| | | _http.MoveSuccess(model.TaskNo, 0); |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "移库完成" }); |
| | | } |
| | | break; |
| | | case "4"://质检出库 |
| | | if (model.TaskType == "2") //0:入库 1:出库 2:移库 |
| | | { |
| | | _http.ExMoveSuccess(model.TaskNo, 0); |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "移库完成" }); |
| | | } |
| | | break; |
| | | default: |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = "传递的任务状态为失败状态" }); |
| | | } |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = "传递的任务状态为失败状态" }); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = ex.Message }); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// WCS反馈AGV任务取货完成 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult AGVQuHuoSuccess(ReceiveWcsSignal model) |
| | | { |
| | | var logStr = $@".\log\WCS\AGV取货完成反馈" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; |
| | | try |
| | | { |
| | | var jsonData = JsonConvert.SerializeObject(model); |
| | | LogFile.SaveLogToFile($"AGV取货完成反馈:( {jsonData} ),", logStr); |
| | | |
| | | _exNoticeSvc.AGVQuHuoSuccess(model.TaskNo); |
| | | var data = new HttpReturnModel { Success = "0", Message = "成功" }; |
| | | LogFile.SaveLogToFile($"AGV取货完成反馈:({JsonConvert.SerializeObject(data)}),", logStr); |
| | | return Ok(data); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogFile.SaveLogToFile($"AGV取货完成反馈:( {e.Message} ),", logStr); |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = e.Message }); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空取异常 |
| | |
| | | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// PDA 人工申请储位 (立体库) |
| | | /// </summary> |
| | | /// <param name="model">入库单信息</param> |
| | | /// <returns></returns> |
| | | [AllowAnonymous] |
| | | [HttpPost] |
| | | public IActionResult ceshiapi() |
| | | { |
| | | try |
| | | { |
| | | var url = "https://10.26.200.25/rcs/rtas/api/robot/controller/carrier/unbind"; |
| | | |
| | | var requestId = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString(); |
| | | var dic = new Dictionary<string, string>() |
| | | { |
| | | {"X-lr-request-id",requestId }, |
| | | {"X-lr-version","4.2" }, |
| | | }; |
| | | var mod = new |
| | | { |
| | | carrierCode = "palletNo", |
| | | siteCode = "locateNo" |
| | | }; |
| | | var jsonData = JsonConvert.SerializeObject(mod); |
| | | HttpHelper.DoPost(url, jsonData, "下发给AGV解绑", "AGV",dic); |
| | | |
| | | return Ok(new HttpReturnModel { Success = "0", Message = "申请储位成功", Data = "list" }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return Ok(new HttpReturnModel { Success = "-1", Message = e.Message }); |
| | | } |
| | | } |
| | | } |
| | | } |