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/BllSoServer/ExportNoticeServer.cs |  280 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 154 insertions(+), 126 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 3209e53..2aab36e 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -41,7 +41,7 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public bool ErpAddExportNotice(SoInfo model)
+        public void HttpAddExportNotice(SoInfo model)
         {
             try
             {
@@ -139,8 +139,8 @@
                         }
                         else
                         {
-                            stocks = stockList.Where(m=> m.SkuNo == d.SkuNo && !string.IsNullOrWhiteSpace(m.LotNo)).OrderBy(s => s.LotNo).ToList();
-                            
+                            stocks = stockList.Where(m => m.SkuNo == d.SkuNo && !string.IsNullOrWhiteSpace(m.LotNo)).OrderBy(s => s.LotNo).ToList();
+
                             foreach (var demo in stocks)
                             {
                                 if (q1 >= d.Qty)
@@ -148,7 +148,7 @@
                                     continue;
                                 }
                                 var q2 = demo.Qty - demo.LockQty - demo.FrozenQty;
-                                 
+
                                 if (q2 > d.Qty - q1)
                                 {
                                     q1 += d.Qty - q1;
@@ -157,9 +157,9 @@
                                 else
                                 {
                                     q1 += q2;
-                                    dic.Add(demo.Id,q2);
+                                    dic.Add(demo.Id, q2);
                                 }
-                                
+
                             }
                             if (d.Qty >= q1)
                             {
@@ -185,7 +185,7 @@
                                 throw new Exception($"鎬诲簱瀛樹腑鍑哄簱鐗╂枡淇℃伅:{d.SkuNo} 搴撳瓨鏁伴噺涓嶈冻");
                             }
                         }
-                        
+
                         foreach (var s in dic)
                         {
                             var st = stockList.First(a => a.Id == s.Key);
@@ -214,19 +214,19 @@
                                 CreateUser = 0,
                             };
                             list.Add(item);
-                           
+
                             st.LockQty += s.Value;//閿佸畾鏁伴噺
                             var i = Db.Updateable(st).UpdateColumns(it => new { it.LockQty })
                                 .ExecuteCommand();
                         }
-                       
+
                     }
                     var notice = new BllExportNotice()
                     {
                         SONo = billNo,
                         Type = model.SoType,
                         Status = "0",
-                        Origin = "WMS",
+                        Origin = model.Origin,
                         CustomerNo = model.Customer,
                         CustomerName = customer.CustomerName,
                         LogisticsId = logisticsId,
@@ -242,12 +242,10 @@
 
                     if (n <= 0 || m <= 0)
                     {
-                        Db.RollbackTran();
-                        return false;
+                        throw new Exception("鍏ュ簱鍗曟垨鏄庣粏娣诲姞淇濆瓨澶辫触");
                     }
                     Db.CommitTran();
-                    return true;
-
+                    
                 }
                 catch (Exception ex)
                 {
@@ -259,7 +257,6 @@
             }
             catch (Exception ex)
             {
-                Db.RollbackTran();
                 throw new Exception(ex.Message);
             }
         }
@@ -363,31 +360,31 @@
                     .LeftJoin<SysUserInfor>((a, b, c, d, e) => a.CheckUser == e.Id)
                     .Select((a, b, c, d, e) => new ExportNoticeDto()
                     {
-                        Id = a.Id,
-                        SONo = a.SONo,
-                        Type = a.Type,
-                        Status = a.Status,
-                        Origin = a.Origin,
-                        CustomerNo = a.CustomerNo,
-                        CustomerName = a.CustomerName,
-                        LotNo = a.LotNo,
-                        LotText = a.LotText,
-                        SupplierLot = a.SupplierLot,
-                        LogisticsId = a.LogisticsId,
+                        //Id = a.Id,
+                        //SONo = a.SONo,
+                        //Type = a.Type,
+                        //Status = a.Status,
+                        //Origin = a.Origin,
+                        //CustomerNo = a.CustomerNo,
+                        //CustomerName = a.CustomerName,
+                        //LotNo = a.LotNo,
+                        //LotText = a.LotText,
+                        //SupplierLot = a.SupplierLot,
+                        //LogisticsId = a.LogisticsId,
                         LogisticsName = b.CarrierName,
-                        IsWave = a.IsWave,
-                        WaveNo = a.WaveNo,
-                        IsDespatch = a.IsDespatch,
-                        Demo = a.Demo,
+                        //IsWave = a.IsWave,
+                        //WaveNo = a.WaveNo,
+                        //IsDespatch = a.IsDespatch,
+                        //Demo = a.Demo,
 
                         CreateUserName = c.RealName,
                         UpdateUserName = c.RealName,
-                        CreateTime = a.CreateTime,
-                        UpdateTime = a.UpdateTime,
+                        //CreateTime = a.CreateTime,
+                        //UpdateTime = a.UpdateTime,
 
                         CheckUserName = e.RealName,
-                        CheckTime = a.CheckTime
-                    })
+                        //CheckTime = a.CheckTime
+                    },true)
                     .OrderByDescending(a => a.CreateTime)
                     .ToOffsetPage(page, limit, ref total);
                 count = total;
@@ -462,7 +459,7 @@
                     throw new Exception("鏈煡鍒板搴斿嚭搴撶被鍨嬬殑鐗╂枡");
                 }
 
-                if (type!="8")
+                if (type != "8")
                 {
                     skuList = skuList.Where(m => m != "100088").ToList();
                 }
@@ -478,6 +475,7 @@
                     .AndIF(!string.IsNullOrWhiteSpace(inspectStatus), it => inspectStatus.Contains(it.InspectStatus))
                     .And(m => skuList.Contains(m.SkuNo))
                     .AndIF(type == "6", m => m.OwnerNo == ownerNo)//浠e偍鍑哄簱闇�瑕佸叧鑱旇揣涓�
+                    .AndIF(type == "2", m=> string.IsNullOrWhiteSpace(m.OwnerNo))
                     .AndIF(!string.IsNullOrWhiteSpace(msg), it => (it.SkuNo.Contains(msg) || it.SkuName.Contains(msg) || it.LotNo.Contains(msg)))
                     .And(it => (it.Qty - it.LockQty - it.FrozenQty) > 0)
                     .And(it => (it.Status == "0" || it.Status == "1"))
@@ -506,7 +504,8 @@
                     SkuName = it.SkuName,
                     LotNo = it.LotNo,
                     Standard = it.Standard,
-                    Qty = type == "4" ? it.Qty : it.Qty - it.LockQty - it.FrozenQty
+                    //Qty = type == "4" ? it.Qty : it.Qty - it.LockQty - it.FrozenQty,
+                    Qty = it.Qty - it.LockQty - it.FrozenQty,
 
                 }).ToList();
 
@@ -644,7 +643,7 @@
                             //}
                             //if (d.Qty >= q1)
                             //{
-                                stocks = stockList.Where(s => s.SkuNo == d.SkuNo && string.IsNullOrWhiteSpace(s.LotNo)).ToList();
+                            stocks = stockList.Where(s => s.SkuNo == d.SkuNo && string.IsNullOrWhiteSpace(s.LotNo)).ToList();
                             //    if (stocks.Count == 0)
                             //    {
                             //        throw new Exception($"鎬诲簱瀛樹腑鍑哄簱鐗╂枡淇℃伅:{d.SkuNo}搴撳瓨鏁伴噺涓嶈冻");
@@ -666,7 +665,7 @@
                             //    throw new Exception($"鎬诲簱瀛樹腑鍑哄簱鐗╂枡淇℃伅:{d.SkuNo} 搴撳瓨鏁伴噺涓嶈冻");
                             //}
                         }
-                        
+
                         var item = new BllExportNoticeDetail()
                         {
                             SONo = billNo,
@@ -693,7 +692,7 @@
                         };
                         list.Add(item);
 
-                        
+
                         stocks.First().LockQty += d.Qty;//閿佸畾鏁伴噺
                         var i = Db.Updateable(stocks.First()).UpdateColumns(it => new { it.LockQty })
                             .ExecuteCommand();
