通过工单+物料编码取消工单
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>> cancelOrderByCode(CancelOrderByCodeRequest request);
|
||||
|
||||
public Task<ResponseCommon> refreshInventoryRequest(RefreshInventoryRequest request);
|
||||
|
||||
#region 调试用的APi
|
||||
|
@ -117,7 +117,7 @@ namespace WCS.BLL.Services.Service
|
||||
//生成任务数据
|
||||
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 currentTaskIds = DbHelp.db.Queryable<CurrentTask>()
|
||||
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
/// <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)
|
||||
{
|
||||
@ -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);
|
||||
|
@ -10,6 +10,19 @@ namespace WCS.Model.ApiModel.MXL4
|
||||
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
|
||||
{
|
||||
|
||||
|
@ -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>
|
||||
|
Reference in New Issue
Block a user