/// <summary> /// 收货 /// </summary> /// <param name="model"></param> public void ReceivedGoods(ReceivedGoodsStorePurchaseOrder model) { //修改明细数据和生产日期/保质期 var entity = _db.Table.Find <StorePurchaseOrder>(model.Id); entity = model.MapTo <StorePurchaseOrder>(entity); entity.ReceivedGoods(model.ReceivedBy, model.ReceivedByName); var entityItems = _db.Table.FindAll <StorePurchaseOrderItem>(n => n.StorePurchaseOrderId == model.Id).ToList(); entity.SetItems(entityItems); entity.UpdateReceivedGoodsItems(model.ConvertJsonToItem()); _db.Update(entity); _db.Update(entity.Items.ToArray()); var reason = "保存本次收货"; var billIdentity = BillIdentity.StorePurchaseOrder; if (entity.OrderType == OrderType.Refund) { reason = "保存本次退货"; billIdentity = BillIdentity.StorePurchaseRefundOrder; } _processHistoryService.Track(model.ReceivedBy, model.ReceivedByName, (int)entity.Status, entity.Id, billIdentity.ToString(), reason); // 添加库存中不存在的商品 var notExistsInventorys = _storeInventoryService.CheckProductNotInInventory(entity); if (notExistsInventorys.Count() > 0) { _db.Insert <StoreInventory>(notExistsInventorys.ToArray()); } _db.SaveChange(); }
/// <summary> /// 收货 /// </summary> /// <returns></returns> public JsonResult ReceiveGoods(ReceivedGoodsStorePurchaseOrder model) { model.ReceivedBy = _context.CurrentAccount.AccountId; model.ReceivedByName = _context.CurrentAccount.NickName; model.ReceivedOn = DateTime.Now; _storePurchaseOrderFacade.ReceivedGoods(model); return(Json(new { success = true })); }
public static List <StorePurchaseOrderItem> ConvertJsonToItem(this ReceivedGoodsStorePurchaseOrder source) { if (string.IsNullOrEmpty(source.Items)) { throw new Exception("商品明细为空"); } var productPriceList = JsonConvert.DeserializeObject <List <StorePurchaseOrderItem> >(source.Items); return(productPriceList); }