From 23ffc2ee97c99eb6a7305b7c61e660d0d0d84b89 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期二, 09 七月 2024 08:06:52 +0800
Subject: [PATCH] 获取储位号

---
 Wms/WMS.Entity/Context/DataContext.cs  |   19 +++++++++
 HTML/views/BaseSetting/Materials.html  |    2 
 Wms/WMS.DAL/Common.cs                  |   92 +++++++++++++++++++++++++++++++---------------
 HTML/views/SOSetting/ExportNotice.html |    4 +-
 4 files changed, 84 insertions(+), 33 deletions(-)

diff --git a/HTML/views/BaseSetting/Materials.html b/HTML/views/BaseSetting/Materials.html
index 4b67082..441f040 100644
--- a/HTML/views/BaseSetting/Materials.html
+++ b/HTML/views/BaseSetting/Materials.html
@@ -245,7 +245,7 @@
 					
 					var url  = "/Basis/GetMateList?SkuNo="+SkuNo+"&&SkuName="+SkuName+"&&AuditStatusNo="+AuditStatusNo+"&&Type="+Type+"&&IsControlled="+IsControlled+"&&IsInspect="+IsInspect+"&&Environment="+Environment+"&CategoryNo="+CategoryNo;
 					sendData(IP + url, {}, 'get', function(res) {
-						if (res.code == 0) //鎴愬姛
+						if (res.code == 200) //鎴愬姛
 						{
 							var list = res.data;
 							$.extend(infoOptions, {
diff --git a/HTML/views/SOSetting/ExportNotice.html b/HTML/views/SOSetting/ExportNotice.html
index 73b68ab..b95460c 100644
--- a/HTML/views/SOSetting/ExportNotice.html
+++ b/HTML/views/SOSetting/ExportNotice.html
@@ -1033,8 +1033,8 @@
 					$(".editDemoClass").hide();//澶囨敞
 					$(".checkClass").hide(); //澶嶆牳
 				});
-				sendData(IP + "/Basis/", {}, 'get', function (res) {
-					if (res.code == 0) { //鎴愬姛 
+				sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function (res) {
+					if (res.code == 200) { //鎴愬姛 
 						for (var k = 0; k < res.data.length; k++) {
 							if (res.data[k].ParentNo == "2100") {
 								if (res.data[k].MenuName == "娣诲姞鍑哄簱鍗�") {
diff --git a/Wms/WMS.DAL/Common.cs b/Wms/WMS.DAL/Common.cs
index 61515e2..3b87b65 100644
--- a/Wms/WMS.DAL/Common.cs
+++ b/Wms/WMS.DAL/Common.cs
@@ -5,7 +5,10 @@
 using System.Data;
 using System.Linq;
 using System.Text;
+using System.Threading.Tasks;
 using Model.ModelDto.BllSoDto;
+using Model.ModelDto.SysDto;
+using SqlSugar;
 using WMS.Entity.BllAsnEntity;
 using WMS.Entity.BllCheckEntity;
 using WMS.Entity.BllQualityEntity;
@@ -33,15 +36,16 @@
             {
                 var Db = DataContext.Db;
                 //鑾峰彇鍌ㄤ綅淇℃伅
-                var sql = $@"select * from SysStorageLocat where  WareHouseNo = '{houseNo}' and LocatNo = '{locateNo}'; ";
-                var locate = Db.Ado.SqlQuery<SysStorageLocat>(sql).First();
+                //var sql = $@"select * from SysStorageLocat where  WareHouseNo = '{houseNo}' and LocatNo = '{locateNo}'; ";
+                var locate = Db.Queryable<SysStorageLocat>().Where(s => s.WareHouseNo == houseNo && s.LocatNo == locateNo).First();
                 if (locate == null)
                 {
                     throw new Exception($"鏈煡璇㈠埌浠撳簱鍙蜂负{houseNo}銆佸偍浣嶅彿涓簕locateNo}鐨勪俊鎭�");
                 }
                 //鑾峰彇娣卞害涓�2鐨勫偍浣嶄俊鎭�
-                var sql2 = $@"select * from SysStorageLocat where  WareHouseNo = '{houseNo}' and row = {locate.Row} and [Column] = {locate.Column} and Layer = {locate.Layer} and Depth = '01'; ";
-                var data = Db.Ado.SqlQuery<SysStorageLocat>(sql2).First();
+                //var sql2 = $@"select * from SysStorageLocat where  WareHouseNo = '{houseNo}' and row = {locate.Row} and [Column] = {locate.Column} and Layer = {locate.Layer} and Depth = '01'; ";
+                //var data = Db.Ado.SqlQuery<SysStorageLocat>(sql2).First();
+                var data = Db.Queryable<SysStorageLocat>().Where(s => s.WareHouseNo == houseNo && s.Row == locate.Row && s.Column == locate.Column && s.Layer == locate.Layer && s.Depth == "01").First();
                 if (data == null)
                 {
                     throw new Exception($"鏈煡璇㈠埌浠撳簱鍙蜂负{houseNo}銆佸偍浣嶅彿涓簕locateNo}鐨勯噷闈㈠偍浣嶄俊鎭�");
@@ -66,15 +70,17 @@
             {
                 var Db = DataContext.Db;
                 //鑾峰彇鍌ㄤ綅淇℃伅
-                var sql = $@"select * from SysStorageLocat where  WareHouseNo = '{houseNo}' and LocatNo = '{locateNo}'; ";
-                var locate = Db.Ado.SqlQuery<SysStorageLocat>(sql).First();
+                //var sql = $@"select * from SysStorageLocat where  WareHouseNo = '{houseNo}' and LocatNo = '{locateNo}'; ";
+                //var locate = Db.Ado.SqlQuery<SysStorageLocat>(sql).First();
+                var locate = Db.Queryable<SysStorageLocat>().Where(s => s.WareHouseNo == houseNo && s.LocatNo == locateNo).First();
                 if (locate == null)
                 {
                     throw new Exception($"鏈煡璇㈠埌浠撳簱鍙蜂负{houseNo}銆佸偍浣嶅彿涓簕locateNo}鐨勪俊鎭�");
                 }
                 //鑾峰彇娣卞害涓�2鐨勫偍浣嶄俊鎭�
-                var sql2 = $@"select * from SysStorageLocat where  WareHouseNo = '{houseNo}' and row = {locate.Row} and [Column] = {locate.Column} and Layer = {locate.Layer} and Depth = '02'; ";
-                var data = Db.Ado.SqlQuery<SysStorageLocat>(sql2).First();
+                //var sql2 = $@"select * from SysStorageLocat where  WareHouseNo = '{houseNo}' and row = {locate.Row} and [Column] = {locate.Column} and Layer = {locate.Layer} and Depth = '02'; ";
+                //var data = Db.Ado.SqlQuery<SysStorageLocat>(sql2).First();
+                var data = Db.Queryable<SysStorageLocat>().Where(s => s.WareHouseNo == houseNo && s.Row == locate.Row && s.Column == locate.Column && s.Layer == locate.Layer && s.Depth == "02").First();
                 if (data == null)
                 {
                     throw new Exception($"鏈煡璇㈠埌浠撳簱鍙蜂负{houseNo}銆佸偍浣嶅彿涓簕locateNo}鐨勯噷闈㈠偍浣嶄俊鎭�");
@@ -107,9 +113,22 @@
             var lie = int.Parse(oldAddress.Substring(2, 2));
             var ceng = int.Parse(oldAddress.Substring(4, 2));
 
-            var sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng}))  as distNum from SysStorageLocat where Flag = '0' and Status = '0' and Depth = '02' and RoadwayNo = '{roadWay}' and AreaNo in ('{category.AreaNo}') order by distNum;";
+            //var sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng}))  as distNum from SysStorageLocat where Flag = '0' and Status = '0' and Depth = '02' and RoadwayNo = '{roadWay}' and AreaNo in ('{category.AreaNo}') order by distNum;";
 
-            var addressModels = Db.Ado.SqlQuery<AddressCls>(sqlString).ToList();
+            //var addressModels = Db.Ado.SqlQuery<AddressCls>(sqlString).ToList();
+            var listArea = category.AreaNo.Split(',');
+            var addressModels = Db.Queryable<SysStorageLocat>()
+                                  .Where(s => s.Flag == "0" && s.Status == "0" && s.Depth == "02" && s.RoadwayNo == roadWay && listArea.Contains(s.AreaNo))
+                                  .Select(s => new AddressCls()
+                                  {
+                                      LocatNo = s.LocatNo,
+                                      Row = s.Row,
+                                      Column = s.Column,
+                                      Layer = s.Layer,
+                                      DistNum = SqlFunc.Abs(s.Row - row) + SqlFunc.Abs(s.Column - lie) + SqlFunc.Abs(s.Layer - ceng)
+                                  })
+                                  .OrderBy(s => s.DistNum)
+                                  .ToList();
             if (addressModels.Count > 0)   // 鍒ゆ柇鍚屽贩閬撳唴鎺掔┖搴撲綅
             {
                 var listLocaete = new List<string>();
@@ -120,8 +139,9 @@
 
                     // 鍒ゆ柇鐩爣搴撲綅鐨勫搴撲綅鏄惁瀛樺湪璐х墿   (姝e父鎯呭喌涓嬫鍦ㄧЩ鍏ユ儏鍐典笉瀛樺湪锛屽洜涓虹Щ搴撳厛绉诲叆閲岄潰锛屽悗绉诲叆澶栭潰)
                     //SlotStatus 0: 绌哄偍浣� 1锛氭湁璐�  2锛氭鍦ㄥ叆搴�  3锛氭鍦ㄥ嚭搴�   4锛氭鍦ㄧЩ鍏�  5锛氭鍦ㄧЩ鍑�
-                    sqlString = $"select count(*) from SysStorageLocat where LocatNo = '{addressee}' and Status = '0' and Flag in ('0','1') ; ";
-                    var rowNum = Db.Ado.SqlQuery<int>(sqlString).First();
+                    //sqlString = $"select count(*) from SysStorageLocat where LocatNo = '{addressee}' and Status = '0' and Flag in ('0','1') ; ";
+                    //var rowNum = Db.Ado.SqlQuery<int>(sqlString).First();
+                    var rowNum = Db.Queryable<SysStorageLocat>().Count(s => s.LocatNo == addressee && s.Status == "0" && (s.Flag == "0" || s.Flag == "1"));
                     if (rowNum == 0)
                     {
                         continue;
@@ -136,11 +156,23 @@
             if (nowAddress == "")
             {
                 // 鍒ゆ柇鍚屽贩閬撳鎺掔┖搴撲綅
-                sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng}))  as distNum 
-                                from SysStorageLocat 
-                                where Flag = '0' and Status = '0' and Depth = '01' and RoadwayNo = '{roadWay}' and AreaNo  in '{category}' 
-                                order by distNum;";
-                var adderModeling = Db.Ado.SqlQuery<AddressCls>(sqlString).ToList();
+                //sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng}))  as distNum 
+                //                from SysStorageLocat 
+                //                where Flag = '0' and Status = '0' and Depth = '01' and RoadwayNo = '{roadWay}' and AreaNo  in '{category}' 
+                //                order by distNum;";
+                //var adderModeling = Db.Ado.SqlQuery<AddressCls>(sqlString).ToList();
+                var adderModeling = Db.Queryable<SysStorageLocat>()
+                                  .Where(s => s.Flag == "0" && s.Status == "0" && s.Depth == "01" && s.RoadwayNo == roadWay && listArea.Contains(s.AreaNo))
+                                  .Select(s => new AddressCls()
+                                  {
+                                      LocatNo = s.LocatNo,
+                                      Row = s.Row,
+                                      Column = s.Column,
+                                      Layer = s.Layer,
+                                      DistNum = SqlFunc.Abs(s.Row - row) + SqlFunc.Abs(s.Column - lie) + SqlFunc.Abs(s.Layer - ceng)
+                                  })
+                                  .OrderBy(s => s.DistNum)
+                                  .ToList();
                 if (adderModeling.Count > 0)
                 {
                     nowAddress = adderModeling[0].LocatNo;
@@ -225,7 +257,7 @@
                     orderNo = list.Select(a => a.ASNNo).Max();
                 }
                 else if (codeFlag == InOutFlag.PM.ToString())//绉诲簱
-                { 
+                {
                 }
                 else if (codeFlag == InOutFlag.CR.ToString())//鐩樼偣
                 {
@@ -235,7 +267,7 @@
                 else if (codeFlag == InOutFlag.TK.ToString())//浠诲姟
                 {
                     var list = DataContext.Db.Queryable<LogTask>().Where(m => m.TaskNo.StartsWith("TK")).ToList();
-                    orderNo = list.Max(m=>m.TaskNo);
+                    orderNo = list.Max(m => m.TaskNo);
                 }
                 else if (codeFlag == InOutFlag.EX.ToString())//寮傚父
                 {
@@ -261,7 +293,7 @@
         /// </summary>
         /// <param name="sqlString">鏌ヨ璇彞</param>
         /// <returns>琛屾暟</returns>
-        public int GetRowCount(string sqlString) 
+        public int GetRowCount(string sqlString)
         {
             try
             {
@@ -288,7 +320,7 @@
                 var db = DataContext.Db;
                 //鏌ヨ鎵樼洏鏄惁鏈夋鍦ㄥ叆搴撶殑浠诲姟
                 var imTask = db.Queryable<LogTask>().First(m => m.PalletNo == palletNo && m.IsDel == "0" && m.Status == "1");
-                 
+
                 return imTask;
             }
             catch (Exception ex)
@@ -303,13 +335,13 @@
         /// <param name="packNo"></param>
         /// <param name="pNum">鎵樼洏鍖呰鏁�</param>
         /// <param name="bNum">绠卞寘瑁呮暟</param>
-        public void GetPackQtyInfo(string packNo,ref int pNum,ref int bNum)
+        public void GetPackQtyInfo(string packNo, ref int pNum, ref int bNum)
         {
             try
             {
                 var db = DataContext.Db;
                 var pack = db.Queryable<SysPackag>().First(m => m.PackagNo == packNo);
-                if (pack!= null)
+                if (pack != null)
                 {
                     if (pack.L5Num.HasValue)
                     {
@@ -379,16 +411,16 @@
                             break;
                     }
                 }
- 
-                return allotSet; 
-                
+
+                return allotSet;
+
             }
             catch (Exception e)
             {
                 throw new Exception(e.Message);
             }
         }
-        
+
         /// <summary>
         /// 鏍规嵁灏忔暟浣嶆暟鍊艰浆鎹㈠睍绀哄��
         /// </summary>
@@ -405,11 +437,11 @@
                 }
                 decimal s = (decimal)val;
                 string r = "0";
-                double data ;
+                double data;
                 //decimal data2 = 0.00M;
                 switch (digit)
                 {
-                    case 1: 
+                    case 1:
                         r = s.ToString("0.0");
                         data = Math.Round(double.Parse(r), 1);
                         break;
@@ -473,7 +505,7 @@
         /// </summary>
         [Description("绉诲簱鍗�")]
         PM,
-        
+
         /// <summary>
         /// 浠诲姟
         /// </summary>
diff --git a/Wms/WMS.Entity/Context/DataContext.cs b/Wms/WMS.Entity/Context/DataContext.cs
index 326dbca..3598c1b 100644
--- a/Wms/WMS.Entity/Context/DataContext.cs
+++ b/Wms/WMS.Entity/Context/DataContext.cs
@@ -16,6 +16,25 @@
             DbType = DbType.SqlServer, //鏁版嵁搴撶被鍨�
             IsAutoCloseConnection = true, //鑷姩閲婃斁
             InitKeyType = InitKeyType.Attribute //鏍规嵁瀹炰綋绫诲彇鍙戠幇涓婚敭
+        }, db => {
+            //(A)鍏ㄥ眬鐢熸晥閰嶇疆鐐癸紝涓�鑸珹OP鍜岀▼搴忓惎鍔ㄧ殑閰嶇疆鎵旇繖閲岄潰 锛屾墍鏈変笂涓嬫枃鐢熸晥
+            //璋冭瘯SQL浜嬩欢锛屽彲浠ュ垹鎺�
+            db.Aop.OnLogExecuting = (sql, pars) =>
+            {
+
+                //鑾峰彇鍘熺敓SQL鎺ㄨ崘 5.1.4.63  鎬ц兘OK
+                //Console.WriteLine(UtilMethods.GetNativeSql(sql, pars));
+
+                //鑾峰彇鏃犲弬鏁板寲SQL 瀵规�ц兘鏈夊奖鍝嶏紝鐗瑰埆澶х殑SQL鍙傛暟澶氱殑锛岃皟璇曚娇鐢�
+                //Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer, sql, pars));
+
+            };
+
+            //澶氫釜閰嶇疆灏卞啓涓嬮潰
+            //db.Ado.IsDisableMasterSlaveSeparation=true;
+
+            //娉ㄦ剰澶氱鎴� 鏈夊嚑涓缃嚑涓�
+            //db.GetConnection(i).Aop
         });
 
         public DataContext()

--
Gitblit v1.8.0