| | |
| | | task.Floor = item.Floor; |
| | | |
| | | task.AGVSign = ""; |
| | | |
| | | task.DoubleTray = item.DoubleTray; |
| | | } |
| | | else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup) |
| | | { |
| | |
| | | task.Floor = item.Floor; |
| | | |
| | | task.AGVSign = ""; |
| | | |
| | | task.DoubleTray = item.DoubleTray; |
| | | } |
| | | else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup) |
| | | { |
| | |
| | | task.Floor = item.Floor; |
| | | |
| | | task.AGVSign = ""; |
| | | |
| | | task.DoubleTray = item.DoubleTray; |
| | | } |
| | | else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup) |
| | | { |
| | |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | } |
| | | } |
| | | else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.RelocationGroup) |
| | | { |
| | | int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskRelocationStatusEnum>(); |
| | | |
| | | task.TaskState = nextStatus; |
| | | |
| | | if (task.TaskState == (int)TaskRelocationStatusEnum.SC_RelocationFinish|| task.TaskState == (int)TaskRelocationStatusEnum.AGV_RelocationFinish) |
| | | { |
| | | CompletedTask(task.TaskNum); |
| | | |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | |
| | | Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | task_Hty.TaskId = 0; |
| | | |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | } |
| | | } |
| | | else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.AcrossFloorGroup) |
| | | { |
| | | int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskAcrossFloorStatusEnum>(); |
| | |
| | | |
| | | if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarryFinish) |
| | | { |
| | | Dt_StationManager stationManager = new Dt_StationManager(); |
| | | string TaskTemplate = string.Empty; |
| | | if (task.Floor == "1F") |
| | | if (task.DoubleTray != 1) |
| | | { |
| | | stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "2F"); |
| | | TaskTemplate = "BBB"; |
| | | RequestAcrossFloor(task,0); |
| | | } |
| | | else |
| | | { |
| | | stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "1F"); |
| | | TaskTemplate = "CCC"; |
| | | var taskDouble = BaseDal.QueryFirst(x => x.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarryFinish); |
| | | if (taskDouble != null) |
| | | { |
| | | RequestAcrossFloor(task,1); |
| | | RequestAcrossFloor(taskDouble,1); |
| | | } |
| | | } |
| | | |
| | | var taskDto = new RequestAcrossFloorTaskDto() |
| | | { |
| | | NextAddress = task.NextAddress, |
| | | PalletCode = task.PalletCode, |
| | | TaskNum = task.TaskNum |
| | | }; |
| | | |
| | | // è·åWMSipå°å |
| | | var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var wmsBasez = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue; |
| | | var requestLocation = configz.Where(x => x.ConfigKey == SysConfigKeyConst.AcrossFloorTask).FirstOrDefault()?.ConfigValue; |
| | | if (wmsBasez == null || requestLocation == null) |
| | | { |
| | | throw new InvalidOperationException("WMS IP æªé
ç½®"); |
| | | } |
| | | var wmsIpAddrss = wmsBasez + requestLocation; |
| | | |
| | | var abc = HttpHelper.PostAsync(wmsIpAddrss, taskDto.ToJsonString()).Result; |
| | | if (abc == null) |
| | | return content.Error(); |
| | | content = JsonConvert.DeserializeObject<WebResponseContent>(abc); |
| | | |
| | | if (!content.Status) |
| | | { |
| | | return content; |
| | | } |
| | | |
| | | // ååºåå任塿°æ® |
| | | var taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); |
| | | |
| | | Dt_Task taskNew = _mapper.Map<Dt_Task>(taskDTO); |
| | | task.Creater = "WMS"; |
| | | |
| | | taskNew.CurrentAddress = stationManager.stationChildCode; |
| | | |
| | | taskNew.NextAddress = taskDTO.TargetAddress; |
| | | |
| | | taskNew.Floor = stationManager.stationFloor; |
| | | |
| | | taskNew.AGVSign = ""; |
| | | |
| | | task.TaskState = (int)TaskAcrossFloorStatusEnum.FirstCarryFinish; |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | |
| | | Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | task_Hty.TaskId = 0; |
| | | |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | |
| | | BaseDal.AddData(taskNew); |
| | | |
| | | SendAgvTask(TaskTemplate, taskNew.TaskNum); |
| | | } |
| | | } |
| | | else |
| | |
| | | return content; |
| | | } |
| | | |
| | | public WebResponseContent RequestAcrossFloor(Dt_Task task,int DoubleTray) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | Dt_StationManager stationManager = new Dt_StationManager(); |
| | | string TaskTemplate = string.Empty; |
| | | if (task.Floor == "1F") |
| | | { |
| | | stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "2F"); |
| | | TaskTemplate = "BBB"; |
| | | } |
| | | else |
| | | { |
| | | stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "1F"); |
| | | TaskTemplate = "CCC"; |
| | | } |
| | | |
| | | var taskDto = new RequestAcrossFloorTaskDto() |
| | | { |
| | | NextAddress = task.NextAddress, |
| | | PalletCode = task.PalletCode, |
| | | TaskNum = task.TaskNum |
| | | }; |
| | | |
| | | // è·åWMSipå°å |
| | | var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var wmsBasez = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue; |
| | | var requestLocation = configz.Where(x => x.ConfigKey == SysConfigKeyConst.AcrossFloorTask).FirstOrDefault()?.ConfigValue; |
| | | if (wmsBasez == null || requestLocation == null) |
| | | { |
| | | throw new InvalidOperationException("WMS IP æªé
ç½®"); |
| | | } |
| | | var wmsIpAddrss = wmsBasez + requestLocation; |
| | | |
| | | var abc = HttpHelper.PostAsync(wmsIpAddrss, taskDto.ToJsonString()).Result; |
| | | if (abc == null) |
| | | return content.Error(); |
| | | content = JsonConvert.DeserializeObject<WebResponseContent>(abc); |
| | | |
| | | if (!content.Status) |
| | | { |
| | | return content; |
| | | } |
| | | |
| | | // ååºåå任塿°æ® |
| | | var taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); |
| | | |
| | | Dt_Task taskNew = _mapper.Map<Dt_Task>(taskDTO); |
| | | task.Creater = "WMS"; |
| | | |
| | | taskNew.CurrentAddress = stationManager.stationChildCode; |
| | | |
| | | taskNew.NextAddress = taskDTO.TargetAddress; |
| | | |
| | | taskNew.Floor = stationManager.stationFloor; |
| | | |
| | | taskNew.AGVSign = ""; |
| | | |
| | | taskNew.DoubleTray = DoubleTray; |
| | | |
| | | task.TaskState = (int)TaskAcrossFloorStatusEnum.FirstCarryFinish; |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | |
| | | Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | task_Hty.TaskId = 0; |
| | | |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | |
| | | BaseDal.AddData(taskNew); |
| | | |
| | | return SendAgvTask(TaskTemplate, taskNew.TaskNum); |
| | | } |
| | | |
| | | public string GetLocation(string palletCode) |
| | | { |
| | | var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |