public ResultData <string> RemoveInventory(WInventory inv) { ResultData <string> rData = new ResultData <string>(); if (inv.InventoryStatus == InventoryStatusEnum.Out) { rData.status = -1; rData.message = "单据已经盘亏."; return(rData); } else if (inv.InventoryStatus == InventoryStatusEnum.In) { rData.status = -1; rData.message = "单据已经盘盈."; return(rData); } else if (inv.InventoryStatus == InventoryStatusEnum.Complete) { rData.status = -1; rData.message = "单据已经完成."; return(rData); } iRepository.Delete(inv.ID); ilRepository.RemoveLinesByParent(inv.ID); return(rData); }
/// <summary> /// 添加盘亏 /// </summary> /// <returns></returns> public ContentResult AddLoss() { ResultData <string> rt = new ResultData <string>(); WInventory inv = GetUpdate <WInventory>(); inv.CreateBy = this.CurrentUser.ID; rt = iService.AddLoss(inv); return(ReturnResult(rt)); }
public ContentResult Delete() { ResultData <string> rt = new ResultData <string>(); //获取前台传会的删除ID WInventory Inv = GetDelete <WInventory>(); rt = iService.RemoveInventory(Inv); return(ReturnResult(rt)); }
/// <summary> /// 添加 /// </summary> /// <param name="inv"></param> public int AddInventory(List <WInventoryLine> lines, string code, int createBy) { WInventory Inv = iRepository.GetInventoryByCode(code); if (Inv == null) { Inv = new WInventory { CreateBy = createBy, CreateDate = DateTime.Now, InventoryCode = code, InventoryStatus = 1 }; iRepository.Insert(Inv); } List <WInventoryLine> stockLines = ilRepository.GetInventoryLinesByParent(Inv.ID); foreach (WInventoryLine item in lines) { bool isNotExit = true; foreach (WInventoryLine line in stockLines) { if (line.StockID == item.ID) { isNotExit = false; line.InventoryDiff = item.InventoryCount - item.StockCount; ilRepository.Update(line); break; } } if (isNotExit) { item.StockID = item.ID; //库存ID item.ParentID = Inv.ID; item.InventoryDiff = item.InventoryCount - item.StockCount; ilRepository.Insert(item); } } return(Inv.ID); }
/// <summary> /// 添加盘亏出库 /// </summary> /// <param name="inv"></param> /// <returns></returns> public ResultData <string> AddLoss(WInventory inv) { ResultData <string> rData = new ResultData <string>(); if (inv.InventoryStatus == InventoryStatusEnum.Out) { rData.status = -1; rData.message = "单据已经盘亏."; return(rData); } else if (inv.InventoryStatus == InventoryStatusEnum.Complete) { rData.status = -1; rData.message = "单据已经完成."; return(rData); } if (ilRepository.HasNoLoss(inv.ID)) { if (inv.InventoryStatus == InventoryStatusEnum.In) { iRepository.UpdateLossStatus(inv.ID, 0, "", InventoryStatusEnum.Complete); } else { iRepository.UpdateLossStatus(inv.ID, 0, "", InventoryStatusEnum.Out); } rData.status = -1; rData.message = "单据没有盘亏记录."; return(rData); } DatabaseContext dbContext = ooRepository.DbCondext; try { dbContext.BeginTransaction(); WOtherOut otherOut = new WOtherOut { CreateBy = inv.CreateBy, CreateDate = DateTime.Now, OtherOutCode = nuRepository.GetNextNumber("QTCK"), StockOutType = StockOutEnum.InvShortages, StockStatus = StockStatusEnum.New }; //添加主表 ooRepository.Insert(otherOut); //更新为盘点 if (inv.InventoryStatus == InventoryStatusEnum.In) { iRepository.UpdateLossStatus(inv.ID, otherOut.ID, otherOut.OtherOutCode, InventoryStatusEnum.Complete); } else if (inv.InventoryStatus == InventoryStatusEnum.Complete) { rData.status = -1; rData.message = "单据已经完成."; return(rData); } else { iRepository.UpdateLossStatus(inv.ID, otherOut.ID, otherOut.OtherOutCode, InventoryStatusEnum.Out); } //添加明细 oolRepository.AddOtherLinesByInv(otherOut, inv.ID); //返回插入的ID rData.result = otherOut.ID.ToString(); dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 添加盘盈入库 /// </summary> /// <param name="inv"></param> /// <returns></returns> public ResultData <string> AddProfit(WInventory inv) { ResultData <string> rData = new ResultData <string>(); if (inv.InventoryStatus == InventoryStatusEnum.In) { rData.status = -1; rData.message = "单据已经盘盈."; return(rData); } else if (inv.InventoryStatus == InventoryStatusEnum.Complete) { rData.status = -1; rData.message = "单据已经完成."; return(rData); } if (ilRepository.HasNoProfit(inv.ID)) { if (inv.InventoryStatus == InventoryStatusEnum.Out) { iRepository.UpdateProfitStatus(inv.ID, 0, "", InventoryStatusEnum.Complete); } else { iRepository.UpdateProfitStatus(inv.ID, 0, "", InventoryStatusEnum.In); } rData.status = -1; rData.message = "单据没有盘盈记录."; return(rData); } DatabaseContext dbContext = ooRepository.DbCondext; try { dbContext.BeginTransaction(); WOtherIn otherIn = new WOtherIn { CreateBy = inv.CreateBy, CreateDate = DateTime.Now, OtherInCode = nuRepository.GetNextNumber("QTRK"), StockInType = StockInEnum.InvProfit, StockStatus = StockStatusEnum.New }; //添加主表 oiRepositroy.Insert(otherIn); //添加明细 oilRepository.AddOtherLinesByInv(otherIn, inv.ID); //更新为盘点 if (inv.InventoryStatus == InventoryStatusEnum.Out) { iRepository.UpdateProfitStatus(inv.ID, otherIn.ID, otherIn.OtherInCode, InventoryStatusEnum.Complete); } else { iRepository.UpdateProfitStatus(inv.ID, otherIn.ID, otherIn.OtherInCode, InventoryStatusEnum.In); } //返回插入的ID rData.result = otherIn.ID.ToString(); dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }