From 73569b329e4ed2293a63e5a739d5fb0314fc4fd8 Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期三, 01 四月 2026 15:25:45 +0800
Subject: [PATCH] 1
---
WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs | 14 +++
WCS/WIDESEAWCS_Client/config/buttons.js | 9 ++
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 6 +
WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 8 ++
WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 25 ++++++
WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js | 141 +++++++++++++++++++++--------------
6 files changed, 144 insertions(+), 59 deletions(-)
diff --git a/WCS/WIDESEAWCS_Client/config/buttons.js b/WCS/WIDESEAWCS_Client/config/buttons.js
index 9c5b584..5ac3638 100644
--- a/WCS/WIDESEAWCS_Client/config/buttons.js
+++ b/WCS/WIDESEAWCS_Client/config/buttons.js
@@ -173,6 +173,15 @@
onClick: function () {
}
},
+{
+ name: "浠� 鍔� 鎵� 鍔� 瀹� 鎴�",
+ icon: '',
+ class: '',
+ type: 'success',
+ value: 'TaskHandCompleted',
+ onClick: function () {
+ }
+},
]
export default buttons
\ No newline at end of file
diff --git a/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js b/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js
index b5d52af..7facb51 100644
--- a/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js
+++ b/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js
@@ -45,53 +45,53 @@
let AgvZHTaskResendBtn = this.buttons.find(x => x.value == 'AgvZHTaskResend');
if (AgvZHTaskResendBtn) {
AgvZHTaskResendBtn.onClick = function () {
- this.$confirm("鏄惁纭閲嶅彂闃荤剨AGV鍑哄簱浠诲姟","鎵嬪姩浠诲姟閲嶅彂璀﹀憡",{
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- center: true,
+ this.$confirm("鏄惁纭閲嶅彂闃荤剨AGV鍑哄簱浠诲姟", "鎵嬪姩浠诲姟閲嶅彂璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ center: true,
}).then(() => {
let rows = this.$refs.table.getSelected();
if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
var param = rows[0].taskNum;
this.http
- .post("api/ZH_AGV/AgvZHTaskResend?taskNum="+param, "鏁版嵁澶勭悊涓�...")
- .then((x) => {
- if (x.status) {
- this.$Message.success('鎵嬪姩浠诲姟閲嶅彂鎴愬姛');
- this.refresh();
- } else {
- return this.$error(x.message);
- }
- });
+ .post("api/ZH_AGV/AgvZHTaskResend?taskNum=" + param, "鏁版嵁澶勭悊涓�...")
+ .then((x) => {
+ if (x.status) {
+ this.$Message.success('鎵嬪姩浠诲姟閲嶅彂鎴愬姛');
+ this.refresh();
+ } else {
+ return this.$error(x.message);
+ }
+ });
});
}
}
-
+
let StackerCraneTaskResendingBtn = this.buttons.find(x => x.value == 'StackerCraneTaskResending');
if (StackerCraneTaskResendingBtn) {
StackerCraneTaskResendingBtn.onClick = function () {
- this.$confirm("鏄惁纭閲嶅彂鍫嗗灈鏈轰换鍔�","鎵嬪姩浠诲姟閲嶅彂璀﹀憡",{
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- center: true,
+ this.$confirm("鏄惁纭閲嶅彂鍫嗗灈鏈轰换鍔�", "鎵嬪姩浠诲姟閲嶅彂璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ center: true,
}).then(() => {
let rows = this.$refs.table.getSelected();
if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
var param = rows[0].taskNum;
this.http
- .post("api/Task/StackerCraneTaskResending?taskNum="+param, "鏁版嵁澶勭悊涓�...")
- .then((x) => {
- if (x.status) {
- this.$Message.success('鎵嬪姩浠诲姟閲嶅彂鎴愬姛');
- this.refresh();
- } else {
- return this.$error(x.message);
- }
- });
+ .post("api/Task/StackerCraneTaskResending?taskNum=" + param, "鏁版嵁澶勭悊涓�...")
+ .then((x) => {
+ if (x.status) {
+ this.$Message.success('鎵嬪姩浠诲姟閲嶅彂鎴愬姛');
+ this.refresh();
+ } else {
+ return this.$error(x.message);
+ }
+ });
});
}
}
@@ -99,26 +99,26 @@
let StackerCraneTaskPriorityBtn = this.buttons.find(x => x.value == 'StackerCraneTaskPriority');
if (StackerCraneTaskPriorityBtn) {
StackerCraneTaskPriorityBtn.onClick = function () {
- this.$confirm("鏄惁浼樺厛鎵ц璇ュ爢鍨涙満浠诲姟","鎵嬪姩浼樺厛浠诲姟璀﹀憡",{
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- center: true,
+ this.$confirm("鏄惁浼樺厛鎵ц璇ュ爢鍨涙満浠诲姟", "鎵嬪姩浼樺厛浠诲姟璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ center: true,
}).then(() => {
let rows = this.$refs.table.getSelected();
if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
var param = rows[0].taskNum;
this.http
- .post("api/Task/StackerCraneTaskPriority?taskNum="+param, "鏁版嵁澶勭悊涓�...")
- .then((x) => {
- if (x.status) {
- this.$Message.success('鎵嬪姩浼樺厛浠诲姟鎴愬姛');
- this.refresh();
- } else {
- return this.$error(x.message);
- }
- });
+ .post("api/Task/StackerCraneTaskPriority?taskNum=" + param, "鏁版嵁澶勭悊涓�...")
+ .then((x) => {
+ if (x.status) {
+ this.$Message.success('鎵嬪姩浼樺厛浠诲姟鎴愬姛');
+ this.refresh();
+ } else {
+ return this.$error(x.message);
+ }
+ });
});
}
}
@@ -126,26 +126,53 @@
let RGVTaskResendingBtn = this.buttons.find(x => x.value == 'RGVTaskResending');
if (RGVTaskResendingBtn) {
RGVTaskResendingBtn.onClick = function () {
- this.$confirm("鏄惁纭閲嶅彂RGV浠诲姟","鎵嬪姩浠诲姟閲嶅彂璀﹀憡",{
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- center: true,
+ this.$confirm("鏄惁纭閲嶅彂RGV浠诲姟", "鎵嬪姩浠诲姟閲嶅彂璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ center: true,
}).then(() => {
let rows = this.$refs.table.getSelected();
if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
var param = rows[0].taskNum;
this.http
- .post("api/Task/RGVTaskResending?taskNum="+param, "鏁版嵁澶勭悊涓�...")
- .then((x) => {
- if (x.status) {
- this.$Message.success('浠诲姟閲嶅彂瀹屾垚');
- this.refresh();
- } else {
- return this.$error(x.message);
- }
- });
+ .post("api/Task/RGVTaskResending?taskNum=" + param, "鏁版嵁澶勭悊涓�...")
+ .then((x) => {
+ if (x.status) {
+ this.$Message.success('浠诲姟閲嶅彂瀹屾垚');
+ this.refresh();
+ } else {
+ return this.$error(x.message);
+ }
+ });
+ });
+ }
+ }
+
+ let TaskHandCompletedBtn = this.buttons.find(x => x.value == 'TaskHandCompleted');
+ if (TaskHandCompletedBtn) {
+ TaskHandCompletedBtn.onClick = function () {
+ this.$confirm("鏄惁纭瀹屾垚浠诲姟", "鎵嬪姩浠诲姟瀹屾垚璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ center: true,
+ }).then(() => {
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+ if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
+ var param = rows[0].taskNum;
+ this.http
+ .post("api/Task/ManualTaskCompleted?taskNum=" + param, "鏁版嵁澶勭悊涓�...")
+ .then((x) => {
+ if (x.status) {
+ this.$Message.success('浠诲姟鎵嬪姩瀹屾垚');
+ this.refresh();
+ } else {
+ return this.$error(x.message);
+ }
+ });
});
}
}
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
index f9c9942..bf25d6f 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -311,5 +311,13 @@
/// <param name="palletCode"></param>
/// <returns></returns>
WebResponseContent LedShowTask(string StationCode, string PalletCode, int TaskType);
+
+ /// <summary>
+ /// 浠诲姟鎵嬪姩瀹屾垚
+ /// </summary>
+ /// <param name="taskNum"></param>
+ /// <returns></returns>
+ Task<WebResponseContent> ManualTaskCompleted(int taskNum);
+
}
}
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
index da98ce6..4798bb5 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
@@ -120,6 +120,8 @@
// return WebResponseContent.Instance.Error(ex.Message);
// }
//}
+
+
[HttpPost, HttpGet, Route("RecWMSTaskCompleted"), AllowAnonymous]
public WebResponseContent RecWMSTaskCompleted(int taskNum)
{
@@ -180,5 +182,17 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+
+ /// <summary>
+ /// 浠诲姟鎵嬪姩瀹屾垚
+ /// </summary>
+ /// <param name="taskNum"></param>
+ /// <returns></returns>
+ [HttpGet, HttpPost, Route("ManualTaskCompleted"), AllowAnonymous]
+ public async Task<WebResponseContent> ManualTaskCompleted(int taskNum)
+ {
+ return await Service.ManualTaskCompleted(taskNum);
+ }
+
}
}
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index ff6d505..64341d2 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -1019,5 +1019,30 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+
+ /// <summary>
+ /// 浠诲姟鎵嬪姩瀹屾垚
+ /// </summary>
+ /// <param name="taskNum"></param>
+ /// <returns></returns>
+ /// <exception cref="NotImplementedException"></exception>
+ public async Task<WebResponseContent> ManualTaskCompleted(int taskNum)
+ {
+ try
+ {
+ string url = "http://localhost:9290";
+ if (string.IsNullOrEmpty(url))
+ {
+ return await Task.FromResult(WebResponseContent.Instance.Error($"鏈壘鍒癢CSApi鍦板潃,璇锋鏌ラ厤缃枃浠�"));
+ }
+ string response = HttpHelper.Post($"{url}/api/Task/TaskCompleted?taskNum=" + taskNum,taskNum.ToString());
+
+ return await Task.FromResult(JsonConvert.DeserializeObject<WebResponseContent>(response) ?? WebResponseContent.Instance.Error("杩斿洖閿欒"));
+ }
+ catch (Exception ex)
+ {
+ return await Task.FromResult(WebResponseContent.Instance.Error(ex.Message));
+ }
+ }
}
}
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
index 711f6ef..93f3e86 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -2592,11 +2592,11 @@
private void DWANDYSUpdateOutboundOrderDetails(Dt_StockInfo stockInfo, Dt_OutboundOrder inboundOrder, ref List<Dt_OutboundOrderDetail> inboundOrderDetails)
{
List<Dt_OutboundOrderDetail> newOutboundOrderDetails = inboundOrderDetails;
+ int CompeletedNum = inboundOrder.Details.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()).Count();
foreach (var newOutboundOrderDetail in newOutboundOrderDetails)
{
string BatchNo = newOutboundOrderDetail.BatchNo;
//inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.BatchNo == stockInfo.Details.FirstOrDefault()?.BatchNo&&x.LPNNo==stockInfo.PalletCode);
-
foreach (var item in stockInfo.Details)
{
if (newOutboundOrderDetail == null) continue;
@@ -2610,15 +2610,17 @@
if (newOutboundOrderDetail.OverOutQuantity == newOutboundOrderDetail.OrderQuantity)
{
newOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt();
+ CompeletedNum++;
}
else if (newOutboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
{
newOutboundOrderDetail.OrderDetailStatus = OutboundStatusEnum.鍑哄簱涓�.ObjToInt();
+
inboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱涓�.ObjToInt();
}
}
}
- if (newOutboundOrderDetails.All(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt()))
+ if (inboundOrder.Details.Count == CompeletedNum)
{
inboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
}
--
Gitblit v1.9.3