| | |
| | | //{ |
| | | // if (expr) |
| | | // { |
| | | |
| | | |
| | | // } |
| | | |
| | | |
| | | //} |
| | | var com = comInfo.FirstOrDefault(m => m.IsDel == "0" && m.BoxNo3 != null && m.BoxNo3 == demo.BoxNo); |
| | | if (com != null) |
| | |
| | | throw new Exception($"未查询到对应分配信息,请核实!"); |
| | | } |
| | | } |
| | | |
| | | |
| | | //库存明细 |
| | | var detail = Db.Queryable<DataStockDetail>().First(a => a.IsDel == "0" && a.PalletNo == palletNo); |
| | | if (detail == null) |
| | |
| | | { |
| | | SkuNo = detail.SkuNo, |
| | | BoxNo = detail.SkuNo, |
| | | Qty = allot == null ? (int)(detail.Qty-detail.LockQty) : (int)allot.Qty, |
| | | Qty = allot == null ? (int)(detail.Qty - detail.LockQty) : (int)allot.Qty, |
| | | PickedQty = allot == null ? 0 : (int)allot.CompleteQty, |
| | | }; |
| | | |
| | |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | | { |
| | | if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3)) |
| | | if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3) && item.BoxNo3 != null) |
| | | { |
| | | throw new Exception($"当前{item.BoxNo}中{item.BoxNo3}已拣货完成,请勿重复拣货"); |
| | | } |
| | |
| | | } |
| | | } |
| | | var pickQty = 0;//拣货的数量 |
| | | |
| | | |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | | { |
| | |
| | | if (biaoShi != "2") |
| | | { |
| | | //删除库存箱码明细 |
| | | Db.Deleteable(item).ExecuteCommand(); |
| | | Db.Deleteable(item).ExecuteCommand(); |
| | | } |
| | | else//数量拣货 |
| | | { |
| | |
| | | pallet.Status = "0"; |
| | | Db.Updateable(pallet).ExecuteCommand(); |
| | | } |
| | | |
| | | |
| | | //修改出库单明细拣货数量 |
| | | noticeDetail.CompleteQty += int.Parse(PickQty); |
| | | Db.Updateable(noticeDetail).ExecuteCommand(); |
| | |
| | | { |
| | | var type = ""; |
| | | var detail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNo); |
| | | if (detail== null) |
| | | if (detail == null) |
| | | { |
| | | throw new Exception("当前托盘未在库存中"); |
| | | } |
| | | //怎么判断当前托盘是库外要取样的托盘,正常出库剩余托盘目前这种情况也能拣货啊,也没有分配信息 |
| | | var allot = Db.Queryable<BllExportAllot>().First(m => |
| | | m.IsDel == "0" && m.PalletNo == palletNo && m.Status != "5" && m.Status != "6"); |
| | | if (allot!=null) |
| | | if (allot != null) |
| | | { |
| | | var soNo = Db.Queryable<BllExportNotice>() |
| | | .First(m => m.IsDel == "0" && m.SONo == allot.SONo); |
| | | if (soNo == null) |
| | | { |
| | | throw new Exception("未找到托盘上出库单据信息"); |
| | | } |
| | | } |
| | | if (soNo.Type != "3") |
| | | { |
| | | throw new Exception("该托盘不是取样托盘"); |
| | | } |
| | | } |
| | | type = "0";//库内取样 |
| | | } |
| | | else |
| | |
| | | } |
| | | |
| | | //取样出库拣货(标签) |
| | | public void SampleSoSetPick(string soType,string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string asnNo, int userId) |
| | | public void SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string asnNo, int userId) |
| | | { |
| | | Db.BeginTran(); |
| | | try |
| | |
| | | { |
| | | throw new Exception("取样标识不能为空"); |
| | | } |
| | | |
| | | |
| | | //soType: 0库内取样,有出库单及分配信息; 1库前取样,反向添加出库单及分配信息 |
| | | if (soType == "1") |
| | | { |
| | |
| | | if (string.IsNullOrWhiteSpace(asnNo)) |
| | | { |
| | | throw new Exception("入库单不能为空"); |
| | | } |
| | | } |
| | | if (string.IsNullOrWhiteSpace(palletNo)) |
| | | { |
| | | throw new Exception("托盘码不能为空"); |
| | |
| | | throw new Exception("未查询到该托盘的库存明细信息!"); |
| | | } |
| | | |
| | | var sku = Db.Queryable<SysMaterials>().First(m=>m.IsDel == "0" && m.SkuNo == stockDetail.SkuNo); |
| | | var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == stockDetail.SkuNo); |
| | | if (sku == null) |
| | | { |
| | | throw new Exception("未查询到当前托盘上的物料信息"); |
| | |
| | | //出库单 |
| | | var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.AsnSampleNo == asnNo); |
| | | //创建出库单 |
| | | if (notice == null || notice.Status == "6") |
| | | if (notice == null || notice.Status == "6") |
| | | { |
| | | var billNo = ""; |
| | | var bl = true; |
| | |
| | | bl = Db.Queryable<BllExportNotice>().Any(m => m.SONo == no); |
| | | } while (bl); |
| | | |
| | | |
| | | |
| | | var addNotice = new BllExportNotice() |
| | | { |
| | | SONo = billNo, |
| | |
| | | WaveNo = "", |
| | | IsDespatch = "0", |
| | | CompleteTime = DateTime.Now, |
| | | CreateUser = userId, |
| | | CreateUser = userId, |
| | | }; |
| | | |
| | | var n = Db.Insertable(addNotice).ExecuteReturnEntity(); |
| | |
| | | IsIssueLotNo = "0", |
| | | Status = "3", |
| | | CreateUser = userId, |
| | | |
| | | |
| | | }; |
| | | var m = Db.Insertable(addNoticeDetail).ExecuteReturnEntity(); |
| | | noticeDetail = m; |
| | |
| | | SkuName = sku.SkuName, |
| | | Standard = sku.Standard, |
| | | PalletNo = palletNo, |
| | | IsBale = "0" , //是否裹包 |
| | | IsBelt = "0" , //是否打带 |
| | | IsBale = "0", //是否裹包 |
| | | IsBelt = "0", //是否打带 |
| | | |
| | | Qty = 0, |
| | | CompleteQty = 0, |
| | |
| | | var fp = Db.Insertable(addAllot).ExecuteReturnEntity(); |
| | | allot2 = fp; |
| | | } |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | |
| | | } |
| | | } |
| | | var pickQty = 0;//拣货的数量 |
| | | |
| | | |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | | { |
| | |
| | | } |
| | | pickQty += biaoShi == "2" ? int.Parse(pickQty1) : item.Qty; |
| | | } |
| | | |
| | | |
| | | |
| | | //改变库内箱码是否零箱信息 |
| | | if (biaoShi == "1") |
| | |
| | | Db.Insertable(comList).ExecuteCommand(); |
| | | //修改出库分配信息 |
| | | allot2.Qty += pickQty; |
| | | allot2.CompleteQty += pickQty; |
| | | allot2.CompleteQty += pickQty; |
| | | Db.Updateable(allot2).ExecuteCommand(); |
| | | |
| | | //删除或修改库存明细 |
| | | stockDetail.BitPalletMark = "1";//修改为零托标识 |
| | | stockDetail.Qty -= pickQty; |
| | | |
| | | |
| | | if (stockDetail.Qty <= 0) |
| | | { |
| | | Db.Deleteable(stockDetail).ExecuteCommand(); |
| | |
| | | Db.Updateable(noticeDetail).ExecuteCommand(); |
| | | |
| | | } |
| | | else if(soType == "0") |
| | | else if (soType == "0") |
| | | { |
| | | #region 判断 |
| | | |
| | |
| | | } |
| | | } |
| | | var pickQty = 0;//拣货的数量 |
| | | |
| | | |
| | | var comList = new List<BllCompleteDetail>(); |
| | | foreach (var item in boxInfos) |
| | | { |
| | |
| | | SkuName = allot2.SkuName, |
| | | Standard = allot2.Standard, |
| | | PalletNo = palletNo, |
| | | CompleteQty = int.Parse(PickQty) , |
| | | CompleteQty = int.Parse(PickQty), |
| | | InspectMark = "1", |
| | | |
| | | CreateUser = userId |
| | |
| | | |
| | | //修改出库分配信息 |
| | | allot2.Qty += int.Parse(PickQty); |
| | | allot2.CompleteQty += int.Parse(PickQty); |
| | | allot2.CompleteQty += int.Parse(PickQty); |
| | | Db.Updateable(allot2).ExecuteCommand(); |
| | | |
| | | int isDel = 0; |
| | |
| | | stockDetail.BitPalletMark = "1";//修改为零托标识 |
| | | stockDetail.InspectMark = "1";//修改为抽检托标识 |
| | | stockDetail.Qty -= int.Parse(PickQty); |
| | | if (stockDetail.Qty == stockDetail.LockQty&& stockDetail.Qty != 0) |
| | | if (stockDetail.Qty == stockDetail.LockQty && stockDetail.Qty != 0) |
| | | { |
| | | stockDetail.Status = "2"; |
| | | } |
| | |
| | | noticeDetail.CompleteQty += int.Parse(PickQty); |
| | | noticeDetail.Money = string.IsNullOrWhiteSpace(sku.Price.ToString()) ? null : sku.Price * noticeDetail.Qty; |
| | | Db.Updateable(noticeDetail).ExecuteCommand(); |
| | | |
| | | |
| | | } |
| | | else if (soType == "0") |
| | | { |
| | |
| | | /// <param name="pickQty1"></param> |
| | | /// <param name="palletNoNew"></param> |
| | | /// <param name="userId"></param> |
| | | public void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1,string palletNoNew,int userId) |
| | | public void SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string palletNoNew, int userId) |
| | | { |
| | | Db.BeginTran(); |
| | | try |
| | |
| | | { |
| | | isNew = true; |
| | | |
| | | var newPalletInfo = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status=="0"); |
| | | var newPalletInfo = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0"); |
| | | if (newPalletInfo == null) |
| | | { |
| | | throw new Exception("新托盘信息不存在或已被使用!"); |
| | |
| | | sd.SkuNo = stockDetail.SkuNo; |
| | | sd.SkuName = stockDetail.SkuName; |
| | | sd.Standard = stockDetail.Standard; |
| | | |
| | | |
| | | sd.FrozenQty = 0; |
| | | sd.InspectQty = 0; |
| | | sd.ASNNo = ""; |
| | |
| | | sdId = Db.Insertable(sd).ExecuteReturnIdentity(); |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | var pickQty = 0;//拣货的数量 |
| | | if (string.IsNullOrWhiteSpace(boxNo))//整托拣货 |
| | | { |
| | |
| | | /// <param name="PickQty"></param> |
| | | /// <param name="palletNoNew"></param> |
| | | /// <param name="userId"></param> |
| | | public void SoSetQtyPinPick(string soNo, string soDetailId, string palletNo, string PickQty,string palletNoNew, int userId) |
| | | public void SoSetQtyPinPick(string soNo, string soDetailId, string palletNo, string PickQty, string palletNoNew, int userId) |
| | | { |
| | | Db.BeginTran(); |
| | | try |
| | |
| | | newPalletInfo.Status = "1"; |
| | | Db.Updateable(newPalletInfo).ExecuteCommand(); |
| | | } |
| | | |
| | | |
| | | if (isNew) |
| | | { |
| | | var sd = new DataStockDetail(); |