From d845312bb27972771b566054a906cc25af83e209 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 26 五月 2025 17:32:07 +0800
Subject: [PATCH] 添加货位排图功能
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoRowController.cs | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 111 insertions(+), 0 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoRowController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoRowController.cs"
new file mode 100644
index 0000000..6e016f9
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoRowController.cs"
@@ -0,0 +1,111 @@
+锘縰sing HslCommunication.WebSocket;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using System.Collections.Generic;
+using WIDESEA_Common.CommonEnum;
+using WIDESEA_Common.LocationEnum;
+using WIDESEA_Core;
+using WIDESEA_Core.BaseController;
+using WIDESEA_Core.Enums;
+using WIDESEA_DTO.Basic;
+using WIDESEA_IBasicRepository;
+using WIDESEA_IBasicService;
+using WIDESEA_ISystemRepository;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_WMSServer.Controllers.Basic
+{
+ /// <summary>
+ /// 璐т綅
+ /// </summary>
+ [Route("api/LocationInfoRow")]
+ [ApiController]
+ public class LocationInfoRowController : ApiBaseController<ILocationInfoService, Dt_LocationInfo>
+ {
+ private readonly ILocationInfoRepository _repository;
+ private readonly ISys_RoleDataPermissionRepository _permissionRepository;
+ private readonly ILocationInfoRepository _locationInfoRepository;
+ public LocationInfoRowController(ILocationInfoService service, ILocationInfoRepository repository, ISys_RoleDataPermissionRepository permissionRepository, ILocationInfoRepository locationInfoRepository) : base(service)
+ {
+ _repository = repository;
+ _permissionRepository = permissionRepository;
+ _locationInfoRepository = locationInfoRepository;
+ }
+ /// <summary>
+ /// 鑾峰彇搴撳尯鏉冮檺
+ /// </summary>
+ /// <returns></returns>
+ [HttpGet, HttpPost, Route("GetArea"), AllowAnonymous]
+ public object GetArea()
+ {
+ List<object> list = new List<object>();
+ List<Dt_LocationInfo>? locations = null;
+ List<Sys_RoleDataPermission> permissions = _permissionRepository.QueryData(x => x.RoleId == App.User.RoleId);
+ if (permissions.Count > 0)
+ locations = _locationInfoRepository.QueryData(x => permissions.Select(k => k.WarehouseId).ToList().Contains(x.WarehouseId));
+ foreach (var permission in permissions)
+ {
+ var Rows = locations.Where(x => x.WarehouseId == permission.WarehouseId).GroupBy(x => x.Row).Select(x => x.Key).OrderBy(x => x).ToList();
+ var obj = new
+ {
+ house_name = permission.WarehouseName,
+ shelf_code = permission.WarehouseId,
+ tunnel = Rows
+ };
+ list.Add(obj);
+ }
+ return list;
+ }
+ /// <summary>
+ /// 鑾峰彇璐т綅淇℃伅
+ /// </summary>
+ /// <param name="area"></param>
+ /// <returns></returns>
+ [HttpPost, Route("GetLocationStatu"), AllowAnonymous]
+ public object GetLocationStatu([FromBody] LocationArea area)
+ {
+ List<LocationLayer> layers = new List<LocationLayer>();
+ var data = _locationInfoRepository.QueryData(x => x.WarehouseId == area.shelf_code && x.Row == area.tunnel);
+ foreach (var layer in data.GroupBy(t => t.Layer))
+ {
+ var rows = new List<LocationRow>();
+ var data_rows = layer.GroupBy(t => t.Row);
+ foreach (var data_row in data_rows)
+ {
+ var cols = new List<LocationCol>();
+ foreach (var data_col in data_row)
+ {
+ cols.Add(new LocationCol()
+ {
+ //鍒�
+ row = data_col.Row,
+ layer = data_col.Layer,
+ index = data_col.Column,
+ locationCode = data_col.LocationCode,
+ location_state = data_col.LocationStatus,
+ location_lock = data_col.EnableStatus,
+ remark = data_col.Remark
+ });
+ }
+ cols = cols.OrderBy(t => t.index).ToList();
+ rows.Add(new LocationRow()
+ {
+ //琛�
+ index = data_row.Key,
+ cols = cols
+ });
+ }
+ rows = rows.OrderBy(t => t.index).ToList();
+ layers.Add(new LocationLayer()
+ {
+ //灞�
+ index = layer.Key,
+ rows = rows
+ });
+ }
+ layers = layers.OrderBy(t => t.index).ToList();
+ return layers;
+ }
+ }
+}
--
Gitblit v1.9.3