| | |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_DTO.TaskInfo; |
| | | using WIDESEAWCS_DTO.WMSInfo; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | |
| | | public List<Task> ConveyorLineExtend(CommonConveyorLine conveyorLine) |
| | | { |
| | | List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode); |
| | | List<string> strings = new List<string>() { "1003", "1006", "1007" }; |
| | | childDeviceCodes.AddRange(strings); |
| | | List<Task> tasks = new List<Task>(); |
| | | foreach (string childDeviceCode in childDeviceCodes) |
| | | { |
| | | try |
| | | { |
| | | ConveyorLineTaskCommandR command = conveyorLine.ReadCustomer<ConveyorLineTaskCommandR>(childDeviceCode); |
| | | _cacheService.AddOrUpdate(childDeviceCode, command); |
| | | if (command != null) |
| | | { |
| | | if (childDeviceCode == "1002" && command.Status == (ushort)ConveyorStatus.Wait) |
| | |
| | | Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); |
| | | if (task != null) |
| | | { |
| | | List<Dt_Router> routers = _routerRepository.QueryData(x => x.StartPosi == task.NextAddress && x.ChildPosiDeviceCode == "AGV" && x.Remark == "æªå ç¨"); |
| | | if (routers != null && routers.Count > 0) |
| | | { |
| | | var router = routers.FirstOrDefault(); |
| | | if (router != null) |
| | | { |
| | | task.TaskState = TaskOutStatusEnum.Line_OutFinish.ObjToInt(); |
| | | task.CurrentAddress = childDeviceCode; |
| | | task.NextAddress = router.NextPosi; |
| | | router.Remark = "å ç¨"; |
| | | _routerRepository.UpdateData(router); |
| | | _taskService.UpdateData(task); |
| | | } |
| | | } |
| | | #region MyRegion |
| | | //List<Dt_Router> routers = _routerRepository.QueryData(x => x.StartPosi == task.TargetAddress && x.ChildPosiDeviceCode == "AGV" && x.Remark == "æªå ç¨"); |
| | | //if (routers != null && routers.Count > 0) |
| | | //{ |
| | | // var router = routers.FirstOrDefault(); |
| | | // if (router != null) |
| | | // { |
| | | // task.TaskState = TaskOutStatusEnum.Line_OutFinish.ObjToInt(); |
| | | // task.CurrentAddress = childDeviceCode; |
| | | // task.NextAddress = router.NextPosi; |
| | | // task.TargetAddress = task.NextAddress; |
| | | // router.Remark = "å ç¨"; |
| | | // _routerRepository.UpdateData(router); |
| | | // _taskService.UpdateData(task); |
| | | // } |
| | | //} |
| | | #endregion |
| | | task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt(); |
| | | WMSTaskDTO WMStask = _mapper.Map<WMSTaskDTO>(task); |
| | | _taskService.AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete); |
| | | HttpHelper.PostAsync(WMSInterfaceAddress.UpdateTaskStatus, WMStask.ToJson(), headers: new Dictionary<string, string>()); |
| | | } |
| | | } |
| | | } |
| | |
| | | // //} |
| | | //} |
| | | } |
| | | else |
| | | { |
| | | Dt_Task _Task = new Dt_Task(); |
| | | _Task.TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")); |
| | | _Task.CurrentAddress = childDeviceCode; |
| | | _Task.NextAddress = "1001"; |
| | | ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(_Task); |
| | | taskCommand.WriterTrue = (short)command.inRead; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |