From e34a92fc8833d3434511225939302cac0b75f3f3 Mon Sep 17 00:00:00 2001
From: Demo <Demo@DESKTOP-CPA90BF>
Date: 星期四, 14 三月 2024 16:47:16 +0800
Subject: [PATCH] 修改PDA取样出库
---
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 524 +++++++++++++++++++++++++++++++++++++++++++++++++---
Pda/View/SoSetting/SampleOut.html | 55 ++++-
2 files changed, 534 insertions(+), 45 deletions(-)
diff --git a/Pda/View/SoSetting/SampleOut.html b/Pda/View/SoSetting/SampleOut.html
index b223c7e..fd4cac1 100644
--- a/Pda/View/SoSetting/SampleOut.html
+++ b/Pda/View/SoSetting/SampleOut.html
@@ -666,7 +666,7 @@
getBar();
GetBoxInfo();
}
- sampleType = 0;
+ sampleType = "0";
}
if (res.data == "1") {//搴撳墠鍙栨牱
$('#kuqianlabel').show();
@@ -675,7 +675,7 @@
updateAsnBillList();
GetBoxInfo();
- sampleType = 1;
+ sampleType = "1";
}
}else { //涓嶆垚鍔�
@@ -998,7 +998,25 @@
}
else if (sampleType == "1") {
-
+ if ($('#AsnBar').val() == "") {
+ layer.msg("璇烽�夋嫨鍏ュ簱鍗�", {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }); return;
+ }
+ if ($('#boxNo').val() == "") {
+ layer.msg("璇疯緭鍏ョ鐮�", {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }); return;
+ }
+ if(($('#boxNo3').val() != "" && ($('#pickQty1').val() != "" || $('#pickQty1').val() != 0))){
+ layer.msg("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏ワ紒", {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return;
+ }
}
else {
layer.msg("绫诲瀷閿欒锛岃鍒锋柊椤甸潰閲嶈瘯", {
@@ -1024,28 +1042,41 @@
//纭鎷h揣
function reqPickScatter() {
+ canPickBox = false//鍥炶皟
var param = {
"SoNo": $("#bar").val(),
"SoDetailId": $("#skuLotNo").val(),
"PalletNo": $('#palletNo').val(),
"BoxNo": $('#boxNo').val(),
"BoxNo3": $('#boxNo3').val(),
- "PickQty":$('#pickQty1').val()
+ "PickQty":$('#pickQty1').val(),
+ "AsnNo":$('#AsnBar').val(),
+ "Type":sampleType
}
- sendData(IP + "/PdaSo/SoSetPick", param, 'post', function (res) {
- //console.log(res);
+
+ sendData(IP + "/PdaSo/SampleSoSetPick", param, 'post', function (res) {
if (res.code == 0) { //鎴愬姛
layer.msg(res.msg, {
icon: 1,
time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
}, function () {
- canPickBox = true//鍥炶皟
- $("#boxNo").val('');
- $("#boxNo3").val('');
- updateQtyList();
- getBar();
- GetBoxInfo();
+ if (sampleType == "0") {
+ canPickBox = true//鍥炶皟
+ $("#boxNo").val('');
+ $("#boxNo3").val('');
+ updateQtyList();
+ getBar();
+ GetBoxInfo();
+ }
+ if (sampleType == "1") {
+ canPickBox = true//鍥炶皟
+ $("#boxNo").val('');
+ $("#boxNo3").val('');
+ $("#pickQty1").val('');
+ GetBoxInfo();
+ }
+
});
} else { //涓嶆垚鍔�
layer.msg(res.msg, {
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 785537c..c340e8b 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -1410,7 +1410,7 @@
//鍑哄簱鍗�
var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.AsnSampleNo == asnNo);
//鍒涘缓鍑哄簱鍗�
- if (notice == null || (notice != null && notice.Status != "6"))
+ if (notice == null || notice.Status == "6")
{
var billNo = "";
var bl = true;
@@ -1429,16 +1429,16 @@
Type = "3",
Status = "4",
Origin = "WMS",
-
+ AsnSampleNo = asnNo,
IsWave = "0",
WaveNo = "",
IsDespatch = "0",
CompleteTime = DateTime.Now,
- CreateUser = 0,
+ CreateUser = userId,
};
- var n = Db.Insertable(addNotice).ExecuteCommand();
- notice = addNotice;
+ var n = Db.Insertable(addNotice).ExecuteReturnEntity();
+ notice = n;
}
//鍒涘缓鍑哄簱鍗曟槑缁�
@@ -1467,10 +1467,11 @@
WaveNo = "",
IsIssueLotNo = "0",
Status = "3",
- CreateUser = 0,
+ CreateUser = userId,
+
};
- var m = Db.Insertable(addNoticeDetail).ExecuteCommand();
- noticeDetail = addNoticeDetail;
+ var m = Db.Insertable(addNoticeDetail).ExecuteReturnEntity();
+ noticeDetail = m;
}
//鍑哄簱鍒嗛厤淇℃伅
var allot2 = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.Status == "5" && m.SONo == notice.SONo && m.PalletNo == palletNo);
@@ -1502,11 +1503,10 @@
OutMode = "",//鍑哄簱鍙�
CreateUser = userId,
- CreateTime = DateTime.Now
};
- var fp = Db.Insertable(addAllot).ExecuteCommand();
- allot2 = addAllot;
+ var fp = Db.Insertable(addAllot).ExecuteReturnEntity();
+ allot2 = fp;
}
@@ -1570,7 +1570,7 @@
}
var pickQty = 0;//鎷h揣鐨勬暟閲�
- var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList();
+ var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot2.Id && m.PalletNo == palletNo).ToList();
var comList = new List<BllCompleteDetail>();
foreach (var item in boxInfos)
{
@@ -1581,20 +1581,20 @@
//娣诲姞鎷h揣鏄庣粏
var completeDetail = new BllCompleteDetail()
{
- SONo = soNo,
- SODetailNo = int.Parse(soDetailId),
- ExportAllotId = allot.Id,
- StockId = allot.StockId,
+ SONo = notice.SONo,
+ SODetailNo = noticeDetail.Id,
+ ExportAllotId = allot2.Id,
+ StockId = allot2.StockId,
BoxNo = item.BoxNo,
BoxNo2 = item.BoxNo2,
BoxNo3 = item.BoxNo3,
- LotNo = allot.LotNo,
- LotText = allot.LotText,
- SupplierLot = allot.SupplierLot,
- SkuNo = allot.SkuNo,
- SkuName = allot.SkuName,
- Standard = allot.Standard,
+ LotNo = allot2.LotNo,
+ LotText = allot2.LotText,
+ SupplierLot = allot2.SupplierLot,
+ SkuNo = allot2.SkuNo,
+ SkuName = allot2.SkuName,
+ Standard = allot2.Standard,
PalletNo = palletNo,
CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
InspectMark = "1",
@@ -1623,7 +1623,7 @@
Db.Updateable(item).ExecuteCommand();
}
}
- pickQty += item.Qty;
+ pickQty += biaoShi == "2" ? int.Parse(pickQty1) : item.Qty;
}
@@ -1643,7 +1643,7 @@
//淇敼鍑哄簱鍒嗛厤淇℃伅
allot2.Qty += pickQty;
allot2.CompleteQty += pickQty;
- Db.Updateable(allot).ExecuteCommand();
+ Db.Updateable(allot2).ExecuteCommand();
//鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
@@ -1683,16 +1683,8 @@
noticeDetail.AllotQty += pickQty;
noticeDetail.FactQty += pickQty;
noticeDetail.CompleteQty += pickQty;
+ noticeDetail.Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * noticeDetail.Qty;
Db.Updateable(noticeDetail).ExecuteCommand();
-
- var num = Db.Queryable<BllExportNoticeDetail>()
- .Count(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty);
- if (num <= 0)
- {
- notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴�
- }
- //淇敼鍑哄簱鍗曚俊鎭�
- Db.Updateable(notice).ExecuteCommand();
}
else if(soType == "0")
@@ -1972,6 +1964,472 @@
}
}
+ //鍙栨牱鍑哄簱鎷h揣(鏃犳爣绛�)
+ public void SampleSoSetQtyPick(string soType, string soNo, string soDetailId, string palletNo, string PickQty, string asnNo, int userId)
+ {
+ Db.BeginTran();
+ try
+ {
+ if (string.IsNullOrWhiteSpace(soType))
+ {
+ throw new Exception("鍙栨牱鏍囪瘑涓嶈兘涓虹┖");
+ }
+ if (soType == "1")
+ {
+ if (string.IsNullOrWhiteSpace(asnNo))
+ {
+ throw new Exception("鍏ュ簱鍗曟嵁涓嶈兘涓虹┖");
+ }
+ if (string.IsNullOrWhiteSpace(palletNo))
+ {
+ throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�");
+ }
+ //鍏堝垽鏂槸鍚︽槸搴撳鍙栨牱鎵樼洏
+ var allot = Db.Queryable<BllExportAllot>().First(m =>
+ m.IsDel == "0" && m.PalletNo == palletNo && m.Status != "5" && m.Status != "6");
+ if (allot != null)
+ {
+ throw new Exception("褰撳墠鎵樼洏涓嶅睘浜庡簱鍓嶅彇鏍�");
+ }
+
+
+ //搴撳瓨鏄庣粏
+ var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.ASNNo == asnNo && m.PalletNo == palletNo);
+ if (stockDetail == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑搴撳瓨鏄庣粏淇℃伅锛�");
+ }
+
+ var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == stockDetail.SkuNo);
+ if (sku == null)
+ {
+ throw new Exception("鏈煡璇㈠埌褰撳墠鎵樼洏涓婄殑鐗╂枡淇℃伅");
+ }
+ //搴撳瓨鎬昏〃
+ var stock = Db.Queryable<DataStock>().First(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo);
+ if (stock == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�");
+ }
+
+ //鍑哄簱鍗�
+ var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.AsnSampleNo == asnNo);
+ //鍒涘缓鍑哄簱鍗�
+ if (notice == null || notice.Status == "6")
+ {
+ var billNo = "";
+ var bl = true;
+ do
+ {
+ //鑾峰彇鑷鍗曟嵁鍙�
+ billNo = new Common().GetMaxNo("SO");
+ var no = billNo;
+ bl = Db.Queryable<BllExportNotice>().Any(m => m.SONo == no);
+ } while (bl);
+
+ var addNotice = new BllExportNotice()
+ {
+ SONo = billNo,
+ Type = "3",
+ Status = "4",
+ Origin = "WMS",
+ AsnSampleNo = asnNo,
+ IsWave = "0",
+ WaveNo = "",
+ IsDespatch = "0",
+ CompleteTime = DateTime.Now,
+ CreateUser = userId,
+ };
+
+ var n = Db.Insertable(addNotice).ExecuteReturnEntity();
+ notice = n;
+ }
+
+ //鍒涘缓鍑哄簱鍗曟槑缁�
+ var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(m => m.IsDel == "0" && m.SONo == notice.SONo && m.SkuNo == stockDetail.SkuNo && m.LotNo.Contains(stockDetail.LotNo));
+ if (noticeDetail == null)
+ {
+ var addNoticeDetail = new BllExportNoticeDetail()
+ {
+ SONo = notice.SONo,
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ Standard = sku.Standard,
+ LotNo = stockDetail.LotNo,
+ LotText = "",
+ Qty = 0,
+ AllotQty = 0,
+ FactQty = 0,
+ CompleteQty = 0,
+ PackagNo = sku.PackagNo,
+ Price = sku.Price,
+ //Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * pickQty,
+ IsBale = "",
+ IsBelt = "",
+ SupplierLot = stock.SupplierLot,
+ IsWave = "0",
+ WaveNo = "",
+ IsIssueLotNo = "0",
+ Status = "3",
+ CreateUser = userId,
+
+ };
+ var m = Db.Insertable(addNoticeDetail).ExecuteReturnEntity();
+ noticeDetail = m;
+ }
+ //鍑哄簱鍒嗛厤淇℃伅
+ var allot2 = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.Status == "5" && m.SONo == notice.SONo && m.PalletNo == palletNo);
+ if (allot2 == null)
+ {
+ //娣诲姞鍒嗛厤琛ㄤ俊鎭�
+ var addAllot = new BllExportAllot
+ {
+ SONo = notice.SONo,
+ WaveNo = "",
+ SODetailNo = noticeDetail.Id,
+ StockId = stockDetail.Id,
+ LotNo = stockDetail.LotNo,
+ LotText = stockDetail.LotText,
+ SupplierLot = stockDetail.SupplierLot,
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ Standard = sku.Standard,
+ PalletNo = palletNo,
+ IsBale = "0", //鏄惁瑁瑰寘
+ IsBelt = "0", //鏄惁鎵撳甫
+
+ Qty = 0,
+ CompleteQty = 0,
+
+ Status = "5",
+ LogisticsId = notice.LogisticsId,
+ IsAdvance = "0",
+ OutMode = "",//鍑哄簱鍙�
+
+ CreateUser = userId,
+ };
+
+ var fp = Db.Insertable(addAllot).ExecuteReturnEntity();
+ allot2 = fp;
+ }
+
+ //鑾峰彇褰撳墠鎵樼洏鎷h揣鏄庣粏
+ var complete = Db.Queryable<BllCompleteDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo && a.SONo == notice.SONo && a.ExportAllotId == allot2.Id && a.StockId == stockDetail.Id);
+
+ //鍒よ鏄惁瀛樺湪鎷h揣鏄庣粏
+ int isComplete = 0;
+ if (complete != null)
+ {
+ isComplete = 1;
+ }
+
+ var comList = new List<BllCompleteDetail>();
+ //鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏
+ if (isComplete == 0)
+ {
+ //娣诲姞鎷h揣鏄庣粏
+ var completeDetail = new BllCompleteDetail()
+ {
+ SONo = notice.SONo,
+ SODetailNo = noticeDetail.Id,
+ ExportAllotId = allot2.Id,
+ StockId = allot2.StockId,
+ BoxNo = "",
+ BoxNo2 = "",
+ BoxNo3 = "",
+
+ LotNo = allot2.LotNo,
+ LotText = allot2.LotText,
+ SupplierLot = allot2.SupplierLot,
+ SkuNo = allot2.SkuNo,
+ SkuName = allot2.SkuName,
+ Standard = allot2.Standard,
+ PalletNo = palletNo,
+ CompleteQty = int.Parse(PickQty) ,
+ InspectMark = "1",
+
+ CreateUser = userId
+ };
+ comList.Add(completeDetail);
+
+ //娣诲姞鎷h揣鏄庣粏
+ Db.Insertable(comList).ExecuteCommand();
+ }
+ else if (isComplete == 1)
+ {
+ complete.CompleteQty += int.Parse(PickQty);
+ complete.UpdateUser = userId;
+ complete.UpdateTime = Db.GetDate();
+
+ Db.Updateable(complete).ExecuteCommand();
+ }
+
+
+
+ //淇敼鍑哄簱鍒嗛厤淇℃伅
+ allot2.Qty += int.Parse(PickQty);
+ allot2.CompleteQty += int.Parse(PickQty);
+ Db.Updateable(allot2).ExecuteCommand();
+
+ int isDel = 0;
+
+ //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
+ stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
+ stockDetail.InspectMark = "1";//淇敼涓烘娊妫�鎵樻爣璇�
+ stockDetail.Qty -= int.Parse(PickQty);
+ if (stockDetail.Qty == stockDetail.LockQty&& stockDetail.Qty != 0)
+ {
+ 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();
+ }
+ //鍒犻櫎鎴栦慨鏀瑰簱瀛�
+ stock.Qty -= int.Parse(PickQty);
+ if (stock.Qty <= 0)
+ {
+ Db.Deleteable(stock).ExecuteCommand();
+ }
+ else
+ {
+ Db.Updateable(stock).ExecuteCommand();
+ }
+
+ //鏀瑰彉鎵樼洏鐘舵�佷负锛氭湭浣跨敤
+ var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0");
+ if (pallet == null)
+ {
+ throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
+ }
+
+ //鍒ゆ柇鎵樼洏涓婄墿鏂欐槸鍚︽嫞璐у畬姣�
+ if (isDel == 0)
+ {
+ pallet.Status = "0";
+ Db.Updateable(pallet).ExecuteCommand();
+ }
+
+ //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
+ noticeDetail.Qty += int.Parse(PickQty);
+ noticeDetail.AllotQty += int.Parse(PickQty);
+ noticeDetail.FactQty += int.Parse(PickQty);
+ 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")
+ {
+ #region 鍒ゆ柇
+
+ if (string.IsNullOrWhiteSpace(soNo))
+ {
+ throw new Exception("鍑哄簱鍗曟嵁涓嶈兘涓虹┖");
+ }
+ //if (string.IsNullOrWhiteSpace(soDetailId))
+ //{
+ // throw new Exception("鍑哄簱鐗╂枡-鎵规涓嶈兘涓虹┖");
+ //}
+ if (string.IsNullOrWhiteSpace(palletNo))
+ {
+ throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�");
+ }
+
+ //鍑哄簱鍗�
+ var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == soNo);
+ if (notice == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�");
+ }
+ if (notice.Status != "3")
+ {
+ throw new Exception("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣");
+ }
+ //鍑哄簱鍗曟槑缁�
+ var noticeDetail = Db.Queryable<BllExportNoticeDetail>()
+ .First(m => m.IsDel == "0" && m.Id == int.Parse(soDetailId));
+ if (noticeDetail == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ュ嚭搴撳崟鏄庣粏鐨勪俊鎭�");
+ }
+ //鍑哄簱鍒嗛厤淇℃伅
+ var allot = Db.Queryable<BllExportAllot>().First(m =>
+ m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.SONo == soNo &&
+ m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo);
+ if (allot == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樼殑鍒嗛厤淇℃伅");
+ }
+ //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級
+ var needQty = allot.Qty - allot.CompleteQty;
+ if (int.Parse(PickQty) > needQty)
+ {
+ throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺");
+ }
+
+ //搴撳瓨鏄庣粏
+ var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.Id == allot.StockId);
+ if (stockDetail == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨鏄庣粏淇℃伅锛�");
+ }
+ //搴撳瓨鎬昏〃
+ var stock = Db.Queryable<DataStock>().First(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo);
+ if (stock == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�");
+ }
+ #endregion
+ //鑾峰彇褰撳墠鎵樼洏鎷h揣鏄庣粏
+ var complete = Db.Queryable<BllCompleteDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo && a.SONo == notice.SONo && a.SODetailNo == noticeDetail.Id && a.ExportAllotId == allot.Id && a.StockId == stockDetail.Id);
+
+ //鍒よ鏄惁瀛樺湪鎷h揣鏄庣粏
+ int isComplete = 0;
+ if (complete != null)
+ {
+ isComplete = 1;
+ }
+
+ var comList = new List<BllCompleteDetail>();
+ //鍒ゆ柇鏄惁瀛樺湪鎷h揣鏄庣粏
+ if (isComplete == 0)
+ {
+ //娣诲姞鎷h揣鏄庣粏
+ var completeDetail = new BllCompleteDetail()
+ {
+ SONo = soNo,
+ SODetailNo = int.Parse(soDetailId),
+ ExportAllotId = allot.Id,
+ StockId = allot.StockId,
+ BoxNo = "",
+ BoxNo2 = "",
+ BoxNo3 = "",
+
+ LotNo = allot.LotNo,
+ LotText = allot.LotText,
+ SupplierLot = allot.SupplierLot,
+ SkuNo = allot.SkuNo,
+ SkuName = allot.SkuName,
+ Standard = allot.Standard,
+ PalletNo = palletNo,
+ CompleteQty = int.Parse(PickQty),
+
+ CreateUser = userId,
+ CreateTime = Db.GetDate(),
+ };
+ comList.Add(completeDetail);
+
+ //娣诲姞鎷h揣鏄庣粏
+ Db.Insertable(comList).ExecuteCommand();
+ }
+ else if (isComplete == 1)
+ {
+ complete.CompleteQty += int.Parse(PickQty);
+ complete.UpdateUser = userId;
+ complete.UpdateTime = Db.GetDate();
+
+ Db.Updateable(complete).ExecuteCommand();
+ }
+
+
+
+ //淇敼鍑哄簱鍒嗛厤淇℃伅
+ allot.CompleteQty += int.Parse(PickQty);
+ allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3";
+ Db.Updateable(allot).ExecuteCommand();
+
+ 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();
+ }
+ else
+ {
+ isDel = 1;
+ Db.Updateable(stockDetail).ExecuteCommand();
+ }
+ //鍒犻櫎鎴栦慨鏀瑰簱瀛�
+ stock.Qty -= int.Parse(PickQty);
+ stock.LockQty -= int.Parse(PickQty);
+ if (stock.Qty <= 0)
+ {
+ Db.Deleteable(stock).ExecuteCommand();
+ }
+ else
+ {
+ Db.Updateable(stock).ExecuteCommand();
+ }
+
+ //鏀瑰彉鎵樼洏鐘舵�佷负锛氭湭浣跨敤
+ var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0");
+ if (pallet == null)
+ {
+ throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
+ }
+
+ //鍒ゆ柇鎵樼洏涓婄墿鏂欐槸鍚︽嫞璐у畬姣�
+ if (isDel == 0)
+ {
+ pallet.Status = "0";
+ Db.Updateable(pallet).ExecuteCommand();
+ }
+
+ //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
+ noticeDetail.CompleteQty += int.Parse(PickQty);
+ Db.Updateable(noticeDetail).ExecuteCommand();
+
+ var num = Db.Queryable<BllExportNoticeDetail>()
+ .Count(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty);
+ if (num <= 0)
+ {
+ notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴�
+ }
+ //淇敼鍑哄簱鍗曚俊鎭�
+ Db.Updateable(notice).ExecuteCommand();
+
+ }
+
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId);
+ Db.CommitTran();
+ }
+ catch (Exception e)
+ {
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+ }
}
}
--
Gitblit v1.8.0