case 3740 - whups
This commit is contained in:
@@ -909,6 +909,7 @@ namespace GZTW.AyaNova.BLL
|
||||
AyaBizUtils._SchemaUpdating = true;
|
||||
DBUtil.DB.ClearPool();
|
||||
int nSchemaLevelAtStart = int.MaxValue;
|
||||
|
||||
//There is nothing that can be done in here to handle errors other than to report them
|
||||
//If this fails a restore from database is the only option
|
||||
using (_cn = DBUtil.DB.GetConnection())
|
||||
@@ -2623,6 +2624,18 @@ No message for error code 336397208 found.
|
||||
#region Firebird Version 136 Case 3740
|
||||
if (nSchemaLevel < 136)
|
||||
{
|
||||
//-- Delete 'closed none received' orphan poitems
|
||||
DDL(@"DELETE FROM APURCHASEORDERITEM POI WHERE EXISTS (SELECT AID FROM APURCHASEORDER PO WHERE PO.AID=POI.APURCHASEORDERID AND PO.ASTATUS=6);");
|
||||
|
||||
//-- Fix 'Closed - partially received' po items with mismatching quantities
|
||||
DDL(
|
||||
@"MERGE INTO APURCHASEORDERITEM AS POI
|
||||
USING APURCHASEORDER AS PO
|
||||
ON PO.AID=POI.APURCHASEORDERID AND PO.ASTATUS=4
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET POI.AQUANTITYORDERED=POI.AQUANTITYRECEIVED, POI.ACLOSED=1;
|
||||
");
|
||||
|
||||
//-- Reset all ON ORDER to zero
|
||||
DDL(@"update APARTBYWAREHOUSEINVENTORY set AQUANTITYONORDER=0;");
|
||||
|
||||
@@ -2647,18 +2660,7 @@ WHEN MATCHED THEN
|
||||
UPDATE SET B.AQTYONORDERCOMMITTED=A.AQUANTITYORDERED-A.AQUANTITYRECEIVED
|
||||
");
|
||||
|
||||
//-- Delete 'closed none received' orphan poitems
|
||||
DDL(@"DELETE FROM APURCHASEORDERITEM POI WHERE EXISTS (SELECT AID FROM APURCHASEORDER PO WHERE PO.AID=POI.APURCHASEORDERID AND PO.ASTATUS=4);");
|
||||
|
||||
//-- Fix 'Closed - partially received' po items with mismatching quantities
|
||||
DDL(
|
||||
@"MERGE INTO APURCHASEORDERITEM AS POI
|
||||
USING APURCHASEORDER AS PO
|
||||
ON PO.AID=POI.APURCHASEORDERID AND PO.ASTATUS=4
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET POI.AQUANTITYORDERED=POI.AQUANTITYRECEIVED, POI.ACLOSED=1;
|
||||
");
|
||||
|
||||
|
||||
nSchemaLevel = 136;
|
||||
}
|
||||
#endregion
|
||||
@@ -4496,7 +4498,18 @@ UPDATE SET POI.AQUANTITYORDERED=POI.AQUANTITYRECEIVED, POI.ACLOSED=1;
|
||||
if (nSchemaLevel < 136)
|
||||
{
|
||||
|
||||
DDL(@"-- **** FIX INVENTORY ON ORDER ****
|
||||
DDL(
|
||||
@"-- Delete 'closed none received' orphan poitems
|
||||
delete APURCHASEORDERITEM from APURCHASEORDERITEM
|
||||
left outer join APURCHASEORDER on APURCHASEORDERITEM.APURCHASEORDERID = APURCHASEORDER.AID
|
||||
where APURCHASEORDER.ASTATUS=6;
|
||||
|
||||
-- Fix 'Closed - partially received' po items with mismatching quantities
|
||||
update APURCHASEORDERITEM set AQUANTITYORDERED=AQUANTITYRECEIVED, ACLOSED=1 from APURCHASEORDERITEM
|
||||
left outer join APURCHASEORDER on APURCHASEORDERITEM.APURCHASEORDERID = APURCHASEORDER.AID
|
||||
where APURCHASEORDER.ASTATUS=4;
|
||||
|
||||
-- **** FIX INVENTORY ON ORDER ****
|
||||
-- Reset all ON ORDER to zero
|
||||
update APARTBYWAREHOUSEINVENTORY set AQUANTITYONORDER=0;
|
||||
-- Update on order to actual values in PO Items
|
||||
@@ -4523,17 +4536,7 @@ where APURCHASEORDERITEM.ACLOSED=0 and APURCHASEORDERITEM.AWORKORDERITEMPARTREQU
|
||||
) as zACTUAL
|
||||
where
|
||||
zACTUAL.APARTWAREHOUSEID= APARTBYWAREHOUSEINVENTORY.APARTWAREHOUSEID and
|
||||
zACTUAL.APARTID=APARTBYWAREHOUSEINVENTORY.APARTID;
|
||||
|
||||
-- Delete 'closed none received' orphan poitems
|
||||
delete APURCHASEORDERITEM from APURCHASEORDERITEM
|
||||
left outer join APURCHASEORDER on APURCHASEORDERITEM.APURCHASEORDERID = APURCHASEORDER.AID
|
||||
where APURCHASEORDER.ASTATUS=6;
|
||||
|
||||
-- Fix 'Closed - partially received' po items with mismatching quantities
|
||||
update APURCHASEORDERITEM set AQUANTITYORDERED=AQUANTITYRECEIVED, ACLOSED=1 from APURCHASEORDERITEM
|
||||
left outer join APURCHASEORDER on APURCHASEORDERITEM.APURCHASEORDERID = APURCHASEORDER.AID
|
||||
where APURCHASEORDER.ASTATUS=4;");
|
||||
zACTUAL.APARTID=APARTBYWAREHOUSEINVENTORY.APARTID;");
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user