1
wankeda
2026-03-02 600f659aa5cbfc0cca52d883f4299cbb8dd66dcd
WMS/WIDESEA_WMSServer/WIDESEA_StockRepository/StockInfoRepository.cs
@@ -1,11 +1,15 @@
using Org.BouncyCastle.Crypto;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Org.BouncyCastle.Crypto;
using SqlSugar;
using SqlSugar.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.Enums;
using WIDESEA_DTO.Stock;
@@ -28,6 +32,7 @@
            return sugarQueryable.InnerJoin(sugarQueryable1, (a, b) => a.LocationCode == b.LocationCode).Select((a, b) => new StockViewDTO
            {
                WarehouseId = a.WarehouseId,
                AreaId = a.AreaId,
                LocationCode = b.LocationCode,
                Column = a.Column,
@@ -130,5 +135,53 @@
            return Db.Queryable<Dt_StockInfo>().Where(x => x.StockStatus == StockStatusEmun.已入库.ObjToInt() && SqlFunc.Subqueryable<Dt_LocationInfo>().Where(v => v.LocationCode == x.LocationCode && v.RoadwayNo == roadwayNo && v.LocationStatus == LocationStatusEnum.Pallet.ObjToInt() && (v.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt() || EnableStatusEnum.Normal.ObjToInt() == v.EnableStatus)).Any()).OrderBy(x => x.ModifyDate).First();
        }
        public WebResponseContent GetStockDetails(SaveModel saveModel)
        {
            WebResponseContent responseContent = new WebResponseContent();
            try
            {
                var palletCode = saveModel.MainData["palletCode"].ToString();
                Dt_StockInfo stockInfo = Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
                return responseContent = WebResponseContent.Instance.OK(data: stockInfo.Details);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public WebResponseContent UpdateGetStockDetails(SaveModel saveModel)
        {
            WebResponseContent responseContent = new WebResponseContent();
            try
            {
                var palletCode = saveModel.MainData["palletCode"].ToString();
                var detailsJson = saveModel.MainData["details"];
                JArray jArray = saveModel.MainData["details"] as JArray;
                if (jArray == null)
                {
                    responseContent.Message = "details不是有效的数组格式";
                    return responseContent;
                }
                // 转换为 List<string>
                List<string> details = jArray.Select(x => x?.ToString()).ToList();
                foreach (var item in details)
                {
                    //var stockdetailbox = BaseDal.Db.Queryable<Dt_StockInfo>().LeftJoin<Dt_StockInfoDetail>((s, d) => s.Id == d.StockId).LeftJoin<Dt_StockInfoDetailCP>((s, d, cp) => d.Id == cp.StockDetailId).Where((s, d, cp) => allBoxCodes.Contains(cp.BoxCode)).Select((s, d, cp) => cp.BoxCode)
                    // .Distinct()
                    // .ToList();
                }
                return null;
            }
            catch (Exception)
            {
                throw;
            }
        }
    }
}