| | |
| | | return allotList2; |
| | | } |
| | | |
| | | //获取托盘中含有的执行中的单据 |
| | | public async Task<List<string>> GetRunNoticeList(string type) |
| | | { |
| | | if (type == "1")//平库出库获取单据 |
| | | { |
| | | var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "1" || m.Status =="0")).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync(); |
| | | return allotList; |
| | | } |
| | | //获取状态为待拣货或者部分拣货的出库单 |
| | | var allotList2 = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3")).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync(); |
| | | |
| | | //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); |
| | | //获取出库单据不为待拣货 执行完毕 订单关闭 等待执行的单据 |
| | | //var export = Db.Queryable<BllExportNotice>().Where(a => a.IsDel == "0" && a.Status == "1" || a.Status == "2" || a.Status == "3").Select(a => a.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); |
| | | |
| | | return allotList2; |
| | | } |
| | | |
| | | //获取出库托盘上的物料批次(根据托盘码) |
| | | public async Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(string palletNo, string soNo) |
| | | { |
| | |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw e; |
| | | } |
| | | } |
| | | |
| | |
| | | //获取平库托盘信息 |
| | | public async Task<List<BoxInfo>> GetPingKuInfoByPallet(string soNo, string palletNo) |
| | | { |
| | | var info = Db.Queryable<BllExportAllot>().Where(m => m.SONo == soNo && m.PalletNo == palletNo && m.IsDel == "0"); |
| | | |
| | | var info = Db.Queryable<BllExportAllot>() |
| | | .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo) |
| | | .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo) |
| | | .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo() |
| | | { |
| | | PalletNo = a.PalletNo, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | LotNo = a.LotNo, |
| | | LocatNo = b.LocatNo |
| | | }).ToListAsync(); |
| | | var data = await info; |
| | | |
| | | /*var a = info.First().LocatNo; |
| | | |
| | | if (await info.CountAsync() == 0) |
| | | { |
| | | throw Oops.Bah("未查询到托盘分配下发的信息"); |
| | | } |
| | | |
| | | var data = await info.GroupBy(m => new { m.SkuNo, m.SkuName, m.LotNo }).Select(m => new BoxInfo() |
| | | var data = await info.GroupBy(a => new { a.SkuNo, a.SkuName, a.LotNo,a.PalletNo }).Select(a => new BoxInfo() |
| | | { |
| | | SkuNo = m.SkuNo, |
| | | SkuName = m.SkuName, |
| | | LotNo = m.LotNo |
| | | }).ToListAsync(); |
| | | PalletNo = a.PalletNo, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | LotNo = a.LotNo |
| | | }).ToListAsync();*/ |
| | | |
| | | return data; |
| | | } |
| | |
| | | throw Oops.Bah("库存信息中不存在该托盘信息,请检查!"); |
| | | } |
| | | |
| | | if (result.WareHouseNo != "W02")//W02:零箱库 |
| | | { |
| | | throw Oops.Bah("该托盘未在零箱库,请检查!"); |
| | | } |
| | | //if (result.WareHouseNo != "W02")//W02:零箱库 |
| | | //{ |
| | | // throw Oops.Bah("该托盘未在零箱库,请检查!"); |
| | | //} |
| | | |
| | | #endregion |
| | | |
| | |
| | | { |
| | | throw Oops.Bah("未获取到对应储位信息,请检查!"); |
| | | } |
| | | if (locat.Status != "1") |
| | | if (locat.Status != "3") |
| | | { |
| | | throw Oops.Bah("当前储位不是有物品,请检查!"); |
| | | } |
| | |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw e; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | //取样出库拣货(标签) |
| | | public async Task SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string asnNo, int userId) |
| | | public async Task SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, |
| | | string pickQty1, string asnNo, int userId) |
| | | { |
| | | Db.BeginTran(); |
| | | try |
| | |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw e; |
| | | } |
| | | } |
| | | |
| | |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw e; |
| | | } |
| | | } |
| | | |
| | |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw e; |
| | | } |
| | | } |
| | | /// <summary> |
| | |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw e; |
| | | } |
| | | } |
| | | #endregion |
| | |
| | | var samplingQty = await Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).SumAsync(m => m.CompleteQty); |
| | | |
| | | data.QcNo = qcNo; |
| | | data.Sku = inspectionRequest.SkuNo; |
| | | data.Sku = inspectionRequest.SkuNo + "-" + inspectionRequest.SkuName; |
| | | data.LotNo = inspectionRequest.LotNo; |
| | | data.Qty = inspectionRequest.SamplingQty.ToString(); |
| | | data.SamplingQty = samplingQty == null ? "0" : samplingQty.ToString(); |
| | |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw e; |
| | | } |
| | | } |
| | | |
| | |
| | | throw Oops.Bah("请验单状态错误,请核实"); |
| | | } |
| | | //库存明细信息 |
| | | var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); |
| | | var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo |
| | | && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); |
| | | if (stockDetail == null) |
| | | { |
| | | throw Oops.Bah("未在库存中查询出当前托盘信息"); |
| | | } |
| | | // 判断托盘是否在库内 |
| | | if (!string.IsNullOrWhiteSpace(stockDetail.LocatNo)) |
| | | { |
| | | throw Oops.Bah("当前托盘不是库外托盘,请核实"); |
| | | var wareHouseData = await Db.Queryable<SysWareHouse>().FirstAsync(m => m.IsDel == "0" && m.WareHouseNo == stockDetail.WareHouseNo); |
| | | if (wareHouseData.Type != "2") |
| | | { |
| | | throw Oops.Bah("当前托盘不是库外托盘,请核实"); |
| | | } |
| | | } |
| | | //库存总表 |
| | | var stock = await Db.Queryable<DataStock>().FirstAsync(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo); |
| | |
| | | await Db.Updateable(inspecd).ExecuteCommandAsync(); |
| | | #endregion |
| | | |
| | | |
| | | |
| | | //添加操作日志记录 |
| | | var k = new OperationSOServer().AddLogOperationSo("PDA模块", "取样拣货", qcNo, "拣货", $"在PDA上对请验单号为:{qcNo}的托盘码为:{palletNo}的拣货操作", userId); |
| | | Db.CommitTran(); |
| | |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw e; |
| | | } |
| | | } |
| | | |