@@ -2171,23 +2170,23 @@
 
                         try
                         {
-                            //var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                            //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
-                            //var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+                            var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+                            response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
+                            var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
 
                             //////瑙f瀽杩斿洖鏁版嵁 
-                            //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                            //if (wcsModel.StatusCode == 0)
-                            //{
-                            //    //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
-                            //    new TaskServer().EditTaskIssueOk(list2, time1, time2);
-                            //    str += "涓嬪彂鎴愬姛";
-                            //}
-                            //if (wcsModel.StatusCode == -1)
-                            //{
-                            //    new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
-                            //    throw new Exception(wcsModel.Msg);
-                            //}
+                            var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
+                            if (wcsModel.StatusCode == 0)
+                            {
+                                //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+                                new TaskServer().EditTaskIssueOk(list2, time1, time2);
+                                str += "涓嬪彂鎴愬姛";
+                            }
+                            if (wcsModel.StatusCode == -1)
+                            {
+                                new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
+                                throw new Exception(wcsModel.Msg);
+                            }
                         }
                         catch (Exception ex)
                         {
@@ -2454,7 +2453,7 @@
 
 
         //閲嶆柊涓嬪彂鍑哄簱浠诲姟
-        public OutCommandDto AgainSendSoTask(string taskNo, int userId, string url)
+        public OutCommandDto AgainSendSoTask(string taskNo, string Receiver, int userId, string url)
         {
             try
             {
@@ -2505,22 +2504,42 @@
                 {
                     //绋嬪簭姝e紡鍙戝竷鍚庢斁寮�
                     var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                    var response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
+                    var response = HttpHelper.DoPost(url, jsonData, Receiver == "WCS" ? "涓嬪彂缁橶CS鍑哄簱鍛戒护" : "涓嬪彂缁橝GV鍑哄簱鍛戒护", "WCS");
                     var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
 
-                    ////瑙f瀽杩斿洖鏁版嵁 
-                    var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                    if (wcsModel.StatusCode == 0)
+                    if (Receiver == "WCS")
                     {
-                        //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
-                        new TaskServer().EditTaskIssueOk(list, time1, time2);
+                        ////瑙f瀽杩斿洖鏁版嵁 
+                        var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
+                        if (wcsModel.StatusCode == 0)
+                        {
+                            //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+                            new TaskServer().EditTaskIssueOk(list, time1, time2);
 
+                        }
+                        if (wcsModel.StatusCode == -1)
+                        {
+                            new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg);
+                            throw new Exception($"wcs杩斿洖鐘舵�佸紓甯革細{wcsModel.Msg}");
+                        }
                     }
-                    if (wcsModel.StatusCode == -1)
+                    else if (Receiver == "AGV")
                     {
-                        new TaskServer().EditTaskIssueNo(list, time1, time2, wcsModel.Msg);
-                        throw new Exception($"wcs杩斿洖鐘舵�佸紓甯革細{wcsModel.Msg}");
+                        ////瑙f瀽杩斿洖鏁版嵁 
+                        var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response);
+                        if (agvModel.Code == "0")
+                        {
+                            //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+                            new TaskServer().EditTaskIssueOk(list, time1, time2);
+
+                        }
+                        if (agvModel.Code == "1")
+                        {
+                            new TaskServer().EditTaskIssueNo(list, time1, time2, agvModel.Message);
+                            throw new Exception($"agv杩斿洖鐘舵�佸紓甯革細{agvModel.Message}");
+                        }
                     }
+                    
                 }
                 catch (Exception ex)
                 {
@@ -2548,6 +2567,38 @@
                     {
                         throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅");
                     }
+                    //鑾峰彇瀵瑰簲搴撲綅淇℃伅
+                    var startlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.StartLocat);
+                    if (startlocat == null)
+                    {
+                        throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅");
+                    }
+                    startlocat.Status = "0";//淇敼鍒嗛厤淇℃伅鐘舵��
+                    //鑾峰彇鍌ㄤ綅淇℃伅
+                    var locat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.StartLocat);
+                    //鑾峰彇绉诲簱浠籨鍔″搴旂洰鏍囧偍浣嶄俊鎭�
+                    SysStorageLocat endlocat = new SysStorageLocat();
+                    if (task.Type == "2")
+                    {
+                        endlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.EndLocat);
+                        if (endlocat == null)
+                        {
+                            throw new Exception("鏈煡璇㈠埌鐩爣鍌ㄤ綅淇℃伅");
+                        }
+                    }
+                    if (locat == null)
+                    {
+                        Db.RollbackTran();
+                        throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅锛岃鏍稿疄锛�");
+                    }
+                    locat.Status = "1"; //鏈夌墿鍝�
+                    Db.Updateable(locat).ExecuteCommand();
+                    if (endlocat != null)
+                    {
+                        endlocat.Status = "0"; //绌哄偍浣� 0
+                        Db.Updateable(endlocat).ExecuteCommand();
+                    }
+
                     //淇敼浠诲姟 
                     task.IsSuccess = 1;
                     task.IsSend = 0;
