From 4c176e55bf38acd7408fadfc7dab90591dbf2bd0 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 27 五月 2024 18:24:03 +0800
Subject: [PATCH] 添加任务暂停,恢复任务功能
---
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs | 3
代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Idt_agvtaskService.cs | 3
代码管理/WMS/WMS_Client/config/buttons.js | 22 +++++
代码管理/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskStateEnum.cs | 4 +
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_agvtaskController.cs | 24 ++++++
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs | 2
代码管理/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js | 64 ++++++++++++++++
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs | 61 ++++++++++++++
8 files changed, 180 insertions(+), 3 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/config/buttons.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/config/buttons.js"
index ea491db..c18505c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/config/buttons.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/config/buttons.js"
@@ -124,6 +124,28 @@
onClick: function () {
// this.addTask();
}
+}, {
+ name: "浠诲姟鏆傚仠",
+ icon: 'ios-cog',
+ value: 'PauseBtn',
+ class: '',
+ plain:true,
+ type: 'danger',
+ // plain:true,
+ onClick: function () {
+ // this.addTask();
+ }
+}, {
+ name: "浠诲姟鎭㈠",
+ icon: 'ios-cog',
+ value: 'ContinueBtn',
+ class: '',
+ plain:true,
+ type: 'success',
+ // plain:true,
+ onClick: function () {
+ // this.addTask();
+ }
}
// , {
// name: "鏁版嵁缁撴瀯",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js"
index b1e61fa..41d19e3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js"
@@ -44,6 +44,70 @@
// name:"娣诲姞浠诲姟"
// })
+ let PauseBtn = this.buttons.find(r => r.name == "浠诲姟鏆傚仠");
+ if(null!=PauseBtn){
+ PauseBtn.onClick = function (){
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨瑕佹殏鍋滅殑浠诲姟!");
+ let addkeys = rows.map(x => {
+ return x[this.table.key];
+ });
+ if (!addkeys || addkeys.Length == 0) return this.$error("鏈幏鍙栧埌浠诲姟!");
+ this.$confirm("鏄惁纭鏆傚仠浠诲姟锛�","鎻愮ず",{
+ // iconClass:"el-icon-success",//el-icon-remove鑷畾涔夊浘鏍囨牱寮�
+ confirmButtonText:"纭",//纭鎸夐挳鏂囧瓧鏇存崲
+ cancelButtonText:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲
+ // cancelBtn:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲
+ showClose: true,//鏄惁鏄剧ず鍙充笂瑙掑叧闂寜閽�
+ type: "warning",//鎻愮ず绫诲瀷 success:鎴愬姛/info:淇℃伅/warning:璀﹀憡/error:鎶ラ敊
+ }).then(()=>{
+ let params = {
+ MainData: null,
+ DetailData: null,
+ DelKeys: addkeys
+ }
+ this.http.post("/api/dt_agvtask/PauseTask", params, "姝e湪鏆傚仠....").then(x => {
+ if (!x.status) return this.$error(x.message);
+ this.$success(x.message);
+ this.refresh();
+ });
+ })
+
+ }
+ }
+
+ let ContinueBtn = this.buttons.find(r => r.name == "浠诲姟鎭㈠");
+ if(null!=ContinueBtn){
+ ContinueBtn.onClick = function (){
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨瑕佹仮澶嶇殑浠诲姟!");
+ let addkeys = rows.map(x => {
+ return x[this.table.key];
+ });
+ if (!addkeys || addkeys.Length == 0) return this.$error("鏈幏鍙栧埌浠诲姟!");
+ this.$confirm("鏄惁纭鎭㈠浠诲姟锛�","鎻愮ず",{
+ // iconClass:"el-icon-success",//el-icon-remove鑷畾涔夊浘鏍囨牱寮�
+ confirmButtonText:"纭",//纭鎸夐挳鏂囧瓧鏇存崲
+ cancelButtonText:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲
+ // cancelBtn:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲
+ showClose: true,//鏄惁鏄剧ず鍙充笂瑙掑叧闂寜閽�
+ type: "warning",//鎻愮ず绫诲瀷 success:鎴愬姛/info:淇℃伅/warning:璀﹀憡/error:鎶ラ敊
+ }).then(()=>{
+ let params = {
+ MainData: null,
+ DetailData: null,
+ DelKeys: addkeys
+ }
+ this.http.post("/api/dt_agvtask/ContinueTask", params, "姝e湪鎭㈠....").then(x => {
+ if (!x.status) return this.$error(x.message);
+ this.$success(x.message);
+ this.refresh();
+ });
+ })
+
+ }
+ }
+
this.buttons.forEach(x => {
if(x.value == 'Add')
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskStateEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskStateEnum.cs"
index c0b3374..6c69050 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskStateEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskStateEnum.cs"
@@ -70,5 +70,9 @@
/// 闃熷垪涓�
/// </summary>
Queue,
+ /// <summary>
+ /// 鏆傚仠
+ /// </summary>
+ Pause
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs"
index ca7e9c0..4fdd1c7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/SendFromaddress.cs"
@@ -9,6 +9,7 @@
using WIDESEA_Common;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Entity.ToAGV;
+using WIDESEA_WCS.JobsPart.Common;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
@@ -25,12 +26,14 @@
{
VOLContext Context = new VOLContext();
Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(Context);
+ Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context);
RequestFromTask requestFromTask = new RequestFromTask();
var agv_tasks = agvtaskRepository.Find(x => x.agv_taskstate == AGVTaskStateEnum.Queue.ToString() && x.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString() && !x.agv_fromaddress.Contains("W") && string.IsNullOrEmpty(x.agv_toaddress)).OrderByDescending(x => x.agv_grade).ThenBy(x => x.agv_createtime).ToList();
foreach (var agv_task in agv_tasks)
{
try
{
+ EmptyTray.GetEmptyTrayStation(stationinfoRepository, agv_task);
requestFromTask.TASK_NO = agv_task.agv_tasknum;
requestFromTask.FROM_POSITION = agv_task.agv_fromaddress;
requestFromTask.Material = agv_task.agv_materielid;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
index d02d587..9d160c8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/GetStation/EmptyTrayIn.cs"
@@ -91,7 +91,7 @@
agv_taskstate = "Create",
agv_qty = EmptyStation.quantity <= quantity ? EmptyStation.quantity : quantity,
//agv_qty = EmptyStation.quantity - toEmptyStation.quantity,
- StarQuantity = EmptyStation.quantity <= quantity ? 0 : toEmptyStation.quantity,
+ StarQuantity = EmptyStation.quantity <= quantity ? 0 : EmptyStation.quantity - quantity,
EndQuantity = toEmptyStation.quantity,
agv_tasktype = "TaskType_EmptyPallet",
agv_toaddress = toEmptyStation.stationCode,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Idt_agvtaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Idt_agvtaskService.cs"
index 6c01296..84172a7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Idt_agvtaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Idt_agvtaskService.cs"
@@ -2,11 +2,14 @@
*浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
*/
using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels;
namespace WIDESEA_WMS.IServices
{
public partial interface Idt_agvtaskService : IService<dt_agvtask>
{
+ WebResponseContent ContinueTask(SaveModel saveModel);
+ WebResponseContent PauseTask(SaveModel saveModel);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs"
index 799c98a..cd823f3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs"
@@ -30,6 +30,7 @@
using WIDESEA_WMS.Common;
using System.Reflection.Emit;
using System.Threading.Tasks;
+using System.Net;
namespace WIDESEA_WMS.Services
{
@@ -50,6 +51,62 @@
//澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
//base.Init(dbRepository);
}
+ /// <summary>
+ /// 浠诲姟鏆傚仠
+ /// </summary>
+ /// <param name="saveModel"></param>
+ /// <returns></returns>
+ public WebResponseContent PauseTask(SaveModel saveModel)
+ {
+ WebResponseContent response = new WebResponseContent().OK();
+
+ foreach (var Key in saveModel.DelKeys)
+ {
+ try
+ {
+ var task = repository.Find(x => x.agv_id.ToString() == Key.ToString()).FirstOrDefault();
+ if (task.agv_taskstate == AGVTaskStateEnum.Queue.ToString())
+ {
+ task.agv_taskstate = AGVTaskStateEnum.Pause.ToString();
+ repository.Update(task, x => new { x.agv_taskstate }, true);
+ response.OK(response.Message += $"{task.agv_tasknum}鏆傚仠鎴愬姛!");
+ }
+ }
+ catch (Exception ex)
+ {
+ response.Error(response.Message += ex.Message);
+ }
+ }
+ return response;
+ }
+ /// <summary>
+ /// 浠诲姟缁х画
+ /// </summary>
+ /// <param name="saveModel"></param>
+ /// <returns></returns>
+ public WebResponseContent ContinueTask(SaveModel saveModel)
+ {
+ WebResponseContent response = new WebResponseContent().OK();
+
+ foreach (var Key in saveModel.DelKeys)
+ {
+ try
+ {
+ var task = repository.Find(x => x.agv_id.ToString() == Key.ToString()).FirstOrDefault();
+ if (task.agv_taskstate == AGVTaskStateEnum.Pause.ToString())
+ {
+ task.agv_taskstate = AGVTaskStateEnum.Queue.ToString();
+ repository.Update(task, x => new { x.agv_taskstate }, true);
+ response.OK(response.Message += $"{task.agv_tasknum}鎭㈠鎴愬姛!");
+ }
+ }
+ catch (Exception ex)
+ {
+ response.Error(response.Message += ex.Message);
+ }
+ }
+ return response;
+ }
public override WebResponseContent Del(object[] keys, bool delList = true)
{
#region 鎵归噺淇敼璐т綅鐘舵��
@@ -66,7 +123,7 @@
//stationinfoRepository.UpdateRange(stations, x => new { x.location_state }, true);
#endregion
VOLContext volContext = new VOLContext();
- Idt_agvtask_htyRepository agvtask_HtyRepository=new dt_agvtask_htyRepository(volContext);
+ Idt_agvtask_htyRepository agvtask_HtyRepository = new dt_agvtask_htyRepository(volContext);
var agvtasks = repository.Find(x => keys.Contains(x.agv_id)).ToList();
List<dt_agvtask_hty> dt_Agvtask_Hties = new List<dt_agvtask_hty>();
foreach (var task in agvtasks)
@@ -103,7 +160,7 @@
};
dt_Agvtask_Hties.Add(agvtask_Hty);
}
- agvtask_HtyRepository.AddRange(dt_Agvtask_Hties,true);
+ agvtask_HtyRepository.AddRange(dt_Agvtask_Hties, true);
return base.Del(keys, delList);
}
public WebResponseContent addNgTask(MesRequestTemp requestTemp)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_agvtaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_agvtaskController.cs"
index e451e9f..43dc621 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_agvtaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_agvtaskController.cs"
@@ -13,6 +13,8 @@
using WIDESEA_WMS.IServices;
using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels.Mes;
+using WIDESEA_WMS.Services;
+using Microsoft.AspNetCore.Authorization;
namespace WIDESEA_WMS.Controllers
{
@@ -41,5 +43,27 @@
{
return _service.addNgTask(request);
}
+
+ /// <summary>
+ /// 鏆傚仠浠诲姟
+ /// </summary>
+ /// <param name="parm"></param>
+ /// <returns></returns>
+ [HttpPost, Authorize, Route("PauseTask"), AllowAnonymous]
+ public WebResponseContent PauseTask([FromBody] SaveModel saveModel)
+ {
+ return dt_agvtaskService.Instance.PauseTask(saveModel);
+ }
+
+ /// <summary>
+ /// 缁х画浠诲姟
+ /// </summary>
+ /// <param name="parm"></param>
+ /// <returns></returns>
+ [HttpPost, Authorize, Route("ContinueTask"), AllowAnonymous]
+ public WebResponseContent ContinueTask([FromBody] SaveModel saveModel)
+ {
+ return dt_agvtaskService.Instance.ContinueTask(saveModel);
+ }
}
}
--
Gitblit v1.9.3