From f59f3b24814387573b5bca9a9b6c832a3720ee7e Mon Sep 17 00:00:00 2001
From: zhangchengsong <zhangchengsong@hnkhzn.com>
Date: 星期三, 22 四月 2026 17:46:35 +0800
Subject: [PATCH] 最新
---
项目代码/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 205 ++++++++++++++++++++++++++++++++++++--------------
1 files changed, 147 insertions(+), 58 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index bc2ae13..ccd6893 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -56,6 +56,7 @@
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Model.Models.System;
using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_TaskInfoRepository;
@@ -129,11 +130,7 @@
//鍚屾缁欎笂娓稿弽棣堜换鍔″畬鎴�
Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
- if (command.status != "success")
- {
- WriteLog.Write_Log("璋冨彇涓婃父杩斿洖澶辫触", "瀹屾垚鍫嗗灈鏈轰换鍔″け璐�", $"鏉$爜:銆恵task.PalletCode}銆�,浠诲姟鍙凤細銆恵task.TaskNum}銆�");
- return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
- }
+ if (command.status != "success")return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
}
task.ModifyDate = DateTime.Now;
BaseDal.DeleteData(task);
@@ -150,11 +147,7 @@
{
Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
- if (command.status != "success")
- {
- WriteLog.Write_Log("璋冨彇涓婃父杩斿洖澶辫触", "瀹屾垚鍫嗗灈鏈轰换鍔″け璐�", $"鏉$爜:銆恵task.PalletCode}銆�,浠诲姟鍙凤細銆恵task.TaskNum}銆�");
- return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
- }
+ if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
}
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
@@ -167,22 +160,17 @@
task.TaskState = (int)TaskinventoryStatusEnum.inventoryFinish;
BaseDal.UpdateData(task);
string Result = WMSTaskStatusEnum.insuccess.GetDescription();
-
if (task.Creater.Equals("WMS"))
{
Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
- if (command.status != "success")
- {
- WriteLog.Write_Log("璋冨彇涓婃父杩斿洖澶辫触", "瀹屾垚鍫嗗灈鏈轰换鍔″け璐�", $"鏉$爜:銆恵task.PalletCode}銆�,浠诲姟鍙凤細銆恵task.TaskNum}銆�");
- return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
- }
+ if (command.status != "success")return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
}
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
BaseDal.DeleteData(task);
_task_HtyService.AddTaskHty(task);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍏ュ簱瀹屾垚");
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鐩樼偣瀹屾垚");
}
else
{
@@ -483,12 +471,12 @@
/// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄锛屽彲鑳戒负null</returns>
public List<Dt_Task> QueryStackerCraneTask(string deviceNo, string currentAddress = "")
{
- return BaseDal.QueryData(x => x.Roadway == deviceNo && (x.TaskState == (int)TaskInStatusEnum.InNew || x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+ return BaseDal.QueryData(x => x.Roadway == deviceNo && (x.TaskState == (int)TaskInStatusEnum.InNew || x.TaskState == (int)TaskOutStatusEnum.OutNew || x.TaskState == (int)TaskinventoryStatusEnum.inventoryNew), TaskOrderBy);
}
public Dt_Task CutStackerCraneTask(string deviceNo)
{
- Dt_Task dt_Task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && (x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting));
+ Dt_Task dt_Task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && (x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting || x.TaskState == (int)TaskinventoryStatusEnum.SC_inventoryExecuting));
return dt_Task;
}
/// <summary>
@@ -502,35 +490,21 @@
try
{
Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
- if (task != null)
+ if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
+ string Result = task.TaskType == 200 || task.TaskType == 300 ? WMSTaskStatusEnum.inerror.GetDescription(): WMSTaskStatusEnum.outerror.GetDescription();
+ if (task.Creater.Equals("WMS"))
{
- //涓婃姤鍏ュ簱浠诲姟寮傚父
- if (task.TaskType == (int)TaskTypeEnum.Inbound)
- {
- string Result = WMSTaskStatusEnum.inerror.GetDescription();
- if (task.Creater.Equals("WMS"))
- {
- Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
- CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
- if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屼换鍔″彇娑堝け璐ワ紝鏉$爜锛歿task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
- }
- BaseDal.DeleteData(task);
- task.ModifyDate = DateTime.Now;
- task.Modifier = App.User?.UserName;
- task.Remark = "浜哄伐鎵嬪姩鍙栨秷";
- BaseDal.DeleteData(task);
- _task_HtyService.AddTaskHty(task);
- content.Status = true;
- }
- else
- {
- return WebResponseContent.Instance.Error($"鍙栨秷澶辫触,鍙兘鍙栨秷鍏ュ簱浠诲姟");
- }
+ Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
+ CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
+ if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屼换鍔″彇娑堝け璐ワ紝鏉$爜锛歿task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
}
- else
- {
- return WebResponseContent.Instance.Error($"鍙栨秷澶辫触,璇ヤ换鍔°�恵taskNum}銆戜笉瀛樺湪");
- }
+ BaseDal.DeleteData(task);
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = App.User?.UserName;
+ task.Remark = "浜哄伐鎵嬪姩鍙栨秷";
+ BaseDal.DeleteData(task);
+ _task_HtyService.AddTaskHty(task);
+ content.Status = true;
return content;
}
catch (Exception e)
@@ -560,7 +534,7 @@
CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
}
- task.ModifyDate = DateTime.Now;
+ task.ModifyDate = DateTime.Now;
task.Modifier = App.User?.UserName;
task.Remark = "浜哄伐鎵嬪姩瀹屾垚";
BaseDal.DeleteData(task);
@@ -576,7 +550,8 @@
CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
}
- task.ModifyDate = DateTime.Now;
+
+ task.ModifyDate = DateTime.Now;
task.Modifier = App.User?.UserName;
task.Remark = "浜哄伐鎵嬪姩瀹屾垚";
BaseDal.DeleteData(task);
@@ -584,20 +559,21 @@
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鎵嬪姩鍏ュ簱瀹屾垚");
}
else if (task.TaskType == (int)TaskTypeEnum.Inventorybound)
- {;
+ {
string Result = WMSTaskStatusEnum.insuccess.GetDescription();
if (task.Creater.Equals("WMS"))
{
Dt_roadwayinfo roadwayinfo = _Dt_roadwayinfoService.GetRoadwayinfo(task.Roadway);
CommandResult command = taskreturn(int.Parse(task.WMStaskid), Result, roadwayinfo.WarehouseInvType, "");
if (command.status != "success") return content.Error($"璋冨彇涓婃父杩斿洖澶辫触锛屽畬鎴愬爢鍨涙満浠诲姟澶辫触锛屾潯鐮侊細{task.PalletCode},浠诲姟鍙凤細{task.TaskNum}");
+
}
task.ModifyDate = DateTime.Now;
task.Modifier = App.User?.UserName;
task.Remark = "浜哄伐鎵嬪姩瀹屾垚";
BaseDal.DeleteData(task);
_task_HtyService.AddTaskHty(task);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鎵嬪姩鍏ュ簱瀹屾垚");
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鎵嬪姩鐩樼偣瀹屾垚");
}
else
{
@@ -634,8 +610,9 @@
}
// 鍒ゆ柇鍦板潃鏄惁灞炰簬褰撳墠璁惧搴�
- if (transfer.SourceAddress.Contains(device.DeviceCode) && transfer.TargetAddress.Contains(device.DeviceCode))
+ if ((transfer.TaskType == 300 || transfer.SourceAddress.Contains(device.DeviceCode) ) && transfer.TargetAddress.Contains(device.DeviceCode))
{
+
// 鍏ュ簱
if (transfer.TaskType == 200)
{
@@ -644,6 +621,7 @@
{
content.Error($"鎵嬪姩鍒涘缓浠诲姟澶辫触,鍘熷洜:{device.DeviceCode}搴撲笉瀛樺湪杩欎釜搴撳彛锛歿transfer.SourceAddress}");
WriteLog.Write_Log("鎵嬪姩浠诲姟鍒涘缓澶辫触", "鍒涘缓澶辫触", $"鎵樼洏缂栧彿锛歿transfer.PalletCode}锛屼换鍔$被鍨嬶細{transfer.TaskType},璧峰鍦板潃锛歿transfer.SourceAddress}锛岀洰鏍囧湴鍧�锛歿transfer.TargetAddress}");
+
}
else
{
@@ -659,8 +637,8 @@
_unitOfWorkManage.BeginTran();
BaseDal.AddData(transfer);
_unitOfWorkManage.CommitTran();
- content.OK("鎵嬪姩浠诲姟鍒涘缓鎴愬姛锛�");
- WriteLog.Write_Log("鎵嬪姩浠诲姟鍒涘缓鎴愬姛", "鍒涘缓鎴愬姛", $"鎵樼洏缂栧彿锛歿transfer.PalletCode}锛屼换鍔$被鍨嬶細{transfer.TaskType},璧峰鍦板潃锛歿transfer.SourceAddress}锛岀洰鏍囧湴鍧�锛歿transfer.TargetAddress}");
+ content.OK("鎵嬪姩鍏ュ簱浠诲姟鍒涘缓鎴愬姛锛�");
+ WriteLog.Write_Log("鎵嬪姩浠诲姟鍒涘缓鎴愬姛", "鍒涘缓鎴愬姛", $"锛屼换鍔$被鍨嬶細銆愬叆搴撱�戯紝浠诲姟鍙凤細銆恵transfer.TaskNum}銆戞墭鐩樼紪鍙凤細銆恵transfer.PalletCode}銆�,璧峰鍦板潃锛氥�恵transfer.SourceAddress}銆戯紝鐩爣鍦板潃锛氥�恵transfer.TargetAddress}銆�");
}
return content;
@@ -687,18 +665,35 @@
_unitOfWorkManage.BeginTran();
BaseDal.AddData(transfer);
_unitOfWorkManage.CommitTran();
- content.OK("鎵嬪姩浠诲姟鍒涘缓鎴愬姛锛�");
- WriteLog.Write_Log("鎵嬪姩浠诲姟鍒涘缓鎴愬姛", "鍒涘缓鎴愬姛", $"鎵樼洏缂栧彿锛歿transfer.PalletCode}锛屼换鍔$被鍨嬶細{transfer.TaskType},璧峰鍦板潃锛歿transfer.SourceAddress}锛岀洰鏍囧湴鍧�锛歿transfer.TargetAddress}");
+ content.OK("鎵嬪姩鍑哄簱浠诲姟鍒涘缓鎴愬姛锛�");
+ WriteLog.Write_Log("鎵嬪姩浠诲姟鍒涘缓鎴愬姛", "鍒涘缓鎴愬姛", $"浠诲姟绫诲瀷锛氥�愬嚭搴撱��,浠诲姟鍙凤細銆恵transfer.TaskNum}銆戞墭鐩樼紪鍙凤細銆恵transfer.PalletCode}銆戯紝,璧峰鍦板潃锛氥�恵transfer.SourceAddress}銆戯紝鐩爣鍦板潃锛氥�恵transfer.TargetAddress}銆�");
}
return content;
+ }
+ else if (transfer.TaskType == 300)
+ {
+ // 姝e父鍒涘缓浠诲姟
+ transfer.TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
+ transfer.TaskState = 300;
+ transfer.CurrentAddress = transfer.SourceAddress;
+ transfer.NextAddress = transfer.TargetAddress;
+ transfer.Roadway = device.DeviceCode;
+ transfer.Creater = "WCS";
+ transfer.Grade = 1;
+ transfer.CreateDate = DateTime.Now;
+ _unitOfWorkManage.BeginTran();
+ BaseDal.AddData(transfer);
+ _unitOfWorkManage.CommitTran();
+ content.OK("鎵嬪姩鐩樼偣浠诲姟鍒涘缓鎴愬姛锛�");
+ WriteLog.Write_Log("鎵嬪姩浠诲姟鍒涘缓鎴愬姛", "鍒涘缓鎴愬姛", $"锛屼换鍔$被鍨嬶細銆愮洏鐐广�戯紝浠诲姟鍙凤細銆恵transfer.TaskNum}銆戯紝鎵樼洏缂栧彿锛氥�恵transfer.PalletCode}銆戯紝鐩爣鍦板潃锛氥�恵transfer.TargetAddress}銆�");
+
+ return content;
}
-
-
}
else
{
content.Error($"鎵嬪姩鍒涘缓浠诲姟澶辫触,鍘熷洜:{device.DeviceCode}搴撳湴鍧�涓嶅尮閰�,璧峰鍦板潃锛歿transfer.SourceAddress}锛岀洰鏍囧湴鍧�锛歿transfer.TargetAddress}");
- WriteLog.Write_Log("鎵嬪姩浠诲姟鍒涘缓澶辫触", "鍒涘缓澶辫触", $"鎵樼洏缂栧彿锛歿transfer.PalletCode}锛屼换鍔$被鍨嬶細{transfer.TaskType},璧峰鍦板潃锛歿transfer.SourceAddress}锛岀洰鏍囧湴鍧�锛歿transfer.TargetAddress}");
+ WriteLog.Write_Log("鎵嬪姩浠诲姟鍒涘缓澶辫触", "鍒涘缓澶辫触",$"浠诲姟鍙凤細銆恵transfer.TaskNum}銆戯紝鎵樼洏缂栧彿锛氥�恵transfer.PalletCode}銆戯紝鐩爣鍦板潃锛氥�恵transfer.TargetAddress}銆�");
}
}
catch (Exception ex)
@@ -754,5 +749,99 @@
}
return content;
}
+ ///
+
+ //agv杩涘嚭鐘舵�佸弽棣�
+ public WebResponseContent getManuaAGVStatus(AgvUpdateRequest agvUpdateRequest)
+ {
+ //鑾峰彇WMS璋冨彇鐨勫弬鏁�
+ WriteLog.Write_Log("鎵嬪姩agv杩涘嚭鐘舵�佸弽棣堟帴鍙�", "鎵嬪姩agv杩涘嚭鐘舵�佷俊鎭�", $"搴撳彛鍚嶇О锛氥�恵agvUpdateRequest.warehousenumber}銆戯紝鐢宠鐘舵�侊細銆恵agvUpdateRequest.agvstatus}銆�");
+
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ string DeciceCodes = "1003";
+ if (agvUpdateRequest.warehousenumber.StartsWith("C")) DeciceCodes = "1004";
+
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeciceCodes);
+ if (device == null) return content.Error("WCS鏈兘鑾峰彇鍒板簱鍙e疄渚�");
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+
+ //鏄惁鍙繘鍑�
+ DeviceProDTO? HandShake = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == agvUpdateRequest.warehousenumber && x.DeviceProParamName == "HandShake");
+ if (HandShake == null) return content.Error($"WCS鏈壘鍒板簱鍙o細{agvUpdateRequest.warehousenumber},瀵瑰簲鐨勫崗璁�");
+ DeviceProDTO? Request = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == agvUpdateRequest.warehousenumber && x.DeviceProParamName == "Request");
+
+ if (agvUpdateRequest.agvstatus == 1)
+ {
+ bool HandShakebool = conveyorLine.Communicator.Write<short>(HandShake.DeviceProAddress, 1);
+ if (HandShakebool)
+ {
+ if (Request != null)
+ {
+ conveyorLine.Communicator.Write<short>(Request.DeviceProAddress, 1);
+ }
+ //鏄惁鍙繘鍑� 1鍏佽鍙� 2鍏佽鏀�
+ DeviceProDTO? deviceProDTO = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == agvUpdateRequest.warehousenumber && x.DeviceProParamName == "PermitHandShake");
+ //鏄惁鏈夎揣
+ DeviceProDTO? StationNumProDTO = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == agvUpdateRequest.warehousenumber && x.DeviceProParamName == "StationNum");
+ if (deviceProDTO == null || StationNumProDTO == null) return content.Error($"WCS鏈壘鍒板簱鍙o細{agvUpdateRequest.warehousenumber},瀵瑰簲鐨勫崗璁�");
+ int statusValue = 0;
+ int portStatus = conveyorLine.Communicator.Read<ushort>(deviceProDTO.DeviceProAddress);
+ int StationStatus = conveyorLine.Communicator.Read<ushort>(StationNumProDTO.DeviceProAddress);
+
+ //鏈夎揣锛屽彲杩涗俊鍙�
+ statusValue = ((portStatus == 1 && StationStatus == 1) || (portStatus == 2 && StationStatus == 0)) ? 1 : (portStatus == 0) ? 0 : 0;
+ if (agvUpdateRequest.warehousenumber == "G01" || agvUpdateRequest.warehousenumber == "G06" || agvUpdateRequest.warehousenumber == "G07")
+ {
+ if (statusValue == 1)
+ {
+ return content.OK("鐢宠杩涘叆鎴愬姛");
+
+ }
+ else
+ {
+ conveyorLine.Communicator.Write<short>(Request.DeviceProAddress, 0);
+ return content.Error("璇诲彇plc涓嶅彲杩涘叆淇℃伅");
+ }
+ }
+ else
+ {
+ return content.OK("鐢宠杩涘叆鎴愬姛");
+ }
+ }
+ else
+ {
+ return content.Error("鍐欏叆plc杩涘叆淇″彿澶辫触");
+ }
+ }
+ else if (agvUpdateRequest.agvstatus == 2)
+ {
+ //鍐欏叆杈撻�佺嚎淇″彿
+ bool portStatus = conveyorLine.Communicator.Write<short>(HandShake.DeviceProAddress, 0);
+ if (portStatus)
+ {
+ if (Request != null)
+ {
+ conveyorLine.Communicator.Write<short>(Request.DeviceProAddress, 0);
+ }
+ return content.OK("鐢宠閫�鍑烘垚鍔�");
+ }
+ else
+ {
+ return content.Error("鍐欏叆plc娓呴櫎淇″彿澶辫触");
+ }
+ }
+ else
+ {
+ return content.Error($"agv瀵瑰簲鐨勭敵璇烽敊璇紝瀛楁锛歛gvstatus锛岀敵璇风殑鍊硷細{agvUpdateRequest.agvstatus}");
+ }
+
+ }
+ catch (Exception ex)
+ {
+ return content.Error($"WCS浠诲姟娣诲姞閿欒锛屽師鍥狅細{ex.Message}");
+ }
+ }
}
}
--
Gitblit v1.9.3