This commit is contained in:
2021-07-08 20:08:04 +00:00
parent a229735ac8
commit a70b28e6d6
2 changed files with 43 additions and 19 deletions

2
.vscode/launch.json vendored
View File

@@ -53,7 +53,7 @@
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles", "AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles", "AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles", "AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
"AYANOVA_SERVER_TEST_MODE": "true", "AYANOVA_SERVER_TEST_MODE": "false",
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small", "AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7", "AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\" "AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"

View File

@@ -291,32 +291,56 @@ namespace AyaNova.Api.Controllers
//Recent workorders //Recent workorders
//arbitrarily returning last 3 work orders to account for one of them being the current active work order and not wanting to try to filter in closed status workorders for reasons //arbitrarily returning last 3 work orders to account for one of them being the current active work order and not wanting to try to filter in closed status workorders for reasons
//limiting to three because there is already an all workorders option from unit itself if they are really researching the history and it's about three clicks away from this info //limiting to three because there is already an all workorders option from unit itself if they are really researching the history and it's about three clicks away from this info
List<RecentWorkOrder> RecentWorkOrders = new List<RecentWorkOrder>(); //List<RecentWorkOrder> RecentWorkOrders = new List<RecentWorkOrder>();
var lastWoItemIds = await ct.WorkOrderItemUnit.AsNoTracking().Where(z => z.UnitId == id).OrderByDescending(z => z.Id).Take(3).Select(z => z.WorkOrderItemId).ToListAsync();
foreach (long woitemid in lastWoItemIds) string q = "select distinct(aworkorder.serial), aworkorder.id, aworkorder.servicedate from aworkorder "
+ "left join aworkorderitem on aworkorder.id=aworkorderitem.workorderid "
+ "left join aworkorderitemunit on aworkorderitemunit.workorderitemid=aworkorderitem.id "
+ $"where aworkorderitemunit.unitid={id} "
+ "order by aworkorder.serial DESC "
+ "limit 3";
using (var cmd = ct.Database.GetDbConnection().CreateCommand())
{ {
var woid = await ct.WorkOrderItem.AsNoTracking().Where(x => x.Id == woitemid).OrderByDescending(x => x.WorkOrderId).Select(x => x.WorkOrderId).FirstOrDefaultAsync(); await ct.Database.OpenConnectionAsync();
ret.RecentWorkOrders.Add( cmd.CommandText = q;
await ct.WorkOrder.AsNoTracking().Where(x => x.Id == woid).Select(x => new RecentWorkOrder(x.Serial, x.Id, x.ServiceDate)).FirstOrDefaultAsync() using (var dr = await cmd.ExecuteReaderAsync())
); {
while (dr.Read())
{
ret.RecentWorkOrders.Add(new RecentWorkOrder(dr.GetInt64(0), dr.GetInt64(1), dr.GetDateTime(2)));
}
}
} }
// var lastWoItemIds = await ct.WorkOrderItemUnit.AsNoTracking().Where(z => z.UnitId == id).OrderByDescending(z => z.Id).Take(10).Select(z => z.WorkOrderItemId).ToListAsync();
// foreach (long woitemid in lastWoItemIds)
// {
// var woid = await ct.WorkOrderItem.AsNoTracking().Where(x => x.Id == woitemid).OrderByDescending(x => x.WorkOrderId).Select(x => x.WorkOrderId).FirstOrDefaultAsync();
// ret.RecentWorkOrders.Add(
// await ct.WorkOrder.AsNoTracking().Where(x => x.Id == woid).Select(x => new RecentWorkOrder(x.Serial, x.Id, x.ServiceDate)).FirstOrDefaultAsync()
// );
// }
return Ok(ApiOkResponse.Response(ret)); return Ok(ApiOkResponse.Response(ret));
} }
internal record RecentWorkOrder(long? Serial, long? Id, DateTime? ServiceDate); public record RecentWorkOrder(long? Serial, long? Id, DateTime? ServiceDate);
internal class UnitServiceWarrantyInfo public class UnitServiceWarrantyInfo
{ {
internal List<RecentWorkOrder> RecentWorkOrders { get; set; } public UnitServiceWarrantyInfo()
internal DateTime? PurchaseDate { get; set; } {
internal string PurchasedFromVendor { get; set; } RecentWorkOrders = new List<RecentWorkOrder>();
internal long? PurchaseFromVendorId { get; set; } }
internal string PurchaseReceiptNumber { get; set; } public List<RecentWorkOrder> RecentWorkOrders { get; set; }
internal bool LifeTimeWarranty { get; set; } public DateTime? PurchaseDate { get; set; }
internal DateTime? WarrantyExpiryDate { get; set; } public string PurchasedFromVendor { get; set; }
internal string WarrantyTerms { get; set; } public long? PurchaseFromVendorId { get; set; }
public string PurchaseReceiptNumber { get; set; }
public bool LifeTimeWarranty { get; set; }
public DateTime? WarrantyExpiryDate { get; set; }
public string WarrantyTerms { get; set; }
} }
}//eoc }//eoc