enum SetResponse purchaseRequest::set(ParameterList &pParams) { QVariant param; bool valid; int prid = -1; param = pParams.value("itemsite_id", &valid); if (valid) { _item->setItemsiteid(param.toInt()); _item->setEnabled(FALSE); _warehouse->setEnabled(FALSE); } param = pParams.value("qty", &valid); if (valid) _qty->setText(formatQty(param.toDouble())); param = pParams.value("dueDate", &valid); if (valid) _dueDate->setDate(param.toDate()); param = pParams.value("planord_id", &valid); if (valid) _planordid = param.toInt(); param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; populateNumber(); } else if (param.toString() == "view") { _mode = cView; _number->setEnabled(FALSE); _item->setReadOnly(TRUE); _warehouse->setEnabled(FALSE); _qty->setEnabled(FALSE); _dueDate->setEnabled(FALSE); _notes->setEnabled(FALSE); _project->setEnabled(FALSE); _create->hide(); q.prepare( "SELECT pr_itemsite_id," " pr_number," " formatQty(wo_qtyreq) AS ordered," " pr_duedate," " pr_prj_id " "FROM pr " "WHERE (pr_id=:pr_id);" ); q.bindValue(":pr_id", prid); if (q.first()) { _number->setText(q.value("pr_number").toString()); _item->setItemsiteid(q.value("pr_itemsite_id").toInt()); _qty->setText(q.value("ordered").toString()); _dueDate->setDate(q.value("pr_duedate").toDate()); _project->setId(q.value("pr_prj_id").toInt()); } } else if (param.toString() == "release") { _mode = cRelease; _captive = TRUE; _number->setEnabled(FALSE); _item->setReadOnly(TRUE); _warehouse->setEnabled(FALSE); _qty->setEnabled(FALSE); _dueDate->setEnabled(FALSE); q.prepare( "SELECT planord_itemsite_id, planord_duedate," " formatQty(planord_qty) AS qty " "FROM planord " "WHERE (planord_id=:planord_id);" ); q.bindValue(":planord_id", _planordid); q.exec(); if (q.first()) { _item->setItemsiteid(q.value("planord_itemsite_id").toInt()); _qty->setText(q.value("qty").toString()); _dueDate->setDate(q.value("planord_duedate").toDate()); populateNumber(); } _create->setFocus(); } } return NoError; }
void purchaseRequest::sCreate() { if (!_number->text().length()) { QMessageBox::information( this, tr("Invalid Purchase Request Number"), tr("You must enter a valid Purchase Request number before creating this Purchase Request") ); _number->setFocus(); return; } if (!(_item->isValid())) { QMessageBox::information( this, tr("No Item Number Selected"), tr("You must enter or select a valid Item number before creating this Purchase Request") ); return; } if (_qty->toDouble() == 0.0) { QMessageBox::information( this, tr("Invalid Quantity Ordered"), tr( "You have entered an invalid Qty. Ordered.\n" "Please correct before creating this Purchase Request." ) ); _qty->setFocus(); return; } if (!_dueDate->isValid()) { QMessageBox::information( this, tr("Invalid Due Date Entered"), tr( "You have entered an invalid Due Date.\n" "Please correct before creating this Purchase Request." ) ); _dueDate->setFocus(); return; } q.prepare( "SELECT itemsite_id " "FROM itemsite " "WHERE ( (itemsite_item_id=:item_id)" " AND (itemsite_warehous_id=:warehous_id) );" ); q.bindValue(":item_id", _item->id()); q.bindValue(":warehous_id", _warehouse->id()); q.exec(); if (!q.first()) { QMessageBox::warning(this, tr("Invalid Site"), tr("The selected Site for this Purchase Request is not\n" "a \"Supplied At\" Site. You must select a different\n" "Site before creating the Purchase Request.") ); return; } int prid = -1; int itemsiteid = q.value("itemsite_id").toInt(); if (_mode == cNew) { q.prepare( "SELECT createPr( :orderNumber, :itemsite_id, :qty," " :dueDate, :notes ) AS prid;" ); q.bindValue(":orderNumber", _number->text().toInt()); q.bindValue(":itemsite_id", itemsiteid); q.bindValue(":qty", _qty->toDouble()); q.bindValue(":dueDate", _dueDate->date()); q.bindValue(":notes", _notes->text()); q.exec(); if (!q.first()) { systemError(this, tr("A System Error occurred at %1::%2.") .arg(__FILE__) .arg(__LINE__) ); return; } else prid = q.value("prid").toInt(); } else if (_mode == cRelease) { q.prepare("SELECT createPr(:orderNumber, 'F', :planord_id) AS prid;"); q.bindValue(":orderNumber", _number->text().toInt()); q.bindValue(":planord_id", _planordid); q.exec(); if (q.first()) { prid = q.value("prid").toInt(); q.prepare("SELECT releasePlannedOrder(:planord_id, FALSE) AS result;"); q.bindValue(":planord_id", _planordid); q.exec(); } } if(-1 != prid) { q.prepare("UPDATE pr SET pr_prj_id=:prj_id WHERE (pr_id=:pr_id);"); q.bindValue(":pr_id", prid); q.bindValue(":prj_id", _project->id()); q.exec(); } if (_captive) done(prid); else { populateNumber(); _item->setId(-1); _qty->clear(); _dueDate->setNull(); _notes->clear(); _item->setFocus(); } }
enum SetResponse voucher::set(const ParameterList &pParams) { QVariant param; bool valid; param = pParams.value("mode", &valid); if (valid) { if (param.toString() == "new") { _mode = cNew; q.exec("SELECT NEXTVAL('vohead_vohead_id_seq') AS vohead_id"); if (q.first()) _voheadid = q.value("vohead_id").toInt(); else { systemError(this, tr("A System Error occurred at %1::%2.") .arg(__FILE__) .arg(__LINE__) ); return UndefinedError; } if (_metrics->value("VoucherNumberGeneration") == "A") { populateNumber(); _poNumber->setFocus(); } else _voucherNumber->setFocus(); q.prepare("INSERT INTO vohead (vohead_id, vohead_number, vohead_posted)" " VALUES (:vohead_id, :vohead_number, false);" ); q.bindValue(":vohead_id", _voheadid); q.bindValue(":vohead_number", _voucherNumber->text()); q.exec(); if (q.lastError().type() != QSqlError::None) { systemError(this, q.lastError().databaseText(), __FILE__, __LINE__); return UndefinedError; } } else if (param.toString() == "edit") { _mode = cEdit; _voucherNumber->setEnabled(FALSE); _poNumber->setEnabled(FALSE); _poList->hide(); _save->setFocus(); } else if (param.toString() == "view") { _mode = cView; _poNumber->setType(0); // allow any potype when viewing _voucherNumber->setEnabled(FALSE); _poNumber->setEnabled(FALSE); _poList->hide(); _amountToDistribute->setEnabled(FALSE); _distributionDate->setEnabled(FALSE); _invoiceDate->setEnabled(FALSE); _dueDate->setEnabled(FALSE); _invoiceNum->setEnabled(FALSE); _reference->setEnabled(FALSE); _poitem->setEnabled(FALSE); _distributions->setEnabled(FALSE); _miscDistrib->setEnabled(FALSE); _new->setEnabled(FALSE); _terms->setEnabled(FALSE); _flagFor1099->setEnabled(FALSE); _distributeall->setEnabled(FALSE); _close->setText(tr("&Close")); _save->hide(); _close->setFocus(); disconnect(_poNumber, SIGNAL(valid(bool)), _distributeall, SLOT(setEnabled(bool))); } } param = pParams.value("vohead_id", &valid); if (valid) { _voheadid = param.toInt(); populate(); } return NoError; }