|
|
@ -73,48 +73,49 @@ public class ThirdLocationRequestManager |
|
|
|
|
|
|
|
private void SetMaterialRequestDetailStatus(ThirdLocationRequestDetail detail) |
|
|
|
{ |
|
|
|
if (detail.ReceivedQty >= detail.Qty)//执行的时候 实际收料 多余 要料数
|
|
|
|
{ |
|
|
|
detail.Status = EnumStatus.Close; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
detail.Status = EnumStatus.Open; |
|
|
|
} |
|
|
|
//if (detail.ReceivedQty >= detail.Qty)//执行的时候 实际收料 多余 要料数
|
|
|
|
//{
|
|
|
|
// detail.Status = EnumStatus.Close;
|
|
|
|
//}
|
|
|
|
//else
|
|
|
|
//{
|
|
|
|
// detail.Status = EnumStatus.Open;
|
|
|
|
//}
|
|
|
|
} |
|
|
|
|
|
|
|
private async Task SetMaterialRequestStatusAsync(ThirdLocationRequest materialRequest) |
|
|
|
{ |
|
|
|
if (materialRequest.Details.All(p => p.Status == EnumStatus.Close)) |
|
|
|
{ |
|
|
|
materialRequest.RequestStatus = EnumRequestStatus.Completed; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
var issueJobs = await _issueJobRepository.GetListAsync(t => t.MaterialRequestNumber == materialRequest.Number).ConfigureAwait(false); |
|
|
|
if (issueJobs.Count > 0) |
|
|
|
{ |
|
|
|
if (issueJobs.All(t => t.JobStatus is EnumJobStatus.Done or EnumJobStatus.Closed or EnumJobStatus.Cancelled)) |
|
|
|
{ |
|
|
|
if (materialRequest.Details.All(p => p.ReceivedQty >= p.Qty)) |
|
|
|
{ |
|
|
|
materialRequest.RequestStatus = EnumRequestStatus.Completed; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
materialRequest.RequestStatus = EnumRequestStatus.Partial; |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
materialRequest.RequestStatus = EnumRequestStatus.Partial; |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
materialRequest.RequestStatus = EnumRequestStatus.Partial; |
|
|
|
} |
|
|
|
} |
|
|
|
//if (materialRequest.Details.All(p => p.Status == EnumStatus.Close))
|
|
|
|
//{
|
|
|
|
// materialRequest.RequestStatus = EnumRequestStatus.Completed;
|
|
|
|
//}
|
|
|
|
//else
|
|
|
|
//{
|
|
|
|
// var issueJobs = await _issueJobRepository.GetListAsync(t => t.MaterialRequestNumber == materialRequest.Number).ConfigureAwait(false);
|
|
|
|
// if (issueJobs.Count > 0)
|
|
|
|
// {
|
|
|
|
// if (issueJobs.All(t => t.JobStatus is EnumJobStatus.Done or EnumJobStatus.Closed or EnumJobStatus.Cancelled))
|
|
|
|
// {
|
|
|
|
// if (materialRequest.Details.All(p => p.ReceivedQty >= p.Qty))
|
|
|
|
// {
|
|
|
|
// materialRequest.RequestStatus = EnumRequestStatus.Completed;
|
|
|
|
// }
|
|
|
|
// else
|
|
|
|
// {
|
|
|
|
// materialRequest.RequestStatus = EnumRequestStatus.Partial;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// else
|
|
|
|
// {
|
|
|
|
// materialRequest.RequestStatus = EnumRequestStatus.Partial;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// else
|
|
|
|
// {
|
|
|
|
// materialRequest.RequestStatus = EnumRequestStatus.Partial;
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public virtual async Task CompleteAsync(string number) |
|
|
|