IPC-610
2024-09-24 2fa5c9b94f81fca759daee763bdf8189ec728a33
Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
@@ -1,22 +1,117 @@
namespace WCS.Application;
using System.Diagnostics.CodeAnalysis;
using System.Text;
///// <summary>
///// 示例开放接口
///// </summary>
//[ApiDescriptionSettings("开放接口", Name = "Demo", Order = 100)]
namespace WCS.Application;
/// <summary>
/// 示例开放接口
/// </summary>
[ApiDescriptionSettings("开放接口", Name = "Demo", Order = 100)]
//[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)]
//public class DemoOpenApi : IDynamicApiController
//{
//    private readonly UserManager _userManager;
[AllowAnonymous]
public class DemoOpenApi : IDynamicApiController
{
    private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId);
//    public DemoOpenApi(UserManager userManager)
//    {
//        _userManager = userManager;
//    }
    private readonly UserManager _userManager;
//    [HttpGet("helloWord")]
//    public Task<string> HelloWord()
//    {
//        return Task.FromResult($"Hello word. {_userManager.Account}");
//    }
//}
    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,
                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 };
        }
    }
}