From d85a4b97325020b7efe1a6cdbd55025c6408cec9 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期五, 25 十月 2024 10:12:06 +0800
Subject: [PATCH] 更新
---
WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs | 108 ++++++++++++++++++++++++++++++++---------------------
1 files changed, 65 insertions(+), 43 deletions(-)
diff --git a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs
index 8141462..9d23f8a 100644
--- a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs
+++ b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs
@@ -22,6 +22,7 @@
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Enums;
@@ -40,39 +41,36 @@
_taskRepository = taskRepository;
}
- public void AddTaskExecuteDetail(int taskId, int taskNum, int taskState, string description = "", bool isManual = false)
+ public void AddTaskExecuteDetail(int taskId, string description = "")
{
try
{
bool isNormal = true;
- ;
- if (Enum.TryParse(typeof(TaskOutStatusEnum), taskState.ToString(), out object? result))
- {
- if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
- isNormal = false;
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskId == taskId);
+ if (task == null) return;
+ int taskNum = task.TaskNum;
+ int taskState = task.TaskState;
- }
- else if (Enum.TryParse(typeof(TaskInStatusEnum), taskState.ToString(), out result))
+ if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result))
{
if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
isNormal = false;
}
- else if (Enum.TryParse(typeof(TaskRelocationTypeEnum), taskState.ToString(), out result))
+ else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
{
-
+ if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
+ isNormal = false;
}
- else if (Enum.TryParse(typeof(TaskOtherTypeEnum), taskState.ToString(), out result))
+ Dt_TaskExecuteDetail taskExecuteDetail = new()
{
-
- }
- Dt_TaskExecuteDetail taskExecuteDetail = new Dt_TaskExecuteDetail()
- {
- IsManual = isManual,
+ IsManual = App.User.UserId > 0,
IsNormal = isNormal,
TaskNum = taskNum,
TaskId = taskId,
TaskState = taskState,
- Description = description
+ Description = description,
+ CurrentAddress = task.CurrentAddress,
+ NextAddress = task.NextAddress,
};
BaseDal.AddData(taskExecuteDetail);
}
@@ -82,15 +80,59 @@
}
}
+ public void AddTaskExecuteDetail(List<int> taskNums, string description = "")
+ {
+ try
+ {
+ List<Dt_TaskExecuteDetail> taskExecuteDetails = new List<Dt_TaskExecuteDetail>();
+ foreach (var item in taskNums)
+ {
+ bool isNormal = true;
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == item);
+ if (task == null) return;
+ int taskNum = task.TaskNum;
+ int taskState = task.TaskState;
+
+ if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result))
+ {
+ if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
+ isNormal = false;
+ }
+ else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
+ {
+ if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
+ isNormal = false;
+ }
+ Dt_TaskExecuteDetail taskExecuteDetail = new()
+ {
+ IsManual = App.User.UserId > 0,
+ IsNormal = isNormal,
+ TaskNum = taskNum,
+ TaskId = task.TaskId,
+ TaskState = taskState,
+ Description = description,
+ CurrentAddress = task.CurrentAddress,
+ NextAddress = task.NextAddress,
+ };
+ taskExecuteDetails.Add(taskExecuteDetail);
+ }
+
+ BaseDal.AddData(taskExecuteDetails);
+ }
+ catch (Exception ex)
+ {
+
+ }
+ }
+
public WebResponseContent GetDetailInfo(int taskNum)
{
- WebResponseContent content = new WebResponseContent();
+ WebResponseContent content = new();
try
{
int active = -1;
- List<object> list = new List<object>();
-
- List<int> steps = new List<int>();
+ List<object> list = new();
+ List<int> steps = new();
Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
if (task != null)
{
@@ -146,27 +188,8 @@
{
throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
}
+ active = steps.IndexOf(task.TaskState) + 1;
- List<int> details = BaseDal.QueryData(x => x.TaskNum == taskNum && x.TaskState <= task.TaskState).GroupBy(x => x.TaskState).Select(x => x.Key).ToList();
- if (details.Count == 0)
- {
- active = steps.IndexOf(task.TaskState) + 1;
- if (active < steps.Count)
- {
- active -= 1;
- }
- }
- else
- {
- if (details.Count == steps.Count)
- {
- active = details.Count;
- }
- else
- {
- active = details.Count - 1;
- }
- }
}
content = WebResponseContent.Instance.OK(data: new { active, list });
@@ -180,10 +203,9 @@
public WebResponseContent GetDetailDatas(int taskNum)
{
- WebResponseContent content = new WebResponseContent();
+ WebResponseContent content = new();
try
{
-
Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
if (task != null)
{
--
Gitblit v1.9.3