@@ -2571,31 +2622,6 @@
 
                         noticeDetail.FactQty -= item.Qty; //淇敼鍑哄簱鍗曟槑缁嗙殑涓嬫灦鏁伴噺
                         Db.Updateable(noticeDetail).ExecuteCommand();
-
-                        //鑾峰彇鍌ㄤ綅淇℃伅
-                        var locat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.StartLocat);
-                        //鑾峰彇绉诲簱浠诲姟瀵瑰簲鐩爣鍌ㄤ綅淇℃伅
-                        SysStorageLocat endlocat = new SysStorageLocat();
-                        if (task.Type == "2")
-                        {
-                            endlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W03" && a.LocatNo == task.EndLocat);
-                            if (endlocat == null)
-                            {
-                                throw new Exception("鏈煡璇㈠埌鐩爣鍌ㄤ綅淇℃伅");
-                            }
-                        }
-                        if (locat == null)
-                        {
-                            Db.RollbackTran();
-                            throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅锛岃鏍稿疄锛�");
-                        }
-                        locat.Status = "1"; //鏈夌墿鍝�
-                        Db.Updateable(locat).ExecuteCommand();
-                        if (endlocat != null)
-                        {
-                            endlocat.Status = "0"; //绌哄偍浣� 0
-                            Db.Updateable(endlocat).ExecuteCommand();
-                        }
 
                         if (noticeDetail.FactQty == 0)
                         {
@@ -2846,11 +2872,11 @@
                             throw new Exception("搴撳瓨涓嶈冻,鏃犲彲鍑哄簱搴撳瓨");
                         }
                         //0:鎴愬搧鍑哄簱銆�1:棰嗘枡鍑哄簱銆�2:鎶芥鍑哄簱銆�3锛氱墿鏂欏彇鏍峰嚭搴撱��4:涓嶅悎鏍煎搧鍑哄簱銆�5:涓棿鍝佸嚭搴撱��6:浠e偍鍑哄簱銆�7:鍏朵粬鍑哄簱銆�8:瀵勫瓨鍑哄簱
-                        if (notice.Type == "0" || notice.Type == "1" )//鎴愬搧銆佸師杈呮枡鍑哄簱
+                        if (notice.Type == "0" || notice.Type == "1")//鎴愬搧銆佸師杈呮枡鍑哄簱
                         {
                             stockDetail = stockDetail.Where(m => m.InspectStatus == "1").ToList();
                         }
-                        else if (notice.Type == "3" )//鍙栨牱鍑哄簱
+                        else if (notice.Type == "3")//鍙栨牱鍑哄簱
                         {
                             stockDetail = stockDetail.Where(m => m.InspectStatus == "0").ToList();
                         }
@@ -2861,46 +2887,48 @@
                         else if (notice.Type == "4")//涓嶅悎鏍煎嚭搴�
                         {
                             stockDetail = stockDetail.Where(m => m.InspectStatus == "2").ToList();
-                        } 
+                        }
 
                         #region 鍖呰淇℃伅
 
                         var pack = packList.FirstOrDefault(p => p.PackagNo == detail.PackagNo);
