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 |  129 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 102 insertions(+), 27 deletions(-)

diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index cc445d9..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,39 +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"://鎴愬搧鍏ュ簱
                         skuType = "(2)";
+                        IsPack = 1; //璐�
+                        break;
+                    case "1"://閲囪喘鍏ュ簱
+                        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)";
-                        break;
-                    case "1"://閲囪喘鍏ュ簱
-                        skuType = "(0,1,3)";
-                        break;
-                    case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴�
-                        skuType = "(0,1,3)";
-                        break;
-                    case "2"://涓棿鍝佸叆搴�
-                        skuType = "(4)";
+                        IsPack = 2; //涓嶈创
                         break;
                     case "7"://瀵勫瓨鍏ュ簱
-                        skuType = "(3)";
+                        //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),
@@ -200,6 +220,8 @@
                     .Includes(x => x.UnitInfo)
                     .Includes(x => x.PackagInfo)
                     .ToList();
+
+
 
                 return data.Select(m => new MaterialsDto()
                 {
@@ -848,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 = "鍗曟嵁绫诲瀷涓嶅彲涓虹┖!";
@@ -888,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,
@@ -951,7 +973,7 @@
                 Db.Insertable(detailModels).ExecuteCommand();
                 Db.CommitTran();
 
-                resultModel.Success = 0;
+                resultModel.Success = "0";
                 resultModel.Message = "鎴愬姛";
                 return resultModel;
             }
@@ -963,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
             {
@@ -998,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";
@@ -1031,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