From 457b75b642a1fdaa7158e5b047cabc5d7ae16333 Mon Sep 17 00:00:00 2001
From: xxyy <cathay_xy@163.com>
Date: 星期一, 10 三月 2025 10:10:13 +0800
Subject: [PATCH] 修复和优化 Dt_TaskService.cs 中的任务请求逻辑
---
/dev/null | 0
.gitignore | 1
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 247 ------------------------------------------------
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 2
4 files changed, 5 insertions(+), 245 deletions(-)
diff --git a/.gitignore b/.gitignore
index 8fb46bf..b393391 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1687,3 +1687,4 @@
/Code Management/.vs/Code Management/CopilotIndices/17.13.433.20974/SemanticSymbols.db
/Code Management/.vs/Code Management/CopilotIndices/17.13.433.20974/SemanticSymbols.db-shm
/Code Management/.vs/Code Management/CopilotIndices/17.13.433.20974/SemanticSymbols.db-wal
+/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/copilot-chat/bef6627e/sessions/4a99214b-9f9f-4ab7-8ce9-83d07cd22a77
diff --git a/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/copilot-chat/bef6627e/sessions/4a99214b-9f9f-4ab7-8ce9-83d07cd22a77 b/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/copilot-chat/bef6627e/sessions/4a99214b-9f9f-4ab7-8ce9-83d07cd22a77
deleted file mode 100644
index 324b841..0000000
--- a/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/copilot-chat/bef6627e/sessions/4a99214b-9f9f-4ab7-8ce9-83d07cd22a77
+++ /dev/null
Binary files differ
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 7480428..eda759d 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,5 @@
锘縰sing Mapster;
using Masuit.Tools;
-using NewLife.Log;
using SqlSugar;
using System.Text.RegularExpressions;
using WIDESEA_Cache;
@@ -160,7 +159,7 @@
}
}
- private AgingOutputDto MapToAgingOutputDto(DtStockInfo stock, ResponseEqptRunDto info = null)
+ private AgingOutputDto MapToAgingOutputDto(DtStockInfo stock, ResponseEqptRunDto? info = null)
{
// TODO Value鍊兼牴鎹甅OM涓嬪彂鐨勯潤缃椂闂村埌褰撳墠鏃堕棿鐨勫垎閽熸暟
var area = _areaInfoRepository.QueryFirst(x => x.AreaCode == stock.AreaCode);
@@ -546,7 +545,7 @@
{
isFull = respone.SpecialParameterDuration.IsNullOrEmpty();
}
- if (respone.ProductionLine == null || respone.ParameterInfos == null|| respone.ParameterInfos.IsNullOrEmpty())
+ if (respone.ProductionLine == null || respone.ParameterInfos == null || respone.ParameterInfos.IsNullOrEmpty())
{
throw new Exception($"MOM鏁版嵁杩斿洖閿欒,浜х嚎{respone.ProductionLine},ParameterInfos{respone.ParameterInfos}");
}
@@ -630,244 +629,6 @@
#endregion 浠诲姟瀹屾垚
#region 璇锋眰浠诲姟鍏ュ簱
-
- #region
-
- /// <summary>
- /// 璇锋眰浠诲姟宸烽亾
- /// </summary>
- /// <param name="input">璇锋眰妯″瀷</param>
- /// <returns>鍖呭惈浠诲姟淇℃伅鐨勫搷搴斿唴瀹�</returns>
- public async Task<WebResponseContent> RequestTaskAsync2(RequestTaskDto input)
- {
- // 鍒涘缓涓�涓猈ebResponseContent瀵硅薄
- WebResponseContent content = new WebResponseContent();
-
- try
- {
- // 璋冪敤BaseDal.QueryFirstAsync鏂规硶锛屾煡璇换鍔�
- var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode);
- if (task != null)
- {
- //if (task.TaskState == (int)TaskInStatusEnum.InNew)
- {
- // 鍒涘缓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,
- };
- return content.OK(data: taskDTO);
- }
- }
-
- var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == input.PalletCode && x.IsFull);
- if (stock != null)
- {
- // TODO璐ㄦ鍥炲簱
- }
-
- var area = await _areaInfoRepository.QueryFirstAsync(x => x.Spare1.Contains(input.Position));
- if (area == null)
- return content.Error("鏀圭偣浣嶄笉鍦ㄥ尯鍩熷垪琛ㄤ腑瀛樺湪");
-
- // 鍒涘缓涓�涓猅rayCellsStatusDto瀵硅薄锛屽苟璧嬪��
- TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
- {
- Software = area.Spare3,
- TrayBarcode = input.PalletCode,
- EquipmentCode = area.Spare2,
- SceneType = area.Spare4,
- };
-
- // 璋冪敤GetTrayCellStatusAsync鏂规硶锛岃幏鍙栨暣鐩樼數鑺�
- content = await GetTrayCellStatusAsync(trayCells);
- // 濡傛灉鐘舵�佷负false锛屽垯杩斿洖content
- if (!content.Status) return content;
-
- // 娣诲姞缁勭洏淇℃伅
- // 灏哻ontent.Data杞崲涓篟esultTrayCellsStatus瀵硅薄
- var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());
- if (!result.Success)
- return content.Error(result.MOMMessage);
-
- // 鑾峰彇寮傚父鐢佃姱
- List<SerialNoDto>? serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();
- if (serialNosError.Count > 0)
- {
- // TODO 鍒涘缓浠诲姟閫佽嚦NG鎺掑嚭鍙�
- var efg = _stationManagerRepository.QueryData(x => x.stationType == 1 && x.stationChildCode == input.Position && x.stationArea == area.AreaCode).ToList();
- //List<string> NGStation = input.Position == "1088" ? new List<string>() { "1020" } : new List<string>() { "JZSC01" };
- if (efg.Count <= 0)
- {
- throw new Exception("鏈壘鍒癗G鍏ュ簱绔欏彴閰嶇疆");
- }
- List<string> NGStation = efg.Select(x => x.stationNGLocation).ToList();
- if (NGStation.Count <= 0)
- {
- NGStation = efg.Select(x => x.stationNGChildCode).ToList();
- }
- content = await CreateNewTask(input, result.ProductionLine, result.ProcessCode, NGStation, 2);
- return content.Error("瀛樺湪寮傚父鐢佃姱");
- }
-
- if (result.SerialNos.Count <= 0)
- {
- // Todo 绌烘墭鐩樺叆搴撻�昏緫
- content = await RequestTrayInTaskAsync(input);
- return content;
- }
-
- var boxing = CreateBoxingInfo(result, input.PalletCode);
- //Console.WriteLine(boxing.ToJsonString());
- if (boxing == null) return content.Error("缁勭洏澶辫触");
-
- if (result.ProcessCode == "OCVB")
- {
- //TODO 鍒ゆ柇闇�涓嶉渶瑕佸幓鍖呰锛屼笉闇�瑕佸氨鍘诲父娓╀笁
- var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache");
- var station = stationManagers.Select(x => x.stationChildCode).ToList();
-
- // 鑾峰彇WCSip鍦板潃
- var configz = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
- var wcsBasez = configz.Where(x => x.ConfigKey == SysConfigConst.WCSIPAddress).FirstOrDefault()?.ConfigValue;
- var address = configz.Where(x => x.ConfigKey == SysConfigConst.GetStation).FirstOrDefault()?.ConfigValue;
- if (wcsBasez == null || address == null)
- {
- throw new InvalidOperationException("WCS IP 鏈厤缃�");
- }
- var wcsIpAddrss = wcsBasez + address;
-
- var abc = HttpHelper.PostAsync(wcsIpAddrss, station.ToJsonString()).Result;
- content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
- if (content.Data.ObjToInt() > 0)
- {
- // TODO 閫佽嚦鍖呰
- List<string> strings = stationManagers.Where(x => x.stationType == 0).Select(x => x.Roadway).ToList();
- content = await CreateNewTask(input, result.ProductionLine, result.ProcessCode, strings, 3);
- return content;
- }
- else
- {
- var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
- var strings = config.ConfigValue.Split(',').ToList();
- // TODO 鍏ュ簱
- content = await CreateNewTask(input, result.ProductionLine, result.ProcessCode, strings);
- if (content.Status)
- await _boxingInfoRepository.AddDataNavAsync(boxing);
- }
- }
- else
- {
- // TODO 鑾峰彇鏈湴鏂欐灞炴�т笌鏁寸洏鐢佃姱灞炴�ц幏鍙栫殑鍊艰繘琛屽姣旓紝濡傛灉涓�鑷村垯缁х画锛屽惁鍒欒繑鍥為敊璇俊鎭�
- //var productions = await _productionRepository.QueryDataAsync(x => result.TrayBarcodePropertys.Select(x => x.TrayBarcodeProperty).ToList().Contains(x.TrayBarcodeProperty));
- //if (productions.Count <= 0)
- // return content.Error("鏂欐灞炴�т笉瀛樺湪");
-
- // 璋冪敤CreateBoxingInfo鏂规硶锛屽垱寤虹粍鐩樹俊鎭�
-
- //var boxing = CreateBoxingInfo(result, input.PalletCode);
- ////Console.WriteLine(boxing.ToJsonString());
- //if (boxing == null) return content.Error("缁勭洏澶辫触");
-
- // 璋冪敤GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹鸿矾绾�
- ProcessApplyDto process = await GetProcessApplyAsync(result);
-
- // 濡傛灉process涓簄ull锛屽垯杩斿洖content
- if (process == null) return content;
-
- // 骞惰祴鍊间笂浣嶈蒋浠跺悕绉板拰璁惧缂栫爜
- process.Software = area.Spare3;
- process.EquipmentCode = area.Spare2;
-
- // 璋冪敤GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹虹敵璇�
-
- // 璋冪敤_processApplyService.GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹虹敵璇�
- content = await _processApplyService.GetProcessApplyAsync(process);
-
- // 濡傛灉鐘舵�佷负false锛屽垯杩斿洖null
- if (!content.Status) return content.Error("宸ヨ壓鐢宠澶辫触");
-
- var resultProcessApply = JsonConvert.DeserializeObject<ResultProcessApply>(content.Data.ToString());
- if (!resultProcessApply.Success) return content.Error("宸ヨ壓鐢宠澶辫触");
-
- var number = resultProcessApply.ProcessInfo.Where(x => x.ProcessCode == boxing.ProcessCode).FirstOrDefault().Number.ToInt32();
- foreach (var item in resultProcessApply.ProcessInfo)
- {
- if (item.Number.ToInt32() == number + 1)
- {
- boxing.NextProcessCode = item.ProcessCode;
- }
- }
- Console.WriteLine();
- Console.WriteLine($"褰撳墠宸ュ簭锛歿boxing.ProcessCode}");
- Console.WriteLine($"涓嬩竴宸ュ簭锛歿boxing.NextProcessCode}");
-
- Console.WriteLine(area.AreaCode + "-----------------------");
- Console.WriteLine(input.Position + "-----------------------");
-
- var areaIn = string.Empty;
- switch (boxing.NextProcessCode)
- {
- case "CH01":
- areaIn = "CH001";
- break;
-
- case "JZ01":
- areaIn = "JZ001";
- break;
-
- case "GW01":
- areaIn = "GWSC1";
- break;
-
- case "CW01":
- areaIn = "CWSC1";
- break;
-
- case "CW02":
- areaIn = "CWSC2";
- break;
-
- default:
- break;
- }
-
- var stationManagers = _stationManagerRepository.QueryData(x => x.stationType == 1 && x.stationChildCode == input.Position && x.stationArea.Contains(areaIn)).FirstOrDefault();
- if (stationManagers == null)
- {
- throw new Exception("鏈壘鍒板叆搴撶珯鍙伴厤缃�");
- }
- List<string> strings = stationManagers.Roadway.Split(',').ToList();
- Console.WriteLine(strings.ToJsonString() + "b-----------------------");
- //// 璋冪敤CreateNewTask鏂规硶锛屽垱寤烘柊浠诲姟
- content = await CreateNewTask(input, result.ProductionLine, result.ProcessCode, strings);
- if (content.Status)
- {
- var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
- }
- //}
- }
- }
- catch (Exception err)
- {
- // 濡傛灉鍙戠敓寮傚父锛屽垯璋冪敤content.Error鏂规硶锛岃褰曢敊璇俊鎭紝骞惰緭鍑洪敊璇俊鎭�
- content.Error(err.Message);
- Console.WriteLine(err.Message);
- }
-
- // 杩斿洖content
- return content;
- }
-
- #endregion 璇锋眰浠诲姟鍏ュ簱
public async Task<WebResponseContent> RequestTaskAsync(RequestTaskDto input)
{
@@ -1115,7 +876,7 @@
};
}
- #endregion 澶栭儴鎺ュ彛鏂规硶
+ #endregion 璇锋眰浠诲姟鍏ュ簱
#region 璇锋眰鍑哄簱锛堝疄鐩�&绌虹洏锛�
@@ -1848,7 +1609,7 @@
}
}
- #endregion 闈欑疆寮傚父鍙e叆搴�
+ #endregion 澶栭儴鎺ュ彛鏂规硶
#endregion 澶栭儴鎺ュ彛鏂规硶
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 2a3c296..528d7af 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,8 +1,6 @@
锘縰sing Masuit.Tools;
using SqlSugar;
using WIDESEA_Common.CustomModels;
-
-//using WIDESEA_Common.CustomModels;
using WIDESEA_Core.Const;
using WIDESEA_DTO.MOM;
using WIDESEA_DTO.WMS;
--
Gitblit v1.9.3