case 4610

This commit is contained in:
2024-08-28 23:00:00 +00:00
parent e0f57fb1ee
commit 2548ba53d3
4 changed files with 48 additions and 41 deletions

2
.vscode/launch.json vendored
View File

@@ -63,7 +63,7 @@
"AYANOVA_DB_CONNECTION": "Server=localhost;Username=postgres;Password=raven;Database=AyaNova;CommandTimeout=300;",
"AYANOVA_DATA_PATH": "c:\\temp\\ravendata",
"AYANOVA_USE_URLS": "http://*:7575;",
//"AYANOVA_PERMANENTLY_ERASE_DATABASE":"true",
"AYANOVA_PERMANENTLY_ERASE_DATABASE":"true",
//"AYANOVA_REMOVE_LICENSE_FROM_DB":"true",
"AYANOVA_REPORT_RENDERING_TIMEOUT":"60",
//"AYANOVA_REPORT_RENDER_API_URL_OVERRIDE": "http://localhost:7575",

View File

@@ -10,7 +10,15 @@ See the [upgrade instructions](ops-upgrade.md) section of this manual for detail
### AyaNova 8.2.1
In progress....
Released 2024-08-28
\*\*Changed
- Server: updated internal 3rd party database related dependencies
**Fixed**
- Server: resolved issue which could result in an overflow exception error when opening an existing work order
### AyaNova 8.2.0

View File

@@ -8,7 +8,7 @@ site_name: AyaNova manual
site_dir: "../../../server/AyaNova/wwwroot/docs"
site_url: https://ayanova.com/docs/
strict: true
copyright: Copyright © 2022-2024 Ground Zero Tech-Works Inc. REV-2024-06-03
copyright: Copyright © 2022-2024 Ground Zero Tech-Works Inc. REV-2024-08-28
extra:
generator: false
# Extensions

View File

@@ -1975,47 +1975,46 @@ CREATE OR REPLACE VIEW public.viewpartinventorylist
await ExecQueryAsync("ALTER TABLE acustomernotifysubscription ALTER COLUMN decvalue SET DATA TYPE DECIMAL(28,8);");
await ExecQueryAsync("ALTER TABLE acustomernotifyevent ALTER COLUMN decvalue SET DATA TYPE DECIMAL(28,8);");
//RECREATE VIEWS
//RECREATE VIEWS
await ExecQueryAsync("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)");
await ExecQueryAsync(@"
CREATE OR REPLACE VIEW public.viewpartinventorylist
AS
SELECT apart.id AS partid,
apart.name AS partname,
apart.description AS partdescription,
apart.active AS partactive,
apart.cost AS partcost,
apart.retail AS partretail,
apart.tags AS parttags,
apartwarehouse.id AS partwarehouseid,
apartwarehouse.name AS partwarehousename,
awholesaler.name AS wholesalername,
awholesaler.id AS wholesalerid,
aaltwholesaler.id AS altwholesalerid,
aaltwholesaler.name AS altwholesalername,
vpartinventorynow.balance AS onhandqty,
COALESCE(vpartsonorder.quantityonorder, 0::numeric) AS onorderqty,
COALESCE(vpartsonordercommitted.quantityonordercommitted, 0::numeric) AS onordercommittedqty,
COALESCE(apartstocklevel.minimumquantity, 0::numeric) AS restockminqty,
GREATEST(COALESCE(apartstocklevel.minimumquantity, 0::numeric) - (COALESCE(vpartinventorynow.balance, 0::numeric) + COALESCE(vpartsonorder.quantityonorder, 0::numeric) - COALESCE(vpartsonordercommitted.quantityonordercommitted, 0::numeric)), 0::numeric) AS reorderqty,
vpartinventorynow.id AS partinventoryid,
vpartinventorynow.description AS partinventorydescription,
amanufacturer.name AS manufacturername,
amanufacturer.id AS manufacturerid
FROM vpartinventorynow
LEFT JOIN vpartsonordercommitted ON vpartinventorynow.partid = vpartsonordercommitted.partid AND vpartinventorynow.partwarehouseid = vpartsonordercommitted.partwarehouseid
LEFT JOIN vpartsonorder ON vpartinventorynow.partid = vpartsonorder.partid AND vpartinventorynow.partwarehouseid = vpartsonorder.partwarehouseid
LEFT JOIN apart ON vpartinventorynow.partid = apart.id
LEFT JOIN apartwarehouse ON vpartinventorynow.partwarehouseid = apartwarehouse.id
LEFT JOIN avendor awholesaler ON apart.wholesalerid = awholesaler.id
LEFT JOIN avendor aaltwholesaler ON apart.alternativewholesalerid = aaltwholesaler.id
LEFT JOIN avendor amanufacturer ON apart.manufacturerid = amanufacturer.id
LEFT JOIN apartstocklevel ON apartstocklevel.partid = apart.id AND apartstocklevel.partwarehouseid = vpartinventorynow.partwarehouseid;
");
await ExecQueryAsync(@"
CREATE OR REPLACE VIEW public.viewpartinventorylist
AS
SELECT apart.id AS partid,
apart.name AS partname,
apart.description AS partdescription,
apart.active AS partactive,
apart.cost AS partcost,
apart.retail AS partretail,
apart.tags AS parttags,
apartwarehouse.id AS partwarehouseid,
apartwarehouse.name AS partwarehousename,
awholesaler.name AS wholesalername,
awholesaler.id AS wholesalerid,
aaltwholesaler.id AS altwholesalerid,
aaltwholesaler.name AS altwholesalername,
vpartinventorynow.balance AS onhandqty,
COALESCE(vpartsonorder.quantityonorder, 0::numeric) AS onorderqty,
COALESCE(vpartsonordercommitted.quantityonordercommitted, 0::numeric) AS onordercommittedqty,
COALESCE(apartstocklevel.minimumquantity, 0::numeric) AS restockminqty,
GREATEST(COALESCE(apartstocklevel.minimumquantity, 0::numeric) - (COALESCE(vpartinventorynow.balance, 0::numeric) + COALESCE(vpartsonorder.quantityonorder, 0::numeric) - COALESCE(vpartsonordercommitted.quantityonordercommitted, 0::numeric)), 0::numeric) AS reorderqty,
vpartinventorynow.id AS partinventoryid,
vpartinventorynow.description AS partinventorydescription,
amanufacturer.name AS manufacturername,
amanufacturer.id AS manufacturerid
FROM vpartinventorynow
LEFT JOIN vpartsonordercommitted ON vpartinventorynow.partid = vpartsonordercommitted.partid AND vpartinventorynow.partwarehouseid = vpartsonordercommitted.partwarehouseid
LEFT JOIN vpartsonorder ON vpartinventorynow.partid = vpartsonorder.partid AND vpartinventorynow.partwarehouseid = vpartsonorder.partwarehouseid
LEFT JOIN apart ON vpartinventorynow.partid = apart.id
LEFT JOIN apartwarehouse ON vpartinventorynow.partwarehouseid = apartwarehouse.id
LEFT JOIN avendor awholesaler ON apart.wholesalerid = awholesaler.id
LEFT JOIN avendor aaltwholesaler ON apart.alternativewholesalerid = aaltwholesaler.id
LEFT JOIN avendor amanufacturer ON apart.manufacturerid = amanufacturer.id
LEFT JOIN apartstocklevel ON apartstocklevel.partid = apart.id AND apartstocklevel.partwarehouseid = vpartinventorynow.partwarehouseid;
");
await SetSchemaLevelAsync(++currentSchema);