This commit is contained in:
@@ -3766,13 +3766,19 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
//static method
|
//static method
|
||||||
long WoId = await GetWorkOrderIdFromRelativeAsync(ayaType, id, ct);
|
long WoId = await GetWorkOrderIdFromRelativeAsync(ayaType, id, ct);
|
||||||
return await ct.WorkOrderState.AsNoTracking()
|
var currentStatus = await ct.WorkOrderState.AsNoTracking()
|
||||||
.Include(z => z.WorkOrderStatus)
|
.Include(z => z.WorkOrderStatus)
|
||||||
.Where(z => z.WorkOrderId == WoId)
|
.Where(z => z.WorkOrderId == WoId)
|
||||||
.OrderBy(z => z.Created)
|
.OrderBy(z => z.Created)
|
||||||
.Select(z => z.WorkOrderStatus)
|
.Select(z => z.WorkOrderStatus)
|
||||||
.Take(1)
|
.Take(1)
|
||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
|
if (currentStatus == null)
|
||||||
|
{
|
||||||
|
//default
|
||||||
|
return new WorkOrderStatus() { Id = -1, Locked = false, Completed = false };
|
||||||
|
}
|
||||||
|
return currentStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2194,78 +2194,36 @@ namespace AyaNova.Util
|
|||||||
//
|
//
|
||||||
public async Task SeedWorkOrderAsync(ILogger log, int count)
|
public async Task SeedWorkOrderAsync(ILogger log, int count)
|
||||||
{
|
{
|
||||||
DateTime seedStartWindow = DateTime.Now.AddYears(-1);
|
DateTime seedStartWindow = DateTime.Now.AddMonths(-9);
|
||||||
DateTime seedEndWindow = DateTime.Now.AddDays(-5);
|
DateTime seedEndWindow = DateTime.Now.AddMonths(3);
|
||||||
for (int x = 0; x < count; x++)
|
for (int x = 0; x < count; x++)
|
||||||
{
|
{
|
||||||
WorkOrder o = new WorkOrder();
|
WorkOrder o = new WorkOrder();
|
||||||
o.Notes = Fake.Lorem.Sentence();
|
o.Notes = Fake.Lorem.Sentence();
|
||||||
o.Tags = RandomTags();
|
o.Tags = RandomTags();
|
||||||
o.InternalReferenceNumber = "irf-" + Fake.Finance.Account(4);
|
|
||||||
o.Active
|
|
||||||
|
|
||||||
|
|
||||||
var woDate = Fake.Date.Between(seedStartWindow, seedEndWindow);
|
var woDate = Fake.Date.Between(seedStartWindow, seedEndWindow);
|
||||||
o. = woDate.ToUniversalTime();
|
o.CompleteByDate = woDate.AddDays(5).ToUniversalTime();
|
||||||
o.ExpectedReceiveDate = woDate.AddDays(5).ToUniversalTime();
|
o.CustomerContactName="contact name here";
|
||||||
|
o.CustomerId = Fake.Random.Long(1, TotalSeededCustomers);
|
||||||
|
o.CustomerReferenceNumber = "crf-" + Fake.Finance.Account(4);
|
||||||
o.VendorMemo = Fake.Lorem.Sentence();
|
o.InternalReferenceNumber = "irf-" + Fake.Finance.Account(4);
|
||||||
if (Fake.Random.Number(1, 10) == 5)
|
o.ServiceDate=woDate.ToUniversalTime();
|
||||||
o.ProjectId = Fake.Random.Long(1, TotalSeededProjects);
|
|
||||||
|
int woItemCount = Fake.Random.Int(1, 3);
|
||||||
o.Text1 = Fake.Lorem.Sentence(1, 3);
|
for (int y = 0; y < woItemCount; y++)
|
||||||
o.Text2 = Fake.Lorem.Sentence(1, 3);
|
|
||||||
|
|
||||||
List<long> partsAdded = new List<long>();
|
|
||||||
int partCount = Fake.Random.Int(1, 5);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//simulate some items without tax codes
|
|
||||||
bool addTaxCode = (Fake.Random.Number(1, 4) != 3);
|
|
||||||
|
|
||||||
//simulate some items not received
|
|
||||||
bool isReceived = (Fake.Random.Number(1, 4) != 3);
|
|
||||||
|
|
||||||
o.Status = isReceived ? WorkOrderStatus.ClosedFullReceived : WorkOrderStatus.OpenOrdered;
|
|
||||||
|
|
||||||
for (int y = 0; y < partCount; y++)
|
|
||||||
{
|
{
|
||||||
long partId = 0;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
partId = Fake.Random.Long(1, TotalSeededParts);
|
|
||||||
} while (partsAdded.Contains(partId));
|
|
||||||
partsAdded.Add(partId);
|
|
||||||
var qty = Fake.Random.Int(1, 5);
|
|
||||||
var cost = Fake.Random.Decimal(1, 25);
|
|
||||||
|
|
||||||
// 50% chance it has received serial numbers
|
|
||||||
string serials = string.Empty;
|
|
||||||
if (isReceived && Fake.Random.Number() == 1)
|
|
||||||
{
|
|
||||||
var serialStart = Fake.Finance.Account().ToString();
|
|
||||||
for (int si = 0; si < qty; si++)
|
|
||||||
{
|
|
||||||
serials += serialStart + si.ToString() + ", ";
|
|
||||||
|
|
||||||
}
|
|
||||||
serials = serials.TrimEnd().TrimEnd(',');
|
|
||||||
}
|
|
||||||
|
|
||||||
o.Items.Add(new WorkOrderItem()
|
o.Items.Add(new WorkOrderItem()
|
||||||
{
|
{
|
||||||
PartId = partId,
|
|
||||||
PartWarehouseId = Fake.Random.Long(1, 3),
|
// PartId = partId,
|
||||||
QuantityOrdered = qty,
|
// PartWarehouseId = Fake.Random.Long(1, 3),
|
||||||
QuantityReceived = isReceived ? qty : 0,
|
// QuantityOrdered = qty,
|
||||||
WorkOrderCost = cost,
|
// QuantityReceived = isReceived ? qty : 0,
|
||||||
ReceivedCost = isReceived ? cost : 0,
|
// WorkOrderCost = cost,
|
||||||
ReceivedDate = isReceived ? o.ExpectedReceiveDate : null,
|
// ReceivedCost = isReceived ? cost : 0,
|
||||||
PurchaseTaxCodeId = addTaxCode ? 3 : null,//sales and goods
|
// ReceivedDate = isReceived ? o.ExpectedReceiveDate : null,
|
||||||
Serials = serials
|
// PurchaseTaxCodeId = addTaxCode ? 3 : null,//sales and goods
|
||||||
|
// Serials = serials
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user