This commit is contained in:
@@ -8,6 +8,8 @@ namespace AyaNova.DataList
|
|||||||
{
|
{
|
||||||
DefaultListAType = AyaType.WorkOrder;
|
DefaultListAType = AyaType.WorkOrder;
|
||||||
SQLFrom = "from aworkorder "
|
SQLFrom = "from aworkorder "
|
||||||
|
// + "left join lateral (select id, workorderstatusid, workorderid from aworkorderstate st where workorderid = aworkorder.id order by st.id DESC limit 1) st on aworkorder.id=st.workorderid "
|
||||||
|
+ "left join aworkorderstatus on (aworkorder.laststatusid = aworkorderstatus.id) "
|
||||||
+ "left join acustomer on (aworkorder.customerid=acustomer.id) "
|
+ "left join acustomer on (aworkorder.customerid=acustomer.id) "
|
||||||
+ "left join aheadoffice on (acustomer.headofficeid=aheadoffice.id) "
|
+ "left join aheadoffice on (acustomer.headofficeid=aheadoffice.id) "
|
||||||
+ "left join aproject on (aworkorder.projectid=aproject.id) "
|
+ "left join aproject on (aworkorder.projectid=aproject.id) "
|
||||||
@@ -49,6 +51,16 @@ namespace AyaNova.DataList
|
|||||||
SqlValueColumnName = "aheadoffice.name"
|
SqlValueColumnName = "aheadoffice.name"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
FieldDefinitions.Add(new DataListFieldDefinition
|
||||||
|
{
|
||||||
|
TKey = "WorkOrderStatus",
|
||||||
|
FieldKey = "WorkOrderStatus",
|
||||||
|
UiFieldDataType = (int)UiFieldDataType.Text,
|
||||||
|
AType = (int)AyaType.WorkOrderStatus,
|
||||||
|
SqlIdColumnName = "aworkorder.laststatusid",
|
||||||
|
SqlValueColumnName = "aworkorderstatus.name"
|
||||||
|
});
|
||||||
|
|
||||||
FieldDefinitions.Add(new DataListFieldDefinition
|
FieldDefinitions.Add(new DataListFieldDefinition
|
||||||
{
|
{
|
||||||
TKey = "WorkOrderSummary",
|
TKey = "WorkOrderSummary",
|
||||||
|
|||||||
@@ -1309,6 +1309,9 @@ namespace AyaNova.Biz
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
await ct.WorkOrderState.AddAsync(newObject);
|
await ct.WorkOrderState.AddAsync(newObject);
|
||||||
|
var wo=await ct.WorkOrder.FirstOrDefaultAsync(x=>x.Id==newObject.WorkOrderId);
|
||||||
|
wo.LastStatusId=newObject.WorkOrderStatusId;
|
||||||
|
|
||||||
await ct.SaveChangesAsync();
|
await ct.SaveChangesAsync();
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, AyaType.WorkOrderStatus, AyaEvent.Created), ct);
|
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, AyaType.WorkOrderStatus, AyaEvent.Created), ct);
|
||||||
await StateHandlePotentialNotificationEvent(AyaEvent.Created, newObject);
|
await StateHandlePotentialNotificationEvent(AyaEvent.Created, newObject);
|
||||||
|
|||||||
@@ -56,6 +56,10 @@ namespace AyaNova.Models
|
|||||||
[NotMapped]
|
[NotMapped]
|
||||||
public string ContractViz { get; set; }
|
public string ContractViz { get; set; }
|
||||||
|
|
||||||
|
//redundant field to speed up list queries
|
||||||
|
//(added after status system already coded)
|
||||||
|
public long? LastStatusId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
//POSTAL ADDRESS / "BILLING ADDRESS"
|
//POSTAL ADDRESS / "BILLING ADDRESS"
|
||||||
public string PostAddress { get; set; }
|
public string PostAddress { get; set; }
|
||||||
|
|||||||
@@ -22,16 +22,16 @@ namespace AyaNova.Util
|
|||||||
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
|
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
|
||||||
private const int DESIRED_SCHEMA_LEVEL = 1;
|
private const int DESIRED_SCHEMA_LEVEL = 1;
|
||||||
|
|
||||||
internal const long EXPECTED_COLUMN_COUNT = 956;
|
internal const long EXPECTED_COLUMN_COUNT = 957;
|
||||||
internal const long EXPECTED_INDEX_COUNT = 137;
|
internal const long EXPECTED_INDEX_COUNT = 137;
|
||||||
internal const long EXPECTED_CHECK_CONSTRAINTS = 415;
|
internal const long EXPECTED_CHECK_CONSTRAINTS = 415;
|
||||||
internal const long EXPECTED_FOREIGN_KEY_CONSTRAINTS = 117;
|
internal const long EXPECTED_FOREIGN_KEY_CONSTRAINTS = 118;
|
||||||
internal const long EXPECTED_VIEWS = 6;
|
internal const long EXPECTED_VIEWS = 6;
|
||||||
internal const long EXPECTED_ROUTINES = 2;
|
internal const long EXPECTED_ROUTINES = 2;
|
||||||
|
|
||||||
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
|
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////// C957:I137:CC415:FC117:V6:R2 C957:I137:CC415:FC117:V6:R2
|
///////////////////////////////////////////////////////////////// C957:I137:CC415:FC118:V6:R2
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@@ -772,7 +772,7 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
|
|||||||
//WORKORDER
|
//WORKORDER
|
||||||
await ExecQueryAsync("CREATE TABLE aworkorder (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, serial BIGINT GENERATED BY DEFAULT AS IDENTITY NOT NULL, "
|
await ExecQueryAsync("CREATE TABLE aworkorder (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, serial BIGINT GENERATED BY DEFAULT AS IDENTITY NOT NULL, "
|
||||||
+ "notes TEXT, wiki TEXT, customfields TEXT, tags VARCHAR(255) ARRAY, customerid BIGINT NOT NULL REFERENCES acustomer (id), "
|
+ "notes TEXT, wiki TEXT, customfields TEXT, tags VARCHAR(255) ARRAY, customerid BIGINT NOT NULL REFERENCES acustomer (id), "
|
||||||
+ "projectid BIGINT REFERENCES aproject, contractid BIGINT NULL, internalreferencenumber text, customerreferencenumber text, customercontactname text, "
|
+ "projectid BIGINT REFERENCES aproject, laststatusid BIGINT REFERENCES aworkorderstatus(id), contractid BIGINT NULL, internalreferencenumber text, customerreferencenumber text, customercontactname text, "
|
||||||
+ "servicedate TIMESTAMP, completebydate TIMESTAMP, invoicenumber TEXT, customersignature TEXT, customersignaturename TEXT, customersignaturecaptured TIMESTAMP, "
|
+ "servicedate TIMESTAMP, completebydate TIMESTAMP, invoicenumber TEXT, customersignature TEXT, customersignaturename TEXT, customersignaturecaptured TIMESTAMP, "
|
||||||
+ "techsignature TEXT, techsignaturename TEXT, techsignaturecaptured TIMESTAMP, durationtocompleted INTERVAL NOT NULL, onsite BOOL NOT NULL, "
|
+ "techsignature TEXT, techsignaturename TEXT, techsignaturecaptured TIMESTAMP, durationtocompleted INTERVAL NOT NULL, onsite BOOL NOT NULL, "
|
||||||
+ "postaddress TEXT, postcity TEXT, postregion TEXT, postcountry TEXT, postcode TEXT, address TEXT, city TEXT, region TEXT, country TEXT, latitude DECIMAL(9,6), longitude DECIMAL(9,6) "
|
+ "postaddress TEXT, postcity TEXT, postregion TEXT, postcountry TEXT, postcode TEXT, address TEXT, city TEXT, region TEXT, country TEXT, latitude DECIMAL(9,6), longitude DECIMAL(9,6) "
|
||||||
|
|||||||
@@ -2888,6 +2888,7 @@ namespace AyaNova.Util
|
|||||||
Created = ((DateTime)o.ServiceDate).AddHours(2)
|
Created = ((DateTime)o.ServiceDate).AddHours(2)
|
||||||
};
|
};
|
||||||
o.States.Add(WoState);
|
o.States.Add(WoState);
|
||||||
|
o.LastStatusId=WoState.WorkOrderStatusId;//simulate if user added state to wo so it gets set
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user