From c2d3213ba82b7b97d6f85274d3086fff076495d7 Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期一, 23 九月 2024 19:16:35 +0800
Subject: [PATCH] 修改测试问题
---
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 314 ++++++++++++++++++++++++++++++++--------------------
1 files changed, 194 insertions(+), 120 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 42f39e2..b506589 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -68,7 +68,7 @@
throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
}
var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo);
- if (!string.IsNullOrEmpty(palletInfo.WareHouseNo))
+ if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1")
{
throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�");
}
@@ -255,9 +255,9 @@
//{
// if (expr)
// {
-
+
// }
-
+
//}
var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 != null && m.BoxNo3 == demo.BoxNo);
if (com != null)
@@ -336,7 +336,7 @@
throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�");
}
}
-
+
//搴撳瓨鏄庣粏
var detail = Db.Queryable<DataStockDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo);
if (detail == null)
@@ -352,7 +352,7 @@
{
SkuNo = detail.SkuNo,
BoxNo = detail.SkuNo,
- Qty = allot == null ? (int)(detail.Qty-detail.LockQty) : (int)allot.Qty,
+ Qty = allot == null ? (int)(detail.Qty - detail.LockQty) : (int)allot.Qty,
PickedQty = allot == null ? 0 : (int)allot.CompleteQty,
};
@@ -447,12 +447,12 @@
{
throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺");
}
- var pickQty = 0;//鎷h揣鐨勬暟閲�
+ decimal pickQty = 0;//鎷h揣鐨勬暟閲�
var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList();
var comList = new List<BllCompleteDetail>();
foreach (var item in boxInfos)
{
- if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
+ if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3) && item.BoxNo3 != null)
{
throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
}
@@ -580,7 +580,7 @@
{
throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣");
}
- int boxQty = boxInfo.First().Qty;
+ decimal boxQty = boxInfo.First().Qty;
if (Convert.ToInt32(pickQty1) > boxQty)
{
throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
@@ -616,8 +616,8 @@
}
}
}
- var pickQty = 0;//鎷h揣鐨勬暟閲�
-
+ decimal pickQty = 0;//鎷h揣鐨勬暟閲�
+
var comList = new List<BllCompleteDetail>();
foreach (var item in boxInfos)
{
@@ -639,7 +639,7 @@
SkuName = allot.SkuName,
Standard = allot.Standard,
PalletNo = palletNo,
- CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
+ CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty,
CreateUser = userId
};
@@ -648,18 +648,18 @@
if (biaoShi != "2")
{
//鍒犻櫎搴撳瓨绠辩爜鏄庣粏
- Db.Deleteable(item).ExecuteCommand();
+ Db.Deleteable(item).ExecuteCommand();
}
else//鏁伴噺鎷h揣
{
- if (int.Parse(pickQty1) == item.Qty)
+ if (decimal.Parse(pickQty1) == item.Qty)
{
//鍒犻櫎搴撳瓨绠辩爜鏄庣粏
Db.Deleteable(item).ExecuteCommand();
}
else
{
- item.Qty -= int.Parse(pickQty1);
+ item.Qty -= decimal.Parse(pickQty1);
item.BitBoxMark = "1";//闆剁鏍囪瘑
Db.Updateable(item).ExecuteCommand();
}
@@ -837,6 +837,7 @@
var comList = new List<BllCompleteDetail>();
//鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏
+ isComplete = 0;// 鎵�鏈夋棤绠辩爜鎴栦竴绾х鐮佹嫞璐ф椂锛屾嫞璐ф槑缁嗗簲閲嶆柊鎻掑叆鏁版嵁(浣撶幇澶氭鎷h揣娴佺▼璁板綍)
if (isComplete == 0)
{
//娣诲姞鎷h揣鏄庣粏
@@ -875,8 +876,6 @@
Db.Updateable(complete).ExecuteCommand();
}
-
-
//淇敼鍑哄簱鍒嗛厤淇℃伅
allot.CompleteQty += int.Parse(PickQty);
@@ -936,7 +935,7 @@
pallet.Status = "0";
Db.Updateable(pallet).ExecuteCommand();
}
-
+
//淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
noticeDetail.CompleteQty += int.Parse(PickQty);
Db.Updateable(noticeDetail).ExecuteCommand();
@@ -1102,7 +1101,7 @@
PalletNo = exTask.PalletNo,//鎵樼洏鍙�
StartLocate = exTask.StartLocat, // 璧峰浣嶇疆
StartRoadway = locat.RoadwayNo, //鎵�灞炲贩閬�
- EndLocate = "", // 鐩爣浣嶇疆
+ EndLocate = model.OutMode, // 鐩爣浣嶇疆
TaskNo = exTask.TaskNo, // 浠诲姟鍙�
TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)
OutMode = model.OutMode, //鐩爣鍦板潃
@@ -1229,7 +1228,21 @@
if (result.WareHouseNo != "W02")//W02锛氶浂绠卞簱
{
- throw new Exception("璇ユ墭鐩樻湭鍦ㄩ浂绠卞簱锛岃妫�鏌�!");
+ throw new Exception("璇ユ墭鐩樻湭鍦ㄥ钩搴撳唴锛岃妫�鏌�!");
+ }
+
+ #endregion
+
+ #region 楠岃瘉鍌ㄤ綅鐘舵�佹槸鍚︽甯�
+
+ var locat = Db.Queryable<SysStorageLocat>().First(a=>a.IsDel == "0" && a.LocatNo == result.LocatNo);
+ if (locat == null)
+ {
+ throw new Exception("鏈幏鍙栧埌瀵瑰簲鍌ㄤ綅淇℃伅锛岃妫�鏌�!");
+ }
+ if (locat.Status != "3")
+ {
+ throw new Exception("褰撳墠鍌ㄤ綅涓嶆槸鍑哄簱涓紝璇锋鏌�!");
}
#endregion
@@ -1285,6 +1298,10 @@
item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
Db.Updateable(item).ExecuteCommand();
}
+ //鍙樻洿鍌ㄤ綅鐘舵��
+ locat.Status = "0";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖鍌ㄤ綅锛�
+ Db.Updateable(locat).ExecuteCommand();
+
//鍑哄簱娴佹按锛堟洿鏀圭姸鎬侊級
var allot = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo && m.SONo == soNo).ToList();
@@ -1331,25 +1348,25 @@
{
var type = "";
var detail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
- if (detail== null)
+ if (detail == null)
{
throw new Exception("褰撳墠鎵樼洏鏈湪搴撳瓨涓�");
}
//鎬庝箞鍒ゆ柇褰撳墠鎵樼洏鏄簱澶栬鍙栨牱鐨勬墭鐩橈紝姝e父鍑哄簱鍓╀綑鎵樼洏鐩墠杩欑鎯呭喌涔熻兘鎷h揣鍟婏紝涔熸病鏈夊垎閰嶄俊鎭�
var allot = Db.Queryable<BllExportAllot>().First(m =>
m.IsDel == "0" && m.PalletNo == palletNo && m.Status != "5" && m.Status != "6");
- if (allot!=null)
+ if (allot != null)
{
var soNo = Db.Queryable<BllExportNotice>()
.First(m => m.IsDel == "0" && m.SONo == allot.SONo);
if (soNo == null)
{
throw new Exception("鏈壘鍒版墭鐩樹笂鍑哄簱鍗曟嵁淇℃伅");
- }
+ }
if (soNo.Type != "3")
{
throw new Exception("璇ユ墭鐩樹笉鏄彇鏍锋墭鐩�");
- }
+ }
type = "0";//搴撳唴鍙栨牱
}
else
@@ -1392,7 +1409,7 @@
}
//鍙栨牱鍑哄簱鎷h揣(鏍囩)
- public void SampleSoSetPick(string soType,string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string asnNo, int userId)
+ public void SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string asnNo, int userId)
{
Db.BeginTran();
try
@@ -1401,7 +1418,7 @@
{
throw new Exception("鍙栨牱鏍囪瘑涓嶈兘涓虹┖");
}
-
+
//soType: 0搴撳唴鍙栨牱锛屾湁鍑哄簱鍗曞強鍒嗛厤淇℃伅锛� 1搴撳墠鍙栨牱锛屽弽鍚戞坊鍔犲嚭搴撳崟鍙婂垎閰嶄俊鎭�
if (soType == "1")
{
@@ -1411,7 +1428,7 @@
if (string.IsNullOrWhiteSpace(asnNo))
{
throw new Exception("鍏ュ簱鍗曚笉鑳戒负绌�");
- }
+ }
if (string.IsNullOrWhiteSpace(palletNo))
{
throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�");
@@ -1436,7 +1453,7 @@
throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑搴撳瓨鏄庣粏淇℃伅锛�");
}
- var sku = Db.Queryable<SysMaterials>().First(m=>m.IsDel == "0" && m.SkuNo == stockDetail.SkuNo);
+ var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == stockDetail.SkuNo);
if (sku == null)
{
throw new Exception("鏈煡璇㈠埌褰撳墠鎵樼洏涓婄殑鐗╂枡淇℃伅");
@@ -1451,7 +1468,7 @@
//鍑哄簱鍗�
var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.AsnSampleNo == asnNo);
//鍒涘缓鍑哄簱鍗�
- if (notice == null || notice.Status == "6")
+ if (notice == null || notice.Status == "6")
{
var billNo = "";
var bl = true;
@@ -1463,7 +1480,7 @@
bl = Db.Queryable<BllExportNotice>().Any(m => m.SONo == no);
} while (bl);
-
+
var addNotice = new BllExportNotice()
{
SONo = billNo,
@@ -1475,7 +1492,7 @@
WaveNo = "",
IsDespatch = "0",
CompleteTime = DateTime.Now,
- CreateUser = userId,
+ CreateUser = userId,
};
var n = Db.Insertable(addNotice).ExecuteReturnEntity();
@@ -1509,7 +1526,7 @@
IsIssueLotNo = "0",
Status = "3",
CreateUser = userId,
-
+
};
var m = Db.Insertable(addNoticeDetail).ExecuteReturnEntity();
noticeDetail = m;
@@ -1532,8 +1549,8 @@
SkuName = sku.SkuName,
Standard = sku.Standard,
PalletNo = palletNo,
- IsBale = "0" , //鏄惁瑁瑰寘
- IsBelt = "0" , //鏄惁鎵撳甫
+ IsBale = "0", //鏄惁瑁瑰寘
+ IsBelt = "0", //鏄惁鎵撳甫
Qty = 0,
CompleteQty = 0,
@@ -1550,7 +1567,7 @@
var fp = Db.Insertable(addAllot).ExecuteReturnEntity();
allot2 = fp;
}
-
+
#endregion
@@ -1597,7 +1614,7 @@
{
throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣");
}
- int boxQty = boxInfo.First().Qty;
+ decimal boxQty = boxInfo.First().Qty;
if (Convert.ToInt32(pickQty1) > boxQty)
{
throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
@@ -1623,8 +1640,8 @@
}
}
}
- var pickQty = 0;//鎷h揣鐨勬暟閲�
-
+ decimal pickQty = 0;//鎷h揣鐨勬暟閲�
+
var comList = new List<BllCompleteDetail>();
foreach (var item in boxInfos)
{
@@ -1650,7 +1667,7 @@
SkuName = allot2.SkuName,
Standard = allot2.Standard,
PalletNo = palletNo,
- CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
+ CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty,
InspectMark = "1",
CreateUser = userId
@@ -1664,22 +1681,22 @@
}
else//鏁伴噺鎷h揣
{
- if (int.Parse(pickQty1) == item.Qty)
+ if (decimal.Parse(pickQty1) == item.Qty)
{
//鍒犻櫎搴撳瓨绠辩爜鏄庣粏
Db.Deleteable(item).ExecuteCommand();
}
else
{
- item.Qty -= int.Parse(pickQty1);
+ item.Qty -= decimal.Parse(pickQty1);
item.BitBoxMark = "1";//闆剁鏍囪瘑
item.InspectMark = "1";//鎶芥绠辨爣璇�
Db.Updateable(item).ExecuteCommand();
}
}
- pickQty += biaoShi == "2" ? int.Parse(pickQty1) : item.Qty;
+ pickQty += biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty;
}
-
+
//鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅
if (biaoShi == "1")
@@ -1696,13 +1713,13 @@
Db.Insertable(comList).ExecuteCommand();
//淇敼鍑哄簱鍒嗛厤淇℃伅
allot2.Qty += pickQty;
- allot2.CompleteQty += pickQty;
+ allot2.CompleteQty += pickQty;
Db.Updateable(allot2).ExecuteCommand();
//鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
stockDetail.Qty -= pickQty;
-
+
if (stockDetail.Qty <= 0)
{
Db.Deleteable(stockDetail).ExecuteCommand();
@@ -1741,7 +1758,7 @@
Db.Updateable(noticeDetail).ExecuteCommand();
}
- else if(soType == "0")
+ else if (soType == "0")
{
#region 鍒ゆ柇
@@ -1851,7 +1868,7 @@
{
throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣");
}
- int boxQty = boxInfo.First().Qty;
+ decimal boxQty = boxInfo.First().Qty;
if (Convert.ToInt32(pickQty1) > boxQty)
{
throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
@@ -1886,8 +1903,8 @@
}
}
}
- var pickQty = 0;//鎷h揣鐨勬暟閲�
-
+ decimal pickQty = 0;//鎷h揣鐨勬暟閲�
+
var comList = new List<BllCompleteDetail>();
foreach (var item in boxInfos)
{
@@ -1913,7 +1930,7 @@
SkuName = allot.SkuName,
Standard = allot.Standard,
PalletNo = palletNo,
- CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
+ CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty,
CreateUser = userId
};
@@ -1926,14 +1943,14 @@
}
else//鏁伴噺鎷h揣
{
- if (int.Parse(pickQty1) == item.Qty)
+ if (decimal.Parse(pickQty1) == item.Qty)
{
//鍒犻櫎搴撳瓨绠辩爜鏄庣粏
Db.Deleteable(item).ExecuteCommand();
}
else
{
- item.Qty -= int.Parse(pickQty1);
+ item.Qty -= decimal.Parse(pickQty1);
item.BitBoxMark = "1";//闆剁鏍囪瘑
Db.Updateable(item).ExecuteCommand();
}
@@ -2216,7 +2233,7 @@
SkuName = allot2.SkuName,
Standard = allot2.Standard,
PalletNo = palletNo,
- CompleteQty = int.Parse(PickQty) ,
+ CompleteQty = int.Parse(PickQty),
InspectMark = "1",
CreateUser = userId
@@ -2239,7 +2256,7 @@
//淇敼鍑哄簱鍒嗛厤淇℃伅
allot2.Qty += int.Parse(PickQty);
- allot2.CompleteQty += int.Parse(PickQty);
+ allot2.CompleteQty += int.Parse(PickQty);
Db.Updateable(allot2).ExecuteCommand();
int isDel = 0;
@@ -2248,7 +2265,7 @@
stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
stockDetail.InspectMark = "1";//淇敼涓烘娊妫�鎵樻爣璇�
stockDetail.Qty -= int.Parse(PickQty);
- if (stockDetail.Qty == stockDetail.LockQty&& stockDetail.Qty != 0)
+ if (stockDetail.Qty == stockDetail.LockQty && stockDetail.Qty != 0)
{
stockDetail.Status = "2";
}
@@ -2301,7 +2318,7 @@
noticeDetail.CompleteQty += int.Parse(PickQty);
noticeDetail.Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * noticeDetail.Qty;
Db.Updateable(noticeDetail).ExecuteCommand();
-
+
}
else if (soType == "0")
{
@@ -2516,7 +2533,7 @@
/// <param name="pickQty1"></param>
/// <param name="palletNoNew"></param>
/// <param name="userId"></param>
- public void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1,string palletNoNew,int userId)
+ public void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string palletNoNew, int userId)
{
Db.BeginTran();
try
@@ -2543,6 +2560,13 @@
if (string.IsNullOrWhiteSpace(palletNoNew))
{
throw new Exception("鏂版墭鐩樼爜涓嶈兘涓虹┖");
+ }
+ if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷�
+ {
+ if (!string.IsNullOrEmpty(boxNo))
+ {
+ throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝璇烽�夋嫨鏁存墭鍑哄簱");
+ }
}
//鍑哄簱鍗�
@@ -2591,16 +2615,19 @@
#region 鎷兼墭淇℃伅
var sdId = 0;
bool isNew = false;
- var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew);
+ var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == allot.SkuNo && m.LotNo == allot.LotNo);
if (pinStockDetail != null)
{
- if (pinStockDetail.SONo != notice.SONo)
+ if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐�
{
- throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
- }
- if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo)
- {
- isNew = true;
+ if (pinStockDetail.SONo != notice.SONo)
+ {
+ throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
+ }
+ if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo)
+ {
+ isNew = true;
+ }
}
sdId = pinStockDetail.Id;
}
@@ -2608,7 +2635,7 @@
{
isNew = true;
- var newPalletInfo = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status=="0");
+ var newPalletInfo = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0");
if (newPalletInfo == null)
{
throw new Exception("鏂版墭鐩樹俊鎭笉瀛樺湪鎴栧凡琚娇鐢紒");
@@ -2626,7 +2653,7 @@
sd.SkuNo = stockDetail.SkuNo;
sd.SkuName = stockDetail.SkuName;
sd.Standard = stockDetail.Standard;
-
+
sd.FrozenQty = 0;
sd.InspectQty = 0;
sd.ASNNo = "";
@@ -2664,8 +2691,8 @@
sdId = Db.Insertable(sd).ExecuteReturnIdentity();
}
#endregion
-
- var pickQty = 0;//鎷h揣鐨勬暟閲�
+
+ decimal pickQty = 0;//鎷h揣鐨勬暟閲�
if (string.IsNullOrWhiteSpace(boxNo))//鏁存墭鎷h揣
{
List<DataBoxInfo> boxInfos;
@@ -2716,11 +2743,15 @@
CreateUser = userId
};
comList.Add(completeDetail);
-
+
+ if (palletNo != palletNoNew)
+ {
+ item.StockDetailId = sdId;
+ item.BindNo = null;//鎵樼洏缁戝畾鍙�
+ item.PalletNo = palletNoNew;
+ }
+ item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣
//淇敼搴撳瓨绠辩爜鏄庣粏
- item.StockDetailId = sdId;
- item.BindNo = null;//鎵樼洏缁戝畾鍙�
- item.PalletNo = palletNoNew;
Db.Updateable(item).ExecuteCommand();
pickQty += item.Qty;
@@ -2732,17 +2763,27 @@
allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3";
allot.UpdateTime = DateTime.Now;
Db.Updateable(allot).ExecuteCommand();
- //鍒犻櫎鍘熸墭鐩樺簱瀛樻槑缁�
- Db.Deleteable(stockDetail).ExecuteCommand();
- //鏀瑰彉鎵樼洏鐘舵�佷负锛氭湭浣跨敤
- var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0");
- if (pallet == null)
+ if (palletNo != palletNoNew)
{
- throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
+ //鍒犻櫎鍘熸墭鐩樺簱瀛樻槑缁�
+ Db.Deleteable(stockDetail).ExecuteCommand();
+
+ //鏀瑰彉鍘熸墭鐩樼姸鎬佷负锛氭湭浣跨敤
+ var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0");
+ if (pallet == null)
+ {
+ throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
+ }
+ pallet.Status = "0";
+ Db.Updateable(pallet).ExecuteCommand();
}
- pallet.Status = "0";
- Db.Updateable(pallet).ExecuteCommand();
+ else
+ {
+ stockDetail.SONo = soNo;
+ Db.Updateable(stockDetail).ExecuteCommand();
+ }
+
//淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
noticeDetail.CompleteQty += pickQty;
Db.Updateable(noticeDetail).ExecuteCommand();
@@ -2807,7 +2848,7 @@
{
throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣");
}
- int boxQty = boxInfo.First().Qty;
+ decimal boxQty = boxInfo.First().Qty;
if (Convert.ToInt32(pickQty1) > boxQty)
{
throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
@@ -2865,7 +2906,7 @@
SkuName = allot.SkuName,
Standard = allot.Standard,
PalletNo = palletNo,
- CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
+ CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty,
CreateUser = userId
};
@@ -2877,6 +2918,7 @@
item.StockDetailId = sdId;
item.BindNo = null;//鎵樼洏缁戝畾鍙�
item.PalletNo = palletNoNew;
+ item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣
Db.Updateable(item).ExecuteCommand();
pickQty += item.Qty;
@@ -2888,24 +2930,26 @@
item.BindNo = null;//鎵樼洏缁戝畾鍙�
item.PalletNo = palletNoNew;
item.BoxNo = item.BoxNo3;//灏嗘敮鐮佽祴缁欑鐮�
- item.BitBoxMark = "1";
+ item.BitBoxMark = "1";//闆剁鏍囪
+ item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣
Db.Updateable(item).ExecuteCommand();
pickQty += item.Qty;
}
else//鏁伴噺鎷h揣
{
- if (int.Parse(pickQty1) == item.Qty)
+ if (decimal.Parse(pickQty1) == item.Qty)
{
//淇敼搴撳瓨绠辩爜鏄庣粏
item.StockDetailId = sdId;
item.BindNo = null;//鎵樼洏缁戝畾鍙�
item.PalletNo = palletNoNew;
+ item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣
Db.Updateable(item).ExecuteCommand();
}
else
{
- item.Qty -= int.Parse(pickQty1);
+ item.Qty -= decimal.Parse(pickQty1);
item.BitBoxMark = "1";//闆剁鏍囪瘑
Db.Updateable(item).ExecuteCommand();
}
@@ -2990,13 +3034,18 @@
{
sd.Qty = pickQty;
sd.LockQty = pickQty;
+
+ Db.Updateable(sd).ExecuteCommand();
}
else
{
- //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏
- pinStockDetail.Qty += pickQty;
- pinStockDetail.LockQty += pickQty;
- Db.Updateable(pinStockDetail).ExecuteCommand();
+ if (palletNo != palletNoNew)
+ {
+ //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏
+ pinStockDetail.Qty += pickQty;
+ pinStockDetail.LockQty += pickQty;
+ Db.Updateable(pinStockDetail).ExecuteCommand();
+ }
}
//娣诲姞鎿嶄綔鏃ュ織璁板綍
@@ -3018,7 +3067,7 @@
/// <param name="PickQty"></param>
/// <param name="palletNoNew"></param>
/// <param name="userId"></param>
- public void SoSetQtyPinPick(string soNo, string soDetailId, string palletNo, string PickQty,string palletNoNew, int userId)
+ public void SoSetQtyPinPick(string soNo, string soDetailId, string palletNo, string PickQty, string palletNoNew, int userId)
{
Db.BeginTran();
try
@@ -3087,6 +3136,13 @@
{
throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�");
}
+ if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷�
+ {
+ if (int.Parse(PickQty) != stockDetail.Qty)
+ {
+ throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝闇�瑕佹妸鎵樼洏涓婃墍鏈夋暟閲忔嫞璐�");
+ }
+ }
#endregion
#region 鎷兼墭淇℃伅
@@ -3094,13 +3150,16 @@
var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew);
if (pinStockDetail != null)
{
- if (pinStockDetail.SONo != notice.SONo)
+ if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐�
{
- throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
- }
- if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo)
- {
- isNew = true;
+ if (pinStockDetail.SONo != notice.SONo)
+ {
+ throw new Exception("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
+ }
+ if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo)
+ {
+ isNew = true;
+ }
}
}
else
@@ -3116,7 +3175,7 @@
newPalletInfo.Status = "1";
Db.Updateable(newPalletInfo).ExecuteCommand();
}
-
+
if (isNew)
{
var sd = new DataStockDetail();
@@ -3169,10 +3228,18 @@
}
else
{
- //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏
- pinStockDetail.Qty += int.Parse(PickQty);
- pinStockDetail.LockQty += int.Parse(PickQty);
- Db.Updateable(pinStockDetail).ExecuteCommand();
+ if (palletNo != palletNoNew)
+ {
+ //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏
+ pinStockDetail.Qty += int.Parse(PickQty);
+ pinStockDetail.LockQty += int.Parse(PickQty);
+ Db.Updateable(pinStockDetail).ExecuteCommand();
+ }
+ else
+ {
+ pinStockDetail.SONo = soNo;
+ Db.Updateable(pinStockDetail).ExecuteCommand();
+ }
}
#endregion
@@ -3188,6 +3255,7 @@
var comList = new List<BllCompleteDetail>();
//鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏
+ isComplete = 0;//鎵�鏈夋棤绠辩爜鎴栦竴绾х鐮佹嫞璐ф椂锛屾嫞璐ф槑缁嗗簲閲嶆柊鎻掑叆鏁版嵁(浣撶幇澶氭鎷h揣娴佺▼璁板綍)
if (isComplete == 0)
{
//娣诲姞鎷h揣鏄庣粏
@@ -3235,32 +3303,38 @@
int isDel = 0;
- //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
- stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
- stockDetail.Qty -= int.Parse(PickQty);
- stockDetail.LockQty -= int.Parse(PickQty);
- if (stockDetail.Qty == stockDetail.LockQty)
+ if (palletNo != palletNoNew)
{
- stockDetail.Status = "2";
- }
- else if (stockDetail.Qty > stockDetail.LockQty && stockDetail.LockQty > 0)
- {
- stockDetail.Status = "1";
- }
- else
- {
- stockDetail.Status = "0";
- }
- if (stockDetail.Qty <= 0)
- {
- Db.Deleteable(stockDetail).ExecuteCommand();
+ //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
+ stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
+ stockDetail.Qty -= int.Parse(PickQty);
+ stockDetail.LockQty -= int.Parse(PickQty);
+ if (stockDetail.Qty == stockDetail.LockQty)
+ {
+ stockDetail.Status = "2";
+ }
+ else if (stockDetail.Qty > stockDetail.LockQty && stockDetail.LockQty > 0)
+ {
+ stockDetail.Status = "1";
+ }
+ else
+ {
+ stockDetail.Status = "0";
+ }
+ if (stockDetail.Qty <= 0)
+ {
+ Db.Deleteable(stockDetail).ExecuteCommand();
+ }
+ else
+ {
+ isDel = 1;
+ Db.Updateable(stockDetail).ExecuteCommand();
+ }
}
else
{
isDel = 1;
- Db.Updateable(stockDetail).ExecuteCommand();
}
-
//鍒ゆ柇鎵樼洏涓婄墿鏂欐槸鍚︽嫞璐у畬姣�
if (isDel == 0)
{
--
Gitblit v1.8.0