From cabcb499a03de83b62eb8c01a734a1f4049f1dcf Mon Sep 17 00:00:00 2001
From: yuyou_x <2336760928@qq.com>
Date: 星期三, 13 三月 2024 11:49:30 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/liudongl/jc24-wms
---
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 135 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 128 insertions(+), 7 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index a2bdd98..f2b5cc7 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -345,7 +345,7 @@
}
//鍑哄簱pda鎷h揣
- public void SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, int userId)
+ public void SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, int userId)
{
Db.BeginTran();
try
@@ -363,6 +363,10 @@
if (string.IsNullOrWhiteSpace(palletNo))
{
throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�");
+ }
+ if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)
+ {
+ throw new Exception("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�");
}
//鍑哄簱鍗�
@@ -503,7 +507,7 @@
}
else
{
- var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐�
+ var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐с��2锛氭暟閲忔嫞璐�
List<DataBoxInfo> boxInfos;
var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo);
if (boxInfo.Count() == 0)
@@ -536,6 +540,24 @@
biaoShi = "1";
}
+ else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣
+ {
+ if (boxInfo.Count() > 1)
+ {
+ throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣");
+ }
+ int boxQty = boxInfo.First().Qty;
+ if (Convert.ToInt32(pickQty1) > boxQty)
+ {
+ throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
+ }
+ if (Convert.ToInt32(pickQty1) > needQty)
+ {
+ throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
+ }
+
+ biaoShi = "2";
+ }
else //鏁寸鎷h揣
{
if (boxInfo.Count() == 0)
@@ -557,7 +579,7 @@
var comList = new List<BllCompleteDetail>();
foreach (var item in boxInfos)
{
- if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
+ if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
{
throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
}
@@ -579,14 +601,31 @@
SkuName = allot.SkuName,
Standard = allot.Standard,
PalletNo = palletNo,
- CompleteQty = item.Qty,
+ CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
CreateUser = userId
};
comList.Add(completeDetail);
- //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
- Db.Deleteable(item).ExecuteCommand();
+ if (biaoShi != "2")
+ {
+ //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
+ Db.Deleteable(item).ExecuteCommand();
+ }
+ else//鏁伴噺鎷h揣
+ {
+ if (int.Parse(pickQty1) == item.Qty)
+ {
+ //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
+ Db.Deleteable(item).ExecuteCommand();
+ }
+ else
+ {
+ item.Qty -= int.Parse(pickQty1);
+ item.BitBoxMark = "1";//闆剁鏍囪瘑
+ Db.Updateable(item).ExecuteCommand();
+ }
+ }
pickQty += item.Qty;
}
//鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅
@@ -670,6 +709,8 @@
//淇敼鍑哄簱鍗曚俊鎭�
Db.Updateable(notice).ExecuteCommand();
}
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId);
Db.CommitTran();
}
catch (Exception e)
@@ -806,8 +847,21 @@
int isDel = 0;
//鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
+ 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();
@@ -856,7 +910,8 @@
//淇敼鍑哄簱鍗曚俊鎭�
Db.Updateable(notice).ExecuteCommand();
-
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId);
Db.CommitTran();
}
catch (Exception e)
@@ -1229,6 +1284,72 @@
}
}
+ //鏍规嵁鎵樼洏鍙疯幏鍙栧彇鏍风被鍨�
+ public string GetSampleType(string palletNo)
+ {
+ try
+ {
+ var type = "";
+ var detail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+ 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)
+ {
+ 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
+ {
+ type = "1";//搴撳墠鍙栨牱
+ }
+ return type;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+ //鏍规嵁鎵樼洏鍙疯幏鍙栧叆搴撳崟鎹�
+ public List<string> GetAsnNoByPallet(string palletNo)
+ {
+ try
+ {
+ var type = "";
+ var detail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+ if (detail == null)
+ {
+ throw new Exception("褰撳墠鎵樼洏鏈湪搴撳瓨涓�");
+ }
+
+ var list = new List<string>();
+ if (string.IsNullOrWhiteSpace(detail.ASNNo))
+ {
+ throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑鍏ュ簱鍗曚俊鎭�");
+ }
+ list.Add(detail.ASNNo);
+ return list;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
}
}
--
Gitblit v1.8.0