From 50f6cb0f96f04f505b9493f7621d8e49ad5add9d Mon Sep 17 00:00:00 2001 From: chengsc <Demo@DESKTOP-CPA90BF> Date: 星期一, 04 十一月 2024 08:13:32 +0800 Subject: [PATCH] Merge branch 'master' of http://47.95.120.53:8083/r/WCSNet6 --- Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs | 223 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 209 insertions(+), 14 deletions(-) diff --git a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs index 7d14fa9..6de853a 100644 --- a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs +++ b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs @@ -1,6 +1,12 @@ -锘縰sing System.Diagnostics.CodeAnalysis; +锘縰sing DocumentFormat.OpenXml.Presentation; +using Elastic.Clients.Elasticsearch; +using Furion.Logging; +using Newtonsoft.Json; +using System; +using System.Diagnostics.CodeAnalysis; +using System.Linq; using System.Text; -using WCS.Application.OpenApi.Dto; +using WCS.Application.Entity; namespace WCS.Application; @@ -9,6 +15,7 @@ /// </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); @@ -26,32 +33,65 @@ // 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 WCSResultModel AddWcsTask(WCSTasks models) + public ResponseModel AddWcsTask(ResponseTasksModel models) { - WCSResultModel result = new WCSResultModel(); + ResponseModel result = new ResponseModel(); try { // 楠岃瘉浠诲姟鏄惁宸插瓨鍦� var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskNo == models.TaskNo); if (taskInfo != null) { - result.StatusCode = "-1"; + result.StatusCode = -1; result.Msg = "浠诲姟:" + models.TaskNo + ";宸插瓨鍦�!"; return result; } - if (models.Type == "0") + if (models.TaskType == "0") { - models.Levels = "1.5"; + models.Order = 1; } else { - models.Levels = "2"; + models.Order = 2; } //鏂板浠诲姟 var taskAdd = new WcsTask() @@ -60,6 +100,7 @@ TaskType = TaskTypeEnum.Out, Status = TaskStatusEnum.Wait, //IsSuccess =TaskSuccessEnum.Success, + Levels = 999, Origin = "WMS", StartRoadway= models.StartRoadway, StartLocate = models.StartLocate, @@ -67,18 +108,172 @@ EndRoadway= models.EndRoadway, PalletNo = models.PalletNo, - LotNo =models.LotNo, - SkuNo=models.SkuNo, - SkuName=models.SkuName, - Qty=models.Qty + //LotNo =models.LotNo, + //SkuNo=models.SkuNo, + //SkuName=models.SkuName, + //Qty=models.Qty }; _db.Insertable(taskAdd).ExecuteCommand(); - return new WCSResultModel() { StatusCode = "1", Msg = "鎻掑叆鎴愬姛" }; + return new ResponseModel() { StatusCode = 0, Msg = "鎻掑叆鎴愬姛" }; } catch (Exception ex) { - return new WCSResultModel() { StatusCode = "-1", Msg = ex.Message }; + 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 }; + } + } + + + /// <summary> + /// WCS鎺ュ彈璧嬬爜绯荤粺鎺ㄩ�佺殑绠辩爜淇℃伅 + /// </summary> + /// <param name="models">绠辩爜淇℃伅</param> + /// <returns>鍙嶉淇℃伅</returns> + [HttpPost] + [AllowAnonymous] + public ResponseFuMaModel AddHttpBoxInfo(FumaBoxInfoInput models) + { + + try + { + string str = JsonConvert.SerializeObject(models); + Log.Information("鎺ユ敹璧嬬爜鎺ㄩ�佺殑绠辩爜淇℃伅锛�"+str); + if (models.Origin != "璧嬬爜") + { + throw new Exception("鏉ユ簮鏈瘑鍒�"); + } + var num = _db.Queryable<WcsBoxInfo>().Where(m=>m.BoxNo == models.BoxNo && m.IsDelete == false).ToList(); + var type = "add"; + if (num.Count>0) + { + //WCS瀛樺湪绠辩爜淇℃伅锛屾洿鏂扮鐮佷俊鎭�(闇�鍒ゆ柇绠辩爜鏄惁宸茬粍鐩樺叆搴�) + var num2 = num.Count(m => m.Status != "0" || !string.IsNullOrWhiteSpace(m.PalletNo)); + if (num2 > 0) + { + throw new Exception("璇ョ宸插叆鐩樺叆搴擄紝涓嶅彲鏇存柊淇℃伅"); + } + type = "edit"; + } + + if (models.DelistList.Count == 0) + { + throw new Exception("鐩掔爜闆嗗悎涓嶈兘涓虹┖"); + } + + var listBox = new List<WcsBoxInfo>(); + foreach (var item in models.DelistList) + { + var level = "3"; + if (string.IsNullOrWhiteSpace(item.BoxNo2)) + { + level = "2"; + } + if (item.DelistList2.Count == 0) + { + throw new Exception("鍊肩爜闆嗗悎涓嶈兘涓虹┖"); + } + //浜岀骇鐮� + foreach (var item2 in item.DelistList2) + { + if (string.IsNullOrWhiteSpace(models.ProductionTime) || string.IsNullOrWhiteSpace(models.ExpirationTime)) + { + throw new Exception("鐢熶骇鏃ユ湡鎴栧け鏁堟棩鏈熶笉鑳戒负绌�"); + } + DateTime proTime; + DateTime expTime; + var isValid = DateTime.TryParse(models.ProductionTime, out proTime); + var isValid2 = DateTime.TryParse(models.ExpirationTime, out expTime); + if (!isValid || !isValid2) + { + throw new Exception("鐢熶骇鏃ユ湡鎴栧け鏁堟棩鏈熸牸寮忛敊璇�"); + }; + + var boxAdd = new WcsBoxInfo() + { + BoxNo = models.BoxNo, + //OrderNo = models.OrderNo, + SkuNo = models.SkuNo, + SkuName = models.SkuName, + Standard = models.Standard, + LotNo = models.LotNo, + Qty = item2.Qty, + FullQty = models.FullQty, + //SupplierLot = models.SupplierLot, + InsPectMark = models.InsPectMark, + BitBoxMark = models.BitBoxMark, + //InspectStatus = models.InspectStatus锛� + ProductionTime = proTime, + ExpirationTime = expTime, + StoreTime = DateTime.Parse(models.StoreTime), + EndLotFlag = string.IsNullOrWhiteSpace(models.EndBatchMark) ? "0" : models.EndBatchMark, + + BoxNo2 = item.BoxNo2, + BoxNo3 = item2.BoxNo3, + QtyCount = item2.QtyCount, + QtyOrd = item2.QtyOrd, + + Status = "0", + Level = level, + + IsDelete = false + }; + listBox.Add(boxAdd); + } + + } + _db.Insertable(listBox).ExecuteCommand(); + if (type == "edit") + { + //gen + _db.Deleteable(num).ExecuteCommand(); + return new ResponseFuMaModel() { Success = "0", Message = "鏇存柊鎴愬姛" }; + } + return new ResponseFuMaModel() { Success = "0", Message = "鎻掑叆鎴愬姛" }; + } + catch (Exception ex) + { + return new ResponseFuMaModel() { Success = "-1", Message = ex.Message }; + } + } + } \ No newline at end of file -- Gitblit v1.8.0