From 770531b9645ed712be426346148387f165d39773 Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期一, 23 十二月 2024 17:25:45 +0800
Subject: [PATCH] 添加日志功能,更新SignalR接口,优化前端日志展示逻辑
---
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 127 ++++++++++++++++++++++++++----------------
1 files changed, 78 insertions(+), 49 deletions(-)
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
index 000de4c..1764161 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -1,6 +1,7 @@
锘縰sing Mapster;
using Masuit.Tools;
using System.Text.RegularExpressions;
+using System.Threading.Tasks;
using WIDESEA_Core.Const;
using WIDESEA_DTO.MOM;
using WIDESEA_DTO.WMS;
@@ -285,7 +286,7 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
+ if (task.TaskType == (int)TaskInboundTypeEnum.InNG || task.TaskType == (int)TaskInboundTypeEnum.InQuality)
{
task.TaskState = (int)TaskInStatusEnum.SC_InFinish;
// 鍒涘缓鍘嗗彶浠诲姟瀹炰緥妯″瀷
@@ -430,6 +431,8 @@
area = _areaInfoRepository.QueryFirst(x => x.AreaID == 6);
else if (boxing.ProcessCode == "OCVB")
area = _areaInfoRepository.QueryFirst(x => x.AreaID == 7);
+ else
+ area = _areaInfoRepository.QueryFirst(x => x.AreaID == loation.AreaId);
if (area == null)
throw new Exception("鏈壘鍒板搴斿尯鍩熶俊鎭�");
@@ -537,6 +540,7 @@
case (int)TaskInboundTypeEnum.Inbound:
case (int)TaskInboundTypeEnum.InTray:
case (int)TaskInboundTypeEnum.InNG:
+ case (int)TaskInboundTypeEnum.InQuality:
LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍏ュ簱浠诲姟", "");
return await CompleteInboundTaskAsync(task);
@@ -1323,7 +1327,7 @@
#region 闈欑疆寮傚父鍙e叆搴�
- public async Task<WebResponseContent> CreateAndSendInboundTask(string locationCode, string palletCode, string position)
+ public async Task<WebResponseContent> CreateAndSendInboundTask(string palletCode, string position)
{
WebResponseContent content = new WebResponseContent();
try
@@ -1332,65 +1336,82 @@
var stockInfo = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == palletCode);
if (stockInfo == null)
{
+ var taskOld = BaseDal.QueryFirst(x => x.PalletCode == palletCode);
+ if (!taskOld.IsNullOrEmpty())
+ {// 鍒涘缓WMS浠诲姟
+ WMSTaskDTO taskDTO = new WMSTaskDTO()
+ {
+ TaskNum = taskOld.TaskNum.Value,
+ Grade = 1,
+ PalletCode = taskOld.PalletCode,
+ RoadWay = taskOld.Roadway,
+ SourceAddress = taskOld.CurrentAddress,
+ TargetAddress = taskOld.TargetAddress,
+ TaskState = taskOld.TaskState.Value,
+ Id = 0,
+ TaskType = taskOld.TaskType,
+ };
+ return content.OK(data: taskDTO);
+ }
var area = _areaInfoRepository.QueryFirst(x => x.AreaID == 2);
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == position);
TrayCellsStatusDto trayCells = CreateTrayCellsStatusDto(area, palletCode);
content = await GetTrayCellStatusAsync(trayCells);
if (!content.Status) return content;
+ ConsoleHelper.WriteErrorLine(content.ToJsonString());
var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());
- if (!result.Success)
+ if (result.SerialNos.Count > 0)
{
- if (result.SerialNos.Count <= 0)
+ var location = await GetLocationDistributeAsync(station.Roadway);
+
+ ConsoleHelper.WriteErrorLine(location.ToJsonString());
+ // 鍒涘缓鏂颁换鍔″疄渚�
+ var task = new Dt_Task
{
- var location = await GetLocationDistributeAsync(station.Roadway);
- // 鍒涘缓鏂颁换鍔″疄渚�
- var task = new Dt_Task
- {
- CurrentAddress = locationCode,
- Grade = 1,
- Roadway = station.Roadway,
- TargetAddress = location.LocationCode,
- Dispatchertime = DateTime.Now,
- MaterialNo = "",
- NextAddress = location.LocationCode,
- OrderNo = null,
- PalletCode = palletCode,
- SourceAddress = locationCode,
- TaskState = (int)TaskInStatusEnum.Line_InFinish,
- TaskType = (int)TaskInboundTypeEnum.Inbound,
- TaskNum = await BaseDal.GetTaskNo(),
- Creater = "Systeam"
- };
+ CurrentAddress = station.stationLocation,
+ Grade = 1,
+ Roadway = station.Roadway,
+ TargetAddress = location.LocationCode,
+ Dispatchertime = DateTime.Now,
+ MaterialNo = "",
+ NextAddress = location.LocationCode,
+ OrderNo = null,
+ PalletCode = palletCode,
+ SourceAddress = position,
+ TaskState = (int)TaskInStatusEnum.Line_InFinish,
+ TaskType = (int)TaskInboundTypeEnum.Inbound,
+ TaskNum = await BaseDal.GetTaskNo(),
+ Creater = "Systeam"
+ };
- // 鍒涘缓WMS浠诲姟
- WMSTaskDTO taskDTO = new WMSTaskDTO()
- {
- TaskNum = task.TaskNum.Value,
- Grade = 1,
- PalletCode = task.PalletCode,
- RoadWay = task.Roadway,
- SourceAddress = task.SourceAddress,
- TargetAddress = task.Roadway,
- TaskState = task.TaskState.Value,
- Id = 0,
- TaskType = task.TaskType,
- };
+ // 鍒涘缓WMS浠诲姟
+ WMSTaskDTO taskDTO = new WMSTaskDTO()
+ {
+ TaskNum = task.TaskNum.Value,
+ Grade = 1,
+ PalletCode = task.PalletCode,
+ RoadWay = task.Roadway,
+ SourceAddress = task.SourceAddress,
+ TargetAddress = task.TargetAddress,
+ TaskState = task.TaskState.Value,
+ Id = 0,
+ TaskType = task.TaskType,
+ };
- await _unitOfWorkManage.UseTranAsync(async () =>
- {
- // 娣诲姞浠诲姟鍒版暟鎹簱
- await BaseDal.AddDataAsync(task);
- // 鏇存柊搴撳瓨浣嶇疆鐘舵�佷负涓嶅彲鐢�
- location.LocationStatus = (int)LocationEnum.InStockDisable;
- await _locationRepository.UpdateDataAsync(location);
- });
+ await _unitOfWorkManage.UseTranAsync(async () =>
+ {
+ // 娣诲姞浠诲姟鍒版暟鎹簱
+ await BaseDal.AddDataAsync(task);
+ // 鏇存柊搴撳瓨浣嶇疆鐘舵�佷负涓嶅彲鐢�
+ location.LocationStatus = (int)LocationEnum.InStockDisable;
+ await _locationRepository.UpdateDataAsync(location);
+ });
- content.OK(data: taskDTO);
- }
- else
- content.Error(result.MOMMessage);
+ content.OK(data: taskDTO);
}
+ else
+ content.Error(result.MOMMessage);
}
else
{
@@ -1688,6 +1709,14 @@
var content = new WebResponseContent();
// 鑾峰彇鐩爣鍦板潃鍜屾洿鏂颁换鍔$姸鎬�
+
+
+ input.Position = Regex.Replace(input.Position, @"-(\d+)", "");
+ if (Convert.ToInt32(input.Position) > 1999)
+ {
+ input.Position = (Convert.ToInt32(input.Position) - 1000).ToString();
+ }
+
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
{
// TODO 鏍规嵁宸烽亾鏌ユ壘瀵瑰簲NG鍙o紝鐜板湪榛樿鍘婚潤缃爢鍨涙満鐨勫紓甯稿彛璐т綅鍙�
@@ -1700,7 +1729,7 @@
}
else if (task.TaskType == (int)TaskInboundTypeEnum.InQuality)
{
- var stockInfo = _stockInfoRepository.QueryFirst(x => x.PalletCode == input.PalletCode);
+ var stockInfo = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == input.PalletCode);
task.CurrentAddress = input.Position;
task.TargetAddress = stockInfo.LocationInfo.LocationCode;
task.NextAddress = stockInfo.LocationInfo.LocationCode;
--
Gitblit v1.9.3