From 2f8843c8f3ff4cfdffcb7ef6fca333d3022f0f84 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期二, 27 八月 2024 08:09:35 +0800
Subject: [PATCH] PDA平库出库和收货组托功能修改
---
Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs | 170 +++++++++++++++++++++++++++++++++++---------------------
1 files changed, 106 insertions(+), 64 deletions(-)
diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
index 283f9ed..e53f0ac 100644
--- a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
@@ -399,10 +399,11 @@
}
else if (model.Type == "0")//鐗╂枡鎵�
{
- if (model.Detail.Count(m => m.OrderCode != detail.OrderDetailCode) > 0)
- {
- throw new Exception($"鎵樼洏缁戝畾鏄庣粏涓紝鍚湁绠辩爜鐢熶骇宸ュ崟涓嶄竴鑷�");
- }
+ // 浣跨敤鍦烘櫙涓嶆槑纭�
+ //if (model.Detail.Count(m => m.OrderCode != detail.OrderDetailCode) > 0)
+ //{
+ // throw new Exception($"鎵樼洏缁戝畾鏄庣粏涓紝鍚湁绠辩爜鐢熶骇宸ュ崟涓嶄竴鑷�");
+ //}
if (model.Detail.Count(m => m.SkuNo != model.SkuNo || m.LotNo != model.LotNo) > 0)
{
throw new Exception($"鎵樼洏缁戝畾鏄庣粏涓紝鍚湁绠辩爜鐗╂枡鎴栨壒娆′笉涓�鑷�");
@@ -624,9 +625,10 @@
.LeftJoin<BllArrivalNoticeDetail>((a, b) => a.ASNDetailNo == b.Id)
.LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id)
.LeftJoin<SysUserInfor>((a, b, c, d) => a.UpdateUser == d.Id)
- //.LeftJoin<SysStorageLocat>((a, b, c, d, e) => a.LocatNo == e.LocatNo)
+ .LeftJoin<SysStorageLocat>((a, b, c, d, e) => a.LocatNo == e.LocatNo)
+ .LeftJoin<SysStorageArea>((a, b, c, d, e,f) => e.AreaNo == f.AreaNo)
//.LeftJoin<BllBoxInfo>((a, b, c, d, e, f) => a.Id == e.BindNo)
- .Select((a, b, c, d) => new PalletBindDto()
+ .Select((a, b, c, d,e,f) => new PalletBindDto()
{
Id = a.Id,
ASNNo = a.ASNNo,
@@ -638,6 +640,7 @@
LocatNo = a.LocatNo,
RoadwayNo = a.RoadwayNo,
WareHouseNo = a.WareHouseNo,
+ WareHouseName = f.AreaName,
Qty = a.Qty,
FullQty = a.FullQty,
SamplingQty = a.SamplingQty,
@@ -1719,18 +1722,18 @@
var sku = skuList.FirstOrDefault(m => m.SkuNo == skuNo);
if (sku == null)
{
- throw new Exception("鐗╂枡淇℃伅涓湭鏌ヨ鍒板叆搴撳崟鏄庣粏鍖呭惈鐨勭墿鏂欎俊鎭紝涓嶅彲鍏ュ簱");
+ throw new Exception("鐗╂枡缂栫爜涓嶅瓨鍦紝涓嶅彲鍏ュ簱");
}
//鍒ゆ柇鐗╂枡鏄惁鍚湁绫诲埆淇℃伅
if (string.IsNullOrWhiteSpace(sku.CategoryNo))
{
- throw new Exception($"鐗╂枡锛歿sku.SkuNo}鏈煡璇㈠埌绫诲埆淇℃伅");
+ throw new Exception($"鐗╂枡锛歿sku.SkuNo}鏈缃被鍒�,涓嶅彲鍏ュ簱");
}
var skuCategory = skuCategoryList.FirstOrDefault(m => m.CategoryNo == sku.CategoryNo);
if (skuCategory == null)
{
- throw new Exception($"鏈湪绫诲埆淇℃伅涓煡璇㈠埌鐗╂枡锛歿sku.SkuNo}鍖呭惈鐨勭被鍒�");
+ throw new Exception($"{sku.SkuNo}鐗╂枡绫诲埆涓嶅瓨鍦紝涓嶅彲鍏ュ簱");
}
var areaStr = skuCategory.AreaNo.Split(",");
@@ -1834,7 +1837,7 @@
}
//濡傛灉璺冲贩閬撳苟涓旀湭鎵惧埌鍚堥�傜┖鍌ㄤ綅,鍒欒烦鍒版渶鍚庝竴娆′娇鐢ㄧ殑宸烽亾鏌ヨ
- if (roadNo == "")
+ if (string.IsNullOrWhiteSpace(roadNo))
{
if (useLog != null)
{
@@ -1867,7 +1870,7 @@
roadNo = item;
}
//褰撳墠宸锋湁浣嶇疆鍒欓��鍑�
- if (roadNo != null)
+ if (!string.IsNullOrWhiteSpace(roadNo))
{
break;
}
@@ -1919,6 +1922,7 @@
};
Db.Insertable(exTask).ExecuteCommand();
+ var asnNo = "";
// 娣诲姞鎵樼洏缁戝畾琛ㄦ墭鐩樺叆搴撲换鍔″彿 liudl
if (palletBindList.Count < 1)
{
@@ -1932,9 +1936,33 @@
bindModel.WareHouseNo = houseNo;
bindModel.RoadwayNo = roadNo;
Db.Updateable(bindModel).ExecuteCommand();
+ asnNo = stockModel.ASNNo;
}
}
}
+ foreach (DataStockDetail stockModel in stockDetail)
+ {
+ //娣诲姞鎵樼洏涓婃灦璁板綍
+ var upShelf = new BllPalletUpShelf()
+ {
+ TaskNo = exTask.TaskNo,
+ TraceNo = asnNo,
+ PalletNo = palletNo,
+ SkuNo = stockModel.SkuNo,
+ SkuName = stockModel.SkuName,
+ LotNo = stockModel.LotNo,
+ Status = "1",
+
+ WareHouseNo = houseNo,
+ RoadwayNo = roadNo,
+ AreaNo = "",
+ LocatNo = "",
+
+ CreateUser = 0,
+ };
+ Db.Insertable(upShelf).ExecuteCommand();
+ }
+
if (palletBindList.Count >= 1)
{
@@ -2242,7 +2270,7 @@
};
Db.Insertable(exTask).ExecuteCommand();
-
+ var asnNo = "";
// 娣诲姞鎵樼洏缁戝畾琛ㄦ墭鐩樺叆搴撲换鍔″彿 liudl
foreach (DataStockDetail stockModel in stockDetail)
{
@@ -2255,9 +2283,32 @@
bindModel.RoadwayNo = locate.RoadwayNo;
bindModel.LocatNo = locate.LocatNo;
Db.Updateable(bindModel).ExecuteCommand();
+ asnNo = stockModel.ASNNo;
}
}
+ foreach (DataStockDetail stockModel in stockDetail)
+ {
+ //娣诲姞鎵樼洏涓婃灦璁板綍
+ var upShelf = new BllPalletUpShelf()
+ {
+ TaskNo = exTask.TaskNo,
+ TraceNo = asnNo,
+ PalletNo = palletNo,
+ SkuNo = stockModel.SkuNo,
+ SkuName = stockModel.SkuName,
+ LotNo = stockModel.LotNo,
+ Status = "1",
+ WareHouseNo = houseNo,
+ RoadwayNo = locate.RoadwayNo,
+ AreaNo = locate.AreaNo,
+ LocatNo = locate.LocatNo,
+
+ CreateUser = 0,
+ };
+ Db.Insertable(upShelf).ExecuteCommand();
+ }
+
oldTaskNo = taskNo;
}
else
@@ -2272,16 +2323,34 @@
}
Db.Updateable(oldTask).ExecuteCommand();
- var bindModel = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.Status == "2"
- && m.PalletNo == oldTask.PalletNo && m.TaskNo == oldTaskNo);
- if (bindModel != null && string.IsNullOrWhiteSpace(bindModel.LocatNo))
+
+ var bindModelList = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.Status == "2"
+ && m.PalletNo == oldTask.PalletNo && m.TaskNo == oldTaskNo).ToList();
+ foreach (var bindModel in bindModelList)
{
- bindModel.TaskNo = oldTask.TaskNo;
- bindModel.WareHouseNo = locate.WareHouseNo;
- bindModel.RoadwayNo = locate.RoadwayNo;
- bindModel.LocatNo = locate.LocatNo;
- Db.Updateable(bindModel).ExecuteCommand();
+ if (string.IsNullOrWhiteSpace(bindModel.LocatNo))
+ {
+ bindModel.TaskNo = oldTask.TaskNo;
+ bindModel.WareHouseNo = locate.WareHouseNo;
+ bindModel.RoadwayNo = locate.RoadwayNo;
+ bindModel.LocatNo = locate.LocatNo;
+ Db.Updateable(bindModel).ExecuteCommand();
+
+ }
}
+ //鏇存敼涓婃灦淇℃伅
+ var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == oldTask.TaskNo && m.PalletNo == palletNo).ToList();
+ foreach (var upShelf in upShelfList)
+ {
+ upShelf.WareHouseNo = locate.WareHouseNo;
+ upShelf.RoadwayNo = locate.RoadwayNo;
+ upShelf.LocatNo = locate.LocatNo;
+ upShelf.Status = "1";
+ Db.Updateable(upShelf).ExecuteCommand();
+
+ }
+
+
}
locate.Status = "2";
@@ -2652,6 +2721,7 @@
//娣诲姞鎿嶄綔鏃ュ織璁板綍
var k = new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
}
+
//鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴�
if (stockDetail.Any())
{
@@ -3251,7 +3321,13 @@
task.FinishDate = comTime;//瀹屾垚鏃堕棿
//鏇存柊浠诲姟淇℃伅
Db.Updateable(task).ExecuteCommand();
-
+ //鏇存敼鎵樼洏涓婃灦璁板綍淇℃伅
+ var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo && m.PalletNo == task.PalletNo).ToList();
+ foreach (var upShelf in upShelfList)
+ {
+ upShelf.Status = "2";
+ Db.Updateable(upShelf).ExecuteCommand();
+ }
//鍒ゆ柇鏄惁鏄洖娴佸叆搴撳畬鎴�
if (stockDetail.Any())
{
@@ -3294,49 +3370,6 @@
Db.Updateable(dataBoxInfoList).ExecuteCommand();
#endregion
- #region 閲囪喘璁″垝
- //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("鏈煡璇㈠埌鎵樼洏缁戝畾鐨勫叆搴撳崟淇℃伅");
- //}
- //if (notice.Type == "1" && !string.IsNullOrEmpty(noticeDetail.OrderDetailCode))
- //{
- // //閲囪喘鍗曟槑缁�
- // var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>().First(it => it.OrderDetailCode == noticeDetail.OrderDetailCode && it.IsDel == "0");
- // planDetail.CompleteQty += item.Qty;
- // if (planDetail.CompleteQty >= planDetail.Qty)
- // {
- // planDetail.Status = "2";
- // planDetail.CompleteTime = comTime;
- // }
- // Db.Updateable(planDetail).ExecuteCommand();
-
- // //閲囪喘鍗�
- // var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.Id == planDetail.ParentId && it.IsDel == "0");
- // var planDetailNum = Db.Queryable<BllProcurePlanNoticeDetail>()
- // .Count(m => m.IsDel == "0" && m.ParentId == planDetail.ParentId && m.Status != "2");
- // if (planDetailNum == 0)
- // {
- // planOrd.Status = "2";
- // planOrd.CompleteTime = comTime;
- // Db.Updateable(planOrd).ExecuteCommand();
- // }
- // else
- // {
- // if (planOrd.Status == "0")
- // {
- // planOrd.Status = "1";
- // Db.Updateable(planOrd).ExecuteCommand();
- // }
- // }
- //}
- #endregion
item.Status = "3";
item.CompleteTime = comTime;
}
@@ -3587,6 +3620,15 @@
}
Db.Updateable(bind).ExecuteCommand();
}
+ //鏇存敼鎵樼洏涓婃灦璁板綍淇℃伅
+ var upShelfList = Db.Queryable<BllPalletUpShelf>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo && m.PalletNo == task.PalletNo).ToList();
+ foreach (var upShelf in upShelfList)
+ {
+ upShelf.IsDel = "1";
+ Db.Updateable(upShelf).ExecuteCommand();
+ }
+
+ //鍌ㄤ綅淇℃伅
var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
if (locate != null)
{
--
Gitblit v1.8.0