From 230e65d0bfb96c411d5f752cf40739a84f603b22 Mon Sep 17 00:00:00 2001 From: hehaibing-1996 Date: Mon, 14 Apr 2025 10:08:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=B7=A5=E5=8D=95+=E7=89=A9?= =?UTF-8?q?=E6=96=99=E7=BC=96=E7=A0=81=E5=8F=96=E6=B6=88=E5=B7=A5=E5=8D=95?= 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 | 62 ++++++++++++++++++- .../ApiModel/MXL4/SysOrderMXL4Request.cs | 13 ++++ WCS.WebApi/Controllers/MXL4Controller.cs | 23 +++++++ 4 files changed, 97 insertions(+), 3 deletions(-) diff --git a/WCS.BLL/Services/IService/IMXL4Service.cs b/WCS.BLL/Services/IService/IMXL4Service.cs index a02612d..e5951b5 100644 --- a/WCS.BLL/Services/IService/IMXL4Service.cs +++ b/WCS.BLL/Services/IService/IMXL4Service.cs @@ -19,6 +19,8 @@ namespace WCS.BLL.Services.IService public Task> cancelOrderMXL4(CancelRequest request); + public Task> cancelOrderByCode(CancelOrderByCodeRequest 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 dba3442..d09defd 100644 --- a/WCS.BLL/Services/Service/MXL4Service.cs +++ b/WCS.BLL/Services/Service/MXL4Service.cs @@ -117,7 +117,7 @@ namespace WCS.BLL.Services.Service //生成任务数据 foreach (var orderDetail in request.List) { - list = new List { 1, 2, 3, 4, 5, 6, 7,8 }; + list = new List { 1, 2, 3, 4, 5, 6, 7, 8 }; var module = moduleInfo.Where(t => t.ModuleCode == orderDetail.StoreCode).First(); var currentTaskIds = DbHelp.db.Queryable() @@ -126,7 +126,7 @@ namespace WCS.BLL.Services.Service .ToList(); var tasksIds = tasks.Where(t => t.ModuleId == module.Id).Select(t => t.TaskID).ToList(); - list.RemoveAll(l =>currentTaskIds.Contains(l)); + list.RemoveAll(l => currentTaskIds.Contains(l)); list.RemoveAll(l => tasksIds.Contains(l)); if (list == null || list.Count <= 0) @@ -250,6 +250,62 @@ namespace WCS.BLL.Services.Service } } + /// + /// 取消同步的任务-通过工单和物料编码进行取消任务 + /// + /// + /// + public async Task> cancelOrderByCode(CancelOrderByCodeRequest request) + { + try + { + if (string.IsNullOrEmpty(request.OrderNumber)) + { + return new ResponseCommon + { + Code = 300, + Message = $"缺少工单号!" + }; + } + + var needCancelTasks = DbHelp.db.Queryable() + .Where(t => request.OrderNumber == request.OrderNumber) + .WhereIF(!string.IsNullOrEmpty(request.MatCode), t => t.MatCode == request.MatCode) + .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) { @@ -363,7 +419,7 @@ namespace WCS.BLL.Services.Service t.MXL4Modules.ForEach(m => { //发送进入入库模式 - m.GoInOutstoreMode(t.TcpCleint,DbModels.Task.ButtonColorEnum.红色); + m.GoInOutstoreMode(t.TcpCleint, DbModels.Task.ButtonColorEnum.红色); //任务ID m.SendTaskId(7, t.TcpCleint); m.SendMatCode("A7100200300", t.TcpCleint); diff --git a/WCS.Model/ApiModel/MXL4/SysOrderMXL4Request.cs b/WCS.Model/ApiModel/MXL4/SysOrderMXL4Request.cs index 72bafbb..94b46b9 100644 --- a/WCS.Model/ApiModel/MXL4/SysOrderMXL4Request.cs +++ b/WCS.Model/ApiModel/MXL4/SysOrderMXL4Request.cs @@ -10,6 +10,19 @@ namespace WCS.Model.ApiModel.MXL4 public List matSN { get; set; } } + public class CancelOrderByCodeRequest : RequestBase + { + /// + /// 单据号 + /// + public string OrderNumber { get; set; } + + /// + /// 物料编码 + /// + public string MatCode { get; set; } + } + public class SysOrderMXL4Request : RequestBase { diff --git a/WCS.WebApi/Controllers/MXL4Controller.cs b/WCS.WebApi/Controllers/MXL4Controller.cs index 888d410..f7757d8 100644 --- a/WCS.WebApi/Controllers/MXL4Controller.cs +++ b/WCS.WebApi/Controllers/MXL4Controller.cs @@ -63,6 +63,29 @@ namespace WCS.WebApi.Controllers } } + /// + /// + /// + /// + /// + [Route("cancelOrderByCode")] + [HttpPost(Name = "cancelOrderByCode")] + public async Task cancelOrderByCode(CancelOrderByCodeRequest request) + { + try + { + return await _mxl4Service.cancelOrderMXL4(request); + } + catch (Exception ex) + { + return new ResponseBase() + { + Code = 300, + Message = "操作失败:" + ex.Message, + }; + } + } + /// /// 刷新库存信息 当上游系统入库后可以调用此接口对硬件显示的库存信息进行刷新 ///