-                        if (pack == null)
-                        {
-                            throw new Exception("鏈煡璇㈠埌鐗╂枡鍖呰");
-                        }
                         var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
                         var bNum = 0;//绠辩墿鍝佹暟閲�
-                        if (pack.L5Num.HasValue)
+                        if (pack != null)
                         {
-                            pNum = Convert.ToInt32(pack.L5Num);
-                            bNum = Convert.ToInt32(pack.L4Num);
+                            //throw new Exception("鏈煡璇㈠埌鐗╂枡鍖呰");
+                            if (pack.L5Num.HasValue)
+                            {
+                                pNum = Convert.ToInt32(pack.L5Num);
+                                bNum = Convert.ToInt32(pack.L4Num);
+                            }
+                            else if (pack.L4Num.HasValue)
+                            {
+                                pNum = Convert.ToInt32(pack.L4Num);
+                                bNum = Convert.ToInt32(pack.L3Num);
+                            }
+                            else if (pack.L3Num.HasValue)
+                            {
+                                pNum = Convert.ToInt32(pack.L3Num);
+                                bNum = Convert.ToInt32(pack.L2Num);
+                            }
+                            else if (pack.L2Num.HasValue)
+                            {
+                                pNum = Convert.ToInt32(pack.L2Num);
+                                bNum = Convert.ToInt32(pack.L1Num);
+                            }
+                            else if (pack.L1Num.HasValue)
+                            {
+                                pNum = Convert.ToInt32(pack.L1Num);
+                                bNum = Convert.ToInt32(pack.L1Num);
+                            }
                         }
-                        else if (pack.L4Num.HasValue)
-                        {
-                            pNum = Convert.ToInt32(pack.L4Num);
-                            bNum = Convert.ToInt32(pack.L3Num);
-                        }
-                        else if (pack.L3Num.HasValue)
-                        {
-                            pNum = Convert.ToInt32(pack.L3Num);
-                            bNum = Convert.ToInt32(pack.L2Num);
-                        }
-                        else if (pack.L2Num.HasValue)
-                        {
-                            pNum = Convert.ToInt32(pack.L2Num);
-                            bNum = Convert.ToInt32(pack.L1Num);
-                        }
-                        else if (pack.L1Num.HasValue)
-                        {
-                            pNum = Convert.ToInt32(pack.L1Num);
-                            bNum = Convert.ToInt32(pack.L1Num);
-                        }
-                        if (pNum == 0)
-                        {
-                            throw new Exception("鏈煡璇㈠埌鐗╂枡鍖呰鎵樼鍏崇郴淇℃伅");
-                        }
+
+
+                        //if (pNum == 0)
+                        //{
+                        //    throw new Exception("鏈煡璇㈠埌鐗╂枡鍖呰鎵樼鍏崇郴淇℃伅");
+                        //}
                         #endregion
                         //鍙栧悎閫傚簱瀛樺晢鍝�
                         Dictionary<int, decimal> stockQtyDic = new Dictionary<int, decimal>();//鎵樺嚭搴撶墿鍝佹暟
@@ -3115,7 +3143,7 @@
                         //    {
                         //        d.LotNo = "";
                         //    }
-                            
+
                         //}
                     }
                     notice.Status = "0";
@@ -3286,7 +3314,7 @@
                 //var stockz = Db.Queryable<DataStock>().First(d => d.IsDel == "0" && d.SkuNo == detail.SkuNo && d.LotNo == detail.LotNo);
 
                 var allotList = new List<BllExportAllot>();
-                var outQtys = 0;
+                decimal outQtys = 0;
                 foreach (var st in model.StockList)
                 {
                     var stock = stockList.First(a => a.Id == st.StockId);
@@ -3335,7 +3363,7 @@
                         bl.Qty += st.Qty;
                         Db.Updateable(bl).ExecuteCommand();
                     }
-                    
+
                     //搴撳瓨鏄庣粏
                     stock.LockQty += st.Qty;
                     stock.Status = stock.LockQty == stock.Qty ? "2" : "1";

--
Gitblit v1.8.0