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