From 74ce2ccbae367b804028fbac431f22865f84427a Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期三, 11 六月 2025 13:55:36 +0800
Subject: [PATCH] 添加空托入库申请接口
---
Wms/WMS.BLL/HttpServer.cs | 326 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 305 insertions(+), 21 deletions(-)
diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs
index 20e977d..4d3a0f6 100644
--- a/Wms/WMS.BLL/HttpServer.cs
+++ b/Wms/WMS.BLL/HttpServer.cs
@@ -26,6 +26,298 @@
private static readonly SqlSugarScope Db = DataContext.Db;
public HttpServer() { }
+
+ public OutCommandDto RequestPalletIn(string palletNo, string houseNo, int palletNum, string Strlocate)
+ {
+ return null;
+ //try
+ //{
+ // #region 鍒ゆ柇
+ // if (string.IsNullOrEmpty(palletNo))
+ // {
+ // throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�");
+ // }
+ // if (string.IsNullOrEmpty(houseNo))
+ // {
+ // throw new Exception("浠撳簱鍙蜂笉鑳戒负绌�");
+ // }
+ // if (palletNum <= 0)
+ // {
+ // throw new Exception("鎵樼洏鏁伴噺涓嶈兘灏忕瓑0");
+ // }
+ // if (string.IsNullOrEmpty(Strlocate))
+ // {
+ // throw new Exception("璧峰浣嶇疆涓嶈兘涓虹┖");
+ // }
+ // //鑾峰彇鍌ㄤ綅淇℃伅
+ // var locateInfo = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.WareHouseNo == houseNo && m.LocatNo == Strlocate);
+ // if (locateInfo == null)
+ // {
+ // throw new Exception("鏈煡璇㈠埌绌哄偍浣�");
+ // }
+ // if (locateInfo.Flag != "0")
+ // {
+ // throw new Exception("褰撳墠浣嶇疆鏍囪瘑鐘舵�佹槸闈炴甯哥殑");
+ // }
+
+ // #endregion
+
+ // #region MyRegion
+
+ // var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList();
+ // if (stockDetail.Count > 0)
+ // {
+ // throw new Exception("褰撳墠鎵樼洏鍦ㄥ簱鍐呭凡鏈夊簱瀛樹俊鎭紝璇锋牳瀹�");
+ // }
+
+ // //鑾峰彇鎵樼洏淇℃伅
+ // var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+ // if (pallet == null)
+ // {
+ // throw new Exception("鏈煡璇㈠埌鎵樼洏淇℃伅");
+ // }
+ // if (pallet.Status != "0")
+ // {
+ // throw new Exception("鎵樼洏鐘舵�佷笉鑳芥湭浣跨敤鐘舵��");
+ // }
+ // //鑾峰彇鎵樼洏淇℃伅
+ // var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099");
+ // var pNum = 0;
+ // var bNum = 0;
+
+ // new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
+
+ // var datetime = Db.GetDate();
+ // Db.BeginTran();
+
+ // // 鎻掑叆鎵樼洏缁戝畾琛�
+ // var modelpb = new BllPalletBind
+ // {
+ // ASNNo = "",
+ // ASNDetailNo = 0,
+ // TaskNo = "", //浠诲姟鍙�
+ // PalletNo = palletNo,
+ // Qty = palletNum,
+ // FullQty = pNum,
+ // Status = "3", //涓婃灦瀹屾垚
+ // Type = "1", //0 鐗╂枡鎵� 1 绌烘墭
+ // LotNo = "",
+ // LotText = "",
+ // SupplierLot = "",
+ // InspectMark = "0", //0 鍚� 1 鏄�
+ // BitPalletMark = pNum == palletNum ? "0" : "1",
+ // IsBale = "0",
+ // IsBelt = "0",
+ // CreateUser = 0,
+ // CreateTime = Db.GetDate()
+ // };
+ // var id = Db.Insertable(modelpb).ExecuteReturnIdentity();
+
+ // #region 搴撳瓨鏄庣粏
+ // var sd1 = new DataStockDetail()
+ // {
+ // LotNo = modelpb.LotNo,
+ // LotText = modelpb.LotText,
+ // SupplierLot = modelpb.SupplierLot,
+ // SkuNo = sku.SkuNo,
+ // SkuName = sku.SkuName,
+ // Standard = sku.Standard,
+ // Qty = modelpb.Qty,
+ // LockQty = 0,
+ // FrozenQty = 0,
+ // InspectQty = 0,
+ // ASNNo = modelpb.ASNNo,
+ // ASNDetailNo = modelpb.ASNDetailNo,
+ // WareHouseNo = "",
+ // RoadwayNo = "",
+ // AreaNo = "",
+ // LocatNo = "",
+ // PalletNo = modelpb.PalletNo,
+ // PalletNo2 = modelpb.PalletNo2,
+ // PalletNo3 = modelpb.PalletNo3,
+ // PalletTags = "0",
+ // CompleteTime = datetime,
+ // ProductionTime = modelpb.ProductionTime,
+ // ExpirationTime = modelpb.ExpirationTime,
+ // Status = "0",
+ // InspectMark = modelpb.InspectMark,
+ // InspectStatus = sku.IsInspect,
+ // BitPalletMark = modelpb.BitPalletMark,
+ // PackagNo = sku.PackagNo,
+ // IsBale = modelpb.IsBale,
+ // IsBelt = modelpb.IsBelt,
+
+
+ // IsDel = "0",
+ // CreateUser = 0,
+ // CreateTime = datetime
+ // };
+ // var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
+ // #endregion
+
+ // #region 搴撳瓨
+ // var dataStock1 = Db.Queryable<DataStock>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo);
+ // if (dataStock1 != null)
+ // {
+ // dataStock1.Qty += modelpb.Qty;
+ // if (modelpb.InspectMark == "1")
+ // {
+ // dataStock1.IsSampling = "0";
+ // }
+ // Db.Updateable(dataStock1).ExecuteCommand();
+ // }
+ // else
+ // {
+ // var stock = new DataStock()
+ // {
+ // SkuNo = sku.SkuNo,
+ // SkuName = sku.SkuName,
+ // Standard = sku.Standard,
+ // LotNo = "",
+ // LotText = "",
+ // Qty = modelpb.Qty,
+ // LockQty = 0,
+ // FrozenQty = 0,
+ // IsSampling = "0",
+ // IsDel = "0",
+ // CreateUser = 0,
+ // CreateTime = datetime
+ // };
+ // Db.Insertable(stock).ExecuteCommand();
+ // }
+ // #endregion
+
+
+ // #region 鐢宠鍌ㄤ綅
+
+ // SysStorageLocat locate;
+ // var sku = skuList.FirstOrDefault(m => m.SkuNo == skuNo);
+ // if (sku == null)
+ // {
+ // throw new Exception("鐗╂枡淇℃伅涓湭鏌ヨ鍒板叆搴撳崟鏄庣粏鍖呭惈鐨勭墿鏂欎俊鎭紝涓嶅彲鍏ュ簱");
+ // }
+ // //鍒ゆ柇鐗╂枡鏄惁鍚湁绫诲埆淇℃伅
+ // if (string.IsNullOrWhiteSpace(sku.CategoryNo))
+ // {
+ // throw new Exception($"鐗╂枡锛歿sku.SkuNo}鏈煡璇㈠埌绫诲埆淇℃伅");
+ // }
+
+ // var skuCategory = skuCategoryList.FirstOrDefault(m => m.CategoryNo == sku.CategoryNo);
+ // if (skuCategory == null)
+ // {
+ // throw new Exception($"鏈湪绫诲埆淇℃伅涓煡璇㈠埌鐗╂枡锛歿sku.SkuNo}鍖呭惈鐨勭被鍒�");
+ // }
+
+ // var areaStr = skuCategory.AreaNo.Split(",");
+ // var areaList = new List<string>();
+ // foreach (var item in areaStr)
+ // {
+ // areaList.Add(item);
+ // }
+
+ // locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", ceng);
+
+
+ // #endregion
+
+ // #region 娣诲姞浠诲姟
+
+ // //娣诲姞宸烽亾浣跨敤璁板綍
+ // var log = new SysRoadwayUseLog
+ // {
+ // RoadwayNo = locateInfo.RoadwayNo,
+ // WareHouseNo = houseNo,
+ // Row = 0,
+ // Column = 0,
+ // Layer = 0,
+ // };
+ // Db.Insertable(log).ExecuteCommand();
+ // var taskNo = new Common().GetMaxNo("TK");
+ // var inTask = new LogTask //鍏ュ簱浠诲姟
+ // {
+ // TaskNo = taskNo,
+ // Sender = "WMS",
+ // Receiver = "WCS",
+ // IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
+ // SendDate = DateTime.Now, //鍙戦�佹椂闂�
+ // BackDate = DateTime.Now, //杩斿洖鏃堕棿
+ // StartRoadway = "", // 璧峰宸烽亾
+ // StartLocat = locate,//璧峰浣嶇疆
+ // EndLocat = locateInfo.LocatNo,//鐩爣浣嶇疆
+ // EndRoadway = locateInfo.RoadwayNo, // 鐩爣宸烽亾
+ // PalletNo = palletNo,//鎵樼洏鐮�
+ // IsSend = 1,//鏄惁鍙啀娆′笅鍙�
+ // IsCancel = 1,//鏄惁鍙彇娑�
+ // IsFinish = 1,//鏄惁鍙畬鎴�
+ // Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
+ // Status = "1",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
+ // OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
+ // Msg = $"{locateInfo.LocatNo}鍒�=>>" + + "鐨勫叆搴撲换鍔�", //鍏抽敭淇℃伅
+
+ // };
+ // Db.Insertable(inTask).ExecuteCommand();
+ // var asnNo = "";
+
+ // //娣诲姞鎵樼洏涓婃灦璁板綍
+ // var upShelf = new BllPalletUpShelf()
+ // {
+ // TaskNo = inTask.TaskNo,
+ // TraceNo = asnNo,
+ // PalletNo = palletNo,
+ // SkuNo = stockModel.SkuNo,
+ // SkuName = stockModel.SkuName,
+ // LotNo = stockModel.LotNo,
+ // Status = "1",
+
+ // WareHouseNo = houseNo,
+ // RoadwayNo = locate.RoadwayNo,
+ // AreaNo = locate.AreaNo,
+ // LocatNo = locate.LocatNo,
+
+ // CreateUser = 0,
+ // };
+ // Db.Insertable(upShelf).ExecuteCommand();
+
+
+
+ // locate.Status = "2";
+ // Db.Updateable(locate).ExecuteCommand();
+
+ // Db.CommitTran();
+ // comDto = new OutCommandDto()
+ // {
+ // TaskNo = taskNo, // 浠诲姟鍙�
+ // TaskType = "0",// 浠诲姟绫诲瀷
+ // PalletNo = palletNo,//鎵樼洏鍙�
+
+ // StartRoadway = inTask.StartRoadway,
+ // StartLocate = inTask.StartLocat, // 璧峰浣嶇疆
+ // EndLocate = inTask.EndLocat, // 鐩爣浣嶇疆
+ // EndRoadway = inTask.EndRoadway, // 鐩爣宸烽亾
+
+ // Order = 999,
+ // Type = PLCTypeEnum.AGV
+ // };
+
+ // #endregion
+
+ // // 鏇存敼鎵樼洏浣跨敤鐘舵��
+ // string sqlStr = string.Empty;
+ // sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';";
+ // Db.Ado.ExecuteCommand(sqlStr);
+ // Db.CommitTran();
+
+ // #endregion
+
+ // return null;
+ //}
+ //catch (Exception e )
+ //{
+ // throw new Exception(e.Message);
+ //}
+ }
+
+
/// <summary>
/// 鐢宠鍌ㄤ綅 锛堢珛浣撳簱锛�
/// </summary>
@@ -534,9 +826,9 @@
{
areaList.Add(item);
}
-
+ var roadStr = Db.Queryable<SysStorageRoadway>().Where(m => m.IsDel == "0" && m.Status == "0").Select(m=>m.RoadwayNo).ToList();
//宸烽亾缁勪俊鎭�
- var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo) && !string.IsNullOrWhiteSpace(m.RoadwayNo))
+ var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo) && !string.IsNullOrWhiteSpace(m.RoadwayNo) && roadStr.Contains(m.RoadwayNo))
.GroupBy(m => m.RoadwayNo).OrderBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList();
#endregion
@@ -1231,7 +1523,7 @@
else
{
locate2.Status = "1";
- Db.Updateable(locate).ExecuteCommand();
+ Db.Updateable(locate2).ExecuteCommand();
}
Db.Updateable(stockDetail).ExecuteCommand();
@@ -1378,7 +1670,7 @@
throw new Exception("閫夋嫨鐨勫嚭搴撳崟鏄庣粏鍙傛暟閿欒");
}
//鎵�鏈夎鍑哄簱鐨勫嚭搴撳垎閰嶄俊鎭�(鏈笅鍙戠殑淇℃伅鍜屽緟鎷h揣鐨勪俊鎭�)
- var item = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == soNo && a.SODetailNo == intDetailId && a.Status == "0" );
+ var item = Db.Queryable<BllExportAllot>().First(a => a.IsDel == "0" && a.SONo == soNo && a.SODetailNo == intDetailId && a.PalletNo == palletNo && a.Status == "0" );
if (item == null) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鍑哄簱娴佹按
{
throw new Exception("褰撳墠鍑哄簱鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏");
@@ -1418,8 +1710,7 @@
var imBl = com.GetImTask(item.PalletNo);
if (imBl != null)
{
- str = "瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱";
- return outDto1;
+ throw new Exception("瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱");
}
//鍒ゆ柇鏄惁鏄凡缁忓嚭杩囧簱鍙堝洖搴�
if (item.Status == "0")
@@ -1445,40 +1736,34 @@
Db.Updateable(notice).ExecuteCommand();
}
}
- str = "瑕佸嚭搴撶殑鎵樼洏宸插湪搴撳";
+ Db.CommitTran();
+ str = "鎵樼洏宸插湪搴撳";
return outDto1;
}
- str = "瑕佸嚭搴撶殑鎵樼洏姝e湪鍏ュ簱";
- return outDto1;
}
var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo && m.IsDel == "0");//褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭�
if (locate == null)
{
- str = "鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)";
- return outDto1;
+ throw new Exception("鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)");
}
//鍒ゆ柇鍌ㄤ綅鏍囧織鏄惁涓烘崯鍧�
if (locate.Flag == "2")
{
- str = "鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱";
- return outDto1;
+ throw new Exception("鍌ㄤ綅鎹熷潖涓嶈兘鍑哄簱");
}
if (locate.WareHouseNo != "W02")
{
- str = "鎵樼洏涓嶅湪璐ф灦搴撲笂";
- return outDto1;
+ throw new Exception("鎵樼洏涓嶅湪璐ф灦搴撲笂");
}
var locateEnd = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//褰撳墠鍑哄簱鐨勭洰鏍囧偍浣嶄俊鎭�
if (locateEnd == null)
{
- str = "鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)";
- return outDto1;
+ throw new Exception("鍑哄簱鐨勬墭鐩樺偍浣嶄俊鎭敊璇�(鍦ㄥ偍浣嶈〃涓湭鏌ヨ鍒�)");
}
else if (locateEnd.Status != "0")
{
- str = "鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅";
- return outDto1;
+ throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅");
}
#endregion
@@ -1606,8 +1891,7 @@
}
else if (locate.Status == "5") //绉诲嚭涓�
{
- str = "褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭";
- return outDto1;
+ throw new Exception("褰撳墠瑕佸嚭搴撶殑鍌ㄤ綅姝e湪绉诲嚭");
}
--
Gitblit v1.8.0