From f4bb9bfee217eb0004ad121a6ad92065fc2acb4f Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期四, 18 九月 2025 14:24:23 +0800
Subject: [PATCH] 修改PDA拣货出库功能,合并箱码盒码支码输入框
---
Pda/View/SoSetting/productOut.html | 37 +-
HTML/views/SOSetting/ExportAllot.html | 2
HTML/views/SOSetting/ComBoxInfo.html | 5
Wms/Wms/Controllers/PdaSoController.cs | 3
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 899 ++++++++++++++++++++++++++++------------------------
Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs | 12
Wms/Wms/Controllers/BllSoController.cs | 4
Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs | 2
Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs | 4
9 files changed, 523 insertions(+), 445 deletions(-)
diff --git a/HTML/views/SOSetting/ComBoxInfo.html b/HTML/views/SOSetting/ComBoxInfo.html
index 5e5f425..3092ebe 100644
--- a/HTML/views/SOSetting/ComBoxInfo.html
+++ b/HTML/views/SOSetting/ComBoxInfo.html
@@ -58,6 +58,7 @@
layer = layui.layer;
var h1 = GetTableHeight();
var boxNo = getQueryString('BoxNo');
+ var SONo = getQueryString('SONo');
if (!boxNo)
{
boxNo = "";
@@ -70,6 +71,7 @@
refreshTable();
function refreshTable() {
var param={
+ SONo: getQueryString('SONo'),
BoxNo:getQueryString('BoxNo'),
BoxNo3:$("#BoxNo3").val()
}
@@ -113,6 +115,9 @@
{
field: 'PalletNo', title: '鎵樼洏鏉$爜', align: 'center', width: 110,
},
+ {
+ field: 'BoxNo2', title: '鐩掔爜', align: 'center', width: 220,
+ },
{
field: 'BoxNo3', title: '鏀爜', align: 'center', width: 220,
},
diff --git a/HTML/views/SOSetting/ExportAllot.html b/HTML/views/SOSetting/ExportAllot.html
index fa289d7..a9006ed 100644
--- a/HTML/views/SOSetting/ExportAllot.html
+++ b/HTML/views/SOSetting/ExportAllot.html
@@ -876,7 +876,7 @@
layer.open({
type: 2,
title: '绠辨敮璇︽儏淇℃伅',
- content: 'ComBoxInfo.html?BoxNo=' + BoxNo,
+ content: 'ComBoxInfo.html?BoxNo=' + BoxNo+'&SONo='+data.SONo,
maxmin: true,
area: ['80%', '85%'],
btn: ['鍏抽棴'],
diff --git a/Pda/View/SoSetting/productOut.html b/Pda/View/SoSetting/productOut.html
index 0ffac4f..2b109a4 100644
--- a/Pda/View/SoSetting/productOut.html
+++ b/Pda/View/SoSetting/productOut.html
@@ -288,7 +288,7 @@
</div>
</td>
</tr> -->
- <tr>
+ <!-- <tr>
<td>
<div class="layui-form-item layout-input" style="margin-top: 6px;">
<label class="layui-form-label lableWidth">杩芥函鏉$爜锛�</label>
@@ -298,15 +298,14 @@
</div>
</div>
</td>
- </tr>
+ </tr> -->
<tr class="divPickQty1">
<td>
<div class="layui-form-item layout-input" style="margin-top: 6px;">
<label class="layui-form-label lableWidth">鎷h揣鏁伴噺锛�</label>
<div class="layui-input-block">
<input id="pickQty1" type="number" placeholder="璇疯緭鍏ユ嫞璐ф暟閲�"
- autocomplete="off" class="layui-input"
- oninput="value=value.replace(/^(0+)|[^\d]+/g,'')">
+ autocomplete="off" class="layui-input">
</div>
</div>
</td>
@@ -971,20 +970,20 @@
});
return;
}
- if (($('#boxNo3').val() != "" && ($('#pickQty1').val() != "" || $('#pickQty1').val() != 0))) {
- layer.msg("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏ワ紒", {
- icon: 2,
- time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
- });
- return;
- }
- if ($('#pickQty1').val() != "" && $('#pickQty1').val() > parseInt($('#pickQty').val())) {
- layer.msg("鎷h揣鏁伴噺涓嶈兘澶т簬寰呮嫞鏁伴噺锛�", {
- icon: 2,
- time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
- });
- return;
- }
+ // if (($('#boxNo3').val() != "" && ($('#pickQty1').val() != "" || $('#pickQty1').val() != 0))) {
+ // layer.msg("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏ワ紒", {
+ // icon: 2,
+ // time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ // });
+ // return;
+ // }
+ // if ($('#pickQty1').val() != "" && $('#pickQty1').val() > parseInt($('#pickQty').val())) {
+ // layer.msg("鎷h揣鏁伴噺涓嶈兘澶т簬寰呮嫞鏁伴噺锛�", {
+ // icon: 2,
+ // time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ // });
+ // return;
+ // }
}
// let boxQty = parseInt($('#boxQty').val())
// let qty = parseInt($('#qty').val())
@@ -1017,7 +1016,7 @@
"SoDetailId": $("#skuLotNo").val(),
"PalletNo": $('#palletNo').val(),
"BoxNo": $('#boxNo').val(),
- "BoxNo3": $('#boxNo3').val(),
+ //"BoxNo3": $('#boxNo3').val(),
"PickQty": $('#pickQty1').val()
}
sendData(IP + "/PdaSo/SoSetPick", param, 'post', function (res) {
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index f6c348e..d0ca543 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -2603,451 +2603,510 @@
}
}
- //public async Task SoSetPick34(string soNo, string soDetailId, string palletNo, string boxNo, string pickQty1, int userId)
- //{
- // Db.BeginTran();
- // try
- // {
- // #region 鍒ゆ柇
+ /// <summary>
+ /// 鍑哄簱pda鎷h揣-JC34
+ /// </summary>
+ /// <param name="soNo"></param>
+ /// <param name="soDetailId"></param>
+ /// <param name="palletNo"></param>
+ /// <param name="boxNo">绠辩爜/鐩掔爜/鏀爜</param>
+ /// <param name="pickQty1"></param>
+ /// <param name="userId"></param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ public async Task SoSetPick34(string soNo, string soDetailId, string palletNo, string boxNo, string pickQty1, int userId)
+ {
+ Db.BeginTran();
+ try
+ {
+ #region 鍒ゆ柇
- // if (string.IsNullOrWhiteSpace(soNo))
- // {
- // throw Oops.Bah("鍑哄簱鍗曟嵁涓嶈兘涓虹┖");
- // }
- // if (string.IsNullOrWhiteSpace(soDetailId))
- // {
- // throw Oops.Bah("鍑哄簱鐗╂枡-鎵规涓嶈兘涓虹┖");
- // }
- // if (string.IsNullOrWhiteSpace(palletNo))
- // {
- // throw Oops.Bah("鎵樼洏鐮佷笉鑳戒负绌�");
- // }
- // //if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)
- // //{
- // // throw Oops.Bah("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�");
- // //}
+ if (string.IsNullOrWhiteSpace(soNo))
+ {
+ throw Oops.Bah("鍑哄簱鍗曟嵁涓嶈兘涓虹┖");
+ }
+ if (string.IsNullOrWhiteSpace(soDetailId))
+ {
+ throw Oops.Bah("鍑哄簱鐗╂枡-鎵规涓嶈兘涓虹┖");
+ }
+ if (string.IsNullOrWhiteSpace(palletNo))
+ {
+ throw Oops.Bah("鎵樼洏鐮佷笉鑳戒负绌�");
+ }
+ //if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)
+ //{
+ // throw Oops.Bah("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�");
+ //}
- // //鍑哄簱鍗�
- // var notice = await Db.Queryable<BllExportNotice>().FirstAsync(m => m.IsDel == "0" && m.SONo == soNo);
- // if (notice == null)
- // {
- // throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�");
- // }
- // if (notice.Status != "3" && notice.Status != "4")
- // {
- // throw Oops.Bah("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣");
- // }
- // //鍑哄簱鍗曟槑缁�
- // var noticeDetail = await Db.Queryable<BllExportNoticeDetail>()
- // .FirstAsync(m => m.IsDel == "0" && m.Id == int.Parse(soDetailId));
- // if (noticeDetail == null)
- // {
- // throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鏄庣粏鐨勪俊鎭�");
- // }
- // //鍑哄簱鍒嗛厤淇℃伅
- // var allot = await Db.Queryable<BllExportAllot>().FirstAsync(m =>
- // m.IsDel == "0" && (m.Status == "2" || m.Status == "3" || m.Status == "5") && m.SONo == soNo &&
- // m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo);
- // if (allot == null)
- // {
- // throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樼殑鍒嗛厤淇℃伅");
- // }
- // //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級
- // var needQty = allot.Qty - allot.CompleteQty;
+ //鍑哄簱鍗�
+ var notice = await Db.Queryable<BllExportNotice>().FirstAsync(m => m.IsDel == "0" && m.SONo == soNo);
+ if (notice == null)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鐨勪俊鎭�");
+ }
+ if (notice.Status != "3" && notice.Status != "4")
+ {
+ throw Oops.Bah("鍑哄簱鍗曠殑鐘舵�佷笉鏄鍦ㄦ墽琛岋紝涓嶈兘鎷h揣");
+ }
+ //鍑哄簱鍗曟槑缁�
+ var noticeDetail = await Db.Queryable<BllExportNoticeDetail>()
+ .FirstAsync(m => m.IsDel == "0" && m.Id == int.Parse(soDetailId));
+ if (noticeDetail == null)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌璇ュ嚭搴撳崟鏄庣粏鐨勪俊鎭�");
+ }
+ //鍑哄簱鍒嗛厤淇℃伅
+ var allot = await Db.Queryable<BllExportAllot>().FirstAsync(m =>
+ m.IsDel == "0" && (m.Status == "2" || m.Status == "3" || m.Status == "5") && m.SONo == soNo &&
+ m.SODetailNo == int.Parse(soDetailId) && m.PalletNo == palletNo);
+ if (allot == null)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樼殑鍒嗛厤淇℃伅");
+ }
+ //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級
+ var needQty = allot.Qty - allot.CompleteQty;
- // //搴撳瓨鏄庣粏
- // var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.Id == allot.StockId);
- // if (stockDetail == null)
- // {
- // throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨鏄庣粏淇℃伅锛�");
- // }
- // //搴撳瓨鎬昏〃
- // var stock = await Db.Queryable<DataStock>().FirstAsync(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo);
- // if (stock == null)
- // {
- // throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�");
- // }
- // #endregion
+ //搴撳瓨鏄庣粏
+ var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.Id == allot.StockId);
+ if (stockDetail == null)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨鏄庣粏淇℃伅锛�");
+ }
+ //搴撳瓨鎬昏〃
+ var stock = await Db.Queryable<DataStock>().FirstAsync(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo);
+ if (stock == null)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌璇ユ墭鐩樺垎閰嶇殑搴撳瓨淇℃伅锛�");
+ }
+ #endregion
- // if (string.IsNullOrWhiteSpace(boxNo))//鏁存墭鎷h揣
- // {
- // List<DataBoxInfo> boxInfos;
- // var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo);//鎵惧埌鎵樼洏涓婃墍鏈夌鐮�
- // boxInfos = await boxInfo.ToListAsync();
- // if (boxInfo.Count() <= 0)
- // {
- // throw Oops.Bah("璇ユ墭鐩樹笂娌℃湁鍙嫞璐х殑绠卞瓙");
- // }
- // var boxQty = await boxInfo.GroupBy(m => m.PalletNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToListAsync();
- // if (boxQty[0] > needQty)
- // {
- // throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺");
- // }
- // decimal pickQty = 0;//鎷h揣鐨勬暟閲�
- // var comDetailList = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToListAsync();
- // var comList = new List<BllCompleteDetail>();
- // foreach (var item in boxInfos)
- // {
- // if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3) && item.BoxNo3 != null)
- // {
- // throw Oops.Bah($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
- // }
- // if (item.SkuNo != allot.SkuNo || item.LotNo != allot.LotNo)
- // {
- // throw Oops.Bah("褰撳墠鎵樼洏涓婃湁鍏朵粬涓嶅悓鐗╂枡鎵规锛屾嫞璐уけ璐�");
- // }
- // //娣诲姞鎷h揣鏄庣粏
- // var completeDetail = new BllCompleteDetail()
- // {
- // SONo = soNo,
- // SODetailNo = int.Parse(soDetailId),
- // ExportAllotId = allot.Id,
- // StockId = allot.StockId,
- // BoxNo = item.BoxNo,
- // BoxNo2 = item.BoxNo2,
- // BoxNo3 = item.BoxNo3,
+ if (string.IsNullOrWhiteSpace(boxNo))//鏁存墭鎷h揣
+ {
+ List<DataBoxInfo> boxInfos;
+ var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo);//鎵惧埌鎵樼洏涓婃墍鏈夌鐮�
+ boxInfos = await boxInfo.ToListAsync();
+ if (boxInfo.Count() <= 0)
+ {
+ throw Oops.Bah("璇ユ墭鐩樹笂娌℃湁鍙嫞璐х殑绠卞瓙");
+ }
+ var boxQty = await boxInfo.GroupBy(m => m.PalletNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToListAsync();
+ if (boxQty[0] > needQty)
+ {
+ throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺");
+ }
+ decimal pickQty = 0;//鎷h揣鐨勬暟閲�
+ var comDetailList = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToListAsync();
+ var comList = new List<BllCompleteDetail>();
+ foreach (var item in boxInfos)
+ {
+ if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3) && item.BoxNo3 != null)
+ {
+ throw Oops.Bah($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
+ }
+ if (item.SkuNo != allot.SkuNo || item.LotNo != allot.LotNo)
+ {
+ throw Oops.Bah("褰撳墠鎵樼洏涓婃湁鍏朵粬涓嶅悓鐗╂枡鎵规锛屾嫞璐уけ璐�");
+ }
+ //娣诲姞鎷h揣鏄庣粏
+ var completeDetail = new BllCompleteDetail()
+ {
+ SONo = soNo,
+ SODetailNo = int.Parse(soDetailId),
+ ExportAllotId = allot.Id,
+ StockId = allot.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,
- // PalletNo = palletNo,
- // CompleteQty = item.Qty,
+ LotNo = allot.LotNo,
+ LotText = allot.LotText,
+ SupplierLot = allot.SupplierLot,
+ SkuNo = allot.SkuNo,
+ SkuName = allot.SkuName,
+ Standard = allot.Standard,
+ PalletNo = palletNo,
+ CompleteQty = item.Qty,
- // CreateUser = userId
- // };
- // comList.Add(completeDetail);
+ CreateUser = userId
+ };
+ comList.Add(completeDetail);
- // //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
- // await Db.Deleteable(item).ExecuteCommandAsync();
- // pickQty += item.Qty;
- // }
- // //娣诲姞鎷h揣鏄庣粏
- // await Db.Insertable(comList).ExecuteCommandAsync();
- // //淇敼鍑哄簱鍒嗛厤淇℃伅
- // allot.CompleteQty += pickQty;
- // allot.Status = allot.Qty <= allot.CompleteQty ? "5" : "3";
- // allot.UpdateTime = DateTime.Now;
- // await Db.Updateable(allot).ExecuteCommandAsync();
- // //鍒犻櫎搴撳瓨鏄庣粏
- // await Db.Deleteable(stockDetail).ExecuteCommandAsync();
- // //鍒犻櫎鎴栦慨鏀瑰簱瀛�
- // stock.Qty -= pickQty;
- // stock.LockQty -= pickQty;
- // if (stock.LockQty < 0)
- // {
- // stock.LockQty = 0;
- // }
- // if (stock.Qty <= 0)
- // {
- // await Db.Deleteable(stock).ExecuteCommandAsync();
- // }
- // else
- // {
- // await Db.Updateable(stock).ExecuteCommandAsync();
- // }
- // //鍒ゆ柇鎵樼洏涓婅繕鏈夋病鏈夊叾浠栫墿鏂�
- // var palletData = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo && w.Id != stockDetail.Id);
- // if (palletData == null)
- // {
- // //鏀瑰彉鎵樼洏鐘舵�佷负锛氭湭浣跨敤
- // var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0");
- // if (pallet == null)
- // {
- // throw Oops.Bah("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
- // }
- // pallet.Status = "0";
- // await Db.Updateable(pallet).ExecuteCommandAsync();
- // }
+ //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
+ await Db.Deleteable(item).ExecuteCommandAsync();
+ pickQty += item.Qty;
+ }
+ //娣诲姞鎷h揣鏄庣粏
+ await Db.Insertable(comList).ExecuteCommandAsync();
+ //淇敼鍑哄簱鍒嗛厤淇℃伅
+ allot.CompleteQty += pickQty;
+ allot.Status = allot.Qty <= allot.CompleteQty ? "5" : "3";
+ allot.UpdateTime = DateTime.Now;
+ await Db.Updateable(allot).ExecuteCommandAsync();
+ //鍒犻櫎搴撳瓨鏄庣粏
+ await Db.Deleteable(stockDetail).ExecuteCommandAsync();
+ //鍒犻櫎鎴栦慨鏀瑰簱瀛�
+ stock.Qty -= pickQty;
+ stock.LockQty -= pickQty;
+ if (stock.LockQty < 0)
+ {
+ stock.LockQty = 0;
+ }
+ if (stock.Qty <= 0)
+ {
+ await Db.Deleteable(stock).ExecuteCommandAsync();
+ }
+ else
+ {
+ await Db.Updateable(stock).ExecuteCommandAsync();
+ }
+ //鍒ゆ柇鎵樼洏涓婅繕鏈夋病鏈夊叾浠栫墿鏂�
+ var palletData = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo && w.Id != stockDetail.Id);
+ if (palletData == null)
+ {
+ //鏀瑰彉鎵樼洏鐘舵�佷负锛氭湭浣跨敤
+ var pallet = Db.Queryable<SysPallets>().First(m => m.PalletNo == palletNo && m.IsDel == "0");
+ if (pallet == null)
+ {
+ throw Oops.Bah("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
+ }
+ pallet.Status = "0";
+ await Db.Updateable(pallet).ExecuteCommandAsync();
+ }
- // //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
- // noticeDetail.CompleteQty += pickQty;
- // await Db.Updateable(noticeDetail).ExecuteCommandAsync();
+ //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
+ noticeDetail.CompleteQty += pickQty;
+ await Db.Updateable(noticeDetail).ExecuteCommandAsync();
- // var num = await Db.Queryable<BllExportNoticeDetail>()
- // .CountAsync(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty);
- // if (num <= 0)
- // {
- // notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴�
- // //淇敼鍑哄簱鍗曚俊鎭�
- // await Db.Updateable(notice).ExecuteCommandAsync();
- // if (notice.IsWave == "1")
- // {
- // var waveNum = await Db.Queryable<BllExportNotice>().CountAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4");
- // if (waveNum == 0)
- // {
- // var wave = await Db.Queryable<BllWaveMage>().FirstAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo);
- // if (wave != null)
- // {
- // wave.Status = "4";
- // wave.UpdateUser = userId;
- // wave.UpdateTime = DateTime.Now;
- // await Db.Updateable(wave).ExecuteCommandAsync();
- // }
- // }
- // }
- // }
+ var num = await Db.Queryable<BllExportNoticeDetail>()
+ .CountAsync(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty);
+ if (num <= 0)
+ {
+ notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴�
+ //淇敼鍑哄簱鍗曚俊鎭�
+ await Db.Updateable(notice).ExecuteCommandAsync();
+ if (notice.IsWave == "1")
+ {
+ var waveNum = await Db.Queryable<BllExportNotice>().CountAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4");
+ if (waveNum == 0)
+ {
+ var wave = await Db.Queryable<BllWaveMage>().FirstAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo);
+ if (wave != null)
+ {
+ wave.Status = "4";
+ wave.UpdateUser = userId;
+ wave.UpdateTime = DateTime.Now;
+ await Db.Updateable(wave).ExecuteCommandAsync();
+ }
+ }
+ }
+ }
- // }
- // else
- // {
- // var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暣鐩掓嫞璐с�� 2锛氭暎鏀嫞璐с��3锛氭暟閲忔嫞璐�
- // List<DataBoxInfo> boxInfos;
- // var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo);
- // if (await boxInfo.CountAsync() == 0)
- // {
- // throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅");
- // }
- // boxInfos = await boxInfo.ToListAsync();
+ }
+ else
+ {
+ var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暣鐩掓嫞璐с�� 2锛氭暎鏀嫞璐с��3锛氭暟閲忔嫞璐�
+ List<DataBoxInfo> boxInfos;
+ var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo);
+ if (await boxInfo.CountAsync() == 0)
+ {
+ biaoShi = "1";
+ boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo2 == boxNo);
+ if (await boxInfo.CountAsync() == 0)
+ {
+ biaoShi = "2";
+ boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo3 == boxNo);
+ if (await boxInfo.CountAsync() == 0)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅");
+ }
+ }
+ }
+ if (biaoShi == "0" && !string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0)
+ {
+ biaoShi = "3";
+ }
+ if (biaoShi == "2" && !string.IsNullOrEmpty(pickQty1) && decimal.Parse(pickQty1) > 0)
+ {
+ throw Oops.Bah("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�");
+ }
+ boxInfos = await boxInfo.ToListAsync();
- // var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList();
- // if (!string.IsNullOrWhiteSpace(boxNo3)) //鏁f敮鎷h揣
- // {
- // boxInfos = boxInfos.Where(m => m.BoxNo3 == boxNo3).ToList();
+ var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList();
+ if (biaoShi == "2") //鏁f敮鎷h揣
+ {
+ boxInfos = boxInfos.Where(m => m.BoxNo3 == boxNo).ToList();
- // if (boxInfos.Count() == 0)
- // {
- // throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅");
- // }
- // if (boxInfos.Count() > 1)
- // {
- // throw Oops.Bah("璇ヨ拷婧敮鐮佺殑淇℃伅澶т簬1鏉★紝淇℃伅閿欒锛岃鏍稿疄锛�");
- // }
+ if (boxInfos.Count() == 0)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佸強杩芥函鐮佺殑淇℃伅");
+ }
+ if (boxInfos.Count() > 1)
+ {
+ throw Oops.Bah("璇ヨ拷婧敮鐮佺殑淇℃伅澶т簬1鏉★紝淇℃伅閿欒锛岃鏍稿疄锛�");
+ }
- // if (boxInfos.Any(m => m.PalletNo != palletNo))
- // {
- // throw Oops.Bah("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴");
- // }
- // var boxQty = boxInfos.First().Qty;
- // //if (boxQty > needQty)
- // //{
- // // throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
- // //}
+ if (boxInfos.Any(m => m.PalletNo != palletNo))
+ {
+ throw Oops.Bah("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴");
+ }
+ var boxQty = boxInfos.First().Qty;
+ //if (boxQty > needQty)
+ //{
+ // throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
+ //}
- // foreach (var item in boxInfos)
- // {
- // if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
- // {
- // throw Oops.Bah($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
- // }
- // }
+ foreach (var item in boxInfos)
+ {
+ if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
+ {
+ throw Oops.Bah($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
+ }
+ }
+ }
+ else if (biaoShi == "1")//鏁寸洅鎷h揣
+ {
+ if (boxInfo.Count() == 0)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌璇ョ洅鐮佺殑淇℃伅");
+ }
+ if (boxInfo.Any(m => m.PalletNo != palletNo))
+ {
+ throw Oops.Bah("璇ユ墭鐩樹笌鐩掔爜娌℃湁缁戝畾鍏崇郴");
+ }
+ var boxQty = await boxInfo.GroupBy(m => m.BoxNo2).Select(m => SqlFunc.AggregateSum(m.Qty)).ToListAsync();
+ //if (boxQty[0] > needQty)
+ //{
+ // throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺");
+ //}
- // biaoShi = "1";
- // }
- // else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣
- // {
- // if (boxInfo.Count() > 1)
- // {
- // throw Oops.Bah("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣");
- // }
- // decimal boxQty = boxInfo.First().Qty;
- // if (Convert.ToInt32(pickQty1) > boxQty)
- // {
- // throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
- // }
- // //if (Convert.ToInt32(pickQty1) > needQty)
- // //{
- // // throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
- // //}
+ foreach (var item in boxInfos)
+ {
+ if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
+ {
+ throw Oops.Bah($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
+ }
+ }
+ }
+ else if (biaoShi == "3")//鏁伴噺鎷h揣
+ {
+ if (boxInfo.Count() > 1)
+ {
+ throw Oops.Bah("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣");
+ }
+ decimal boxQty = boxInfo.First().Qty;
+ if (Convert.ToDecimal(pickQty1) > boxQty)
+ {
+ throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
+ }
+ //if (Convert.ToInt32(pickQty1) > needQty)
+ //{
+ // throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
+ //}
+ }
+ else //鏁寸鎷h揣
+ {
+ if (boxInfo.Count() == 0)
+ {
+ throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佺殑淇℃伅");
+ }
+ if (boxInfo.Any(m => m.PalletNo != palletNo))
+ {
+ throw Oops.Bah("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴");
+ }
+ var boxQty = await boxInfo.GroupBy(m => m.BoxNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToListAsync();
+ //if (boxQty[0] > needQty)
+ //{
+ // throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺");
+ //}
- // biaoShi = "2";
- // }
- // else //鏁寸鎷h揣
- // {
- // if (boxInfo.Count() == 0)
- // {
- // throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佺殑淇℃伅");
- // }
- // if (boxInfo.Any(m => m.PalletNo != palletNo))
- // {
- // throw Oops.Bah("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴");
- // }
- // var boxQty = await boxInfo.GroupBy(m => m.BoxNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToListAsync();
- // //if (boxQty[0] > needQty)
- // //{
- // // throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺");
- // //}
+ foreach (var item in boxInfos)
+ {
+ if (comDetailList.Any(m => m.BoxNo == item.BoxNo))
+ {
+ throw Oops.Bah($"褰撳墠{item.BoxNo}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
+ }
+ }
+ }
+ decimal pickQty = 0;//鎷h揣鐨勬暟閲�
- // foreach (var item in boxInfos)
- // {
- // if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo == item.BoxNo))
- // {
- // throw Oops.Bah($"褰撳墠{item.BoxNo}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
- // }
- // }
- // }
- // decimal pickQty = 0;//鎷h揣鐨勬暟閲�
+ var comList = new List<BllCompleteDetail>();
+ foreach (var item in boxInfos)
+ {
+ //娣诲姞鎷h揣鏄庣粏
+ var completeDetail = new BllCompleteDetail()
+ {
+ SONo = soNo,
+ SODetailNo = int.Parse(soDetailId),
+ ExportAllotId = allot.Id,
+ StockId = allot.StockId,
+ BoxNo = item.BoxNo,
+ BoxNo2 = item.BoxNo2,
+ BoxNo3 = item.BoxNo3,
- // var comList = new List<BllCompleteDetail>();
- // foreach (var item in boxInfos)
- // {
- // //娣诲姞鎷h揣鏄庣粏
- // var completeDetail = new BllCompleteDetail()
- // {
- // SONo = soNo,
- // SODetailNo = int.Parse(soDetailId),
- // ExportAllotId = allot.Id,
- // StockId = allot.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,
+ PalletNo = palletNo,
+ CompleteQty = biaoShi == "3" ? decimal.Parse(pickQty1) : item.Qty,
- // LotNo = allot.LotNo,
- // LotText = allot.LotText,
- // SupplierLot = allot.SupplierLot,
- // SkuNo = allot.SkuNo,
- // SkuName = allot.SkuName,
- // Standard = allot.Standard,
- // PalletNo = palletNo,
- // CompleteQty = biaoShi == "2" ? decimal.Parse(pickQty1) : item.Qty,
+ CreateUser = userId
+ };
+ comList.Add(completeDetail);
- // CreateUser = userId
- // };
- // comList.Add(completeDetail);
+ if (biaoShi != "3")
+ {
+ //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
+ await Db.Deleteable(item).ExecuteCommandAsync();
- // if (biaoShi != "2")
- // {
- // //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
- // await Db.Deleteable(item).ExecuteCommandAsync();
- // }
- // else//鏁伴噺鎷h揣
- // {
- // if (decimal.Parse(pickQty1) == item.Qty)
- // {
- // //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
- // await Db.Deleteable(item).ExecuteCommandAsync();
- // }
- // else
- // {
- // item.Qty -= decimal.Parse(pickQty1);
- // item.BitBoxMark = "1";//闆剁鏍囪瘑
- // await Db.Updateable(item).ExecuteCommandAsync();
- // }
- // }
- // pickQty += item.Qty;
- // }
- // //鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅
- // if (biaoShi == "1")
- // {
- // var boxSurplusList = boxInfo.Where(m => m.BoxNo3 != boxNo3).ToList();
- // foreach (var item in boxSurplusList)
- // {
- // item.BitBoxMark = "1";
- // await Db.Updateable(item).ExecuteCommandAsync();
- // }
- // }
+ pickQty += item.Qty;
+ }
+ else//鏁伴噺鎷h揣
+ {
+ if (decimal.Parse(pickQty1) == item.Qty)
+ {
+ //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
+ await Db.Deleteable(item).ExecuteCommandAsync();
+ }
+ else
+ {
+ item.Qty -= decimal.Parse(pickQty1);
+ item.BitBoxMark = "1";//闆剁鏍囪瘑
+ await Db.Updateable(item).ExecuteCommandAsync();
+ }
+ pickQty += decimal.Parse(pickQty1);
+ }
+ }
+ //鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅
+ if (biaoShi == "1" || biaoShi == "2")
+ {
+ var boxSurplusList = new List<DataBoxInfo>();
+ if (biaoShi == "1")
+ {
+ boxSurplusList = boxInfo.Where(m => m.BoxNo2 != boxNo).ToList();
+ }
+ else
+ {
+ boxSurplusList = boxInfo.Where(m => m.BoxNo3 != boxNo).ToList();
+ }
+ foreach (var item in boxSurplusList)
+ {
+ item.BitBoxMark = "1";
+ await Db.Updateable(item).ExecuteCommandAsync();
+ }
+ }
- // await Db.Insertable(comList).ExecuteCommandAsync();
- // //淇敼鍑哄簱鍒嗛厤淇℃伅
- // allot.CompleteQty += pickQty;
- // allot.Status = allot.Qty <= allot.CompleteQty ? "5" : "3";
- // allot.UpdateTime = DateTime.Now;
- // if (allot.Status == "5")
- // {
- // //鍒ゆ柇璇ユ墭鐩樻槸鍚﹁繕瀛樺湪鐗╂枡 瀛樺湪鏀逛负寰呭洖搴� 寰呭洖搴撳畬鎴愬悗鏀逛负宸插畬鎴�
- // }
- // await Db.Updateable(allot).ExecuteCommandAsync();
+ await Db.Insertable(comList).ExecuteCommandAsync();
+ //淇敼鍑哄簱鍒嗛厤淇℃伅
+ allot.CompleteQty += pickQty;
+ allot.Status = allot.Qty <= allot.CompleteQty ? "5" : "3";
+ allot.UpdateTime = DateTime.Now;
+ if (allot.Status == "5")
+ {
+ //鍒ゆ柇璇ユ墭鐩樻槸鍚﹁繕瀛樺湪鐗╂枡 瀛樺湪鏀逛负寰呭洖搴� 寰呭洖搴撳畬鎴愬悗鏀逛负宸插畬鎴�
+ }
+ await Db.Updateable(allot).ExecuteCommandAsync();
- // //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
- // stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
- // stockDetail.Qty -= pickQty;
- // stockDetail.LockQty -= pickQty;
- // if (stockDetail.LockQty < 0)
- // {
- // stockDetail.LockQty = 0;
- // }
- // if (stockDetail.Qty == stockDetail.LockQty)
- // {
- // stockDetail.Status = "2";
- // }
- // else if (stockDetail.Qty > stockDetail.LockQty && stockDetail.LockQty > 0)
- // {
- // stockDetail.Status = "1";
- // }
- // else
- // {
- // stockDetail.Status = "0";
- // }
+ //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
+ stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
+ stockDetail.Qty -= pickQty;
+ stockDetail.LockQty -= pickQty;
+ if (stockDetail.LockQty < 0)
+ {
+ stockDetail.LockQty = 0;
+ }
+ 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)
- // {
- // await Db.Deleteable(stockDetail).ExecuteCommandAsync();
- // }
- // else
- // {
- // await Db.Updateable(stockDetail).ExecuteCommandAsync();
- // }
- // stock.Qty -= pickQty;
- // stock.LockQty -= pickQty;
- // if (stock.LockQty < 0)
- // {
- // stock.LockQty = 0;
- // }
- // if (stock.Qty <= 0)
- // {
- // await Db.Deleteable(stock).ExecuteCommandAsync();
- // }
- // else
- // {
- // await Db.Updateable(stock).ExecuteCommandAsync();
- // }
- // var num2 = await Db.Queryable<DataStockDetail>().CountAsync(m => m.IsDel == "0" && m.PalletNo == palletNo);
- // if (num2 <= 0)
- // {
- // //鏀瑰彉鎵樼洏鐘舵��
- // var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0");
- // if (pallet == null)
- // {
- // throw Oops.Bah("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
- // }
- // pallet.Status = "0";
- // await Db.Updateable(pallet).ExecuteCommandAsync();
- // }
- // //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
- // noticeDetail.CompleteQty += pickQty;
- // await Db.Updateable(noticeDetail).ExecuteCommandAsync();
+ if (stockDetail.Qty <= 0)
+ {
+ await Db.Deleteable(stockDetail).ExecuteCommandAsync();
+ }
+ else
+ {
+ await Db.Updateable(stockDetail).ExecuteCommandAsync();
+ }
+ stock.Qty -= pickQty;
+ stock.LockQty -= pickQty;
+ if (stock.LockQty < 0)
+ {
+ stock.LockQty = 0;
+ }
+ if (stock.Qty <= 0)
+ {
+ await Db.Deleteable(stock).ExecuteCommandAsync();
+ }
+ else
+ {
+ await Db.Updateable(stock).ExecuteCommandAsync();
+ }
+ var num2 = await Db.Queryable<DataStockDetail>().CountAsync(m => m.IsDel == "0" && m.PalletNo == palletNo);
+ if (num2 <= 0)
+ {
+ //鏀瑰彉鎵樼洏鐘舵��
+ var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0");
+ if (pallet == null)
+ {
+ throw Oops.Bah("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�");
+ }
+ pallet.Status = "0";
+ await Db.Updateable(pallet).ExecuteCommandAsync();
+ }
+ //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
+ noticeDetail.CompleteQty += pickQty;
+ await Db.Updateable(noticeDetail).ExecuteCommandAsync();
- // var num = await Db.Queryable<BllExportNoticeDetail>()
- // .CountAsync(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty);
- // if (num <= 0)
- // {
- // notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴�
- // //淇敼鍑哄簱鍗曚俊鎭�
- // await Db.Updateable(notice).ExecuteCommandAsync();
- // if (notice.IsWave == "1")
- // {
- // var waveNum = await Db.Queryable<BllExportNotice>()
- // .CountAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4");
- // if (waveNum == 0)
- // {
- // var wave = await Db.Queryable<BllWaveMage>().FirstAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo);
- // if (wave != null)
- // {
- // wave.Status = "4";
- // wave.UpdateUser = userId;
- // wave.UpdateTime = DateTime.Now;
- // await Db.Updateable(wave).ExecuteCommandAsync();
- // }
- // }
- // }
- // }
- // }
- // //娣诲姞鎿嶄綔鏃ュ織璁板綍
- // var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId);
- // Db.CommitTran();
- // }
- // //catch (AppFriendlyException e)
- // //{
- // // Db.RollbackTran();
- // //}
- // catch (Exception e)
- // {
- // Db.RollbackTran();
- // throw new Exception(e.Message);
- // }
- //}
+ var num = await Db.Queryable<BllExportNoticeDetail>()
+ .CountAsync(m => m.IsDel == "0" && m.SONo == soNo && m.CompleteQty < m.Qty);
+ if (num <= 0)
+ {
+ notice.Status = "4"; //鏇存敼涓烘墽琛屽畬鎴�
+ //淇敼鍑哄簱鍗曚俊鎭�
+ await Db.Updateable(notice).ExecuteCommandAsync();
+ if (notice.IsWave == "1")
+ {
+ var waveNum = await Db.Queryable<BllExportNotice>()
+ .CountAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo && m.Status != "4");
+ if (waveNum == 0)
+ {
+ var wave = await Db.Queryable<BllWaveMage>().FirstAsync(m => m.IsDel == "0" && m.WaveNo == notice.WaveNo);
+ if (wave != null)
+ {
+ wave.Status = "4";
+ wave.UpdateUser = userId;
+ wave.UpdateTime = DateTime.Now;
+ await Db.Updateable(wave).ExecuteCommandAsync();
+ }
+ }
+ }
+ }
+ }
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鍑哄簱", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId);
+ Db.CommitTran();
+ }
+ //catch (AppFriendlyException e)
+ //{
+ // Db.RollbackTran();
+ //}
+ catch (Exception e)
+ {
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+ }
//鍑哄簱pda鎷h揣
public async Task SoSetQtyPick(string soNo, string soDetailId, string palletNo, string PickQty, int userId)
{
diff --git a/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs b/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs
index a0520ce..1c5336f 100644
--- a/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/CompleteDetailServer.cs
@@ -70,11 +70,12 @@
}
//鏌ヨ鎷h揣鏄庣粏鏀爜璇︾粏淇℃伅
- public List<CompleteDetailDto> GetCompBoxInfoList(string boxNo, string boxNo3)
+ public List<CompleteDetailDto> GetCompBoxInfoList(string sONo, string boxNo, string boxNo3)
{
try
{
Expression<Func<BllCompleteDetail, bool>> item = Expressionable.Create<BllCompleteDetail>()
+ .AndIF(!string.IsNullOrWhiteSpace(sONo), it => it.SONo == sONo.Trim())
.AndIF(!string.IsNullOrWhiteSpace(boxNo), it => it.BoxNo == boxNo.Trim())
.AndIF(!string.IsNullOrWhiteSpace(boxNo3), it => it.BoxNo3.Contains(boxNo3.Trim()))
.ToExpression();
@@ -90,6 +91,7 @@
ExportAllotId = a.ExportAllotId,
BoxNo = a.BoxNo,
+ BoxNo2 = a.BoxNo2,
BoxNo3 = a.BoxNo3,
LotNo = a.LotNo,
LotText = a.LotText,
diff --git a/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs b/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs
index 20c29d2..42a5036 100644
--- a/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs
+++ b/Wms/WMS.IBLL/IBllSoServer/ICompleteDetailServer.cs
@@ -26,7 +26,7 @@
/// <param name="boxNo">绠辩爜</param>
/// <param name="boxNo3">鏀爜</param>
/// <returns></returns>
- List<CompleteDetailDto> GetCompBoxInfoList(string boxNo,string boxNo3);
+ List<CompleteDetailDto> GetCompBoxInfoList(string sONo, string boxNo,string boxNo3);
#region 鏁版嵁褰掓。
/// <summary>
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
index 486d8e6..0c97f1d 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
@@ -142,6 +142,18 @@
/// <param name="boxNo3">鏀�/琚嬬爜</param>
/// <param name="userId">鎿嶄綔浜�</param>
Task SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string PickQty, int userId);
+ /// <summary>
+ /// 鍑哄簱pda鎷h揣-JC34
+ /// </summary>
+ /// <param name="soNo"></param>
+ /// <param name="soDetailId"></param>
+ /// <param name="palletNo"></param>
+ /// <param name="boxNo">绠辩爜/鐩掔爜/鏀爜</param>
+ /// <param name="pickQty1"></param>
+ /// <param name="userId"></param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ Task SoSetPick34(string soNo, string soDetailId, string palletNo, string boxNo, string pickQty1, int userId);
/// <summary>
/// 鍑哄簱pda鎷h揣
diff --git a/Wms/Wms/Controllers/BllSoController.cs b/Wms/Wms/Controllers/BllSoController.cs
index 3ef0045..66fcd5e 100644
--- a/Wms/Wms/Controllers/BllSoController.cs
+++ b/Wms/Wms/Controllers/BllSoController.cs
@@ -582,11 +582,11 @@
}
[HttpGet]
- public IActionResult GetCompBoxInfoList( string boxNo,string boxNo3)
+ public IActionResult GetCompBoxInfoList(string sONo, string boxNo,string boxNo3)
{
try
{
- var bolls = _comDetailSvc.GetCompBoxInfoList(boxNo, boxNo3);
+ var bolls = _comDetailSvc.GetCompBoxInfoList(sONo, boxNo, boxNo3);
return Ok(new { code = 0, count = bolls.Count, msg = "鎷h揣鏄庣粏淇℃伅", data = bolls });
}
diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs
index 77e01ba..037cc83 100644
--- a/Wms/Wms/Controllers/PdaSoController.cs
+++ b/Wms/Wms/Controllers/PdaSoController.cs
@@ -160,7 +160,8 @@
[HttpPost]
public async Task SoSetPick(PdaSoVm model)
{
- await _pdaSoSvc.SoSetPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, _userManager.UserId);
+ //await _pdaSoSvc.SoSetPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, model.PickQty, _userManager.UserId);
+ await _pdaSoSvc.SoSetPick34(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.PickQty, _userManager.UserId);
}
/// <summary>
--
Gitblit v1.8.0