| | |
| | | using HslCommunication.WebSocket; |
| | | using HslCommunication.WebSocket; |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | |
| | | /// <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); |
| | | // ä¿æå
¼å®¹æ§æ¥å£ï¼è¿åå··éå表 |
| | | 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> |