From 74ce2ccbae367b804028fbac431f22865f84427a Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期三, 11 六月 2025 13:55:36 +0800 Subject: [PATCH] 添加空托入库申请接口 --- Wms/WMS.BLL/HttpServer.cs | 292 ++++++++++++++++++++++++++++++++++++++++++++++++ Wms/WMS.IBLL/IHttpServer.cs | 10 + Pda/View/AsnSetting/productEnterQuantity.html | 9 + Wms/WMS.BLL/Logic/AllotSku.cs | 2 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 3 Wms/Model/InterFaceModel/AsnModels.cs | 3 Wms/Wms/Controllers/DownApiController.cs | 34 +++++ 7 files changed, 350 insertions(+), 3 deletions(-) diff --git a/Pda/View/AsnSetting/productEnterQuantity.html b/Pda/View/AsnSetting/productEnterQuantity.html index 4eb6ee8..ed63d72 100644 --- a/Pda/View/AsnSetting/productEnterQuantity.html +++ b/Pda/View/AsnSetting/productEnterQuantity.html @@ -1086,14 +1086,21 @@ } } asnDetails.forEach(element => { - console.log(element); + console.log(element.SkuNo ); + console.log( res.data[0].SkuNo); + console.log(element.SkuNo == res.data[0].SkuNo); + console.log(element.LotNo == res.data[0].LotNo); if (element.SkuNo == res.data[0].SkuNo && element.LotNo == res.data[0].LotNo) { + console.log("asdfasdfsadf"); + var sel = 'dd[lay-value=' + element.id + ']'; $('#goodSelect').siblings("div.layui-form-select").find('dl').find(sel).addClass('layui-this'); bl = true; } }); + console.log(bl); + if (!bl) { layer.msg("姝ょ鐗╂枡涓嶇鍚堣鍏ュ簱鍗曪紝璇锋牳瀹�!", { icon: 2, diff --git a/Wms/Model/InterFaceModel/AsnModels.cs b/Wms/Model/InterFaceModel/AsnModels.cs index c46db3c..1673222 100644 --- a/Wms/Model/InterFaceModel/AsnModels.cs +++ b/Wms/Model/InterFaceModel/AsnModels.cs @@ -78,6 +78,9 @@ public string HouseNo { get; set; } public string RoadwayNo { get; set; } public string Ceng { get; set; } + public int palletNum { get; set; } + + public string locate { get; set; } } diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index 4839936..bdd23ce 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -2642,6 +2642,7 @@ throw Oops.Bah("闇�瑕佸灈鏁板ぇ浜庡簱瀛樺灈鏁帮紝璇烽噸鏂拌緭鍏�!"); } } + stockDetail = new AllotSku().GetDataListOrder(stockDetail); //鑾峰彇搴撳瓨鎬昏〃淇℃伅 var stock = await Db.Queryable<DataStock>().FirstAsync(s => s.IsDel == "0" && s.SkuNo == "100099"); //楠岃瘉搴撳瓨鎬昏〃鏄惁涓虹┖ @@ -2745,7 +2746,7 @@ Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 Status = "1",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� - CreateTime = serverTime, //鍒涘缓鏃堕棿 + CreateTime = Db.GetDate(), //鍒涘缓鏃堕棿 CreateUser = userId, //鍒涘缓浜� Msg = "Pda绌烘墭浠�" + s.LocatNo + "鍒�" + model.OutMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅 //FinishDate = serverTime, //瀹屾垚鏃堕棿 diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs index e426f1e..4d3a0f6 100644 --- a/Wms/WMS.BLL/HttpServer.cs +++ b/Wms/WMS.BLL/HttpServer.cs @@ -26,6 +26,298 @@ private static readonly SqlSugarScope Db = DataContext.Db; public HttpServer() { } + + public OutCommandDto RequestPalletIn(string palletNo, string houseNo, int palletNum, string Strlocate) + { + return null; + //try + //{ + // #region 鍒ゆ柇 + // if (string.IsNullOrEmpty(palletNo)) + // { + // throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�"); + // } + // if (string.IsNullOrEmpty(houseNo)) + // { + // throw new Exception("浠撳簱鍙蜂笉鑳戒负绌�"); + // } + // if (palletNum <= 0) + // { + // throw new Exception("鎵樼洏鏁伴噺涓嶈兘灏忕瓑0"); + // } + // if (string.IsNullOrEmpty(Strlocate)) + // { + // throw new Exception("璧峰浣嶇疆涓嶈兘涓虹┖"); + // } + // //鑾峰彇鍌ㄤ綅淇℃伅 + // var locateInfo = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.WareHouseNo == houseNo && m.LocatNo == Strlocate); + // if (locateInfo == null) + // { + // throw new Exception("鏈煡璇㈠埌绌哄偍浣�"); + // } + // if (locateInfo.Flag != "0") + // { + // throw new Exception("褰撳墠浣嶇疆鏍囪瘑鐘舵�佹槸闈炴甯哥殑"); + // } + + // #endregion + + // #region MyRegion + + // var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList(); + // if (stockDetail.Count > 0) + // { + // throw new Exception("褰撳墠鎵樼洏鍦ㄥ簱鍐呭凡鏈夊簱瀛樹俊鎭紝璇锋牳瀹�"); + // } + + // //鑾峰彇鎵樼洏淇℃伅 + // var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo); + // if (pallet == null) + // { + // throw new Exception("鏈煡璇㈠埌鎵樼洏淇℃伅"); + // } + // if (pallet.Status != "0") + // { + // throw new Exception("鎵樼洏鐘舵�佷笉鑳芥湭浣跨敤鐘舵��"); + // } + // //鑾峰彇鎵樼洏淇℃伅 + // var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099"); + // var pNum = 0; + // var bNum = 0; + + // new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); + + // var datetime = Db.GetDate(); + // Db.BeginTran(); + + // // 鎻掑叆鎵樼洏缁戝畾琛� + // var modelpb = new BllPalletBind + // { + // ASNNo = "", + // ASNDetailNo = 0, + // TaskNo = "", //浠诲姟鍙� + // PalletNo = palletNo, + // Qty = palletNum, + // FullQty = pNum, + // Status = "3", //涓婃灦瀹屾垚 + // Type = "1", //0 鐗╂枡鎵� 1 绌烘墭 + // LotNo = "", + // LotText = "", + // SupplierLot = "", + // InspectMark = "0", //0 鍚� 1 鏄� + // BitPalletMark = pNum == palletNum ? "0" : "1", + // IsBale = "0", + // IsBelt = "0", + // CreateUser = 0, + // CreateTime = Db.GetDate() + // }; + // var id = Db.Insertable(modelpb).ExecuteReturnIdentity(); + + // #region 搴撳瓨鏄庣粏 + // var sd1 = new DataStockDetail() + // { + // LotNo = modelpb.LotNo, + // LotText = modelpb.LotText, + // SupplierLot = modelpb.SupplierLot, + // SkuNo = sku.SkuNo, + // SkuName = sku.SkuName, + // Standard = sku.Standard, + // Qty = modelpb.Qty, + // LockQty = 0, + // FrozenQty = 0, + // InspectQty = 0, + // ASNNo = modelpb.ASNNo, + // ASNDetailNo = modelpb.ASNDetailNo, + // WareHouseNo = "", + // RoadwayNo = "", + // AreaNo = "", + // LocatNo = "", + // PalletNo = modelpb.PalletNo, + // PalletNo2 = modelpb.PalletNo2, + // PalletNo3 = modelpb.PalletNo3, + // PalletTags = "0", + // CompleteTime = datetime, + // ProductionTime = modelpb.ProductionTime, + // ExpirationTime = modelpb.ExpirationTime, + // Status = "0", + // InspectMark = modelpb.InspectMark, + // InspectStatus = sku.IsInspect, + // BitPalletMark = modelpb.BitPalletMark, + // PackagNo = sku.PackagNo, + // IsBale = modelpb.IsBale, + // IsBelt = modelpb.IsBelt, + + + // IsDel = "0", + // CreateUser = 0, + // CreateTime = datetime + // }; + // var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity(); + // #endregion + + // #region 搴撳瓨 + // var dataStock1 = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo); + // if (dataStock1 != null) + // { + // dataStock1.Qty += modelpb.Qty; + // if (modelpb.InspectMark == "1") + // { + // dataStock1.IsSampling = "0"; + // } + // Db.Updateable(dataStock1).ExecuteCommand(); + // } + // else + // { + // var stock = new DataStock() + // { + // SkuNo = sku.SkuNo, + // SkuName = sku.SkuName, + // Standard = sku.Standard, + // LotNo = "", + // LotText = "", + // Qty = modelpb.Qty, + // LockQty = 0, + // FrozenQty = 0, + // IsSampling = "0", + // IsDel = "0", + // CreateUser = 0, + // CreateTime = datetime + // }; + // Db.Insertable(stock).ExecuteCommand(); + // } + // #endregion + + + // #region 鐢宠鍌ㄤ綅 + + // SysStorageLocat locate; + // var sku = skuList.FirstOrDefault(m => m.SkuNo == skuNo); + // if (sku == null) + // { + // throw new Exception("鐗╂枡淇℃伅涓湭鏌ヨ鍒板叆搴撳崟鏄庣粏鍖呭惈鐨勭墿鏂欎俊鎭紝涓嶅彲鍏ュ簱"); + // } + // //鍒ゆ柇鐗╂枡鏄惁鍚湁绫诲埆淇℃伅 + // if (string.IsNullOrWhiteSpace(sku.CategoryNo)) + // { + // throw new Exception($"鐗╂枡锛歿sku.SkuNo}鏈煡璇㈠埌绫诲埆淇℃伅"); + // } + + // var skuCategory = skuCategoryList.FirstOrDefault(m => m.CategoryNo == sku.CategoryNo); + // if (skuCategory == null) + // { + // throw new Exception($"鏈湪绫诲埆淇℃伅涓煡璇㈠埌鐗╂枡锛歿sku.SkuNo}鍖呭惈鐨勭被鍒�"); + // } + + // var areaStr = skuCategory.AreaNo.Split(","); + // var areaList = new List<string>(); + // foreach (var item in areaStr) + // { + // areaList.Add(item); + // } + + // locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", ceng); + + + // #endregion + + // #region 娣诲姞浠诲姟 + + // //娣诲姞宸烽亾浣跨敤璁板綍 + // var log = new SysRoadwayUseLog + // { + // RoadwayNo = locateInfo.RoadwayNo, + // WareHouseNo = houseNo, + // Row = 0, + // Column = 0, + // Layer = 0, + // }; + // Db.Insertable(log).ExecuteCommand(); + // var taskNo = new Common().GetMaxNo("TK"); + // var inTask = new LogTask //鍏ュ簱浠诲姟 + // { + // TaskNo = taskNo, + // Sender = "WMS", + // Receiver = "WCS", + // IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 + // SendDate = DateTime.Now, //鍙戦�佹椂闂� + // BackDate = DateTime.Now, //杩斿洖鏃堕棿 + // StartRoadway = "", // 璧峰宸烽亾 + // StartLocat = locate,//璧峰浣嶇疆 + // EndLocat = locateInfo.LocatNo,//鐩爣浣嶇疆 + // EndRoadway = locateInfo.RoadwayNo, // 鐩爣宸烽亾 + // PalletNo = palletNo,//鎵樼洏鐮� + // IsSend = 1,//鏄惁鍙啀娆′笅鍙� + // IsCancel = 1,//鏄惁鍙彇娑� + // IsFinish = 1,//鏄惁鍙畬鎴� + // Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 + // Status = "1",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 + // OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� + // Msg = $"{locateInfo.LocatNo}鍒�=>>" + + "鐨勫叆搴撲换鍔�", //鍏抽敭淇℃伅 + + // }; + // Db.Insertable(inTask).ExecuteCommand(); + // var asnNo = ""; + + // //娣诲姞鎵樼洏涓婃灦璁板綍 + // var upShelf = new BllPalletUpShelf() + // { + // TaskNo = inTask.TaskNo, + // TraceNo = asnNo, + // PalletNo = palletNo, + // SkuNo = stockModel.SkuNo, + // SkuName = stockModel.SkuName, + // LotNo = stockModel.LotNo, + // Status = "1", + + // WareHouseNo = houseNo, + // RoadwayNo = locate.RoadwayNo, + // AreaNo = locate.AreaNo, + // LocatNo = locate.LocatNo, + + // CreateUser = 0, + // }; + // Db.Insertable(upShelf).ExecuteCommand(); + + + + // locate.Status = "2"; + // Db.Updateable(locate).ExecuteCommand(); + + // Db.CommitTran(); + // comDto = new OutCommandDto() + // { + // TaskNo = taskNo, // 浠诲姟鍙� + // TaskType = "0",// 浠诲姟绫诲瀷 + // PalletNo = palletNo,//鎵樼洏鍙� + + // StartRoadway = inTask.StartRoadway, + // StartLocate = inTask.StartLocat, // 璧峰浣嶇疆 + // EndLocate = inTask.EndLocat, // 鐩爣浣嶇疆 + // EndRoadway = inTask.EndRoadway, // 鐩爣宸烽亾 + + // Order = 999, + // Type = PLCTypeEnum.AGV + // }; + + // #endregion + + // // 鏇存敼鎵樼洏浣跨敤鐘舵�� + // string sqlStr = string.Empty; + // sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';"; + // Db.Ado.ExecuteCommand(sqlStr); + // Db.CommitTran(); + + // #endregion + + // return null; + //} + //catch (Exception e ) + //{ + // throw new Exception(e.Message); + //} + } + + /// <summary> /// 鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛� /// </summary> diff --git a/Wms/WMS.BLL/Logic/AllotSku.cs b/Wms/WMS.BLL/Logic/AllotSku.cs index a780b7a..b4be3d2 100644 --- a/Wms/WMS.BLL/Logic/AllotSku.cs +++ b/Wms/WMS.BLL/Logic/AllotSku.cs @@ -237,7 +237,7 @@ /// </summary> /// <param name="palletList"></param> /// <returns></returns> - private List<DataStockDetail> GetDataListOrder(List<DataStockDetail> palletList) + public List<DataStockDetail> GetDataListOrder(List<DataStockDetail> palletList) { try { diff --git a/Wms/WMS.IBLL/IHttpServer.cs b/Wms/WMS.IBLL/IHttpServer.cs index 748ec82..d99d8df 100644 --- a/Wms/WMS.IBLL/IHttpServer.cs +++ b/Wms/WMS.IBLL/IHttpServer.cs @@ -11,6 +11,16 @@ #region WCS /// <summary> + /// 绌烘墭璺虹粍鎵樺叆搴� + /// </summary> + /// <param name="palletNo">鎵樼洏鍙�</param> + /// <param name="houseNo">浠撳簱</param> + /// <param name="palletNum">鎵樼洏鏁伴噺</param> + /// <param name="locate">璧峰浣嶇疆</param> + /// <returns></returns> + OutCommandDto RequestPalletIn(string palletNo, string houseNo, int palletNum, string Strlocate); + + /// <summary> /// 鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛� /// </summary> /// <param name="palletNo"></param> diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs index e9f10fe..1a8c847 100644 --- a/Wms/Wms/Controllers/DownApiController.cs +++ b/Wms/Wms/Controllers/DownApiController.cs @@ -329,6 +329,40 @@ #region WMS鎺ュ彛 琚笅娓哥郴缁熸帴鍙h皟鐢� /// <summary> + /// WCS鐢宠绌烘墭璺虹粍鎵樺叆搴� 锛堝彔鎵樼洏鏈猴級 + /// </summary> + /// <param name="model">鍏ュ簱鍗曚俊鎭�</param> + /// <returns></returns> + [AllowAnonymous] + [HttpPost] + public IActionResult RequestPalletIn(RequestLocate model) + { + var logStr = ""; + + logStr = $@".\log\WCS\WCS鐢宠绌烘墭璺虹粍鎵樺叆搴�" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + + try + { + + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴擄細( {jsonData} ),", logStr); + + var list = _http.RequestPalletIn(model.PalletNo, model.HouseNo, model.palletNum,model.locate); + + LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴撹繑鍥烇細( {JsonConvert.SerializeObject(list)} ),", logStr); + + return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list }); + } + catch (Exception e) + { + LogFile.SaveLogToFile($"WCS鐢宠绌烘墭璺虹粍鎵樺叆搴撹繑鍥烇細( {e.Message} ),", logStr); + + return Ok(new ErpModel { Success = -1, Message = e.Message }); + } + } + + + /// <summary> /// PDA 浜哄伐鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛� /// </summary> /// <param name="model">鍏ュ簱鍗曚俊鎭�</param> -- Gitblit v1.8.0