From b88cbdbc97735732fe6406fbe5aa3228eaa1b551 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 20 十月 2025 13:13:44 +0800
Subject: [PATCH] 修改包装管理,包装可输入小数
---
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 311 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 262 insertions(+), 49 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 80ad10c..0a3894e 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -30,6 +30,7 @@
using System.Security.Cryptography.X509Certificates;
using AutoMapper.Configuration.Annotations;
using Utility;
+using System.Diagnostics.Metrics;
namespace WMS.BLL.BllPdaServer
{
@@ -111,17 +112,25 @@
throw new Exception("鏈煡璇㈠埌鎵樼洏淇℃伅锛岃鏍稿疄锛�");
}
//楠岃瘉鍏ュ簱鍗曟槑缁嗘槸鍚﹀瓨鍦�
- var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo));
+ var detail = new BllArrivalNoticeDetail();
+ if (string.IsNullOrEmpty(model.LotNo))
+ {
+ detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo);
+ }
+ else
+ {
+ detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo));
+ }
if (detail == null)
{
throw new Exception("褰撳墠鐗╂枡鍙婃壒娆′笌鍗曟嵁鏃犲叧鑱旓紝璇锋牳瀹�!");
}
//鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱澶�
- var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo);
- if (stockDetail != null && !string.IsNullOrEmpty(stockDetail.WareHouseNo))
- {
- throw new Exception("璇ユ墭鐩樺凡鏈夊偍浣嶄俊鎭紝涓嶅彲缁勬墭锛岃鏍稿疄锛�");
- }
+ //var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo);
+ //if (stockDetail != null && !string.IsNullOrEmpty(stockDetail.WareHouseNo))
+ //{
+ // throw new Exception("璇ユ墭鐩樺凡鏈夊偍浣嶄俊鎭紝涓嶅彲缁勬墭锛岃鏍稿疄锛�");
+ //}
#endregion
@@ -133,13 +142,20 @@
#region 鍖呰
var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == detail.SkuNo);
- var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == detail.PackagNo);
-
- var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
- var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ if (sku == null)
+ {
+ throw new Exception("褰撳墠鐗╂枡淇℃伅涓嶅瓨鍦紝璇锋牳瀹�!");
+ }
+ var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo);
+ if (pack == null)
+ {
+ throw new Exception("褰撳墠鐗╂枡鍖呰淇℃伅涓嶅瓨鍦紝璇锋牳瀹�!");
+ }
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
//鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
- new Common().GetPackQtyInfo(detail.PackagNo, ref pNum, ref bNum);
+ new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
#endregion
@@ -188,9 +204,9 @@
//缁戝畾绠辨�绘暟閲�
//model.SkuQty = boxInfoList.Sum(s => s.Qty);
//鍜岄�夋嫨鐨勬壒娆″悓鎵规鐨勭鐮佷俊鎭�
- var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo && w.Status == "0").ToList();
+ var sameBoxInfoList = boxInfoList.Where(w => (w.LotNo ?? "") == model.LotNo && w.Status == "0").ToList();
//鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜淇℃伅锛堟嫾绠辨壒娆★級
- var notBoxInfoList = boxInfoList.Where(w => w.LotNo != model.LotNo).ToList();
+ var notBoxInfoList = boxInfoList.Where(w => (w.LotNo ?? "") != model.LotNo).ToList();
#endregion
if (sameBoxInfoList.Count <= 0)
@@ -256,13 +272,13 @@
}
// 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭�
- var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.ASNDetailNo == bind.ASNDetailNo && m.PalletNo == model.PalletNo);
+ var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.LotNo == detail.LotNo && m.SkuNo == detail.SkuNo);// && m.ASNDetailNo == bind.ASNDetailNo
var sdId1 = 0;
if (sd1 != null)
{
sdId1 = sd1.Id;
// 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
- sd1.Qty = bind.Qty;
+ sd1.Qty += bind.Qty;
sd1.CompleteTime = comTime;
sd1.UpdateUser = userId;
sd1.UpdateTime = comTime;
@@ -270,7 +286,7 @@
Db.Updateable(sd1).ExecuteCommand();
}
else
- {
+ {
// 搴撳瓨涓嶅瓨鍦� 鎻掑叆鏁版嵁
sd1 = new DataStockDetail()
{
@@ -301,7 +317,7 @@
InspectMark = bind.InspectMark,
InspectStatus = sku.IsInspect,
BitPalletMark = bind.BitPalletMark,
- PackagNo = detail.PackagNo, //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�
+ PackagNo = sku.PackagNo,
IsBale = bind.IsBale,
IsBelt = bind.IsBelt,
@@ -309,6 +325,22 @@
CreateUser = 0,
CreateTime = comTime
};
+ if (!string.IsNullOrEmpty(detail.Lot1))
+ {
+ sd1.ProductionTime = Convert.ToDateTime(detail.Lot1);//鐢熶骇鏃ユ湡
+ }
+ if (!string.IsNullOrEmpty(detail.Lot2))
+ {
+ sd1.ExpirationTime = Convert.ToDateTime(detail.Lot2);//鍒版湡鏃ユ湡
+ }
+ var palletData = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == sd1.PalletNo && !string.IsNullOrEmpty(w.LocatNo));
+ if (palletData != null)
+ {
+ sd1.WareHouseNo = palletData.WareHouseNo;
+ sd1.RoadwayNo = palletData.RoadwayNo;
+ sd1.AreaNo = palletData.AreaNo;
+ sd1.LocatNo = palletData.LocatNo;
+ }
//缁存姢搴撳瓨鏄庣粏璐т富/渚涘簲鍟嗕俊鎭� //0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱
if (notice.Type == "0" || notice.Type == "2" || notice.Type == "4" || notice.Type == "6" || notice.Type == "7")
@@ -360,7 +392,7 @@
continue;
}
//绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎
- if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo)
+ if (box.SkuNo != detail.SkuNo || (box.LotNo ?? "") != model.LotNo)
{
throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!");
}
@@ -468,6 +500,10 @@
}
detail.UpdateUser = userId;
detail.UpdateTime = comTime;
+ if (notice.Type == "4" || notice.Type == "8")
+ {
+ detail.InspectStatus = "1";//杞﹂棿閫�鏂欓粯璁ゆ楠屽悎鏍�
+ }
//鏇存柊鍏ュ簱鍗曟槑缁�
Db.Updateable(detail).ExecuteCommand();
@@ -488,7 +524,10 @@
#endregion
#region 搴撳瓨鏄庣粏
- sd1.Qty = bind.Qty;
+ if (sd1.Qty <= 0)
+ {
+ sd1.Qty = bind.Qty;
+ }
//鏇存敼搴撳瓨鏄庣粏鏁伴噺
Db.Updateable(sd1).Where(m => m.Id == sdId1).ExecuteCommand();
#endregion
@@ -1157,14 +1196,22 @@
throw new Exception("鏈煡璇㈠埌鎵樼洏淇℃伅锛岃鏍稿疄锛�");
}
// 楠岃瘉鍏ュ簱鍗曟槑缁嗘槸鍚﹀瓨鍦�
- var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo));
+ var detail = new BllArrivalNoticeDetail();
+ if (string.IsNullOrEmpty(model.LotNo))
+ {
+ detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo);
+ }
+ else
+ {
+ detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo));
+ }
if (detail == null)
{
throw new Exception("褰撳墠鐗╂枡鍙婃壒娆′笌鍗曟嵁鏃犲叧鑱旓紝璇锋牳瀹�!");
}
//鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱澶�
var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo);
- if (stockDetail != null && !string.IsNullOrEmpty(stockDetail.WareHouseNo))
+ if (stockDetail != null && !string.IsNullOrEmpty(stockDetail.WareHouseNo) && stockDetail.WareHouseNo != "W04")
{
throw new Exception("璇ユ墭鐩樺凡鏈夊偍浣嶄俊鎭紝璇锋牳瀹烇紒");
}
@@ -1178,12 +1225,20 @@
#region 鍖呰
var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == detail.SkuNo);
- //var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == detail.PackagNo); // liudl 鐢盨ku鍖呰缂栧彿鍙樻洿涓哄叆搴撳崟鏄庣粏鍖呰缂栧彿
+ if (sku == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ョ墿鏂欎俊鎭紝璇锋牳瀹烇紒");
+ }
+ var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo);
+ if (pack == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ョ墿鏂欏寘瑁呬俊鎭紝璇锋牳瀹烇紒");
+ }
- var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
- var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
//鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
- new Common().GetPackQtyInfo(detail.PackagNo, ref pNum, ref bNum);
+ new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
#endregion
@@ -1288,14 +1343,23 @@
throw new Exception("褰撳墠鎵樼洏鍚湁璐存爣鐗╂枡淇℃伅锛屼笉鑳界粍鎵�");
}
// 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭�
- var sd1 = Db.Queryable<DataStockDetail>()
- .First(m => m.IsDel == "0" && m.ASNDetailNo == bind.ASNDetailNo && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo && m.LotNo == bind.LotNo);
+ var sd1 = new DataStockDetail();
+ if (!string.IsNullOrEmpty(bind.LotNo))
+ {
+ sd1 = Db.Queryable<DataStockDetail>()
+ .First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo && m.LotNo == bind.LotNo);//&& m.ASNDetailNo == bind.ASNDetailNo
+ }
+ else
+ {
+ sd1 = Db.Queryable<DataStockDetail>()
+ .First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo);// && m.ASNDetailNo == bind.ASNDetailNo
+ }
var sdId1 = 0;
if (sd1 != null)
{
sdId1 = sd1.Id;
// 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
- sd1.Qty = bind.Qty;
+ sd1.Qty += bind.Qty;
sd1.CompleteTime = comTime;
sd1.UpdateUser = userId;
sd1.UpdateTime = comTime;
@@ -1340,7 +1404,7 @@
InspectMark = bind.InspectMark,
InspectStatus = inspectStatusStr,
BitPalletMark = bind.BitPalletMark,
- PackagNo = detail.PackagNo, //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�
+ PackagNo = sku.PackagNo, //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�
IsBale = bind.IsBale,
IsBelt = bind.IsBelt,
@@ -1348,6 +1412,13 @@
CreateUser = 0,
CreateTime = comTime
};
+ if (stockDetail != null)
+ {
+ sd1.WareHouseNo = stockDetail.WareHouseNo;
+ sd1.AreaNo = stockDetail.AreaNo;
+ sd1.RoadwayNo = stockDetail.RoadwayNo;
+ sd1.LocatNo = stockDetail.LocatNo;
+ }
//缁存姢搴撳瓨鏄庣粏璐т富/渚涘簲鍟嗕俊鎭� //0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱
if (notice.Type == "0" || notice.Type == "2" || notice.Type == "4" || notice.Type == "6" || notice.Type == "7")
@@ -1791,7 +1862,7 @@
}
}
- else if (notice.Type == "1" || notice.Type == "4") //閲囪喘鍏ュ簱
+ else if (notice.Type == "1" || notice.Type == "4" || notice.Type == "8") //閲囪喘鍏ュ簱
{
string sqlString = $@"SELECT
ASNNo,
@@ -1915,8 +1986,8 @@
var addComBox = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotId).ToList();
var addComList = addComBox.GroupBy(m => m.BoxNo).ToList();
var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == addComBox.First().SkuNo);
- var pNum = 0;
- var bNum = 0;
+ var pNum = 0m;
+ var bNum = 0m;
new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
var boxList = new List<BllBoxInfo>();
foreach (var com in addComList)
@@ -2051,7 +2122,7 @@
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
- public List<BoxInfoDto> GetFMBindBoxInfos(string boxno,string url)
+ /*public List<BoxInfoDto> GetFMBindBoxInfos(string boxno,string url)
{
try
{
@@ -2148,6 +2219,132 @@
throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!");
}
+ return models;
+ }
+ catch (Exception ex)
+ {
+ throw ex;
+ }
+ }*/
+
+ public List<BoxInfoDto> GetFMBindBoxInfos(string boxno, string url)
+ {
+ try
+ {
+ #region 绠辩爜璇锋眰鎺ュ彛锛屾寮忕郴缁熸斁寮�
+ var data = new
+ {
+ BoxNo = boxno
+ };
+ var jsonData = JsonConvert.SerializeObject(data);
+
+ var response = HttpHelper.DoPost(url, jsonData, "绠辩爜淇℃伅璇锋眰", "FM");
+
+ var obj = JsonConvert.DeserializeObject<FuMaPostModel>(response);//瑙f瀽杩斿洖鏁版嵁
+ if (obj.Success != true)
+ {
+ throw new Exception("璇锋眰澶辫触" + obj.Message);
+ }
+ #endregion
+
+ if (string.IsNullOrEmpty(obj.Data.SkuNo))
+ {
+ //娴嬭瘯鐢紝鍙戝竷姝e紡鍓嶅垹闄ゆ娈典唬鐮�
+ //obj.Data.SkuNo = "50004632";
+ throw new Exception($"鐗╂枡缂栫爜涓嶈兘涓虹┖");
+ }
+
+ //鏌ユ壘鐗╂枡淇℃伅
+ var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == obj.Data.SkuNo);
+ if (sku == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌鐗╂枡{obj.Data.SkuNo}淇℃伅");
+ }
+
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
+ //鑾峰彇鍖呰淇℃伅
+ new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
+ if (pNum == 0 || bNum == 0)
+ {
+ throw new Exception($"{sku.SkuNo}鐗╁搧鍖呰鏈壘鍒帮紒");
+ }
+
+ var boxList = new List<BllBoxInfo>();
+ var comTime = DateTime.Now;
+ //娣诲姞绠辩爜淇℃伅
+ foreach (var box in obj.Data.DetailList)
+ {
+ foreach (var box2 in box.DetailList2)
+ {
+ var boxInfo = new BllBoxInfo()
+ {
+ BoxNo = obj.Data.BoxNo,
+ BoxNo2 = box.BoxNo2,
+ BoxNo3 = box2.BoxNo3,
+ Qty = obj.Data.Qty,
+ BitBoxMark = obj.Data.BitBoxMark,
+
+ ASNNo = "",
+ //ASNDetailNo = noticeDetail.Id,
+ OrderCode = "",//notice.OrderCode
+ //BindNo = bindId,
+ //PalletNo = model.PallNo,
+ FullQty = bNum,
+ Status = "0",
+ SkuNo = sku.SkuNo,
+ SkuName = sku.SkuName,
+ LotNo = box2.LotNo,
+ LotText = obj.Data.LotNoBoxNum,
+ ProductionTime = DateTime.Parse(box2.ProductionTime),
+ ExpirationTime = DateTime.Parse(box2.ExpirationTime),
+ //CompleteTime = "",
+ InspectMark = "0",
+ InspectStatus = "0",
+ Origin = "璧嬬爜",
+ CreateTime = comTime,
+ CreateUser = 0
+ };
+ boxList.Add(boxInfo);
+ };
+ }
+ try
+ {
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+
+ Db.Fastest<BllBoxInfo>().BulkCopy(boxList);
+
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
+ }
+ catch (Exception ex)
+ {
+ //鍥炴粴浜嬪姟
+ Db.RollbackTran();
+ throw new Exception("鎻掑叆绠辩爜澶辫触锛�" + ex.Message);
+ }
+
+ string sqlString = $@"SELECT
+ ASNNo,
+ BoxNo,
+ SkuNo,
+ SkuName,
+ LotNo,
+ BitBoxMark,
+ SUM(Qty) as Qty
+ FROM BllBoxInfo
+ WHERE IsDel = '0'
+ AND Status='0'
+ AND BoxNo = '{boxno}'
+ GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+
+ var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
+
+ if (models.Count == 0)
+ {
+ throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!");
+ }
return models;
}
catch (Exception ex)
@@ -2495,8 +2692,8 @@
var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == boxInfoOne.SkuNo);
var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo);
- var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
- var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
//鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
@@ -2569,7 +2766,7 @@
ExpirationTime = boxInfoOne.ExpirationTime,
Status = "0",
InspectMark = boxInfoOne.InspectMark,
- InspectStatus = sku.IsInspect,
+ InspectStatus = "1",//sku.IsInspect,//浠庤溅闂村叆搴撶殑璐ㄦ鐘舵�侀粯璁ゅ悎鏍�
BitPalletMark = "1",
PackagNo = sku.PackagNo,
@@ -2761,8 +2958,8 @@
var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo);
- var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
- var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
//鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
@@ -3108,8 +3305,8 @@
}
//鑾峰彇鎵樼洏淇℃伅
var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099");
- var pNum = 0;
- var bNum = 0;
+ var pNum = 0m;
+ var bNum = 0m;
new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
@@ -4287,10 +4484,18 @@
try
{
string strMsg = "";
- var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.Status == "0" && w.WareHouseNo == "W04");
+ var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.WareHouseNo == "W04");
if (storageLocat == null)
{
- throw new Exception("-1:鍦扮爜(鍌ㄤ綅淇℃伅)涓嶅瓨鍦ㄦ垨闈炵┖闂茬姸鎬侊紝璇锋牳鏌�!");
+ throw new Exception("-1:鍦扮爜(鍌ㄤ綅淇℃伅)涓嶅瓨鍦紝璇锋牳鏌�!");
+ }
+ if (storageLocat.Status != "0")
+ {
+ var detailInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo);
+ if (detailInfo != null)
+ {
+ throw new Exception("-1:鍦扮爜(鍌ㄤ綅淇℃伅)闈炵┖闂诧紝璇锋牳鏌�!");
+ }
}
return strMsg;
@@ -6087,10 +6292,18 @@
#endregion
#region 鍦扮爜淇℃伅(鍌ㄤ綅淇℃伅)
- var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0");
+ var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo);
if (storageLocat == null)
{
- throw new Exception("鍌ㄤ綅淇℃伅涓嶅瓨鍦ㄦ垨闈炵┖闂茬姸鎬侊紝璇锋牳鏌�!");
+ throw new Exception("鍌ㄤ綅淇℃伅涓嶅瓨锛岃鏍告煡!");
+ }
+ if (storageLocat.Status != "0")
+ {
+ var detailInfo=Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo);
+ if (detailInfo != null)
+ {
+ throw new Exception("鍌ㄤ綅涓嶆槸绌洪棽鐘舵�侊紝璇锋牳鏌�!");
+ }
}
#endregion
@@ -6556,10 +6769,10 @@
foreach (var item in stockDetailList)
{
- if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09")
- {
- throw new Exception("璇ユ墭鐩橀潪绾胯竟鍥炲簱鎵樼洏!");
- }
+ //if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09")
+ //{
+ // throw new Exception("璇ユ墭鐩橀潪绾胯竟鍥炲簱鎵樼洏!");
+ //}
//搴撳瓨鎬昏〃
var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
if (stock == null)
@@ -6572,7 +6785,7 @@
{
foreach (var box in boxInfoList)
{
- var bllBox = Db.Queryable<BllBoxInfo>().First(w => w.IsDel == "0" && w.Status != "0");
+ var bllBox = Db.Queryable<BllBoxInfo>().First(w => w.IsDel == "0" && w.Status != "0" && w.BoxNo == box.BoxNo);
if (bllBox != null)
{
bllBox.Status = "0";
--
Gitblit v1.8.0