From e644b249b5a3d4b3b0e72f00d60eb06ae3743d3a Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期六, 19 四月 2025 17:48:44 +0800
Subject: [PATCH] Merge branch 'master' of http://47.95.120.53:8083/r/JC34WMS
---
Wms/WMS.BLL/Logic/AllotLocation.cs | 105 +++++++++++++++++++++-------------------------------
1 files changed, 43 insertions(+), 62 deletions(-)
diff --git a/Wms/WMS.BLL/Logic/AllotLocation.cs b/Wms/WMS.BLL/Logic/AllotLocation.cs
index e21b168..8d1ca0a 100644
--- a/Wms/WMS.BLL/Logic/AllotLocation.cs
+++ b/Wms/WMS.BLL/Logic/AllotLocation.cs
@@ -239,7 +239,7 @@
//鏌ヨ璇ュ贩閬撳苟涓旀爣蹇椾负姝e父鐨勭殑鍌ㄤ綅
roadwayList.Add(roadway);
- var locate = GetLocateByRoadways(roadwayList,areaList,true);
+ var locate = GetLocateByRoadways(roadwayList,areaList,true,houseNo);
if (locate == null)
{
throw new Exception($"{roadwayNo}宸烽亾娌℃湁鍚堥�傜殑绌哄偍浣�");
@@ -251,38 +251,10 @@
{
var roadwayList = db.Queryable<SysStorageRoadway>().Where(m => m.WareHouseNo == houseNo && m.Status == "0" && roadList.Contains(m.RoadwayNo)).OrderBy(m => new { m.Priority, m.RoadwayNo }).ToList();
- var locate = GetLocateByRoadways(roadwayList,areaList);
+ var locate = GetLocateByRoadways(roadwayList,areaList,false, houseNo);
if (locate == null)
{
throw new Exception($"{houseNo}浠撳簱宸插惎鐢ㄧ殑宸烽亾涓病鏈夊悎閫傜殑绌哄偍浣�");
- }
- return locate;
- }
- //鎸囧畾宸烽亾
- case "瀵嗛泦搴�" when !string.IsNullOrWhiteSpace(roadwayNo):
- {
- var roadwayList = new List<SysStorageRoadway>();
- var roadway = db.Queryable<SysStorageRoadway>().First(m => m.RoadwayNo == roadwayNo);
- if (roadway == null)
- {
- throw new Exception($"鏈煡璇㈠埌{roadwayNo}宸烽亾淇℃伅");
- }
-
- if (!roadList.Contains(roadwayNo))
- {
- throw new Exception("褰撳墠鐗╂枡瀛樻斁鍖哄煙鏈湪鎸囧畾宸烽亾涓�");
- }
- if (roadway.Status == "1")
- {
- throw new Exception($"{roadwayNo}宸烽亾宸插仠鐢�");
- }
-
- //鏌ヨ璇ュ贩閬撳苟涓旀爣蹇椾负姝e父鐨勭殑鍌ㄤ綅
- roadwayList.Add(roadway);
- var locate = GetLocateByRoadways(roadwayList, areaList, true);
- if (locate == null)
- {
- throw new Exception($"{roadwayNo}宸烽亾娌℃湁鍚堥�傜殑绌哄偍浣�");
}
return locate;
}
@@ -313,7 +285,7 @@
/// <param name="areaList">鍖哄煙闆嗗悎</param>
/// <param name="isRoadway">鏄惁鎸囧畾宸烽亾</param>
/// <returns></returns>
- private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false)
+ private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false ,string houseNo = "W01")
{
try
{
@@ -378,14 +350,14 @@
SysStorageLocat locate = null; // 鍌ㄤ綅淇℃伅
//SysStorageLocat log = db.Ado.SqlQuerySingle<SysStorageLocat>("select * from SysStorageLocat where LocatNo = (select Top(1) LocatNo from BllPalletBind order by CreateTime desc)"); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰�
- SysRoadwayUseLog log= db.Ado.SqlQuerySingle<SysRoadwayUseLog>("select Top(1) * from SysRoadwayUseLog where IsDel=0 order by CreateTime desc"); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰�
+ SysRoadwayUseLog log= db.Ado.SqlQuerySingle<SysRoadwayUseLog>($"select Top(1) * from SysRoadwayUseLog where IsDel=0 and WareHouseNo ='{houseNo}' order by CreateTime desc"); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰�
if (laneAllot == 0)//璺冲贩閬撳钩鍧囧垎閰�
{
//濡傛灉鍚岀骇宸烽亾鏈夊鏉″垯鏌ヤ笂娆′綅缃棩蹇�
if (roadways.Count > 1)
{
- log = db.Queryable<SysRoadwayUseLog>().OrderByDescending(l => l.Id).First();
+ log = db.Queryable<SysRoadwayUseLog>().Where(m=>m.WareHouseNo == houseNo).OrderByDescending(l => l.Id).First();
}
//鍙栧悇宸烽亾鎵�鏈夋帓绗竴涓悎閫備綅
foreach (var l in roadways)
@@ -405,21 +377,25 @@
locate = GetLocateByRoadway(l.RoadwayNo, topOrBom, leftOrRight, areaList, list, ref count);
if (locate != null)
{
- list.Add(locate.LocatNo);
- var isOk = LocateIsOk(locate);
- if (!isOk)
- {
- locate = null;
- }
- if (isOk)
- {
- break;
- }
+ break;
+ //list.Add(locate.LocatNo);
+ //var isOk = LocateIsOk(locate);
+ //if (!isOk)
+ //{
+ // locate = null;
+ //}
+ //if (isOk)
+ //{
+ // break;
+ //}
}
} while (count != 0 && locate == null);//褰撴煡璇㈠偍浣嶆暟閲忎笉绛�0 骞朵笖鍌ㄤ綅涓虹┖鏃讹紝鍐嶆寰幆宸烽亾銆佸尯鍩熸煡鎵惧偍浣�
-
+ if (locate!=null)
+ {
+ break;
+ }
}
//濡傛灉璺冲贩閬撳苟涓旀湭鎵惧埌鍚堥�傜┖鍌ㄤ綅,鍒欒烦鍒版渶鍚庝竴娆′娇鐢ㄧ殑宸烽亾鏌ヨ
if (!isRoadway)
@@ -435,12 +411,13 @@
locate = GetLocateByRoadway(log.RoadwayNo, topOrBom, leftOrRight, areaList, list, ref count);
if (locate != null)
{
- list.Add(locate.LocatNo);
- var isOk = LocateIsOk(locate);
- if (!isOk)
- {
- locate = null;
- }
+ break;
+ //list.Add(locate.LocatNo);
+ //var isOk = LocateIsOk(locate);
+ //if (!isOk)
+ //{
+ // locate = null;
+ //}
}
@@ -462,21 +439,25 @@
locate = GetLocateByRoadway(item.RoadwayNo, topOrBom, leftOrRight, areaList, list, ref count);
if (locate != null)
{
- list.Add(locate.LocatNo);
- var isOk = LocateIsOk(locate);
- if (!isOk)
- {
- locate = null;
- }
- if (isOk)
- {
- break;
- }
+ break;
+ //list.Add(locate.LocatNo);
+ //var isOk = LocateIsOk(locate);
+ //if (!isOk)
+ //{
+ // locate = null;
+ //}
+ //if (isOk)
+ //{
+ // break;
+ //}
}
} while (count != 0 && locate == null);//褰撴煡璇㈠偍浣嶆暟閲忎笉绛�0 骞朵笖鍌ㄤ綅涓虹┖鏃讹紝鍐嶆寰幆宸烽亾銆佸尯鍩熸煡鎵惧偍浣�
-
+ if (locate != null)
+ {
+ break;
+ }
}
}
@@ -543,7 +524,7 @@
}
/// <summary>
- /// 楠岃瘉鍌ㄤ綅鏄惁鍙叆搴�
+ /// 楠岃瘉鍌ㄤ綅鏄惁鍙叆搴� 鍙屾繁浣嶉獙璇�
/// </summary>
/// <param name="locate"></param>
/// <returns></returns>
--
Gitblit v1.8.0