From d64f81bccb25c98261b84a4355f92c3b32470606 Mon Sep 17 00:00:00 2001 From: zhaowc <526854230@qq.com> Date: 星期一, 07 四月 2025 09:32:56 +0800 Subject: [PATCH] 日期显示问题修改 --- Wms/WMS.BLL/DataServer/StockServer.cs | 302 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 292 insertions(+), 10 deletions(-) diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs index 8ab0b61..f784e43 100644 --- a/Wms/WMS.BLL/DataServer/StockServer.cs +++ b/Wms/WMS.BLL/DataServer/StockServer.cs @@ -9,6 +9,7 @@ using Model.InterFaceModel; using Model.ModelDto; using Model.ModelDto.DataDto; +using Model.ModelDto.LogDto; using Model.ModelDto.SysDto; using Model.ModelVm.DataVm; using Newtonsoft.Json; @@ -89,9 +90,35 @@ //搴撳瓨鎬婚噺 List<MateDataStockDto> StockListDto = new List<MateDataStockDto>(); + DataStockDetail detail = new DataStockDetail(); foreach (var item in StockList) { + + detail = Db.Queryable<DataStockDetail>().First(w => w.SkuNo == item.SkuNo && w.LotNo == item.LotNo && w.IsDel == "0"); + if (detail != null) + { + if (!string.IsNullOrEmpty(detail.ProductionTime.ToString())) + { + item.ProductionTime = (DateTime)detail.ProductionTime; + } + else + { + item.ProductionTime = null; + } + if (!string.IsNullOrEmpty(detail.ExpirationTime.ToString())) + { + item.ExpirationTime = (DateTime)detail.ExpirationTime; + } + else + { + item.ExpirationTime = null; + } + item.InspectStatus = detail.InspectStatus; + } + + + StockListDto.Add(item); ////鍒ゆ柇搴撳瓨鎬婚噺鏄惁鎷ユ湁鐗╂枡 //if (StockListDto.Count > 0) @@ -237,10 +264,70 @@ categoryNo = categoryNo, //閫昏緫搴撳尯 type = type }); + foreach (var item in stockDetailsList) + { + if (!string.IsNullOrEmpty(item.LocatNo)) + { + if (item.WareHouseNo == "W01") + { + item.PLCLocatNo = GetDjAdress(item.LocatNo.Substring(1, 2), item.LocatNo.Substring(0, 2), item.LocatNo.Substring(6, 2)).ToString() + item.LocatNo.Substring(2, 2) + item.LocatNo.Substring(4, 2); + } + } + + } return stockDetailsList; } #endregion + + /// <summary> + /// 鏍规嵁鍌ㄤ綅鎺掕幏鍙栬泛鏈哄搴旂殑鍦板潃鎺�03010302 + /// </summary> + /// <param name="road">鎺�02</param> + /// <param name="pai">鎺�03</param> + /// <param name="dept">娣卞害02</param> + /// <returns></returns> + public static int GetDjAdress(string road, string pai, string dept) + { + var roadNum = int.Parse(road); + var paiNum = int.Parse(pai); + var deptNum = int.Parse(dept); + + var paiVal = 0; + + // 鍒ゆ柇鎺掑鍋舵暟 + if (paiNum % 2 == 0) + { + if (deptNum == 1) + { + paiVal = 3; + } + else + { + paiVal = 4; + } + } + else + { + if (deptNum == 1) + { + paiVal = 2; + + } + else + { + paiVal = 1; + + } + } + + if (paiVal == 0) + { + throw new Exception("鎺掕浆鎹㈠け璐�"); + } + return paiVal; + + } #region 浣庡簱瀛橀璀� @@ -364,9 +451,12 @@ //startTime = startTime, //endTime = endTime }); + DataStock stock = new DataStock(); + stock = Db.Queryable<DataStock>().First(); //鍚堝苟鏁版嵁 int a = 0; + decimal qty = 0; foreach (var h in totalHListData) { if (a >= totalCListData.Count) @@ -375,16 +465,23 @@ } foreach (var c in totalCListData) { + //鍒ゆ柇鍑哄簱鏄惁鎷ユ湁鐩稿悓鎵规 涓旂墿鏂欑浉鍚� if (h.LotNo == c.LotNo) { if (h.SkuNo == c.SkuNo && h.SkuName == c.SkuName) { + stock = Db.Queryable<DataStock>().First(w=>w.SkuNo == h.SkuNo && w.SkuName == h.SkuName && w.LotNo == h.LotNo && w.IsDel == "0"); + if (stock != null) + { + qty = stock.Qty; + } h.CQty = c.CQty; //鍑哄簱鏁伴噺 h.CAllotQty = c.CAllotQty; //鍒嗛厤鏁伴噺 h.CFactQty = c.CFactQty; //涓嬫灦鏁伴噺 h.CompleteQty = c.CompleteQty; //鎷h揣鏁伴噺 - //h.SONo = c.SONo; //鍑哄簱鍗曞彿 + h.Qty = qty; //褰撳墠搴撳瓨 + a += 1; @@ -1101,7 +1198,10 @@ } #endregion - + palletNo.IsCancel = 0; + palletNo.IsSend = 0; + palletNo.IsFinish = 0; + Db.Updateable(palletNo).ExecuteCommand(); Db.CommitTran(); @@ -1353,12 +1453,12 @@ } } } - else + else { storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇璧峰搴撲綅淇℃伅 if (storageStart == null) { - throw new Exception("鏈壘鍒扮浉搴旂殑璧峰搴撲綅"); + isstock = 2; //搴撳彛鍒扮紦瀛樹綅浠诲姟 } } //var soAllot = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo);//鑾峰彇鍒嗛厤淇℃伅 @@ -1377,13 +1477,13 @@ if (isstock == 1) { - startLocat = Db.Queryable<SysStorageLocat>().First(w=> w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); + startLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //淇敼璧峰搴撲綅鐘舵�� startLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 Db.Updateable(startLocat).ExecuteCommand(); - //璋冪敤MES澶囨枡鍙嶉瀹屾垚鎺ュ彛 - #region MES澶囨枡瀹屾垚鍙嶉 + + #region var data = new List<RequertBeiliaoInfoModel>(); //鏇存敼搴撳瓨鏄庣粏 @@ -1472,7 +1572,7 @@ case "1": endlono = "Y003_0" + endLocat.LocatNo.ToString().Substring(5, 2); break; - + } var mescode = Db.Queryable<BllExportNotice>().Where(w => w.SONo == stockDetail.First().SONo).First(); var mesData = new RequertBeiliaoModel() @@ -1495,7 +1595,7 @@ } #endregion } - else //绌烘墭鐩樺鐞� + else if (isstock == 0) { //淇敼缁勬墭淇℃伅 if (bindDetail.WareHouseNo == "W01") //1銆佺┖鎵樼洏鍨涘埌绌烘墭鐩樻敹闆嗗櫒锛� @@ -1524,7 +1624,25 @@ } } Db.Updateable(bindDetail).ExecuteCommand(); + } + else //搴撳彛绉诲簱鍒扮紦瀛樹綅 + { + + foreach (var item in stockDetail) + { + item.LocatNo = endLocat.LocatNo;//鍌ㄤ綅鏇存敼 + item.WareHouseNo = endLocat.WareHouseNo;//鎵�灞炰粨搴撴洿鏀� + item.RoadwayNo = endLocat.RoadwayNo;//鎵�灞炲贩閬撴洿鏀� + item.AreaNo = endLocat.AreaNo;//鎵�灞炲尯鍩熸洿鏀� + + Db.Updateable(item).ExecuteCommand(); + } + } + palletNo.IsCancel = 0; + palletNo.IsSend = 0; + palletNo.IsFinish = 0; + Db.Updateable(palletNo).ExecuteCommand(); Db.CommitTran(); } catch (Exception ex) @@ -1535,7 +1653,7 @@ } #endregion - #region 鏁板瓧瀛敓绯荤粺鑾峰彇搴撳瓨淇℃伅 + #region 鏁板瓧瀛敓绯荤粺鍙嶉淇℃伅 /// <summary> /// 鍙嶉鏁板瓧瀛敓绯荤粺搴撳瓨淇℃伅 @@ -1583,6 +1701,170 @@ throw new Exception("杩斿洖搴撳瓨淇℃伅鏈夎锛岄敊璇俊鎭細" + ex); } } + + + + /// <summary> + /// 鍙嶉鏁板瓧瀛敓绯荤粺鎿嶄綔淇℃伅 + /// </summary> + /// <param name=""></param> + /// <returns></returns> + public List<ReLogDataModel> GetLogDataList() + { + try + { + + //搴撳瓨淇℃伅 + var stockDetailsList = Db.Queryable<DataStockDetail>().ToList(); + var sql = "select LocatNo,PalletNo,SkuName,Standard,LotNo,InspectStatus,Qty,ExpirationTime as Warranty from DataStockDetail "; + + + var item2 = Expressionable.Create<LogOperationSO>() + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list2 = Db.Queryable<LogOperationSO>().Where(item2) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + List<ReLogDataModel> list = Db.Ado.SqlQuery<ReLogDataModel>(sql); + + return list; + } + catch (Exception ex) + { + + throw new Exception("杩斿洖搴撳瓨淇℃伅鏈夎锛岄敊璇俊鎭細" + ex); + } + } + + + /// <summary> + /// 鏌ヨ鎿嶄綔鏃ュ織 + /// </summary> + /// <param name="menuName">鑿滃崟鍚嶇О</param> + /// <param name="type">绫诲瀷</param> + /// <returns></returns> + public List<OperationDto> ReLogData() + { + try + { + var total = 0; + #region asn + + var item = Expressionable.Create<LogOperationASN>() + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list = Db.Queryable<LogOperationASN>().Where(item) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + #region so + + var item2 = Expressionable.Create<LogOperationSO>() + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list2 = Db.Queryable<LogOperationSO>().Where(item2) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + #region cr + + var item3 = Expressionable.Create<LogOperationCR>() + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list3 = Db.Queryable<LogOperationCR>().Where(item3) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + #region sys + + var item4 = Expressionable.Create<LogOperationSys>() + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list4 = Db.Queryable<LogOperationSys>().Where(item4) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + var data = Db.UnionAll(list, list2, list3, list4).OrderByDescending(it => it.CreateTime); + return data.OrderByDescending(m => m.CreateTime).ToList(); + } + catch (Exception e) + { + throw new Exception(e.Message); + } + } #endregion } } -- Gitblit v1.8.0