From e561870f9644a5e80925346485fe623da678177f Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期二, 14 十月 2025 10:20:57 +0800
Subject: [PATCH] 调整WMS出库逻辑,原辅料可选择成品库出库;
---
Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs | 175 +++++++++++++++------------------------------------------
1 files changed, 47 insertions(+), 128 deletions(-)
diff --git a/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs b/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
index 1480f41..330a533 100644
--- a/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
+++ b/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
@@ -358,98 +358,15 @@
var Locats = Db.Queryable<SysStorageLocat>()
.Where(m => m.LocatNo == pallet.LocatNo && m.WareHouseNo == pallet.WareHouseNo
&& m.IsDel == "0").ToList().FirstOrDefault();
-
- if (Locats.Depth == "02")
+ var Locats2 = Db.Queryable<SysStorageLocat>().Where(m => m.LocatNo == model.Code && m.IsDel == "0").ToList().FirstOrDefault();
+ if (Locats2 == null)
{
- // 鑾峰彇澶栦晶鍌ㄤ綅鍦板潃
- string locatNo = Locats.LocatNo.Substring(0, 6) + "01";
- var Locatwc = Db.Queryable<SysStorageLocat>()
- .Where(m => m.LocatNo == locatNo && m.WareHouseNo == pallet.WareHouseNo
- && m.IsDel == "0").ToList().FirstOrDefault();
-
- if (Locatwc.Status == "1")
- {
- // 澶栦晶鏈夎揣鐗�
- var Locatwcsku = Db.Queryable<DataStockDetail>()
- .Where(m => m.LocatNo == locatNo
- && m.IsDel == "0"
- && m.WareHouseNo== Locatwc.WareHouseNo).ToList().FirstOrDefault();
-
- // 鑾峰彇绉诲簱鍦板潃
- var newSlot = com.MoveAddress(locatNo, Locatwc.RoadwayNo, Locatwcsku.SkuNo);
-
- var taskNo1 = new Common().GetMaxNo("TK");
- var exTask1 = new LogTask(); //鍑哄簱浠诲姟
- exTask1.TaskNo = taskNo1;
- exTask1.Sender = "WMS";
- exTask1.Receiver = "WCS";
- exTask1.IsSuccess = 0; //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
- exTask1.StartLocat = locatNo; //璧峰浣嶇疆
- exTask1.PalletNo = Locatwcsku.PalletNo; //鎵樼洏鐮�
- exTask1.IsSend = 1;//鏄惁鍙啀娆′笅鍙�
- exTask1.IsCancel = 1;//鏄惁鍙彇娑�
- exTask1.IsFinish = 1;//鏄惁鍙畬鎴�
- exTask1.Status = "0";//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
- exTask1.OrderType = "4"; //0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗�
-
-
- OutCommandDto taskModel = new OutCommandDto();
- taskModel.TaskNo = com.GetMaxNo("TK"); // 浠诲姟鍙�
- taskModel.StartRoadway = Locatwc.RoadwayNo;
- taskModel.PalletNo = Locatwcsku.PalletNo; // 鎵樼洏鍙�
- taskModel.StartLocate = locatNo; // 璧峰浣嶇疆
- taskModel.Order = 1;
- if (newSlot == "")
- {
- exTask1.EndLocat = model.Code; //鐩爣浣嶇疆
- exTask1.Type = "1"; //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
- exTask1.Msg = Locats.LocatNo +"鎵樼洏鍑哄簱鍒涘缓鐨�"+locatNo + "鎵樼洏鐨勫嚭搴撲换鍔�";
-
- // 娌℃湁澶氫綑鐨勭┖鍌ㄤ綅
- taskModel.EndLocate = model.Code; // 鍑哄簱鍙�
- taskModel.EndRoadway = ""; // 鐩爣宸烽亾
- taskModel.TaskType = "1";// 浠诲姟绫诲瀷 (鍑哄簱)
- taskModel.OutMode = model.Code; //鐩爣鍦板潃
-
- // 鏇存柊鍌ㄤ綅鍦板潃
- Locatwc.Status = "3";
- Db.Updateable(Locatwc).ExecuteCommand();
- }
- else
- {
- // 鑾峰彇绉诲簱宸烽亾鍙�
- var Locatyk = Db.Queryable<SysStorageLocat>()
- .Where(m => m.LocatNo == newSlot && m.WareHouseNo == pallet.WareHouseNo
- && m.IsDel == "0").ToList().FirstOrDefault();
-
- exTask1.EndLocat = newSlot; //鐩爣浣嶇疆
- exTask1.Type = "2"; //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
- exTask1.Msg = Locats.LocatNo + "鎵樼洏鍑哄簱鍒涘缓鐨�" + locatNo + "鎵樼洏鐨勭Щ搴撲换鍔�";
-
- taskModel.EndLocate = newSlot; // 鐩爣鍦板潃
- taskModel.EndRoadway = Locatyk.RoadwayNo; // 鐩爣宸烽亾
- taskModel.TaskType = "2"; // 浠诲姟绫诲瀷 (绉诲簱)
- taskModel.OutMode = newSlot;
-
- // 鏇存柊鍌ㄤ綅鍦板潃
- Locatwc.Status = "5"; // 绉诲嚭涓�
- Locatyk.Status = "4"; // 绉诲叆涓�
- Db.Updateable(Locatyk).ExecuteCommand();
- }
- Db.Updateable(Locatwc).ExecuteCommand();
-
- // 鎻掑叆浠诲姟鏃ュ織
- Db.Insertable(exTask1).ExecuteCommand();
- outWhs.Add(taskModel);
- }
- if (Locatwc.Status == "2" || Locatwc.Status == "4")
- {
- numberQty = numberQty + pallet.Qty;
- continue;
- }
+ throw new Exception("鐩爣鍌ㄤ綅閿欒");
}
-
-
+ if (Locats2.Status != "0")
+ {
+ throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅锛岃鏍稿疄");
+ }
var taskNo2 = new Common().GetMaxNo("TK");
var exTask2 = new LogTask(); //鍑哄簱浠诲姟
exTask2.TaskNo = taskNo2;
@@ -464,7 +381,7 @@
exTask2.Status = "0";//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
exTask2.OrderType = "4"; //0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗�
exTask2.EndLocat = model.Code; //鐩爣浣嶇疆
- exTask2.Type = "1"; //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
+ exTask2.Type = "2"; //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
exTask2.Msg = pallet.LocatNo + "鎵樼洏鍑哄簱浠诲姟";
// 鎻掑叆浠诲姟鏃ュ織
Db.Insertable(exTask2).ExecuteCommand();
@@ -476,51 +393,53 @@
taskModel1.Order = 1;
taskModel1.EndLocate = model.Code; // 鐩爣鍦板潃
taskModel1.EndRoadway = ""; // 鐩爣宸烽亾
- taskModel1.TaskNo = com.GetMaxNo("TK"); // 浠诲姟鍙�
- taskModel1.TaskType = "1";// 浠诲姟绫诲瀷 (鍑哄簱)
- taskModel1.OutMode = model.Code;
+ taskModel1.TaskNo = taskNo2; // 浠诲姟鍙�
+ taskModel1.TaskType = "2";// 浠诲姟绫诲瀷 (鍑哄簱)
+ taskModel1.Type = PLCTypeEnum.AGV;
// 鏇存柊鍌ㄤ綅鐘舵��
- Locats.Status = "3";
+ Locats.Status = "5";
Db.Updateable(Locats).ExecuteCommand();
+ Locats2.Status = "4";
+ Db.Updateable(Locats2).ExecuteCommand();
outWhs.Add(taskModel1);
- // 鍚慦CS涓嬪彂鍑哄簱浠诲姟
- if (outWhs.Count > 0)
- {
- // 姝e紡杩愯绋嬪簭鏀惧紑
- var list2 = outWhs.Select(m => m.TaskNo).ToList();
- var jsonData = JsonConvert.SerializeObject(outWhs);
- //string response = "";
-
- try
- {
- //var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
- //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
- //var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
-
- ////瑙f瀽杩斿洖鏁版嵁
- //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
- //if (wcsModel.StatusCode == 0)
- //{
- // //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
- //new TaskServer().EditTaskIssueOk(list2, time1, time2);
- //}
- //if (wcsModel.StatusCode == -1)
- //{
- // new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
- // throw new Exception(wcsModel.Msg);
- //}
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
-
- }
+
}
+ // 鍚慦CS涓嬪彂鍑哄簱浠诲姟
+ if (outWhs.Count > 0)
+ {
+ // 姝e紡杩愯绋嬪簭鏀惧紑
+ var list2 = outWhs.Select(m => m.TaskNo).ToList();
+ var jsonData = JsonConvert.SerializeObject(outWhs);
+ string response = "";
+ try
+ {
+ var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+ response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
+ var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+
+ //瑙f瀽杩斿洖鏁版嵁
+ var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
+ if (wcsModel.code == 200)
+ {
+ //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+ new TaskServer().EditTaskIssueOk(list2, time1, time2);
+ }
+ else
+ {
+ new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.message);
+ throw new Exception(wcsModel.message);
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+
+ }
//娣诲姞鎿嶄綔鏃ュ織璁板綍
var k = new OperationCrServer()
.AddLogOperationCr("璐ㄩ噺绠$悊", "璐ㄦ璇烽獙", data.QcNo, "鍑哄簱", $"鐐瑰嚮浜嗗嚭搴撴搷浣滐紱璇烽獙鍗�:{data.QcNo}!", userId);
--
Gitblit v1.8.0