case 4477
This commit is contained in:
@@ -8,6 +8,12 @@ See the [upgrade instructions](ops-upgrade.md) section of this manual for detail
|
|||||||
|
|
||||||
## 2023
|
## 2023
|
||||||
|
|
||||||
|
|
||||||
|
"LastWorkOrderViz": 549,
|
||||||
|
"LastWorkOrderCompletedViz": 383,
|
||||||
|
"LastServiceDateViz": "2023-04-05T01:00:00Z",
|
||||||
|
"LastServiceDateCompletedViz": "2023-02-28T00:00:00Z",
|
||||||
|
|
||||||
### AyaNova 8.0.36 (2023-03-06)
|
### AyaNova 8.0.36 (2023-03-06)
|
||||||
|
|
||||||
#### Fixed
|
#### Fixed
|
||||||
|
|||||||
@@ -402,17 +402,19 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Too slow and complex for EF Core
|
//Too slow and complex for EF Core
|
||||||
|
|
||||||
|
|
||||||
using (var command = ct.Database.GetDbConnection().CreateCommand())
|
using (var command = ct.Database.GetDbConnection().CreateCommand())
|
||||||
{
|
{
|
||||||
await ct.Database.OpenConnectionAsync();
|
await ct.Database.OpenConnectionAsync();
|
||||||
|
|
||||||
|
//Most recent workorder of any status
|
||||||
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
|
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
|
||||||
SERVICEDATE AS LASTWORKORDERSERVICEDATE
|
SERVICEDATE AS LASTWORKORDERSERVICEDATE
|
||||||
FROM AWORKORDER
|
FROM AWORKORDER
|
||||||
LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID
|
WHERE AWORKORDER.CUSTOMERID = {o.Id}
|
||||||
WHERE AWORKORDERSTATUS.COMPLETED = TRUE
|
ORDER BY AWORKORDER.ID DESC
|
||||||
AND AWORKORDER.CUSTOMERID = {o.Id}
|
LIMIT 1";
|
||||||
ORDER BY AWORKORDER.ID DESC
|
|
||||||
LIMIT 1";
|
|
||||||
using (var dr = await command.ExecuteReaderAsync())
|
using (var dr = await command.ExecuteReaderAsync())
|
||||||
if (await dr.ReadAsync())
|
if (await dr.ReadAsync())
|
||||||
{
|
{
|
||||||
@@ -420,6 +422,25 @@ namespace AyaNova.Biz
|
|||||||
o.LastServiceDateViz = dr.GetDateTime(1);
|
o.LastServiceDateViz = dr.GetDateTime(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Most recent workorder of Completed=true status
|
||||||
|
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
|
||||||
|
SERVICEDATE AS LASTWORKORDERSERVICEDATE
|
||||||
|
FROM AWORKORDER
|
||||||
|
LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID
|
||||||
|
WHERE AWORKORDERSTATUS.COMPLETED = TRUE
|
||||||
|
AND AWORKORDER.CUSTOMERID = {o.Id}
|
||||||
|
ORDER BY AWORKORDER.ID DESC
|
||||||
|
LIMIT 1";
|
||||||
|
using (var dr = await command.ExecuteReaderAsync())
|
||||||
|
if (await dr.ReadAsync())
|
||||||
|
{
|
||||||
|
o.LastWorkOrderCompletedViz = dr.GetInt64(0);
|
||||||
|
o.LastServiceDateCompletedViz = dr.GetDateTime(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
await ct.Database.CloseConnectionAsync();
|
await ct.Database.CloseConnectionAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -384,6 +384,25 @@ namespace AyaNova.Biz
|
|||||||
using (var command = ct.Database.GetDbConnection().CreateCommand())
|
using (var command = ct.Database.GetDbConnection().CreateCommand())
|
||||||
{
|
{
|
||||||
await ct.Database.OpenConnectionAsync();
|
await ct.Database.OpenConnectionAsync();
|
||||||
|
|
||||||
|
//Most recent workorder of any status
|
||||||
|
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
|
||||||
|
SERVICEDATE AS LASTWORKORDERSERVICEDATE
|
||||||
|
FROM AWORKORDER
|
||||||
|
LEFT JOIN AWORKORDERITEM ON AWORKORDER.ID = AWORKORDERITEM.WORKORDERID
|
||||||
|
LEFT JOIN AWORKORDERITEMUNIT ON AWORKORDERITEM.ID = AWORKORDERITEMUNIT.WORKORDERITEMID
|
||||||
|
WHERE AWORKORDERITEMUNIT.UNITID = {o.Id}
|
||||||
|
ORDER BY AWORKORDER.ID DESC
|
||||||
|
LIMIT 1";
|
||||||
|
using (var dr = await command.ExecuteReaderAsync())
|
||||||
|
if (await dr.ReadAsync())
|
||||||
|
{
|
||||||
|
o.LastWorkOrderViz = dr.GetInt64(0);
|
||||||
|
o.LastServiceDateViz = dr.GetDateTime(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Most recent workorder of Completed=true status
|
||||||
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
|
command.CommandText = @$"SELECT serial AS LASTWORKORDERSERIAL,
|
||||||
SERVICEDATE AS LASTWORKORDERSERVICEDATE
|
SERVICEDATE AS LASTWORKORDERSERVICEDATE
|
||||||
FROM AWORKORDER
|
FROM AWORKORDER
|
||||||
@@ -397,10 +416,11 @@ namespace AyaNova.Biz
|
|||||||
using (var dr = await command.ExecuteReaderAsync())
|
using (var dr = await command.ExecuteReaderAsync())
|
||||||
if (await dr.ReadAsync())
|
if (await dr.ReadAsync())
|
||||||
{
|
{
|
||||||
o.LastWorkOrderViz = dr.GetInt64(0);
|
o.LastWorkOrderCompletedViz = dr.GetInt64(0);
|
||||||
o.LastServiceDateViz = dr.GetDateTime(1);
|
o.LastServiceDateCompletedViz = dr.GetDateTime(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
await ct.Database.CloseConnectionAsync();
|
await ct.Database.CloseConnectionAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,11 @@ namespace AyaNova.Models
|
|||||||
[NotMapped]
|
[NotMapped]
|
||||||
public long? LastWorkOrderViz { get; set; }
|
public long? LastWorkOrderViz { get; set; }
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
|
public long? LastWorkOrderCompletedViz { get; set; }
|
||||||
|
[NotMapped]
|
||||||
public DateTime? LastServiceDateViz { get; set; }
|
public DateTime? LastServiceDateViz { get; set; }
|
||||||
|
[NotMapped]
|
||||||
|
public DateTime? LastServiceDateCompletedViz { get; set; }
|
||||||
public string Phone1 { get; set; }
|
public string Phone1 { get; set; }
|
||||||
public string Phone2 { get; set; }
|
public string Phone2 { get; set; }
|
||||||
public string Phone3 { get; set; }
|
public string Phone3 { get; set; }
|
||||||
|
|||||||
@@ -62,7 +62,11 @@ namespace AyaNova.Models
|
|||||||
[NotMapped]
|
[NotMapped]
|
||||||
public long? LastWorkOrderViz { get; set; }
|
public long? LastWorkOrderViz { get; set; }
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
|
public long? LastWorkOrderCompletedViz { get; set; }
|
||||||
|
[NotMapped]
|
||||||
public DateTime? LastServiceDateViz { get; set; }
|
public DateTime? LastServiceDateViz { get; set; }
|
||||||
|
[NotMapped]
|
||||||
|
public DateTime? LastServiceDateCompletedViz { get; set; }
|
||||||
|
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
public string LastMeterNotesViz { get; set; }
|
public string LastMeterNotesViz { get; set; }
|
||||||
@@ -76,7 +80,7 @@ namespace AyaNova.Models
|
|||||||
public string Address { get; set; }
|
public string Address { get; set; }
|
||||||
public string City { get; set; }
|
public string City { get; set; }
|
||||||
public string Region { get; set; }
|
public string Region { get; set; }
|
||||||
public string Country { get; set; }
|
public string Country { get; set; }
|
||||||
public string AddressPostal { get; set; }
|
public string AddressPostal { get; set; }
|
||||||
public decimal? Latitude { get; set; }
|
public decimal? Latitude { get; set; }
|
||||||
public decimal? Longitude { get; set; }
|
public decimal? Longitude { get; set; }
|
||||||
|
|||||||
Reference in New Issue
Block a user