part data list before major mangling

This commit is contained in:
2021-09-29 19:53:51 +00:00
parent 46b585e863
commit 7ccfa01050
2 changed files with 23 additions and 7 deletions

View File

@@ -7,11 +7,7 @@ namespace AyaNova.DataList
public PartDataList()
{
DefaultListAType = AyaType.Part;
SQLFrom = "from apart "
+ "left join avendor as aman on (apart.manufacturerid=aman.id) "
+ "left join avendor as awhole on (apart.wholesalerid=awhole.id) "
+ "left join avendor as aaltwhole on (apart.alternativewholesalerid=aaltwhole.id) ";
//+ "left join apartserial on apartserial.partid=apart.id";
SQLFrom = "from viewpartsdatalist ";
var RoleSet = BizRoles.GetRoleSet(DefaultListAType);
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change;
DefaultColumns = new List<string>() { "PartPartNumber", "PartName", "PartManufacturerID", "PartWholesalerID", "Tags" };
@@ -152,7 +148,7 @@ namespace AyaNova.DataList
TKey = "PartSerialNumbersAvailable",
FieldKey = "PartSerialNumbersAvailable",
UiFieldDataType = (int)UiFieldDataType.Text,
SqlValueColumnName = "(select array_agg(serial) from apartserial where partid=apart.id group by partid) as sub_serials"
SqlValueColumnName = "(select array_to_string(array_agg(serial),', ') from apartserial where partid=apart.id group by partid) as sub_serials"
});
FieldDefinitions.Add(new DataListFieldDefinition { TKey = "PartCustom1", FieldKey = "partcustom1", IsCustomField = true, IsFilterable = false, IsSortable = false, SqlValueColumnName = "apart.customfields" });

View File

@@ -1196,9 +1196,29 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
await SetSchemaLevelAsync(++currentSchema);
//PART DATA LIST VIEW
/*
CREATE OR REPLACE VIEW viewpartsdatalist AS SELECT APART.*,
AMAN.NAME AS MANNAME,
AMAN.ID AS MANID,
AWHOLE.NAME AS WHOLENAME,
AWHOLE.ID AS WHOLEID,
AALTWHOLE.NAME AS ALTWHOLENAME,
AALTWHOLE.ID AS ALTWHOLEID,
(SELECT ARRAY_TO_STRING(ARRAY_AGG(serial),', ')
FROM APARTSERIAL
WHERE PARTID = APART.ID
GROUP BY PARTID) AS PARTSERIALS
FROM APART
LEFT JOIN AVENDOR AS AMAN ON (APART.MANUFACTURERID = AMAN.ID)
LEFT JOIN AVENDOR AS AWHOLE ON (APART.WHOLESALERID = AWHOLE.ID)
LEFT JOIN AVENDOR AS AALTWHOLE ON (APART.ALTERNATIVEWHOLESALERID = AALTWHOLE.ID)
*/
//SCHEDULE VIEWS
//PERSONAL WORKORDERS
await ExecQueryAsync("CREATE VIEW VIEWSCHEDULEPERSONALWORKORDER AS SELECT "
await ExecQueryAsync("CREATE VIEW VIEWSCHEDULEPERSONALWORKORDER AS SELECT "
+ "AWORKORDERITEMSCHEDULEDUSER.ID AS WOITEMSCHEDUSERID, "
+ "AWORKORDERITEMSCHEDULEDUSER.USERID AS SCHEDUSERID, "
+ "AWORKORDERITEMSCHEDULEDUSER.STARTDATE, "