| | |
| | | { |
| | | content = TaskHelpMethods.isOkTaskInfo(task, true, true); |
| | | if (!content.Status) throw new Exception(content.Message); |
| | | if (BaseDal.QueryFirst(x => x.WMSTaskNum == task.taskCode || x.PalletCode == task.containerCode) != null) |
| | | { |
| | | continue; |
| | | } |
| | | if (BaseDal.QueryFirst(x => x.WMSTaskNum == task.taskCode) != null) |
| | | throw new Exception($"ä»»å¡å·ã{task.taskCode}ãå·²åå¨ä»»å¡"); |
| | | if (BaseDal.QueryFirst(x => x.PalletCode == task.containerCode) != null) |
| | | throw new Exception($"æçå·ã{task.containerCode}ãå·²åå¨ä»»å¡"); |
| | | if (BaseDal.QueryFirst(x => x.SourceAddress == task.fromLocationCode) != null) |
| | | throw new Exception($"èµ·ç¹ä½ç½®ã{task.containerCode}ãå·²åå¨ä»»å¡"); |
| | | switch (item.taskType) |
| | | { |
| | | case (int)TaskTypeEnum.MLInbound: |
| | |
| | | #region å¯ä¹å£« |
| | | if (isGALAXISTask) |
| | | { |
| | | KLS = new CancelGALAXISTask |
| | | KLS = new CancelGALAXISTask |
| | | { |
| | | taskId = dt_Task.WMSTaskNum, |
| | | reportTime = DateTime.Now.ToString() |
| | |
| | | { |
| | | //ç´æ¥ç§»å
¥åå² |
| | | BaseDal.DeleteAndMoveIntoHty(dt_Task, OperateTypeEnum.èªå¨å®æ); |
| | | content.OK("忶任塿å", dt_Task); |
| | | content.OK($"åæ¶{dt_Task.WMSTaskNum}任塿å", dt_Task); |
| | | } |
| | | else |
| | | { |
| | | content.Error($"ä»»å¡å¤±è´¥{agvContent.data.returnInfo}"); |
| | | content.Error($"ä»»å¡{dt_Task.WMSTaskNum}失败{agvContent.data.returnInfo}"); |
| | | |
| | | } |
| | | } |
| | |
| | | #region åå车 |
| | | if (isAGV) |
| | | { |
| | | cancelSXCTake = new CancelSXCTake |
| | | cancelSXCTake = new CancelSXCTake |
| | | { |
| | | taskID = dt_Task.RGVTaskId |
| | | taskID = dt_Task.RGVTaskId, |
| | | withoutRunning = 1 |
| | | }; |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(CancelSXCTake)); |
| | | if (apiInfo == null) throw new Exception("æªæ¾å°åå车AGVä»»å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | |
| | | { |
| | | //ç´æ¥ç§»å
¥åå² |
| | | BaseDal.DeleteAndMoveIntoHty(dt_Task, OperateTypeEnum.èªå¨å®æ); |
| | | content.OK("忶任塿å", dt_Task); |
| | | content.OK($"åæ¶{dt_Task.WMSTaskNum}任塿å", dt_Task); |
| | | } |
| | | else |
| | | { |
| | | content.Error($"ä»»å¡å¤±è´¥{fOURBOTReturn.data}"); |
| | | content.Error($"ä»»å¡{dt_Task.WMSTaskNum}失败{fOURBOTReturn.data}"); |
| | | } |
| | | } |
| | | #endregion |
| | | #region 海康 |
| | | if (isHK) |
| | | { |
| | | cancelHIKROBOTTask = new CancelHIKROBOTTask |
| | | cancelHIKROBOTTask = new CancelHIKROBOTTask |
| | | { |
| | | robotTaskCode = dt_Task.WMSTaskNum, |
| | | cancelType = "CANCEL"//åè½¯åæ¶ï¼DROP人工ä»å
¥ï¼åç¡¬åæ¶ï¼ |
| | |
| | | { |
| | | //ç´æ¥ç§»å
¥åå² |
| | | BaseDal.DeleteAndMoveIntoHty(dt_Task, OperateTypeEnum.èªå¨å®æ); |
| | | content.OK("忶任塿å", dt_Task); |
| | | content.OK("åæ¶{dt_Task.WMSTaskNum}任塿å", dt_Task); |
| | | } |
| | | else |
| | | { |
| | | content.Error($"ä»»å¡å¤±è´¥{hIKROBOTReturn.data}"); |
| | | content.Error($"ä»»å¡{dt_Task.WMSTaskNum}失败ï¼é误信æ¯ï¼{hIKROBOTReturn.data}"); |
| | | } |
| | | |
| | | } |
| | |
| | | object logObject = null; |
| | | string deviceName = ""; |
| | | |
| | | if (KLS != null ) |
| | | if (KLS != null) |
| | | { |
| | | logObject = KLS; |
| | | deviceName = "å¯ä¹å£«AGV"; |
| | | } |
| | | else if (cancelHIKROBOTTask != null ) |
| | | else if (cancelHIKROBOTTask != null) |
| | | { |
| | | logObject = cancelHIKROBOTTask; |
| | | deviceName = "海康æºå¨äºº"; |
| | | } |
| | | else if (cancelSXCTake != null ) |
| | | else if (cancelSXCTake != null) |
| | | { |
| | | logObject = cancelSXCTake; |
| | | deviceName = "åå车"; |
| | |
| | | |
| | | if (logObject != null) |
| | | { |
| | | _trackloginfoService.AddTrackLog(logObject, content, $"åæ¶{deviceName}ä»»å¡", "", ""); |
| | | _trackloginfoService.AddTrackLog(logObject, content, $"åæ¶{deviceName}ä»»å¡,", "", ""); |
| | | } |
| | | } |
| | | return content; |
| | |
| | | { |
| | | taskId = dt_Task.WMSTaskNum, |
| | | reportTime = DateTime.Now.ToString(), |
| | | district = dt_Task.Roadway,//ä»»å¡åºåº |
| | | priorityCode = updateTaskPriority.taskPriority, |
| | | }; |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(UpdateGALAXISTaskGrade)); |
| | |
| | | { |
| | | |
| | | BaseDal.UpdateData(dt_Task); |
| | | content.OK("ä¿®æ¹ä»»å¡ä¼å
级æå", dt_Task); |
| | | content.OK($"ä¿®æ¹{dt_Task.WMSTaskNum}ä»»å¡ä¼å
级æå", dt_Task); |
| | | } |
| | | else |
| | | { |
| | | content.Error($"ä»»å¡å¤±è´¥{agvContent.data.returnInfo}"); |
| | | content.Error($"{dt_Task.WMSTaskNum}ä»»å¡å¤±è´¥,é误信æ¯ï¼{agvContent.data.returnInfo}"); |
| | | } |
| | | } |
| | | #endregion |
| | |
| | | #region åå车 |
| | | if (isAGV) |
| | | { |
| | | request = new UpdateAgvSXCTake |
| | | request = new UpdateAgvSXCTake |
| | | { |
| | | taskID = dt_Task.RGVTaskId, |
| | | priority = updateTaskPriority.taskPriority |
| | | }; |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(UpdateAgvSXCTake)); |
| | | if (apiInfo == null) throw new Exception("æªæ¾å°åå车AGVä»»å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | if (apiInfo == null) throw new Exception("æªæ¾å°æ´æ°åå车任å¡ä¼å
级æ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, request.Serialize()); |
| | | FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | if (fOURBOTReturn.returnCode == 0 && fOURBOTReturn.returnUserMsg == "æå") |
| | | { |
| | | BaseDal.UpdateData(dt_Task); |
| | | content.OK("ä¿®æ¹ä»»å¡ä¼å
级æå", dt_Task); |
| | | content.OK("ä¿®æ¹{dt_Task.WMSTaskNum}ä»»å¡ä¼å
级æå", dt_Task); |
| | | } |
| | | else |
| | | { |
| | | content.Error($"ä»»å¡å¤±è´¥{fOURBOTReturn.data}"); |
| | | content.Error($"ä»»å¡{dt_Task.WMSTaskNum}失败ï¼é误信æ¯ï¼{fOURBOTReturn.data}"); |
| | | } |
| | | } |
| | | |
| | |
| | | #region 海康 |
| | | if (isHK) |
| | | { |
| | | Hkrequest = new HIKROBOTTaskGrade |
| | | Hkrequest = new HIKROBOTTaskGrade |
| | | { |
| | | robotTaskCode = dt_Task.WMSTaskNum,//ä»»å¡å· |
| | | initPriority = updateTaskPriority.taskPriority//ä¼å
级 |
| | |
| | | if (hIKROBOTReturn.code == "SUCCESS0" && hIKROBOTReturn.message == "æå") |
| | | { |
| | | BaseDal.UpdateData(dt_Task); |
| | | content.OK("ä¿®æ¹ä»»å¡ä¼å
级æå", dt_Task); |
| | | content.OK("ä¿®æ¹{dt_Task.WMSTaskNum}ä»»å¡ä¼å
级æå", dt_Task); |
| | | } |
| | | else |
| | | { |
| | | content.Error($"ä»»å¡å¤±è´¥{hIKROBOTReturn.data}"); |
| | | content.Error($"ä»»å¡{dt_Task.WMSTaskNum}失败ï¼é误信æ¯{hIKROBOTReturn.data}"); |
| | | } |
| | | } |
| | | #endregion |
| | |
| | | object logObject = null; |
| | | string deviceName = ""; |
| | | |
| | | if (updateGALAXISTaskGrade != null ) |
| | | if (updateGALAXISTaskGrade != null) |
| | | { |
| | | logObject = updateGALAXISTaskGrade; |
| | | deviceName = "å¯ä¹å£«AGV"; |
| | |
| | | logObject = Hkrequest; |
| | | deviceName = "海康æºå¨äºº"; |
| | | } |
| | | else if (request != null ) |
| | | else if (request != null) |
| | | { |
| | | logObject = request; |
| | | deviceName = "åå车"; |
| | |
| | | }; |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOToccupyStation.Serialize()); |
| | | FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | if (fOURBOTReturn.returnCode != 0) throw new Exception(fOURBOTReturn.returnUserMsg); |
| | | if (fOURBOTReturn.returnCode != 0 && fOURBOTReturn.returnUserMsg != $"ç«ç¹å·²è¢«å ç¨,(podID={iQC.ContainerCode})") |
| | | throw new Exception(fOURBOTReturn.returnUserMsg); |
| | | #endregion |
| | | |
| | | #region å建ååè½¦ä»»å¡ |
| | |
| | | var Agvlocation = _rGVLocationInfoService.Repository.QueryData(x => fOURBOTStorageStatusNotify.storageCode.Contains(x.LocationCode)); |
| | | foreach (var item in Agvlocation) |
| | | { |
| | | item.LocationStatus = (int)(fOURBOTStorageStatusNotify.disable == 0 ? EnableStatusEnum.Normal : EnableStatusEnum.Disable); |
| | | item.EnableStatus = (int)(fOURBOTStorageStatusNotify.disable == 0 ? EnableStatusEnum.Normal : EnableStatusEnum.Disable); |
| | | } |
| | | _rGVLocationInfoService.UpdateData(Agvlocation); |
| | | return WebResponseContent.Instance.OK(); |