From 25df87113f92a1ad32e8e5f3b0dc9252e38575c9 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期四, 29 八月 2024 09:07:39 +0800
Subject: [PATCH] Merge branch 'zwc'
---
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 162 ++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 133 insertions(+), 29 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 7c124fd..35a07f3 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -1888,16 +1888,17 @@
BoxNo,
SkuNo,
SkuName,
- LotNo,
+ LotNo,
+ BitBoxMark,
SUM(Qty) as Qty
FROM BllBoxInfo
WHERE IsDel = '0'
AND Status='0'
AND BoxNo = '{model.BoxNo}'
- GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo; ";
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
- if (models == null)
+ if (models.Count == 0 )
{
throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!");
}
@@ -1909,6 +1910,55 @@
throw ex;
}
}
+
+ /// <summary>
+ /// 鏍规嵁绠辩爜鍚戣拷婧郴缁熻姹傛爣绛剧鐮佷俊鎭�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ public List<BoxInfoDto> GetFMBindBoxInfos(string boxno)
+ {
+ try
+ {
+ #region 绠辩爜璇锋眰鎺ュ彛锛屾寮忕郴缁熸斁寮�
+ /*var jsonData = JsonConvert.SerializeObject(boxno);
+
+ var response = HttpHelper.DoPost(url, jsonData, "绠辩爜淇℃伅璇锋眰", "FM");
+
+ var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁
+ if (obj.Success != 0)
+ {
+ throw new Exception("璇锋眰澶辫触" + obj.Message);
+ }*/
+ #endregion
+ string sqlString = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo = '{boxno}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+ var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); // response
+
+ if (models.Count == 0)
+ {
+ throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!");
+ }
+
+ return models;
+ }
+ catch (Exception ex)
+ {
+ throw ex;
+ }
+ }
+
// 鏍规嵁鍗曟嵁鍙疯幏鍙栧崟鎹槑缁嗗垪琛�
public List<ArrivalNoticeDetailDto> GetBindArrivalNoticeDetails(ArrivalNoticeVm model)
{
@@ -3527,12 +3577,12 @@
boxInfoList.AddRange(list);
msgStr += $"灏剧鍙蜂负{model.TailBoxNo}";
}
+ //缁戝畾绠辨�绘暟閲�
+ //model.SkuQty = boxInfoList.Sum(s => s.Qty);
//鍜岄�夋嫨鐨勬壒娆″悓鎵规鐨勭鐮佷俊鎭�
- var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo).ToList();
+ var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo && w.Status == "0").ToList();
//鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜淇℃伅锛堟嫾绠辨壒娆★級
var notBoxInfoList = boxInfoList.Where(w => w.LotNo != model.LotNo).ToList();
- //鎷肩鏁伴噺(鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜鏁伴噺)
- decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty);
#endregion
if (sameBoxInfoList.Count <= 0)
@@ -3553,7 +3603,7 @@
PalletNo = model.PalletNo,
PalletNo2 = "",
PalletNo3 = "",
- Qty = model.SkuQty - pinBoxQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺
+ Qty = model.SkuQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺
FullQty = pNum,
Status = "2",//鍏ュ簱瀹屾垚
Type = "0",
@@ -3576,10 +3626,10 @@
bindId = bind.Id;
bind.Qty += model.SkuQty;
}
- if (bind.Qty < 0)
+ /*if (bind.Qty < 0)
{
throw new Exception("缁勭洏鏁伴噺涓嶈兘灏忎簬0");
- }
+ }*/
#endregion
#region 搴撳瓨鏄庣粏鍜岃川妫�淇℃伅
@@ -3917,6 +3967,8 @@
}
var pinBoxNo = notBoxInfoList[0].BoxNo;//鎷肩绠辩爜
var pinBoxLotNo = notBoxInfoList[0].LotNo;//鎷肩鎵规鍙�
+ //鎷肩鏁伴噺(鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜鏁伴噺)
+ decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty);
var dataBoxList = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo == pinBoxNo && w.LotNo == pinBoxLotNo).ToList();
if (dataBoxList.Count > 0)//宸叉湁搴撳瓨
@@ -3925,6 +3977,8 @@
var oldPalletBind = Db.Queryable<BllPalletBind>().First(w => w.Id == notBoxInfoList[0].BindNo);
//鍘熷叆搴撳崟鏄庣粏
var oldAsnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(w => w.Id == oldPalletBind.ASNDetailNo);
+ //鍘熷叆搴撳崟
+ var oldAsnNotice = Db.Queryable<BllArrivalNotice>().First(w => w.ASNNo == oldAsnDetail.ASNNo);
#region 鎵樼洏缁戝畾淇℃伅
var bind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNDetailNo == oldAsnDetail.Id && m.PalletNo == model.PalletNo);
var bindId = 0;
@@ -3937,7 +3991,7 @@
PalletNo = model.PalletNo,
PalletNo2 = "",
PalletNo3 = "",
- Qty = pinBoxQty,
+ Qty = 0,
FullQty = pNum,
Status = "2",//鍏ュ簱瀹屾垚
Type = "0",
@@ -3967,7 +4021,7 @@
// 鎻掑叆搴撳瓨鏄庣粏鏁版嵁
var sd1 = new DataStockDetail()
{
- LotNo = pinBoxNo,
+ LotNo = pinBoxLotNo,
LotText = notBoxInfoList[0].LotText,
SupplierLot = notBoxInfoList[0].SupplierLot,
SkuNo = sku.SkuNo,
@@ -3983,9 +4037,9 @@
RoadwayNo = "",//鎵�灞炲贩閬�
AreaNo = "",//鎵�灞炲尯鍩�
LocatNo = "",//鍌ㄤ綅鍦板潃
- PalletNo = oldPalletBind.PalletNo,
- PalletNo2 = oldPalletBind.PalletNo2,
- PalletNo3 = oldPalletBind.PalletNo3,
+ PalletNo = bind.PalletNo,
+ PalletNo2 = bind.PalletNo2,
+ PalletNo3 = bind.PalletNo3,
PalletTags = "0",
CompleteTime = comTime,
ProductionTime = oldPalletBind.ProductionTime,
@@ -4002,6 +4056,17 @@
CreateUser = 0,
CreateTime = comTime
};
+ //缁存姢搴撳瓨鏄庣粏璐т富/渚涘簲鍟嗕俊鎭�
+ if (oldAsnNotice.Type == "0" || oldAsnNotice.Type == "2" || oldAsnNotice.Type == "4" || oldAsnNotice.Type == "6" || oldAsnNotice.Type == "7")//0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱
+ {
+ sd1.OwnerNo = oldAsnNotice.CustomerNo;//璐т富缂栫爜
+ sd1.OwnerName = oldAsnNotice.CustomerName;//璐т富鍚嶇О
+ }
+ else if (oldAsnNotice.Type == "1" || oldAsnNotice.Type == "5")//1:閲囪喘鍏ュ簱,2:鍏跺畠鍏ュ簱
+ {
+ sd1.SupplierNo = oldAsnNotice.CustomerNo;//渚涘簲鍟嗙紪鐮�
+ sd1.SupplierName = oldAsnNotice.CustomerName;//渚涘簲鍟嗗悕绉�
+ }
//娣诲姞搴撳瓨鏄庣粏
var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
foreach (var item in dataBoxList)
@@ -4029,7 +4094,7 @@
string sql = $@"SELECT detail.* FROM BllArrivalNoticeDetail as detail
JOIN BllArrivalNotice as notice ON detail.ASNNo=notice.ASNNo
WHERE notice.IsDel='0'
- AND notice.Status='1'
+ AND ( notice.Status=0 or notice.Status=1 )
AND detail.IsDel='0'
AND detail.LotNo='{pinBoxLotNo}'
AND detail.SkuNo='{sku.SkuNo}'
@@ -4041,7 +4106,7 @@
throw new Exception("鎷肩鍐呯墿鏂欐墍灞炲叆搴撳崟鏄庣粏涓嶅瓨鍦�!");
}
//鎵惧埌鎷肩鍐呭叾浠栨壒娆℃墍灞炲叆搴撳崟
- var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo && w.Status == "1");
+ var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo);
if (arrNotice == null)
{
throw new Exception("鎷肩鍐呯墿鏂欐墍灞炲叆搴撳崟涓嶅瓨鍦�!");
@@ -4058,7 +4123,7 @@
PalletNo = model.PalletNo,
PalletNo2 = "",
PalletNo3 = "",
- Qty = pinBoxQty,
+ Qty = 0,
FullQty = pNum,
Status = "2",//鍏ュ簱瀹屾垚
Type = "0",
@@ -4079,9 +4144,6 @@
else
{
bindId = bind.Id;
- bind.Qty += pinBoxQty;
-
- Db.Updateable(bind).ExecuteCommand();
}
#endregion
@@ -4110,7 +4172,7 @@
{
sdId1 = sd1.Id;
// 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
- sd1.Qty = pinBoxQty;
+ sd1.Qty = bind.Qty;
sd1.CompleteTime = comTime;
sd1.UpdateUser = userId;
sd1.UpdateTime = comTime;
@@ -4128,7 +4190,7 @@
SkuNo = sku.SkuNo,
SkuName = sku.SkuName,
Standard = sku.Standard,
- Qty = pinBoxQty,
+ Qty = bind.Qty,
LockQty = 0,
FrozenQty = 0,
InspectQty = 0,
@@ -4149,7 +4211,7 @@
InspectMark = bind.InspectMark,
InspectStatus = sku.IsInspect,
BitPalletMark = bind.BitPalletMark,
- PackagNo = detail.PackagNo, //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�
+ PackagNo = arrDetail.PackagNo, //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�
IsBale = bind.IsBale,
IsBelt = bind.IsBelt,
@@ -4208,7 +4270,7 @@
continue;
}
//绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎
- if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo)
+ if (box.SkuNo != arrDetail.SkuNo || box.LotNo != arrDetail.LotNo)
{
throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!");
}
@@ -4309,7 +4371,7 @@
arrDetail.IsSampling = "1";
}
arrDetail.Status = "1";//0锛氱瓑寰呮墽琛� 1锛氭鍦ㄦ墽琛� 2锛氭墽琛屽畬鎴�
- if (arrDetail.CompleteQty >= detail.Qty)
+ if (arrDetail.CompleteQty >= arrDetail.Qty)
{
arrDetail.Status = "2";
arrDetail.CompleteTime = comTime;
@@ -5141,7 +5203,7 @@
SendDate = serverTime, //鍙戦�佹椂闂�
BackDate = serverTime, //杩斿洖鏃堕棿
StartLocat = "",//璧峰浣嶇疆
- EndLocat = "鍔涜骞冲簱",//鐩爣浣嶇疆
+ EndLocat = "骞冲簱",//鐩爣浣嶇疆
PalletNo = bindInfo.PalletNo,//鎵樼洏鐮�
IsSend = 0,//鏄惁鍙啀娆′笅鍙�
IsCancel = 0,//鏄惁鍙彇娑�
@@ -5149,7 +5211,7 @@
Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
Status = "2",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
- Msg = "鍔涜骞冲簱鐨勫叆搴撲换鍔�",
+ Msg = "骞冲簱鐨勫叆搴撲换鍔�",
};
Db.Insertable(exTask).ExecuteCommand();
@@ -5163,6 +5225,27 @@
bindInfo.TaskNo = taskNo; //浠诲姟鍙�
Db.Updateable(bindInfo).ExecuteCommand();
#endregion
+
+ /* #region 娣诲姞鎵樼洏涓婃灦璁板綍
+ var upShelf = new BllPalletUpShelf()
+ {
+ TaskNo = exTask.TaskNo,
+ TraceNo = bindInfo.ASNNo,
+ PalletNo = bindInfo.PalletNo,
+ SkuNo = stockModel.SkuNo,
+ SkuName = stockModel.SkuName,
+ LotNo = stockModel.LotNo,
+ Status = "1",
+
+ WareHouseNo = bindInfo.WareHouseNo,
+ RoadwayNo = bindInfo.RoadwayNo,
+ AreaNo = "",
+ LocatNo = "",
+
+ CreateUser = 0,
+ };
+ Db.Insertable(upShelf).ExecuteCommand();
+ #endregion*/
#region 搴撳瓨绠辨敮鏄庣粏琛�
// 鎻掑叆鏂扮粍鐨勭鏀俊鎭�
@@ -5259,7 +5342,7 @@
SendDate = DateTime.Now, //鍙戦�佹椂闂�
BackDate = DateTime.Now, //杩斿洖鏃堕棿
StartLocat = "",//璧峰浣嶇疆
- EndLocat = "鐗у師骞冲簱",//鐩爣浣嶇疆
+ EndLocat = "骞冲簱",//鐩爣浣嶇疆
PalletNo = model.PalletNo,//鎵樼洏鐮�
IsSend = 0,//鏄惁鍙啀娆′笅鍙�
IsCancel = 0,//鏄惁鍙彇娑�
@@ -5267,7 +5350,7 @@
Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
Status = "2",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
OrderType = "3",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
- Msg = "鐗у師骞冲簱鐨勫叆搴撲换鍔�",
+ Msg = "骞冲簱鐨勫叆搴撲换鍔�",
};
Db.Insertable(exTask).ExecuteCommand();
//鎵樼洏缁戝畾淇℃伅
@@ -5283,6 +5366,27 @@
Db.Updateable(bindInfo).ExecuteCommand();
}
#endregion
+
+ #region 娣诲姞鎵樼洏涓婃灦璁板綍
+ var palletupinfo = stockDetail.First();
+ var upShelf = new BllPalletUpShelf()
+ {
+ TaskNo = exTask.TaskNo,
+ TraceNo = bindInfo.ASNNo,
+ PalletNo = bindInfo.PalletNo,
+ SkuNo = palletupinfo.SkuNo,
+ SkuName = palletupinfo.SkuName,
+ LotNo = palletupinfo.LotNo,
+ Status = "2",
+ LocatNo = model.LocatNo,
+ WareHouseNo = bindInfo.WareHouseNo,
+ RoadwayNo = bindInfo.RoadwayNo,
+ AreaNo = storageLocat.AreaNo,
+
+ CreateUser = 0,
+ };
+ Db.Insertable(upShelf).ExecuteCommand();
+ #endregion
}
storageLocat.Status = "1";//鐘舵�佸凡浣跨敤
storageLocat.UpdateTime = serverTime; //淇敼鏃堕棿
--
Gitblit v1.8.0