| | |
| | | using WIDESEA_Common.Log; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | | using WIDESEAWCS_Core.Enums; |
| | | using WIDESEAWCS_Core.Utilities; |
| | | using WIDESEAWCS_DTO; |
| | | using WIDESEAWCS_DTO.Enum; |
| | | using WIDESEAWCS_DTO.TaskInfo; |
| | | using WIDESEAWCS_ISystemServices; |
| | |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using WIDESEAWCS_TaskInfoRepository; |
| | | using static Microsoft.IO.RecyclableMemoryStreamManager; |
| | | using static System.Net.Mime.MediaTypeNames; |
| | | |
| | |
| | | private readonly IMapper _mapper; |
| | | private readonly IEquipmentStatusService _equipmentStatus; |
| | | private readonly IAgvStationService _gvStationService; |
| | | private readonly IRepository<AbnormalTask> _abnormalTask; |
| | | |
| | | |
| | | private Dictionary<string, OrderByType> _taskOrderBy = new() |
| | |
| | | |
| | | public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList(); |
| | | |
| | | public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ITask_HtyService task_HtyService, IRouterRepository routerRepository, IEquipmentStatusService equipmentStatus, IAgvStationService agvStationService) : base(BaseDal) |
| | | public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ITask_HtyService task_HtyService, IRouterRepository routerRepository, IEquipmentStatusService equipmentStatus, IAgvStationService agvStationService, IRepository<AbnormalTask> abnormalTask) : base(BaseDal) |
| | | { |
| | | _routerService = routerService; |
| | | _taskExecuteDetailService = taskExecuteDetailService; |
| | |
| | | _routerRepository = routerRepository; |
| | | _equipmentStatus = equipmentStatus; |
| | | _gvStationService = agvStationService; |
| | | _abnormalTask = abnormalTask; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | if (item.type == 1) //å
¥åº |
| | | { |
| | | Dt_Task dt_Task = new Dt_Task(); |
| | | dt_Task.TaskNum = item.taskNo; |
| | | dt_Task.TaskNum = BaseDal.GetTaskNo().Result; |
| | | dt_Task.PalletCode = item.containerNo; //ææ |
| | | dt_Task.Roadway = "RGV101"; |
| | | dt_Task.TaskType = (int)TaskInboundTypeEnum.Inbound; |
| | | dt_Task.RGVTaskType = (int)RGVTaskTypeEnum.PickingUp; //åè´§ |
| | | dt_Task.RGVCurrentexecution = "0"; //ç®åææ |
| | | dt_Task.RGVCurrentexecution = ""; //ç®åææ |
| | | dt_Task.TaskState = (int)TaskInStatusEnum.RGV_InNew; //ç®åææ |
| | | dt_Task.SourceAddress = item.startAddress; |
| | | dt_Task.TargetAddress = item.endAddress; |
| | | dt_Task.CurrentAddress = item.startAddress; |
| | | dt_Task.NextAddress = "1021"; //ç®åææ |
| | | dt_Task.NextAddress = ""; //ç®åææ |
| | | dt_Task.Grade = item.priority; |
| | | dt_Task.WMSId = 0; //ç®åææ |
| | | dt_Task.LJTaskNum= item.taskNo; |
| | | BaseDal.AddData(dt_Task); |
| | | content.code = 0; |
| | | |
| | |
| | | AGVStation gVStation = _gvStationService.Corridorequipment(roadway); |
| | | |
| | | Dt_Task dt_Task = new Dt_Task(); |
| | | dt_Task.TaskNum = item.taskNo; |
| | | dt_Task.TaskNum = BaseDal.GetTaskNo().Result; |
| | | dt_Task.PalletCode = item.containerNo; //ææ |
| | | dt_Task.Roadway = roadway; |
| | | dt_Task.TaskType = (int)TaskOutboundTypeEnum.Outbound; |
| | | dt_Task.RGVTaskType = (int)RGVTaskTypeEnum.TravelingOnly; //åè´§ |
| | | dt_Task.RGVCurrentexecution = "0"; //ç®åææ |
| | | dt_Task.TaskState = (int)TaskOutStatusEnum.OutNewLj; //ç®åææ |
| | | dt_Task.RGVCurrentexecution = ""; //ç®åææ |
| | | dt_Task.TaskState = (int)TaskOutStatusEnum.OutNew; //ç®åææ |
| | | dt_Task.SourceAddress = item.startAddress; |
| | | dt_Task.TargetAddress = "0"; |
| | | dt_Task.TargetAddress = ""; |
| | | dt_Task.CurrentAddress = gVStation.Motherinlaw.ToString(); |
| | | dt_Task.NextAddress = gVStation.ZicheMotherinlaw.ToString(); //ç®åææ |
| | | dt_Task.Grade = item.priority; |
| | | dt_Task.WMSId = 0; //ç®åææ |
| | | dt_Task.LJTaskNum = item.taskNo; |
| | | BaseDal.AddData(dt_Task); |
| | | content.code = 0; |
| | | |
| | |
| | | { |
| | | return BaseDal.QueryFirst(x => x.RGVTaskType == (int)RGVTaskTypeEnum.TravelingOnly && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.NextAddress == Nextaderr, TaskOrderBy); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åæ¯è½¦æ¯å¦æä»»å¡ï¼è¿è¡å¤æ |
| | | /// </summary> |
| | | public Dt_Task ObtainMuChetaskbool(AGVStation ZicheinnerSide) |
| | | { |
| | | Dt_Task dt_Task = BaseDal.QueryFirst(x => (x.TaskState == (int)TaskOutStatusEnum.OutNew || x.TaskState == (int)TaskOutStatusEnum.RGV_OutMothercarExecuting) && x.NextAddress == ZicheinnerSide.MotherCarDeviceCode.ToString(), TaskOrderBy); |
| | | if (dt_Task != null) return dt_Task; |
| | | Dt_Task dt_Task2 = BaseDal.QueryFirst(x => x.Roadway == ZicheinnerSide.ChildPosiDeviceCode, TaskOrderBy); |
| | | if (dt_Task2 != null) return dt_Task2; |
| | | return null; |
| | | return BaseDal.QueryFirst(x => x.RGVTaskType == (int)RGVTaskTypeEnum.TravelingOnly && (x.TaskState == (int)TaskOutStatusEnum.OutNew || x.TaskType == (int)TaskOutStatusEnum.RGV_OutMothercarExecuting), TaskOrderBy); |
| | | } |
| | | |
| | | public Dt_Task GetChariotTaskBool(string ChildPosiDeviceCode) |
| | |
| | | return null; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åHCJç«å°æ¯å¦æä»»å¡ |
| | | /// </summary> |
| | | public Dt_Task GetHCJTaskBool(string ChildPosiDeviceCode,int HCJaddres) |
| | | { |
| | | Dt_Task dt_Task2 = BaseDal.QueryFirst(x => x.Roadway == ChildPosiDeviceCode && x.CurrentAddress== HCJaddres.ToString(), TaskOrderBy); |
| | | if (dt_Task2 != null) return dt_Task2; |
| | | return null; |
| | | } |
| | | |
| | | public Dt_Task ChildVehicleMission(AGVStation aGVStation) |
| | | { |
| | | Dt_Task dt_TasksUP = BaseDal.QueryFirst(x => x.Roadway == aGVStation.ChildPosiDeviceCode && (x.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheExecuting || x.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheFinish || x.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheReleaseExecuting), TaskOrderBy); |
| | | if (dt_TasksUP != null) return null; |
| | | Dt_Task dt_Tasks2 = BaseDal.QueryFirst(x => x.Roadway == aGVStation.ChildPosiDeviceCode && x.CurrentAddress == aGVStation.MotherCardeputy.ToString() && x.RGVTaskType == (int)RGVTaskTypeEnum.PickingUp, TaskOrderBy); |
| | | if (dt_Tasks2 != null) return dt_Tasks2; |
| | | |
| | |
| | | public Dt_Task GetFinhuoTask(string DeviceCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheFinish && x.RGVTaskType == (int)RGVTaskTypeEnum.Placing, TaskOrderBy); |
| | | } |
| | | |
| | | public Dt_Task ChacheGetFinhuoTask(string DeviceCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.TaskState == (int)TaskOutStatusEnum.RGV_OutPickupExecuting, TaskOrderBy); |
| | | } |
| | | |
| | | public Dt_Task GetOutkouFinhuoTask(string DeviceCode, string curraderr) |
| | |
| | | /// <param name="type">1ï¼æ¥æ¾éè¦åè´§çä»»å¡</param> |
| | | public Dt_Task PickupWarehouse(string DeviceCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.TaskState == (int)TaskInStatusEnum.RGV_InNew && x.RGVTaskType == (int)RGVTaskTypeEnum.PickingUp, TaskOrderBy); |
| | | Dt_Task _Task = BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.Inexcepjxz || x.TaskState == (int)TaskInStatusEnum.InAbnormalFinish || x.TaskState == (int)TaskInStatusEnum.InexceptionalSelection || x.TaskState == (int)TaskInStatusEnum.InFinish_exceptionalSelection |
| | | || x.TaskState == (int)TaskInStatusEnum.InAbnormalFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InPickupExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InPickupFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InReleaseExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InReleaseFinish)); |
| | | if (_Task == null) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.TaskState == (int)TaskInStatusEnum.RGV_InNew && x.RGVTaskType == (int)RGVTaskTypeEnum.PickingUp, TaskOrderBy); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | |
| | | /// <param name="type">1ï¼æ¥æ¾éè¦åè´§çä»»å¡ 2ï¼æ¥æ¾éè¦æ¾è´§çä»»å¡</param> |
| | | public Dt_Task GetInkouFinhuoTask(string DeviceCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.NextAddress != "" && x.TaskState == (int)TaskInStatusEnum.RGV_InPickupFinish && x.RGVTaskType == (int)RGVTaskTypeEnum.Placing, TaskOrderBy); |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.NextAddress != "" && (x.TaskState == (int)TaskInStatusEnum.RGV_InPickupFinish || x.TaskState == (int)TaskInStatusEnum.InexceptionalSelection) && x.RGVTaskType == (int)RGVTaskTypeEnum.Placing, TaskOrderBy); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åæ¯è½¦ç§»å¨ä»»å¡åç§»å¨ä¸çä»»å¡ |
| | | /// è·åæ¯è½¦ç§»å¨ä»»å¡åç§»å¨ä¸çä»»å¡ï¼å
¥åºï¼ |
| | | /// </summary> |
| | | /// <param name="DeviceCode"></param> |
| | | /// <returns></returns> |
| | | public Dt_Task MothermachinemovementTask2(string DeviceCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish && x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarExecuting && x.RGVTaskType == (int)RGVTaskTypeEnum.TravelingOnly, TaskOrderBy); |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting || x.TaskState == (int)TaskInStatusEnum.InFinish), TaskOrderBy); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åæ¯è½¦ç§»å¨ä»»å¡åç§»å¨ä¸çä»»å¡ï¼å
¥åºï¼ |
| | | /// </summary> |
| | | public Dt_Task MothermacTask(string DeviceCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting || x.TaskState == (int)TaskInStatusEnum.InFinish ), TaskOrderBy); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åæ¯è½¦ç§»å¨ä»»å¡åç§»å¨ä¸çä»»å¡ï¼åºåºï¼ |
| | | /// </summary> |
| | | /// <param name="DeviceCode"></param> |
| | | public Dt_Task OutMothermaTask(string DeviceCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskOutStatusEnum.OutNew || x.TaskState == (int)TaskOutStatusEnum.RGV_OutMothercarExecuting && x.RGVTaskType == (int)TaskOutStatusEnum.RGV_OutMothercarFinish), TaskOrderBy); |
| | | } |
| | | |
| | | |
| | |
| | | /// <param name="DeviceCode"></param> |
| | | public Dt_Task ViceChariotPickupTask2(string DeviceCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish) && x.RGVTaskType == (int)RGVTaskTypeEnum.PickingUp, TaskOrderBy); |
| | | return BaseDal.QueryFirst(x => x.Roadway == DeviceCode && (x.TaskState == (int)TaskInStatusEnum.RGV_InReleaseFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseExecuting || x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseFinish), TaskOrderBy); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | Dt_Task dt_Task = null; |
| | | if (tasktype == 1) |
| | | { |
| | | dt_Task = BaseDal.QueryFirst(x => x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.NextAddress == "999"); |
| | | dt_Task = BaseDal.QueryFirst(x => x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.TaskState== (int)TaskInStatusEnum.InexceptionalSelection); |
| | | |
| | | if (dt_Task == null) return webResponse.Error("æªæ¾å°éè¦ä¿®æ¹çä»»å¡ï¼æ éä¿®æ¹"); |
| | | dt_Task.NextAddress = NextAddress; |
| | | BaseDal.UpdateData(dt_Task); |
| | | return webResponse.OK("任塿¾è´§å°åä¿®æ¹æå"); |
| | | } |
| | | else |
| | | { |
| | | dt_Task = BaseDal.QueryFirst(x => x.TaskType == (int)TaskOutboundTypeEnum.Outbound && x.NextAddress == "999"); |
| | | dt_Task = BaseDal.QueryFirst(x => x.TaskType == (int)TaskOutboundTypeEnum.Outbound && x.NextAddress == ""&&x.TaskState == (int)TaskOutStatusEnum.RGV_OutPickupFinish); |
| | | if (dt_Task == null) return webResponse.Error("æªæ¾å°éè¦ä¿®æ¹çä»»å¡ï¼æ éä¿®æ¹"); |
| | | dt_Task.NextAddress = NextAddress; |
| | | BaseDal.UpdateData(dt_Task); |
| | | return webResponse.OK("任塿¾è´§å°åä¿®æ¹æå"); |
| | | } |
| | | if (dt_Task == null) return webResponse.Error("æªæ¾å°éè¦ä¿®æ¹çä»»å¡ï¼æ éä¿®æ¹"); |
| | | dt_Task.NextAddress = NextAddress; |
| | | BaseDal.UpdateData(dt_Task); |
| | | return webResponse.OK("任塿¾è´§å°åä¿®æ¹æå"); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | try |
| | | { |
| | | int oldState = task.TaskState; |
| | | if (task.TaskType == (int)TaskInboundTypeEnum.Inbound) |
| | | if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.TaskState != (int)TaskInStatusEnum.InexceptionalSelection) |
| | | { |
| | | if (task.TaskState >= (int)TaskInStatusEnum.RGV_InMothercarFinish) |
| | | if (task.TaskState >= (int)TaskInStatusEnum.InFinish) |
| | | { |
| | | return content = WebResponseContent.Instance.Error($"该任å¡ç¶æä¸å¯è·³è½¬å°ä¸ä¸æ¥,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç¶æ:ã{task.TaskState}ã"); |
| | | } |
| | |
| | | |
| | | task.TaskState = nextStatus; |
| | | } |
| | | else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.TaskState== (int)TaskInStatusEnum.InexceptionalSelection) |
| | | { |
| | | int nextStatus = (int)TaskInStatusEnum.Inexcepjxz; |
| | | |
| | | task.TaskState = nextStatus; |
| | | } |
| | | else |
| | | { |
| | | throw new Exception($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); |
| | |
| | | task.Modifier = "System"; |
| | | BaseDal.UpdateData(task); |
| | | |
| | | |
| | | |
| | | string oldstaterem = _taskExecuteDetailService.GetEnumDescription(oldState); //åä¸ä¸ªç¶æ |
| | | string afterstaterem = _taskExecuteDetailService.GetEnumDescription(task.TaskState); //åä¸ä¸ªç¶æ |
| | | |
| | | string rgvtyperem = _taskExecuteDetailService.GetEnumDescription2(task.RGVTaskType); //åä¸ä¸ªç¶æ |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? |
| | | $"人工æå¨å°ä»»å¡ç¶æä»ã{oldstaterem}ã跳转å°ã{afterstaterem}ã" |
| | | : $"ç³»ç»èªå¨æµç¨ï¼ä»»å¡ç¶æä»ã{oldstaterem}ã转å°ã{afterstaterem}ã"); |
| | | $"人工æå¨å°ä»»å¡ç¶æä»ã{oldstaterem}ã跳转å°ã{afterstaterem}ã" |
| | | : $"ç³»ç»èªå¨æµç¨ï¼ä»»å¡ç¶æä»ã{oldstaterem}ã转å°ã{afterstaterem}ã"); |
| | | |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | int oldState = task.TaskState; |
| | | Dt_TaskExecuteDetail taskExecuteDetail = null; |
| | | |
| | | if (task.CurrentAddress == "1061") |
| | | if(task.TaskState == (int)TaskInStatusEnum.RGV_InReleaseFinish && task.CurrentAddress == "1061" && (task.NextAddress == "1091" || task.NextAddress == "1081")) |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState > task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseExecuting && x.NextAddress== "1061" && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseExecuting && task.CurrentAddress == "1021" && task.NextAddress == "1061") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState == (int)TaskInStatusEnum.RGV_InZicheFinish && x.CurrentAddress == "1021" && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.RGV_InZicheFinish && task.CurrentAddress == "1021" && task.NextAddress == "1061") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState == (int)TaskInStatusEnum.RGV_InZicheExecuting && x.CurrentAddress == "1021" && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | } |
| | | else if (task.TaskState == (int)TaskInStatusEnum.RGV_InZicheExecuting && task.CurrentAddress == "1021" && task.NextAddress == "1061") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState == (int)TaskInStatusEnum.RGV_InReleaseFinish && x.CurrentAddress == "1021" && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | } |
| | | |
| | | |
| | | //åºåºå
容 |
| | | else if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutMothercarFinish && task.CurrentAddress == "1131" && task.NextAddress == "1171") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheReleaseExecuting && x.NextAddress == "1131" && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | } |
| | | else if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheReleaseExecuting && (task.CurrentAddress == "1101" || task.CurrentAddress == "1121") && task.NextAddress == "1131") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheFinish && x.NextAddress == "1131" && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | } |
| | | else if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheFinish && (task.CurrentAddress == "1101" || task.CurrentAddress == "1121") && task.NextAddress == "1131") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheExecuting && x.NextAddress == "1131" && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | } |
| | | else if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutZicheExecuting && (task.CurrentAddress == "1101" || task.CurrentAddress == "1121") && task.NextAddress == "1131") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState == (int)TaskOutStatusEnum.RGV_OutMothercarFinish && x.NextAddress == "1131" && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | } |
| | | else |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /*if (task.TaskState== (int)TaskInStatusEnum.RGV_InReleaseFinish && task.CurrentAddress == "1021" && task.NextAddress == "1061") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | |
| | | }else if(task.TaskState == (int)TaskInStatusEnum.RGV_InZicheReleaseExecuting && task.CurrentAddress == "1021") |
| | | { |
| | | taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } }); |
| | | }*/ |
| | | |
| | | |
| | | |
| | |
| | | task.TaskState = taskExecuteDetail.TaskState; |
| | | task.CurrentAddress = taskExecuteDetail.CurrentAddress; |
| | | task.NextAddress = taskExecuteDetail.NextAddress; |
| | | task.RGVTaskType = taskExecuteDetail.RGVTaskType; |
| | | task.Roadway=taskExecuteDetail.Roadway; |
| | | }else if(task.TaskState == (int)TaskInStatusEnum.RGV_InPickupExecuting) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.RGV_InNew; |
| | | } |
| | | else if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutMothercarExecuting) |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.OutNew; |
| | | } |
| | | else |
| | | { |
| | |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, |
| | | $"人工æå¨å°ä»»å¡ç¶æä»ã{oldstaterem}ãåå½å°ã{afterstaterem}ã"); |
| | | |
| | | |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | |
| | | try |
| | | { |
| | | if (task.TaskType == (int)TaskInboundTypeEnum.Inbound) //æ£å¸¸æµç¨ |
| | | if (task.TaskType == (int)TaskInboundTypeEnum.Inbound ) //æ£å¸¸æµç¨ |
| | | { |
| | | HandleInboundTask(task); |
| | | } |
| | | else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && (task.NextAddress == "1001" || task.NextAddress == "1002")) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.RGV_InMothercarFinish; |
| | | if(task.NextAddress == "1001" || task.NextAddress == "1002") |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.InFinish_exceptionalSelection; |
| | | } |
| | | else |
| | | { |
| | | HandleInboundTask(task); |
| | | } |
| | | |
| | | } |
| | | else if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | |
| | | : $"ç³»ç»èªå¨æµç¨ï¼ä»»å¡ç¶æä»ã{oldstaterem}ã转å°ã{afterstaterem}ã"); |
| | | |
| | | |
| | | if (task.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish) //å
¥åºä»»å¡å®æ |
| | | if (task.TaskState == (int)TaskInStatusEnum.RGV_InMothercarFinish || task.TaskState == (int)TaskOutStatusEnum.OutFinish || task.TaskState == (int)TaskInStatusEnum.InFinish_exceptionalSelection) //å
¥åºä»»å¡å®æ |
| | | { |
| | | //AutomaticTaskCompleted(task); //ä»»å¡å®æ |
| | | |
| | | if (task.NextAddress == "1001" || task.NextAddress == "1002") |
| | | { |
| | | AbnormalTask abnormalTask = _abnormalTask.QueryFirst(x=> x.TaskNum == task.TaskNum); |
| | | |
| | | //å¼å¸¸æé¤ä»»å¡æ¶ï¼å¼å¸¸ä¸æ¥ |
| | | TaskResultIn(task.LJTaskNum.ToString(), task.NextAddress, 3,abnormalTask.ErrorContent); |
| | | AutomaticTaskCompleted(task); //ä»»å¡å®æ |
| | | BaseDal.DeleteData(task); |
| | | } |
| | | else |
| | | { |
| | | //æ£å¸¸ä»»å¡ï¼æ£å¸¸ä¸æ¥ |
| | | |
| | | if(task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.NextAddress != "1001" && task.NextAddress != "1002") |
| | | { |
| | | TaskResultIn(task.LJTaskNum.ToString(), "", 2, ""); |
| | | } |
| | | else if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | TaskResultOut(task.LJTaskNum.ToString(), task.NextAddress, 2, ""); |
| | | AutomaticTaskCompleted(task); //ä»»å¡å®æ |
| | | BaseDal.DeleteData(task); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | #region å
¥åº |
| | | |
| | | public WebResponseContent HandleInAbnormal(int taskNum) |
| | | { |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | if (task == null) |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°è¯¥ä»»å¡ä¿¡æ¯,ä»»å¡å·:ã{taskNum}ã"); |
| | | task.TaskState = (int)TaskInStatusEnum.InAbnormalFinish; |
| | | task.RGVTaskType = (int)RGVTaskTypeEnum.Placing; |
| | | BaseDal.UpdateData(task); |
| | | return WebResponseContent.Instance.OK(); |
| | | |
| | | } |
| | | |
| | | |
| | | private void HandleInboundTask(Dt_Task task) |
| | | { |
| | | switch (task.TaskState) |
| | |
| | | case (int)TaskInStatusEnum.RGV_InPickupExecuting: |
| | | task.TaskState = (int)TaskInStatusEnum.RGV_InPickupFinish; |
| | | task.RGVTaskType = (int)RGVTaskTypeEnum.Placing; |
| | | task.NextAddress = "1021"; |
| | | break; |
| | | |
| | | case (int)TaskInStatusEnum.RGV_InReleaseExecuting: |
| | |
| | | task.TaskState = (int)TaskOutStatusEnum.RGV_OutZicheReleaseFinish; |
| | | task.RGVTaskType = (int)RGVTaskTypeEnum.PickingUp; |
| | | task.Roadway = "RGV118"; |
| | | task.CurrentAddress = "1171"; |
| | | task.NextAddress = ""; |
| | | } |
| | | else |
| | | { |
| | |
| | | rGVstatus.msg = "æåWCSæ¥æ¶å°RGVç¼å·ä¸ºç©ºï¼è¯·æ£æ¥"; |
| | | return rGVstatus; |
| | | } |
| | | |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == item.rgvTag); |
| | | if (device == null) |
| | | { |
| | |
| | | rGVstatus.msg = "æ¥è¯¢çRGVå·²æçº¿"; |
| | | return rGVstatus; |
| | | } |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | SpeStackerCrane Commonstacker = (SpeStackerCrane)device; |
| | | |
| | | //å½åä½ç½® |
| | | DeviceProDTO? deviceProDTO = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == item.rgvTag && x.DeviceProParamName == "RGVCurrentlocation" && x.DeviceProParamType == "RGVCurrentlocation"); |
| | | |
| | | DeviceProDTO? deviceProDTO = Commonstacker.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == item.rgvTag && x.DeviceProParamName == "RGVCurrentlocation" && x.DeviceProParamType == "RGVCurrentlocation"); |
| | | |
| | | if (item.type == "pick") //åè´§ |
| | | { |
| | |
| | | return rGVstatus; |
| | | } |
| | | |
| | | int Currentlocation = conveyorLine.Communicator.Read<short>(deviceProDTO.DeviceProAddress); |
| | | if (Currentlocation == aGVStation.Motherinlaw) //æ¯å¦å¨åè´§ä½ |
| | | //ææ è´§ç¶æ |
| | | DeviceProDTO? deviceProFh = Commonstacker.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == item.rgvTag && x.DeviceProParamName == "RgvEquipmentStatus" && x.DeviceProParamType == "RgvEquipmentStatus"); |
| | | |
| | | DeviceProDTO? RgvCraneAutoStatus = Commonstacker.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == item.rgvTag && x.DeviceProParamName == "RgvCraneAutoStatus" && x.DeviceProParamType == "RgvCraneAutoStatus"); |
| | | |
| | | int Itstock = Commonstacker.Communicator.Read<short>(deviceProFh.DeviceProAddress); |
| | | |
| | | int RgvCraneAutoStatusValues = Commonstacker.Communicator.Read<short>(RgvCraneAutoStatus.DeviceProAddress); |
| | | |
| | | |
| | | int Currentlocation = Commonstacker.Communicator.Read<short>(deviceProDTO.DeviceProAddress); |
| | | if (Currentlocation == aGVStation.Motherinlaw && Itstock == 1 && RgvCraneAutoStatusValues == 1) //æ¯å¦å¨åè´§ä½ |
| | | { |
| | | rGVstatus.code = 0; |
| | | rGVstatus.data = new List<RgvOperation> |
| | |
| | | else if (item.type == "put") //æ¾è´§ |
| | | { |
| | | AGVStation aGVStation = _gvStationService.Corridorequipment(item.rgvTag); |
| | | int Currentlocation = conveyorLine.Communicator.Read<short>(deviceProDTO.DeviceProAddress); |
| | | int Currentlocation = Commonstacker.Communicator.Read<short>(deviceProDTO.DeviceProAddress); |
| | | |
| | | DeviceProDTO? deviceProFh = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == item.rgvTag && x.DeviceProParamName == "RgvEquipmentStatus" && x.DeviceProParamType == "RgvEquipmentStatus"); |
| | | int Itstock = conveyorLine.Communicator.Read<short>(deviceProFh.DeviceProAddress); |
| | | //ææ è´§ç¶æ |
| | | DeviceProDTO? deviceProFh = Commonstacker.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == item.rgvTag && x.DeviceProParamName == "RgvEquipmentStatus" && x.DeviceProParamType == "RgvEquipmentStatus"); |
| | | |
| | | if (aGVStation.Motherinlaw== Currentlocation && Itstock==0) |
| | | DeviceProDTO? RgvCraneAutoStatus = Commonstacker.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == item.rgvTag && x.DeviceProParamName == "RgvCraneAutoStatus" && x.DeviceProParamType == "RgvCraneAutoStatus"); |
| | | |
| | | int Itstock = Commonstacker.Communicator.Read<short>(deviceProFh.DeviceProAddress); |
| | | |
| | | int RgvCraneAutoStatusValues = Commonstacker.Communicator.Read<short>(RgvCraneAutoStatus.DeviceProAddress); |
| | | |
| | | if (aGVStation.Motherinlaw== Currentlocation && Itstock==0 && RgvCraneAutoStatusValues==1) //Itstock:0为æ è´§ RgvCraneAutoStatusValuesï¼ 1为èªå¨ |
| | | { |
| | | rGVstatus.code = 0; |
| | | rGVstatus.data = new List<RgvOperation> |
| | |
| | | } |
| | | dt_Task.TaskState = (int)TaskInStatusEnum.InFinish; |
| | | AutomaticTaskCompleted(dt_Task); //æé®é¢,çå¾
ä¼å |
| | | BaseDal.DeleteData(dt_Task); |
| | | BaseDal.DeleteData(dt_Task); //å é¤ä»»å¡ |
| | | expoReverse.code = 0; |
| | | } |
| | | |
| | | } |
| | | else if (item.type == "put") //æ¾è´§ |
| | | { |
| | | if (item.status == 2) //å åæºæ§è¡ä¸ |
| | | /* if (item.status == 2) //å åæºæ§è¡ä¸ |
| | | { |
| | | Dt_Task dt_Task = BaseDal.QueryFirst(x => x.TaskType == (int)TaskOutboundTypeEnum.Outbound && x.TaskState == (int)TaskOutStatusEnum.OutNewLj && x.Roadway == item.rgvTag); |
| | | if (dt_Task != null) |
| | |
| | | dt_Task.TaskState = (int)TaskOutStatusEnum.OutNew; |
| | | BaseDal.UpdateData(dt_Task); |
| | | } |
| | | } |
| | | }*/ |
| | | expoReverse.code = 0; |
| | | } |
| | | else |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å åæºæ
éä¿¡æ¯ |
| | | /// è·åå åæºæ
éä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="sCErrorStatus"></param> |
| | | /// <returns></returns> |
| | |
| | | List<EquipmentStatus> equipmentdata = new List<EquipmentStatus>(); |
| | | |
| | | List<EquipmentStatus> equipmentList = _equipmentStatus.GetEquipmentStatus(); |
| | | string msgeetst = ""; |
| | | foreach (var item in sCErrorStatus.data) |
| | | { |
| | | EquipmentStatus equipment = equipmentList.Find(x => x.Equipment_Number == item.stackerName); |
| | | |
| | | msgeetst += $"ã设å¤ï¼{equipment.Equipment_Number}ï¼ä¿®æ¹åç¶æï¼{equipment.Equipment_Status}ï¼"; |
| | | |
| | | equipment.Equipment_Status = item.errorStatus; |
| | | |
| | | msgeetst += $"<ä¿®æ¹åç¶æï¼{equipment.Equipment_Status}>ã................"; |
| | | equipmentdata.Add(equipment); |
| | | if (equipment.Equipment_Status != item.errorStatus) |
| | | { |
| | | equipment.Equipment_Status = item.errorStatus; |
| | | equipmentdata.Add(equipment); |
| | | } |
| | | } |
| | | |
| | | WriteLog.Write_Log("设å¤ç¶ææ´æ¹", "å åæºç¶ææ´æ¹", "æ£å¸¸", msgeetst); |
| | | _equipmentStatus.UpdateData(equipmentdata); //ä¿®æ¹ç¶æ |
| | | if (equipmentdata.Count > 0) |
| | | { |
| | | _equipmentStatus.UpdateData(equipmentdata); //ä¿®æ¹ç¶æ |
| | | } |
| | | |
| | | expoReverse.code = 0; |
| | | |
| | | |
| | | return expoReverse; |
| | | } |
| | | catch (Exception ex) |
| | |
| | | _task_HtyService.AddTaskHty(dt_Task); |
| | | BaseDal.DeleteData(dt_Task); |
| | | expoReverse.code = 0; |
| | | WriteLog.Write_Log("ä»»å¡åæ¶ä¿¡æ¯", "ä»»å¡åæ¶", "ä¿¡æ¯", $"ä»»å¡å·ï¼{dt_Task.TaskNum}ï¼å·²åæ¶"); |
| | | WriteLog.Write_Log("å
°åè°åä»»å¡åæ¶ä¿¡æ¯", "ä»»å¡åæ¶", "ä¿¡æ¯", $"ä»»å¡å·ï¼{dt_Task.TaskNum}ï¼å·²åæ¶"); |
| | | } |
| | | else |
| | | { |
| | |
| | | StkRunStatusReturns LJReturns = HttpHelper.Post<StkRunStatusReturns>(urlLanJianWCSAPI + LanJiantaskResult, reception, "ä»»å¡å馿¥å£"); |
| | | if (LJReturns.code == 0) |
| | | { |
| | | WriteLog.Write_Log("å
¥åºä»»å¡ä¸ä¼ æ
åµ", "æ£å¸¸ä¸ä¼ ", "å
容信æ¯", $"ä»»å¡ç¼å·ï¼{taskNo},ç®æ å°åï¼{finalAddress}ï¼ä¸ä¼ ç¶æï¼{status}ï¼ä¿¡æ¯å
容ï¼{remark}"); |
| | | responseContent.OK("ä¸ä¼ æå"); |
| | | } |
| | | else |
| | | { |
| | | responseContent.OK("ä¸ä¼ 失败ï¼åå ï¼" + LJReturns.msg); |
| | | WriteLog.Write_Log("å
¥åºä»»å¡ä¸ä¼ æ
åµ", "ä¸ä¼ 失败", "å
容信æ¯", $"ä»»å¡ç¼å·ï¼{taskNo},ç®æ å°åï¼{finalAddress}ï¼ä¸ä¼ ç¶æï¼{status}ï¼ä¿¡æ¯å
容ï¼{remark}=====ãä¸ä¼ 失败ï¼åå ï¼{LJReturns.msg}"); |
| | | responseContent.Error("ä¸ä¼ 失败ï¼åå ï¼" + LJReturns.msg); |
| | | } |
| | | // å建并èµå¼ |
| | | return responseContent; |
| | |
| | | StkRunStatusReturns LJReturns = HttpHelper.Post<StkRunStatusReturns>(urlLanJianWCSAPI + LanJiantaskResult, reception, "ä»»å¡å馿¥å£"); |
| | | if (LJReturns.code == 0) |
| | | { |
| | | WriteLog.Write_Log("åºåºä»»å¡ä¸ä¼ æ
åµ", "æ£å¸¸ä¸ä¼ ", "å
容信æ¯", $"ä»»å¡ç¼å·ï¼{taskNo},ç®æ å°åï¼{finalAddress}ï¼ä¸ä¼ ç¶æï¼{status}ï¼ä¿¡æ¯å
容ï¼{remark}"); |
| | | responseContent.OK("ä¸ä¼ æå"); |
| | | } |
| | | else |
| | | { |
| | | WriteLog.Write_Log("åºåºä»»å¡ä¸ä¼ æ
åµ", "ä¸ä¼ 失败", "å
容信æ¯", $"ä»»å¡ç¼å·ï¼{taskNo},ç®æ å°åï¼{finalAddress}ï¼ä¸ä¼ ç¶æï¼{status}ï¼ä¿¡æ¯å
容ï¼{remark}=====ãä¸ä¼ 失败ï¼åå ï¼{LJReturns.msg}"); |
| | | responseContent.OK("ä¸ä¼ 失败ï¼åå ï¼" + LJReturns.msg); |
| | | } |
| | | // å建并èµå¼ |
| | |
| | | RGVTaskType = dt_task.RGVTaskType, |
| | | RGVCurrentexecution = dt_task.RGVCurrentexecution |
| | | }); |
| | | |
| | | return WebResponseContent.Instance.OK(); |
| | | |
| | | } |
| | |
| | | db.Ado.RollbackTran(); |
| | | return WebResponseContent.Instance.Error($"{Remark}失败ï¼"); |
| | | } |
| | | |
| | | if (dt_task.NextAddress == "1001" || dt_task.NextAddress == "1002") |
| | | { |
| | | //å¼å¸¸æé¤ä»»å¡æ¶ï¼å¼å¸¸ä¸æ¥ |
| | | TaskResultIn(dt_task.LJTaskNum.ToString(), dt_task.NextAddress, 3, "æå¨å®æ"); |
| | | } |
| | | else |
| | | { |
| | | |
| | | if (dt_task.TaskType == (int)TaskInboundTypeEnum.Inbound && dt_task.NextAddress != "1001" && dt_task.NextAddress != "1002") |
| | | { |
| | | TaskResultIn(dt_task.LJTaskNum.ToString(), "", 2, "æå¨å®æ"); |
| | | } |
| | | else if(dt_task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | TaskResultOut(dt_task.LJTaskNum.ToString(), dt_task.NextAddress, 2, "æå¨å®æ"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | var deletetask = BaseDal.DeleteData(dt_task); |
| | | if (deletetask == false) |
| | |
| | | db.Ado.RollbackTran(); |
| | | return WebResponseContent.Instance.Error("åæ¶ä»»å¡å¤±è´¥ï¼"); |
| | | } |
| | | /*int oldState = dt_task.TaskState; |
| | | _taskExecuteDetailService.AddTaskExecuteDetail( |
| | | dt_task.TaskId, |
| | | $"èªå¨ä»»å¡ç¶æä»ã{oldState}ãè¿å
¥å°ã{dt_Task_Hty.TaskState}ã" |
| | | );*/ |
| | | |
| | | if (dt_task.NextAddress == "1001" || dt_task.NextAddress == "1002") |
| | | { |
| | | //å¼å¸¸æé¤ä»»å¡æ¶ï¼å¼å¸¸ä¸æ¥ |
| | | TaskResultIn(dt_task.LJTaskNum.ToString(), dt_task.NextAddress, 3, "ä»»å¡åæ¶"); |
| | | } |
| | | else |
| | | { |
| | | |
| | | if (dt_task.TaskType == (int)TaskInboundTypeEnum.Inbound) |
| | | { |
| | | TaskResultIn(dt_task.LJTaskNum.ToString(), "", 3, "ä»»å¡åæ¶"); |
| | | } |
| | | else |
| | | { |
| | | TaskResultOut(dt_task.LJTaskNum.ToString(), dt_task.NextAddress, 3, "ä»»å¡åæ¶"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | bool deletetask = BaseDal.DeleteData(dt_task); |
| | | if (!deletetask) |
| | |
| | | // å建并èµå¼ |
| | | return responseContent; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å¼å¸¸å®æï¼åå
¥å¼å¸¸ä¿¡æ¯åï¼æ è®°å¼å¸¸å®æï¼ |
| | | /// </summary> |
| | | public WebResponseContent AbnormalComplete(AbnormalCompleteDTO completeDTO) |
| | | { |
| | | try |
| | | { |
| | | Dt_Task dt_task = BaseDal.QueryData().Where(x => x.TaskNum == completeDTO.taskNum).FirstOrDefault(); |
| | | if (dt_task == null) return WebResponseContent.Instance.Error($"æªæ¥è¯¢å°ä»»å¡"); |
| | | dt_task.NextAddress = completeDTO.station; |
| | | dt_task.TargetAddress = completeDTO.station; |
| | | |
| | | //å¼å¸¸æé¤ä»»å¡æ¶ï¼å¼å¸¸ä¸æ¥ |
| | | WebResponseContent webResponse = TaskResultIn(dt_task.LJTaskNum.ToString(), completeDTO.station, 3, completeDTO.message); |
| | | if (webResponse.Status == false) |
| | | { |
| | | return webResponse; |
| | | } |
| | | |
| | | var db = BaseDal.Db as SqlSugarClient; |
| | | |
| | | db.Ado.BeginTran(); |
| | | BaseDal.DeleteData(dt_task); |
| | | var res = _task_HtyService.AddData(new Dt_Task_hty |
| | | { |
| | | TaskNum = dt_task.TaskNum, |
| | | PalletCode = dt_task.PalletCode, |
| | | Roadway = dt_task.Roadway, |
| | | TaskType = dt_task.TaskType, |
| | | TaskState = dt_task.TaskState, |
| | | SourceAddress = dt_task.SourceAddress, |
| | | TargetAddress = dt_task.TargetAddress, |
| | | CurrentAddress = dt_task.CurrentAddress, |
| | | NextAddress = dt_task.NextAddress, |
| | | WMSId = dt_task.WMSId, |
| | | Dispatchertime = dt_task.Dispatchertime, |
| | | Remark = "人工æå¨å¼å¸¸æåº", |
| | | Creater = App.User.UserName, |
| | | CreateDate = DateTime.Now, |
| | | RGVTaskType = dt_task.RGVTaskType, |
| | | RGVCurrentexecution = dt_task.RGVCurrentexecution |
| | | }); |
| | | //æäº¤äºå¡ |
| | | db.Ado.CommitTran(); |
| | | return WebResponseContent.Instance.OK("人工æå¨æåºæå"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.ToString()); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |