| | |
| | | |
| | | #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" } |
| | | }; |
| | | |
| | | // å®ä¹çº¿ä½ç©ºçåæµè¯·æ±çå°ååä»»å¡ç±»å |
| | |
| | | string taskType = request.Value.Contains("ZJXL") ? "æ£æ" : "è´æ"; |
| | | |
| | | // æ¥è¯¢æ¯å¦åå¨å·²çæçæ°ä»»å¡ |
| | | var task = _taskRepository.QueryFirst(x => x.SourceAddress == fromAdd && x.TaskState == (int)TaskInStatusEnum.InNew); |
| | | var task = _taskRepository.QueryFirst(x => x.SourceAddress == fromAdd);//&& x.TaskState == (int)TaskInStatusEnum.InNew |
| | | if (task != null) |
| | | { |
| | | ConsoleHelper.WriteInfoLine($"{nameof(CommonConveyorLineJob)}: {taskType}{requestType},ä»»å¡å·²çæåå¨ï¼ç¨åéè¯......"); |
| | |
| | | } |
| | | |
| | | // æ¥è¯¢ä»»å¡ç±»å对åºç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},ä»»å¡å·²çæï¼çå¾
æ§è¡......"); |
| | | } |
| | |
| | | } |
| | | |
| | | string fromAdd = request.Value; |
| | | string taskType = request.Value.Contains("ZJXL") ? "æ£æ" : "è´æ"; |
| | | string taskType = "è´æ"; //request.Value.Contains("ZJXL") ? "æ£æ" : |
| | | |
| | | // æ ¹æ®ä»»å¡ç±»åç¡®å®è¯·æ±å°å |
| | | (string upRequest, string gmRequest, string gmState) = GetRequestAddresses(taskType); |
| | |
| | | } |
| | | |
| | | // è¾
婿¹æ³ï¼å建任å¡å¯¹è±¡ |
| | | 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) |
| | | { |
| | | return null; |
| | | } |
| | | return new Dt_Task |
| | | { |
| | | TaskNum = _taskService.GetTaskNum(), |
| | |
| | | NextAddress = targetAddress, |
| | | Barcode = "", |
| | | Roadway = $"{taskType}AGV", |
| | | WMSId = 0, |
| | | WMSId = czTaskID > 0 ? czTaskID : 0, |
| | | Remark = remark |
| | | }; |
| | | } |