通过工单+物料编码取消工单

This commit is contained in:
hehaibing-1996
2025-04-14 10:08:56 +08:00
parent 917a13b197
commit 230e65d0bf
4 changed files with 97 additions and 3 deletions

View File

@ -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

View File

@ -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)
{

View File

@ -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
{

View File

@ -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>