From 202cdf4c400f7b8507f129fab5766baac6bc7e45 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 11 三月 2025 17:40:20 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_ShuttleCar.cs | 118 +++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 82 insertions(+), 36 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_ShuttleCar.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_ShuttleCar.cs"
index 1a0c73c..218e3f7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_ShuttleCar.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_ShuttleCar.cs"
@@ -21,46 +21,72 @@
/// <returns></returns>
public WebResponseContent ShuttleCarTaskCompleted(int taskNum, short TaskTypeComplete)
{
- WebResponseContent content = new WebResponseContent();
+ WebResponseContent content = new WebResponseContent().OK();
try
{
var task = GetTaskInfo(taskNum);
- if (task == null) throw new Exception($"鏈壘鍒颁换鍔�,浠诲姟鍙枫�恵taskNum}銆�");
- switch (TaskTypeComplete)
+ if (task != null)
{
- case 1://鍏ュ簱瀹屾垚
- {
- if (task.TaskType != (int)TaskInboundTypeEnum.Inbound) throw new Exception($"浠诲姟绫诲瀷涓嶅尮閰�,浠诲姟鍙枫�恵taskNum}銆�");
- int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
- task.TaskState = nextStatus;
- task.ModifyDate = DateTime.Now;
- task.Modifier = "System";
- content = AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"绌挎杞﹀叆搴撳畬鎴�");
- }
- break;
- case 2://鍑哄簱瀹屾垚
- {
- int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
- task.TaskState = nextStatus;
- task.ModifyDate = DateTime.Now;
- task.Modifier = "System";
- content = UpdateData(task);
- }
- break;
- case 10://鍏呯數瀹屾垚
- content.OK();
- break;
- case 13://A渚у洖闆跺畬鎴�
- case 14://B渚у洖闆跺畬鎴�
- {
- if (task.TaskType != (int)TaskOtherTypeEnum.RelocationCar) throw new Exception($"浠诲姟绫诲瀷涓嶅尮閰�,浠诲姟鍙枫�恵taskNum}銆�");
- task.TaskState = (int)TaskCarStatusEnum.ShuttleCar_Finish;
- content = UpdateData(task);
- }
- break;
- default:
- break;
+ switch (TaskTypeComplete)
+ {
+ case 1://鍏ュ簱瀹屾垚
+ {
+ if (TaskInboundTypes.Contains(task.TaskType) && task.TaskState == TaskInStatusEnum.Car_InExecuting.ObjToInt())
+ {
+ 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;
+ case 2://鍑哄簱瀹屾垚
+ {
+ if (TaskOutboundTypes.Contains(task.TaskType) && task.TaskState == TaskOutStatusEnum.Car_OutExecuting.ObjToInt())
+ {
+ 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)CarChargingTaskEnum.ShuttleCar_Charging)//绉昏溅鍏呯數
+ {
+ task.TaskState = CarChargingTaskEnum.RelocationCarFinish.ObjToInt();
+ AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"绌挎杞﹀厖鐢靛畬鎴�");
+ }
+ }
+ break;
+ case 13://A渚у洖闆跺畬鎴�
+ case 14://B渚у洖闆跺畬鎴�
+ {
+ if (task.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() && task.TaskState == TaskCarStatusEnum.ShuttleCar_Executing.ObjToInt())//绉昏溅浠诲姟
+ {
+ task.TaskState = TaskCarStatusEnum.ShuttleCar_Finish.ObjToInt();
+ UpdateData(task);
+ }
+ else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == CarChargingTaskEnum.ShuttleCar_Executing.ObjToInt())//绉昏溅鍏呯數
+ {
+ task.TaskState = CarChargingTaskEnum.ShuttleCar_Finish.ObjToInt();
+ UpdateData(task);
+ }
+ }
+ break;
+ default:
+ break;
+ }
}
}
catch (Exception ex)
@@ -109,5 +135,25 @@
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);
}
+ /// <summary>
+ /// 鑾峰彇绉诲簱浠诲姟
+ /// </summary>
+ /// <param name="deviceNo"></param>
+ /// <param name="currentAddress"></param>
+ /// <returns></returns>
+ 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.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.RelocationNew).OrderBy(x => x.TaskNum).ToList();
+ if (tasks != null && tasks.Count > 0)
+ {
+ task = tasks[0];
+ }
+ return task;
+ }
}
}
--
Gitblit v1.9.3