From b2d25faa69ee7e9f24b6ac98d3b4dcbddada70bc Mon Sep 17 00:00:00 2001
From: yuyou_x <2336760928@qq.com>
Date: 星期四, 14 三月 2024 13:37:15 +0800
Subject: [PATCH] 修改pda托盘绑定同一物料多批次 无法具体选中批次问题。
---
Wms/WMS.BLL/Logic/AllotLocation.cs | 30 +++++++++++++++++++++---------
1 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/Wms/WMS.BLL/Logic/AllotLocation.cs b/Wms/WMS.BLL/Logic/AllotLocation.cs
index 4e7f3a8..960487f 100644
--- a/Wms/WMS.BLL/Logic/AllotLocation.cs
+++ b/Wms/WMS.BLL/Logic/AllotLocation.cs
@@ -63,7 +63,7 @@
//鏌ヨ璇ュ贩閬撳苟涓旀爣蹇椾负姝e父鐨勭殑鍌ㄤ綅
roadwayList.Add(roadway);
- var locate = GetLocateByRoadways(roadwayList,areaList);
+ var locate = GetLocateByRoadways(roadwayList,areaList,true);
if (locate == null)
{
throw new Exception($"{roadwayNo}宸烽亾娌℃湁鍚堥�傜殑绌哄偍浣�");
@@ -107,8 +107,9 @@
/// </summary>
/// <param name="roadways">宸烽亾闆嗗悎</param>
/// <param name="areaList">鍖哄煙闆嗗悎</param>
+ /// <param name="isRoadway">鏄惁鎸囧畾宸烽亾</param>
/// <returns></returns>
- private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList)
+ private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false)
{
try
{
@@ -185,11 +186,15 @@
//鍙栧悇宸烽亾鎵�鏈夋帓绗竴涓悎閫備綅
foreach (var l in roadways)
{
- //濡傛灉涓婃鏄綋鍓嶅贩閬撳垯璺冲嚭
- if (log != null && l.RoadwayNo == log.RoadwayNo)
+ if (!isRoadway)
{
- continue;
+ //濡傛灉涓婃鏄綋鍓嶅贩閬撳垯璺冲嚭
+ if (log != null && l.RoadwayNo == log.RoadwayNo)
+ {
+ continue;
+ }
}
+
//鍙栧綋鍓嶅贩鏈�浼樹綅缃�
locate = GetLocateByRoadway(l.RoadwayNo, topOrBom, leftOrRight, areaList);
//褰撳墠宸锋湁浣嶇疆鍒欓��鍑�
@@ -199,11 +204,14 @@
}
}
//濡傛灉璺冲贩閬撳苟涓旀湭鎵惧埌鍚堥�傜┖鍌ㄤ綅,鍒欒烦鍒版渶鍚庝竴娆′娇鐢ㄧ殑宸烽亾鏌ヨ
- if (locate == null)
+ if (!isRoadway)
{
- if (log != null)
+ if (locate == null)
{
- locate = GetLocateByRoadway(log.RoadwayNo, topOrBom, leftOrRight, areaList);
+ if (log != null)
+ {
+ locate = GetLocateByRoadway(log.RoadwayNo, topOrBom, leftOrRight, areaList);
+ }
}
}
}
@@ -212,6 +220,10 @@
foreach (var item in roadways)
{
locate = GetLocateByRoadway(item.RoadwayNo, topOrBom, leftOrRight, areaList);
+ if (locate != null)
+ {
+ break;
+ }
}
}
@@ -246,7 +258,7 @@
sql += "order by ";
sql += topOrBom == 0 ? "Layer desc, " : "Layer, ";
sql += leftOrRight == 0 ? "[Column], " : "[Column] desc, ";
- sql += " Row desc; ";
+ sql += " Row desc, Depth desc; ";
var locateList = db.Ado.SqlQuery<SysStorageLocat>(sql);
--
Gitblit v1.8.0