//using SqlSugar.Extensions; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core.BaseServices; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_DTO.Stock; using WIDESEA_IStockRepository; using WIDESEA_IStockService; using WIDESEA_Model.Models; namespace WIDESEA_StockService { public partial class StockInfoDetailService : ServiceBase, IStockInfoDetailService { public bool ExistSerialNumber(string SerialNumber) { return BaseDal.QueryFirst(x => x.SerialNumber == SerialNumber) != null; } public bool ExistSerialNumbers(List SerialNumbers) { return BaseDal.QueryFirst(x => SerialNumbers.Contains(x.SerialNumber)) != null; } /// /// 根据批次号和单据号获取库存明细信息 /// /// 订单号 /// 批次号 /// public Dt_StockInfoDetail? Get_StockInfoDetail(string OrderNo, string BatchNo = null) { Dt_StockInfoDetail? stockInfoDetail = null; if (BatchNo != null) { stockInfoDetail = BaseDal.QueryData(x => x.OrderNo == OrderNo && x.BatchNo.Contains(BatchNo) && (x.Status == StockStatusEmun.入库中.ObjToInt() || x.Status == StockStatusEmun.已入库.ObjToInt())).OrderByDescending(x => x.ModifyDate).FirstOrDefault(); } else { stockInfoDetail = BaseDal.QueryData(x => x.OrderNo == OrderNo && (x.Status == StockStatusEmun.入库中.ObjToInt() || x.Status == StockStatusEmun.已入库.ObjToInt())).OrderByDescending(x => x.ModifyDate).FirstOrDefault(); } return stockInfoDetail; } /// /// 获取指定库存 /// /// /// public List GetStockInfosByBatchNoCodes(List stockSelectViews) { List stockInfoDetails = new List(); foreach (var item in stockSelectViews) { var stockSelectView = BaseDal.QueryData(x => x.BatchNo == item.BatchNo && x.MaterielCode == item.MaterielCode); if (stockSelectView.Count > 0) stockInfoDetails.AddRange(stockSelectView); } return stockInfoDetails; } public List GetStockInfosByBatchNoCodes() { List stockInfoDetails = new List(); return stockInfoDetails; } public List Get_StockInfoDetails(string OrderNo, string BatchNo = null) { List stockInfoDetails = null; if (BatchNo != null) { stockInfoDetails = BaseDal.QueryData(x => x.OrderNo == OrderNo && x.BatchNo == BatchNo && (x.Status == StockStatusEmun.入库中.ObjToInt() || x.Status == StockStatusEmun.已入库.ObjToInt())); } else { stockInfoDetails = BaseDal.QueryData(x => x.OrderNo == OrderNo && (x.Status == StockStatusEmun.入库中.ObjToInt() || x.Status == StockStatusEmun.已入库.ObjToInt())); } return stockInfoDetails; } } }