diff --git a/WcsMain/ApiClient/Shuttle/ShuttleWebApiAction.cs b/WcsMain/ApiClient/Shuttle/ShuttleWebApiAction.cs
index 8b2ead1..16dcf73 100644
--- a/WcsMain/ApiClient/Shuttle/ShuttleWebApiAction.cs
+++ b/WcsMain/ApiClient/Shuttle/ShuttleWebApiAction.cs
@@ -29,7 +29,7 @@ public class ShuttleWebApiAction(ShuttleBaseWebApi webApiPost)
{
RequestId = requestId,
Key = (requestId + ApplicationBaseConfig.SHUTTLE_PWD).MD5Encrypt32(),
- WmsTaskId = wmsTask.TaskId,
+ WmsTaskId = wmsTask.WcsId,
FromCellNo = wmsTask.Origin,
TaskType = "3",
ToCell = wmsTask.Destination,
diff --git a/WcsMain/ApiServe/Dto/Container/TaskStateNoticeRequest.cs b/WcsMain/ApiServe/Dto/Container/TaskStateNoticeRequest.cs
index 9bbcc5b..f5a5b78 100644
--- a/WcsMain/ApiServe/Dto/Container/TaskStateNoticeRequest.cs
+++ b/WcsMain/ApiServe/Dto/Container/TaskStateNoticeRequest.cs
@@ -23,7 +23,7 @@ public class TaskStateNoticeRequest
/// WMS任务号
///
[JsonPropertyName("wmstaskid")]
- public string? WmsTaskId { get; set; }
+ public long? WmsTaskId { get; set; }
///
/// 最终到达位置
@@ -39,7 +39,7 @@ public class TaskStateNoticeRequest
/// 21 - 取消
///
[JsonPropertyName("taskstate")]
- public string? TaskState { get; set; }
+ public int? TaskState { get; set; }
diff --git a/WcsMain/ApiServe/Service/ContainerService/ContainerService.cs b/WcsMain/ApiServe/Service/ContainerService/ContainerService.cs
index 671ed77..fee8faa 100644
--- a/WcsMain/ApiServe/Service/ContainerService/ContainerService.cs
+++ b/WcsMain/ApiServe/Service/ContainerService/ContainerService.cs
@@ -33,13 +33,13 @@ public class ContainerService(AppWmsTaskDao wmsTaskDao, WCSTaskExecuteEvent task
}
AppWmsTask wmsTask = wmsTasks.First();
/* 更新状态为前往终点 */
- var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.toMid, ModifyTime = DateTime.Now });
+ var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.toDestination, ModifyTime = DateTime.Now });
ConsoleLog.Success($"API更新任务状态结果:{(updateResult > 0 ? "成功" : "失败")},任务号:{wmsTask.TaskId}");
return new()
{
Code = "200",
Message = "操作成功",
- WmsTaskId = wmsTask.TaskId,
+ WmsTaskId = wmsTask.WcsId,
PalletNo = wmsTask.VehicleNo,
FromCellNo = request.FormCellNo,
ToCellNo = wmsTask.Destination,
@@ -53,11 +53,11 @@ public class ContainerService(AppWmsTaskDao wmsTaskDao, WCSTaskExecuteEvent task
///
public TaskStateNoticeResponse TaskStateNotice(TaskStateNoticeRequest request)
{
- if(string.IsNullOrEmpty(request.TaskState) || string.IsNullOrEmpty(request.WmsTaskId) || string.IsNullOrEmpty(request.FactendCell))
+ if(string.IsNullOrEmpty(request.TaskState?.ToString()) || string.IsNullOrEmpty(request.WmsTaskId?.ToString()) || string.IsNullOrEmpty(request.FactendCell))
{
return new() { Code = "400", Message = "缺少必须的参数" };
}
- List? appWmsTasks = wmsTaskDao.Select(new() { TaskId = request.WmsTaskId });
+ List? appWmsTasks = wmsTaskDao.Select(new() { WcsId = request.WmsTaskId?.ToString() });
if(appWmsTasks == null)
{
return new() { Code = "400", Message = "数据连接异常,请稍后再试" };
@@ -67,18 +67,29 @@ public class ContainerService(AppWmsTaskDao wmsTaskDao, WCSTaskExecuteEvent task
return new() { Code = "400", Message = $"该任务号不存在:{request.WmsTaskId}" };
}
AppWmsTask wmsTask = appWmsTasks.First();
- if (wmsTask.TaskType == (int)WmsTaskTypeEnum.inTask || wmsTask.TaskType == (int)WmsTaskTypeEnum.moveTask)
+ if(request.TaskState?.ToString() == "20")
{
- /* 入库/移库 完成需要反馈WMS任务完成,更新任务状态为完成 */
- string? errText = taskExecuteEvent.CompleteTaskEvent(wmsTask, "四向车上报完成", request.FactendCell);
- return new() { Code = string.IsNullOrEmpty(errText) ? "200" : "400", Message = string.IsNullOrEmpty(errText) ? "成功" : errText, WmsTaskId = request.WmsTaskId };
+ if (wmsTask.TaskType == (int)WmsTaskTypeEnum.inTask || wmsTask.TaskType == (int)WmsTaskTypeEnum.moveTask)
+ {
+ /* 入库/移库 完成需要反馈WMS任务完成,更新任务状态为完成 */
+ string? errText = taskExecuteEvent.CompleteTaskEvent(wmsTask, "四向车上报完成", request.FactendCell);
+ return new() { Code = string.IsNullOrEmpty(errText) ? "200" : "400", Message = string.IsNullOrEmpty(errText) ? "成功" : errText, WmsTaskId = request.WmsTaskId?.ToString() };
+ }
+ if (wmsTask.TaskType == (int)WmsTaskTypeEnum.outTask)
+ {
+ /* 更新任务状态为到达中间点 */
+ int updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.arriveMid, ModifyTime = DateTime.Now, TaskMsg = "四向车上报到达中间点" });
+ return new() { Code = updateResult > 0 ? "200" : "400", Message = updateResult > 0 ? "成功" : "数据异常", WmsTaskId = request.WmsTaskId?.ToString() };
+ }
+ return new() { Code = "400", Message = $"该任务不支持的类型:{request.WmsTaskId}" };
}
- if(wmsTask.TaskType == (int)WmsTaskTypeEnum.outTask)
+ if (request.TaskState?.ToString() == "21")
{
- /* 更新任务状态为到达中间点 */
- int updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.arriveMid, ModifyTime = DateTime.Now });
- return new() { Code = updateResult > 0 ? "200" : "400", Message = updateResult > 0 ? "成功" : "数据异常", WmsTaskId = request.WmsTaskId };
+ /* 更新任务状态为取消 */
+ int updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.err, TaskMsg = "四向车取消", ModifyTime = DateTime.Now });
+ return new() { Code = updateResult > 0 ? "200" : "400", Message = updateResult > 0 ? "成功" : "数据异常", WmsTaskId = request.WmsTaskId?.ToString() };
}
- return new() { Code = "400", Message = $"该任务不支持的类型:{request.WmsTaskId}" };
+ return new() { Code = "400", Message = $"不支持的状态类型:{request.TaskState}" };
}
+
}
diff --git a/WcsMain/ApiServe/Service/WcsService/WmsTaskService.cs b/WcsMain/ApiServe/Service/WcsService/WmsTaskService.cs
index 16b5163..d76d06a 100644
--- a/WcsMain/ApiServe/Service/WcsService/WmsTaskService.cs
+++ b/WcsMain/ApiServe/Service/WcsService/WmsTaskService.cs
@@ -63,6 +63,7 @@ public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDa
AppWmsTask wmsTask = new()
{
TaskId = request.TaskId,
+ WcsId = dataBaseData.GetNewUUID2(),
TaskType = request.TaskType,
TaskStatus = (int)WmsTaskStatusEnum.create,
Priority = request.Priority ?? 0,
diff --git a/WcsMain/ApiServe/Service/WmsService/WmsTaskService.cs b/WcsMain/ApiServe/Service/WmsService/WmsTaskService.cs
index d0e8851..bcc4dda 100644
--- a/WcsMain/ApiServe/Service/WmsService/WmsTaskService.cs
+++ b/WcsMain/ApiServe/Service/WmsService/WmsTaskService.cs
@@ -12,6 +12,7 @@ using WcsMain.StaticData;
using WcsMain.Utils.Plugins;
using WcsMain.Constant.WcsAttribute.AutoFacAttribute;
using WcsMain.Constant.ExtendMethod;
+using WcsMain.Common.DataService;
namespace WcsMain.ApiServe.Service.WmsService;
@@ -19,7 +20,7 @@ namespace WcsMain.ApiServe.Service.WmsService;
/// Wms任务接口逻辑
///
[Service]
-public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDao)
+public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDao, DataBaseData dataBaseData)
{
///
/// 接收WMS任务数据处理
@@ -74,6 +75,7 @@ public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDa
wmsTasks.Add(new AppWmsTask()
{
TaskId = taskData.TaskId,
+ WcsId = dataBaseData.GetNewUUID2(),
TaskType = taskData.TaskType,
TaskStatus = (int)WmsTaskStatusEnum.create,
Priority = taskData.Priority ?? -1,
diff --git a/WcsMain/Business/CommonAction/WCSTaskExecuteEvent.cs b/WcsMain/Business/CommonAction/WCSTaskExecuteEvent.cs
index 2cd7ae8..d182229 100644
--- a/WcsMain/Business/CommonAction/WCSTaskExecuteEvent.cs
+++ b/WcsMain/Business/CommonAction/WCSTaskExecuteEvent.cs
@@ -159,6 +159,7 @@ public class WCSTaskExecuteEvent(TaskDao taskDao, SendWmsTaskStatus sendWmsTaskS
public string? CompleteTaskEvent(AppWmsTask task, string msg, string? destination)
{
/* 更新任务信息,任务完成 */
+ task.Destination = string.IsNullOrEmpty(destination) ? task.Destination : task.Destination + "_" + destination;
string? errText = taskDao.ComlpeteTask(task, msg);
if (!string.IsNullOrEmpty(errText))
{
@@ -172,6 +173,22 @@ public class WCSTaskExecuteEvent(TaskDao taskDao, SendWmsTaskStatus sendWmsTaskS
return errText;
}
+ public string? CancelTaskEvent(AppWmsTask task, string msg, string? destination)
+ {
+ /* 更新任务信息,任务完成 */
+ int updateResult = wmsTaskDao.Update(new() { TaskId = task.TaskId, TaskStatus = task.TaskType = (int)WmsTaskStatusEnum.err, TaskMsg = msg, ModifyTime = DateTime.Now });
+ if (updateResult < 1)
+ {
+ ConsoleLog.Warning($"【异常】任务取消更新WMS任务状态失败");
+ }
+ //if (task.CreatePerson == StaticData.StaticString.WMS)
+ //{
+ // /* 上报WMS */
+ // sendWmsTaskStatus.SendTaskComplete(task.TaskId, destination: destination);
+ //}
+ return "更新信息失败";
+ }
+
///
/// 发送任务离开起始位置
///
@@ -182,7 +199,7 @@ public class WCSTaskExecuteEvent(TaskDao taskDao, SendWmsTaskStatus sendWmsTaskS
int updateResult = wmsTaskDao.Update(new() { TaskId = task.TaskId, TaskStatus = task.TaskType == (int)WmsTaskTypeEnum.moveTask ? (int)WmsTaskStatusEnum.toDestination : (int)WmsTaskStatusEnum.toMid, ModifyTime = DateTime.Now });
if (updateResult < 1)
{
- ConsoleLog.Warning($"【异常】任务完成更新WMS任务状态失败");
+ ConsoleLog.Warning($"【异常】任务离开起点更新WMS任务状态失败");
}
if (task.CreatePerson == StaticData.StaticString.WMS)
{
diff --git a/WcsMain/CirculationJob/Stacker/ExecuteWmsTask.cs b/WcsMain/CirculationJob/Stacker/ExecuteWmsTask.cs
index a926a57..27f51ac 100644
--- a/WcsMain/CirculationJob/Stacker/ExecuteWmsTask.cs
+++ b/WcsMain/CirculationJob/Stacker/ExecuteWmsTask.cs
@@ -75,7 +75,7 @@ public class ExecuteWmsTask(AppWmsTaskDao wmsTaskDao, StackerConveyOperation sta
}
ConsoleLog.Success($"AGV点对点搬运请求AGV服务成功,任务号:{wmsTask.TaskId}");
/* 更新任务状态为执行中 */
- var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.running, ModifyTime = DateTime.Now });
+ var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.running, StartTime = DateTime.Now, ModifyTime = DateTime.Now });
ConsoleLog.Success($"更新任务状态结果:{(updateResult > 0 ? "成功" : "失败")},任务号:{wmsTask.TaskId}");
}
@@ -97,7 +97,7 @@ public class ExecuteWmsTask(AppWmsTaskDao wmsTaskDao, StackerConveyOperation sta
}
ConsoleLog.Success($"入库搬运请求AGV成功,任务号:{wmsTask.TaskId}");
/* 更新任务状态为前往中间点,更新中间点 */
- var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, MidPoint = midPoint, TaskStatus = (int)WmsTaskStatusEnum.toMid, ModifyTime = DateTime.Now });
+ var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, MidPoint = midPoint, TaskStatus = (int)WmsTaskStatusEnum.toMid, StartTime = DateTime.Now, ModifyTime = DateTime.Now });
ConsoleLog.Success($"更新任务状态结果:{(updateResult > 0 ? "成功" : "失败")},任务号:{wmsTask.TaskId}");
/* 四向车任务有接口返回给四向车 */
}
@@ -111,15 +111,15 @@ public class ExecuteWmsTask(AppWmsTaskDao wmsTaskDao, StackerConveyOperation sta
string? midPoint = GetEmptyOutLift(wmsTask.Origin);
if (string.IsNullOrEmpty(midPoint)) return; // 没有可用站台
/* 发送四向车搬运任务 */
- string? errText = containerAction.ExecuteOutTask(wmsTask.TaskId, wmsTask.Origin, midPoint, wmsTask.VehicleNo);
+ string? errText = containerAction.ExecuteOutTask(wmsTask.WcsId, wmsTask.Origin, midPoint, wmsTask.VehicleNo);
if (!string.IsNullOrEmpty(errText))
{
ConsoleLog.Warning($"【警告】出库请求四向车搬运失败,任务号:{wmsTask.TaskId},异常信息:{errText}");
return;
}
- ConsoleLog.Success($"出库搬运请求四向车成功,任务号:{wmsTask.TaskId}");
+ ConsoleLog.Success($"出库搬运请求四向车成功,任务号:{wmsTask.TaskId}/{wmsTask.WcsId}");
/* 更新任务状态为前往中间点,更新中间点 */
- var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, MidPoint = midPoint, TaskStatus = (int)WmsTaskStatusEnum.toMid, ModifyTime = DateTime.Now });
+ var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, MidPoint = midPoint, TaskStatus = (int)WmsTaskStatusEnum.toMid, StartTime = DateTime.Now, ModifyTime = DateTime.Now });
ConsoleLog.Success($"更新任务状态结果:{(updateResult > 0 ? "成功" : "失败")},任务号:{wmsTask.TaskId}");
/* AGV接续任务由定时器触发 */
}
@@ -134,12 +134,12 @@ public class ExecuteWmsTask(AppWmsTaskDao wmsTaskDao, StackerConveyOperation sta
string errText = containerAction.ExecuteMoveTask(wmsTask);
if (!string.IsNullOrEmpty(errText))
{
- ConsoleLog.Warning($"四向车移库任务请求四向车服务失败,任务号:{wmsTask.TaskId},异常信息:{errText}");
+ ConsoleLog.Warning($"四向车移库任务请求四向车服务失败,任务号:{wmsTask.TaskId}/{wmsTask.WcsId},异常信息:{errText}");
return;
}
- ConsoleLog.Success($"四向车移库任务请求四向车服务成功,任务号:{wmsTask.TaskId}");
+ ConsoleLog.Success($"四向车移库任务请求四向车服务成功,任务号:{wmsTask.TaskId}/{wmsTask.WcsId}");
/* 更新任务状态为执行中 */
- var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.running, ModifyTime = DateTime.Now });
+ var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.running, StartTime = DateTime.Now, ModifyTime = DateTime.Now });
ConsoleLog.Success($"更新任务状态结果:{(updateResult > 0 ? "成功" : "失败")},任务号:{wmsTask.TaskId}");
}
@@ -236,11 +236,11 @@ public class ExecuteWmsTask(AppWmsTaskDao wmsTaskDao, StackerConveyOperation sta
ConsoleLog.Warning($"【警告】提升机站台信息获取失败,异常信息:{errText}");
continue;
}
- if (model != 2 || allowAction != (short)TrueFalseEnum.TRUE || errCode != 0) continue;
+ if (model != 2 || allowAction != (short)TrueFalseEnum.FALSE || errCode != 0) continue;
/* 检验任务是否是第一层,若是不是第一层不能分配第一层出入口 */
if (!origin.EndsWith("1"))
{
- if (liftInfo.LiftMode != 2) continue;
+ if (liftInfo.LiftMode == 2) continue;
}
/* 获取这个站台的任务.并计数 */
List? tasks = wmsTaskDao.Select(new() { MidPoint = liftInfo.Tag, TaskStatus = (int)WmsTaskStatusEnum.toMid });
diff --git a/WcsMain/Common/DataService/DataBaseData.cs b/WcsMain/Common/DataService/DataBaseData.cs
index 05ba6d7..6c6e7d0 100644
--- a/WcsMain/Common/DataService/DataBaseData.cs
+++ b/WcsMain/Common/DataService/DataBaseData.cs
@@ -141,7 +141,7 @@ public class DataBaseData(AppSettingsDao settingsDao)
{
wcsId = "0";
}
- string timeTick = DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString();
+ string timeTick = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
if (timeTick != lasTimeTick2)
{
lasTimeTick2 = timeTick;
diff --git a/WcsMain/DataBase/Dao/AppWmsTaskDao.cs b/WcsMain/DataBase/Dao/AppWmsTaskDao.cs
index 6b09034..7242f21 100644
--- a/WcsMain/DataBase/Dao/AppWmsTaskDao.cs
+++ b/WcsMain/DataBase/Dao/AppWmsTaskDao.cs
@@ -84,6 +84,7 @@ public class AppWmsTaskDao
{
var sqlFuc = CommonTool.DbServe.Queryable()
.WhereIF(!string.IsNullOrEmpty(appWmsTask.TaskId), w => w.TaskId == appWmsTask.TaskId)
+ .WhereIF(appWmsTask.WcsId != null, w => w.WcsId == appWmsTask.WcsId)
.WhereIF(appWmsTask.TaskType != null, w => w.TaskType == appWmsTask.TaskType)
.WhereIF(appWmsTask.TaskStatus != null, w => w.TaskStatus == appWmsTask.TaskStatus)
.WhereIF(!string.IsNullOrEmpty(appWmsTask.Origin), w => w.Origin == appWmsTask.Origin)
@@ -208,6 +209,7 @@ public class AppWmsTaskDao
var sqlFuc = CommonTool.DbServe.Queryable()
.WhereIF(!string.IsNullOrEmpty(pageRequest.SearchStr),
w => w.Destination!.Contains(pageRequest.SearchStr!)
+ || w.WcsId!.Contains(pageRequest.SearchStr!)
|| w.Origin!.Contains(pageRequest.SearchStr!)
|| w.VehicleNo!.Contains(pageRequest.SearchStr!)
|| w.TaskId!.Contains(pageRequest.SearchStr!)
diff --git a/WcsMain/DataBase/MixDao/TaskDao.cs b/WcsMain/DataBase/MixDao/TaskDao.cs
index bb1214e..6e42701 100644
--- a/WcsMain/DataBase/MixDao/TaskDao.cs
+++ b/WcsMain/DataBase/MixDao/TaskDao.cs
@@ -218,7 +218,7 @@ public class TaskDao
{
var updateResult = CommonTool.DbServe
.Updateable(new AppWmsTask()
- { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.complete, EndTime = DateTime.Now, TaskMsg = msg })
+ { TaskId = wmsTask.TaskId, TaskStatus = (int)WmsTaskStatusEnum.complete, Destination = wmsTask.Destination, EndTime = DateTime.Now, TaskMsg = msg })
.IgnoreColumns(ignoreAllNullColumns: true)
.ExecuteCommand();
return updateResult > 0 ? null : "失败";
diff --git a/WcsMain/DataBase/TableEntity/AppWmsTask.cs b/WcsMain/DataBase/TableEntity/AppWmsTask.cs
index 9d60c94..e0dba5d 100644
--- a/WcsMain/DataBase/TableEntity/AppWmsTask.cs
+++ b/WcsMain/DataBase/TableEntity/AppWmsTask.cs
@@ -19,6 +19,13 @@ public class AppWmsTask
[JsonPropertyName("taskId")]
public string? TaskId { get; set; }
+ ///
+ /// WCS 的任务Id,给四向车用的,他们必须int64格式
+ ///
+ [SugarColumn(ColumnName = "wcs_id")]
+ [JsonPropertyName("wcsId")]
+ public string? WcsId { get; set; }
+
///
/// 任务类型
///
diff --git a/WcsMain/Properties/PublishProfiles/FolderProfile2.pubxml.user b/WcsMain/Properties/PublishProfiles/FolderProfile2.pubxml.user
index 9cfcf3e..eb86787 100644
--- a/WcsMain/Properties/PublishProfiles/FolderProfile2.pubxml.user
+++ b/WcsMain/Properties/PublishProfiles/FolderProfile2.pubxml.user
@@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<_PublishTargetUrl>F:\A开发项目\A菲达宝开项目\2024-08_上汽试制仓\应用程序\WcsService\WcsMain\bin\Release\net8.0\publish\
- True|2024-11-15T09:47:10.4630939Z||;True|2024-11-15T17:42:25.6985733+08:00||;True|2024-11-15T17:39:43.9409305+08:00||;True|2024-11-15T17:26:18.2886475+08:00||;True|2024-11-15T17:23:05.3112513+08:00||;True|2024-11-15T17:16:40.2960771+08:00||;True|2024-11-15T17:14:12.3416383+08:00||;True|2024-11-15T17:09:43.2642034+08:00||;True|2024-11-15T17:05:04.4694932+08:00||;False|2024-11-15T17:04:34.2335564+08:00||;False|2024-11-15T17:04:12.5281280+08:00||;True|2024-11-15T17:01:49.4325408+08:00||;False|2024-11-15T17:01:29.1872712+08:00||;True|2024-11-15T16:00:18.8617729+08:00||;True|2024-11-15T15:56:13.9285180+08:00||;True|2024-11-15T15:50:53.6121456+08:00||;True|2024-11-15T15:17:41.0508047+08:00||;True|2024-11-15T13:50:06.8021767+08:00||;True|2024-11-15T13:17:48.2695650+08:00||;True|2023-12-21T15:04:28.6290873+08:00||;True|2023-12-21T14:59:03.4454135+08:00||;True|2023-12-21T14:51:08.6690406+08:00||;True|2023-12-21T14:26:42.6801144+08:00||;False|2023-12-21T14:26:14.3256943+08:00||;True|2023-12-21T14:13:42.5511801+08:00||;True|2023-12-21T13:56:38.5871005+08:00||;True|2023-12-19T12:19:57.9900187+08:00||;True|2023-12-19T11:53:33.6930379+08:00||;True|2023-12-17T12:51:32.6510827+08:00||;False|2023-12-17T12:49:32.9022541+08:00||;
+ True|2024-11-16T06:31:14.2653894Z||;True|2024-11-16T14:16:17.4271635+08:00||;True|2024-11-16T14:16:08.1284507+08:00||;True|2024-11-16T14:08:02.8639352+08:00||;True|2024-11-16T14:07:06.6785776+08:00||;True|2024-11-16T13:14:33.8282571+08:00||;True|2024-11-16T13:14:09.9233077+08:00||;True|2024-11-16T12:49:45.5891890+08:00||;True|2024-11-16T12:19:05.5997384+08:00||;True|2024-11-16T11:49:43.2660430+08:00||;True|2024-11-16T11:49:12.7318514+08:00||;True|2024-11-16T11:43:41.8128931+08:00||;True|2024-11-16T10:39:25.1387254+08:00||;True|2024-11-16T10:24:19.4879139+08:00||;True|2024-11-15T17:47:10.4630939+08:00||;True|2024-11-15T17:42:25.6985733+08:00||;True|2024-11-15T17:39:43.9409305+08:00||;True|2024-11-15T17:26:18.2886475+08:00||;True|2024-11-15T17:23:05.3112513+08:00||;True|2024-11-15T17:16:40.2960771+08:00||;True|2024-11-15T17:14:12.3416383+08:00||;True|2024-11-15T17:09:43.2642034+08:00||;True|2024-11-15T17:05:04.4694932+08:00||;False|2024-11-15T17:04:34.2335564+08:00||;False|2024-11-15T17:04:12.5281280+08:00||;True|2024-11-15T17:01:49.4325408+08:00||;False|2024-11-15T17:01:29.1872712+08:00||;True|2024-11-15T16:00:18.8617729+08:00||;True|2024-11-15T15:56:13.9285180+08:00||;True|2024-11-15T15:50:53.6121456+08:00||;True|2024-11-15T15:17:41.0508047+08:00||;True|2024-11-15T13:50:06.8021767+08:00||;True|2024-11-15T13:17:48.2695650+08:00||;True|2023-12-21T15:04:28.6290873+08:00||;True|2023-12-21T14:59:03.4454135+08:00||;True|2023-12-21T14:51:08.6690406+08:00||;True|2023-12-21T14:26:42.6801144+08:00||;False|2023-12-21T14:26:14.3256943+08:00||;True|2023-12-21T14:13:42.5511801+08:00||;True|2023-12-21T13:56:38.5871005+08:00||;True|2023-12-19T12:19:57.9900187+08:00||;True|2023-12-19T11:53:33.6930379+08:00||;True|2023-12-17T12:51:32.6510827+08:00||;False|2023-12-17T12:49:32.9022541+08:00||;
\ No newline at end of file