| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | List<object> objects = new List<object>(); |
| | | foreach (var item in taskDTOs) |
| | | { |
| | | foreach (var task in item.tasks) |
| | | { |
| | | #region 夿 |
| | | 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) |
| | | if (!content.Status) |
| | | { |
| | | objects.Add(new |
| | | { |
| | | taskCode = task.taskCode, |
| | | Message = $"ä»»å¡å·ã{task.taskCode}ã{content.Message}" |
| | | }); |
| | | continue; |
| | | //throw new Exception(content.Message); |
| | | } |
| | | if (BaseDal.QueryFirst(x => x.WMSTaskNum == task.taskCode) != null) |
| | | { |
| | | objects.Add(new |
| | | { |
| | | taskCode = task.taskCode, |
| | | Message = $"ä»»å¡å·ã{task.taskCode}ãå·²åå¨ä»»å¡" |
| | | }); |
| | | continue; |
| | | //throw new Exception($"ä»»å¡å·ã{task.taskCode}ãå·²åå¨ä»»å¡"); |
| | | } |
| | | if (BaseDal.QueryFirst(x => x.PalletCode == task.containerCode) != null) |
| | | { |
| | | objects.Add(new |
| | | { |
| | | taskCode = task.taskCode, |
| | | Message = $"æçå·ã{task.containerCode}ãå·²åå¨ä»»å¡" |
| | | }); |
| | | continue; |
| | | //throw new Exception($"æçå·ã{task.containerCode}ãå·²åå¨ä»»å¡"); |
| | | } |
| | | if (BaseDal.QueryFirst(x => x.SourceAddress == task.fromLocationCode) != null) |
| | | { |
| | | objects.Add(new |
| | | { |
| | | taskCode = task.taskCode, |
| | | Message = $"èµ·ç¹ä½ç½®ã{task.containerCode}ãå·²åå¨ä»»å¡" |
| | | }); |
| | | continue; |
| | | //throw new Exception($"èµ·ç¹ä½ç½®ã{task.containerCode}ãå·²åå¨ä»»å¡"); |
| | | } |
| | | #endregion |
| | | switch (item.taskType) |
| | | { |
| | | case (int)TaskTypeEnum.MLInbound: |
| | | CreateKLSNewInTask(task, item.taskType); |
| | | content = CreateKLSNewInTask(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | case (int)TaskTypeEnum.MLOutbound: |
| | | CreateKLSNewOutTask(task, item.taskType); |
| | | content = CreateKLSNewOutTask(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | case (int)TaskTypeEnum.CPInbound: |
| | | CreateRGVNewInTask(task, item.taskType); |
| | | content = CreateRGVNewInTask(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | case (int)TaskTypeEnum.CPOutbound: |
| | | CreateRGVNewOutTask(task, item.taskType); |
| | | content = CreateRGVNewOutTask(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | case (int)TaskTypeEnum.CJInbound: |
| | | CreateHKNewInTask(task, item.taskType); |
| | | content = CreateHKNewInTask(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | case (int)TaskTypeEnum.CJOutbound: |
| | | CreateHKNewOutTask(task, item.taskType); |
| | | content = CreateHKNewOutTask(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | case (int)TaskTypeEnum.Carry: |
| | | CarryTask(task, item.taskType); |
| | | content = CarryTask(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | case (int)TaskTypeEnum.CJCarry: |
| | | CJCarryTaske(task, item.taskType); |
| | | content = CJCarryTaske(task, item.taskType); |
| | | objects.Add(content.Data); |
| | | break; |
| | | default: |
| | | objects.Add(new |
| | | { |
| | | taskCode = task.taskCode, |
| | | Message = $"æªå®ä¹çä»»å¡ç±»å" |
| | | }); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | content.Data = objects; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | #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 = "åå车"; |
| | |
| | | /// <param name="AreaCode"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="NotImplementedException">åºåå·</exception> |
| | | public WebResponseContent LocationInquiry(string AreaCode) |
| | | public WebResponseContent LocationInquiry(WMSGetLocationInfo getLocationInfo) |
| | | { |
| | | if (AreaCode == null) |
| | | WebResponseContent content = new WebResponseContent(); |
| | | List<object> list = new List<object>(); |
| | | try |
| | | { |
| | | //æ¥è¯¢è¾é线空æç¼åä¿¡æ¯æ¶è¿åç©ºä½æ°é |
| | | } |
| | | return WebResponseContent.Instance.OK(); |
| | | if (getLocationInfo == null) throw new Exception("请æ±åæ°ä¸è½ä¸ºç©ºï¼"); |
| | | if (getLocationInfo.AreaCode == null) throw new Exception("åºåºç¼å·ä¸è½ä¸ºç©ºï¼"); |
| | | if (getLocationInfo.WarehouseId == 0) throw new Exception("ä»åºIDä¸è½ä¸ºç©ºï¼"); |
| | | if (getLocationInfo.WarehouseId == 1) |
| | | { |
| | | List<Dt_RGVLocationInfo> rGVLocationInfos = _rGVLocationInfoService.Repository.QueryData(x => x.WarehouseId == getLocationInfo.AreaCode.ObjToInt()); |
| | | foreach (var item in rGVLocationInfos) |
| | | { |
| | | list.Add(new |
| | | { |
| | | LoctionCode = item.LocationCode, |
| | | LocationStatus = item.LocationStatus, |
| | | EnableStatus = item.EnableStatus |
| | | }); |
| | | } |
| | | content.Data = list; |
| | | } |
| | | else if (getLocationInfo.WarehouseId == 2) |
| | | { |
| | | |
| | | } |
| | | else if (getLocationInfo.WarehouseId == 3) |
| | | { |
| | | |
| | | } |
| | | else if (getLocationInfo.WarehouseId == 4) |
| | | { |
| | | |
| | | } |
| | | else if (getLocationInfo.WarehouseId == 5) |
| | | { |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | |
| | |
| | | }; |
| | | 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 task = BaseDal.QueryFirst(x => x.PalletCode == iQC.ContainerCode && x.SourceAddress == iQC.StationCode && x.TaskState == (int)TaskStatusEnum.New); |
| | | //var task = BaseDal.QueryFirst(x => x.PalletCode == iQC.ContainerCode && x.SourceAddress == iQC.StationCode && x.TaskState == (int)TaskStatusEnum.New); |
| | | #endregion |
| | | #region å¼å«åå车 |
| | | apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("æªæ¾å°åå车任å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | FOURBOTnewMovePodTask fOURBOTnewMovePodTask = new() |
| | | { |
| | | priority = task.Grade, |
| | | podID = task.PalletCode, |
| | | //desNodeID = task.SourceAddress, |
| | | desExt = new |
| | | { |
| | | unload = 0//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | }, |
| | | desStationCodes = task.SourceAddress, |
| | | desType = 5 |
| | | }; |
| | | response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | | fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | content.Data = fOURBOTReturn; |
| | | if (fOURBOTReturn.returnCode != 0) throw new Exception(fOURBOTReturn.returnUserMsg); |
| | | task.TaskState = (int)TaskStatusEnum.Execut; |
| | | BaseDal.UpdateData(task); |
| | | //apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("æªæ¾å°åå车任å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | //FOURBOTnewMovePodTask fOURBOTnewMovePodTask = new() |
| | | //{ |
| | | // priority = task.Grade, |
| | | // podID = task.PalletCode, |
| | | // //desNodeID = task.SourceAddress, |
| | | // desExt = new |
| | | // { |
| | | // unload = 0//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | // }, |
| | | // desStationCodes = task.SourceAddress, |
| | | // desType = 5 |
| | | //}; |
| | | //response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | | //fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | //content.Data = fOURBOTReturn; |
| | | //if (fOURBOTReturn.returnCode != 0) throw new Exception(fOURBOTReturn.returnUserMsg); |
| | | //task.TaskState = (int)TaskStatusEnum.Execut; |
| | | //BaseDal.UpdateData(task); |
| | | #endregion |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | 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(); |