using Elastic.Clients.Elasticsearch;
|
using System.Diagnostics.CodeAnalysis;
|
using System.Linq;
|
using System.Text;
|
using WCS.Application.Entity;
|
|
namespace WCS.Application;
|
|
/// <summary>
|
/// 示例开放接口
|
/// </summary>
|
[ApiDescriptionSettings("开放接口", Name = "Demo", Order = 100)]
|
//[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)]
|
[AllowAnonymous]
|
public class DemoOpenApi : IDynamicApiController
|
{
|
private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId);
|
|
private readonly UserManager _userManager;
|
|
public DemoOpenApi(UserManager userManager)
|
{
|
_userManager = userManager;
|
}
|
|
//[HttpGet("helloWord")]
|
//public Task<string> HelloWord()
|
//{
|
// return Task.FromResult($"Hello word. {_userManager.Account}");
|
//}
|
|
// <summary>
|
/// WCS接受WMS下发的任务(单条任务)
|
/// </summary>
|
/// <param name="models">任务信息</param>
|
/// <returns>反馈信息</returns>
|
[AllowAnonymous]
|
public ResponseModel AddWcsTasks(List<ResponseTasksModel> modelList)
|
{
|
ResponseModel result = new ResponseModel();
|
result.StatusCode = 0;
|
try
|
{
|
foreach (var models in modelList)
|
{
|
var res = AddWcsTask(models);
|
if (res.StatusCode == -1)
|
{
|
result.StatusCode = -1;
|
result.Msg = res.Msg;
|
}
|
else if (res.StatusCode == 0)
|
{
|
result.StatusCode = 0;
|
result.Msg = models.TaskNo + "任务" + res.Msg;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
return new ResponseModel() { StatusCode = -1, Msg = ex.Message };
|
}
|
return result;
|
}
|
/// <summary>
|
/// WCS接受WMS下发的任务(单条任务)
|
/// </summary>
|
/// <param name="models">任务信息</param>
|
/// <returns>反馈信息</returns>
|
[AllowAnonymous]
|
public ResponseModel AddWcsTask(ResponseTasksModel models)
|
{
|
ResponseModel result = new ResponseModel();
|
try
|
{
|
// 验证任务是否已存在
|
var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskNo == models.TaskNo);
|
if (taskInfo != null)
|
{
|
result.StatusCode = -1;
|
result.Msg = "任务:" + models.TaskNo + ";已存在!";
|
return result;
|
}
|
if (models.TaskType == "0")
|
{
|
models.Order = 1;
|
}
|
else
|
{
|
models.Order = 2;
|
}
|
//新增任务
|
var taskAdd = new WcsTask()
|
{
|
TaskNo = models.TaskNo,
|
TaskType = TaskTypeEnum.Out,
|
Status = TaskStatusEnum.Wait,
|
//IsSuccess =TaskSuccessEnum.Success,
|
Levels = 999,
|
Origin = "WMS",
|
StartRoadway= models.StartRoadway,
|
StartLocate = models.StartLocate,
|
EndLocate = models.EndLocate,
|
EndRoadway= models.EndRoadway,
|
PalletNo = models.PalletNo,
|
|
//LotNo =models.LotNo,
|
//SkuNo=models.SkuNo,
|
//SkuName=models.SkuName,
|
//Qty=models.Qty
|
};
|
_db.Insertable(taskAdd).ExecuteCommand();
|
|
return new ResponseModel() { StatusCode = 0, Msg = "插入成功" };
|
}
|
catch (Exception ex)
|
{
|
return new ResponseModel() { StatusCode = -1, Msg = ex.Message };
|
}
|
}
|
|
/// <summary>
|
/// WCS接收WMS下发的入库单任务
|
/// </summary>
|
/// <param name="models"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[AllowAnonymous]
|
public ResponseModel AddOrderTask(List<ResponseOrderTaskModel> models)
|
{
|
ResponseModel result = new ResponseModel();
|
try
|
{
|
foreach (var item in models)
|
{
|
// 验证任务是否已存在
|
//var taskInfo = _db.Queryable<WcsOderTask>().First(w => w.OrderNo == item.OrderNo && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
|
//if (taskInfo == null)
|
//{
|
var orderAdd = new WcsOderTask()
|
{
|
OrderNo = item.OrderNo,
|
TaskNo = "",
|
LotNo = item.LotNo,
|
SkuNo = item.SkuNo,
|
SkuName = item.SkuName,
|
BoxType = item.BoxType,
|
Qty = item.Qty,
|
TaskType = (TaskTypeEnum)item.TaskType,
|
};
|
_db.Insertable(orderAdd).ExecuteCommand();
|
//}
|
}
|
return new ResponseModel() { StatusCode = 0, Msg = "插入成功" };
|
}
|
catch (Exception ex)
|
{
|
return new ResponseModel() { StatusCode = -1, Msg = ex.Message };
|
}
|
}
|
|
}
|