| | |
| | | |
| | | #endregion << ç æ¬ 注 é >> |
| | | |
| | | using System.Threading.Tasks; |
| | | using AutoMapper; |
| | | using Quartz; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | |
| | | private readonly ITaskExecuteDetailService _taskExecuteDetailService; |
| | | private readonly IRouterService _routerService; |
| | | private readonly IMapper _mapper; |
| | | private readonly ITaskCZDetailsRepository _detailsRepository; |
| | | |
| | | public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, ITaskCZRepository taskCZRepository) |
| | | public CommonConveyorLineJob(ITaskService taskService, ITaskCZDetailsRepository detailsRepository, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, ITaskCZRepository taskCZRepository) |
| | | { |
| | | _taskService = taskService; |
| | | _taskExecuteDetailService = taskExecuteDetailService; |
| | |
| | | _mapper = mapper; |
| | | _taskRepository = taskRepository; |
| | | _taskCZRepository = taskCZRepository; |
| | | _detailsRepository = detailsRepository; |
| | | } |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | |
| | | |
| | | |
| | | { |
| | | try |
| | | { |
| | |
| | | // å®ä¹çº¿ä½å®çå
¥åºè¯·æ±çå°ååä»»å¡ç±»å |
| | | var requests = new Dictionary<string, string> |
| | | { |
| | | { "DB1002.1093.0", "ZJXL-WLX002" }, |
| | | { "DB1002.1493.0", "FJXL-WLX002" } |
| | | { "DB1002.1493.0", "ZJXL-WLX002" }, |
| | | { "DB1002.1093.0", "FJXL-WLX002" } |
| | | }; |
| | | |
| | | // å®ä¹çº¿ä½ç©ºçåæµè¯·æ±çå°ååä»»å¡ç±»å |
| | |
| | | }; |
| | | |
| | | // å¤çå®çå
¥åºè¯·æ± |
| | | ProcessRequests(conveyorLine, requests, "ä¸çº¿è¯·æ±å
¥åº"); |
| | | //ProcessRequests(conveyorLine, requests, "ä¸çº¿è¯·æ±å
¥åº"); |
| | | |
| | | // å¤ç空çåæµè¯·æ± |
| | | ProcessKpRequests(conveyorLine, requestsKP); |
| | |
| | | } |
| | | |
| | | // æ¥è¯¢ä»»å¡ç±»å对åºçczTask |
| | | DtCZTask czTask = _taskCZRepository.QueryFirst(x => x.TaskType == taskType); |
| | | DtCZTask czTask = _taskCZRepository.QueryFirst(x => x.TaskType == taskType && (x.TaskStatus == TaskInStatusEnum.InFinish.ToString() || x.TaskStatus == TaskInStatusEnum.Line_InExecuting.ToString())); |
| | | if (czTask == null) |
| | | { |
| | | ConsoleHelper.WriteInfoLine($"{nameof(CommonConveyorLineJob)}: {taskType}{requestType},{taskType}ä»»å¡ä¸åå¨ï¼ç¨åéè¯......"); |
| | |
| | | } |
| | | |
| | | // åå»ºå¹¶æ·»å æ°ä»»å¡å°ä»»å¡ä»åº |
| | | task = CreateTask(fromAdd, czTask.TaskEndAddress, czTask.TaskOrderNo, czTask.TaskProductCode, taskType); |
| | | task = CreateTask(fromAdd, czTask.TaskEndAddress, czTask.TaskOrderNo, czTask.TaskProductCode, taskType, czTask.Id); |
| | | _taskRepository.AddData(task); |
| | | ConsoleHelper.WriteInfoLine($"{nameof(CommonConveyorLineJob)}: {taskType}{requestType},ä»»å¡å·²çæï¼çå¾
æ§è¡......"); |
| | | } |
| | |
| | | Dt_Task task = null; |
| | | if (isUpRequest) |
| | | { |
| | | task = CreateTask(fromAdd, "WaitBind", "æ£æç©æµçº¿002çä¸æè¯·æ±", "空æç", taskType); |
| | | List<Dt_Task> dt_Task = _taskRepository.QueryData(x => x.SourceAddress == fromAdd && x.TaskState == (int)TaskInStatusEnum.InPending); |
| | | if (dt_Task.Count < 0) { continue; } |
| | | var tasks = dt_Task.Where(x => x.SourceAddress == fromAdd).OrderBy(t => t.CreateDate).First(); |
| | | tasks.TaskState = (int)TaskInStatusEnum.InNew; |
| | | _taskService.UpdateData(tasks); |
| | | } |
| | | else if (isGMRequest && isGMState == 1) |
| | | { |
| | | task = CreateTask(fromAdd, "WaitBind", "æ£æç©æµçº¿002çä¸æè¯·æ±", "éè空æç", taskType); |
| | | } |
| | | //else if (isGMRequest && isGMState == 1) |
| | | //{ |
| | | // task = CreateTask(fromAdd, "WaitBind", "æ£æç©æµçº¿002çä¸æè¯·æ±", "éè空æç", taskType); |
| | | //} |
| | | |
| | | // æ·»å ä»»å¡å°ä»»å¡è¡¨ |
| | | if (task != null) |
| | | { |
| | | _taskRepository.AddData(task); |
| | | } |
| | | //// æ·»å ä»»å¡å°ä»»å¡è¡¨ |
| | | //if (task != null) |
| | | //{ |
| | | // _taskRepository.AddData(task); |
| | | //} |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | // è¾
婿¹æ³ï¼å建任å¡å¯¹è±¡ |
| | | private Dt_Task CreateTask(string currentAddress, string targetAddress, string remark, string palletCode, string taskType) |
| | | private Dt_Task CreateTask(string currentAddress, string targetAddress, string remark, string palletCode, string taskType, int czTaskID = 0) |
| | | { |
| | | if (targetAddress != "WaitBind") |
| | | { |
| | | var details = _detailsRepository.QueryData(x => x.TaskEndAddress == targetAddress).ToList(); |
| | | foreach (var item in details) |
| | | { |
| | | var taskCZ = _taskCZRepository.QueryFirst(x => x.TaskTaskID == item.TaskTaskID); |
| | | if (taskCZ.TaskType.Contains("æ£æ")) |
| | | { |
| | | taskCZ.TaskZJFinishNumber += 1; |
| | | } |
| | | else |
| | | { |
| | | taskCZ.TaskFJFinishNumber += 1; |
| | | } |
| | | if (taskCZ.TaskZJFinishNumber == taskCZ.TaskNumber || taskCZ.TaskFJFinishNumber == taskCZ.TaskNumber) |
| | | { |
| | | _taskCZRepository.DeleteData(taskCZ); |
| | | } |
| | | |
| | | var isTrue = _taskCZRepository.UpdateData(taskCZ); |
| | | } |
| | | } |
| | | Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.SourceAddress == currentAddress); |
| | | if (dt_Task != null) |
| | | { |
| | |
| | | NextAddress = targetAddress, |
| | | Barcode = "", |
| | | Roadway = $"{taskType}AGV", |
| | | WMSId = 0, |
| | | WMSId = czTaskID > 0 ? czTaskID : 0, |
| | | Remark = remark |
| | | }; |
| | | } |