case 3994

This commit is contained in:
2021-09-30 20:24:48 +00:00
parent 772a47842f
commit 18c9d2e7d4
11 changed files with 175 additions and 16 deletions

View File

@@ -9,21 +9,54 @@ namespace AyaNova.DataList
{
public UnitDataList()
{
DefaultListAType = AyaType.Unit;
SQLFrom = "from aunit as amainunit "
+ "left join acustomer on (amainunit.customerid=acustomer.id) "
+ "left join aunit as aparentunit on (amainunit.parentunitid=aparentunit.id) "
+ "left join aunitmodel on (amainunit.unitmodelid=aunitmodel.id) "
+ "left join avendor on (amainunit.purchasedfromvendorid=avendor.id) "
+ "left join aunit as areplacedbyunit on (amainunit.replacedbyunitid=areplacedbyunit.id) "
+ "left join acontract on (amainunit.contractid=acontract.id)";
DefaultListAType = AyaType.Unit;
SQLFrom = @"FROM AUNIT AS AMAINUNIT
LEFT JOIN ACUSTOMER ON (AMAINUNIT.CUSTOMERID = ACUSTOMER.ID)
LEFT JOIN AUNIT AS APARENTUNIT ON (AMAINUNIT.PARENTUNITID = APARENTUNIT.ID)
LEFT JOIN AUNITMODEL ON (AMAINUNIT.UNITMODELID = AUNITMODEL.ID)
LEFT JOIN AVENDOR ON (AMAINUNIT.PURCHASEDFROMVENDORID = AVENDOR.ID)
LEFT JOIN AUNIT AS AREPLACEDBYUNIT ON (AMAINUNIT.REPLACEDBYUNITID = AREPLACEDBYUNIT.ID)
LEFT JOIN ACONTRACT ON (AMAINUNIT.CONTRACTID = ACONTRACT.ID)
LEFT JOIN LATERAL
(SELECT serial AS LASTWORKORDERSERIAL,
SERVICEDATE AS LASTWORKORDERSERVICEDATE,
AWORKORDERITEMUNIT.ID AS LASTWORKORDERITEMUNITID
FROM AWORKORDER
LEFT JOIN AWORKORDERITEM ON AWORKORDER.ID = AWORKORDERITEM.WORKORDERID
LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID
LEFT JOIN AWORKORDERITEMUNIT ON AWORKORDERITEM.ID = AWORKORDERITEMUNIT.WORKORDERITEMID
WHERE AWORKORDERITEMUNIT.ID = AMAINUNIT.ID
AND AWORKORDERSTATUS.COMPLETED = TRUE
ORDER BY AWORKORDER.ID DESC
LIMIT 1) AS LWO ON TRUE";
var RoleSet = BizRoles.GetRoleSet(DefaultListAType);
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change;
DefaultColumns = new List<string>() { "UnitSerial", "UnitModel", "Customer", "Active" };
DefaultSortBy = new Dictionary<string, string>() { { "UnitSerial", "+" } };
FieldDefinitions = new List<DataListFieldDefinition>();
FieldDefinitions.Add(new DataListFieldDefinition
{
FieldKey = "LastCompletedWorkOrder",
TKey = "LastCompletedWorkOrder",
AType = (int)AyaType.WorkOrderItemUnit,
UiFieldDataType = (int)UiFieldDataType.Integer,
SqlIdColumnName = "lwo.lastworkorderitemunitid",
SqlValueColumnName = "lwo.lastworkorderserial"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "LastCompletedWorkOrderServiceDate",
FieldKey = "LastCompletedWorkOrderServiceDate",
UiFieldDataType = (int)UiFieldDataType.DateTime,
SqlValueColumnName = "lwo.lastworkorderservicedate"
});
FieldDefinitions.Add(new DataListFieldDefinition
{
TKey = "UnitSerial",