通过工单+物料编码取消工单
This commit is contained in:
@ -19,6 +19,8 @@ namespace WCS.BLL.Services.IService
|
|||||||
|
|
||||||
public Task<ResponseCommon<object>> cancelOrderMXL4(CancelRequest request);
|
public Task<ResponseCommon<object>> cancelOrderMXL4(CancelRequest request);
|
||||||
|
|
||||||
|
public Task<ResponseCommon<object>> cancelOrderByCode(CancelOrderByCodeRequest request);
|
||||||
|
|
||||||
public Task<ResponseCommon> refreshInventoryRequest(RefreshInventoryRequest request);
|
public Task<ResponseCommon> refreshInventoryRequest(RefreshInventoryRequest request);
|
||||||
|
|
||||||
#region 调试用的APi
|
#region 调试用的APi
|
||||||
|
@ -117,7 +117,7 @@ namespace WCS.BLL.Services.Service
|
|||||||
//生成任务数据
|
//生成任务数据
|
||||||
foreach (var orderDetail in request.List)
|
foreach (var orderDetail in request.List)
|
||||||
{
|
{
|
||||||
list = new List<int> { 1, 2, 3, 4, 5, 6, 7,8 };
|
list = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8 };
|
||||||
var module = moduleInfo.Where(t => t.ModuleCode == orderDetail.StoreCode).First();
|
var module = moduleInfo.Where(t => t.ModuleCode == orderDetail.StoreCode).First();
|
||||||
|
|
||||||
var currentTaskIds = DbHelp.db.Queryable<CurrentTask>()
|
var currentTaskIds = DbHelp.db.Queryable<CurrentTask>()
|
||||||
@ -126,7 +126,7 @@ namespace WCS.BLL.Services.Service
|
|||||||
.ToList();
|
.ToList();
|
||||||
var tasksIds = tasks.Where(t => t.ModuleId == module.Id).Select(t => t.TaskID).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));
|
list.RemoveAll(l => tasksIds.Contains(l));
|
||||||
|
|
||||||
if (list == null || list.Count <= 0)
|
if (list == null || list.Count <= 0)
|
||||||
@ -250,6 +250,62 @@ namespace WCS.BLL.Services.Service
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 取消同步的任务-通过工单和物料编码进行取消任务
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<ResponseCommon<object>> cancelOrderByCode(CancelOrderByCodeRequest request)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(request.OrderNumber))
|
||||||
|
{
|
||||||
|
return new ResponseCommon<object>
|
||||||
|
{
|
||||||
|
Code = 300,
|
||||||
|
Message = $"缺少工单号!"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
var needCancelTasks = DbHelp.db.Queryable<CurrentTask>()
|
||||||
|
.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<object>
|
||||||
|
{
|
||||||
|
Code = 300,
|
||||||
|
Message = $"操作失败:{ex.Message}"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
//发送任务至各个标签 交给后台线程来做
|
||||||
|
return new ResponseCommon<object>
|
||||||
|
{
|
||||||
|
Code = 200,
|
||||||
|
Message = "success"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return new ResponseCommon<object>
|
||||||
|
{
|
||||||
|
Code = 201,
|
||||||
|
Message = "操作失败:" + ex.Message,
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<ResponseCommon> refreshInventoryRequest(RefreshInventoryRequest request)
|
public async Task<ResponseCommon> refreshInventoryRequest(RefreshInventoryRequest request)
|
||||||
{
|
{
|
||||||
@ -363,7 +419,7 @@ namespace WCS.BLL.Services.Service
|
|||||||
t.MXL4Modules.ForEach(m =>
|
t.MXL4Modules.ForEach(m =>
|
||||||
{
|
{
|
||||||
//发送进入入库模式
|
//发送进入入库模式
|
||||||
m.GoInOutstoreMode(t.TcpCleint,DbModels.Task.ButtonColorEnum.红色);
|
m.GoInOutstoreMode(t.TcpCleint, DbModels.Task.ButtonColorEnum.红色);
|
||||||
//任务ID
|
//任务ID
|
||||||
m.SendTaskId(7, t.TcpCleint);
|
m.SendTaskId(7, t.TcpCleint);
|
||||||
m.SendMatCode("A7100200300", t.TcpCleint);
|
m.SendMatCode("A7100200300", t.TcpCleint);
|
||||||
|
@ -10,6 +10,19 @@ namespace WCS.Model.ApiModel.MXL4
|
|||||||
public List<string> matSN { get; set; }
|
public List<string> matSN { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class CancelOrderByCodeRequest : RequestBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 单据号
|
||||||
|
/// </summary>
|
||||||
|
public string OrderNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 物料编码
|
||||||
|
/// </summary>
|
||||||
|
public string MatCode { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class SysOrderMXL4Request : RequestBase
|
public class SysOrderMXL4Request : RequestBase
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -63,6 +63,29 @@ namespace WCS.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[Route("cancelOrderByCode")]
|
||||||
|
[HttpPost(Name = "cancelOrderByCode")]
|
||||||
|
public async Task<ResponseBase> cancelOrderByCode(CancelOrderByCodeRequest request)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return await _mxl4Service.cancelOrderMXL4(request);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return new ResponseBase()
|
||||||
|
{
|
||||||
|
Code = 300,
|
||||||
|
Message = "操作失败:" + ex.Message,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 刷新库存信息 当上游系统入库后可以调用此接口对硬件显示的库存信息进行刷新
|
/// 刷新库存信息 当上游系统入库后可以调用此接口对硬件显示的库存信息进行刷新
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Reference in New Issue
Block a user