This commit is contained in:
2021-09-03 17:16:14 +00:00
parent b486c00138
commit 70076203a6
7 changed files with 80 additions and 64 deletions

View File

@@ -156,7 +156,7 @@ namespace AyaNova.Api.Controllers
var values = Enum.GetValues(typeof(AyaType)); var values = Enum.GetValues(typeof(AyaType));
foreach (AyaType t in values) foreach (AyaType t in values)
{ {
if (t.HasAttribute(typeof(ReportableBizObject))) if (t.HasAttribute(typeof(ReportableBizObjectAttribute)))
{ {
TranslationKeysToFetch.Add(t.ToString()); TranslationKeysToFetch.Add(t.ToString());
} }
@@ -165,7 +165,7 @@ namespace AyaNova.Api.Controllers
foreach (AyaType t in values) foreach (AyaType t in values)
{ {
if (t.HasAttribute(typeof(ReportableBizObject))) if (t.HasAttribute(typeof(ReportableBizObjectAttribute)))
{ {
var tName = t.ToString(); var tName = t.ToString();
string name = string.Empty; string name = string.Empty;

View File

@@ -188,9 +188,9 @@ namespace AyaNova.Api.Controllers
if (!ModelState.IsValid) if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState)); return BadRequest(new ApiErrorResponse(ModelState));
if (null == vendorId) if (null == vendorId)
return Ok(ApiOkResponse.Response(await ct.ViewPartRequestList.ToListAsync())); return Ok(ApiOkResponse.Response(await ct.ViewUnfulfilledPartRequestList.ToListAsync()));
else else
return Ok(ApiOkResponse.Response(await ct.ViewPartRequestList.Where(z => z.WholesalerId == vendorId || z.AltWholesalerId == vendorId).ToListAsync())); return Ok(ApiOkResponse.Response(await ct.ViewUnfulfilledPartRequestList.Where(z => z.WholesalerId == vendorId || z.AltWholesalerId == vendorId).ToListAsync()));
} }

View File

@@ -44,7 +44,7 @@ namespace AyaNova.Biz
var batch = idList.Take(IReportAbleObject.REPORT_DATA_BATCH_SIZE); var batch = idList.Take(IReportAbleObject.REPORT_DATA_BATCH_SIZE);
idList = idList.Skip(IReportAbleObject.REPORT_DATA_BATCH_SIZE).ToArray(); idList = idList.Skip(IReportAbleObject.REPORT_DATA_BATCH_SIZE).ToArray();
//query for this batch, comes back in db natural order unfortunately //query for this batch, comes back in db natural order unfortunately
var batchResults = await ct.ViewPartRequestList.AsNoTracking().Where(z => batch.Contains(z.RequestId)).ToArrayAsync(); var batchResults = await ct.ViewUnfulfilledPartRequestList.AsNoTracking().Where(z => batch.Contains(z.RequestId)).ToArrayAsync();
//order the results back into original //order the results back into original
var orderedList = from id in batch join z in batchResults on id equals z.RequestId select z; 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(); // ct.Database.OpenConnection();
foreach (ViewPartRequestList w in orderedList) foreach (ViewUnfulfilledPartRequestList w in orderedList)
{ {
//await PopulateVizFields(w, AyaTypesEnumList, command); //await PopulateVizFields(w, AyaTypesEnumList, command);
var jo = JObject.FromObject(w); var jo = JObject.FromObject(w);

View File

@@ -123,7 +123,7 @@ namespace AyaNova.Models
public virtual DbSet<ViewRestockRequired> ViewRestockRequired { get; set; } public virtual DbSet<ViewRestockRequired> ViewRestockRequired { get; set; }
public virtual DbSet<ViewPartInventoryList> ViewPartInventoryList { get; set; } public virtual DbSet<ViewPartInventoryList> ViewPartInventoryList { get; set; }
public virtual DbSet<ViewPartRequestList> ViewPartRequestList { get; set; } public virtual DbSet<ViewUnfulfilledPartRequestList> ViewUnfulfilledPartRequestList { get; set; }

View File

@@ -1,35 +0,0 @@
namespace AyaNova.Models
{
//Note this is how to define a View backed model with no key (id)
[Microsoft.EntityFrameworkCore.Keyless]
public class ViewPartRequestList
{
public long RequestId { get; set; }
public long PartId { get; set; }
public long? PartWarehouseId { get; set; }
public decimal Quantity { get; set; }
public long Serial { 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; }
}//eoc
}//eons
/*
"CREATE VIEW viewpartrequestlist AS SELECT AWORKORDERITEMPARTREQUEST.ID AS REQUESTID, PARTID, PARTWAREHOUSEID, QUANTITY, AWORKORDER.SERIAL, "
+"APART.PARTNUMBER AS PARTNUMBER, APART.NAME AS PARTNAME, APARTWAREHOUSE.NAME AS PARTWAREHOUSENAME, AWHOLESALER.NAME AS WHOLESALERNAME, "
+"AWHOLESALER.ID AS WHOLESALERID, AALTWHOLESALER.ID AS ALTWHOLESALERID, AALTWHOLESALER.NAME AS ALTWHOLESALERNAME FROM AWORKORDERITEMPARTREQUEST "
+"LEFT JOIN AWORKORDERITEM ON AWORKORDERITEM.ID = AWORKORDERITEMPARTREQUEST.WORKORDERITEMID LEFT JOIN AWORKORDER ON AWORKORDERITEM.WORKORDERID = AWORKORDER.ID "
+"LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID LEFT JOIN APART ON AWORKORDERITEMPARTREQUEST.PARTID = APART.ID "
+"LEFT JOIN APARTWAREHOUSE ON AWORKORDERITEMPARTREQUEST.PARTWAREHOUSEID = APARTWAREHOUSE.ID LEFT JOIN AVENDOR AS AWHOLESALER ON (APART.WHOLESALERID = AWHOLESALER.ID) "
+"LEFT JOIN AVENDOR AS AALTWHOLESALER ON (APART.ALTERNATIVEWHOLESALERID = AALTWHOLESALER.ID) WHERE AWORKORDERITEMPARTREQUEST.PURCHASEORDERITEMID IS NULL AND "
+"AWORKORDERSTATUS.COMPLETED = FALSE ORDER BY AWORKORDERITEMPARTREQUEST.ID;"
*/

View File

@@ -0,0 +1,25 @@
namespace AyaNova.Models
{
//Note this is how to define a View backed model with no key (id)
[Microsoft.EntityFrameworkCore.Keyless]
public class ViewUnfulfilledPartRequestList
{
public long RequestId { get; set; }
public long PartId { get; set; }
public long? PartWarehouseId { get; set; }
public decimal Quantity { get; set; }
public long Serial { 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; }
}//eoc
}//eons

View File

@@ -912,8 +912,8 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
+ "left join apartstocklevel on (apartstocklevel.partid = apart.id AND apartstocklevel.partwarehouseid = vpartinventorynow.partwarehouseid);"); + "left join apartstocklevel on (apartstocklevel.partid = apart.id AND apartstocklevel.partwarehouseid = vpartinventorynow.partwarehouseid);");
//VIEWPARTREQUESTLIST //VIEWUNFULFILLEDPARTREQUESTLIST
await ExecQueryAsync("CREATE VIEW viewpartrequestlist AS SELECT AWORKORDERITEMPARTREQUEST.ID AS REQUESTID, PARTID, PARTWAREHOUSEID, QUANTITY, AWORKORDER.SERIAL, " await ExecQueryAsync("CREATE VIEW viewunfulfilledpartrequestlist AS SELECT AWORKORDERITEMPARTREQUEST.ID AS REQUESTID, PARTID, PARTWAREHOUSEID, QUANTITY, AWORKORDER.SERIAL, "
+ "APART.PARTNUMBER AS PARTNUMBER, APART.NAME AS PARTNAME, APARTWAREHOUSE.NAME AS PARTWAREHOUSENAME, AWHOLESALER.NAME AS WHOLESALERNAME, " + "APART.PARTNUMBER AS PARTNUMBER, APART.NAME AS PARTNAME, APARTWAREHOUSE.NAME AS PARTWAREHOUSENAME, AWHOLESALER.NAME AS WHOLESALERNAME, "
+ "AWORKORDERITEMPARTREQUEST.REQUESTEDBYUSERID AS REQUESTEDBYUSERID, AUSER.NAME AS REQUESTEDBYUSERNAME, " + "AWORKORDERITEMPARTREQUEST.REQUESTEDBYUSERID AS REQUESTEDBYUSERID, AUSER.NAME AS REQUESTEDBYUSERNAME, "
+ "AWHOLESALER.ID AS WHOLESALERID, AALTWHOLESALER.ID AS ALTWHOLESALERID, AALTWHOLESALER.NAME AS ALTWHOLESALERNAME FROM AWORKORDERITEMPARTREQUEST " + "AWHOLESALER.ID AS WHOLESALERID, AALTWHOLESALER.ID AS ALTWHOLESALERID, AALTWHOLESALER.NAME AS ALTWHOLESALERNAME FROM AWORKORDERITEMPARTREQUEST "
@@ -923,6 +923,32 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
+ "LEFT JOIN APARTWAREHOUSE ON AWORKORDERITEMPARTREQUEST.PARTWAREHOUSEID = APARTWAREHOUSE.ID LEFT JOIN AVENDOR AS AWHOLESALER ON (APART.WHOLESALERID = AWHOLESALER.ID) " + "LEFT JOIN APARTWAREHOUSE ON AWORKORDERITEMPARTREQUEST.PARTWAREHOUSEID = APARTWAREHOUSE.ID LEFT JOIN AVENDOR AS AWHOLESALER ON (APART.WHOLESALERID = AWHOLESALER.ID) "
+ "LEFT JOIN AVENDOR AS AALTWHOLESALER ON (APART.ALTERNATIVEWHOLESALERID = AALTWHOLESALER.ID) WHERE AWORKORDERITEMPARTREQUEST.PURCHASEORDERITEMID IS NULL AND " + "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;"); + "(AWORKORDER.LASTSTATUSID IS NULL OR AWORKORDERSTATUS.COMPLETED = FALSE) ORDER BY AWORKORDERITEMPARTREQUEST.ID;");
//VIEWPARTINVENTORYREQUESTLIST
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, "
+ "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 "
+ "LEFT JOIN ACUSTOMER ON (AWORKORDER.CUSTOMERID=ACUSTOMER.ID) "
+ "LEFT JOIN APURCHASEORDERITEM ON (AWORKORDERITEMPARTREQUEST.PURCHASEORDERITEMID=APURCHASEORDERITEM.ID) "
+ "LEFT JOIN APURCHASEORDER ON (APURCHASEORDERITEM.PURCHASEORDERID=APURCHASEORDER.ID) "
+ "LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID "
+ "LEFT JOIN APART ON AWORKORDERITEMPARTREQUEST.PARTID = APART.ID "
+ "LEFT JOIN AUSER ON AWORKORDERITEMPARTREQUEST.REQUESTEDBYUSERID = AUSER.ID "
+ "LEFT JOIN APARTWAREHOUSE ON AWORKORDERITEMPARTREQUEST.PARTWAREHOUSEID = APARTWAREHOUSE.ID "
+ "LEFT JOIN AVENDOR AS AWHOLESALER ON (APART.WHOLESALERID = AWHOLESALER.ID) "
+ "LEFT JOIN AVENDOR AS AALTWHOLESALER ON (APART.ALTERNATIVEWHOLESALERID = AALTWHOLESALER.ID "
+ "LEFT JOIN AVENDOR AS APOVENDOR ON APURCHASEORDER.VENDORID = APOVENDOR.ID "
+ "LEFT JOIN AVENDOR AS APARTMANU ON (APART.MANUFACTURERID = APARTMANU.ID);");
//---------- //----------