From d690043276ef1b0862d2a841f23dfcde2bb7384d Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期二, 27 二月 2024 16:02:56 +0800
Subject: [PATCH] Merge branch 'wxw'
---
Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs | 102 +++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 82 insertions(+), 20 deletions(-)
diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
index 770214d..0a362ba 100644
--- a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
@@ -862,22 +862,48 @@
}
}
var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo))
- .GroupBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList();
+ .GroupBy(m => m.RoadwayNo).OrderBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList();
- SysRoadwayUseLog useLog = Db.Ado.SqlQuerySingle<SysRoadwayUseLog>("select Top(1) * from SysRoadwayUseLog where IsDel=0 order by CreateTime desc"); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰�
+ SysRoadwayUseLog useLog = Db.Queryable<SysRoadwayUseLog>().Where(m=>m.IsDel =="0" && roadList.Contains(m.RoadwayNo)).OrderByDescending(l => l.Id).First(); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰�
- var bindNum = Db.Queryable<BllPalletBind>()
- .Where(m => m.IsDel == "0" && m.Status == "0" && !string.IsNullOrWhiteSpace(m.RoadwayNo))
- .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count();
+ #region 纭畾宸烽亾鎺掑簭
+
+ List<string> roadList2 = new List<string>();
+ List<string> roadSmall = new List<string>();
+ List<string> roadLarge = new List<string>();
+ if (useLog != null)
+ {
+ roadList2.Add(useLog.RoadwayNo);
+ foreach (var r in roadList)
+ {
+ if (r == useLog.RoadwayNo)
+ {
+ continue;
+ }
+ //濡傛灉缁撴灉涓�0锛屽垯璇存槑涓や釜瀛楃涓茬浉绛夛紱
+ //濡傛灉缁撴灉灏忎簬0锛屽垯璇存槑绗竴涓瓧绗︿覆灏忎簬绗簩涓瓧绗︿覆锛�
+ //濡傛灉缁撴灉澶т簬0锛屽垯璇存槑绗竴涓瓧绗︿覆澶т簬绗簩涓瓧绗︿覆銆�
+ var bol = String.CompareOrdinal(r, useLog.RoadwayNo);
+ if (bol < 0)
+ {
+ roadSmall.Add(r);
+ }
+ if (bol > 0)
+ {
+ roadLarge.Add(r);
+ }
+ }
+ roadList2.AddRange(roadLarge);
+ roadList2.AddRange(roadSmall);
+ }
+
+ roadList = roadList2;
+ #endregion
+
var roadNo = "";
if (laneAllot == 0)//璺冲贩閬撳钩鍧囧垎閰�
{
- //濡傛灉鍚岀骇宸烽亾鏈夊鏉″垯鏌ヤ笂娆′綅缃棩蹇�
- if (roadList.Count > 1)
- {
- useLog = Db.Queryable<SysRoadwayUseLog>().OrderByDescending(l => l.Id).First();
- }
//鍙栧悇宸烽亾鎵�鏈夋帓绗竴涓悎閫備綅
foreach (var l in roadList)
{
@@ -888,7 +914,11 @@
}
var locateCount = Db.Queryable<SysStorageLocat>()
- .Where(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo)).Count();
+ .Where(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == l).Count();
+
+ var bindNum = Db.Queryable<BllPalletBind>()
+ .Where(m => m.IsDel == "0" && m.Status == "0" && m.RoadwayNo== l)
+ .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count();
if (locateCount - bindNum > 0)
{
roadNo = l;
@@ -905,19 +935,39 @@
{
if (useLog != null)
{
- roadNo = useLog.RoadwayNo;
+ var locateCount = Db.Queryable<SysStorageLocat>()
+ .Where(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == useLog.RoadwayNo).Count();
+
+ var bindNum = Db.Queryable<BllPalletBind>()
+ .Where(m => m.IsDel == "0" && m.Status == "0" && m.RoadwayNo == useLog.RoadwayNo)
+ .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count();
+ if (locateCount - bindNum > 0)
+ {
+ roadNo = useLog.RoadwayNo;
+ }
}
}
}
else//鎸夌収宸烽亾浼樺厛绾у垎閰�
{
foreach (var item in roadList)
- {
- roadNo = item;
+ {
+ var locateCount = Db.Queryable<SysStorageLocat>()
+ .Where(m => m.Status == "0" && m.Flag == "0" && areaList.Contains(m.AreaNo) && m.RoadwayNo == item).Count();
+
+ var bindNum = Db.Queryable<BllPalletBind>()
+ .Where(m => m.IsDel == "0" && m.Status == "0" && m.RoadwayNo == item)
+ .GroupBy(m => m.PalletNo).Select(m => m.PalletNo).Count();
+
+ if (locateCount - bindNum > 0)
+ {
+ roadNo = item;
+ }
+ //褰撳墠宸锋湁浣嶇疆鍒欓��鍑�
if (roadNo != null)
{
break;
- }
+ }
}
}
@@ -975,7 +1025,7 @@
}
#endregion
- return null;
+ return comDto;
}
catch (Exception e)
{
@@ -1449,12 +1499,19 @@
#endregion
break;
- case "0":
+ case "0":
var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.ASNDetailNo);
if (noticeDetail == null)
{
throw new Exception("鏈煡璇㈠埌鎵樼洏缁戝畾鐨勫叆搴撳崟鏄庣粏淇℃伅");
}
+ var notice = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == noticeDetail.ASNNo);
+ if (notice == null)
+ {
+ throw new Exception("鏈煡璇㈠埌鎵樼洏缁戝畾鐨勫叆搴撳崟淇℃伅");
+ }
+ string ownerNo = notice.CustomerNo;//璐т富缂栫爜
+ string ownerName = notice.CustomerName;//璐т富鍚嶇О
var sku1 = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == noticeDetail.SkuNo);
string isinspect = "0";
@@ -1471,7 +1528,7 @@
{
LotNo = item.LotNo,
LotText = noticeDetail.LotText,
- SupplierLot = noticeDetail.SupplierLot,
+ SupplierLot = noticeDetail.SupplierLot,
SkuNo = noticeDetail.SkuNo,
SkuName = noticeDetail.SkuName,
Standard = noticeDetail.Standard,
@@ -1499,6 +1556,9 @@
PackagNo = noticeDetail.PackagNo,
IsBale = item.IsBale,
IsBelt = item.IsBelt,
+
+ OwnerNo = ownerNo,
+ OwnerName = ownerName,
IsDel = "0",
CreateUser = 0,
@@ -1588,6 +1648,9 @@
LockQty = 0,
FrozenQty = 0,
+ OwnerNo = ownerNo,
+ OwnerName = ownerName,
+
IsDel = "0",
CreateUser = userId,
CreateTime = comTime
@@ -1609,8 +1672,7 @@
var asnDetailNum = Db.Queryable<BllArrivalNoticeDetail>()
.Count(m => m.IsDel == "0" && m.ASNNo == noticeDetail.ASNNo && m.Status != "2");
if (asnDetailNum == 0)
- {
- var notice = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == noticeDetail.ASNNo);
+ {
notice.Status = "2";
notice.CompleteTime = comTime;
Db.Updateable(notice).ExecuteCommand();
--
Gitblit v1.8.0