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<Dt_WheelsStock, IDt_WheelsStockRepository>, 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;
|
}
|
|
/// <summary>
|
/// 批量删除
|
/// </summary>
|
/// <param name="keys"></param>
|
/// <returns></returns>
|
public override WebResponseContent DeleteData(object[] keys)
|
{
|
try
|
{
|
List<Dt_WheelsStock_hty> stockInfos = new List<Dt_WheelsStock_hty>();
|
List<DtLocationInfo> locationInfos = new List<DtLocationInfo>();
|
foreach (var item in keys)
|
{
|
var stock = BaseDal.QueryFirstNavAsync(x => x.Wheels_ID == item.ObjToInt()).Result;
|
|
var stockHty = stock.Adapt<Dt_WheelsStock_hty>();
|
stockHty.FinishWheelDate = DateTime.Now;
|
stockHty.OperateType = (int)OperateTypeEnum.人工删除;
|
_WheelsStock_HtyRepository.AddData(stockHty);
|
|
var location = SqlSugarHelper.DbWMS.Queryable<DtLocationInfo>().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<Dt_WheelsStock> 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();
|
}
|
}
|