From 667736c9393c0f12814150c0c1cef77c078576e1 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期六, 23 三月 2024 16:52:33 +0800
Subject: [PATCH] 问题修改
---
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 225 +++++++++++++++++++++++++++++++++++++------------------
1 files changed, 151 insertions(+), 74 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 3b03e81..736b070 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -67,6 +67,11 @@
{
throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
}
+ var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo);
+ if (!string.IsNullOrEmpty(palletInfo.WareHouseNo))
+ {
+ throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�");
+ }
if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁
{
var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
@@ -242,7 +247,19 @@
{
foreach (var demo in list)
{
- var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 == demo.BoxNo);
+ //if (!string.IsNullOrWhiteSpace(boxNo3))
+ //{
+ // var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 == demo.BoxNo);
+ //}
+ //else if (!string.IsNullOrWhiteSpace(boxNo))
+ //{
+ // if (expr)
+ // {
+
+ // }
+
+ //}
+ var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 != null && m.BoxNo3 == demo.BoxNo);
if (com != null)
{
demo.PickedQty = com.CompleteQty;
@@ -296,24 +313,30 @@
{
throw new Exception($"{palletNo}鎵樼洏涓婂瓨鍦ㄧ鐮佷俊鎭紝鏃犳硶鍦ㄦ暟閲忔嫞璐ц繘琛屾搷浣滐紒");
}
- //鍑哄簱鍗曟槑缁�
- var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(a => a.Id == int.Parse(soDetailId) && a.IsDel == "0");
- if (noticeDetail == null)
+
+ BllExportAllot allot = null;
+ if (!string.IsNullOrWhiteSpace(soDetailId))
{
- throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟槑缁嗕俊鎭紝璇锋牳瀹烇紒");
+ //鍑哄簱鍗曟槑缁�
+ var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(a => a.Id == int.Parse(soDetailId) && a.IsDel == "0");
+ if (noticeDetail == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟槑缁嗕俊鎭紝璇锋牳瀹烇紒");
+ }
+ //鍑哄簱鍗曟�诲崟
+ var notice = Db.Queryable<BllExportNotice>().First(a => a.IsDel == "0" && a.SONo == noticeDetail.SONo);
+ if (notice == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟�诲崟淇℃伅锛岃鏍稿疄锛�");
+ }
+ //鍒嗛厤淇℃伅
+ allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && (a.Status == "2" || a.Status == "3"));
+ if (allot == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�");
+ }
}
- //鍑哄簱鍗曟�诲崟
- var notice = Db.Queryable<BllExportNotice>().First(a => a.IsDel == "0" && a.SONo == noticeDetail.SONo);
- if (notice == null)
- {
- throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍑哄簱鍗曟�诲崟淇℃伅锛岃鏍稿疄锛�");
- }
- //鍒嗛厤淇℃伅
- var allot = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.PalletNo == palletNo && (a.Status == "2" || a.Status == "3"));
- if (allot == null)
- {
- throw new Exception($"鏈煡璇㈠埌瀵瑰簲鍒嗛厤淇℃伅锛岃鏍稿疄锛�");
- }
+
//搴撳瓨鏄庣粏
var detail = Db.Queryable<DataStockDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo);
if (detail == null)
@@ -329,8 +352,8 @@
{
SkuNo = detail.SkuNo,
BoxNo = detail.SkuNo,
- Qty = (int)allot.Qty,
- PickedQty = (int)allot.CompleteQty,
+ Qty = allot == null ? (int)(detail.Qty-detail.LockQty) : (int)allot.Qty,
+ PickedQty = allot == null ? 0 : (int)allot.CompleteQty,
};
pdaInfo.Add(info);
@@ -814,6 +837,7 @@
var comList = new List<BllCompleteDetail>();
//鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏
+ isComplete = 0;// 鎵�鏈夋棤绠辩爜鎴栦竴绾х鐮佹嫞璐ф椂锛屾嫞璐ф槑缁嗗簲閲嶆柊鎻掑叆鏁版嵁(浣撶幇澶氭鎷h揣娴佺▼璁板綍)
if (isComplete == 0)
{
//娣诲姞鎷h揣鏄庣粏
@@ -852,8 +876,6 @@
Db.Updateable(complete).ExecuteCommand();
}
-
-
//淇敼鍑哄簱鍒嗛厤淇℃伅
allot.CompleteQty += int.Parse(PickQty);
@@ -2521,6 +2543,13 @@
{
throw new Exception("鏂版墭鐩樼爜涓嶈兘涓虹┖");
}
+ if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷�
+ {
+ if (!string.IsNullOrEmpty(boxNo))
+ {
+ throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝璇烽�夋嫨鏁存墭鍑哄簱");
+ }
+ }
//鍑哄簱鍗�
var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == soNo);
@@ -2571,13 +2600,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;
+ }
}
sdId = pinStockDetail.Id;
}
@@ -2693,11 +2725,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;
@@ -2709,17 +2745,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();
@@ -2854,6 +2900,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;
@@ -2865,7 +2912,8 @@
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;
@@ -2878,6 +2926,7 @@
item.StockDetailId = sdId;
item.BindNo = null;//鎵樼洏缁戝畾鍙�
item.PalletNo = palletNoNew;
+ item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣
Db.Updateable(item).ExecuteCommand();
}
else
@@ -2970,10 +3019,13 @@
}
else
{
- //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏
- pinStockDetail.Qty += pickQty;
- pinStockDetail.LockQty += pickQty;
- Db.Updateable(pinStockDetail).ExecuteCommand();
+ if (palletNo != palletNoNew)
+ {
+ //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏
+ pinStockDetail.Qty += pickQty;
+ pinStockDetail.LockQty += pickQty;
+ Db.Updateable(pinStockDetail).ExecuteCommand();
+ }
}
//娣诲姞鎿嶄綔鏃ュ織璁板綍
@@ -3064,6 +3116,13 @@
{
throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�");
}
+ if (palletNo == palletNoNew)//鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷�
+ {
+ if (int.Parse(PickQty) != stockDetail.Qty)
+ {
+ throw new Exception("鍘熸墭鐩樹笌鏂版墭鐩樹竴鑷达紝闇�瑕佹妸鎵樼洏涓婃墍鏈夋暟閲忔嫞璐�");
+ }
+ }
#endregion
#region 鎷兼墭淇℃伅
@@ -3071,13 +3130,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
@@ -3146,10 +3208,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
@@ -3165,6 +3235,7 @@
var comList = new List<BllCompleteDetail>();
//鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏
+ isComplete = 0;//鎵�鏈夋棤绠辩爜鎴栦竴绾х鐮佹嫞璐ф椂锛屾嫞璐ф槑缁嗗簲閲嶆柊鎻掑叆鏁版嵁(浣撶幇澶氭鎷h揣娴佺▼璁板綍)
if (isComplete == 0)
{
//娣诲姞鎷h揣鏄庣粏
@@ -3212,32 +3283,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