| | |
| | | task.TaskState = (int)TaskStatusEnum.HktransportIng; |
| | | BaseDal.UpdateData(task); |
| | | } |
| | | else if (task.TaskType == (int)TaskTypeEnum.Q3CK|| task.TaskType == (int)TaskTypeEnum.Q3RK) |
| | | { |
| | | //UpdateStandStatus(task, task.SourceAddress, LocationStatusEnum.Lock); |
| | | task.TaskState = (int)TaskStatusEnum.Takeing; |
| | | TaskFeedback(task, 1); |
| | | } |
| | | else |
| | | { |
| | | task.TaskState = (int)TaskStatusEnum.Takeing; |
| | |
| | | break; |
| | | case "outbin"://离å¼èµ·ç¹ |
| | | { |
| | | if (task.TaskType == (int)TaskTypeEnum.Q3RK|| task.TaskType == (int)TaskTypeEnum.Q3CK) |
| | | { |
| | | UpdateStandStatus(task, task.SourceAddress, LocationStatusEnum.Free); |
| | | task.TaskState = TaskStatusEnum.TakeFinish.ObjToInt(); |
| | | BaseDal.UpdateData(task); |
| | | TaskFeedback(task, 1); |
| | | } |
| | | else |
| | | { |
| | | |
| | | TaskFromCompleted(task, deviceTypeEnum); //ä»»å¡ç¶ä½æ¹ä¸º3åè´§å®æï¼æ´æ°èµ·ç¹è´§ä½ç¶æï¼å¹¶åé¦WMSèµ·ç¹å®æ |
| | | } |
| | | ///夿任塿¯å¦è·è®¾å¤æå
³ |
| | | } |
| | | break; |
| | | case "finish"://ç¦»å¼æåæº |
| | | { |
| | | |
| | | //å
¥æåæº |
| | | if (task.TaskType == TaskTypeEnum.RK3F.ObjToInt() && task.TaskState == (int)TaskStatusEnum.CheckPalletCodeFinish) |
| | | { |
| | |
| | | BaseDal.UpdateData(task); |
| | | } |
| | | // //忥¼åºæåæº å
¥åº ä¹åæ¯AGV_ToExecute //è¦åæåè´§å®æç¶æTakeFinish |
| | | if ((task.TaskType == TaskTypeEnum.Q1TSJ4.ObjToInt() || task.TaskType == TaskTypeEnum.F03.ObjToInt()) && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute) |
| | | else if ((task.TaskType == TaskTypeEnum.Q1TSJ4.ObjToInt() || task.TaskType == TaskTypeEnum.F03.ObjToInt()) && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute) |
| | | { |
| | | var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice; |
| | | if (device == null) task.ExceptionMessage = "æªæ¾å°æåæºä¿¡æ¯"; |
| | |
| | | BaseDal.UpdateData(task); |
| | | } |
| | | //è·¨æ¥¼å± |
| | | else if (task.TaskType == TaskTypeEnum.Q3RK.ObjToInt() || task.TaskType == TaskTypeEnum.Q3CK.ObjToInt() && task.TaskState == (int)TaskStatusEnum.TakeFinish) |
| | | { |
| | | if (task.TaskType == TaskTypeEnum.Q3RK.ObjToInt()|| task.TaskType == TaskTypeEnum.Q3RK.ObjToInt()) |
| | | else if (task.TaskType == TaskTypeEnum.Q3RK.ObjToInt() || task.TaskType == TaskTypeEnum.Q3CK.ObjToInt()/* && task.TaskState == (int)TaskStatusEnum.TakeFinish*/) |
| | | { |
| | | var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "F1") as OtherDevice; |
| | | if (device == null) task.ExceptionMessage = "æªæ¾å°è´¨æ£é¨ä¿¡æ¯"; |
| | | else |
| | | { |
| | | bool Wok = false; |
| | | var Address = task.TaskType == TaskTypeEnum.Q3RK.ObjToInt() ? task.TargetAddress : task.SourceAddress; |
| | | if (device.IsConnected) |
| | | //å以ä¸ä¸ªåºåºå®æä¿¡å· |
| | | device.SetValue(QualityInspectionCommandEnum.RequestToEnter, false, task.TargetAddress); |
| | | else |
| | | task.ExceptionMessage = "è´¨æ£é¨ä¿¡æ¯è®¾å¤è¿æ¥å¤±è´¥"; |
| | | { |
| | | int i = 0; |
| | | while (!Wok && i <= 3) |
| | | { |
| | | i++; |
| | | Wok = device.SetValue(QualityInspectionCommandEnum.RequestToEnter, false, Address); |
| | | Thread.Sleep(500); |
| | | } |
| | | |
| | | } |
| | | if (!Wok) |
| | | { |
| | | task.ExceptionMessage = $"ã{Address}ãå
³é请æ±è¿å
¥å¤±è´¥ï¼"; |
| | | task.Remark = $"{device.DeviceCode}_RequestToEnter_{false}_{Address}"; |
| | | } |
| | | } |
| | | BaseDal.UpdateData(task); |
| | | } |
| | |
| | | break; |
| | | case "end"://ä»»å¡å®æéç¥ |
| | | { |
| | | if (task.TaskType == (int)TaskTypeEnum.Q3RK || task.TaskType == (int)TaskTypeEnum.Q3CK|| task.TaskType == (int)TaskTypeEnum.MOVE) |
| | | if (task.TaskType == (int)TaskTypeEnum.MOVE) |
| | | { |
| | | task.TaskState = TaskStatusEnum.Finish.ObjToInt(); |
| | | BaseDal.UpdateData(task); |
| | | TaskFeedback(task, 2); |
| | | BaseDal.DeleteAndMoveIntoHty(task, OperateTypeEnum.èªå¨å®æ); |
| | | var Task = BaseDal.QueryFirst(x => task.WMSTaskNum.Contains(x.WMSTaskNum)); |
| | | Task.TaskState = TaskStatusEnum.HkTransportCompleted.ObjToInt(); |
| | | BaseDal.UpdateData(Task); |
| | | } |
| | | else |
| | | { |
| | | ///夿任塿¯å¦è·è®¾å¤æå
³ |
| | | TaskCompleted(task, deviceTypeEnum); |
| | | } |
| | | } |
| | |
| | | try |
| | | { |
| | | dt_Task.TaskState = TaskStatusEnum.Finish.ObjToInt(); |
| | | TaskFeedback(dt_Task, 2); |
| | | TaskFeedback(dt_Task, 2, string.IsNullOrEmpty(dt_Task.Remark)); |
| | | //Db.Ado.BeginTran(); |
| | | UpdateLocationStatus(dt_Task.TargetAddress, dt_Task.PalletCode, deviceTypeEnum, LocationStatusEnum.InStock); |
| | | |
| | |
| | | stationInfo.StationStatus = locationStatusEnum.ObjToInt(); |
| | | _stationInfo.UpdateData(stationInfo); |
| | | } |
| | | Dt_StationManger stationManger = _stationMangerService.Repository.QueryFirst(x => x.StationCode == locationCode); |
| | | if (stationManger != null) |
| | | { |
| | | if (locationStatusEnum == LocationStatusEnum.Free) //å¦æèµ·ç¹å®æå°±ç»è´§ä½èµå¼æçå· |
| | | { |
| | | stationManger.Remark = ""; |
| | | stationManger.IsOccupied = LocationStatusEnum.Free.ObjToInt(); |
| | | } |
| | | else |
| | | { |
| | | stationManger.Remark = palletCode; |
| | | stationManger.IsOccupied = LocationStatusEnum.Lock.ObjToInt(); |
| | | } |
| | | _stationMangerService.UpdateData(stationManger); |
| | | } |
| | | } |
| | | else if (deviceTypeEnum == DeviceTypeEnum.YuanLiJuHe) |
| | | { |
| | |
| | | #endregion |
| | | |
| | | #region 䏿¥WMS |
| | | public WebResponseContent TaskFeedback(Dt_Task dt_Task, int Status) |
| | | public WebResponseContent TaskFeedback(Dt_Task dt_Task, int Status, bool Del = true) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | WMSInOutBoundCompleteFeedback boundCompleteFeedback = new WMSInOutBoundCompleteFeedback(); |
| | |
| | | finally |
| | | { |
| | | _trackloginfoService.AddTrackLog(boundCompleteFeedback, content, "åºå
¥åºä»»å¡ç¶æåé¦WMS", "", ""); |
| | | if (agvContent != null && agvContent.code == 200 && Status == 2) |
| | | if (agvContent != null && agvContent.code == 200 && Del) |
| | | BaseDal.DeleteAndMoveIntoHty(dt_Task, OperateTypeEnum.èªå¨å®æ); |
| | | else |
| | | BaseDal.UpdateData(dt_Task); |