From 17c97e7fb4f5c007887816168e89c107421e26c8 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期二, 17 三月 2026 16:19:27 +0800
Subject: [PATCH] 优化移库wms任务上报,优化前端
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs | 24 ++++++
代码管理/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs | 113 ++++++++++++++-------------
代码管理/WCS/WIDESEAWCS_Client/src/views/taskinfo/taskHty.vue | 47 ++++-------
代码管理/WCS/WIDESEAWCS_Client/src/views/basicinfo/rGVLocationInfo.vue | 19 ----
代码管理/WCS/WIDESEAWCS_Client/src/views/basicinfo/kLSLocationInfo.vue | 18 ----
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs | 5 +
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 6 +
9 files changed, 116 insertions(+), 120 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basicinfo/kLSLocationInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basicinfo/kLSLocationInfo.vue"
index 3ff576a..73cd0ee 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basicinfo/kLSLocationInfo.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basicinfo/kLSLocationInfo.vue"
@@ -195,13 +195,7 @@
[
{ title: "宸烽亾缂栧彿", field: "roadwayNo", type: "like" },
{ title: "璐т綅绫诲瀷", field: "locationType", type: "select",
- data: [
- { key: "0", value: "鏈畾涔�" },
- { key: "1", value: "灏忔墭鐩�" },
- { key: "2", value: "涓墭鐩�" },
- { key: "3", value: "澶ф墭鐩�" },
- { key: "4", value: "鐗瑰ぇ鎵樼洏" },
- ],
+ dataKey:"LocationTypeEnum",
},
{ title: "璐т綅鐘舵��", field: "locationStatus", type: "select",
data: [
@@ -303,15 +297,7 @@
type: "select",
width: 100,
align: "left",
- bind: {
- key: "value",
- data: [
- { key: "0", value: "鏈畾涔�" },
- { key: "1", value: "灏忔墭鐩�" },
- { key: "2", value: "涓墭鐩�" },
- { key: "3", value: "澶ф墭鐩�" },
- { key: "4", value: "鐗瑰ぇ鎵樼洏" },
- ],
+ bind: {key:"LocationTypeEnum",data:[]
},
},
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basicinfo/rGVLocationInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basicinfo/rGVLocationInfo.vue"
index dc1a417..0b13bc2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basicinfo/rGVLocationInfo.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/basicinfo/rGVLocationInfo.vue"
@@ -192,14 +192,7 @@
],
[
{ title: "宸烽亾缂栧彿", field: "roadwayNo", type: "like" },
- { title: "璐т綅绫诲瀷", field: "locationType", type: "select",
- data: [
- { key: "0", value: "鏈畾涔�" },
- { key: "1", value: "灏忔墭鐩�" },
- { key: "2", value: "涓墭鐩�" },
- { key: "3", value: "澶ф墭鐩�" },
- { key: "4", value: "鐗瑰ぇ鎵樼洏" },
- ],
+ { title: "璐т綅绫诲瀷", field: "locationType", type: "select",dataKey: "RGVLocationTypeEnum",data:[]
},
{ title: "璐т綅鐘舵��", field: "locationStatus", type: "select",
data: [
@@ -301,16 +294,8 @@
type: "select",
width: 100,
align: "left",
- bind: {
key: "value",
- data: [
- { key: "0", value: "鏈畾涔�" },
- { key: "1", value: "灏忔墭鐩�" },
- { key: "2", value: "涓墭鐩�" },
- { key: "3", value: "澶ф墭鐩�" },
- { key: "4", value: "鐗瑰ぇ鎵樼洏" },
- ],
- },
+ bind: { key: "RGVLocationTypeEnum", data: [] },
},
{
field: "locationStatus",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue"
index 2710da8..0f00bef 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue"
@@ -167,7 +167,7 @@
type: "string",
width: 90,
align: "left",
- hidden: true,
+ // hidden: true,
},
{
field: "grade",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/taskHty.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/taskHty.vue"
index 8ef2d01..29613b0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/taskHty.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/taskHty.vue"
@@ -68,7 +68,6 @@
{ title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "like" },
],
[
- { title: "宸烽亾鍙�", field: "roadway", type: "like" },
{
title: "浠诲姟绫诲瀷",
field: "taskType",
@@ -103,29 +102,6 @@
align: "left",
},
{
- field: "sourceId",
- title: "婧愪换鍔D",
- type: "int",
- width: 100,
- align: "left",
- hidden: false,
- },
- {
- field: "operateType",
- title: "鎿嶄綔绫诲瀷",
- type: "string",
- width: 100,
- align: "left",
- bind: { key: "OperateTypeEnum", data: [] },
- },
- {
- field: "insertTime",
- title: "鎻掑叆鏃堕棿",
- type: "datetime",
- width: 150,
- align: "left",
- },
- {
field: "taskNum",
title: "浠诲姟鍙�",
type: "int",
@@ -144,13 +120,6 @@
title: "鎵樼洏缂栧彿",
type: "string",
width: 120,
- align: "left",
- },
- {
- field: "roadway",
- title: "鍖哄煙",
- type: "string",
- width: 90,
align: "left",
},
{
@@ -227,6 +196,13 @@
width: 150,
align: "left",
},
+ {
+ field: "insertTime",
+ title: "鎻掑叆鏃堕棿",
+ type: "datetime",
+ width: 150,
+ align: "left",
+ },
{
field: "creater",
title: "鍒涘缓鑰�",
@@ -255,6 +231,14 @@
width: 150,
align: "left",
},
+ {
+ field: "operateType",
+ title: "鎿嶄綔绫诲瀷",
+ type: "string",
+ width: 100,
+ align: "left",
+ bind: { key: "OperateTypeEnum", data: [] },
+ },
{
field: "remark",
title: "澶囨敞",
@@ -263,6 +247,7 @@
align: "left",
hidden: false,
},
+
]);
const detail = ref({
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs"
index ed8fdd9..6f944a3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs"
@@ -438,6 +438,30 @@
result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
}
break;
+ case "LocationTypeEnum":
+ {
+ List<object> data = new List<object>();
+ Type type = typeof(LocationTypeEnum);
+ List<int> enums = Enum.GetValues(typeof(LocationTypeEnum)).Cast<int>().ToList();
+ int index = 0;
+ foreach (var item in enums)
+ {
+ FieldInfo? fieldInfo = typeof(LocationTypeEnum).GetField(((LocationTypeEnum)item).ToString());
+ DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+ if (description != null)
+ {
+ data.Add(new { key = item.ToString(), value = description.Description });
+ }
+ else
+ {
+ data.Add(new { key = item.ToString(), value = item.ToString() });
+ }
+ index++;
+ }
+
+ result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+ }
+ break;
}
return result;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
index 228fc78..0541498 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
@@ -6,7 +6,7 @@
"Microsoft.AspNetCore": "Warning"
}
},
- "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType,TaskStatusEnum,TaskTypeEnum,RGVLocationTypeEnum",
+ "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType,TaskStatusEnum,TaskTypeEnum,RGVLocationTypeEnum,LocationTypeEnum",
"AllowedHosts": "*",
"ConnectionStringsEncryption": false,
"MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs"
index fd21f09..00c4e53 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/RGVTaskMethods.cs"
@@ -82,6 +82,11 @@
WebResponseContent content = new WebResponseContent();
try
{
+ var stationManger = _stationMangerService.GetOutStationInfo(taskDTO.toLocationCode);
+ if (stationManger==null)
+ {
+ return content.Error($"{taskDTO.toLocationCode}涓嶆槸鍑哄簱绔欏彴");
+ }
Dt_RGVLocationInfo rGVLocationInfo = _rGVLocationInfoService.Repository.QueryFirst(x => x.LocationCode == taskDTO.fromLocationCode) ?? throw new Exception($"鏈壘鍒拌捣鐐瑰簱浣嶃�恵taskDTO.fromLocationCode}銆戯紒");
if (rGVLocationInfo.LocationStatus != LocationStatusEnum.InStock.ObjToInt()) throw new Exception($"璧风偣搴撲綅銆恵taskDTO.fromLocationCode}銆戝綋鍓嶅簱浣嶇姸鎬佷笉鍙嚭搴擄紒");
if (rGVLocationInfo.PalletCode != taskDTO.containerCode) throw new Exception($"璧风偣搴撲綅銆恵taskDTO.fromLocationCode}銆戠粦瀹氭枡绠卞彿銆恵rGVLocationInfo.PalletCode}銆戜笌浠诲姟鏂欑鍙枫�恵taskDTO.containerCode}銆戜笉鍖归厤锛�");
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
index db6cefc..bec86f6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
@@ -100,77 +100,82 @@
//var task = BaseDal.QueryFirst(x => x.RGVTaskId == Rgv.content.taskID);
var task = BaseDal.QueryFirst(x => x.PalletCode == Rgv.content.podID);
if (task == null) throw new Exception($"鏈壘鍒颁换鍔�,浠诲姟缂栧彿銆恵Rgv.content.taskID}銆�");
-
- if (Rgv.messageType == 72)//灏忚溅椤惰捣璐х墿
+ //绉诲簱
+ if (task.TaskType == TaskTypeEnum.CPMoveInventory.ObjToInt() && Rgv.messageType == 10 && Rgv.content.status == 4)
{
- if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.Execut)
+ deviceName += "绉诲簱";
+ WMSMoveLocationFeedback wMSMoveLocationFeedback = new WMSMoveLocationFeedback()
{
- task.TaskState = (int)TaskStatusEnum.WaiCheckShape;
- //BaseDal.UpdateData(task);//缁欒川妫�闂ㄥ啓鍏ュ惎鍔ㄤ俊鍙�
- var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "F1") as OtherDevice;
- if (device == null) task.ExceptionMessage = "鏈壘鍒�1妤艰川妫�闂ㄨ澶囦俊鎭�";
- else
- {
- if (device.IsConnected)
- device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress);
- else
- task.ExceptionMessage = "1妤艰川妫�闂ㄨ澶囪繛鎺ュけ璐�";
- }
- TaskFeedback(task, 4);
- }
+ containerCode = task.PalletCode,
+ fromStationCode = task.SourceAddress,
+ toLocationCode = task.TargetAddress
+ };
+ Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(WMSMoveLocationFeedback));
+ WMSReturn agvContent = null;
+ if (apiInfo == null) task.ExceptionMessage = "鏈壘鍒扮Щ搴撳畬鎴愬弽棣圵MS鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�";
else
{
- TaskFromCompleted(task, deviceTypeEnum);
+ task.TaskState = TaskStatusEnum.Finish.ObjToInt();
+ string response = HttpHelper.Post(apiInfo.ApiAddress, wMSMoveLocationFeedback.Serialize());
+ agvContent = response.DeserializeObject<WMSReturn>();
+ content.OK(data: agvContent);
+ if (agvContent.code != 200)
+ {
+ task.ExceptionMessage = agvContent.message;
+ content.Error(agvContent.message);
+ }
+ UpdateLocationStatus(task.TargetAddress, task.PalletCode, deviceTypeEnum, LocationStatusEnum.InStock);
+ BaseDal.DeleteAndMoveIntoHty(task, OperateTypeEnum.鑷姩瀹屾垚);
}
}
- else if (Rgv.messageType == 10)
+ else
{
- if (Rgv.content.status == 2) TaskFeedback(task, 1);
- if (Rgv.content.status == 4)
+ //绔欏彴鍒拌川妫�鍙�
+ if (Rgv.messageType == 72)//灏忚溅椤惰捣璐х墿
{
- if (task.TaskType == TaskTypeEnum.CPMoveInventory.ObjToInt())
+ if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.Execut)
{
- deviceName += "绉诲簱";
- WMSMoveLocationFeedback wMSMoveLocationFeedback = new WMSMoveLocationFeedback()
- {
- containerCode = task.PalletCode,
- fromStationCode = task.SourceAddress,
- toLocationCode = task.TargetAddress
- };
- Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(WMSMoveLocationFeedback));
- WMSReturn agvContent = null;
- if (apiInfo == null) task.ExceptionMessage = "鏈壘鍒扮Щ搴撳畬鎴愬弽棣圵MS鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�";
+ task.TaskState = (int)TaskStatusEnum.WaiCheckShape;
+ //BaseDal.UpdateData(task);//缁欒川妫�闂ㄥ啓鍏ュ惎鍔ㄤ俊鍙�
+ var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "F1") as OtherDevice;
+ if (device == null) task.ExceptionMessage = "鏈壘鍒�1妤艰川妫�闂ㄨ澶囦俊鎭�";
else
{
- task.TaskState = TaskStatusEnum.Finish.ObjToInt();
- string response = HttpHelper.Post(apiInfo.ApiAddress, wMSMoveLocationFeedback.Serialize());
- agvContent = response.DeserializeObject<WMSReturn>();
- content.OK(data: agvContent);
- if (agvContent.code != 200)
- {
- task.ExceptionMessage = agvContent.message;
- content.Error(agvContent.message);
- }
- UpdateLocationStatus(task.TargetAddress, task.PalletCode, deviceTypeEnum, LocationStatusEnum.InStock);
- BaseDal.DeleteAndMoveIntoHty(task, OperateTypeEnum.鑷姩瀹屾垚);
+ if (device.IsConnected)
+ device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress);
+ else
+ task.ExceptionMessage = "1妤艰川妫�闂ㄨ澶囪繛鎺ュけ璐�";
}
+ TaskFeedback(task, 4);
}
- else if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.TakeFinish)
+ else
{
- if (!string.IsNullOrEmpty(task.ExceptionMessage)) task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt();
- else task.TaskState = (int)TaskStatusEnum.CheckShapeing;
- BaseDal.UpdateData(task);
+ //杩欓噷鍑哄簱锛岃繖涓帴鍙d腑涔熻繑鍥炵粰浜唚ms鐘舵��
+ TaskFromCompleted(task, deviceTypeEnum);
}
- else if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.Puting)
+ }
+ else if (Rgv.messageType == 10)//璐ㄦ鍙板埌鐩爣璐т綅
+ {
+ if (Rgv.content.status == 2) TaskFeedback(task, 1);
+ if (Rgv.content.status == 4)
{
- if (!string.IsNullOrEmpty(task.ExceptionMessage))
- ErrorTaskFeedback(task, true/*!task.ExceptionMessage.Contains("澶栨澶辫触")*/);
- else
+ if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.TakeFinish)
+ {
+ if (!string.IsNullOrEmpty(task.ExceptionMessage)) task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt();
+ else task.TaskState = (int)TaskStatusEnum.CheckShapeing;
+ BaseDal.UpdateData(task);
+ }
+ else if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.Puting)
+ {
+ if (!string.IsNullOrEmpty(task.ExceptionMessage))
+ ErrorTaskFeedback(task, true/*!task.ExceptionMessage.Contains("澶栨澶辫触")*/);
+ else
+ TaskCompleted(task, deviceTypeEnum);
+ }
+ else if (task.TaskType == (int)TaskTypeEnum.CPOutbound )//鍑哄簱瀹屾垚
+ {
TaskCompleted(task, deviceTypeEnum);
- }
- else if (task.TaskType == (int)TaskTypeEnum.CPOutbound || task.TaskType == (int)TaskTypeEnum.CPMoveInventory)//鍑哄簱銆佺Щ搴撳畬鎴�
- {
- TaskCompleted(task, deviceTypeEnum);
+ }
}
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index a563dd1..a9e0d4b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -258,6 +258,12 @@
deviceName = "鍥涘悜杞�";
if (dt_Task.RGVTaskId==0)
{
+ if (dt_Task.TaskType == TaskTypeEnum.CPOutbound.ObjToInt()&&dt_Task.TaskState==TaskStatusEnum.RGV_WaitSend.ObjToInt())
+ {
+ //淇敼搴撲綅鐘舵��
+ var rgvlocaiion = _rGVLocationInfoService.Repository.QueryFirst(x => x.LocationCode == dt_Task.SourceAddress);
+ rgvlocaiion.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); //灏嗗簱浣嶇姸鎬佹敼涓烘湁璐�
+ }
BaseDal.DeleteAndMoveIntoHty(dt_Task, OperateTypeEnum.鑷姩鍒犻櫎);
content.OK($"鍙栨秷{dt_Task.WMSTaskNum}浠诲姟鎴愬姛", dt_Task);
}
--
Gitblit v1.9.3