This commit is contained in:
2021-04-01 19:02:19 +00:00
parent 7539ccf391
commit f2e0225370
2 changed files with 28 additions and 64 deletions

View File

@@ -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;
} }

View File

@@ -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.InternalReferenceNumber = "irf-" + Fake.Finance.Account(4);
o.ServiceDate=woDate.ToUniversalTime();
int woItemCount = Fake.Random.Int(1, 3);
o.VendorMemo = Fake.Lorem.Sentence(); for (int y = 0; y < woItemCount; y++)
if (Fake.Random.Number(1, 10) == 5)
o.ProjectId = Fake.Random.Long(1, TotalSeededProjects);
o.Text1 = Fake.Lorem.Sentence(1, 3);
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
}); });
} }