/// <summary> /// 获取指定的单条数据 /// </summary> /// <param name="id">主键</param> /// <returns></returns> public StockOutModel GetStockOut(string id) { Sto_StockOut stockOut = GetEntity(id); if (stockOut == null) { return(new StockOutModel()); } StockOutModel theData = stockOut.ToJson().ToObject <StockOutModel>(); theData.StockOutItems = this._stockOutItemBus.GetIQueryable().Where(p => p.OutNo == theData.OutNo).ToList(); return(theData); }
/// <summary> /// 工程领料单领料 /// </summary> /// <param name="theData"></param> public void ProMaterial(StockOutModel theData, string Picker, string ProCode, string ProName) { Pro_GetMaterialBusiness _getMeterialBus = new Pro_GetMaterialBusiness(); Pro_MaterialRequisitionBusiness _mrb = new Pro_MaterialRequisitionBusiness(); //检查是否领料 var query = _mrb.GetIQueryable().Where(p => p.PMR_No == theData.ApplyNo).SingleOrDefault(); if (query.Status == 2) { throw new Exception("已领料"); } //if (query.Status == 0) //{ // throw new Exception("未审批"); //} if (query.Status == 3) { throw new Exception("已作废"); } Sto_StockOut stockOut = theData.ToJson().ToObject <Sto_StockOut>(); this.BeginTransaction(); this._stockOutItemBus.BeginTransaction(); _getMeterialBus.BeginTransaction(); this.Insert(stockOut); foreach (Sto_StockOutItem item in theData.StockOutItems) { this._stockOutItemBus.Insert(item); Pro_GetMaterial getMaterial = new Pro_GetMaterial() { Id = Guid.NewGuid().ToSequentialGuid(), PMR_No = theData.ApplyNo, GetDate = DateTime.Now, GuiGe = item.GuiGe, MatName = item.MatName, MatNo = item.MatNo, Context = stockOut.Context, ProCode = ProCode, ProName = ProName, UnitNo = item.UnitNo, Quantity = item.Quantity, Picker = Picker }; _getMeterialBus.Insert(getMaterial); } if (this.EndTransaction()) { if (!this._stockOutItemBus.EndTransaction()) { this.Delete(stockOut.Id); throw new Exception("出库失败"); } else { //出库成功,更改领料单状态 _getMeterialBus.EndTransaction(); _mrb.UpdateWhere(p => p.PMR_No == theData.ApplyNo, item => item.Status = 2); _mrb.UpdateWhere(p => p.PMR_No == theData.ApplyNo, item => item.Picker = Picker); } } else { throw new Exception("出库失败"); } }