public static OPResult SendBack(BillGoodReturnForSearch entity) { if (entity.Status == (int)BillGoodReturnStatusEnum.已入库) { return(new OPResult { IsSucceed = false, Message = "已入库单据不能退回." }); } if (entity.Status == (int)BillGoodReturnStatusEnum.被退回) { return(new OPResult { IsSucceed = false, Message = "该单已退回." }); } var lp = VMGlobal.DistributionQuery.LinqOP; BillGoodReturn bill = lp.GetById <BillGoodReturn>(entity.ID); bill.Status = (int)BillGoodReturnStatusEnum.被退回; bill.Remark = entity.Remark; try { lp.Update <BillGoodReturn>(bill); } catch (Exception e) { return(new OPResult { IsSucceed = false, Message = "退回失败\n失败原因:" + e.Message }); } entity.Status = (int)BillGoodReturnStatusEnum.被退回; return(new OPResult { IsSucceed = true, Message = "退回成功." }); }
public override OPResult Save() { BillGoodReturn goodreturn = VMGlobal.DistributionQuery.LinqOP.Search <BillGoodReturn>(o => o.Code == Master.RefrenceBillCode).First(); if (goodreturn.Status == (int)BillGoodReturnStatusEnum.已入库) { return new OPResult { IsSucceed = false, Message = "该单已入库" } } ; //var uniqueCodes = GetSnapshotDetails(goodreturn.ID); if (!OrganizationListVM.IsSelfRunShop(goodreturn.OrganizationID))//检查当初发这些货品的时候的发货价.另:非自营店不能退不是发给自己的货物 { //var index = goodreturn.Remark.LastIndexOf(':'); //if (index != -1) //{ ReturnMoney = goodreturn.TotalPrice;//Convert.ToDecimal(goodreturn.Remark.Substring(index + 1)); //} } goodreturn.Status = (int)BillGoodReturnStatusEnum.已入库; using (TransactionScope scope = new TransactionScope()) { try { base.SaveWithNoTran(); VMGlobal.DistributionQuery.LinqOP.Update <BillGoodReturn>(goodreturn); if (ReturnMoney != 0) { VMGlobal.DistributionQuery.LinqOP.Add <OrganizationFundAccount>( new OrganizationFundAccount { BrandID = Master.BrandID, OrganizationID = goodreturn.OrganizationID, //this.Master.OrganizationID, NeedIn = 0, AlreadyIn = ReturnMoney, CreatorID = VMGlobal.CurrentUser.ID, BillKind = (int)BillTypeEnum.BillGoodReturn, Remark = "退货入库生成,退货单号" + goodreturn.Code, RefrenceBillCode = this.Master.Code }); } Details.ForEach(d => BillLogic.AddStock(Master.StorageID, d.ProductID, d.Quantity)); //SaveUniqueCodes(uniqueCodes); scope.Complete(); } catch (Exception e) { return(new OPResult { IsSucceed = false, Message = e.Message }); } } return(new OPResult { IsSucceed = true }); }
public BillGoodReturnBO(BillGoodReturn goodreturn) { this.ID = goodreturn.ID; this.Code = goodreturn.Code; this.CreatorID = goodreturn.CreatorID; this.CreateTime = goodreturn.CreateTime; this.Remark = goodreturn.Remark; this.Status = goodreturn.Status; this.StorageID = goodreturn.StorageID; this.OrganizationID = goodreturn.OrganizationID; this.BrandID = goodreturn.BrandID; this.IsDefective = goodreturn.IsDefective; }
public OPResult Storing(BillGoodReturnForSearch entity) { if (entity.StorageID == default(int)) { return(new OPResult { IsSucceed = false, Message = "由于没有对应的出库仓库, 该单无法入库." }); } var lp = VMGlobal.DistributionQuery.LinqOP; BillGoodReturn bill = lp.GetById <BillGoodReturn>(entity.ID); if (bill.Status == (int)BillGoodReturnStatusEnum.退回已入库) { return new OPResult { IsSucceed = false, Message = "该退回单据已入库" } } ; bill.Status = (int)BillGoodReturnStatusEnum.退回已入库; //decimal returnMoney = 0; //if (!OrganizationListVM.IsSelfRunShop(bill.OrganizationID)) //{ // returnMoney = bill.TotalPrice; //} var bo = new BillBO <BillGoodReturn, BillGoodReturnDetails> { Bill = bill, Details = entity.Details.Select(o => new BillGoodReturnDetails { ProductID = o.ProductID, Quantity = o.Quantity }).ToList(), }; //if (returnMoney != 0) //{ // bo.FundAccount = // new OrganizationFundAccount // { // BrandID = bill.BrandID, // OrganizationID = bill.OrganizationID, // NeedIn = 0, // AlreadyIn = returnMoney, // CreatorID = VMGlobal.CurrentUser.ID, // BillKind = (int)BillTypeEnum.BillGoodReturn, // Remark = "退货入库生成,退货单号" + bill.Code, // RefrenceBillCode = bill.Code // }; //} var result = BillWebApiInvoker.Instance.Invoke <OPResult, BillBO <BillGoodReturn, BillGoodReturnDetails> >(bo, "Bill/StoringReturnGoodReject"); if (result.IsSucceed) { ObservableCollection <BillGoodReturnForSearch> entities = this.Entities as ObservableCollection <BillGoodReturnForSearch>; if (entities != null) { entities.Remove(entity); } } return(result); } }