| | |
| | | WebResponseContent content = new WebResponseContent().OK(); |
| | | try |
| | | { |
| | | //var task = GetTaskInfo(taskNum, (int)TaskCarStatusEnum.ShuttleCar_Executing);//åªè½æ ¹æ®ä»»å¡å·æ¥è¯¢ä»»å¡ |
| | | var task = GetTaskInfo(taskNum); |
| | | if (task != null) |
| | | { |
| | |
| | | { |
| | | if (TaskInboundTypes.Contains(task.TaskType) && task.TaskState == TaskInStatusEnum.Car_InExecuting.ObjToInt()) |
| | | { |
| | | //int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>(); |
| | | task.CurrentAddress = task.NextAddress; |
| | | task.NextAddress = string.Empty; |
| | | task.TaskState = (int)TaskInStatusEnum.InFinish; |
| | | task.TaskState = TaskInStatusEnum.InFinish.ObjToInt(); |
| | | AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"ç©¿æ¢è½¦å
¥åºå®æ"); |
| | | } |
| | | else if (TaskRelocationTypes.Contains(task.TaskType) && task.TaskState == TaskRelocationStatusEnum.CarTarget_Executing.ObjToInt()) |
| | | { |
| | | task.TaskState = TaskRelocationStatusEnum.RelocationFinish.ObjToInt(); |
| | | AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"ç©¿æ¢è½¦ç§»åºå®æ"); |
| | | } |
| | | } |
| | | break; |
| | |
| | | { |
| | | if (TaskOutboundTypes.Contains(task.TaskType) && task.TaskState == TaskOutStatusEnum.Car_OutExecuting.ObjToInt()) |
| | | { |
| | | //int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>(); |
| | | task.TaskState = (int)TaskOutStatusEnum.Car_OutFinish; |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | task.TaskState = TaskOutStatusEnum.Car_OutFinish.ObjToInt(); |
| | | UpdateData(task); |
| | | } |
| | | else if (TaskRelocationTypes.Contains(task.TaskType) && task.TaskState == TaskRelocationStatusEnum.CarSource_Executing.ObjToInt()) |
| | | { |
| | | task.TaskState = TaskRelocationStatusEnum.CarSource_Finish.ObjToInt(); |
| | | UpdateData(task); |
| | | } |
| | | } |
| | | break; |
| | | case 10://å
çµå®æ |
| | | { |
| | | if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == (int)CarChargingTask.ShuttleCar_Charging)//移车å
çµ |
| | | if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == (int)CarChargingTaskEnum.CarCharging_Charging)//移车å
çµ |
| | | { |
| | | task.TaskState = (int)CarChargingTask.RelocationCarFinish; |
| | | task.TaskState = CarChargingTaskEnum.CarChargingFinish.ObjToInt(); |
| | | AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"ç©¿æ¢è½¦å
çµå®æ"); |
| | | } |
| | |
| | | case 13://Aä¾§åé¶å®æ |
| | | case 14://Bä¾§åé¶å®æ |
| | | { |
| | | if (TaskRelocationTypes.Contains(task.TaskType))//ç§»åºä»»å¡ |
| | | if (task.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() && task.TaskState == TaskCarStatusEnum.ShuttleCar_Executing.ObjToInt())//ç§»è½¦ä»»å¡ |
| | | { |
| | | if (task.TaskState == TaskRelocationStatusEnum.CarSource_Executing.ObjToInt()) |
| | | task.TaskState = TaskRelocationStatusEnum.CarSource_Finish.ObjToInt(); |
| | | else if (task.TaskState == TaskRelocationStatusEnum.CarTarget_Executing.ObjToInt()) |
| | | task.TaskState = TaskRelocationStatusEnum.RelocationFinish.ObjToInt(); |
| | | task.TaskState = TaskCarStatusEnum.ShuttleCar_Finish.ObjToInt(); |
| | | UpdateData(task); |
| | | } |
| | | else if (task.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() && task.TaskState == TaskCarStatusEnum.ShuttleCar_Executing.ObjToInt())//ç§»è½¦ä»»å¡ |
| | | else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == CarChargingTaskEnum.CarCharging_Executing.ObjToInt())//移车å
çµ |
| | | { |
| | | task.TaskState = (int)TaskCarStatusEnum.ShuttleCar_Finish; |
| | | UpdateData(task); |
| | | } |
| | | else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == CarChargingTask.ShuttleCar_Executing.ObjToInt())//移车å
çµ |
| | | { |
| | | task.TaskState = (int)CarChargingTask.ShuttleCar_Finish; |
| | | task.TaskState = CarChargingTaskEnum.CarCharging_Finish.ObjToInt(); |
| | | UpdateData(task); |
| | | } |
| | | } |
| | |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | public static int tasktype = 0; |
| | | /// <summary> |
| | | /// æ¥è¯¢ç©¿æ¢è½¦åºå
¥åºä»»å¡ |
| | | /// </summary> |
| | |
| | | /// <returns></returns> |
| | | public Dt_Task QueryShuttleCarTask(string deviceNo, string currentAddress = "") |
| | | { |
| | | if (string.IsNullOrEmpty(currentAddress)) |
| | | return BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy); |
| | | Dt_Task? _Task = null; |
| | | if (tasktype == 0) |
| | | { |
| | | if (string.IsNullOrEmpty(currentAddress)) |
| | | _Task = BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy); |
| | | else |
| | | _Task = BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy); |
| | | } |
| | | else |
| | | return BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy); |
| | | { |
| | | if (TaskInboundTypes.Contains(tasktype)) |
| | | { |
| | | _Task = BaseDal.QueryFirst(x => TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy) ?? BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish, TaskOrderBy); |
| | | } |
| | | else if (TaskOutboundTypes.Contains(tasktype)) |
| | | { |
| | | _Task = BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish, TaskOrderBy) ?? BaseDal.QueryFirst(x => TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy); |
| | | } |
| | | } |
| | | if (_Task != null) tasktype = _Task.TaskType; |
| | | return _Task; |
| | | } |
| | | /// <summary> |
| | | /// è·åç§»åºä»»å¡ |
| | |
| | | public Dt_Task ShuttleCarRelocationTask(string deviceNo, string currentAddress = "") |
| | | { |
| | | List<Dt_Task> tasks = null; |
| | | Dt_Task? task = null; |
| | | if (string.IsNullOrEmpty(currentAddress)) |
| | | tasks = BaseDal.QueryData(x => x.ShuttleCarCode == deviceNo && (TaskRelocationTypes.Contains(x.TaskType) && (x.TaskState == (int)TaskRelocationStatusEnum.SC_RelocationFinish || x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew))); |
| | | tasks = BaseDal.QueryData(x => /*x.ShuttleCarCode == deviceNo &&*/ TaskRelocationTypes.Contains(x.TaskType) && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew).OrderBy(x => x.TaskNum).ToList(); |
| | | else |
| | | tasks = BaseDal.QueryData(x => x.ShuttleCarCode == deviceNo && x.CurrentAddress == currentAddress && (TaskRelocationTypes.Contains(x.TaskType) && (x.TaskState == (int)TaskRelocationStatusEnum.SC_RelocationFinish || x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew))); |
| | | return tasks.OrderBy(x=>x.TaskNum).First(); |
| | | tasks = BaseDal.QueryData(x => /*x.ShuttleCarCode == deviceNo &&*/ x.CurrentAddress == currentAddress && TaskRelocationTypes.Contains(x.TaskType) && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew).OrderBy(x => x.TaskNum).ToList(); |
| | | if (tasks != null && tasks.Count > 0) |
| | | { |
| | | task = tasks[0]; |
| | | } |
| | | return task; |
| | | } |
| | | } |
| | | } |