刘磊
昨天 1c7d84d153f22148c7c8dbf80aa646edb0c53648
ÏîÄ¿´úÂë/WMS/WMSServer/WIDESEA_StorageBasicServices/BasicInfo/Dt_BDCConfigurationService.cs
@@ -30,12 +30,17 @@
            return currentConfig;
        }
        public override WebResponseContent UpdateData(SaveModel saveModel)
        {
            return base.UpdateData(saveModel);
        }
        public async Task<Dt_BDCConfiguration> UpdateConfiguration(int maxWhiteBody, int maxPaintedBody,
           int maxBatteryCase, int maxEmptySled, string updatedBy)
       int maxBatteryCase, int maxEmptySled)
        {
            // ç¦ç”¨å½“前配置
            var currentConfigs = await BaseDal.QueryDataAsync(c => c.IsActive == 1);
            currentConfigs.ForEach(c => c.IsActive = 2);
            // åˆ›å»ºæ–°é…ç½®
@@ -46,7 +51,7 @@
                MaxBatteryCaseCache = maxBatteryCase,
                MaxEmptySledCache = maxEmptySled,
                LastUpdatedTime = DateTime.Now,
                UpdatedBy = updatedBy,
                UpdatedBy = App.User.UserName,
                IsActive = 1
            };
@@ -55,10 +60,14 @@
            return newConfig;
        }
        /// <summary>
        /// ç™½è½¦èº«æ˜¯å¦å¯å…¥åº“
        /// </summary>
        /// <returns></returns>
        public async Task<bool> CanAddWhiteBody()
        {
            var config = await GetCurrentConfiguration();
            var currentCount =  GetWhiteBodyCount();
            var currentCount = GetWhiteBodyCount();
            // é¢„ç•™5%的缓冲空间
            var threshold = (int)(config.MaxWhiteBodyCache * 0.95);
@@ -68,39 +77,54 @@
        public async Task<bool> CanAddPaintedBody()
        {
            var config = await GetCurrentConfiguration();
            var currentCount =  GetPaintedBodyCount();
            var currentCount = GetPaintedBodyCount();
            // é¢„ç•™5%的缓冲空间
            var threshold = (int)(config.MaxPaintedBodyCache * 0.95);
            return currentCount < threshold;
        }
        public async Task<bool> CanAddEmptySled()
        {
            var config = await GetCurrentConfiguration();
            var currentCount =  GetEmptySledCount();
            var currentCount = GetEmptySledCount();
            // é¢„ç•™5%的缓冲空间
            var threshold = (int)(config.MaxEmptySledCache * 0.95);
            return currentCount < threshold;
        }
        /// <summary>
        /// ç™½è½¦èº«åº“存数量
        /// </summary>
        /// <returns></returns>
        public int GetWhiteBodyCount()
        {
            return _palletStockInfoRepository.QueryData(b => b.CarType == (int)BodyType.WhiteBody && b.StockStatus == (int)BodyStatus.InBDC).Count;
        }
        /// <summary>
        /// å½©è½¦èº«åº“存数量
        /// </summary>
        /// <returns></returns>
        public int GetPaintedBodyCount()
        {
            return  _palletStockInfoRepository.QueryData(b => b.CarType == (int)BodyType.PaintedBody && b.StockStatus == (int)BodyStatus.InBDC).Count;
            return _palletStockInfoRepository.QueryData(b => b.CarType == (int)BodyType.PaintedBody && b.StockStatus == (int)BodyStatus.InBDC).Count;
        }
        /// <summary>
        /// ç”µæ± å£³åº“存数量
        /// </summary>
        /// <returns></returns>
        public int GetBatteryCaseCount()
        {
            return _palletStockInfoRepository.QueryData(b => b.StockStatus == (int)BodyStatus.InBDC).Count;
        }
        /// <summary>
        /// ç©ºæ»‘橇库存数量
        /// </summary>
        /// <returns></returns>
        public int GetEmptySledCount()
        {
            return _palletStockInfoRepository.QueryData(s => s.StockStatus == (int)BodyStatus.InBDC).Count;