using System.Diagnostics.CodeAnalysis; using System.Text; namespace WCS.Application; /// /// 示例开放接口 /// [ApiDescriptionSettings("开放接口", Name = "Demo", Order = 100)] //[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)] 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 HelloWord() //{ // return Task.FromResult($"Hello word. {_userManager.Account}"); //} // /// WCS接受WMS下发的任务(单条任务) /// /// 任务信息 /// 反馈信息 [AllowAnonymous] public ResponseModel AddWcsTasks(List 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; } /// /// WCS接受WMS下发的任务(单条任务) /// /// 任务信息 /// 反馈信息 [AllowAnonymous] public ResponseModel AddWcsTask(ResponseTasksModel models) { ResponseModel result = new ResponseModel(); try { // 验证任务是否已存在 var taskInfo = _db.Queryable().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 }; } } }