From d40b63ad393e8af2a6f50ac055f582727dba6f28 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期日, 09 二月 2025 10:18:43 +0800
Subject: [PATCH] 组盘页面优化
---
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 56 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 49 insertions(+), 7 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 85c1e58..40ef704 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
@@ -100,7 +100,7 @@
WMSTaskDTO taskDTO = new WMSTaskDTO()
{
TaskNum = task.TaskNum.Value,
- Grade = 1,
+ Grade = task.Grade.Value,
PalletCode = task.PalletCode,
RoadWay = task.Roadway,
SourceAddress = task.SourceAddress,
@@ -186,6 +186,29 @@
// 缁勭洏淇℃伅
// 灏哻ontent.Data杞崲涓篟esultTrayCellsStatus瀵硅薄
var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());
+
+ if (!result.Success)
+ {
+ var taskNG = new Dt_Task
+ {
+ CurrentAddress = input.Position,
+ Grade = 1,
+ Roadway = input.Roadways,
+ TargetAddress = stationManager.stationNGLocation,
+ Dispatchertime = DateTime.Now,
+ MaterialNo = "",
+ NextAddress = stationManager.stationNGChildCode,
+ OrderNo = null,
+ PalletCode = input.PalletCode,
+ SourceAddress = stationManager.stationLocation,
+ TaskState = (int)TaskInStatusEnum.Line_InFinish,
+ TaskType = (int)TaskOutboundTypeEnum.InToOut,
+ TaskNum = await BaseDal.GetTaskNo(),
+ Creater = "Systeam"
+ };
+ return taskNG;
+ }
+
if (result.SerialNos.Count <= 0)
{
ConsoleHelper.WriteErrorLine(result.MOMMessage);
@@ -218,7 +241,7 @@
}
// 澶勭悊寮傚父鐢佃姱鎯呭喌
- var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
+ var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();
if (serialNosError.Count > 0)
{
if (stationManager.stationType != 3)
@@ -303,6 +326,7 @@
if (stationManager.stationType == 1)
{
+ #region
// 鍒涘缓涓�涓猅rayCellsStatusDto瀵硅薄锛屽苟璧嬪��
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
{
@@ -368,6 +392,7 @@
////// 璋冪敤GetProcessResponseAsync鏂规硶锛岃幏鍙栧伐鑹哄搷搴�
////var processResponse = await GetProcessResponseAsync(process, input.Position);
var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
+ #endregion
}
var task = new Dt_Task
@@ -387,10 +412,13 @@
TaskNum = await BaseDal.GetTaskNo(),
Creater = "Systeam"
};
- ConsoleHelper.WriteSuccessLine($"淇敼鍓嶏細" + locationInfo.LocationStatus.ToString());
+ int lastStatus = locationInfo.LocationStatus;
+ ConsoleHelper.WriteSuccessLine($"淇敼鍓嶏細" + lastStatus.ToString());
locationInfo.LocationStatus = (int)LocationEnum.FreeDisable;
ConsoleHelper.WriteSuccessLine($"淇敼鍚庯細" + locationInfo.LocationStatus.ToString());
await UpdateLocationAsync(locationInfo);
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);
return task;
}
@@ -504,7 +532,7 @@
var task = new Dt_Task
{
CurrentAddress = input.Position,
- Grade = 1,
+ Grade = 2,
Roadway = input.Roadways,
TargetAddress = stationManager.stationLocation,
Dispatchertime = DateTime.Now,
@@ -672,10 +700,15 @@
var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
- ConsoleHelper.WriteSuccessLine($"淇敼鍓嶏細" + locationInfo.LocationStatus.ToString());
+ int lastStatus = locationInfo.LocationStatus;
+
+ ConsoleHelper.WriteSuccessLine($"淇敼鍓嶏細" + lastStatus.ToString());
locationInfo.LocationStatus = (int)LocationEnum.FreeDisable;
ConsoleHelper.WriteSuccessLine($"淇敼鍚庯細" + locationInfo.LocationStatus.ToString());
await UpdateLocationAsync(locationInfo);
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);
+
return task;
}
catch (Exception ex)
@@ -784,10 +817,13 @@
var content = JsonConvert.DeserializeObject<WebResponseContent>(result);
if (content.Status)
{
+ int lastStatus = item.LocationInfo.LocationStatus;
await BaseDal.AddDataAsync(task);
// 鏇存柊搴撳瓨浣嶇疆鐘舵�佷负涓嶅彲鐢�
item.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;
await _locationRepository.UpdateDataAsync(item.LocationInfo);
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(item.LocationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);
}
}
}
@@ -823,7 +859,7 @@
var location = locations.OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).FirstOrDefault();
- var stockInfo = await QueryStockInfoForEmptyTrayAsync("CWSC1");
+ var stockInfo = await QueryStockInfoForEmptyTrayAsync("CWSC1","10086");
if (stockInfo != null)
{
@@ -833,6 +869,7 @@
WMSTaskDTO wmsTask = CreateTaskDTO(task);
// 鏇存柊搴撳瓨浣嶇疆鐘舵�佷负涓嶅彲鐢�
+ int lastStatus = location.LocationStatus;
stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;
location.LocationStatus = (int)LocationEnum.Distribute;
await _unitOfWorkManage.UseTranAsync(async () =>
@@ -841,6 +878,8 @@
await _locationRepository.UpdateDataAsync(stockInfo.LocationInfo);
await _locationRepository.UpdateDataAsync(location);
});
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);
// 杩斿洖鎴愬姛鍝嶅簲
return content.OK(data: wmsTask);
@@ -867,7 +906,6 @@
var stockInfo = _stockInfoRepository.Db.Queryable<DtStockInfo>()
.Includes(x => x.LocationInfo) // 棰勫姞杞絃ocationInfo
- .Includes(x => x.StockInfoDetails) // 棰勫姞杞絊tockInfoDetails
.Where(x => x.AreaCode == "CWSC3" && x.IsFull == true) // 杩囨护鏉′欢
.Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock) // 杩囨护鏉′欢
.OrderBy(x => x.OutboundTime) // 鎺掑簭
@@ -901,10 +939,14 @@
WMSTaskDTO taskDTO = CreateTaskDTO(task);
+ int lastStatus = locationInfo.LocationStatus;
+
BaseDal.AddData(task);
stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;
_locationRepository.UpdateData(stockInfo.LocationInfo);
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(stockInfo.LocationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);
+
return content.OK(data: taskDTO);
}
catch (Exception ex)
--
Gitblit v1.9.3