public async Task <IActionResult> Post([FromBody] StoreOutDto value) { if (value.Storeout != null && value.StoreoutList != null) { if (_kcStoreoutRpt.Exist(f => f.OrderNo == value.Storeout.OrderNo)) { return(BadRequest($"出库单号{value.Storeout.OrderNo}已经存在。")); } var storeOut = value.Storeout; storeOut.CreatedAt = DateTime.Now; storeOut.UpdatedAt = DateTime.Now; storeOut.IsValid = true; storeOut.Status = "正常"; if (User.Identity is ClaimsIdentity identity) { storeOut.CreatedBy = identity.Name ?? "admin"; } //storeOut.OrderNo = GetOrderNo(); using (var tran = _context.Database.BeginTransaction()) { try { //入库单 _kcStoreoutRpt.Add(storeOut); _kcStoreoutRpt.Commit(); foreach (var store in value.StoreoutList) { //入库明细 store.orderno = storeOut.OrderNo; _kcStoreoutlistRpt.Add(store); _kcStoreoutlistRpt.Commit(); //更新库存(仓库,货位,产品) var kucun = _kcStoreRpt.GetSingle(f => f.GoodsId == store.GoodsId && f.StoreId == storeOut.StoreId && f.BatchNo == store.batchno); if (kucun != null) { kucun.Amount = kucun.Amount - store.amount; kucun.Number = kucun.Number - store.number; } _kcStoreRpt.Commit(); } tran.Commit(); } catch (Exception ex) { tran.Rollback(); return(BadRequest(ex.Message)); } } return(new NoContentResult()); } return(new BadRequestResult()); }
public async Task <IActionResult> Post([FromBody] kc_storeoutlist value) { _kcStoreoutlistRpt.Add(value); _kcStoreoutlistRpt.Commit(); return(new OkObjectResult(value)); }