任务单的数量变更问题优化

This commit is contained in:
tongfei
2023-11-30 16:26:15 +08:00
parent f8ad28fecb
commit b5537a1ccd
4 changed files with 36 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using WMS.Web.Core;
using WMS.Web.Domain.Values;
@@ -74,7 +75,10 @@ namespace WMS.Web.Domain.Entitys
/// <param name="createTime"></param>
public void Create(InstockType type,string sourceBillNo, DateTime createTime)
{
this.Status = InstockStatus.Wait;
if (type == InstockType.Purchase)
this.Status = InstockStatus.Wait;
else
this.Status = InstockStatus.WaitInStock;
this.Type = type;
this.SourceBillNo = sourceBillNo;
this.CreateTime = createTime;
@@ -119,6 +123,7 @@ namespace WMS.Web.Domain.Entitys
/// <param name="creatorId"></param>
public void Receive(int creatorId)
{
this.Status = InstockStatus.WaitInStock;
this.ReceiverId = creatorId;
this.ReceiveTime = DateTime.Now;
}
@@ -129,6 +134,15 @@ namespace WMS.Web.Domain.Entitys
/// <param name="creatorId"></param>
public void Shelf(int creatorId)
{
//明细中:所有的应入数量之和
var totalAccruedQty= this.Details.Sum(x => x.AccruedQty);
//明细中:所有的收货数量之和
var totalReceiveQty = this.Details.Sum(x => x.ReceiveQty);
if (totalAccruedQty == totalReceiveQty)
this.Status = InstockStatus.Already;
else
this.Status = InstockStatus.Part;
this.ShelferId = creatorId;
this.ShelfTime = DateTime.Now;
}
@@ -139,7 +153,15 @@ namespace WMS.Web.Domain.Entitys
/// <param name="creatorId"></param>
public void NoPurchaseShelf(int creatorId)
{
this.ReceiverId = creatorId;
//明细中:所有的应入数量之和
var totalAccruedQty = this.Details.Sum(x => x.AccruedQty);
//明细中:所有的收货数量之和
var totalReceiveQty = this.Details.Sum(x => x.ReceiveQty);
if (totalAccruedQty == totalReceiveQty)
this.Status = InstockStatus.Already;
else
this.ReceiverId = creatorId;
this.ReceiveTime = DateTime.Now;
this.ShelferId = creatorId;
this.ShelfTime = DateTime.Now;