From a41be6d68a746f5d7a5d26d162c68884e0d5efeb Mon Sep 17 00:00:00 2001
From: DESKTOP-9BNTV8O <DESKTOP-9BNTV8O@163.com>
Date: 星期二, 31 十二月 2024 09:12:02 +0800
Subject: [PATCH] 修改问题
---
Wms/WMS.BLL/BllTransServer/RcsServer.cs | 137 +++++++++++++++++++++++++++++++--------------
1 files changed, 95 insertions(+), 42 deletions(-)
diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
index da97210..d6f6333 100644
--- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
@@ -71,7 +71,7 @@
case "0"://鎺ユ枡璁惧鍙噣妗�
{
//鍙《鐩爣鍌ㄤ綅鍦板潃淇℃伅
- endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo);
+ endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1);
if (endLoction == null)
{
throw new Exception("鍙《璁惧鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦�");
@@ -95,7 +95,7 @@
case "1"://娣锋枡璁惧鍙枡妗讹紙娣锋枡锛�
{
//鍙《鐩爣鍌ㄤ綅鍦板潃淇℃伅
- endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo);
+ endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1);
if (endLoction == null)
{
throw new Exception("鍙《璁惧鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦�");
@@ -126,7 +126,7 @@
if (houseNo == "M04")//闄や簡鍠峰共杞﹂棿涓嬫枡鍙i兘鏄�2涓偍浣嶏紙鎶曟枡鍌ㄤ綅銆佹姇瀹屾枡鍌ㄤ綅锛�
{
//鍙《鐩爣鍌ㄤ綅鍦板潃淇℃伅
- endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo);
+ endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1);
}
else
{
@@ -247,9 +247,9 @@
Receiver = "RCS",
//IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
SendDate = DateTime.Now, //鍙戦�佹椂闂�
- //BackDate = DateTime.Now, //杩斿洖鏃堕棿
+ //BackDate = DateTime.Now, //杩斿洖鏃堕棿
StartLocat = item.LocatNo,//璧峰浣嶇疆
- EndLocat = model.Location,//鐩爣浣嶇疆
+ EndLocat = endLoction.LocatNo,//鐩爣浣嶇疆
PalletNo = item.PalletNo,//鎵樼洏鐮�
IsSend = 1,//鏄惁鍙啀娆′笅鍙�
IsCancel = 1,//鏄惁鍙彇娑�
@@ -265,7 +265,7 @@
{
Taskno = taskNo,//浠诲姟鍙�
Startport = item.LocatNo,
- Endport = model.Location,
+ Endport = model.Location,//endLoction.LocatNo,
Pallno = item.PalletNo,
Crtype = "1",//鍙《
WareHouseNo = houseNo
@@ -322,7 +322,7 @@
SendDate = DateTime.Now, //鍙戦�佹椂闂�
//BackDate = DateTime.Now, //杩斿洖鏃堕棿
StartLocat = pallet.LocatNo,//璧峰浣嶇疆
- EndLocat = model.Location,//鐩爣浣嶇疆
+ EndLocat = endLoction.LocatNo,//鐩爣浣嶇疆
PalletNo = pallet.PalletNo,//鎵樼洏鐮�
IsSend = 1,//鏄惁鍙啀娆′笅鍙�
IsCancel = 1,//鏄惁鍙彇娑�
@@ -339,7 +339,7 @@
{
Taskno = taskNo,//浠诲姟鍙�
Startport = pallet.LocatNo,//璧峰浣嶇疆
- Endport = model.Location,//鐩爣浣嶇疆
+ Endport = model.Location,//endLoction.LocatNo,//鐩爣浣嶇疆
Pallno = pallet.PalletNo,//妗跺彿
Crtype = "1",//鍙《
WareHouseNo = houseNo//杞﹂棿缂栫爜
@@ -392,43 +392,49 @@
try
{
string taskMsg = "";
- //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟
- var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == model.PalletNo);
- if (tasking != null)
- {
- throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{model.PalletNo}");
- }
+
//閫氳繃璁惧鍙锋煡鎵惧埌鎵�灞炶澶囷紙鍖哄煙锛�
- var deviceInfo = Db.Queryable<SysStorageArea>().First(w => w.IsDel == "0" && w.DeviceCode == model.Location);
+ var deviceInfo = Db.Queryable<SysStorageArea>().First(w => w.IsDel == "0" && w.DeviceCode.Contains(model.Location));
if (deviceInfo == null)
{
throw new Exception("璁惧淇℃伅涓嶅瓨鍦�");
}
- var houseNo = deviceInfo.WareHouseNo;//鐢宠鍌ㄤ綅璁惧鎵�鍦ㄨ溅闂寸紪鍙�
+ //鐢宠鍌ㄤ綅璁惧鎵�鍦ㄨ溅闂寸紪鍙�
+ var houseNo = deviceInfo.WareHouseNo;
//璁惧鎵�鍦ㄥ偍浣嶄俊鎭紙璧峰鍌ㄤ綅锛�
- var deviceLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo);
- if (deviceLocatInfo == null)
- {
- throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}");
- }
-
- var noticeno = "0";//鍑哄叆搴撳崟鎹槑缁咺D
+ var deviceLocatInfo = new SysStorageLocat();
+ //鍑哄叆搴撳崟鎹槑缁咺D
+ var noticeno = "0";
+ //鐩爣鍌ㄤ綅淇℃伅
+ var loction = new SysStorageLocat();
//妗跺簱瀛樹俊鎭�
- var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo);
- if (palletInfo == null)
- {
- throw new Exception($"鏈煡璇㈠埌璇ユ《鐨勫簱瀛樹俊鎭紝PalletNo:{model.PalletNo}");
- }
+ var palletInfo = new DataStockDetail();
- var storageLocat = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.Status == "0");
//寮�鍚簨鍔�
Db.BeginTran();
-
- SysStorageLocat loction = new SysStorageLocat();//鐩爣鍌ㄤ綅淇℃伅
switch (model.Type)
{
case "3"://娓呮礂璁惧鐢宠鍌ㄤ綅锛堝噣妗剁敵璇峰偍浣嶏級
{
+ //璁惧鏀炬《鍌ㄤ綅淇℃伅锛堝師濮嬪彨妗剁洰鏍囧偍浣嶏級
+ var deviceLocatInfo2 = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1);// Column=1 娓呮礂鍌ㄤ綅锛孋olumn=2 娓呮礂瀹屾枡鍌ㄤ綅
+ if (deviceLocatInfo2 == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}");
+ }
+ //鏌ユ壘妗跺簱瀛樹俊鎭�
+ palletInfo = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == deviceLocatInfo2.WareHouseNo && w.AreaNo == deviceLocatInfo2.AreaNo && w.LocatNo == deviceLocatInfo2.LocatNo).OrderBy(o => o.UpdateTime).First();
+ if (palletInfo == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌璇ヨ澶囦笂妗剁殑搴撳瓨淇℃伅");
+ }
+ //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟
+ var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == palletInfo.PalletNo);
+ if (tasking != null)
+ {
+ throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{palletInfo.PalletNo}");
+ }
+
//璁惧鎵�鍦ㄥ偍浣嶄俊鎭紙璧峰鍌ㄤ綅锛�
deviceLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 2);// Column=1 娓呮礂鍌ㄤ綅锛孋olumn=2 娓呮礂瀹屾枡鍌ㄤ綅
if (deviceLocatInfo == null)
@@ -453,6 +459,23 @@
{
throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}");
}
+ //鏌ユ壘妗跺簱瀛樹俊鎭�
+ palletInfo = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == deviceLocatInfo.WareHouseNo && w.AreaNo == deviceLocatInfo.AreaNo && w.LocatNo == deviceLocatInfo.LocatNo).OrderBy(o => o.UpdateTime).First();
+ if (palletInfo == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌璇ヨ澶囦笂妗剁殑搴撳瓨淇℃伅");
+ }
+ palletInfo.LotNo = model.LotNo;//鎵规鍙�
+ //鏇存柊妗跺簱瀛樹俊鎭�
+ Db.Updateable(palletInfo).ExecuteCommand();
+
+ //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟
+ var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == palletInfo.PalletNo);
+ if (tasking != null)
+ {
+ throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{palletInfo.PalletNo}");
+ }
+
//鍒ゆ柇鏄惁鏈夋壒娆″彿
if (string.IsNullOrWhiteSpace(model.LotNo))
{
@@ -464,9 +487,7 @@
{
throw new Exception("璇ヨ溅闂撮娣峰尯鏆傛棤绌轰綑鍌ㄤ綅");
}
- palletInfo.LotNo = model.LotNo;//鎵规鍙�
- //鏇存柊妗跺簱瀛樹俊鎭�
- Db.Updateable(palletInfo).ExecuteCommand();
+
taskMsg = "鎺ユ枡璁惧锛堥娣锋枡妗讹級鐢宠鍌ㄤ綅浠诲姟";
}
@@ -479,6 +500,19 @@
{
throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}");
}
+ //鏌ユ壘妗跺簱瀛樹俊鎭�
+ palletInfo = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == deviceLocatInfo.WareHouseNo && w.AreaNo == deviceLocatInfo.AreaNo && w.LocatNo == deviceLocatInfo.LocatNo).OrderBy(o => o.UpdateTime).First();
+ if (palletInfo == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌璇ヨ澶囦笂妗剁殑搴撳瓨淇℃伅");
+ }
+ //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟
+ var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == palletInfo.PalletNo);
+ if (tasking != null)
+ {
+ throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{palletInfo.PalletNo}");
+ }
+
//鍒ゆ柇鏄惁鏈夋壒娆″彿
if (string.IsNullOrWhiteSpace(model.LotNo))
{
@@ -498,7 +532,7 @@
throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�");
}
notice.Status = "1";//姝e湪鎵ц
- //鏇存柊鍏ュ簱鍗曠姸鎬�
+ //鏇存柊鍏ュ簱鍗曠姸鎬�
Db.Updateable(notice).ExecuteCommand();
//鏌ユ壘鍒拌杞﹂棿鍗婃垚鍝佸尯
@@ -513,10 +547,28 @@
break;
case "2"://涓嬫枡璁惧鐢宠鍌ㄤ綅锛堣剰妗剁敵璇峰偍浣嶏級
{
+ //璁惧鏀炬《鍌ㄤ綅淇℃伅锛堝師濮嬪彨妗剁洰鏍囧偍浣嶏級
+ var deviceLocatInfo2 = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1);// Column=1 鎶曟枡鍌ㄤ綅锛孋olumn=2 鎶曞畬鏂欏偍浣�
+ if (deviceLocatInfo2 == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}");
+ }
+ //鏌ユ壘妗跺簱瀛樹俊鎭�
+ palletInfo = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == deviceLocatInfo2.WareHouseNo && w.AreaNo == deviceLocatInfo2.AreaNo && w.LocatNo == deviceLocatInfo2.LocatNo).OrderBy(o => o.UpdateTime).First();
+ if (palletInfo == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌璇ヨ澶囦笂妗剁殑搴撳瓨淇℃伅");
+ }
+ //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟
+ var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == palletInfo.PalletNo);
+ if (tasking != null)
+ {
+ throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{palletInfo.PalletNo}");
+ }
if (houseNo == "M04")//闄や簡鍠峰共杞﹂棿涓嬫枡鍙i兘鏄�2涓偍浣嶏紙鎶曟枡鍌ㄤ綅銆佹姇瀹屾枡鍌ㄤ綅锛�
{
//璁惧鎵�鍦ㄥ偍浣嶄俊鎭紙璧峰鍌ㄤ綅锛�
- deviceLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo);
+ deviceLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1);
}
else
{
@@ -549,9 +601,9 @@
//IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
SendDate = DateTime.Now, //鍙戦�佹椂闂�
//BackDate = DateTime.Now, //杩斿洖鏃堕棿
- StartLocat = model.Location,//璧峰浣嶇疆
+ StartLocat = deviceLocatInfo.LocatNo,//璧峰浣嶇疆
EndLocat = loction.LocatNo,//鐩爣浣嶇疆
- PalletNo = model.PalletNo,//妗跺彿
+ PalletNo = palletInfo.PalletNo,//妗跺彿
IsSend = 1,//鏄惁鍙啀娆′笅鍙�
IsCancel = 1,//鏄惁鍙彇娑�
IsFinish = 1,//鏄惁鍙畬鎴�
@@ -564,9 +616,9 @@
var task = new TaskDetial
{
Taskno = taskNo,//浠诲姟鍙�
- Startport = model.Location,
- Endport = loction.LocatNo,
- Pallno = model.PalletNo,
+ Startport = model.Location,//deviceLocatInfo.LocatNo,//璧峰浣嶇疆
+ Endport = loction.LocatNo,//鐩爣浣嶇疆
+ Pallno = palletInfo.PalletNo,
Crtype = "0",//鍏ュ簱
WareHouseNo = houseNo
};
@@ -807,7 +859,8 @@
stockDetail.WareHouseNo = endLocatInfo.WareHouseNo;//鎵�灞炰粨搴�
stockDetail.RoadwayNo = endLocatInfo.RoadwayNo;//鎵�灞炲贩閬�
stockDetail.AreaNo = endLocatInfo.AreaNo;//鎵�灞炲尯鍩�
- stockDetail.LocatNo = endLocatInfo.LocatNo;//鍌ㄤ綅鍦板潃
+ stockDetail.LocatNo = endLocatInfo.LocatNo;//鍌ㄤ綅鍦板潃
+ stockDetail.UpdateTime = DateTime.Now;//鏇存柊鏃堕棿
if (endAreaInfo.Type == "0")//娲佸噣鍖�
{
stockDetail.PalletStatus = "0";
--
Gitblit v1.8.0