From fabd69c0d8f87cf9da3c5d979db6e5dc713d1e9a Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 25 Aug 2021 19:20:25 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 40 +++++------------------- ayanova/src/api/ayatype.js | 5 +-- ayanova/src/api/biz-role-rights.js | 1 + ayanova/src/views/inv-part-inventory.vue | 18 +++++++---- 4 files changed, 23 insertions(+), 41 deletions(-) diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 45978579..f0d72ac1 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -14,40 +14,12 @@ Aug Cases from Joyce +3919 "missing" inventory columns + she didn't mention it but it should report the same data so going to need a fix there + probably need a dbcontext keyless entry for vpartinventorylist just like existing vrestockrequired so can then build report data for it as a "flavor" of the inventory reports?? + select * from vpartinventorylist where partinventoryid < 150 order by partinventoryid -select apart.partnumber,apartwarehouse.name,vpartinventorylist.balance,vpartinventorylist.quantityonorder,vpartinventorylist.quantityonordercommitted,apart.name, -apart.active, apart.cost, apartstocklevel.minimumquantity,apart.retail, aws.name, aaws.name, -GREATEST( -COALESCE(apartstocklevel.minimumquantity, 0) - -(COALESCE(vpartinventorylist.balance, 0) + COALESCE(vpartinventorylist.quantityonorder, 0) - COALESCE(vpartinventorylist.quantityonordercommitted, 0)) -,0) -AS reorderquantity -from vpartinventorylist -LEFT JOIN apart ON (vpartinventorylist.partid = apart.id) -LEFT JOIN apartwarehouse ON (vpartinventorylist.partwarehouseid = apartwarehouse.id) -left join avendor AS aws on (apart.wholesalerid = aws.id) -left join avendor AS aaws on (apart.alternativewholesalerid = aaws.id) -left join apartstocklevel on (apartstocklevel.partid = apart.id AND apartstocklevel.partwarehouseid = vpartinventorylist.partwarehouseid) -order by apart.partnumber, apartwarehouse.name - - -select apart.partnumber,apartwarehouse.name,vpartinventorynow.balance,vpartsonorder.quantityonorder,vpartsonordercommitted.quantityonordercommitted,apart.name, -apart.active, apart.cost, apartstocklevel.minimumquantity,apart.retail, aws.name, aaws.name, -GREATEST( -COALESCE(apartstocklevel.minimumquantity, 0) - -(COALESCE(vpartinventorynow.balance, 0) + COALESCE(vpartsonorder.quantityonorder, 0) - COALESCE(vpartsonordercommitted.quantityonordercommitted, 0)) -,0) -AS reorderquantity - 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 AS aws on (apart.wholesalerid = aws.id) -left join avendor AS aaws on (apart.alternativewholesalerid = aaws.id) -left join apartstocklevel on (apartstocklevel.partid = apart.id AND apartstocklevel.partwarehouseid = vpartinventorynow.partwarehouseid) -order by apart.partnumber, apartwarehouse.name + also inventorytransactions and partinventory both bring up the same report data which is fucky @@ -57,6 +29,8 @@ order by apart.partnumber, apartwarehouse.name + Migrate not setting inventory to zero for the zV8MigrateSubstitute parts created + it should find them all and reset them to zero balance at the end, currently sits at 1billion po workorderitempart request selection dialog missing stubbed out as todo where you select part requests that are open to order Update all dependencies here diff --git a/ayanova/src/api/ayatype.js b/ayanova/src/api/ayatype.js index dea841fd..e0af7568 100644 --- a/ayanova/src/api/ayatype.js +++ b/ayanova/src/api/ayatype.js @@ -104,7 +104,7 @@ export default { PartInventory: 67, DataListColumnView: 68, PartInventoryRestock: 69, //for list only, synthetic object - PartInventoryRequest: 70, //for list only not, synthetic object + PartInventoryRequest: 70, //for list only, synthetic object WorkOrderStatus: 71, TaskGroup: 72, WorkOrderItemOutsideService: 73, @@ -123,7 +123,8 @@ export default { PMItemTask: 86, PMItemTravel: 87, PMItemUnit: 88, - PMItemOutsideService: 89 + PMItemOutsideService: 89, + PartInventoryDataList: 90 //for list/reporting only, synthetic object }; /** * diff --git a/ayanova/src/api/biz-role-rights.js b/ayanova/src/api/biz-role-rights.js index 716475be..77f57f19 100644 --- a/ayanova/src/api/biz-role-rights.js +++ b/ayanova/src/api/biz-role-rights.js @@ -17,6 +17,7 @@ export default { PurchaseOrder: { Change: 98, ReadFullRecord: 29, Select: 131071 }, PartInventoryRequest: { Change: 98, ReadFullRecord: 29, Select: 131071 }, PartInventoryRestock: { Change: 98, ReadFullRecord: 29, Select: 131071 }, + PartInventoryDataList: { Change: 98, ReadFullRecord: 29, Select: 131071 }, Project: { Change: 33098, ReadFullRecord: 65669, Select: 131071 }, ServiceRate: { Change: 74, ReadFullRecord: 33037, Select: 131071 }, TravelRate: { Change: 74, ReadFullRecord: 33037, Select: 131071 }, diff --git a/ayanova/src/views/inv-part-inventory.vue b/ayanova/src/views/inv-part-inventory.vue index a3fc5a3b..41ac5704 100644 --- a/ayanova/src/views/inv-part-inventory.vue +++ b/ayanova/src/views/inv-part-inventory.vue @@ -64,7 +64,7 @@ export default { data() { return { rights: window.$gz.role.defaultRightsObject(), - aType: window.$gz.type.PartInventory, + aType: window.$gz.type.PartInventoryDataList, selectedItems: [], clientCriteria: undefined, preFilterMode: null, @@ -102,7 +102,7 @@ async function clickHandler(menuItem) { case "extensions": let res = await m.vm.$refs.extensions.open( m.vm.$refs.gzdatatable.getDataListSelection( - window.$gz.type.PartInventory + window.$gz.type.PartInventoryDataList ) ); if (res && res.refresh == true) { @@ -114,14 +114,17 @@ async function clickHandler(menuItem) { //last report selected is in m.id m.vm.$router.push({ name: "ay-report", - params: { recordid: m.id, ayatype: window.$gz.type.PartInventory } + params: { + recordid: m.id, + ayatype: window.$gz.type.PartInventoryDataList + } }); } else { //general report selector chosen let res = await m.vm.$refs.reportSelector.open( m.vm.$refs.gzdatatable.getDataListSelection( - window.$gz.type.PartInventory + window.$gz.type.PartInventoryDataList ) ); @@ -136,7 +139,10 @@ async function clickHandler(menuItem) { //Now open the report viewer... m.vm.$router.push({ name: "ay-report", - params: { recordid: res.id, ayatype: window.$gz.type.PartInventory } + params: { + recordid: res.id, + ayatype: window.$gz.type.PartInventoryDataList + } }); } break; @@ -161,7 +167,7 @@ function generateMenu(vm) { helpUrl: "inv-part-inventory", menuItems: [], formData: { - ayaType: window.$gz.type.PartInventory + ayaType: window.$gz.type.PartInventoryDataList } };