From fbc6fae6c793220d0b67ac603ce9bbf22837de79 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 19 六月 2025 17:50:47 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_Manual.cs | 208 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 208 insertions(+), 0 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_Manual.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_Manual.cs"
index 8010356..56e84de 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_Manual.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_Manual.cs"
@@ -7,12 +7,220 @@
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
namespace WIDESEAWCS_TaskInfoService
{
public partial class TaskService
{
+ public WebResponseContent ManualTask(int TaskId, int TaskType)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ var Task = BaseDal.QueryFirst(x => x.TaskId == TaskId);
+ if (Task == null) throw new Exception("鏈壘鍒颁换鍔′俊鎭�");
+ switch ((ManualTaskEnum)TaskType)
+ {
+ case ManualTaskEnum.SCTaskSend:
+ content = SCTaskSend(Task);
+ break;
+ case ManualTaskEnum.SCTaskCompleted:
+ content = SCTaskCompleted(Task);
+ break;
+ case ManualTaskEnum.Completed:
+ content = Completed(Task);
+ break;
+ case ManualTaskEnum.Cancel:
+ content = Cancel(Task);
+ break;
+ default:
+ break;
+ }
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ return content;
+ }
+ /// <summary>
+ /// 閲嶆柊涓嬪彂鍫嗗灈鏈轰换鍔�
+ /// </summary>
+ /// <param name="task"></param>
+ /// <returns></returns>
+ public WebResponseContent SCTaskSend(Dt_Task task)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ if (TaskInboundTypes.Contains(task.TaskType))
+ {
+ if (task.TaskState != TaskInStatusEnum.SC_InExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈哄叆搴撴墽琛屼腑锛屼笉鍙噸鏂颁笅鍙�");
+ task.TaskState = TaskInStatusEnum.Line_InFinish.ObjToInt();
+ content = UpdateData(task);
+ }
+ else if (TaskOutboundTypes.Contains(task.TaskType))
+ {
+ if (task.TaskState != TaskOutStatusEnum.SC_OutExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈哄嚭搴撴墽琛屼腑锛屼笉鍙噸鏂颁笅鍙�");
+ task.TaskState = TaskOutStatusEnum.Car_OutFinish.ObjToInt();
+ content = UpdateData(task);
+ }
+ else if (task.TaskType == TaskRelocationTypeEnum.Relocation.ObjToInt())
+ {
+ if (task.TaskState != TaskRelocationStatusEnum.SC_RelocationExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈虹Щ搴撴墽琛屼腑锛屼笉鍙噸鏂颁笅鍙�");
+ task.TaskState = TaskRelocationStatusEnum.CarSource_Finish.ObjToInt();
+ content = UpdateData(task);
+
+ }
+ else if (task.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt())
+ {
+ if (task.TaskState != TaskCarStatusEnum.SC_CarExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈虹Щ杞︽墽琛屼腑锛屼笉鍙噸鏂颁笅鍙�");
+ task.TaskState = TaskCarStatusEnum.ShuttleCar_Finish.ObjToInt();
+ content = UpdateData(task);
+ }
+ else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt())
+ {
+ if (task.TaskState != CarChargingTaskEnum.CarChargingSC_CarExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈虹Щ杞︽墽琛屼腑锛屼笉鍙噸鏂颁笅鍙�");
+ task.TaskState = CarChargingTaskEnum.CarCharging_Finish.ObjToInt();
+ content = UpdateData(task);
+ }
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ return content;
+ }
+ /// <summary>
+ /// 瀹屾垚鍫嗗灈鏈轰换鍔�
+ /// </summary>
+ /// <param name="task"></param>
+ /// <returns></returns>
+ public WebResponseContent SCTaskCompleted(Dt_Task task)
+ {
+ try
+ {
+ if (TaskInboundTypes.Contains(task.TaskType))
+ {
+ if (task.TaskState != TaskInStatusEnum.SC_InExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈哄叆搴撴墽琛屼腑");
+ }
+ else if (TaskOutboundTypes.Contains(task.TaskType))
+ {
+ if (task.TaskState != TaskOutStatusEnum.SC_OutExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈哄嚭搴撴墽琛屼腑");
+ }
+ else if (task.TaskType == TaskRelocationTypeEnum.Relocation.ObjToInt())
+ {
+ if (task.TaskState != TaskRelocationStatusEnum.SC_RelocationExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈虹Щ搴撴墽琛屼腑");
+ }
+ else if (task.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt())
+ {
+ if (task.TaskState != TaskCarStatusEnum.SC_CarExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈虹Щ杞︽墽琛屼腑");
+ }
+ else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt())
+ {
+ if (task.TaskState != CarChargingTaskEnum.CarChargingSC_CarExecuting.ObjToInt())
+ throw new Exception("浠诲姟鐘舵�佷笉绛変簬鍫嗗灈鏈虹Щ杞︽墽琛屼腑");
+ }
+ return StackCraneTaskCompleted(task.TaskNum);
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+ /// <summary>
+ /// 瀹屾垚浠诲姟
+ /// </summary>
+ /// <param name="task"></param>
+ /// <returns></returns>
+ public WebResponseContent Completed(Dt_Task task)
+ {
+ try
+ {
+ if (TaskInboundTypes.Contains(task.TaskType))
+ {
+ if (task.TaskState < TaskInStatusEnum.SC_InFinish.ObjToInt())
+ {
+ task.TaskState = TaskInStatusEnum.SC_InExecuting.ObjToInt();
+ UpdateData(task);
+ StackCraneTaskCompleted(task.TaskNum);
+ }
+ AddTask_Hty(task, TaskOperateTypeEnum.ManualCompletion);
+ }
+ else if (TaskOutboundTypes.Contains(task.TaskType))
+ {
+ if (task.TaskState < TaskOutStatusEnum.SC_OutFinish.ObjToInt())
+ {
+ task.TaskState = TaskOutStatusEnum.SC_OutExecuting.ObjToInt();
+ UpdateData(task);
+ StackCraneTaskCompleted(task.TaskNum);
+ }
+ AddTask_Hty(task, TaskOperateTypeEnum.ManualCompletion);
+ }
+ else if (task.TaskType == TaskRelocationTypeEnum.Relocation.ObjToInt())
+ {
+ if (task.TaskState < TaskRelocationStatusEnum.SC_RelocationFinish.ObjToInt())
+ {
+ task.TaskState = TaskRelocationStatusEnum.SC_RelocationExecuting.ObjToInt();
+ UpdateData(task);
+ StackCraneTaskCompleted(task.TaskNum);
+ }
+ AddTask_Hty(task, TaskOperateTypeEnum.ManualCompletion);
+ }
+ else if (task.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt())
+ {
+ task.TaskState = TaskCarStatusEnum.SC_CarFinish.ObjToInt();
+ UpdateData(task);
+ }
+ else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt())
+ {
+ task.TaskState = CarChargingTaskEnum.CarChargingSC_CarFinish.ObjToInt();
+ UpdateData(task);
+ }
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+ /// <summary>
+ /// 鍙栨秷浠诲姟
+ /// </summary>
+ /// <param name="task"></param>
+ /// <returns></returns>
+ public WebResponseContent Cancel(Dt_Task task)
+ {
+ try
+ {
+ if (task.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() || task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt())
+ AddTask_Hty(task, TaskOperateTypeEnum.ManualDeletion);
+ if (!TaskInboundTypes.Contains(task.TaskType))
+ throw new Exception("鏃犳潈闄�");
+ if (task.TaskState > TaskInStatusEnum.Line_InExecuting.ObjToInt() && !string.IsNullOrEmpty(task.TargetAddress))
+ throw new Exception("宸插垎閰嶇洰鏍囧湴鍧�,涓嶅彲鍙栨秷");
+ task.TaskState = TaskInStatusEnum.InCancel.ObjToInt();
+ BaseDal.UpdateData(task);
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
/// <summary>
/// 浜哄伐鎿嶄綔浠诲姟
/// 1锛氬畬鎴愶紱2锛氬彇娑�
--
Gitblit v1.9.3