From a29bf360f42cc3c6942a0ef6604f0ac84ab54a7c Mon Sep 17 00:00:00 2001
From: liulijun <liulijun@hnkhzn.com>
Date: 星期四, 19 三月 2026 17:19:36 +0800
Subject: [PATCH] 修复老厂排程在没生成任务就不更新缺料状态的问题,按照要求修改库位平面图
---
项目代码/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs | 111 +++++++++++++++++++++++++++++++------------------------
1 files changed, 63 insertions(+), 48 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs"
index 40d503e..b56f0c3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs"
@@ -1,4 +1,4 @@
-锘縰sing HslCommunication.WebSocket;
+using HslCommunication.WebSocket;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
@@ -90,69 +90,84 @@
/// <summary>
/// 鏌ヨ鏉′欢璐т綅
/// </summary>
- /// <param name="row"></param>
+ /// <param name="roadwayNo"></param>
/// <param name="warehouseId"></param>
/// <returns></returns>
[HttpPost, HttpGet, Route("GetLocationStatus")]
- public WebResponseContent GetLocationStatus(int row, int warehouseId = 0)
+ public WebResponseContent GetLocationStatus(string roadwayNo, int warehouseId = 0)
{
- List<int> layers;
- if (warehouseId == 0)
+ // 瀹氫箟杩斿洖鏁版嵁缁撴瀯
+ var result = new
{
- layers = _repository.QueryData(x => x.Row == row).Select(x => x.Layer).Distinct().ToList();
- }
- else
+ row1 = new List<object>(), // 宸烽亾绗�1鎺掞紙涓滈潰锛�
+ row2 = new List<object>() // 宸烽亾绗�2鎺掞紙瑗块潰锛�
+ };
+
+ // 鏌ヨ宸烽亾涓嬫墍鏈夎揣浣�
+ var locations = _repository.QueryData(x => x.RoadwayNo == roadwayNo);
+
+ // 鑾峰彇鎵�鏈夊眰锛屾寜浠庨珮鍒颁綆鎺掑簭
+ var layers = locations.Select(x => x.Layer).Distinct().OrderByDescending(x => x).ToList();
+
+ // 澶勭悊姣忎竴灞�
+ foreach (var layer in layers)
{
- layers = _repository.QueryData(x => x.Row == row && x.WarehouseId == warehouseId).Select(x => x.Layer).Distinct().ToList();
- }
-
- List<object> listObj = new List<object>();
- foreach (var item in layers)
- {
- object locationObj;
- if (warehouseId == 0)
- {
- locationObj = _repository.QueryData(x => x.Row == row && x.Layer == item)
- .OrderBy(x => x.Columns)
- .Select(x => new
- {
- layer = x.Layer.ToString().PadLeft(2, '0'),
- row = x.Row.ToString().PadLeft(2, '0'),
- column = x.Columns.ToString().PadLeft(2, '0'),
- locationCode = x.LocationCode,
- location_lock = x.LocationStatus
- }).ToList();
- }
- else
- {
- locationObj = _repository.QueryData(x => x.Row == row && x.Layer == item && x.WarehouseId == warehouseId)
- .OrderBy(x => x.Columns)
- .Select(x => new
- {
- layer = x.Layer.ToString().PadLeft(2, '0'),
- row = x.Row.ToString().PadLeft(2, '0'),
- column = x.Columns.ToString().PadLeft(2, '0'),
- locationCode = x.LocationCode,
- location_lock = x.LocationStatus
- }).ToList();
- }
-
- object obj = new { layer = item, locationObj };
- listObj.Add(obj);
+ // 鑾峰彇褰撳墠灞傜殑璐т綅
+ var layerLocations = locations.Where(x => x.Layer == layer);
+
+ // 绗�1鎺掓暟鎹紙涓滈潰锛�
+ var row1Locations = layerLocations.Where(x => x.Row == 1)
+ .OrderBy(x => x.Columns)
+ .Select(x => new
+ {
+ layer = x.Layer.ToString().PadLeft(2, '0'),
+ row = x.Row.ToString().PadLeft(2, '0'),
+ column = x.Columns.ToString().PadLeft(2, '0'),
+ locationCode = x.LocationCode,
+ location_lock = x.LocationStatus
+ }).ToList();
+
+ // 绗�2鎺掓暟鎹紙瑗块潰锛�
+ var row2Locations = layerLocations.Where(x => x.Row == 2)
+ .OrderBy(x => x.Columns)
+ .Select(x => new
+ {
+ layer = x.Layer.ToString().PadLeft(2, '0'),
+ row = x.Row.ToString().PadLeft(2, '0'),
+ column = x.Columns.ToString().PadLeft(2, '0'),
+ locationCode = x.LocationCode,
+ location_lock = x.LocationStatus
+ }).ToList();
+
+ // 娣诲姞鍒扮粨鏋滀腑
+ result.row1.Add(new { layer, locationObj = row1Locations });
+ result.row2.Add(new { layer, locationObj = row2Locations });
}
- return WebResponseContent.Instance.OK("鎴愬姛", listObj);
+ return WebResponseContent.Instance.OK("鎴愬姛", result);
}
/// <summary>
- /// 鏌ヨ鍏ㄩ儴璐т綅
+ /// 鏌ヨ鍏ㄩ儴宸烽亾
/// </summary>
/// <returns></returns>
[HttpPost, HttpGet, Route("GetRow")]
public WebResponseContent GetRow()
{
- List<int> listRow = _repository.QueryData().Select(x => x.Row).Distinct().ToList();
- return WebResponseContent.Instance.OK("鎴愬姛", listRow);
+ // 淇濇寔鍏煎鏃ф帴鍙o紝杩斿洖宸烽亾鍒楄〃
+ List<string> roadwayList = _repository.QueryData().Select(x => x.RoadwayNo).Distinct().ToList();
+ return WebResponseContent.Instance.OK("鎴愬姛", roadwayList);
+ }
+
+ /// <summary>
+ /// 鏌ヨ鍏ㄩ儴宸烽亾
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("GetRoadway")]
+ public WebResponseContent GetRoadway()
+ {
+ List<string> roadwayList = _repository.QueryData().Select(x => x.RoadwayNo).Distinct().ToList();
+ return WebResponseContent.Instance.OK("鎴愬姛", roadwayList);
}
/// <summary>
--
Gitblit v1.9.3