using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
using WMS.Web.Core;
using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Values;
namespace WMS.Web.Domain.Entitys
{
///
/// erp出库任务单明细
///
[Serializable]
[Table("t_erp_outstock_task_details")]
public class OutStockTaskDetails : EntityBase
{
public OutStockTaskDetails() { }
///
/// 主键 订单编号
///
[Column("Id")]
public override int Id { get; set; }
///
/// 单据头Id
///
[Column("Fid")]
public int Fid { get; set; }
///
/// 销售订单号
///
[Column("SaleBillNo")]
public string SaleBillNo { get; set; }
///
/// 物料Id
///
[Column("MaterialId")]
public int MaterialId { get; set; }
///
/// 仓库ID
///
[Column("StockId")]
public int StockId { get; set; }
///
/// 仓位ID
///
[Column("SubStockId")]
public int? SubStockId { get; set; }
///
/// 应出库数量
///
[Column("AccruedQty")]
public decimal AccruedQty { get; set; }
///
/// 已出库数量
///
[Column("RealityQty")]
public decimal RealityQty { get; set; }
///
/// 订单明细备注
///
[Column("Remark")]
public string Remark { get; set; }
///
/// 出库 反写 任务单
///
///
///
///
public Result OutStock(int materialId,decimal qty)
{
if ((this.AccruedQty - this.RealityQty) < qty)
return Result.ReFailure(ResultCodes.OutStockQtyError);
this.RealityQty = this.RealityQty + qty;
return Result.ReSuccess();
}
}
}