From 54c28df490eab6ad3db601d429d0a4d926a3112d Mon Sep 17 00:00:00 2001 From: hehaibing-1996 Date: Fri, 28 Mar 2025 16:10:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=96=E6=B6=88=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WCS.BLL/Services/IService/IMXL4Service.cs | 2 + WCS.BLL/Services/Service/MXL4Service.cs | 57 +++++++++++++++++++ .../ApiModel/MXL4/SysOrderMXL4Request.cs | 5 ++ WCS.WebApi/Controllers/MXL4Controller.cs | 18 ++++++ 4 files changed, 82 insertions(+) diff --git a/WCS.BLL/Services/IService/IMXL4Service.cs b/WCS.BLL/Services/IService/IMXL4Service.cs index 0c3b454..a02612d 100644 --- a/WCS.BLL/Services/IService/IMXL4Service.cs +++ b/WCS.BLL/Services/IService/IMXL4Service.cs @@ -17,6 +17,8 @@ namespace WCS.BLL.Services.IService { public Task> sysOrderMXL4(SysOrderMXL4Request request); + public Task> cancelOrderMXL4(CancelRequest request); + public Task refreshInventoryRequest(RefreshInventoryRequest request); #region 调试用的APi diff --git a/WCS.BLL/Services/Service/MXL4Service.cs b/WCS.BLL/Services/Service/MXL4Service.cs index 4aa3790..9ccb4f7 100644 --- a/WCS.BLL/Services/Service/MXL4Service.cs +++ b/WCS.BLL/Services/Service/MXL4Service.cs @@ -175,6 +175,63 @@ namespace WCS.BLL.Services.Service } } + /// + /// 取消同步的任务 + /// + /// + /// + public async Task> cancelOrderMXL4(CancelRequest request) + { + try + { + if (request.matSN == null || request.matSN.Count <= 0) + { + return new ResponseCommon + { + Code = 300, + Message = $"未取消需要操作的物料条码!" + }; + } + + var needCancelTasks = DbHelp.db.Queryable() + .Where(t => request.matSN.Contains(t.MatSN)) + .ToList(); + needCancelTasks.ForEach(t => t.IsCancel = true); + //获取当前 + try + { + DbHelp.db.BeginTran(); + DbHelp.db.Updateable(needCancelTasks).ExecuteCommand(); + DbHelp.db.CommitTran(); + } + catch (Exception ex) + { + DbHelp.db.RollbackTran(); + return new ResponseCommon + { + Code = 300, + Message = $"操作失败:{ex.Message}" + }; + } + //发送任务至各个标签 交给后台线程来做 + return new ResponseCommon + { + Code = 200, + Message = "success" + }; + } + catch (Exception ex) + { + return new ResponseCommon + { + Code = 201, + Message = "操作失败:" + ex.Message, + + }; + } + } + + public async Task refreshInventoryRequest(RefreshInventoryRequest request) { try diff --git a/WCS.Model/ApiModel/MXL4/SysOrderMXL4Request.cs b/WCS.Model/ApiModel/MXL4/SysOrderMXL4Request.cs index b225bd9..38de3d5 100644 --- a/WCS.Model/ApiModel/MXL4/SysOrderMXL4Request.cs +++ b/WCS.Model/ApiModel/MXL4/SysOrderMXL4Request.cs @@ -5,6 +5,11 @@ using WCS.BLL.DbModels.Task; namespace WCS.Model.ApiModel.MXL4 { + public class CancelRequest : RequestBase + { + public List matSN { get; set; } + } + public class SysOrderMXL4Request : RequestBase { diff --git a/WCS.WebApi/Controllers/MXL4Controller.cs b/WCS.WebApi/Controllers/MXL4Controller.cs index 25491ef..888d410 100644 --- a/WCS.WebApi/Controllers/MXL4Controller.cs +++ b/WCS.WebApi/Controllers/MXL4Controller.cs @@ -45,6 +45,24 @@ namespace WCS.WebApi.Controllers } } + [Route("cancelOrderMXL4")] + [HttpPost(Name = "cancelOrderMXL4")] + public async Task cancelOrderMXL4(CancelRequest request) + { + try + { + return await _mxl4Service.cancelOrderMXL4(request); + } + catch (Exception ex) + { + return new ResponseBase() + { + Code = 300, + Message = "操作失败:" + ex.Message, + }; + } + } + /// /// 刷新库存信息 当上游系统入库后可以调用此接口对硬件显示的库存信息进行刷新 ///