using Masuit.Tools;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_DTO;
using WIDESEA_IBusinessesRepository;
using WIDESEA_Repository;
namespace WIDESEA_StoragIntegrationServices
{
    public partial class MCSService
    {
        /// 
        /// 获取库位信息
        /// 
        /// 
        /// 
        public object RequsetCellInfo(object json)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                if (string.IsNullOrEmpty(json.ToString())) throw new Exception("上传参数为空");
                //var result = JsonConvert.DeserializeObject(json.ToString());
                ////var area = _areaInfoRepository.QueryFirst(x => x.AreaID == result.LocationArea);
                //var location = _locationRepository.QueryFirst(x => x.LocationCode == result.LocationID && x.AreaId == result.LocationArea);
                //if (location != null)
                //{
                //    throw new Exception("请求异常:未知库位");
                //}
                //var info = _stockInfoRepository.QueryFirst(x => x.LocationCode == result.LocationID && x.LocationId == location.Id);
                var result = JsonConvert.DeserializeObject(json.ToString());
                var area = _areaInfoRepository.QueryFirst(x => x.AreaID == result.LocationArea);
                var info = _stockInfoRepository.QueryFirst(x => x.LocationCode == result.LocationID && x.AreaCode == area.AreaCode);
                //todo
                if (info != null)
                {
                    LogFactory.GetLog("分容获取库位托盘").Info(true, $"\r\r--------------------------------------");
                    LogFactory.GetLog("分容获取库位托盘").Info(true, result.ToJsonString());
                    return new { code = 1, palletBarcode = info.PalletCode };
                }
                else
                {
                    return new { code = 0, palletBarcode = "", message = "库位无库存记录" };
                }
            }
            catch (Exception ex)
            {
                return new { code = 0, palletBarcode = "", message = ex.Message };
            }
        }
    }
}