| | |
| | | using System.ComponentModel.Design; |
| | | using System.Linq; |
| | | using System.Linq.Expressions; |
| | | using System.Net; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Microsoft.AspNetCore.Identity; |
| | |
| | | throw Oops.Bah($"未找到{crNo}盘点单信息"); |
| | | } |
| | | //所有要出库的盘点明细信息(等待的信息和待拣货的信息) |
| | | var funSetting = Db.Queryable<SysFunSetting>().First(a => a.IsDel == "0" && a.FunSetNo == "InventoryCheckMethod"); |
| | | if (funSetting == null || funSetting.IsEnable == "OFF") |
| | | { |
| | | throw Oops.Bah("需配置盘点方式"); |
| | | } |
| | | var list = await Db.Queryable<BllStockCheckDetail>().Where(a => a.IsDel == "0" && a.CRNo == crNo && a.Status == 0).ToListAsync(); |
| | | if (list.Count == 0) //判断是否有需要下发的盘点明细 |
| | | { |
| | | throw Oops.Bah("当前盘点单据无需要下发的托盘"); |
| | | } |
| | | if (funSetting.SetValue == "once") |
| | | { |
| | | if (list.Any(s => s.Status == 1 || s.Status == 2)) |
| | | { |
| | | throw Oops.Bah("已有正在出库或待盘点的数据,请完成盘点后再出库"); |
| | | } |
| | | list = new List<BllStockCheckDetail>() { list.FirstOrDefault() }; |
| | | } |
| | | #region |
| | | //要出库的托盘集合 |
| | | var outLpnList = list.Select(m => m.PalletNo).Distinct().ToList(); |