From 2be1922b035c182c3c516427aa68be54badd6938 Mon Sep 17 00:00:00 2001 From: IPC-610 <IPC-610@DESKTOP-6LEOOS3> Date: 星期四, 26 九月 2024 15:15:52 +0800 Subject: [PATCH] 登录页修改 --- Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 171 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 141 insertions(+), 30 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs index b4df4b9..a23c682 100644 --- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs @@ -17,6 +17,7 @@ using WMS.Entity.Context; using WMS.Entity.SysEntity; using WMS.IBLL.IBllAsnServer; +using WMS.BLL.SysServer; namespace WMS.BLL.BllAsnServer { @@ -112,7 +113,7 @@ sqlString += "LEFT JOIN SysMaterials AS tb5 on tb1.SkuNo = tb5.SkuNo "; sqlString += "LEFT JOIN SysUnit AS tb6 on tb5.UnitNo = tb6.UnitNo "; sqlString += "LEFT JOIN SysPackag AS tb7 on tb1.PackagNo = tb7.PackagNo "; - sqlString += $"WHERE tb1.ASNNo = '{model.ASNNo}' AND tb1.IsDel = '0' order by tb1.SkuNo desc "; + sqlString += $"WHERE tb1.ASNNo = '{model.ASNNo}' AND tb1.IsDel = '0' AND tb5.IsDel = '0' order by tb1.SkuNo desc "; sqlString += $"offset {((model.Page - 1) * model.Limit)} rows fetch next {rowCount} rows only;"; var modelList = Db.Ado.SqlQuery<ArrivalNoticeDetailDto>(sqlString); @@ -153,31 +154,58 @@ try { string skuType = string.Empty; + int IsPack = 0; //0锛氫笉绠� 1锛氳创 2锛氫笉璐� + /** + * 鎴愬搧璐� 0 + * 閲囪喘鍙创鍙笉璐� 1 + * 涓棿鍝佷笉璐� 2 + * 閫�璐ц创 3 + * 浣欐枡閫�鍥炲彲璐村彲涓嶈创 4 + * 鍏跺畠鍙创鍙笉璐� 5 + * 浠e偍涓嶈创 6 + * 瀵勫瓨涓嶈创 7 + */ switch (model.Type)//0锛氬師鏂� 1锛氬寘鏉� 2锛氭垚鍝� 3锛氳�楁潗 4锛氬崐鎴愬搧 { case "0"://鎴愬搧鍏ュ簱 - case "3"://閫�璐у叆搴� - case "5"://鍏跺畠鍏ュ簱 - case "6"://浠e偍鍏ュ簱 skuType = "(2)"; + IsPack = 1; //璐� break; case "1"://閲囪喘鍏ュ簱 - case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴� skuType = "(0,1,3)"; break; case "2"://涓棿鍝佸叆搴� skuType = "(4)"; + IsPack = 2; //涓嶈创 + break; + case "3"://閫�璐у叆搴� + skuType = "(2)"; + IsPack = 1; //璐� + break; + case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴� + skuType = "(0,1,3)"; + break; + case "5"://鍏跺畠鍏ュ簱 + skuType = "(0,1,3)"; + break; + case "6"://浠e偍鍏ュ簱 + skuType = "(2)"; + IsPack = 2; //涓嶈创 break; case "7"://瀵勫瓨鍏ュ簱 - skuType = "(0,1,2,3,4)"; + //skuType = "(3)"; + IsPack = 2; //涓嶈创 break; default: //鍏跺畠 - skuType = "(0,1,2,3,4)"; + //skuType = "(0,1,2,3,4)"; break; } Expression<Func<SysMaterials, bool>> item = Expressionable.Create<SysMaterials>() - .AndIF(true, it => skuType.Contains(it.Type)) + .AndIF(model.Type != "7", it => skuType.Contains(it.Type) && it.SkuNo != "100088") + .AndIF(model.Type == "7", it => it.SkuNo == "100088") + .AndIF(IsPack == 1, it => it.PackagNo != "") + .AndIF(IsPack == 2, it => it.PackagNo == "") .AndIF(true, it => it.IsDel == "0") .And(it => it.SkuNo != "100099") .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), @@ -192,6 +220,8 @@ .Includes(x => x.UnitInfo) .Includes(x => x.PackagInfo) .ToList(); + + return data.Select(m => new MaterialsDto() { @@ -230,7 +260,7 @@ string sqlString = string.Empty; string sqlDetailStr = string.Empty; //0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欏叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴� - var TypeLot = "1, 2, 5, 6, 7"; + var TypeLot = "1, 2, 5, 6, 7"; //鎵规鍙负绌哄崟鎹被鍨� try { @@ -643,6 +673,11 @@ //{ // throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负鎵ц瀹屾垚"); //} + var palletBind = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo && m.Status != "2").ToList(); + if (palletBind != null && palletBind.Count > 0) + { + throw new Exception("瀛樺湪鏈叆搴撳畬鎴愭墭鐩樹俊鎭紝涓嶅厑璁稿叧鍗�"); + } var sqlString = ""; @@ -739,16 +774,35 @@ } var info = boxInfo.First(m => m.BindNo == item.Id); - if (!msgS.Contains(info.SkuNo)) + //鑾峰彇鎵樼洏缁戝畾瀵瑰簲鍗曟嵁 + var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(a => a.IsDel == "0" && a.Id == item.ASNDetailNo); + if (info != null) { - msgS += info.SkuNo + ";"; + if (!msgS.Contains(info.SkuNo)) + { + msgS += info.SkuNo + ";"; + } + + if (!msgL.Contains(info.LotNo)) + { + msgL += info.LotNo + ";"; + + } + } + else + { + if (!msgS.Contains(noticeDetail.SkuNo)) + { + msgS += noticeDetail.SkuNo + ";"; + } + + if (!msgL.Contains(noticeDetail.LotNo)) + { + msgL += noticeDetail.LotNo + ";"; + + } } - if (!msgL.Contains(info.LotNo)) - { - msgL += info.LotNo + ";"; - - } } var time = DateTime.Now; var log = new BllAuditLog() @@ -816,11 +870,11 @@ /// </summary> /// <param name="model"></param> /// <returns></returns> - public ErpModel CreateAsn(AsnInfo model) + public HttpReturnModel HttpCreateAsn(AsnInfo model) { try { - var resultModel = new ErpModel() { Success = -1, Message = "" }; + var resultModel = new HttpReturnModel() { Success = "-1", Message = "" }; if (string.IsNullOrEmpty(model.AsnType)) { resultModel.Message = "鍗曟嵁绫诲瀷涓嶅彲涓虹┖!"; @@ -856,7 +910,7 @@ { ASNNo = asnNo, Type = model.AsnType, - Origin = model.Origin, + Origin = string.IsNullOrEmpty(model.Origin) ? "ERP" : model.Origin, CustomerNo = model.Customer, CustomerName = CustomerModel.CustomerName, OrderCode = model.OrderCode, @@ -919,7 +973,7 @@ Db.Insertable(detailModels).ExecuteCommand(); Db.CommitTran(); - resultModel.Success = 0; + resultModel.Success = "0"; resultModel.Message = "鎴愬姛"; return resultModel; } @@ -931,7 +985,7 @@ } //璁㈠崟鍥炰紶涓婃父绯荤粺 - public bool FinishAsn(int id, string url, int userId) + public bool FinishAsn(int id, string erpUrl, string mesUrl,string mesTokenUrl, int userId) { try { @@ -939,6 +993,10 @@ if (notice == null) { throw new Exception("鏈煡璇㈠埌鍗曟嵁淇℃伅"); + } + if (notice.Status != "3") + { + throw new Exception("澶嶆牳澶辫触锛屽崟鎹潪鍏抽棴鐘舵��"); } var detail = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == notice.ASNNo && m.IsDel == "0").ToList(); if (detail.Count == 0) @@ -962,23 +1020,53 @@ }; list.Add(item); } - var soInfo = new AsnInfo() + var asnInfo = new AsnInfo() { OrderCode = notice.OrderCode, AsnDetails = list }; - #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp + #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp 鎴� mes //绯荤粺瀵规帴鍚庢斁寮� - /*var jsonData = JsonConvert.SerializeObject(soInfo); + var jsonData = JsonConvert.SerializeObject(asnInfo); + var mesList = new List<string>() { "0", "4" }; //0 鎴愬搧鍏ュ簱 4浣欐枡閫�鍥炲叆搴� + var erpList = new List<string>() { "1", "2", "3" }; //1 閲囪喘鍏ュ簱 2涓棿鍝佸叆搴� 3 閫�璐у叆搴� - var response = HttpHelper.DoPost(url, jsonData, "鍏ュ簱鍗曞畬鎴愪笂浼�", "ERP"); - - var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁 - if (obj.Success != 0) + if (mesList.Contains(notice.Type)) // mes { - throw new Exception("涓婁紶澶辫触" + obj.Message); - }*/ + //鑾峰彇浠ょ墝 + var token = new Token().GetMesToken(mesTokenUrl); + Dictionary<string, string> mesDic = new Dictionary<string, string>() + { + {"Authorization",token } + }; + var mesData = new FinishAsnModel() + { + no = asnInfo.OrderCode, + qty = asnInfo.AsnDetails.Sum(m=>m.Qty) + }; + jsonData = JsonConvert.SerializeObject(mesData); + //璋冪敤鎺ュ彛 + var response = HttpHelper.DoPost(mesUrl, jsonData, "鍏ュ簱鍗曞畬鎴愪笂浼�", "MES", mesDic); + + var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁 + if (obj.status != "0") + { + throw new Exception("涓婁紶澶辫触" + obj.message); + } + } + else if (erpList.Contains(notice.Type)) //erp + { + var response = HttpHelper.DoPost(erpUrl, jsonData, "鍏ュ簱鍗曞畬鎴愪笂浼�", "ERP"); + + var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁 + if (obj.Success != 0) + { + throw new Exception("涓婁紶澶辫触" + obj.Message); + } + } + + #endregion notice.Status = "4"; @@ -995,6 +1083,29 @@ } } + public void UpLocate(string wareNo,string locatNo) + { + try + { + if (string.IsNullOrWhiteSpace(wareNo) || string.IsNullOrWhiteSpace(locatNo)) + { + throw new Exception("浠撳簱鎴栧偍浣嶄笉鑳戒负绌�"); + } + var locate = Db.Queryable<SysStorageLocat>().First(m=>m.IsDel == "0" && m.LocatNo == locatNo && m.WareHouseNo == wareNo); + if (locate == null) + { + throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅"); + } + locate.Status = "0";//鍌ㄤ綅鐘舵�佸彉鏇寸┖鍌ㄤ綅 + Db.Updateable(locate).ExecuteCommand(); + + } + catch (Exception e) + { + throw new Exception(e.Message); + } + } + #endregion } -- Gitblit v1.8.0