From 79cea1bc2685b73f2f6a29379f37580ca1a38c79 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期六, 11 四月 2026 15:56:50 +0800
Subject: [PATCH] 优化提升机质检料箱接口,添加平库的修改库区以及查看
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 95 ++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 81 insertions(+), 14 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 088a290..505e820 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -514,6 +514,7 @@
var rgv = new List<Dt_RGVLocationInfo>();
var kls = new List<Dt_KLSLocationInfo>();
var hk = new List<Dt_HKLocationInfo>();
+ var pk = new List<Dt_StationInfo>();
if (wMSUpdateLocationArea.WarehouseId == 1)
{
var rgvList = _rGVLocationInfoService.Repository.QueryData(x => wMSUpdateLocationArea.LocationCodes.Contains(x.LocationCode)).ToList();
@@ -541,6 +542,15 @@
item.WarehouseId = wMSUpdateLocationArea.UpdateAreaCode.ObjToInt();
}
hk.AddRange(hkList);
+ }
+ if (wMSUpdateLocationArea.WarehouseId == 4)
+ {
+ var pkList = _stationInfo.Repository.QueryData(x => wMSUpdateLocationArea.LocationCodes.Contains(x.StationCode)).ToList();
+ foreach (var item in pk)
+ {
+ item.StationRegion = wMSUpdateLocationArea.UpdateAreaCode.ObjToInt();
+ }
+ pk.AddRange(pkList);
}
Db.Ado.BeginTran();
_rGVLocationInfoService.UpdateData(rgv);
@@ -1207,6 +1217,25 @@
}
content.OK(data: list);
}
+ else if (getLocationInfo.WarehouseId == 6)
+ {
+ List<Dt_StationInfo> StationInfo = new List<Dt_StationInfo>();
+ if (!string.IsNullOrEmpty(getLocationInfo.AreaCode))
+ StationInfo = _stationInfo.Repository.QueryData(x => x.StationRegion == getLocationInfo.AreaCode.ObjToInt());
+ else
+ StationInfo = _stationInfo.Repository.QueryData();
+ foreach (var item in StationInfo)
+ {
+ list.Add(new
+ {
+ LoctionCode = item.StationCode,
+ LocationStatus = item.StationStatus,
+ EnableStatus = item.IsOccupied,
+ PalletCode = item.PalletCode
+ });
+ }
+ content.OK(data: list);
+ }
}
catch (Exception ex)
{
@@ -1239,11 +1268,11 @@
public WebResponseContent InboundElevatorExit(string LocationCode, string containerCode)
{
WebResponseContent content = new WebResponseContent();
- inboundElevatorExitDTO inboundElevator=new inboundElevatorExitDTO();
+ inboundElevatorExitDTO inboundElevator = new inboundElevatorExitDTO();
try
{
Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(inboundElevatorExitDTO)) ?? throw new Exception("鏈壘鍒�4F鎻愬崌鏈哄嚭鍙f墭鐩樺彿涓婃姤WMS鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�");
- inboundElevator.containerCode= containerCode;
+ inboundElevator.containerCode = containerCode;
inboundElevator.toLocationCode = LocationCode;
string response = HttpHelper.Post(apiInfo.ApiAddress, inboundElevator.Serialize());
content.OK(data: response);
@@ -1280,6 +1309,9 @@
string dataJson = wMSReturn.result.ToString();
Exists? exists = JsonConvert.DeserializeObject<Exists>(dataJson);
if (exists == null) throw new Exception($"WMS杩斿洖缁撴灉鐨剅esult杞崲澶辫触");
+ //濡傛灉鎴愬姛灏变笉杩斿洖
+ if (exists.taskExists) return WebResponseContent.Instance.OK();
+ //濡傛灉澶辫触浜嗗氨杩斿洖exists.errorAreaCode
return WebResponseContent.Instance.OK(exists.errorAreaCode);
}
catch (Exception ex)
@@ -1301,6 +1333,41 @@
throw new NotImplementedException();
}
/// <summary>
+ /// 骞冲簱璐т綅涓婁笅鏋跺鍣�
+ /// </summary>
+ /// <param name="wMSUpOrDown"></param>
+ /// <returns></returns>
+ public WebResponseContent UpOrDownContainer(WMSUpOrDownContainerDTO wMSUpOrDown)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StationInfo stationInfo = _stationInfo.Repository.QueryFirst(x => x.StationCode == wMSUpOrDown.locationCode) ?? throw new Exception($"鏈壘鍒拌揣浣嶃�恵wMSUpOrDown.locationCode}銆戜俊鎭�");
+ if (wMSUpOrDown.direction == 1)
+ {
+ stationInfo.StationStatus = LocationStatusEnum.InStock.ObjToInt();
+ stationInfo.PalletCode = wMSUpOrDown.containerCode;
+ }
+ else
+ {
+ stationInfo.StationStatus = LocationStatusEnum.Free.ObjToInt();
+ stationInfo.PalletCode = "";
+ }
+ _stationInfo.UpdateData(stationInfo);
+ content.OK();
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ finally
+ {
+ _trackloginfoService.AddTrackLog(wMSUpOrDown, content, "骞冲簱璐т綅涓婁笅鏋跺鍣�", "", "");
+ }
+ return content;
+ }
+
+ /// <summary>
/// 瀹瑰櫒娴佸姩璇锋眰
/// </summary>
/// <param name="wMSContainerFlow"></param>
@@ -1308,7 +1375,7 @@
/// <exception cref="NotImplementedException"></exception>
public WebResponseContent ContainerRequest(WMSContainerFlow wMSContainerFlow)
{
- WebResponseContent content =new WebResponseContent();
+ WebResponseContent content = new WebResponseContent();
try
{
Dt_StationManger stationManger = _stationMangerService.Repository.QueryFirst(x => x.StationCode == wMSContainerFlow.slotCode) ?? throw new Exception($"鏈壘鍒扮珯鍙般�恵wMSContainerFlow.slotCode}銆戜俊鎭�");
@@ -1323,7 +1390,7 @@
};
string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOToccupyStation.Serialize());
FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>();
- content.OK(data:fOURBOTReturn);
+ content.OK(data: fOURBOTReturn);
if (fOURBOTReturn.returnCode != 0) throw new Exception(fOURBOTReturn.returnUserMsg);
_stationMangerService.UpdateData(stationManger);
}
@@ -1432,7 +1499,7 @@
}
finally
{
- _trackloginfoService.AddTrackLog(fOURBOTStorageStatusNotify,content, "鎵归噺鏇存柊鍌ㄤ綅鐘舵��", "", "");
+ _trackloginfoService.AddTrackLog(fOURBOTStorageStatusNotify, content, "鎵归噺鏇存柊鍌ㄤ綅鐘舵��", "", "");
}
}
@@ -1469,7 +1536,7 @@
/// <param name="taskDTO">浠诲姟DTO</param>
/// <returns>杩斿洖璧风偣搴撲綅鍜岀粓鐐瑰簱浣嶄俊鎭�</returns>
/// <exception cref="Exception">鏍¢獙澶辫触鏃舵姏鍑哄紓甯�</exception>
- private WebResponseContent ValidateLocationForTask(int taskType, TaskDTO taskDTO)
+ private WebResponseContent ValidateLocationForTask(int taskType, TaskDTO taskDTO)
{
WebResponseContent content = new WebResponseContent();
try
@@ -1481,7 +1548,7 @@
var toStation = _stationInfo.Repository.QueryFirst(x => x.StationName == taskDTO.toLocationCode)
?? throw new Exception($"鏈壘鍒扮粓鐐瑰簱浣嶃�恵taskDTO.toLocationCode}銆戯紒");
- if (toStation.StationName != LocationStatusEnum.Free.ToString())
+ if (toStation.StationStatus != (int)LocationStatusEnum.Free)
throw new Exception($"缁堢偣搴撲綅銆恵taskDTO.toLocationCode}銆戝簱浣嶇姸鎬佷笉鍙叆搴擄紒");
}
// 鍑哄簱绫讳换鍔★紙闇�瑕佹牎楠岃捣鐐瑰簱浣嶏級
@@ -1490,7 +1557,7 @@
var fromStation = _stationInfo.Repository.QueryFirst(x => x.StationName == taskDTO.fromLocationCode)
?? throw new Exception($"鏈壘鍒拌捣鐐瑰簱浣嶃�恵taskDTO.fromLocationCode}銆戯紒");
- if (fromStation.StationName != LocationStatusEnum.InStock.ToString())
+ if (fromStation.StationStatus != (int)LocationStatusEnum.InStock)
throw new Exception($"璧风偣搴撲綅銆恵taskDTO.fromLocationCode}銆戝綋鍓嶅簱浣嶇姸鎬佷笉鍙嚭搴擄紒");
if (fromStation.PalletCode != taskDTO.containerCode)
@@ -1503,29 +1570,29 @@
var toStation = _stationInfo.Repository.QueryFirst(x => x.StationName == taskDTO.toLocationCode)
?? throw new Exception($"鏈壘鍒扮粓鐐瑰簱浣嶃�恵taskDTO.toLocationCode}銆戯紒");
- if (toStation.StationName != LocationStatusEnum.Free.ToString())
+ if (toStation.StationStatus != (int)LocationStatusEnum.Free)
throw new Exception($"缁堢偣搴撲綅銆恵taskDTO.toLocationCode}銆戝簱浣嶇姸鎬佷笉鍙叆搴擄紒");
// 鏍¢獙璧风偣搴撲綅
var fromStation = _stationInfo.Repository.QueryFirst(x => x.StationName == taskDTO.fromLocationCode)
?? throw new Exception($"鏈壘鍒拌捣鐐瑰簱浣嶃�恵taskDTO.fromLocationCode}銆戯紒");
- if (fromStation.StationName != LocationStatusEnum.InStock.ToString())
+ if (fromStation.StationStatus != (int)LocationStatusEnum.InStock)
throw new Exception($"璧风偣搴撲綅銆恵taskDTO.fromLocationCode}銆戝綋鍓嶅簱浣嶇姸鎬佷笉鍙嚭搴擄紒");
if (fromStation.PalletCode != taskDTO.containerCode)
throw new Exception($"璧风偣搴撲綅銆恵taskDTO.fromLocationCode}銆戠粦瀹氭枡绠卞彿銆恵fromStation.PalletCode}銆戜笌浠诲姟鏂欑鍙枫�恵taskDTO.containerCode}銆戜笉鍖归厤锛�");
}
#endregion
- return content.OK();
+ return content.OK();
}
catch (Exception ex)
{
- return content.Error(ex.Message);
+ return content.Error(ex.Message);
}
-
-
+
+
}
--
Gitblit v1.9.3