| | |
| | | using Quartz; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Linq; |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_BasicInfoService; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.Enums; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using WIDESEAWCS_TaskInfoRepository; |
| | | using WIDESEAWCS_Tasks.ConveyorLineJob; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | |
| | | public class CommonConveyorLineJob : IJob |
| | | { |
| | | private readonly ITaskService _taskService; |
| | | private readonly ITaskRepository _taskRepository; |
| | | private readonly ITaskExecuteDetailService _taskExecuteDetailService; |
| | | |
| | | private readonly IRouterService _routerService; |
| | | private readonly IMapper _mapper; |
| | | |
| | | public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper) |
| | | public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper,ITaskRepository taskRepository) |
| | | { |
| | | _taskService = taskService; |
| | | _taskExecuteDetailService = taskExecuteDetailService; |
| | | _routerService = routerService; |
| | | _mapper = mapper; |
| | | _taskRepository = taskRepository; |
| | | } |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | |
| | | try |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams"); |
| | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Intask.TaskId, $"è¾é线å
¥åºå®æ"); |
| | | } |
| | | } |
| | | else//å¦ææ ¹æ®æçæ¡ç æ¥ä¸å°ä»»å¡ï¼å认为æ¯ç©ºæçï¼ç©ºæçå
¥åºä¸éè¦ç»çï¼ç´æ¥æ°å»ºä»»å¡ |
| | | { |
| | | if (command.ISInFinish == 1) |
| | | { |
| | | //å
¥åºç¡®è®¤ä¿¡å· |
| | | conveyorLine.Communicator.Write<short>("DB800.6.0", 1); |
| | | Dt_Task task = new Dt_Task(); |
| | | task.TaskNum= GetTaskNo(); |
| | | task.PalletCode = command.CL1002Barcode; |
| | | task.TaskType =(int)TaskInboundTypeEnum.Inbound; |
| | | task.TaskState = (int)TaskInStatusEnum.Line_InFinish; |
| | | task.Roadway = "SC01"; |
| | | task.SourceAddress = "R01-001-023-001"; |
| | | //åWMSç³è¯·ç©ºè´§ä½ |
| | | task.TargetAddress= WMSApiInvoke.GetAllLocationGroups(task.PalletCode); |
| | | _taskService.AddData(task); |
| | | Dt_Router dt_Router = new Dt_Router(); |
| | | //临æ¶è®°å½ä¸æçååºä½çç»å®å
³ç³» |
| | | dt_Router.StartPosi = task.TargetAddress; |
| | | dt_Router.NextPosi = task.PalletCode; |
| | | dt_Router.InOutType = RouterInOutType.Out; |
| | | dt_Router.ChildPosi = "1"; |
| | | dt_Router.ChildPosiDeviceCode = "1"; |
| | | dt_Router.IsEnd = true; |
| | | _routerService.AddData(dt_Router); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"è¾é线å
¥åºæ§è¡ä¸"); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"è¾é线å
¥åºå®æ"); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | Dt_Task Outtask = _taskService.QueryConveyorLineOutTask(command.Barcode); |
| | | if (Outtask != null) |
| | |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// è·åä»»å¡ç¼å· |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public int GetTaskNo() |
| | | { |
| | | DataTable dt = _taskRepository.QueryTable("select next value for dbo.seqTaskNum"); |
| | | return int.Parse(dt.Rows[0][0].ToString()); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è¾é线请æ±å
¥åº |
| | | /// </summary> |