void dspWoOperationsByWorkCenter::sPopulateMenu(QMenu *pMenu, QTreeWidgetItem *selected) { QString status(selected->text(2)); int menuItem; bool multi = false; int cnt = _wooper->selectedItems().size(); multi = (cnt > 1); menuItem = pMenu->insertItem(tr("View Operation..."), this, SLOT(sViewOperation()), 0); if (multi || ((!_privileges->check("ViewWoOperations")) && (!_privileges->check("MaintainWoOperations")))) pMenu->setItemEnabled(menuItem, FALSE); if ( (status == "E") || (status == "I") || (status == "R") ) { menuItem = pMenu->insertItem(tr("Edit Operation..."), this, SLOT(sEditOperation()), 0); if (multi || !_privileges->check("MaintainWoOperations")) pMenu->setItemEnabled(menuItem, FALSE); menuItem = pMenu->insertItem(tr("Delete Operation..."), this, SLOT(sDeleteOperation()), 0); if (multi || !_privileges->check("MaintainWoOperations")) pMenu->setItemEnabled(menuItem, FALSE); pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("Print Pick List(s)..."), this, SLOT(sPrintPickLists()), 0); if (!_privileges->check("PrintWorkOrderPaperWork")) pMenu->setItemEnabled(menuItem, FALSE); pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("Post Production..."), this, SLOT(sPostProduction()), 0); if (multi || !_privileges->check("PostProduction")) pMenu->setItemEnabled(menuItem, FALSE); menuItem = pMenu->insertItem(tr("Post Operations..."), this, SLOT(sPostOperations()), 0); if (multi || !_privileges->check("PostWoOperations")) pMenu->setItemEnabled(menuItem, FALSE); pMenu->insertSeparator(); } menuItem = pMenu->insertItem(tr("Running Availability..."), this, SLOT(sRunningAvailability()), 0); if (!_privileges->check("ViewInventoryAvailability")) pMenu->setItemEnabled(menuItem, FALSE); menuItem = pMenu->insertItem(tr("MPS Detail..."), this, SLOT(sMPSDetail()), 0); if (!_privileges->check("ViewMPS")) pMenu->setItemEnabled(menuItem, FALSE); }
/* * Constructs a dspWoScheduleByParameterList as a child of 'parent', with the * name 'name' and widget flags set to 'f'. * */ dspWoScheduleByParameterList::dspWoScheduleByParameterList(QWidget* parent, const char* name, Qt::WFlags fl) : QMainWindow(parent, name, fl) { setupUi(this); (void)statusBar(); // signals and slots connections connect(_wo, SIGNAL(populateMenu(QMenu*,QTreeWidgetItem*,int)), this, SLOT(sPopulateMenu(QMenu*, QTreeWidgetItem*))); connect(_close, SIGNAL(clicked()), this, SLOT(close())); connect(_print, SIGNAL(clicked()), this, SLOT(sPrint())); connect(_query, SIGNAL(clicked()), this, SLOT(sFillList())); connect(_autoUpdate, SIGNAL(toggled(bool)), this, SLOT(sHandleAutoUpdate(bool))); connect(_postProduction, SIGNAL(clicked()), this, SLOT(sPostProduction())); connect(_postOperations, SIGNAL(clicked()), this, SLOT(sPostOperations())); connect(_printTraveler, SIGNAL(clicked()), this, SLOT(sPrintTraveler())); connect(_wo, SIGNAL(itemSelectionChanged()), this, SLOT(sHandleButtons())); _dates->setStartCaption(tr("Start W/O Start Date:")); _dates->setStartNull(tr("Earliest"), omfgThis->startOfTime(), TRUE); _dates->setEndNull(tr("Latest"), omfgThis->endOfTime(), TRUE); _dates->setEndCaption(tr("End W/O Start Date:")); _wo->addColumn(tr("parentType"), 0, Qt::AlignCenter ); _wo->addColumn(tr("W/O #"), _orderColumn, Qt::AlignLeft ); _wo->addColumn(tr("Status"), _statusColumn, Qt::AlignCenter ); _wo->addColumn(tr("Pri."), _statusColumn, Qt::AlignCenter ); _wo->addColumn(tr("Whs."), _whsColumn, Qt::AlignCenter ); _wo->addColumn(tr("Item Number"), _itemColumn, Qt::AlignLeft ); _wo->addColumn(tr("Description"), -1, Qt::AlignLeft ); _wo->addColumn(tr("UOM"), _uomColumn, Qt::AlignCenter ); _wo->addColumn(tr("Ordered"), _qtyColumn, Qt::AlignRight ); _wo->addColumn(tr("Received"), _qtyColumn, Qt::AlignRight ); _wo->addColumn(tr("Start Date"), _dateColumn, Qt::AlignRight ); _wo->addColumn(tr("Due Date"), _dateColumn, Qt::AlignRight ); _wo->addColumn(tr("Condition"), _dateColumn, Qt::AlignLeft ); connect(omfgThis, SIGNAL(workOrdersUpdated(int, bool)), this, SLOT(sFillList())); if (!_metrics->boolean("Routings")) _postOperations->hide(); }
dspWoScheduleByParameterList::dspWoScheduleByParameterList(QWidget* parent, const char* name, Qt::WFlags fl) : XWidget(parent, name, fl) { setupUi(this); connect(_wo, SIGNAL(populateMenu(QMenu*,QTreeWidgetItem*,int)), this, SLOT(sPopulateMenu(QMenu*, QTreeWidgetItem*))); connect(_print, SIGNAL(clicked()), this, SLOT(sPrint())); connect(_query, SIGNAL(clicked()), this, SLOT(sFillList())); connect(_autoUpdate, SIGNAL(toggled(bool)), this, SLOT(sHandleAutoUpdate(bool))); connect(_postProduction, SIGNAL(clicked()), this, SLOT(sPostProduction())); connect(_postOperations, SIGNAL(clicked()), this, SLOT(sPostOperations())); connect(_printTraveler, SIGNAL(clicked()), this, SLOT(sPrintTraveler())); connect(_wo, SIGNAL(itemSelectionChanged()), this, SLOT(sHandleButtons())); _dates->setStartCaption(tr("Start W/O Start Date:")); _dates->setStartNull(tr("Earliest"), omfgThis->startOfTime(), TRUE); _dates->setEndNull(tr("Latest"), omfgThis->endOfTime(), TRUE); _dates->setEndCaption(tr("End W/O Start Date:")); _wo->addColumn(tr("parentType"), 0, Qt::AlignCenter, true, "wo_ordtype" ); _wo->addColumn(tr("W/O #"), _orderColumn, Qt::AlignLeft, true, "wonumber" ); _wo->addColumn(tr("Status"), _statusColumn, Qt::AlignCenter, true, "wo_status" ); _wo->addColumn(tr("Pri."), _statusColumn, Qt::AlignCenter, true, "wo_priority" ); _wo->addColumn(tr("Site"), _whsColumn, Qt::AlignCenter, true, "warehous_code" ); _wo->addColumn(tr("Item Number"), _itemColumn, Qt::AlignLeft, true, "item_number" ); _wo->addColumn(tr("Description"), -1, Qt::AlignLeft, true, "itemdescrip" ); _wo->addColumn(tr("UOM"), _uomColumn, Qt::AlignCenter, true, "uom_name" ); _wo->addColumn(tr("Ordered"), _qtyColumn, Qt::AlignRight, true, "wo_qtyord" ); _wo->addColumn(tr("Received"), _qtyColumn, Qt::AlignRight, true, "wo_qtyrcv" ); _wo->addColumn(tr("Start Date"), _dateColumn, Qt::AlignRight, true, "wo_startdate" ); _wo->addColumn(tr("Due Date"), _dateColumn, Qt::AlignRight, true, "wo_duedate" ); _wo->addColumn(tr("Condition"), _dateColumn, Qt::AlignLeft, true, "condition" ); connect(omfgThis, SIGNAL(workOrdersUpdated(int, bool)), this, SLOT(sFillList())); if (!_metrics->boolean("Routings")) _postOperations->hide(); sHandleAutoUpdate(_autoUpdate->isChecked()); }
void dspWoBufferStatusByParameterList::sPopulateMenu(QMenu *pMenu, QTreeWidgetItem *selected) { QString status(selected->text(2)); int menuItem; menuItem = pMenu->insertItem(tr("View W/O"), this, SLOT(sView()), 0); pMenu->insertSeparator(); if (status == "E") { menuItem = pMenu->insertItem(tr("Release W/O"), this, SLOT(sReleaseWO()), 0); if (!_privileges->check("ReleaseWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } else if (status == "R") { menuItem = pMenu->insertItem(tr("Recall W/O"), this, SLOT(sRecallWO()), 0); if (!_privileges->check("RecallWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } if ((status == "E") || (status == "R") || (status == "I")) { menuItem = pMenu->insertItem(tr("Post Production..."), this, SLOT(sPostProduction()), 0); if (!_privileges->check("PostProduction")) pMenu->setItemEnabled(menuItem, FALSE); if (status != "E") { menuItem = pMenu->insertItem(tr("Correct Production Posting..."), this, SLOT(sCorrectProductionPosting()), 0); if (!_privileges->check("PostProduction")) pMenu->setItemEnabled(menuItem, FALSE); } menuItem = pMenu->insertItem(tr("Post Operations..."), this, SLOT(sPostOperations()), 0); if (!_privileges->check("PostWoOperations")) pMenu->setItemEnabled(menuItem, FALSE); if (status != "E") { menuItem = pMenu->insertItem(tr("Correct Operations Posting..."), this, SLOT(sCorrectOperationsPosting()), 0); if (!_privileges->check("PostWoOperations")) pMenu->setItemEnabled(menuItem, FALSE); } pMenu->insertSeparator(); } if (status == "O") { menuItem = pMenu->insertItem(tr("Explode W/O..."), this, SLOT(sExplodeWO()), 0); if (!_privileges->check("ExplodeWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } else if (status == "E") { menuItem = pMenu->insertItem(tr("Implode W/O..."), this, SLOT(sImplodeWO()), 0); if (!_privileges->check("ImplodeWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } if ((status == "O") || (status == "E")) { pMenu->insertItem(tr("Delete W/O..."), this, SLOT(sDeleteWO()), 0); if (!_privileges->check("DeleteWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } else { menuItem = pMenu->insertItem(tr("Close W/O..."), this, SLOT(sCloseWO()), 0); if (!_privileges->check("CloseWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } pMenu->insertSeparator(); if ((status == "E") || (status == "R") || (status == "I")) { menuItem = pMenu->insertItem(tr("View W/O Material Requirements..."), this, SLOT(sViewWomatl()), 0); if (!_privileges->check("ViewWoMaterials")) pMenu->setItemEnabled(menuItem, FALSE); menuItem = pMenu->insertItem(tr("View W/O Operations..."), this, SLOT(sViewWooper()), 0); if (!_privileges->check("ViewWoOperations")) pMenu->setItemEnabled(menuItem, FALSE); menuItem = pMenu->insertItem(tr("Inventory Availability by Work Order..."), this, SLOT(sInventoryAvailabilityByWorkOrder()), 0); if (!_privileges->check("ViewInventoryAvailability")) pMenu->setItemEnabled(menuItem, FALSE); pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("Print Traveler..."), this, SLOT(sPrintTraveler()), 0); if (!_privileges->check("PrintWorkOrderPaperWork")) pMenu->setItemEnabled(menuItem, FALSE); } if ((status == "O") || (status == "E")) { pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("Reprioritize W/O..."), this, SLOT(sReprioritizeWo()), 0); if (!_privileges->check("ReprioritizeWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); menuItem = pMenu->insertItem(tr("Reschedule W/O..."), this, SLOT(sRescheduleWO()), 0); if (!_privileges->check("RescheduleWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); menuItem = pMenu->insertItem(tr("Change W/O Quantity..."), this, SLOT(sChangeWOQty()), 0); if (!_privileges->check("ChangeWorkOrderQty")) pMenu->setItemEnabled(menuItem, FALSE); } if (_wo->altId() != -1) { if (selected->text(0) == "S") { pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("View Parent Sales Order Information..."), this, SLOT(sViewParentSO()), 0); } else if (selected->text(0) == "W") { pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("View Parent Work Order Information..."), this, SLOT(sViewParentWO()), 0); } } }
void dspWoScheduleByItem::sPopulateMenu(QMenu *pMenu, QTreeWidgetItem *selected) { QString status(selected->text(1)); int menuItem; menuItem = pMenu->insertItem(tr("Edit W/O"), this, SLOT(sEdit()), 0); menuItem = pMenu->insertItem(tr("View W/O"), this, SLOT(sView()), 0); pMenu->insertSeparator(); if (status == "E") { menuItem = pMenu->insertItem(tr("Release W/O"), this, SLOT(sReleaseWO()), 0); if (!_privileges->check("ReleaseWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } else if (status == "R") { menuItem = pMenu->insertItem(tr("Recall W/O"), this, SLOT(sRecallWO()), 0); if (!_privileges->check("RecallWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } if ((status == "E") || (status == "R") || (status == "I")) { menuItem = pMenu->insertItem(tr("Post Production..."), this, SLOT(sPostProduction()), 0); if (!_privileges->check("PostProduction")) pMenu->setItemEnabled(menuItem, FALSE); if (status != "E") { menuItem = pMenu->insertItem(tr("Correct Production Posting..."), this, SLOT(sCorrectProductionPosting()), 0); if (!_privileges->check("PostProduction")) pMenu->setItemEnabled(menuItem, FALSE); } if (_metrics->boolean("Routings")) { menuItem = pMenu->insertItem(tr("Post Operations..."), this, SLOT(sPostOperations()), 0); if (!_privileges->check("PostWoOperations")) pMenu->setItemEnabled(menuItem, FALSE); if (status != "E") { menuItem = pMenu->insertItem(tr("Correct Operations Posting..."), this, SLOT(sCorrectOperationsPosting()), 0); if (!_privileges->check("PostWoOperations")) pMenu->setItemEnabled(menuItem, FALSE); } } pMenu->insertSeparator(); } if (status == "O") { menuItem = pMenu->insertItem(tr("Explode W/O..."), this, SLOT(sExplodeWO()), 0); if (!_privileges->check("ExplodeWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } else if (status == "E") { menuItem = pMenu->insertItem(tr("Implode W/O..."), this, SLOT(sImplodeWO()), 0); if (!_privileges->check("ImplodeWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } if ((status == "O") || (status == "E")) { menuItem = pMenu->insertItem(tr("Delete W/O..."), this, SLOT(sDeleteWO()), 0); if (!_privileges->check("DeleteWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } else { menuItem = pMenu->insertItem(tr("Close W/O..."), this, SLOT(sCloseWO()), 0); if (!_privileges->check("CloseWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); } pMenu->insertSeparator(); if ((status == "E") || (status == "R") || (status == "I")) { menuItem = pMenu->insertItem(tr("View W/O Material Requirements..."), this, SLOT(sViewWomatl()), 0); if (!_privileges->check("ViewWoMaterials")) pMenu->setItemEnabled(menuItem, FALSE); if (_metrics->boolean("Routings")) { menuItem = pMenu->insertItem(tr("View W/O Operations..."), this, SLOT(sViewWooper()), 0); if (!_privileges->check("ViewWoOperations")) pMenu->setItemEnabled(menuItem, FALSE); } menuItem = pMenu->insertItem(tr("Inventory Availability by Work Order..."), this, SLOT(sInventoryAvailabilityByWorkOrder()), 0); if (!_privileges->check("ViewInventoryAvailability")) pMenu->setItemEnabled(menuItem, FALSE); pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("Print Traveler..."), this, SLOT(sPrintTraveler()), 0); if (!_privileges->check("PrintWorkOrderPaperWork")) pMenu->setItemEnabled(menuItem, FALSE); pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("Issue Material Item..."), this, SLOT(sIssueWoMaterialItem())); pMenu->setItemEnabled(menuItem, _privileges->check("IssueWoMaterials")); } if ((status == "O") || (status == "E")) { pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("Reprioritize W/O..."), this, SLOT(sReprioritizeWo()), 0); if (!_privileges->check("ReprioritizeWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); menuItem = pMenu->insertItem(tr("Reschedule W/O..."), this, SLOT(sRescheduleWO()), 0); if (!_privileges->check("RescheduleWorkOrders")) pMenu->setItemEnabled(menuItem, FALSE); menuItem = pMenu->insertItem(tr("Change W/O Quantity..."), this, SLOT(sChangeWOQty()), 0); if (!_privileges->check("ChangeWorkOrderQty")) pMenu->setItemEnabled(menuItem, FALSE); } pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("View Bill of Materials..."), this, SLOT(sViewBOM()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("ViewBOMs")); if (_metrics->boolean("Routings")) { menuItem = pMenu->insertItem(tr("View Bill of Operations..."), this, SLOT(sViewBOO()), 0); pMenu->setItemEnabled(menuItem, _privileges->check("ViewBOOs")); } pMenu->insertSeparator(); menuItem = pMenu->insertItem(tr("Running Availability..."), this, SLOT(sDspRunningAvailability()), 0); if (_metrics->boolean("Routings")) { menuItem = pMenu->insertItem(tr("Production Time Clock by Work Order..."), this, SLOT(sDspWoEffortByWorkOrder()), 0); pMenu->setItemEnabled(menuItem, (_privileges->check("MaintainWoTimeClock") || _privileges->check("ViewWoTimeClock"))); } }
moduleWO::moduleWO(OpenMFGGUIClient *Pparent) : QObject(Pparent, "poModule") { parent = Pparent; toolBar = new QToolBar(tr("W/O Tools")); toolBar->setObjectName("W/O Tools"); toolBar->setIconSize(QSize(32, 32)); if (_preferences->boolean("ShowWOToolbar")) parent->addToolBar(toolBar); // Create the W/O menuitems controlMenu = new QMenu(); if (_metrics->boolean("Routings")) { parent->actions.append( new Action( parent, "wo.woTimeClock", tr("Shop Floor Workbench..."), this, SLOT(sWoTimeClock()), controlMenu, _privleges->check("WoTimeClock"), QPixmap(":/images/shopFloorWorkbench.png"), toolBar ) ); controlMenu->insertSeparator(); } parent->actions.append( new Action( parent, "wo.newWorkOrder", tr("Create New Work Order..."), this, SLOT(sNewWorkOrder()), controlMenu, _privleges->check("MaintainWorkOrders") ) ); controlMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.explodeWorkOrder", tr("Explode Work Order..."), this, SLOT(sExplodeWorkOrder()), controlMenu, _privleges->check("ExplodeWorkOrders") ) ); parent->actions.append( new Action( parent, "wo.implodeWorkOrder", tr("Implode Work Order..."), this, SLOT(sImplodeWorkOrder()), controlMenu, _privleges->check("ImplodeWorkOrders") ) ); parent->actions.append( new Action( parent, "wo.closeWorkOrder", tr("Close Work Order..."), this, SLOT(sCloseWorkOrder()), controlMenu, _privleges->check("CloseWorkOrders") ) ); controlMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.printTraveler", tr("Print Traveler..."), this, SLOT(sPrintTraveler()), controlMenu, _privleges->check("PrintWorkOrderPaperWork") ) ); parent->actions.append( new Action( parent, "wo.printPickList", tr("Print Pick List..."), this, SLOT(sPrintPickList()), controlMenu, _privleges->check("PrintWorkOrderPaperWork") ) ); if ( _metrics->boolean("Routings") ) parent->actions.append( new Action( parent, "wo.printRouting", tr("Print Routing..."), this, SLOT(sPrintRouting()), controlMenu, _privleges->check("PrintWorkOrderPaperWork") ) ); controlMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.releaseWorkOrdersByPlannerCode", tr("Release Work Orders by Planner Code..."), this, SLOT(sReleaseWorkOrdersByPlannerCode()), controlMenu, _privleges->check("ReleaseWorkOrders") ) ); parent->actions.append( new Action( parent, "wo.reprioritizeWorkOrder", tr("Reprioritize Work Order..."), this, SLOT(sReprioritizeWorkOrder()), controlMenu, _privleges->check("ReprioritizeWorkOrders") ) ); parent->actions.append( new Action( parent, "wo.rescheduleWorkOrder", tr("Reschedule Work Order..."), this, SLOT(sRescheduleWorkOrder()), controlMenu, _privleges->check("RescheduleWorkOrders") ) ); parent->actions.append( new Action( parent, "wo.changeWorkOrderQuantity", tr("Change Work Order Quantity..."), this, SLOT(sChangeWorkOrderQty()), controlMenu, _privleges->check("ChangeWorkOrderQty") ) ); controlMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.purgeClosedWorkOrder", tr("Purge Closed Work Orders..."), this, SLOT(sPurgeClosedWorkOrders()), controlMenu, _privleges->check("PurgeWorkOrders") ) ); // W/O | W/O Materials materialsMenu = new QMenu(); parent->actions.append( new Action( parent, "wo.createWoMaterialRequirement", tr("Create W/O Material Requirement..."), this, SLOT(sCreateWoMaterialRequirement()), materialsMenu, _privleges->check("MaintainWoMaterials") ) ); parent->actions.append( new Action( parent, "wo.deleteWoMaterialRequirement", tr("Delete W/O Material Requirement..."), this, SLOT(sDeleteWoMaterialRequirement()), materialsMenu, _privleges->check("MaintainWoMaterials") ) ); parent->actions.append( new Action( parent, "wo.maintainWoMaterialRequirements", tr("Maintain W/O Material Requirements..."), this, SLOT(sMaintainWoMaterials()), materialsMenu, _privleges->check("MaintainWoMaterials") ) ); materialsMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.issueWoMaterialBatch", tr("Issue W/O Material Batch..."), this, SLOT(sIssueWoMaterialBatch()), materialsMenu, _privleges->check("IssueWoMaterials") ) ); parent->actions.append( new Action( parent, "wo.issueWoMaterialItem", tr("Issue W/O Material Item..."), this, SLOT(sIssueWoMaterialItem()), materialsMenu, _privleges->check("IssueWoMaterials") ) ); parent->actions.append( new Action( parent, "wo.returnWoMaterialBatch", tr("Return W/O Material Batch..."), this, SLOT(sReturnWoMaterialBatch()), materialsMenu, _privleges->check("ReturnWoMaterials") ) ); parent->actions.append( new Action( parent, "wo.returnWoMaterialItem", tr("Return W/O Material Item..."), this, SLOT(sReturnWoMaterialItem()), materialsMenu, _privleges->check("ReturnWoMaterials") ) ); parent->actions.append( new Action( parent, "wo.scrapWoMaterialFromWo", tr("Scrap W/O Material from W/O..."), this, SLOT(sScrapWoMaterialFromWo()), materialsMenu, _privleges->check("ScrapWoMaterials") ) ); materialsMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.postProduction", tr("Post Production..."), this, SLOT(sPostProduction()), materialsMenu, _privleges->check("PostProduction") ) ); parent->actions.append( new Action( parent, "wo.correctProductionPosting", tr("Correct Production Posting..."), this, SLOT(sCorrectProductionPosting()), materialsMenu, _privleges->check("PostProduction") ) ); parent->actions.append( new Action( parent, "wo.postMiscProduction", tr("Post Miscellaneous Production..."), this, SLOT(sPostMiscProduction()), materialsMenu, _privleges->check("PostMiscProduction") ) ); // W/O | Operations operationsMenu = new QMenu(); parent->actions.append( new Action( parent, "wo.createWoOperation", tr("Create W/O Operation..."), this, SLOT(sCreateWoOperation()), operationsMenu, _privleges->check("MaintainWoOperations") && _metrics->boolean("Routings") ) ); parent->actions.append( new Action( parent, "wo.maintainWoOperation", tr("Maintain W/O Operations..."), this, SLOT(sMaintainWoOperations()), operationsMenu, _privleges->check("MaintainWoOperations") && _metrics->boolean("Routings") ) ); operationsMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.postOperations", tr("Post Operations..."), this, SLOT(sPostOperations()), operationsMenu, _privleges->check("PostWoOperations") && _metrics->boolean("Routings") ) ); parent->actions.append( new Action( parent, "wo.correctOperationsPosting", tr("Correct Operations Posting..."), this, SLOT(sCorrectOperationsPosting()), operationsMenu, _privleges->check("PostWoOperations") && _metrics->boolean("Routings") ) ); // W/O | Displays displaysMenu = new QMenu(); parent->actions.append( new Action( parent, "wo.dspWoScheduleByItem", tr("Work Order Schedule by Item..."), this, SLOT(sDspWoScheduleByItem()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")))); // QPixmap(":/images/dspWoScheduleByItem.xpm"), toolBar ) ); parent->actions.append( new Action( parent, "wo.dspWoScheduleByItemGroup", tr("Work Order Schedule by Item Group..."), this, SLOT(sDspWoScheduleByItemGroup()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) ) ); parent->actions.append( new Action( parent, "wo.dspWoScheduleByClassCode", tr("Work Order Schedule by Class Code..."), this, SLOT(sDspWoScheduleByClassCode()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) ) ); parent->actions.append( new Action( parent, "wo.dspWoScheduleByPlannerCode", tr("Work Order Schedule by Planner Code..."), this, SLOT(sDspWoScheduleByPlannerCode()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")), QPixmap(":/images/dspWoScheduleByPlannerCode.png"), toolBar ) ); if (_metrics->boolean("Routings")) parent->actions.append( new Action( parent, "wo.dspWoScheduleByWorkCenter", tr("Work Order Schedule by Work Center..."), this, SLOT(sDspWoScheduleByWorkCenter()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) && _metrics->boolean("Routings") ) ); displaysMenu->insertSeparator(); if (_metrics->boolean("BufferMgt") ) { // parent->actions.append( new Action( parent, "wo.dspWoBufferStatusByItem", tr("Work Order Buffer Status by Item..."), // this, SLOT(sDspWoBufferStatusByItem()), // displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) // && (_metrics->value("Applicaion") == "OpenMFG") ) ); parent->actions.append( new Action( parent, "wo.dspWoBufferStatusByItemGroup", tr("Work Order Buffer Status by Item Group..."), this, SLOT(sDspWoBufferStatusByItemGroup()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) && _metrics->boolean("BufferMgt") ) ); parent->actions.append( new Action( parent, "wo.dspWoBufferStatusByClassCode", tr("Work Order Buffer Status by Class Code..."), this, SLOT(sDspWoBufferStatusByClassCode()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) && _metrics->boolean("BufferMgt") ) ); parent->actions.append( new Action( parent, "wo.dspWoBufferStatusByPlannerCode", tr("Work Order Buffer Status by Planner Code..."), this, SLOT(sDspWoBufferStatusByPlannerCode()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) && _metrics->boolean("BufferMgt") ) ); displaysMenu->insertSeparator(); } parent->actions.append( new Action( parent, "wo.dspWoHistoryByItem", tr("Work Order History by Item..."), this, SLOT(sDspWoHistoryByItem()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) ) ); parent->actions.append( new Action( parent, "wo.dspWoHistoryByNumber", tr("Work Order History by W/O Number..."), this, SLOT(sDspWoHistoryByNumber()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) ) ); parent->actions.append( new Action( parent, "wo.dspWoHistoryByClassCode", tr("Work Order History by Class Code..."), this, SLOT(sDspWoHistoryByClassCode()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) ) ); displaysMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.dspWoMaterialRequirementsByComponentItem", tr("W/O Material Requirements by Component Item..."), this, SLOT(sDspWoMaterialsByComponentItem()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) ) ); parent->actions.append( new Action( parent, "wo.dspWoMaterialRequirementsByWorkOrder", tr("W/O Material Requirements by Work Order..."), this, SLOT(sDspWoMaterialsByWo()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) ) ); parent->actions.append( new Action( parent, "wo.dspInventoryAvailabilityByWorkOrder", tr("Inventory Availability by Work Order..."), this, SLOT(sDspInventoryAvailabilityByWorkOrder()), displaysMenu, _privleges->check("ViewInventoryAvailability") ) ); parent->actions.append( new Action( parent, "wo.dspPendingWoMaterialAvailability", tr("Pending W/O Material Availability..."), this, SLOT(sDspPendingAvailability()), displaysMenu, _privleges->check("ViewInventoryAvailability") ) ); if (_metrics->boolean("BufferMgt") ) { displaysMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.dspWoOperationsByWorkCenter", tr("W/O Operations by Work Center..."), this, SLOT(sDspWoOperationsByWorkCenter()), displaysMenu, (_privleges->check("MaintainWoOperations") || _privleges->check("ViewWoOperations")) && _metrics->boolean("Routings") ) ); parent->actions.append( new Action( parent, "wo.dspWoOperationsByWorkOrder", tr("W/O Operations by Work Order..."), this, SLOT(sDspWoOperationsByWo()), displaysMenu, (_privleges->check("MaintainWoOperations") || _privleges->check("ViewWoOperations")) && _metrics->boolean("Routings") ) ); parent->actions.append( new Action( parent, "wo.dspWoOperationBufrStsByWorkCenter", tr("W/O Operation Buffer Status by Work Center..."), this, SLOT(sDspWoOperationBufrStsByWorkCenter()), displaysMenu, (_privleges->check("MaintainWoOperations") || _privleges->check("ViewWoOperations")) && _metrics->boolean("Routings") && _metrics->boolean("BufferMgt") ) ); } if (_metrics->boolean("Routings")) { displaysMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.dspWoEffortByWorkOrder", tr("Production Time Clock by Work Order..."), this, SLOT(sDspWoEffortByWorkOrder()), displaysMenu, (_privleges->check("MaintainWoTimeClock") || _privleges->check("ViewWoTimeClock")) && _metrics->boolean("Routings") ) ); parent->actions.append( new Action( parent, "wo.dspWoEffortByUser", tr("Production Time Clock by User..."), this, SLOT(sDspWoEffortByUser()), displaysMenu, (_privleges->check("MaintainWoTimeClock") || _privleges->check("ViewWoTimeClock")) && _metrics->boolean("Routings") ) ); } displaysMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.dspMaterialUsageVarianceByBOMItem", tr("Material Usage Variance by BOM Item..."), this, SLOT(sDspMaterialUsageVarianceByBOMItem()), displaysMenu, _privleges->check("ViewMaterialVariances") ) ); parent->actions.append( new Action( parent, "wo.dspMaterialUsageVarianceByItem", tr("Material Usage Variance by Item..."), this, SLOT(sDspMaterialUsageVarianceByItem()), displaysMenu, _privleges->check("ViewMaterialVariances") ) ); parent->actions.append( new Action( parent, "wo.dspMaterialUsageVarianceByComponentItem", tr("Material Usage Variance by Component Item..."), this, SLOT(sDspMaterialUsageVarianceByComponentItem()), displaysMenu, _privleges->check("ViewMaterialVariances") ) ); parent->actions.append( new Action( parent, "wo.dspMaterialUsageVarianceByWorkOrder", tr("Material Usage Variance by Work Order..."), this, SLOT(sDspMaterialUsageVarianceByWorkOrder()), displaysMenu, _privleges->check("ViewMaterialVariances") ) ); parent->actions.append( new Action( parent, "wo.dspMaterialUsageVarianceByWarehouse", tr("Material Usage Variance by Warehouse..."), this, SLOT(sDspMaterialUsageVarianceByWarehouse()), displaysMenu, _privleges->check("ViewMaterialVariances") ) ); if (_metrics->boolean("Routings")) { displaysMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.dspLaborVarianceByBOOItem", tr("Labor Variance by BOO Item..."), this, SLOT(sDspLaborVarianceByBOOItem()), displaysMenu, _privleges->check("ViewLaborVariances") && _metrics->boolean("Routings") ) ); parent->actions.append( new Action( parent, "wo.dspLaborVarianceByItem", tr("Labor Variance by Item..."), this, SLOT(sDspLaborVarianceByItem()), displaysMenu, _privleges->check("ViewLaborVariances") && _metrics->boolean("Routings") ) ); parent->actions.append( new Action( parent, "wo.dspLaborVarianceByWorkCenter", tr("Labor Variance by Work Center..."), this, SLOT(sDspLaborVarianceByWorkCenter()), displaysMenu, _privleges->check("ViewLaborVariances") && _metrics->boolean("Routings") ) ); parent->actions.append( new Action( parent, "wo.dspLaborVarianceByWorkOrder", tr("Labor Variance by Work Order..."), this, SLOT(sDspLaborVarianceByWorkOrder()), displaysMenu, _privleges->check("ViewLaborVariances") && _metrics->boolean("Routings") ) ); displaysMenu->insertSeparator(); } if (_metrics->boolean("BBOM")) { parent->actions.append( new Action( parent, "wo.dspBreederDistributionVarianceByItem", tr("Breeder Distribution Variance by Item..."), this, SLOT(sDspBreederDistributionVarianceByItem()), displaysMenu, _privleges->check("ViewBreederVariances") && _metrics->boolean("BBOM") ) ); parent->actions.append( new Action( parent, "wo.dspBreederDistributionVarianceByWarehouse", tr("Breeder Distribution Variance by Warehouse..."), this, SLOT(sDspBreederDistributionVarianceByWarehouse()), displaysMenu, _privleges->check("ViewBreederVariances") && _metrics->boolean("BBOM") ) ); } displaysMenu->insertSeparator(); parent->actions.append( new Action( parent, "wo.dspOpenWorkOrdersWithClosedParentSalesOrders", tr("Open Work Orders with Closed Parent Sales Orders..."), this, SLOT(sDspWoSoStatusMismatch()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) ) ); parent->actions.append( new Action( parent, "wo.dspOpenWorkOrdersWithParentSalesOrders", tr("Open Work Orders with Parent Sales Orders..."), this, SLOT(sDspWoSoStatus()), displaysMenu, (_privleges->check("MaintainWorkOrders") || _privleges->check("ViewWorkOrders")) ) ); // W/O | Reports reportsMenu = new QMenu(); parent->actions.append( new Action( parent, "wo.rptPrintWorkOrderForm", tr("Print Work Order Form..."), this, SLOT(sPrintWorkOrderForm()), reportsMenu, _privleges->check("PrintWorkOrderPaperWork") ) ); parent->actions.append( new Action( parent, "wo.rptPrintProductionEntrySheet", tr("Print Production Entry Sheet..."), this, SLOT(sPrintProductionEntrySheet()), reportsMenu, _privleges->check("PrintWorkOrderPaperWork") ) ); mainMenu = new QMenu(); mainMenu->insertItem(tr("W/O &Control"), controlMenu ); mainMenu->insertItem(tr("W/O &Materials"), materialsMenu ); if (_metrics->boolean("Routings")) mainMenu->insertItem(tr("W/O &Operations"), operationsMenu ); mainMenu->insertItem(tr("&Displays"), displaysMenu ); mainMenu->insertItem(tr("&Reports"), reportsMenu ); parent->populateCustomMenu(mainMenu, "W/O"); parent->menuBar()->insertItem(tr("W/&O"), mainMenu); }