修复bug
This commit is contained in:
@@ -836,11 +836,6 @@
|
|||||||
单据编号
|
单据编号
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.OutStock.SourceBillNo">
|
|
||||||
<summary>
|
|
||||||
来源单号
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Domain.Entitys.OutStock.Type">
|
<member name="P:WMS.Web.Domain.Entitys.OutStock.Type">
|
||||||
<summary>
|
<summary>
|
||||||
单据类型
|
单据类型
|
||||||
@@ -923,11 +918,16 @@
|
|||||||
单据头Id
|
单据头Id
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.SaleBillNo">
|
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.SaleBillNos">
|
||||||
<summary>
|
<summary>
|
||||||
销售订单号
|
销售订单号
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.SourceBillNos">
|
||||||
|
<summary>
|
||||||
|
来源单号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.MaterialId">
|
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.MaterialId">
|
||||||
<summary>
|
<summary>
|
||||||
物料Id
|
物料Id
|
||||||
@@ -1059,7 +1059,7 @@
|
|||||||
来源单号(合并后有多个)
|
来源单号(合并后有多个)
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SaleBillNo">
|
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SaleBillNos">
|
||||||
<summary>
|
<summary>
|
||||||
销售订单号
|
销售订单号
|
||||||
</summary>
|
</summary>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using WMS.Web.Core;
|
using WMS.Web.Core;
|
||||||
|
using WMS.Web.Core.Help;
|
||||||
using WMS.Web.Core.Internal.Results;
|
using WMS.Web.Core.Internal.Results;
|
||||||
using WMS.Web.Domain.Values;
|
using WMS.Web.Domain.Values;
|
||||||
|
|
||||||
@@ -148,27 +149,36 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Result Merge(List<OutStockTask> list, int creatorId)
|
public Result Merge(List<OutStockTask> list, int creatorId)
|
||||||
{
|
{
|
||||||
|
if (list.Count() <= 1) return Result.ReFailure(ResultCodes.MergeNumberError);
|
||||||
// 符合合并数据逻辑:出库状态为”待拣货”+出库类型为:销售出库+发货组织一致+收货客户一致+发货仓库一致
|
// 符合合并数据逻辑:出库状态为”待拣货”+出库类型为:销售出库+发货组织一致+收货客户一致+发货仓库一致
|
||||||
if (list.Where(w => w.Status != OutStockStatus.Wait).Any()) return Result.ReFailure(ResultCodes.MergeStatusError);
|
if (list.Where(w => w.Status != OutStockStatus.Wait).Any()) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||||
if (list.Where(w => w.Type != OutStockType.Sal).Any()) return Result.ReFailure(ResultCodes.MergeStatusError);
|
if (list.Where(w => w.Type != OutStockType.Sal).Any()) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||||
if (list.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
if (list.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||||
if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||||
|
|
||||||
var details = list.SelectMany(s => s.Details).ToList();
|
var details = list.SelectMany(s => s.Details).ToList();
|
||||||
|
|
||||||
if (details.GroupBy(g => g.StockCode).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
if (details.GroupBy(g => g.StockCode).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||||
|
List<OutStockTaskDetails> details_new = new List<OutStockTaskDetails>();
|
||||||
|
|
||||||
//清空数据绑定
|
//清空数据绑定
|
||||||
foreach (var d in details)
|
foreach (var d in details)
|
||||||
{
|
{
|
||||||
d.Id = 0;
|
d.Id = 0;
|
||||||
d.Fid = 0;
|
d.Fid = 0;
|
||||||
|
var detail_new = details_new.FirstOrDefault(f => f.MaterialId == d.MaterialId);
|
||||||
|
if (detail_new != null)
|
||||||
|
{
|
||||||
|
detail_new.AccruedQty += d.AccruedQty;//应出数量累加
|
||||||
|
detail_new.SaleBillNos.AddRange(d.SaleBillNos);
|
||||||
|
detail_new.SourceBillNos.AddRange(d.SourceBillNos);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
details_new.Add(d);
|
||||||
}
|
}
|
||||||
this.OperatorId = creatorId;
|
this.OperatorId = creatorId;
|
||||||
this.OperateTime = DateTime.Now;
|
this.OperateTime = DateTime.Now;
|
||||||
this.Status = OutStockStatus.Wait;
|
this.Status = OutStockStatus.Wait;
|
||||||
this.Type = OutStockType.Sal;
|
this.Type = OutStockType.Sal;
|
||||||
this.Details = details;
|
this.Details = details_new;
|
||||||
|
|
||||||
return Result.ReSuccess();
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ namespace WMS.Web.Domain.Values
|
|||||||
public static ValueTuple<int, string> OutStockMaterialError = (70003, "出库物料在任务单中不存在");
|
public static ValueTuple<int, string> OutStockMaterialError = (70003, "出库物料在任务单中不存在");
|
||||||
public static ValueTuple<int, string> OutStockTaskAlready = (70004, "任务单已全部出库");
|
public static ValueTuple<int, string> OutStockTaskAlready = (70004, "任务单已全部出库");
|
||||||
public static ValueTuple<int, string> OutStockTaskRepeal = (70005, "任务单已作废");
|
public static ValueTuple<int, string> OutStockTaskRepeal = (70005, "任务单已作废");
|
||||||
|
public static ValueTuple<int, string> MergeNumberError = (70006, "必须选择两个及以上的单合并");
|
||||||
|
|
||||||
public static ValueTuple<int, string> BoxNoData = (80000, "箱信息不存在");
|
public static ValueTuple<int, string> BoxNoData = (80000, "箱信息不存在");
|
||||||
public static ValueTuple<int, string> BoxMateriaNoData = (800010, "箱对应物料信息不存在");
|
public static ValueTuple<int, string> BoxMateriaNoData = (800010, "箱对应物料信息不存在");
|
||||||
|
|||||||
Reference in New Issue
Block a user