using 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_Model.Models; 
 | 
  
 | 
namespace WIDESEA_WMSServer.Controllers.Basic 
 | 
{ 
 | 
    /// <summary> 
 | 
    /// 货位 
 | 
    /// </summary> 
 | 
    [Route("api/LocationInfo")] 
 | 
    [ApiController] 
 | 
    public class LocationInfoController : ApiBaseController<ILocationInfoService, Dt_LocationInfo> 
 | 
    { 
 | 
        private readonly ILocationInfoRepository _repository; 
 | 
        public LocationInfoController(ILocationInfoService service, ILocationInfoRepository repository) : base(service) 
 | 
        { 
 | 
            _repository = repository; 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 初始化货位 
 | 
        /// </summary> 
 | 
        /// <param name="initializationLocationDTO"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, Route("InitializationLocation"), AllowAnonymous] 
 | 
        public WebResponseContent InitializationLocation([FromBody] InitializationLocationDTO initializationLocationDTO) 
 | 
        { 
 | 
            return Service.InitializationLocation(initializationLocationDTO); 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 货位分配 
 | 
        /// </summary> 
 | 
        /// <param name="roadwayNo"></param> 
 | 
        /// <param name="palletType"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, HttpGet, Route("AssignLocation"), AllowAnonymous] 
 | 
        public Dt_LocationInfo? AssignLocation(string roadwayNo, int palletType, int warehouseId) 
 | 
        { 
 | 
            return Service.AssignLocation(roadwayNo, palletType, warehouseId); 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 启用货位 
 | 
        /// </summary> 
 | 
        /// <param name="keys"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, Route("LocationEnableStatus")] 
 | 
        public WebResponseContent LocationEnableStatus([FromBody] int[] keys) 
 | 
        { 
 | 
            return Service.LocationEnableStatus(keys); ; 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 禁用货位 
 | 
        /// </summary> 
 | 
        /// <param name="keys"></param> 
 | 
        /// <returns></returns> 
 | 
        [HttpPost, Route("LocationDisableStatus")] 
 | 
        public WebResponseContent LocationDisableStatus([FromBody] int[] keys) 
 | 
        { 
 | 
            return Service.LocationDisableStatus(keys); ; 
 | 
        } 
 | 
  
 | 
        [HttpPost, Route("UpdateLocationStatus"), AllowAnonymous] 
 | 
        public WebResponseContent UpdateLocationStatus(string locationCode, int palletType, LocationStatusEnum locationStatus, int warehousId) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                Service.UpdateLocationStatus(locationCode, palletType, locationStatus, warehousId); 
 | 
                return WebResponseContent.Instance.OK(); 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                return WebResponseContent.Instance.Error(e.Message); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
} 
 |