| | |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using WIDESEAWCS_TaskInfoRepository; |
| | | using static WIDESEAWCS_QuartzJob.Service.DeviceInfoService; |
| | | |
| | | namespace WIDESEAWCS_TaskInfoService |
| | | { |
| | |
| | | private readonly IMapper _mapper; |
| | | private readonly IDeviceInfoRepository _deviceInfoRepository; |
| | | private readonly IDt_StationManagerRepository _stationManagerRepository; |
| | | private readonly IDt_WMSErrorMessageRepository _errorMessageRepository; |
| | | |
| | | |
| | | private Dictionary<string, OrderByType> _taskOrderBy = new() |
| | |
| | | public List<int> TaskRelocationboundTypes => typeof(TaskRelocationTypeEnum).GetEnumIndexList(); |
| | | |
| | | public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ITask_HtyService taskHtyService, ISys_ConfigService sys_ConfigService, IDt_StationManagerRepository stationManagerRepository, ITask_HtyRepository taskHtyRepository, |
| | | IDeviceInfoRepository deviceInfoRepository) : base(BaseDal) |
| | | IDeviceInfoRepository deviceInfoRepository, IDt_WMSErrorMessageRepository errorMessageRepository) : base(BaseDal) |
| | | { |
| | | _routerService = routerService; |
| | | _taskExecuteDetailService = taskExecuteDetailService; |
| | |
| | | _mapper = mapper; |
| | | _sys_ConfigService = sys_ConfigService; |
| | | _deviceInfoRepository = deviceInfoRepository; |
| | | _errorMessageRepository = errorMessageRepository; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | List<Dt_Task> tasks = new List<Dt_Task>(); |
| | | Dt_Task task =null; |
| | | // 夿任å¡ç±»åæ¯å¦ä¸ºåºåºä»»å¡ |
| | | if (taskDTOs.TaskType == "2") |
| | | { |
| | |
| | | { |
| | | return content.Error("æªæ¾å°åºåºç«å°ä¿¡æ¯"); |
| | | } |
| | | Dt_Task taskIn = new Dt_Task() |
| | | task = new Dt_Task() |
| | | { |
| | | TaskNum = BaseDal.GetTaskNo().Result, |
| | | Creater = "WMS", |
| | |
| | | Floor = stationManagerStart.stationFloor, |
| | | RGVName = "" |
| | | }; |
| | | BaseDal.AddData(taskIn); |
| | | BaseDal.AddData(task); |
| | | } |
| | | else |
| | | { |
| | | |
| | | string[] targetCodes = taskDTOs.BeginPoint.Split("-"); |
| | | |
| | | if(GetScCode(Convert.ToInt32(targetCodes[0]))=="SC01"&&(taskDTOs.EndPoint=="1030"|| taskDTOs.EndPoint == "1029")) |
| | | { |
| | | return content.Error($"ä¸å·å åæºä¸è½åºåºè³è¯¥ç¹ä½{taskDTOs.EndPoint}"); |
| | | } |
| | | if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.EndPoint == "1002" || taskDTOs.EndPoint == "1004")) |
| | | { |
| | | return content.Error($"å
å·å åæºä¸è½åºåºè³è¯¥ç¹ä½{taskDTOs.EndPoint}"); |
| | | } |
| | | |
| | | if (taskDTOs.EndPoint == "3004") |
| | | { |
| | | var newTask = BaseDal.QueryFirst(x => x.SourceAddress == "3001" && x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.TaskState != (int)TaskInStatusEnum.HoistNew && x.TaskState != (int)TaskInStatusEnum.HoistInExecuting && x.TaskState > 225); |
| | | if (newTask != null) |
| | | { |
| | | return content.Error("å·²åå¨å
¥åºä»»å¡ï¼åºåºä»»å¡ä¸å¯ä¸å"); |
| | | } |
| | | } |
| | | |
| | | |
| | | Dt_StationManager stationManagerEnd = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTOs.EndPoint); |
| | | if (stationManagerEnd == null) |
| | |
| | | { |
| | | RGVName = stationManager.RGVName; |
| | | } |
| | | Dt_Task taskOut = new Dt_Task() |
| | | task = new Dt_Task() |
| | | { |
| | | TaskNum = BaseDal.GetTaskNo().Result, |
| | | Creater = "WMS", |
| | |
| | | TargetStation= stationManagerEnd.remark, |
| | | SourceStation= 0, |
| | | }; |
| | | BaseDal.AddData(taskOut); |
| | | BaseDal.AddData(task); |
| | | } |
| | | } |
| | | // 夿任å¡ç±»åæ¯å¦ä¸ºå
¥åºä»»å¡ |
| | |
| | | return content.Error("æªæ¾å°å
¥åºç«å°ä¿¡æ¯"); |
| | | } |
| | | string[] targetCodes = taskDTOs.EndPoint.Split("-"); |
| | | Dt_Task taskIn = new Dt_Task() |
| | | task = new Dt_Task() |
| | | { |
| | | TaskNum = BaseDal.GetTaskNo().Result, |
| | | Creater = "WMS", |
| | |
| | | Floor = stationManagerStart.stationFloor, |
| | | RGVName = "RGV03" |
| | | }; |
| | | BaseDal.AddData(taskIn); |
| | | BaseDal.AddData(task); |
| | | } |
| | | else if (Convert.ToInt32(taskDTOs.BeginPoint) > 1999 && Convert.ToInt32(taskDTOs.BeginPoint) < 3000) |
| | | { |
| | |
| | | { |
| | | return content.Error("æªæ¾å°åºåºç«å°ä¿¡æ¯"); |
| | | } |
| | | Dt_Task taskIn = new Dt_Task() |
| | | task = new Dt_Task() |
| | | { |
| | | TaskNum = BaseDal.GetTaskNo().Result, |
| | | Creater = "WMS", |
| | |
| | | Floor = stationManagerStart.stationFloor, |
| | | RGVName = "" |
| | | }; |
| | | BaseDal.AddData(taskIn); |
| | | BaseDal.AddData(task); |
| | | } |
| | | else |
| | | { |
| | | var task = BaseDal.QueryFirst(x => x.PalletCode == taskDTOs.TPbarcode); |
| | | task = BaseDal.QueryFirst(x => x.PalletCode == taskDTOs.TPbarcode); |
| | | string[] targetCodes = taskDTOs.EndPoint.Split("-"); |
| | | |
| | | if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC01" && (taskDTOs.BeginPoint == "1030" || taskDTOs.EndPoint == "1029")) |
| | | { |
| | | return content.Error($"该ç¹ä½{taskDTOs.EndPoint}ä¸è½å
¥åºä¸å·å åæº"); |
| | | } |
| | | |
| | | if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.BeginPoint == "1002" || taskDTOs.BeginPoint == "1004")) |
| | | { |
| | | return content.Error($"该ç¹ä½{taskDTOs.EndPoint}ä¸è½å
¥åºå
å·å åæº"); |
| | | } |
| | | |
| | | if (task != null) |
| | | { |
| | | task.Creater = "WMS"; |
| | |
| | | task.WMSTaskNum = taskDTOs.TaskId; |
| | | |
| | | task.TargetAddress = taskDTOs.EndPoint; |
| | | |
| | | string[] targetCodes = taskDTOs.EndPoint.Split("-"); |
| | | |
| | | task.Roadway = GetScCode(Convert.ToInt32(targetCodes[0])); |
| | | |
| | |
| | | else if (taskDTOs.TaskType == "3") |
| | | { |
| | | string[] targetCodes = taskDTOs.BeginPoint.Split("-"); |
| | | Dt_Task taskRelocation = new Dt_Task() |
| | | task = new Dt_Task() |
| | | { |
| | | TaskType = (int)TaskRelocationTypeEnum.Relocation, |
| | | |
| | |
| | | Grade = 3, |
| | | |
| | | }; |
| | | BaseDal.AddData(taskRelocation); |
| | | BaseDal.AddData(task); |
| | | } |
| | | else if (taskDTOs.TaskType == "4") |
| | | { |
| | | task = BaseDal.QueryFirst(x => x.PalletCode == taskDTOs.TPbarcode); |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress); |
| | | if (stationManager == null) |
| | | { |
| | | return content.Error("æªæ¾å°èµ·ç¹ç«å°"); |
| | | } |
| | | |
| | | if (task != null) |
| | | { |
| | | 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); |
| | | Dt_WMSErrorMessage message = new Dt_WMSErrorMessage() |
| | | { |
| | | TaskNum = task.TaskNum, |
| | | PalletCode=taskDTOs.TPbarcode, |
| | | ErrorMessage=taskDTOs.EndPoint, |
| | | CreateDate=DateTime.Now, |
| | | }; |
| | | _errorMessageRepository.AddData(message); |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.RGVName); |
| | | if (device != null) |
| | | { |
| | | if (task.RGVName == "RGV01" || task.RGVName == "RGV02") |
| | | { |
| | | CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device; |
| | | |
| | | commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, Convert.ToSByte(stationManager.stationRemark)); |
| | | commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(task.TaskNum)); |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4)); |
| | | } |
| | | else |
| | | { |
| | | CommonRGV commonRGV = (CommonRGV)device; |
| | | commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, Convert.ToSByte(stationManager.stationRemark)); |
| | | commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(task.TaskNum)); |
| | | commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4)); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | IDevice? deviceconveyorline = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC); |
| | | if (deviceconveyorline != null) |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)deviceconveyorline; |
| | | |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode); |
| | | |
| | | Dt_WMSErrorMessage message = new Dt_WMSErrorMessage() |
| | | { |
| | | PalletCode = taskDTOs.TPbarcode, |
| | | ErrorMessage = taskDTOs.EndPoint, |
| | | CreateDate = DateTime.Now, |
| | | }; |
| | | _errorMessageRepository.AddData(message); |
| | | } |
| | | } |
| | | return content.OK(); |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{taskDTOs.TaskId}ã,ä»»å¡ç±»å:ã{taskDTOs.TaskType}ã"); |
| | | } |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(tasks.Select(x => x.TaskId).ToList(), "æ¥æ¶WMSä»»å¡"); |
| | | _taskExecuteDetailService.AddTaskExecuteDetailS(task.TaskNum, "æ¥æ¶WMSä»»å¡"); |
| | | content = WebResponseContent.Instance.OK("æå"); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | /// å°ä»»å¡ç¶æä¿®æ¹ä¸ºä¸ä¸ä¸ªç¶æ |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡å·</param> |
| | | public WebResponseContent HandUpdateTaskStatusToNext(int taskNum) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | if (task == null) return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥ä»»å¡ä¿¡æ¯,ä»»å¡å·:ã{taskNum}ã"); |
| | | int oldState = task.TaskState; |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>(); |
| | | |
| | | task.TaskState = nextStatus; |
| | | |
| | | if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutFinish) |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.OutFinish; |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | |
| | | Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | task_Hty.TaskId = 0; |
| | | task_Hty.OperateType = (int)OperateTypeEnum.äººå·¥å®æ; |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | |
| | | var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; |
| | | var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue; |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | { |
| | | TaskId = task.WMSTaskNum, |
| | | TPbarcode = task.PalletCode, |
| | | WhCode = "1001", |
| | | BeginPoint = task.SourceAddress, |
| | | EndPoint = task.TargetAddress, |
| | | Results = "1" |
| | | }; |
| | | if (wmsBase == null || requestTask == null) |
| | | { |
| | | throw new InvalidOperationException("WMS IP æªé
ç½®"); |
| | | } |
| | | var wmsIpAddress = wmsBase + requestTask; |
| | | var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; |
| | | |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGVåºåºå®æ"); |
| | | } |
| | | |
| | | if (task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) |
| | | { |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationChildCode == task.NextAddress); |
| | | Dt_StationManager stationManagerend = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.TargetAddress); |
| | | task.CurrentAddress = task.NextAddress; |
| | | task.NextAddress = task.TargetAddress; |
| | | task.SourceStation = stationManager.stationRemark; |
| | | task.TargetStation = stationManagerend.remark; |
| | | } |
| | | |
| | | if (task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) |
| | | { |
| | | content = StackCraneTaskCompleted(task.TaskNum); |
| | | return content; |
| | | } |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | { |
| | | int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>(); |
| | | task.TaskState = nextStatus; |
| | | |
| | | if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish) |
| | | { |
| | | task.CurrentAddress = task.NextAddress; |
| | | task.NextAddress = task.TargetAddress; |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish) |
| | | { |
| | | return content.Error("请çå¾
WMSä¸åå
¥åºä»»å¡"); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.RGV_InExecutingFinish) |
| | | { |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.NextAddress && x.stationFloor == task.Floor); |
| | | task.CurrentAddress = task.NextAddress; |
| | | task.NextAddress = stationManager.stationNextChildCode; |
| | | task.ModifyDate = DateTime.Now; |
| | | BaseDal.UpdateData(task); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGVå
¥åºå®æ"); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.SC_InFinish) |
| | | { |
| | | if (App.User.UserId > 0) |
| | | { |
| | | content = StackCraneTaskCompleted(task.TaskNum); |
| | | return content; |
| | | } |
| | | |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | |
| | | Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | task_Hty.TaskId = 0; |
| | | task_Hty.OperateType = (int)OperateTypeEnum.äººå·¥å®æ; |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_InExecutingFinish) |
| | | { |
| | | RGVTaskCompleted(task.TaskNum); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | throw new Exception($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); |
| | | } |
| | | |
| | | if (task.TaskState <= 0) |
| | | { |
| | | return content = WebResponseContent.Instance.Error($"该任å¡ç¶æä¸å¯è·³è½¬å°ä¸ä¸æ¥,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç¶æ:ã{task.TaskState}ã"); |
| | | } |
| | | |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | BaseDal.UpdateData(task); |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"人工æå¨å°ä»»å¡ç¶æä»ã{oldState}ã跳转å°ã{task.TaskState}ã" : $"ç³»ç»èªå¨æµç¨ï¼ä»»å¡ç¶æä»ã{oldState}ã转å°ã{task.TaskState}ã"); |
| | | |
| | | content = WebResponseContent.Instance.OK(); |
| | | |
| | | return content; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content = WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å°ä»»å¡ç¶æä¿®æ¹ä¸ºä¸ä¸ä¸ªç¶æ |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡å·</param> |
| | | public WebResponseContent UpdateTaskStatusToNext(int taskNum) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | |
| | | |
| | | if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutFinish) |
| | | { |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | //task.ModifyDate = DateTime.Now; |
| | | //task.Modifier = "System"; |
| | | |
| | | Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | task_Hty.TaskId = 0; |
| | | //Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | //task_Hty.TaskId = 0; |
| | | |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | //BaseDal.DeleteData(task); |
| | | //_taskHtyRepository.AddData(task_Hty); |
| | | |
| | | RGVTaskCompleted(task.TaskNum); |
| | | } |
| | | if (task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) |
| | | { |
| | |
| | | |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.InFinish|| task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish) |
| | | { |
| | | RGVTaskCompleted(task.TaskNum); |
| | | } |
| | | } |
| | | else |
| | |
| | | var wmsIpAddress = wmsBase + requestTask; |
| | | var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; |
| | | |
| | | |
| | | |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGVè°åº¦å®æçå¾
WMSä»»å¡"); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.RGV_InExecuting) |
| | |
| | | task.TaskState = (int)TaskOutStatusEnum.RGV_OutdispatchFinish; |
| | | task.ModifyDate = DateTime.Now; |
| | | BaseDal.UpdateData(task); |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGVåºåºè°åº¦"); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.InRetuen) |
| | | { |
| | |
| | | |
| | | Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | task_Hty.TaskId = 0; |
| | | |
| | | task_Hty.OperateType = (int)OperateTypeEnum.èªå¨å®æ; |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | |
| | |
| | | |
| | | Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | task_Hty.TaskId = 0; |
| | | |
| | | task_Hty.OperateType = (int)OperateTypeEnum.èªå¨å®æ; |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"å åæºåºåºå®æ"); |
| | |
| | | |
| | | Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | task_Hty.TaskId = 0; |
| | | |
| | | task_Hty.OperateType = (int)OperateTypeEnum.èªå¨å®æ; |
| | | BaseDal.DeleteData(task); |
| | | _taskHtyRepository.AddData(task_Hty); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"å åæºç§»åºå®æ"); |
| | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, "äººå·¥åæ¶ä»»å¡"); |
| | | } |
| | | content = WebResponseContent.Instance.OK("忶任塿å"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content = WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | public WebResponseContent TaskCancel(int taskNum) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | if (task == null) return content.Error("æªæ¾å°è¯¥ä»»å¡ä¿¡æ¯"); |
| | | |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.OutCancel; |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.InCancel; |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) |
| | | { |
| | | task.TaskState = (int)TaskRelocationStatusEnum.RelocationCancel; |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); |
| | | } |
| | | task.ModifyDate = DateTime.Now; |
| | | BaseDal.DeleteData(task); |
| | | |
| | | Dt_Task_Hty taskHty = _mapper.Map<Dt_Task_Hty>(task); |
| | | taskHty.OperateType = (int)OperateTypeEnum.WCSäººå·¥åæ¶; |
| | | _taskHtyRepository.AddData(taskHty); |
| | | |
| | | #region 䏿¥WMSæ§è¡ç»æ |
| | | var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; |
| | | var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue; |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | { |
| | | TaskId = task.WMSTaskNum, |
| | | TPbarcode = task.PalletCode, |
| | | WhCode = "1001", |
| | | BeginPoint = task.SourceAddress, |
| | | EndPoint = task.TargetAddress, |
| | | Results = "3" |
| | | }; |
| | | if (wmsBase == null || requestTask == null) |
| | | { |
| | | throw new InvalidOperationException("WMS IP æªé
ç½®"); |
| | | } |
| | | var wmsIpAddress = wmsBase + requestTask; |
| | | var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; |
| | | #endregion |
| | | |
| | | content = WebResponseContent.Instance.OK("忶任塿å"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content = WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | public WebResponseContent TaskComplete(int taskNum) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var task=BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | if (task == null) return content.Error("æªæ¾å°è¯¥ä»»å¡ä¿¡æ¯"); |
| | | |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.OutHandFinish; |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.InHandFinish; |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) |
| | | { |
| | | task.TaskState = (int)TaskRelocationStatusEnum.RelocationHandFinish; |
| | | } |
| | | else |
| | | { |
| | | return content.Error($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); |
| | | } |
| | | task.ModifyDate = DateTime.Now; |
| | | BaseDal.DeleteData(task); |
| | | |
| | | Dt_Task_Hty taskHty = _mapper.Map<Dt_Task_Hty>(task); |
| | | taskHty.OperateType = (int)OperateTypeEnum.äººå·¥å®æ; |
| | | _taskHtyRepository.AddData(taskHty); |
| | | |
| | | #region 䏿¥WMS宿 |
| | | var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; |
| | | var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue; |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | { |
| | | TaskId = task.WMSTaskNum, |
| | | TPbarcode = task.PalletCode, |
| | | WhCode = "1001", |
| | | BeginPoint = task.SourceAddress, |
| | | EndPoint = task.TargetAddress, |
| | | Results = "2" |
| | | }; |
| | | if (wmsBase == null || requestTask == null) |
| | | { |
| | | throw new InvalidOperationException("WMS IP æªé
ç½®"); |
| | | } |
| | | var wmsIpAddress = wmsBase + requestTask; |
| | | var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; |
| | | #endregion |
| | | |
| | | content = WebResponseContent.Instance.OK("æå¨å®ææå"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | ((SqlSugarClient)BaseDal.Db).RollbackTran(); |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent TaskComplete() |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | //var result = _stationManagerRepository.Db.Queryable<Dt_StationManager>() |
| | | // .Where(t => SqlFunc.Abs(t.LevelPointFist - taskNum) <= 1000) |
| | | // .ToList(); |
| | | var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; |
| | | var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue; |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | { |
| | | TaskId="1", |
| | | TPbarcode = "123456", |
| | | WhCode = "1001", |
| | | BeginPoint = "1013", |
| | | EndPoint="1-1-1", |
| | | Results="1" |
| | | }; |
| | | if (wmsBase == null || requestTask == null) |
| | | { |
| | | throw new InvalidOperationException("WMS IP æªé
ç½®"); |
| | | } |
| | | var wmsIpAddress = wmsBase + requestTask; |
| | | var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; |
| | | |
| | | return content.OK(data: result); |
| | | } |
| | | |
| | | public WebResponseContent RequestTask() |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | //var result = _stationManagerRepository.Db.Queryable<Dt_StationManager>() |
| | | // .Where(t => SqlFunc.Abs(t.LevelPointFist - taskNum) <= 1000) |
| | | // .ToList(); |
| | | var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; |
| | | var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue; |
| | | //var keys = new Dictionary<string, object>() |
| | | //{ |
| | | // {"TPbarcode", "123456"}, |
| | | // {"WhCode", "1001"}, |
| | | // {"BeginPoint", "1013"} |
| | | //}; |
| | | |
| | | WMSTaskDTO taskDTO = new WMSTaskDTO() |
| | | { |
| | | TPbarcode = "123456", |
| | | WhCode = "1001", |
| | | BeginPoint = "1013" |
| | | }; |
| | | if (wmsBase == null || requestTask == null) |
| | | { |
| | | throw new InvalidOperationException("WMS IP æªé
ç½®"); |
| | | } |
| | | var wmsIpAddress = wmsBase + requestTask; |
| | | var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; |
| | | |
| | | return content.OK(data: result); |
| | | } |
| | | } |
| | | } |