using AngleSharp.Dom; using Mapster; using Masuit.Tools; using SqlSugar; using System.Collections.Generic; using System.Drawing.Printing; using System.Linq.Expressions; using WIDESEA_Common; using WIDESEA_Core; using WIDESEA_StorageBasicRepository; using WIDESEAWCS_BasicInfoRepository; namespace WIDESEA_StorageBasicService; public class Dt_WheelsStockService : ServiceBase, IDt_WheelsStockService { private readonly IDt_WheelsStock_htyRepository _WheelsStock_HtyRepository; private readonly IDt_SelectionStandardsRepository _SelectionStandardsRepository; public Dt_WheelsStockService(IDt_WheelsStockRepository BaseDal, IDt_WheelsStock_htyRepository WheelsStock_HtyRepository, IDt_SelectionStandardsRepository selectionStandardsRepository) : base(BaseDal) { _SelectionStandardsRepository = selectionStandardsRepository; _WheelsStock_HtyRepository = WheelsStock_HtyRepository; } /// /// 批量删除 /// /// /// public override WebResponseContent DeleteData(object[] keys) { try { List stockInfos = new List(); List locationInfos = new List(); foreach (var item in keys) { var stock = BaseDal.QueryFirstNavAsync(x => x.Wheels_ID == item.ObjToInt()).Result; var stockHty = stock.Adapt(); stockHty.FinishWheelDate = DateTime.Now; stockHty.OperateType = (int)OperateTypeEnum.人工删除; _WheelsStock_HtyRepository.AddData(stockHty); var location = SqlSugarHelper.DbWMS.Queryable().FirstAsync(x => x.LocationCode == stock.Wheels_Location).Result; location.LocationStatus = (int)LocationEnum.Free; locationInfos.Add(location); } var locationd = SqlSugarHelper.DbWMS.Updateable(locationInfos).ExecuteCommandHasChange(); return base.DeleteData(keys); } catch (Exception ex) { return WebResponseContent.Instance.Error(ex.Message); } } public Dt_WheelsStock GetSelectionWheelsStock(List WheelsList, Dt_SelectionStandards selectionStandards, Dt_CZInfo_mes CZInfo_Mes, string wheelsPosition, string newOrOld) { //过盈量上限 decimal selectionUpperValue = selectionStandards.upperValue; //过盈量下限 decimal selectionLowerValue = selectionStandards.lowerValue; decimal mesStand = 0; string level = string.Empty; if ("left".Equals(wheelsPosition)) //匹配左轮座轮子 { mesStand = decimal.Parse(CZInfo_Mes.ZLZZJ); level = LevelChangeHelper.LevelChangeType(CZInfo_Mes.ZLZDJ); WheelsList = WheelsList.Where(x => mesStand - (decimal.Parse(x.Wheels_gkcc)) >= selectionLowerValue && mesStand - (decimal.Parse(x.Wheels_gkcc)) <= selectionUpperValue && x.Wheels_level == level && x.Wheels_NewOrOld == newOrOld).ToList(); } else //否则匹配右轮座轮子 { mesStand = decimal.Parse(CZInfo_Mes.YLZZJ); level = LevelChangeHelper.LevelChangeType(CZInfo_Mes.YLZDJ); WheelsList = WheelsList.Where(x => mesStand - (decimal.Parse(x.Wheels_gkcc)) >= selectionLowerValue && mesStand - (decimal.Parse(x.Wheels_gkcc)) <= selectionUpperValue && x.Wheels_level == level && x.Wheels_NewOrOld == newOrOld).ToList(); } if (selectionStandards.isCantainGK) { //截面过盈量上限 decimal selectionUpperValue_gk = selectionStandards.upperValue_gk; //截面过盈量下限 decimal selectionLowerValue_gk = selectionStandards.lowerValue_gk; if ("left".Equals(wheelsPosition)) { decimal ZLZA = decimal.Parse(CZInfo_Mes.ZLZA); decimal ZLZB = decimal.Parse(CZInfo_Mes.ZLZB); decimal ZLZC = decimal.Parse(CZInfo_Mes.ZLZC); WheelsList = WheelsList.Where(x => ZLZA - (decimal.Parse(x.Wheels_gkzja)) >= selectionLowerValue_gk && ZLZA - (decimal.Parse(x.Wheels_gkzja)) <= selectionUpperValue_gk && ZLZB - (decimal.Parse(x.Wheels_gkzjb)) >= selectionLowerValue_gk && ZLZB - (decimal.Parse(x.Wheels_gkzjb)) <= selectionUpperValue_gk && ZLZC - (decimal.Parse(x.Wheels_gkzjc)) >= selectionLowerValue_gk && ZLZC - (decimal.Parse(x.Wheels_gkzjc)) <= selectionUpperValue_gk ).ToList(); } else { decimal YLZA = decimal.Parse(CZInfo_Mes.YLZA); decimal YLZB = decimal.Parse(CZInfo_Mes.YLZB); decimal YLZC = decimal.Parse(CZInfo_Mes.YLZC); WheelsList = WheelsList.Where(x => YLZA - (decimal.Parse(x.Wheels_gkzja)) >= selectionLowerValue_gk && YLZA - (decimal.Parse(x.Wheels_gkzja)) <= selectionUpperValue_gk && YLZB - (decimal.Parse(x.Wheels_gkzjb)) >= selectionLowerValue_gk && YLZB - (decimal.Parse(x.Wheels_gkzjb)) <= selectionUpperValue_gk && YLZC - (decimal.Parse(x.Wheels_gkzjc)) >= selectionLowerValue_gk && YLZC - (decimal.Parse(x.Wheels_gkzjc)) <= selectionUpperValue_gk ).ToList(); } } return WheelsList.OrderBy(x => x.CreateDate).FirstOrDefault(); } }