diff --git a/server/AyaNova/biz/PartInventoryRequestDataListBiz.cs b/server/AyaNova/biz/PartInventoryRequestDataListBiz.cs index e7cb7080..39680541 100644 --- a/server/AyaNova/biz/PartInventoryRequestDataListBiz.cs +++ b/server/AyaNova/biz/PartInventoryRequestDataListBiz.cs @@ -44,7 +44,7 @@ namespace AyaNova.Biz var batch = idList.Take(IReportAbleObject.REPORT_DATA_BATCH_SIZE); idList = idList.Skip(IReportAbleObject.REPORT_DATA_BATCH_SIZE).ToArray(); //query for this batch, comes back in db natural order unfortunately - var batchResults = await ct.ViewUnfulfilledPartRequestList.AsNoTracking().Where(z => batch.Contains(z.RequestId)).ToArrayAsync(); + var batchResults = await ct.ViewPartInventoryRequestList.AsNoTracking().Where(z => batch.Contains(z.RequestId)).ToArrayAsync(); //order the results back into original var orderedList = from id in batch join z in batchResults on id equals z.RequestId select z; @@ -57,7 +57,7 @@ namespace AyaNova.Biz // { // ct.Database.OpenConnection(); - foreach (ViewUnfulfilledPartRequestList w in orderedList) + foreach (ViewPartInventoryRequestList w in orderedList) { //await PopulateVizFields(w, AyaTypesEnumList, command); var jo = JObject.FromObject(w); diff --git a/server/AyaNova/models/AyContext.cs b/server/AyaNova/models/AyContext.cs index 706c5d14..b5260bef 100644 --- a/server/AyaNova/models/AyContext.cs +++ b/server/AyaNova/models/AyContext.cs @@ -124,6 +124,7 @@ namespace AyaNova.Models public virtual DbSet ViewRestockRequired { get; set; } public virtual DbSet ViewPartInventoryList { get; set; } public virtual DbSet ViewUnfulfilledPartRequestList { get; set; } + public virtual DbSet ViewPartInventoryRequestList { get; set; } diff --git a/server/AyaNova/models/ViewPartInventoryRequestList.cs b/server/AyaNova/models/ViewPartInventoryRequestList.cs new file mode 100644 index 00000000..57400fcd --- /dev/null +++ b/server/AyaNova/models/ViewPartInventoryRequestList.cs @@ -0,0 +1,42 @@ +using System; + +namespace AyaNova.Models +{ + //Note this is how to define a View backed model with no key (id) + + [Microsoft.EntityFrameworkCore.Keyless] + public class ViewPartInventoryRequestList + { + public long RequestId { get; set; } + public long PartId { get; set; } + public long? PartWarehouseId { get; set; } + public decimal Quantity { get; set; } + public long WoSerial { get; set; } + public string CustomerName { get; set; } + public long CustomerId { get; set; } + public long? WoStatusIdId { get; set; } + public string StatusColor { get; set; } + public string StatusName { get; set; } + public string PartNumber { get; set; } + public string PartName { get; set; } + public string PartWarehouseName { get; set; } + public long? WholesalerId { get; set; } + public string WholesalerName { get; set; } + public long? AltWholesalerId { get; set; } + public string AltWholesalerName { get; set; } + public string RequestedByUserName { get; set; } + public long? RequestedByUserId { get; set; } + public string ManufacturerName { get; set; } + public long? ManufacturerId { get; set; } + public string ManufacturerNumber { get; set; } + public string PartUPC { get; set; } + public long? PurchaseOrderId { get; set; } + public long? PurchaseOrderSerial { get; set; } + public string PurchaseOrderVendor { get; set; } + public DateTime? ExpectedReceiveDate { get; set; } + public DateTime? OrderedDate { get; set; } + public decimal PartRequestReceived { get; set; } + + }//eoc +}//eons + diff --git a/server/AyaNova/util/AySchema.cs b/server/AyaNova/util/AySchema.cs index 31d116c5..5877a7ed 100644 --- a/server/AyaNova/util/AySchema.cs +++ b/server/AyaNova/util/AySchema.cs @@ -924,16 +924,15 @@ $BODY$ LANGUAGE PLPGSQL STABLE"); + "LEFT JOIN AVENDOR AS AALTWHOLESALER ON (APART.ALTERNATIVEWHOLESALERID = AALTWHOLESALER.ID) WHERE AWORKORDERITEMPARTREQUEST.PURCHASEORDERITEMID IS NULL AND " + "(AWORKORDER.LASTSTATUSID IS NULL OR AWORKORDERSTATUS.COMPLETED = FALSE) ORDER BY AWORKORDERITEMPARTREQUEST.ID;"); - //VIEWPARTINVENTORYREQUESTLIST + //VIEWPARTINVENTORYREQUESTLIST (note: twinned with pareventoryrequestdatalist, this drives reporting for that datalist which is not reportable directly) await ExecQueryAsync("CREATE VIEW viewpartinventoryrequestlist AS SELECT AWORKORDERITEMPARTREQUEST.ID AS REQUESTID, PARTID, PARTWAREHOUSEID, QUANTITY, AWORKORDER.SERIAL AS WOSERIAL, " + "APART.PARTNUMBER AS PARTNUMBER, APART.NAME AS PARTNAME, APARTWAREHOUSE.NAME AS PARTWAREHOUSENAME, AWHOLESALER.NAME AS WHOLESALERNAME, " + "AWORKORDERITEMPARTREQUEST.REQUESTEDBYUSERID AS REQUESTEDBYUSERID, AUSER.NAME AS REQUESTEDBYUSERNAME, " + "AWHOLESALER.ID AS WHOLESALERID, AALTWHOLESALER.ID AS ALTWHOLESALERID, AALTWHOLESALER.NAME AS ALTWHOLESALERNAME, " //added ones "WOSERIAL" was just serial, + "APARTMANU.NAME AS MANUFACTURERNAME, APARTMANU.ID AS MANUFACTURERID, APART.UPC AS PARTUPC, APURCHASEORDER.ID AS PURCHASEORDERID, APURCHASEORDER.SERIAL AS PURCHASEORDERSERIAL, " - + "APURCHASEORDER.EXPECTEDRECEIVEDATE AS EXPECTEDRECEIVEDATE, APURCHASEORDER.ORDEREDDATE AS ORDEREDDATE, aworkorderitempartrequest.received AS PARTREQUESTRECEIVED, APOVENDOR.NAME AS POORDEREDFROM, " + + "APURCHASEORDER.EXPECTEDRECEIVEDATE AS EXPECTEDRECEIVEDATE, APURCHASEORDER.ORDEREDDATE AS ORDEREDDATE, aworkorderitempartrequest.received AS PARTREQUESTRECEIVED, APOVENDOR.NAME AS PURCHASEORDERVENDOR, " + "APART.MANUFACTURERNUMBER, ACUSTOMER.NAME AS CUSTOMERNAME, ACUSTOMER.ID AS CUSTOMERID, AWORKORDER.LASTSTATUSID AS WOSTATUSID,AWORKORDERSTATUS.COLOR AS STATUSCOLOR,AWORKORDERSTATUS.NAME AS STATUSNAME " - + "FROM AWORKORDERITEMPARTREQUEST " + "LEFT JOIN AWORKORDERITEM ON AWORKORDERITEM.ID = AWORKORDERITEMPARTREQUEST.WORKORDERITEMID " + "LEFT JOIN AWORKORDER ON AWORKORDERITEM.WORKORDERID = AWORKORDER.ID "