diff --git a/WcsMain/ApiServe/Controllers/Dto/WcsDto/ElTag/AddTaskInfoRequest.cs b/WcsMain/ApiServe/Controllers/Dto/WcsDto/ElTag/AddTaskInfoRequest.cs
new file mode 100644
index 0000000..73ec728
--- /dev/null
+++ b/WcsMain/ApiServe/Controllers/Dto/WcsDto/ElTag/AddTaskInfoRequest.cs
@@ -0,0 +1,83 @@
+using DataCheck;
+using System.Text.Json.Serialization;
+
+namespace WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
+
+public class AddTaskInfoRequest
+{
+ ///
+ /// 任务号
+ ///
+ [JsonPropertyName("taskId")]
+ public string? TaskId { get; set; }
+
+ ///
+ /// 任务组
+ ///
+ [JsonPropertyName("taskGroup")]
+ public string? TaskGroup { get; set; }
+
+ ///
+ /// 点位
+ ///
+ [DataRules]
+ [JsonPropertyName("location")]
+ public string? Location { get; set; }
+
+ ///
+ /// 订单号
+ ///
+ [JsonPropertyName("orderId")]
+ public string? OrderId { get; set; }
+
+ ///
+ /// 载具号
+ ///
+ [JsonPropertyName("vehicleNo")]
+ public string? VehicleNo { get; set; }
+
+ ///
+ /// 物料编号
+ ///
+ [JsonPropertyName("goodsId")]
+ public string? GoodsId { get; set; }
+
+ ///
+ /// 物料名称
+ ///
+ [JsonPropertyName("goodsName")]
+ public string? GoodsName { get; set; }
+
+ ///
+ /// 任务状态
+ ///
+ [JsonPropertyName("taskStatus")]
+ public int? TaskStatus { get; set; }
+
+ ///
+ /// 需求数量
+ ///
+ [DataRules]
+ [JsonPropertyName("needNum")]
+ public int? NeedNum { get; set; }
+
+ ///
+ /// 拣选数量
+ ///
+ [JsonPropertyName("pickNum")]
+ public int? PickNum { get; set; }
+
+
+ ///
+ /// 创建人
+ ///
+ [JsonPropertyName("createPerson")]
+ public string? CreatePerson { get; set; }
+
+
+ ///
+ /// 备注
+ ///
+ [JsonPropertyName("remark")]
+ public string? Remark { get; set; }
+}
diff --git a/WcsMain/ApiServe/Controllers/WcsController/ElTagController.cs b/WcsMain/ApiServe/Controllers/WcsController/ElTagController.cs
index 46f4d36..f8d4df1 100644
--- a/WcsMain/ApiServe/Controllers/WcsController/ElTagController.cs
+++ b/WcsMain/ApiServe/Controllers/WcsController/ElTagController.cs
@@ -56,5 +56,17 @@ public class ElTagController(ElTagService elTagService) : ControllerBase
}
+ ///
+ /// 添加一个电子标签任务信息
+ ///
+ ///
+ ///
+ [HttpPost("addTask")]
+ public WcsApiResponse AddTaskInfo([FromBody] AddTaskInfoRequest request)
+ {
+ return _elTagService.AddTaskInfo(request);
+ }
+
+
}
diff --git a/WcsMain/ApiServe/Service/WcsService/ElTagService.cs b/WcsMain/ApiServe/Service/WcsService/ElTagService.cs
index f002060..13d2992 100644
--- a/WcsMain/ApiServe/Service/WcsService/ElTagService.cs
+++ b/WcsMain/ApiServe/Service/WcsService/ElTagService.cs
@@ -1,16 +1,19 @@
-using WcsMain.ApiServe.Controllers.Dto;
+using DataCheck;
+using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
using WcsMain.ApiServe.Factory;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
+using WcsMain.DataService;
+using WcsMain.Enum.TaskEnum;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.ApiServe.Service.WcsService;
[Service]
-public class ElTagService(AppElTagTaskDao tagTaskDao)
+public class ElTagService(AppElTagTaskDao tagTaskDao, DataBaseData dataBaseData)
{
-
+ private readonly DataBaseData _dataBaseData = dataBaseData;
private readonly AppElTagTaskDao _tagTaskDao = tagTaskDao;
///
@@ -54,4 +57,33 @@ public class ElTagService(AppElTagTaskDao tagTaskDao)
return updateResult > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr();
}
+ ///
+ /// 添加电子标签任务
+ ///
+ ///
+ ///
+ public WcsApiResponse AddTaskInfo(AddTaskInfoRequest request)
+ {
+ if (!CheckData.CheckDataRules(request)) return WcsApiResponseFactory.RequestErr();
+ if(string.IsNullOrEmpty(request.TaskId)) request.TaskId = _dataBaseData.GetNewUUID();
+ if(string.IsNullOrEmpty(request.TaskGroup)) request.TaskGroup = _dataBaseData.GetNewUUID2();
+ var insertResult = _tagTaskDao.Insert(new AppElTagTask
+ {
+ TaskId = request.TaskId,
+ TaskGroup = request.TaskGroup,
+ Location = request.Location,
+ OrderId = request.OrderId,
+ VehicleNo = request.VehicleNo,
+ GoodsId = request.GoodsId,
+ GoodsName = request.GoodsName,
+ TaskStatus = (int)ElTagTaskStatusEnum.NeedLight,
+ NeedNum = request.NeedNum,
+ CreatePerson = StaticData.StaticString.WCS,
+ CreateTime = DateTime.Now
+ });
+ return insertResult > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr();
+
+
+ }
+
}
diff --git a/WcsMain/Business/CirculationTask/ElTag/OffElTag.cs b/WcsMain/Business/CirculationTask/ElTag/OffElTag.cs
new file mode 100644
index 0000000..6f0cb66
--- /dev/null
+++ b/WcsMain/Business/CirculationTask/ElTag/OffElTag.cs
@@ -0,0 +1,91 @@
+using CirculateTool;
+using WcsMain.Common;
+using WcsMain.DataBase.Dao;
+using WcsMain.DataBase.TableEntity;
+using WcsMain.ElTag.Atop.Entity;
+using WcsMain.Enum.TaskEnum;
+using WcsMain.EquipOperation.ElTag;
+
+namespace WcsMain.Business.CirculationTask.ElTag;
+
+/*************************
+ * 当某个任务组的全部任务都确认之后熄灭所有电子标签
+ *
+ *
+ * *******************/
+
+
+///
+/// 熄灭电子标签
+///
+[Circulation]
+public class OffElTag(AppElTagTaskDao tagTaskDao, AtopOperation atopOperation)
+{
+ private readonly AppElTagTaskDao _tagTaskDao = tagTaskDao;
+ private readonly AtopOperation _atopOperation = atopOperation;
+
+
+
+ ///
+ /// 检验任务组内任务是否全部确认,若全部确认则熄灭所有标签
+ ///
+ ///
+ [Circulation("检验任务组内任务是否全部确认", 1000)]
+ public bool CheckTaskIsConfirmAll()
+ {
+ /* 查询已经确认的任务的任务组 */
+ List? tasks = _tagTaskDao.QueryRunningTask();
+ if (tasks == default)
+ {
+ ConsoleLog.Exception("【异常】查询 电子标签 任务失败,数据库连接异常");
+ Thread.Sleep(5000);
+ return true;
+ }
+ CheckTaskIsConfirmAllMethod(tasks);
+ return true;
+ }
+
+ ///
+ /// 检验任务组内任务是否全部确认,若全部确认则熄灭所有标签
+ ///
+ ///
+ public void CheckTaskIsConfirmAllMethod(List tasks)
+ {
+ if (tasks.Count == 0) return;
+ List taskGroups = [];
+ foreach (var task in tasks)
+ {
+ if (taskGroups.Contains(task.TaskGroup)) continue;
+ taskGroups.Add(task.TaskGroup);
+ }
+ List offTasks = []; // 需要熄灭的任务
+ foreach (var taskGroup in taskGroups)
+ {
+ /* 检查其是否还有未确认的标签,若没有未确认的则关闭这些标签 */
+ var groupTasks = tasks.FindAll(f => f.TaskGroup == taskGroup);
+ bool isHaveLightingTask = groupTasks.Exists(e => e.TaskStatus == (int)ElTagTaskStatusEnum.Lighting);
+ if (isHaveLightingTask) continue;
+ // 没有点亮的标签了
+ ConsoleLog.Info($"电子标签任务组:{taskGroup} 全部确认,熄灭标签");
+ foreach (var groupTask in groupTasks)
+ {
+ var tagInfo = CommonData.AppElTags.Find(f => f.Location == groupTask.Location);
+ if (tagInfo == default) continue;
+ var sendResult = CommonTool.OprTcpClient.Send(TagSendInfo.TurnOffTag(Convert.ToByte(tagInfo.TagId)), tagInfo.ControllerDisplayName!);
+ if (!sendResult.Success) continue; // 没有发送电子标签成功
+ offTasks.Add(new AppElTagTask { TaskId = groupTask.TaskId, TaskStatus = (int)ElTagTaskStatusEnum.Off, OffTime = DateTime.Now });
+ }
+ }
+ if (offTasks.Count < 1) return;
+ _tagTaskDao.Update([.. offTasks]); // 更新状态为熄灭
+ }
+
+
+
+
+
+
+
+
+
+}
diff --git a/WcsMain/ConsoleLog.cs b/WcsMain/ConsoleLog.cs
index 01da51c..320dd48 100644
--- a/WcsMain/ConsoleLog.cs
+++ b/WcsMain/ConsoleLog.cs
@@ -36,7 +36,7 @@ public class ConsoleLog
}
lock (_locker)
{
- Console.ForegroundColor = ConsoleColor.Magenta;
+ Console.ForegroundColor = ConsoleColor.DarkCyan;
Console.Write(stringBuilder.ToString());
WcsLog.Instance().WriteEventLog(stringBuilder);
}
diff --git a/WcsMain/DataBase/Dao/AppElTagTaskDao.cs b/WcsMain/DataBase/Dao/AppElTagTaskDao.cs
index a3e9c13..b72cdd8 100644
--- a/WcsMain/DataBase/Dao/AppElTagTaskDao.cs
+++ b/WcsMain/DataBase/Dao/AppElTagTaskDao.cs
@@ -1,6 +1,7 @@
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
using WcsMain.Common;
using WcsMain.DataBase.TableEntity;
+using WcsMain.Enum.TaskEnum;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.DataBase.Dao;
@@ -20,6 +21,7 @@ public class AppElTagTaskDao
{
var sqlFuc = CommonTool.DbServe.Queryable()
.WhereIF(queryData.TaskId != default, w => w.TaskId == queryData.TaskId)
+ .WhereIF(queryData.TaskGroup != default, w => w.TaskGroup == queryData.TaskGroup)
.WhereIF(queryData.Location != default, w => w.Location == queryData.Location)
.WhereIF(queryData.OrderId != default, w => w.OrderId == queryData.OrderId)
.WhereIF(queryData.VehicleNo != default, w => w.VehicleNo == queryData.VehicleNo)
@@ -49,13 +51,32 @@ public class AppElTagTaskDao
///
/// 根据主键更新
///
- ///
+ ///
///
- public int Update(AppElTagTask updateData)
+ public int Update(params AppElTagTask[] updateDatas)
{
try
{
- var sqlFuc = CommonTool.DbServe.Updateable(updateData).IgnoreColumns(ignoreAllNullColumns: true);
+ var sqlFuc = CommonTool.DbServe.Updateable(updateDatas).IgnoreColumns(ignoreAllNullColumns: true);
+ return sqlFuc.ExecuteCommand();
+ }
+ catch (Exception ex)
+ {
+ _ = ex;
+ return 0;
+ }
+ }
+
+ ///
+ /// 添加数据
+ ///
+ ///
+ ///
+ public int Insert(params AppElTagTask[] updateDatas)
+ {
+ try
+ {
+ var sqlFuc = CommonTool.DbServe.Insertable(updateDatas);
return sqlFuc.ExecuteCommand();
}
catch (Exception ex)
@@ -82,6 +103,7 @@ public class AppElTagTaskDao
var sqlFuc = CommonTool.DbServe.Queryable()
.WhereIF(!string.IsNullOrEmpty(request.SearchStr),
w => w.TaskId!.Contains(request.SearchStr!)
+ || w.TaskGroup!.Contains(request.SearchStr!)
|| w.Location!.Contains(request.SearchStr!)
|| w.VehicleNo!.Contains(request.SearchStr!)
|| w.GoodsId!.Contains(request.SearchStr!)
@@ -109,8 +131,24 @@ public class AppElTagTaskDao
-
-
+ ///
+ /// 查询正在运行的电子标签任务 ---- 点亮中和已确认
+ ///
+ ///
+ public List? QueryRunningTask()
+ {
+ try
+ {
+ var sqlFuc = CommonTool.DbServe.Queryable()
+ .Where(w => w.TaskStatus == (int)ElTagTaskStatusEnum.Lighting || w.TaskStatus == (int)ElTagTaskStatusEnum.Confirm);
+ return sqlFuc.ToList();
+ }
+ catch (Exception ex)
+ {
+ _ = ex;
+ return default;
+ }
+ }
}
diff --git a/WcsMain/DataBase/TableEntity/AppElTagTask.cs b/WcsMain/DataBase/TableEntity/AppElTagTask.cs
index 8ad256e..1b62361 100644
--- a/WcsMain/DataBase/TableEntity/AppElTagTask.cs
+++ b/WcsMain/DataBase/TableEntity/AppElTagTask.cs
@@ -13,6 +13,13 @@ public class AppElTagTask
[JsonPropertyName("taskId")]
public string? TaskId { get; set; }
+ ///
+ /// 任务组
+ ///
+ [SugarColumn(ColumnName = "task_group")]
+ [JsonPropertyName("taskGroup")]
+ public string? TaskGroup { get; set; }
+
///
/// 点位
///
@@ -98,6 +105,13 @@ public class AppElTagTask
[JsonPropertyName("confirmTime")]
public DateTime? ConfirmTime { get; set;}
+ ///
+ /// 熄灭时间
+ ///
+ [SugarColumn(ColumnName = "off_time")]
+ [JsonPropertyName("offTime")]
+ public DateTime? OffTime { get; set; }
+
///
/// 备注
///
diff --git a/WcsMain/DataService/DataBaseData.cs b/WcsMain/DataService/DataBaseData.cs
index 6c6b9ba..eb88f11 100644
--- a/WcsMain/DataService/DataBaseData.cs
+++ b/WcsMain/DataService/DataBaseData.cs
@@ -70,7 +70,7 @@ public class DataBaseData(AppSettingsDao settingsDao)
return ints.First();
}
-
+ #region 返回一个 UUID,以时间 yyyyMMdd 形式
private static readonly object getNewUUIDLock = new();
private string lastUUID = string.Empty;
@@ -113,4 +113,59 @@ public class DataBaseData(AppSettingsDao settingsDao)
}
}
}
+
+
+ #endregion
+
+
+ #region 返回一个 UUID,以时间戳形式
+
+ private static readonly object getNewUUIDLock2 = new();
+ private string lastUUID2 = string.Empty;
+ private string lasTimeTick2 = DateTime.Now.ToString("yyyyMMddHHmmssfff");
+ private ushort sortUUID2 = 0;
+ ///
+ /// 返回一个唯一识别号 以时间戳为基础
+ ///
+ ///
+ ///
+ /// 这方法产生的ID会短一点,但是单位时间内产生的数量较少
+ ///
+ public string GetNewUUID2()
+ {
+ lock (getNewUUIDLock2)
+ {
+ while (true)
+ {
+ string? wcsId = CommonData.AppConfig.WcsId;
+ if (string.IsNullOrEmpty(wcsId))
+ {
+ wcsId = "0";
+ }
+ string timeTick = DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString();
+ if (timeTick != lasTimeTick2)
+ {
+ lasTimeTick2 = timeTick;
+ sortUUID2 = 0;
+ }
+ string idNo = wcsId.PadLeft(3, '0');
+ string sort = sortUUID2.ToString().PadLeft(3, '0');
+ string newUUID = $"{timeTick}{idNo}{sort}";
+ sortUUID2++;
+ if (sortUUID2 > 900)
+ {
+ sortUUID2 = 0;
+ }
+ if (newUUID != lastUUID2)
+ {
+ lastUUID2 = newUUID;
+ return newUUID;
+ }
+ }
+ }
+ }
+
+ #endregion
+
+
}
\ No newline at end of file
diff --git a/WcsMain/ElTag/Atop/BaseOprDataHandler.cs b/WcsMain/ElTag/Atop/BaseOprDataHandler.cs
index 932463c..a28aef7 100644
--- a/WcsMain/ElTag/Atop/BaseOprDataHandler.cs
+++ b/WcsMain/ElTag/Atop/BaseOprDataHandler.cs
@@ -58,6 +58,7 @@ public class BaseOprDataHandler(AppElTagBaseDao tagBaseDao, AppElTagTaskDao tagT
///
public void Confirm(TagReturnInfo tcpServe)
{
+ _atopOperation.ShowMsgOnly(tcpServe.ControllerDisplayName, tcpServe.TagId, tcpServe.Data); // 重新点亮标签,仅显示字符
/* 找出这个标签最新点亮的那条记录 */
List? eltags = _tagBaseDao.Query(new AppElTagBase { ControllerDisplayName = tcpServe.ControllerDisplayName, TagId = tcpServe.TagId });
if(eltags == default)
diff --git a/WcsMain/ElTag/Atop/Entity/TagSendInfo.cs b/WcsMain/ElTag/Atop/Entity/TagSendInfo.cs
index 433f674..6bbba47 100644
--- a/WcsMain/ElTag/Atop/Entity/TagSendInfo.cs
+++ b/WcsMain/ElTag/Atop/Entity/TagSendInfo.cs
@@ -9,7 +9,7 @@ namespace WcsMain.ElTag.Atop.Entity;
public class TagSendInfo
{
///
- /// 标签自检 ????
+ /// 标签自检
///
///
public static byte[] CheckAllTag()
@@ -128,6 +128,28 @@ public class TagSendInfo
return data;
}
+ ///
+ /// 使电子标签按钮按下后保持数字显示 ---- 需要手动熄灭
+ ///
+ ///
+ ///
+ ///
+ /// 该命令会导致按钮失效
+ ///
+ public static byte[] SetValueKeepAlive(byte tagId)
+ {
+ byte[] data = new byte[8];
+ data[0] = 8;
+ data[1] = 0;
+ data[2] = 0x60;
+
+ data[6] = 3;
+ data[7] = tagId;
+ return data;
+ }
+
+
+
///
/// 展示字符串
///
@@ -147,7 +169,7 @@ public class TagSendInfo
}
if(showStr!.Length < 6)
{
- showStr = showStr.PadLeft(6, '0');
+ showStr = showStr.PadLeft(6, ' ');
}
else
{
@@ -176,18 +198,14 @@ public class TagSendInfo
///
public static byte[] ShowValue(byte tagId, string? value)
{
- string showStr;
+ string showStr = value ?? "";
if (string.IsNullOrEmpty(value))
{
showStr = "ERR";
}
- else
- {
- showStr = value!.ToString()!;
- }
if (showStr!.Length < 6)
{
- showStr = showStr.PadLeft(6, '0');
+ showStr = showStr.PadLeft(6, ' ');
}
else
{
diff --git a/WcsMain/Enum/TaskEnum/ElTagTaskStatusEnum.cs b/WcsMain/Enum/TaskEnum/ElTagTaskStatusEnum.cs
index 773099f..d2971f5 100644
--- a/WcsMain/Enum/TaskEnum/ElTagTaskStatusEnum.cs
+++ b/WcsMain/Enum/TaskEnum/ElTagTaskStatusEnum.cs
@@ -6,8 +6,9 @@
public enum ElTagTaskStatusEnum
{
NeedLight = 0, // 待点亮
- Lighting = 1, // 点亮种
+ Lighting = 1, // 点亮中
Confirm = 2, // 已确认
+ Off = 3, // 已熄灭
Error = 9, // 发生异常
diff --git a/WcsMain/EquipOperation/ElTag/AtopOperation.cs b/WcsMain/EquipOperation/ElTag/AtopOperation.cs
index bd2de8b..7eb403b 100644
--- a/WcsMain/EquipOperation/ElTag/AtopOperation.cs
+++ b/WcsMain/EquipOperation/ElTag/AtopOperation.cs
@@ -21,9 +21,11 @@ public class AtopOperation
if (tagInfos == default) return;
/* 使标签闪烁一段时间,告知使用者电子标签已经连上 */
Thread.Sleep(5000);
+ int col = new Random().Next(0, 5);
foreach (var tagInfo in tagInfos)
{
- int col = new Random().Next(0, 6);
+ col++;
+ if (col >= 5) col = 0;
CommonTool.OprTcpClient.Send(TagSendInfo.ShowTagId(Convert.ToByte(tagInfo.TagId)), tagInfo.ControllerDisplayName!);
CommonTool.OprTcpClient.Send(TagSendInfo.LedColor(Convert.ToByte(tagInfo.TagId), (LedColor)col), tagInfo.ControllerDisplayName!); // 显示颜色
CommonTool.OprTcpClient.Send(TagSendInfo.LedStatus(Convert.ToByte(tagInfo.TagId), LedStatus._0_25secblinking), tagInfo.ControllerDisplayName!); // 显示闪烁频率
@@ -46,18 +48,8 @@ public class AtopOperation
///
///
public Exception? ShowMsg(string? controllerDisplayName, int? tagId, int? value, LedColor ledColor = LedColor.Green, LedStatus ledStatus = LedStatus._0_5secblinking)
- {
- if (controllerDisplayName == default || tagId == default || value == default)
- {
- return new Exception("必须的值为空,无法发送电子标签");
- }
- byte[] elTagData = TagSendInfo.ShowValue(Convert.ToByte(tagId), value);
- var sendResult = CommonTool.OprTcpClient.Send(elTagData, controllerDisplayName); // 显示字符
- CommonTool.OprTcpClient.Send(TagSendInfo.LedColor(Convert.ToByte(tagId), ledColor), controllerDisplayName); // 显示颜色
- CommonTool.OprTcpClient.Send(TagSendInfo.LedStatus(Convert.ToByte(tagId), ledStatus), controllerDisplayName); // 显示闪烁频率
- if (sendResult.Success) return default;
- return sendResult.Exception;
- }
+ => ShowMsg(controllerDisplayName, tagId, value.ToString(), ledColor, ledStatus);
+
///
@@ -77,12 +69,34 @@ public class AtopOperation
}
byte[] elTagData = TagSendInfo.ShowValue(Convert.ToByte(tagId), value);
var sendResult = CommonTool.OprTcpClient.Send(elTagData, controllerDisplayName); // 显示字符
+ //CommonTool.OprTcpClient.Send(TagSendInfo.SetValueKeepAlive(Convert.ToByte(tagId)), controllerDisplayName); // 使标签确认后仍然显示字符
CommonTool.OprTcpClient.Send(TagSendInfo.LedColor(Convert.ToByte(tagId), ledColor), controllerDisplayName); // 显示颜色
CommonTool.OprTcpClient.Send(TagSendInfo.LedStatus(Convert.ToByte(tagId), ledStatus), controllerDisplayName); // 显示闪烁频率
if (sendResult.Success) return default;
return sendResult.Exception;
}
+ ///
+ /// 仅显示数据,不亮灯
+ ///
+ ///
+ ///
+ ///
+ ///
+ public Exception? ShowMsgOnly(string? controllerDisplayName, int? tagId, string? value)
+ {
+ if (controllerDisplayName == default || tagId == default || value == default)
+ {
+ return new Exception("必须的值为空,无法发送电子标签");
+ }
+ byte[] elTagData = TagSendInfo.ShowValue(Convert.ToByte(tagId), value);
+ var sendResult = CommonTool.OprTcpClient.Send(elTagData, controllerDisplayName); // 显示字符
+ CommonTool.OprTcpClient.Send(TagSendInfo.SetValueKeepAlive(Convert.ToByte(tagId)), controllerDisplayName); // 使标签确认后仍然显示字符
+ CommonTool.OprTcpClient.Send(TagSendInfo.LedStatus(Convert.ToByte(tagId), LedStatus.LEDOff), controllerDisplayName); // 显示闪烁频率 -- 关闭按钮
+ if (sendResult.Success) return default;
+ return sendResult.Exception;
+ }
+
}
diff --git a/WcsMain/Properties/launchSettings.json b/WcsMain/Properties/launchSettings.json
index 2507863..bcadfed 100644
--- a/WcsMain/Properties/launchSettings.json
+++ b/WcsMain/Properties/launchSettings.json
@@ -14,7 +14,7 @@
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
- "applicationUrl": "http://localhost:18990",
+ "applicationUrl": "http://localhost:890",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}