From a833526d6f9d396df0249066f8057c6d5c51b86d Mon Sep 17 00:00:00 2001
From: xxyy <cathay_xy@163.com>
Date: 星期四, 27 二月 2025 13:36:26 +0800
Subject: [PATCH] 修复 Dt_TaskService.cs 中 locations 检查逻辑
---
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 65 ++++++++++++++++++++++++++++++--
1 files changed, 60 insertions(+), 5 deletions(-)
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
index 0653533..b95bab5 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -1,5 +1,4 @@
锘縰sing Masuit.Tools;
-using WIDESEA_Common;
using WIDESEA_Common.CustomModels;
//using WIDESEA_Common.CustomModels;
@@ -460,6 +459,10 @@
else
{
locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Distribute && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1);
+ if (locations == null)
+ {
+ locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1);
+ }
}
if (locations == null)
@@ -975,8 +978,12 @@
WebResponseContent content = new WebResponseContent();
try
{
- Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position && x.stationType == 12 && x.stationArea == "Call");
+ //LogFactory.GetLog("甯告俯3鍑哄簱鑷冲寘瑁�").Info(true, $"甯告俯3鍑哄簱鑷冲寘瑁呬紶鍏ュ弬鏁帮細" + JsonConvert.SerializeObject(json, Formatting.Indented));
+ Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position && x.stationType == 12 && x.stationArea == "Call");
+ if (station == null) { throw new Exception($"鏈壘鍒板寘瑁呯珯鍙颁俊鎭紝璇锋鏌ヤ紶鍏ュ弬鏁皗json.Position}"); }
+
+ //LogFactory.GetLog("甯告俯3鍑哄簱鑷冲寘瑁�").Info(true, $"甯告俯3鍑哄簱鑷冲寘瑁呬紶鍏ュ弬鏁帮細" + JsonConvert.SerializeObject(json, Formatting.Indented));
var stockInfo = _stockInfoRepository.Db.Queryable<DtStockInfo>()
.Where(x => x.ProductionLine == station.productLine)
.Includes(x => x.LocationInfo) // 棰勫姞杞絃ocationInfo
@@ -986,7 +993,7 @@
.First(); // 鑾峰彇绗竴涓厓绱�
//DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(X => X.IsFull && X.AreaCode == "CWSC3" && X.ProductionLine == station.productLine);
- if (stockInfo == null) throw new Exception("搴撳唴鏃犳弧瓒虫潯浠剁殑搴撳瓨鍙嚭搴�");
+ if (stockInfo == null) throw new Exception($"搴撳唴{station.productLine}鏃犳弧瓒虫潯浠剁殑搴撳瓨鍙嚭搴�");
DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.AreaId == 5 && x.LocationCode == stockInfo.LocationCode);
@@ -1156,22 +1163,24 @@
#endregion
#region 鍒嗗绌烘鍏ュ簱鏀逛负鐩存帴鍑哄簱
+
public async Task<WebResponseContent> SetEmptyOutbyInToOutAsync(RequestTaskDto request)
{
WebResponseContent content = new WebResponseContent();
- var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode && x.CurrentAddress == request.Position);
+ var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode);
if (!task.IsNullOrEmpty())
{
var fromStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == request.Position);
var toStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationType == 7 && x.productLine == fromStation.productLine && x.stationArea == fromStation.stationArea);
if (!toStation.IsNullOrEmpty())
{
+ var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.AreaId == int.Parse(fromStation.stationArea));
task.TargetAddress = toStation.stationLocation;
task.NextAddress = toStation.stationChildCode;
task.Grade = 3;
task.TaskType = (int)TaskOutboundTypeEnum.InToOut;
+ task.TaskState = (int)TaskOutStatusEnum.OutNew;
- var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress);
location.LocationStatus = (int)LocationEnum.Free;
await _locationRepository.UpdateDataAsync(location);
@@ -1193,4 +1202,50 @@
}
#endregion
+
+ #region 鍒嗗绌烘鍑哄簱鏀逛负鐩存帴鍑哄簱
+
+ /// <summary>
+ /// 鍒嗗绌烘鍑哄簱鏀逛负鐩存帴鍑哄簱
+ /// </summary>
+ /// <param name="request"></param>
+ /// <returns></returns>
+ public async Task<WebResponseContent> SetEmptyOutbyInToOutOneAsync(RequestTaskDto request)
+ {
+ WebResponseContent content = new WebResponseContent();
+ var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode);
+ if (!task.IsNullOrEmpty())
+ {
+ var toStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == request.Position);
+ var fromStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationType == 6 && x.productLine == toStation.productLine && x.stationArea == toStation.stationArea);
+ if (!fromStation.IsNullOrEmpty())
+ {
+ //var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.AreaId == int.Parse(fromStation.stationArea));
+ task.SourceAddress = toStation.stationLocation;
+ task.CurrentAddress = toStation.stationChildCode;
+ task.Grade = 3;
+ task.TaskType = (int)TaskOutboundTypeEnum.InToOut;
+ task.TaskState = (int)TaskOutStatusEnum.OutNew;
+
+ //location.LocationStatus = (int)LocationEnum.Free;
+
+ //await _locationRepository.UpdateDataAsync(location);
+ await BaseDal.UpdateDataAsync(task);
+ return content.OK("鎴愬姛");
+ }
+ else
+ {
+ ConsoleHelper.WriteErrorLine("鍒嗗绌烘鍑哄簱鏀逛负鐩存帴鍑哄簱:鏈壘鍒板搴旂珯鍙�");
+ content.Error("鏈壘鍒板搴旂珯鍙�");
+ }
+ }
+ else
+ {
+ ConsoleHelper.WriteErrorLine("鍒嗗绌烘鍑哄簱鏀逛负鐩存帴鍑哄簱:鏈壘鍒颁换鍔�");
+ content.Error("鏈壘鍒颁换鍔�");
+ }
+ return content;
+ }
+
+ #endregion
}
\ No newline at end of file
--
Gitblit v1.9.3