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, 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> [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 }; } } }