diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 29afc263..8c54100a 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -862,6 +862,14 @@
明细
+
+
+ 出库 反写 任务单
+
+
+
+
+
生成单据号
@@ -940,14 +948,6 @@
出库结束时间
-
-
- 出库 反写 任务单
-
-
-
-
-
wms盘点单
diff --git a/src/WMS.Web.Domain/Entitys/OutStockTask.cs b/src/WMS.Web.Domain/Entitys/OutStockTask.cs
index 26451462..a038a43f 100644
--- a/src/WMS.Web.Domain/Entitys/OutStockTask.cs
+++ b/src/WMS.Web.Domain/Entitys/OutStockTask.cs
@@ -80,6 +80,33 @@ namespace WMS.Web.Domain.Entitys
this.CreateTime = createTime;
}
///
+ /// 出库 反写 任务单
+ ///
+ ///
+ ///
+ ///
+ public Result OutStock(int materialId, decimal qty)
+ {
+ var detail = this.Details.FirstOrDefault(f => f.MaterialId == materialId);
+ if (detail == null) return Result.ReFailure(ResultCodes.OrderNoData);
+ if ((detail.AccruedQty - detail.RealityQty) < qty)
+ return Result.ReFailure(ResultCodes.OutStockQtyError);
+
+ if (detail.RealityQty <= 0)
+ detail.OutStockBeginTime = DateTime.Now;
+
+ detail.OutStockEndTime = DateTime.Now;
+
+ detail.RealityQty = detail.RealityQty + qty;
+
+ if (this.Details.Where(w => w.RealityQty >= w.AccruedQty).Count() == this.Details.Count())
+ this.Status = OutStockStatus.Already;
+ else
+ this.Status = OutStockStatus.Part;
+
+ return Result.ReSuccess();
+ }
+ ///
/// 生成单据号
///
public void GenerateNo()
@@ -127,7 +154,7 @@ namespace WMS.Web.Domain.Entitys
if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
var details = list.SelectMany(s => s.Details).ToList();
-
+
if (details.GroupBy(g => g.StockId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
//清空数据绑定
diff --git a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs
index 9098ba6b..8e1e95d9 100644
--- a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs
@@ -72,25 +72,6 @@ namespace WMS.Web.Domain.Entitys
[Column("OutStockEndTime")]
public DateTime? OutStockEndTime { get; set; }
- ///
- /// 出库 反写 任务单
- ///
- ///
- ///
- ///
- public Result OutStock(int materialId,decimal qty)
- {
- if ((this.AccruedQty - this.RealityQty) < qty)
- return Result.ReFailure(ResultCodes.OutStockQtyError);
-
- if (this.RealityQty <= 0)
- this.OutStockBeginTime = DateTime.Now;
-
- this.OutStockEndTime = DateTime.Now;
-
- this.RealityQty = this.RealityQty + qty;
-
- return Result.ReSuccess();
- }
+
}
}
diff --git a/src/WMS.Web.Domain/Services/OutStockService.cs b/src/WMS.Web.Domain/Services/OutStockService.cs
index 287243d3..3962eccc 100644
--- a/src/WMS.Web.Domain/Services/OutStockService.cs
+++ b/src/WMS.Web.Domain/Services/OutStockService.cs
@@ -56,7 +56,7 @@ namespace WMS.Web.Domain.Services
//任务单明细
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialId == d.MaterialId);
if (tDetail == null) continue;
- var res = tDetail.OutStock(d.MaterialId, d.Qty);
+ var res = outStockTask.OutStock(d.MaterialId, d.Qty);
if (!res.IsSuccess) return res;
var outd = _mapper.Map(tDetail);