本文整理汇总了C++中XSqlQuery::value方法的典型用法代码示例。如果您正苦于以下问题:C++ XSqlQuery::value方法的具体用法?C++ XSqlQuery::value怎么用?C++ XSqlQuery::value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XSqlQuery
的用法示例。
在下文中一共展示了XSqlQuery::value方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sReconcile
void reconcileBankaccount::sReconcile()
{
XSqlQuery reconcileReconcile;
if(_bankrecid == -1)
{
QMessageBox::critical( this, tr("Cannot Reconcile Account"),
tr("<p>There was an error trying to reconcile this account. "
"Please contact your Systems Administrator.") );
return;
}
if (!_startDate->isValid())
{
QMessageBox::warning( this, tr("Missing Opening Date"),
tr("<p>No Opening Date was specified for this reconciliation. Please specify an Opening Date.") );
_startDate->setFocus();
return;
}
if (!_endDate->isValid())
{
QMessageBox::warning( this, tr("Missing Ending Date"),
tr("<p>No Ending Date was specified for this reconciliation. Please specify an Ending Date.") );
_endDate->setFocus();
return;
}
if (_endDate->date() < _startDate->date())
{
QMessageBox::warning( this, tr("Invalid End Date"),
tr("The end date cannot be earlier than the start date.") );
_endDate->setFocus();
return;
}
if(!_datesAreOK)
{
QMessageBox::critical( this, tr("Dates already reconciled"),
tr("The date range you have entered already has "
"reconciled dates in it. Please choose a different "
"date range.") );
_startDate->setFocus();
_datesAreOK = false;
return;
}
double begBal = _openBal->localValue();
double endBal = _endBal->localValue();
// calculate cleared balance
MetaSQLQuery mbal = mqlLoad("bankrec", "clearedbalance");
ParameterList params;
params.append("bankaccntid", _bankaccnt->id());
params.append("bankrecid", _bankrecid);
params.append("endBal", endBal);
params.append("begBal", begBal);
params.append("curr_id", _currency->id());
params.append("effective", _startDate->date());
params.append("expires", _endDate->date());
XSqlQuery bal = mbal.toQuery(params);
if(!bal.first())
{
systemError(this, bal.lastError().databaseText(), __FILE__, __LINE__);
return;
}
if(bal.value("diff_value").toDouble() != 0.0)
{
QMessageBox::critical( this, tr("Balances Do Not Match"),
tr("The cleared amounts do not balance with the specified\n"
"beginning and ending balances.\n"
"Please correct this before continuing.") );
return;
}
if (! sSave(false))
return;
reconcileReconcile.prepare("SELECT postBankReconciliation(:bankrecid) AS result;");
reconcileReconcile.bindValue(":bankrecid", _bankrecid);
reconcileReconcile.exec();
if (reconcileReconcile.first())
{
int result = reconcileReconcile.value("result").toInt();
if (result < 0)
{
systemError(this, storedProcErrorLookup("postBankReconciliation", result),
__FILE__, __LINE__);
return;
}
_bankrecid = -1;
close();
}
else if (reconcileReconcile.lastError().type() != QSqlError::NoError)
{
systemError(this, reconcileReconcile.lastError().databaseText(), __FILE__, __LINE__);
return;
}
}
示例2: setItemNumber
void ItemLineEdit::setItemNumber(const QString& pNumber)
{
if (DEBUG)
qDebug("%s::setItemNumber(%s) entered",
qPrintable(objectName()), qPrintable(pNumber));
XSqlQuery item;
bool found = FALSE;
_parsed = TRUE;
if (pNumber == text())
return;
if (!pNumber.isEmpty())
{
if (_useValidationQuery)
{
item.prepare(_validationSql);
item.bindValue(":item_number", pNumber);
item.exec();
if (item.first())
found = TRUE;
}
else if (_useQuery)
{
item.prepare(_sql);
item.exec();
found = (item.findFirst("item_number", pNumber) != -1);
}
else if (pNumber != QString::Null())
{
QString pre( "SELECT DISTINCT item_id, item_number, item_descrip1, item_descrip2,"
" uom_name, item_type, item_config, item_fractional, item_upccode");
QStringList clauses;
clauses = _extraClauses;
clauses << "(item_number=:item_number OR item_upccode=:item_number)";
item.prepare(buildItemLineEditQuery(pre, clauses, QString::null, _type, false));
item.bindValue(":item_number", pNumber);
item.exec();
if (item.size() > 1)
{
ParameterList params;
params.append("search", pNumber);
params.append("searchNumber");
params.append("searchUpc");
sSearch(params);
return;
}
else
found = item.first();
}
}
if (found)
{
_itemNumber = pNumber;
_uom = item.value("uom_name").toString();
_itemType = item.value("item_type").toString();
_configured = item.value("item_config").toBool();
_fractional = item.value("item_fractional").toBool();
_id = item.value("item_id").toInt();
_upc = item.value("item_upccode").toInt();
_valid = TRUE;
setText(item.value("item_number").toString());
emit aliasChanged("");
emit typeChanged(_itemType);
emit descrip1Changed(item.value("item_descrip1").toString());
emit descrip2Changed(item.value("item_descrip2").toString());
emit uomChanged(item.value("uom_name").toString());
emit configured(item.value("item_config").toBool());
emit fractional(item.value("item_fractional").toBool());
emit upcChanged(item.value("item_upccode").toString());
emit valid(TRUE);
}
else
{
_itemNumber = "";
_uom = "";
_itemType = "";
_id = -1;
_valid = FALSE;
_upc = "";
setText("");
emit aliasChanged("");
emit typeChanged("");
emit descrip1Changed("");
emit descrip2Changed("");
emit uomChanged("");
emit configured(FALSE);
emit fractional(FALSE);
emit upcChanged("");
emit valid(FALSE);
//.........这里部分代码省略.........
示例3: sPopulateNumber
void shipTo::sPopulateNumber()
{
if (_shipToNumber->text().trimmed().length() == 0)
{
XSqlQuery nextnumq;
nextnumq.prepare( "SELECT (COALESCE(MAX(CAST(shipto_num AS INTEGER)), 0) + 1) AS n_shipto_num "
" FROM shiptoinfo "
" WHERE ((shipto_cust_id=:cust_id)"
" AND (shipto_num~'^[0-9]*$') )" );
nextnumq.bindValue(":cust_id", _custid);
nextnumq.exec();
if (nextnumq.first())
_shipToNumber->setText(nextnumq.value("n_shipto_num"));
else if (ErrorReporter::error(QtCriticalMsg, this, tr("Error Retrieving Ship To Information"),
nextnumq, __FILE__, __LINE__))
{
return;
}
}
else
{
XSqlQuery dupnumq;
dupnumq.prepare( "SELECT shipto_id "
"FROM shiptoinfo "
"WHERE ( (shipto_cust_id=:cust_id)"
" AND (UPPER(shipto_num)=UPPER(:shipto_num))"
" AND (shipto_id != :shipto_id));" );
dupnumq.bindValue(":cust_id", _custid);
dupnumq.bindValue(":shipto_num", _shipToNumber->text().trimmed());
dupnumq.bindValue(":shipto_id", _shiptoid);
dupnumq.exec();
if (dupnumq.first())
{
if (_mode == cNew && _shiptoid != -1)
{
XSqlQuery delnumq;
delnumq.prepare( "DELETE FROM shiptoinfo "
"WHERE (shipto_id=:shipto_id);" );
delnumq.bindValue(":shipto_id", _shiptoid);
delnumq.exec();
}
_mode = cEdit;
_shiptoid = dupnumq.value("shipto_id").toInt();
populate();
_shipToNumber->setEnabled(false);
_name->setFocus();
}
else if (ErrorReporter::error(QtCriticalMsg, this, tr("Error Retrieving Ship To Information"),
dupnumq, __FILE__, __LINE__))
{
return;
}
}
if (_mode == cNew && _shiptoid == -1)
{
XSqlQuery newnumq;
newnumq.prepare( "INSERT INTO shiptoinfo "
"( shipto_cust_id, shipto_active, shipto_num, shipto_commission ) "
"VALUES "
"( :shipto_cust_id, :shipto_active, :shipto_num, :shipto_commission ) "
"RETURNING shipto_id;");
newnumq.bindValue(":shipto_active", QVariant(_active->isChecked()));
newnumq.bindValue(":shipto_cust_id", _custid);
newnumq.bindValue(":shipto_num", _shipToNumber->text().trimmed());
newnumq.bindValue(":shipto_commission", (_commission->toDouble() / 100));
newnumq.exec();
if (newnumq.first())
_shiptoid = newnumq.value("shipto_id").toInt();
else if (ErrorReporter::error(QtCriticalMsg, this, tr("Error Saving Ship To Information"),
newnumq, __FILE__, __LINE__))
{
return;
}
}
_documents->setId(_shiptoid);
_save->setEnabled(true);
}
示例4: validRow
/*
Make sure the row is internally consistent. If so then fix it so the
parent class has a valid row to insert (some of the SELECTed columns
shouldn't be directly modified in the db 'cause they're not part of the
model's current table).
*/
bool PoitemTableModel::validRow(QSqlRecord& record)
{
QString errormsg;
QString warningmsg;
// TODO: what is a better way to decide if this is an inventory item or not?
bool inventoryItem = ! record.value("item_number").toString().isEmpty();
if (! inventoryItem &&
record.value("poitem_expcat_id").toInt() < 0)
errormsg = tr("<p>You must specify an Expense Category for this "
"non-Inventory Item before you may save it.");
else if (inventoryItem &&
record.value("item_number").toString().isEmpty())
errormsg = tr("<p>You must select an Item Number before you may save.");
else if (inventoryItem &&
record.value("warehous_id").toInt() <= 0)
errormsg = tr("<p>You must select a Supplying Site before you may save.");
else if (record.value("poitem_qty_ordered").toDouble() <= 0)
errormsg = tr("<p>You must enter a quantity before you may save this "
"Purchase Order Item.");
else if (record.value("itemsrc_minordqty").toDouble() > 0 &&
record.value("poitem_qty_ordered").toDouble() < record.value("itemsrc_minordqty").toDouble())
warningmsg = tr("<p>The quantity that you are ordering is below the "
"Minimum Order Quantity for this Item Source. You may "
"continue but this Vendor may not honor pricing or "
"delivery quotations. ");
else if (record.value("itemsrc_multordqty").toDouble() > 0 &&
record.value("poitem_qty_ordered").toInt() % (int)(record.value("itemsrc_multordqty").toDouble()))
warningmsg = tr("<p>The quantity that you are ordering does not fall "
"within the Order Multiple for this Item Source. You may "
"continue but this Vendor may not honor pricing or "
"delivery quotations.");
else if (! record.value("poitem_duedate").toDate().isValid())
errormsg = tr("<p>You must enter a due date.");
else if (record.value("earliestDate").toDate().isValid() &&
record.value("poitem_duedate").toDate() < record.value("earliestDate").toDate())
warningmsg = tr("<p>The Due Date that you are requesting does not fall "
"within the Lead Time Days for this Item Source. You may "
"continue but this Vendor may not honor pricing or "
"delivery quotations or may not be able to deliver by the "
"requested Due Date.");
else if (record.value("poitem_pohead_id").toInt() <= 0 &&
_poheadid <= 0)
errormsg = tr("<p>There is no Purchase Order header yet. "
"Try entering a Vendor if you are using the Purchase Order "
"window.");
else if (inventoryItem &&
record.value("item_id").toInt() > 0 &&
record.value("warehous_id").toInt() > 0)
{
XSqlQuery isq;
isq.prepare("SELECT itemsite_id, item_id "
"FROM itemsite, item "
"WHERE ((itemsite_item_id=item_id)"
" AND (itemsite_warehous_id=:whs_id)"
" AND (item_id=:item_id));");
isq.bindValue(":whs_id", record.value("warehous_id").toInt());
isq.bindValue(":item_id", record.value("item_id").toInt());
isq.exec();
if (isq.first())
{
int itemsiteid = isq.value("itemsite_id").toInt();
if (itemsiteid != record.value("poitem_itemsite_id").toInt())
record.setValue("poitem_itemsite_id", itemsiteid);
}
else if (isq.lastError().type() != QSqlError::NoError)
errormsg = isq.lastError().databaseText();
else
errormsg = tr("<p>There is no Item Site for this Site (%1) and "
"Item Number (%2).")
.arg(record.value("warehous_code").toInt())
.arg(record.value("item_number").toString());
}
int index = record.indexOf("poitem_pohead_id");
if (index < 0)
{
QSqlField field("poitem_pohead_id", QVariant::Int);
field.setValue(_poheadid);
record.append(field);
}
else
record.setValue(index, _poheadid);
//.........这里部分代码省略.........
示例5: findHeadData
void PoitemTableModel::findHeadData()
{
_poheadcurrid = CurrDisplay::baseId();
_poheaddate = QDate();
_postatus = "U"; // safest default
_vendid = -1;
_vendrestrictpurch = false;
XSqlQuery poheadq;
XSqlQuery vendq;
if (_poheadid > 0)
{
poheadq.prepare("SELECT pohead_id, pohead_curr_id, pohead_orderdate,"
" pohead_status "
"FROM pohead "
"WHERE (pohead_id=:pohead_id);");
poheadq.bindValue(":pohead_id", _poheadid);
vendq.prepare("SELECT vend_id, vend_restrictpurch "
"FROM vend, pohead "
"WHERE ((vend_id=pohead_vend_id)"
" AND (pohead_id=:id));");
vendq.bindValue(":id", _poheadid);
}
else if (_poheadid > 0)
{
poheadq.prepare("SELECT pohead_id, pohead_curr_id, pohead_orderdate,"
" pohead_status "
"FROM pohead "
"WHERE pohead_id IN (SELECT poitem_pohead_id "
" FROM poitem WHERE poitem_id=:poitem_id);");
poheadq.bindValue(":poitem_id", _poitemid);
vendq.prepare("SELECT vend_id, vend_restrictpurch "
"FROM vend, pohead, poitem "
"WHERE ((vend_id=pohead_vend_id)"
" AND (pohead_id=poitem_pohead_id)"
" AND (poitem_id=:id));");
vendq.bindValue(":id", _poitemid);
}
else
return;
poheadq.exec();
if (poheadq.first())
{
_poheadcurrid = poheadq.value("pohead_curr_id").toInt();
_poheaddate = poheadq.value("pohead_orderdate").toDate();
_postatus = poheadq.value("pohead_status").toString();
}
else if (poheadq.lastError().type() != QSqlError::NoError)
{
systemError(0, poheadq.lastError().databaseText(), __FILE__, __LINE__);
return;
}
vendq.exec();
if (vendq.first())
{
_vendid = vendq.value("vend_id").toInt();
_vendrestrictpurch = vendq.value("vend_restrictpurch").toBool();
}
else if (vendq.lastError().type() != QSqlError::NoError)
{
systemError(0, vendq.lastError().databaseText(), __FILE__, __LINE__);
return;
}
}
示例6: sSave
void returnAuthCheck::sSave()
{
XSqlQuery returnSave;
if (!_date->isValid())
{
QMessageBox::warning( this, tr("Cannot Create Miscellaneous Check"),
tr("<p>You must enter a date for this check.") );
_date->setFocus();
return;
}
else if (_amount->isZero())
{
QMessageBox::warning( this, tr("Cannot Create Miscellaneous Check"),
tr("<p>You must enter an amount for this check.") );
return;
}
else if (!_bankaccnt->isValid())
{
QMessageBox::warning( this, tr("Cannot Create Miscellaneous Check"),
tr("<p>You must select a bank account for this check.") );
_date->setFocus();
return;
}
else
{
returnSave.prepare("SELECT createCheck(:bankaccnt_id, 'C', :recipid,"
" :checkDate, :amount, :curr_id, NULL,"
" NULL, :for, :notes, TRUE, :aropen_id) AS result; ");
returnSave.bindValue(":bankaccnt_id", _bankaccnt->id());
returnSave.bindValue(":recipid", _custid);
returnSave.bindValue(":checkDate", _date->date());
returnSave.bindValue(":amount", _amount->localValue());
returnSave.bindValue(":curr_id", _amount->id());
returnSave.bindValue(":for", _for->text().trimmed());
returnSave.bindValue(":notes", _notes->toPlainText().trimmed());
returnSave.bindValue(":aropen_id", _aropenid);
returnSave.exec();
if (returnSave.first())
{
_checkid = returnSave.value("result").toInt();
if (_checkid < 0)
{
systemError(this, storedProcErrorLookup("createCheck", _checkid),
__FILE__, __LINE__);
return;
}
returnSave.prepare( "SELECT checkhead_number "
"FROM checkhead "
"WHERE (checkhead_id=:check_id);" );
returnSave.bindValue(":check_id", _checkid);
returnSave.exec();
if (returnSave.lastError().type() != QSqlError::NoError)
{
systemError(this, returnSave.lastError().databaseText(), __FILE__, __LINE__);
return;
}
done(TRUE);
}
else if (returnSave.lastError().type() != QSqlError::NoError)
{
systemError(this, returnSave.lastError().databaseText(), __FILE__, __LINE__);
return;
}
}
}
示例7: sBankaccntChanged
void reconcileBankaccount::sBankaccntChanged()
{
XSqlQuery reconcileBankaccntChanged;
if(_bankrecid != -1)
{
reconcileBankaccntChanged.prepare("SELECT count(*) AS num"
" FROM bankrecitem"
" WHERE (bankrecitem_bankrec_id=:bankrecid); ");
reconcileBankaccntChanged.bindValue(":bankrecid", _bankrecid);
reconcileBankaccntChanged.exec();
if (reconcileBankaccntChanged.first() && reconcileBankaccntChanged.value("num").toInt() > 0)
{
if (QMessageBox::question(this, tr("Save Bank Reconciliation?"),
tr("<p>Do you want to save this Bank Reconciliation?"),
QMessageBox::No,
QMessageBox::Yes | QMessageBox::Default) == QMessageBox::Yes)
{
sSave(false);
}
else
{
reconcileBankaccntChanged.prepare( "SELECT deleteBankReconciliation(:bankrecid) AS result;" );
reconcileBankaccntChanged.bindValue(":bankrecid", _bankrecid);
reconcileBankaccntChanged.exec();
if (reconcileBankaccntChanged.first())
{
int result = reconcileBankaccntChanged.value("result").toInt();
if (result < 0)
{
systemError(this, storedProcErrorLookup("deleteBankReconciliation", result),
__FILE__, __LINE__);
return;
}
}
else if (reconcileBankaccntChanged.lastError().type() != QSqlError::NoError)
{
systemError(this, reconcileBankaccntChanged.lastError().databaseText(), __FILE__, __LINE__);
return;
}
}
}
}
_bankaccntid = _bankaccnt->id();
XSqlQuery accntq;
accntq.prepare("SELECT bankaccnt_curr_id "
"FROM bankaccnt WHERE bankaccnt_id = :accntId;");
accntq.bindValue(":accntId", _bankaccnt->id());
accntq.exec();
if (accntq.first())
_currency->setId(accntq.value("bankaccnt_curr_id").toInt());
else if (accntq.lastError().type() != QSqlError::NoError)
{
systemError(this, accntq.lastError().databaseText(), __FILE__, __LINE__);
return;
}
accntq.prepare("SELECT * FROM bankrec "
"WHERE ((bankrec_bankaccnt_id=:accntId)"
" AND (NOT bankrec_posted));");
accntq.bindValue(":accntId", _bankaccnt->id());
accntq.exec();
if (accntq.first())
{
_bankrecid = accntq.value("bankrec_id").toInt();
_startDate->setDate(accntq.value("bankrec_opendate").toDate(), true);
_endDate->setDate(accntq.value("bankrec_enddate").toDate(), true);
_openBal->setLocalValue(accntq.value("bankrec_openbal").toDouble());
_endBal->setLocalValue(accntq.value("bankrec_endbal").toDouble());
}
else if (accntq.lastError().type() != QSqlError::NoError)
{
systemError(this, accntq.lastError().databaseText(), __FILE__, __LINE__);
return;
}
else
{
accntq.prepare("SELECT NEXTVAL('bankrec_bankrec_id_seq') AS bankrec_id");
accntq.exec();
if (accntq.first())
_bankrecid = accntq.value("bankrec_id").toInt();
else if (accntq.lastError().type() != QSqlError::NoError)
{
systemError(this, accntq.lastError().databaseText(), __FILE__, __LINE__);
return;
}
accntq.prepare("SELECT bankrec_enddate + 1 AS startdate, "
" bankrec_endbal AS openbal "
"FROM bankrec "
"WHERE (bankrec_bankaccnt_id=:accntId) "
"ORDER BY bankrec_enddate DESC "
"LIMIT 1");
accntq.bindValue(":accntId", _bankaccnt->id());
accntq.exec();
if (accntq.first())
{
_startDate->setDate(accntq.value("startdate").toDate());
_openBal->setLocalValue(accntq.value("openbal").toDouble());
}
//.........这里部分代码省略.........
示例8: sReceiptsToggleCleared
void reconcileBankaccount::sReceiptsToggleCleared()
{
XSqlQuery reconcileReceiptsToggleCleared;
XTreeWidgetItem *item = (XTreeWidgetItem*)_receipts->currentItem();
XTreeWidgetItem *child = 0;
bool setto = true;
if(0 == item)
return;
_receipts->scrollToItem(item);
if(item->altId() == 9)
{
setto = item->text(0) == tr("No");
for (int i = 0; i < item->childCount(); i++)
{
child = item->child(i);
if(child->text(0) != (setto ? tr("Yes") : tr("No")))
{
double rate = QLocale().toDouble(child->text(6));
double baseamount = QLocale().toDouble(child->text(7));
double amount = QLocale().toDouble(child->text(8));
if (_allowEdit->isChecked() && child->text(0) != tr("Yes"))
{
ParameterList params;
params.append("transtype", "receipt");
params.append("bankaccntid", _bankaccnt->id());
params.append("bankrecid", _bankrecid);
params.append("sourceid", child->id());
if(child->altId()==1)
params.append("source", "GL");
else if(child->altId()==2)
params.append("source", "SL");
else if(child->altId()==3)
params.append("source", "AD");
toggleBankrecCleared newdlg(this, "", TRUE);
newdlg.set(params);
newdlg.exec();
}
else
{
reconcileReceiptsToggleCleared.prepare("SELECT toggleBankrecCleared(:bankrecid, :source, :sourceid, :currrate, :amount) AS cleared");
reconcileReceiptsToggleCleared.bindValue(":bankrecid", _bankrecid);
reconcileReceiptsToggleCleared.bindValue(":sourceid", child->id());
if(child->altId()==1)
reconcileReceiptsToggleCleared.bindValue(":source", "GL");
else if(child->altId()==2)
reconcileReceiptsToggleCleared.bindValue(":source", "SL");
else if(child->altId()==3)
reconcileReceiptsToggleCleared.bindValue(":source", "AD");
reconcileReceiptsToggleCleared.bindValue(":currrate", rate);
reconcileReceiptsToggleCleared.bindValue(":amount", amount);
reconcileReceiptsToggleCleared.exec();
if(reconcileReceiptsToggleCleared.first())
child->setText(0, (reconcileReceiptsToggleCleared.value("cleared").toBool() ? tr("Yes") : tr("No") ));
else if (reconcileReceiptsToggleCleared.lastError().type() != QSqlError::NoError)
{
systemError(this, reconcileReceiptsToggleCleared.lastError().databaseText(), __FILE__, __LINE__);
return;
}
}
}
}
item->setText(0, (setto ? tr("Yes") : tr("No")));
populate();
}
else
{
double rate = QLocale().toDouble(item->text(6));
double baseamount = QLocale().toDouble(item->text(7));
double amount = QLocale().toDouble(item->text(8));
if (_allowEdit->isChecked() && item->text(0) != tr("Yes"))
{
ParameterList params;
params.append("transtype", "receipt");
params.append("bankaccntid", _bankaccnt->id());
params.append("bankrecid", _bankrecid);
params.append("sourceid", item->id());
if(item->altId()==1)
params.append("source", "GL");
else if(item->altId()==2)
params.append("source", "SL");
else if(item->altId()==3)
params.append("source", "AD");
toggleBankrecCleared newdlg(this, "", TRUE);
newdlg.set(params);
newdlg.exec();
populate();
}
else
{
reconcileReceiptsToggleCleared.prepare("SELECT toggleBankrecCleared(:bankrecid, :source, :sourceid, :currrate, :amount) AS cleared");
reconcileReceiptsToggleCleared.bindValue(":bankrecid", _bankrecid);
reconcileReceiptsToggleCleared.bindValue(":sourceid", item->id());
if(item->altId()==1)
reconcileReceiptsToggleCleared.bindValue(":source", "GL");
else if(item->altId()==2)
//.........这里部分代码省略.........
示例9: populate
/*
Note that the SELECTs here are UNIONs of the gltrans table (in the base
currency), sltrans table (in the base currency) and the bankadj table
(in the bank account's currency).
*/
void reconcileBankaccount::populate()
{
qApp->setOverrideCursor(QCursor(Qt::WaitCursor));
double begBal = _openBal->localValue();
double endBal = _endBal->localValue();
int currid = -1;
ParameterList params;
params.append("bankaccntid", _bankaccnt->id());
params.append("bankrecid", _bankrecid);
// fill receipts list
currid = _receipts->id();
_receipts->clear();
MetaSQLQuery mrcp = mqlLoad("bankrec", "receipts");
XSqlQuery rcp = mrcp.toQuery(params);
if (rcp.lastError().type() != QSqlError::NoError)
{
systemError(this, rcp.lastError().databaseText(), __FILE__, __LINE__);
return;
}
int jrnlnum = 0;
XTreeWidgetItem * parent = 0;
XTreeWidgetItem * lastChild = 0;
XTreeWidgetItem * last = 0;
bool cleared = TRUE;
double amount = 0.0;
bool amountNull = true;
while (rcp.next())
{
if(rcp.value("use").toString() == "C/R")
{
if(rcp.value("jrnlnum").toInt() != jrnlnum || (0 == parent))
{
if(parent != 0)
{
parent->setText(0, (cleared ? tr("Yes") : tr("No")));
parent->setText(8, amountNull ? tr("?????") : formatMoney(amount));
}
jrnlnum = rcp.value("jrnlnum").toInt();
last = new XTreeWidgetItem( _receipts, last,
jrnlnum, 9, "", formatDate(rcp.value("f_jrnldate").toDate()), tr("JS"), rcp.value("jrnlnum"));
parent = last;
cleared = true;
amount = 0.0;
amountNull = true;
lastChild = 0;
}
cleared = (cleared && rcp.value("cleared").toBool());
amount += rcp.value("amount").toDouble();
amountNull = rcp.value("amount").isNull();
lastChild = new XTreeWidgetItem( parent, lastChild,
rcp.value("id").toInt(), rcp.value("altid").toInt(),
(rcp.value("cleared").toBool() ? tr("Yes") : tr("No")),
formatDate(rcp.value("f_date").toDate()), rcp.value("doc_type"), rcp.value("docnumber"),
rcp.value("notes"),
rcp.value("doc_curr"),
rcp.value("doc_exchrate").isNull() ? tr("?????") : formatUOMRatio(rcp.value("doc_exchrate").toDouble()),
rcp.value("base_amount").isNull() ? tr("?????") : formatMoney(rcp.value("base_amount").toDouble()),
rcp.value("amount").isNull() ? tr("?????") : formatMoney(rcp.value("amount").toDouble()) );
}
else
{
if(parent != 0)
{
parent->setText(0, (cleared ? tr("Yes") : tr("No")));
parent->setText(8, formatMoney(amount));
}
parent = 0;
cleared = true;
amount = 0.0;
amountNull = true;
lastChild = 0;
last = new XTreeWidgetItem( _receipts, last,
rcp.value("id").toInt(), rcp.value("altid").toInt(),
(rcp.value("cleared").toBool() ? tr("Yes") : tr("No")),
formatDate(rcp.value("f_date").toDate()), rcp.value("doc_type"), rcp.value("docnumber"),
rcp.value("notes"),
rcp.value("doc_curr"),
rcp.value("doc_exchrate").isNull() ? tr("?????") : formatUOMRatio(rcp.value("doc_exchrate").toDouble()),
rcp.value("base_amount").isNull() ? tr("?????") : formatMoney(rcp.value("base_amount").toDouble()),
rcp.value("amount").isNull() ? tr("?????") : formatMoney(rcp.value("amount").toDouble()) );
}
}
if(parent != 0)
{
parent->setText(0, (cleared ? tr("Yes") : tr("No")));
parent->setText(8, amountNull ? tr("?????") : formatMoney(amount));
}
if(currid != -1)
//.........这里部分代码省略.........
示例10: sNew
void CLineEdit::sNew()
{
QString uiName="customer";
ParameterList params;
QMessageBox ask(this);
ask.setIcon(QMessageBox::Question);
QPushButton *pbutton = ask.addButton(tr("Prospect"), QMessageBox::YesRole);
QPushButton *cbutton = ask.addButton(tr("Customer"), QMessageBox::YesRole);
ask.setDefaultButton(cbutton);
ask.setWindowTitle(tr("Customer or Prospect?"));
if (_subtype == CRMAcctLineEdit::Prospect ||
(_subtype == CRMAcctLineEdit::CustAndProspect &&
!_x_privileges->check("MaintainCustomerMasters")))
{
params.append("mode", "new");
uiName="prospect";
}
if (_subtype == CRMAcctLineEdit::CustAndProspect &&
!_x_privileges->check("MaintainProspectMasters"))
params.append("mode", "new");
else
{
if (_subtype == CRMAcctLineEdit::Cust)
ask.setText(tr("<p>Would you like to create a new Customer or convert "
"an existing Prospect?"));
else
ask.setText(tr("<p>Would you like to create a new Customer or "
"a new Prospect?"));
ask.exec();
if (ask.clickedButton() == pbutton &&
_subtype == CRMAcctLineEdit::Cust) // converting prospect
{
int prospectid = -1;
if (_x_preferences->value("DefaultEllipsesAction") == "search")
{
CRMAcctSearch* search = new CRMAcctSearch(this);
search->setSubtype(CRMAcctLineEdit::Prospect);
prospectid = search->exec();
}
else
{
CRMAcctList* list = new CRMAcctList(this);
list->setSubtype(CRMAcctLineEdit::Prospect);
prospectid = list->exec();
}
if (prospectid > 0)
{
XSqlQuery convertq;
convertq.prepare("SELECT convertProspectToCustomer(:id) AS result;");
convertq.bindValue(":id", prospectid);
convertq.exec();
if (convertq.first())
{
int result = convertq.value("result").toInt();
if (result < 0)
{
QMessageBox::critical(this, tr("Processing Error"),
storedProcErrorLookup("convertProspectToCustomer", result));
return;
}
params.append("cust_id", prospectid);
params.append("mode", "edit");
}
}
else
return;
}
else
{
params.append("mode", "new");
if (ask.clickedButton() == pbutton)
uiName = "prospect";
}
}
sOpenWindow(uiName, params);
}
示例11: sPost
void unpostedPoReceipts::sPost()
{
XSqlQuery unpostedPost;
bool changeDate = false;
QDate newDate = QDate::currentDate();
if (_privileges->check("ChangePORecvPostDate"))
{
getGLDistDate newdlg(this, "", TRUE);
newdlg.sSetDefaultLit(tr("Receipt Date"));
if (newdlg.exec() == XDialog::Accepted)
{
newDate = newdlg.date();
changeDate = (newDate.isValid());
}
else
return;
}
XSqlQuery setDate;
setDate.prepare("UPDATE recv SET recv_gldistdate=:distdate "
"WHERE recv_id=:recv_id;");
QList<XTreeWidgetItem*>selected = _recv->selectedItems();
QList<XTreeWidgetItem*>triedToClosed;
for (int i = 0; i < selected.size(); i++)
{
int id = ((XTreeWidgetItem*)(selected[i]))->id();
if (changeDate)
{
setDate.bindValue(":distdate", newDate);
setDate.bindValue(":recv_id", id);
setDate.exec();
if (setDate.lastError().type() != QSqlError::NoError)
{
systemError(this, setDate.lastError().databaseText(), __FILE__, __LINE__);
}
}
}
XSqlQuery postLine;
postLine.prepare("SELECT postReceipt(:id, NULL::integer) AS result, "
" (recv_order_type = 'RA' AND COALESCE(itemsite_costmethod, '') = 'J') AS issuewo, "
" COALESCE(pohead_dropship, false) AS dropship "
"FROM recv "
" LEFT OUTER JOIN itemsite ON (itemsite_id=recv_itemsite_id) "
" LEFT OUTER JOIN poitem ON ((recv_order_type='PO') "
" AND (recv_orderitem_id=poitem_id)) "
" LEFT OUTER JOIN pohead ON (poitem_pohead_id=pohead_id) "
"WHERE (recv_id=:id);");
XSqlQuery rollback;
rollback.prepare("ROLLBACK;");
bool tryagain = false;
do {
unpostedPost.exec("BEGIN;");
for (int i = 0; i < selected.size(); i++)
{
int id = ((XTreeWidgetItem*)(selected[i]))->id();
postLine.bindValue(":id", id);
postLine.exec();
if (postLine.first())
{
int result = postLine.value("result").toInt();
if (result < 0)
{
systemError(this, storedProcErrorLookup("postReceipt", result),
__FILE__, __LINE__);
rollback.exec();
continue;
}
if (distributeInventory::SeriesAdjust(result, this) == XDialog::Rejected)
{
rollback.exec();
QMessageBox::information( this, tr("Unposted Receipts"), tr("Post Canceled") );
return;
}
// Job item for Return Service; issue this to work order
if (postLine.value("issuewo").toBool())
{
XSqlQuery issuewo;
issuewo.prepare("SELECT issueWoRtnReceipt(coitem_order_id, invhist_id) AS result "
"FROM invhist, recv "
" JOIN raitem ON (raitem_id=recv_orderitem_id) "
" JOIN coitem ON (coitem_id=raitem_new_coitem_id) "
"WHERE ((invhist_series=:itemlocseries) "
" AND (recv_id=:id));");
issuewo.bindValue(":itemlocseries", postLine.value("result").toInt());
issuewo.bindValue(":id", id);
issuewo.exec();
if (issuewo.lastError().type() != QSqlError::NoError)
{
systemError(this, issuewo.lastError().databaseText(), __FILE__, __LINE__);
rollback.exec();
//.........这里部分代码省略.........
示例12: sPopulateItemSourceInfo
void purchaseOrderItem::sPopulateItemSourceInfo(int pItemsrcid)
{
XSqlQuery src;
bool skipClear = false;
if (!_item->isValid())
skipClear = true;
if (_mode == cNew)
{
if (pItemsrcid != -1)
{
src.prepare( "SELECT itemsrc_id, itemsrc_item_id, itemsrc_vend_item_number,"
" itemsrc_vend_item_descrip, itemsrc_vend_uom,"
" itemsrc_minordqty,"
" itemsrc_multordqty,"
" itemsrc_invvendoruomratio,"
" (CURRENT_DATE + itemsrc_leadtime) AS earliestdate, "
" itemsrc_manuf_name, "
" itemsrc_manuf_item_number, "
" itemsrc_manuf_item_descrip, "
" contrct_number "
"FROM itemsrc LEFT OUTER JOIN contrct ON (itemsrc_contrct_id = contrct_id) "
"WHERE (itemsrc_id=:itemsrc_id);" );
src.bindValue(":itemsrc_id", pItemsrcid);
src.exec();
if (src.first())
{
_itemsrcid = src.value("itemsrc_id").toInt();
_item->setId(src.value("itemsrc_item_id").toInt());
_vendorItemNumber->setText(src.value("itemsrc_vend_item_number").toString());
_vendorDescrip->setText(src.value("itemsrc_vend_item_descrip").toString());
_vendorUOM->setText(src.value("itemsrc_vend_uom").toString());
_uom->setText(src.value("itemsrc_vend_uom").toString());
_minOrderQty->setDouble(src.value("itemsrc_minordqty").toDouble());
_orderQtyMult->setDouble(src.value("itemsrc_multordqty").toDouble());
_invVendorUOMRatio->setDouble(src.value("itemsrc_invvendoruomratio").toDouble());
_earliestDate->setDate(src.value("earliestdate").toDate());
_invVendUOMRatio = src.value("itemsrc_invvendoruomratio").toDouble();
_minimumOrder = src.value("itemsrc_minordqty").toDouble();
_orderMultiple = src.value("itemsrc_multordqty").toDouble();
_contrctNumber->setText(src.value("contrct_number").toString());
_manufName->setCode(src.value("itemsrc_manuf_name").toString());
_manufItemNumber->setText(src.value("itemsrc_manuf_item_number").toString());
_manufItemDescrip->setText(src.value("itemsrc_manuf_item_descrip").toString());
if (_ordered->toDouble() != 0)
sDeterminePrice();
_ordered->setFocus();
if(_metrics->boolean("UseEarliestAvailDateOnPOItem") && _dueDate->date() < _earliestDate->date())
_dueDate->setDate(_earliestDate->date());
skipClear = true;
}
}
if(!skipClear)
{
_itemsrcid = -1;
_vendorItemNumber->clear();
_vendorDescrip->clear();
_vendorUOM->setText(_item->uom());
_uom->setText(_item->uom());
_minOrderQty->clear();
_orderQtyMult->clear();
_invVendorUOMRatio->setDouble(1.0);
_earliestDate->setDate(omfgThis->dbDate());
_manufName->setId(-1);
_manufItemNumber->clear();
_manufItemDescrip->clear();
_invVendUOMRatio = 1;
_minimumOrder = 0;
_orderMultiple = 0;
}
}
}
示例13: populate
void shipTo::populate()
{
XSqlQuery popq;
popq.prepare( "SELECT cust_number, cust_name, shipto_active, shipto_default,"
" shipto_cust_id,"
" shipto_num, shipto_name, shipto_cntct_id,"
" shipto_shipvia, shipto_commission,"
" shipto_comments, shipto_shipcomments,"
" shipto_taxzone_id, shipto_shipchrg_id,"
" COALESCE(shipto_salesrep_id,-1) AS shipto_salesrep_id,"
" COALESCE(shipto_shipzone_id,-1) AS shipto_shipzone_id,"
" COALESCE(shipto_shipform_id,-1) AS shipto_shipform_id,"
" shipto_preferred_warehous_id, shipto_addr_id,"
" crmacct_id "
"FROM shiptoinfo "
" LEFT OUTER JOIN custinfo ON (shipto_cust_id=cust_id) "
" LEFT OUTER JOIN crmacct ON (cust_id=crmacct_cust_id) "
"WHERE (shipto_id=:shipto_id);" );
popq.bindValue(":shipto_id", _shiptoid);
popq.exec();
if (popq.first())
{
double commission = popq.value("shipto_commission").toDouble();
_custid = popq.value("shipto_cust_id").toInt();
_custNum->setText(popq.value("cust_number").toString());
_custName->setText(popq.value("cust_name").toString());
_active->setChecked(popq.value("shipto_active").toBool());
_default->setChecked(popq.value("shipto_default").toBool());
_shipToNumber->setText(popq.value("shipto_num"));
_name->setText(popq.value("shipto_name"));
_contact->setId(popq.value("shipto_cntct_id").toInt());
_contact->setSearchAcct(popq.value("crmacct_id").toInt());
_address->setSearchAcct(popq.value("crmacct_id").toInt());
_comments->setText(popq.value("shipto_comments").toString());
_shippingComments->setText(popq.value("shipto_shipcomments").toString());
_taxzone->setId(popq.value("shipto_taxzone_id").toInt());
_shipZone->setId(popq.value("shipto_shipzone_id").toInt());
_shipform->setId(popq.value("shipto_shipform_id").toInt());
_shipchrg->setId(popq.value("shipto_shipchrg_id").toInt());
_sellingWarehouse->setId(popq.value("shipto_preferred_warehous_id").toInt());
_address->setId(popq.value("shipto_addr_id").toInt());
// Handle the free-form Ship Via
_shipVia->setCurrentIndex(-1);
QString shipvia = popq.value("shipto_shipvia").toString();
if (shipvia.trimmed().length() != 0)
{
for (int counter = 0; counter < _shipVia->count(); counter++)
if (_shipVia->itemText(counter) == shipvia)
_shipVia->setCurrentIndex(counter);
if (_shipVia->id() == -1)
{
_shipVia->addItem(shipvia);
_shipVia->setCurrentIndex(_shipVia->count() - 1);
}
}
_salesRep->setId(popq.value("shipto_salesrep_id").toInt());
_commission->setDouble(commission * 100);
emit newId(_shiptoid);
emit populated();
}
else if (ErrorReporter::error(QtCriticalMsg, this, tr("Error Retrieving Ship To Information"),
popq, __FILE__, __LINE__))
{
return;
}
}
示例14: set
enum SetResponse purchaseOrderItem::set(const ParameterList &pParams)
{
XSqlQuery purchaseet;
XDialog::set(pParams);
QVariant param;
bool valid;
bool haveQty = FALSE;
bool haveDate = FALSE;
param = pParams.value("vend_id", &valid);
if (valid)
_vendid = param.toInt();
param = pParams.value("warehous_id", &valid);
if (valid)
_preferredWarehouseid = param.toInt();
param = pParams.value("dropship", &valid);
if (valid)
_dropship = param.toBool();
param = pParams.value("parentWo", &valid);
if (valid)
_parentwo = param.toInt();
param = pParams.value("parentSo", &valid);
if (valid)
_parentso = param.toInt();
if (_metrics->boolean("CopyPRtoPOItem"))
{
param = pParams.value("pr_releasenote", &valid);
if(valid)
_notes->setText(param.toString());
}
param = pParams.value("pohead_id", &valid);
if (valid)
{
_poheadid = param.toInt();
purchaseet.prepare( "SELECT pohead_taxzone_id, pohead_number, pohead_orderdate, pohead_status, " // pohead_taxzone_id added
" vend_id, vend_restrictpurch, pohead_curr_id "
"FROM pohead, vendinfo "
"WHERE ( (pohead_vend_id=vend_id)"
" AND (pohead_id=:pohead_id) );" );
purchaseet.bindValue(":pohead_id", param.toInt());
purchaseet.exec();
if (purchaseet.first())
{
_poNumber->setText(purchaseet.value("pohead_number").toString());
_poStatus = purchaseet.value("pohead_status").toString();
_unitPrice->setEffective(purchaseet.value("pohead_orderdate").toDate());
_unitPrice->setId(purchaseet.value("pohead_curr_id").toInt());
_taxzoneid=purchaseet.value("pohead_taxzone_id").toInt(); // added to pick up tax zone id.
_tax->setEffective(purchaseet.value("pohead_orderdate").toDate());
_tax->setId(purchaseet.value("pohead_curr_id").toInt());
if (purchaseet.value("vend_restrictpurch").toBool())
{
_item->setQuery( QString( "SELECT DISTINCT item_id, item_number, item_descrip1, item_descrip2,"
" (item_descrip1 || ' ' || item_descrip2) AS itemdescrip,"
" uom_name, item_type, item_config, item_active, item_upccode "
"FROM item, itemsite, itemsrc, uom "
"WHERE ( (itemsite_item_id=item_id)"
" AND (itemsrc_item_id=item_id)"
" AND (item_inv_uom_id=uom_id)"
" AND (itemsite_active)"
" AND (item_active)"
" AND (itemsrc_active)"
" AND (itemsrc_vend_id=%1) ) "
"ORDER BY item_number" )
.arg(purchaseet.value("vend_id").toInt()) );
_item->setValidationQuery( QString( "SELECT DISTINCT item_id, item_number, item_descrip1, item_descrip2,"
" (item_descrip1 || ' ' || item_descrip2) AS itemdescrip,"
" uom_name, item_type, item_config, item_active, item_upccode "
"FROM item, itemsite, itemsrc, uom "
"WHERE ( (itemsite_item_id=item_id)"
" AND (itemsrc_item_id=item_id)"
" AND (item_inv_uom_id=uom_id)"
" AND (itemsite_active)"
" AND (item_active)"
" AND (itemsrc_active)"
" AND (itemsrc_vend_id=%1) "
" AND (itemsite_item_id=:item_id) ) ")
.arg(purchaseet.value("vend_id").toInt()) );
}
else
{
_item->setType(ItemLineEdit::cGeneralPurchased | ItemLineEdit::cGeneralManufactured |
ItemLineEdit::cTooling | ItemLineEdit::cActive);
_item->setDefaultType(ItemLineEdit::cGeneralPurchased | ItemLineEdit::cActive);
}
}
else
{
systemError(this, tr("A System Error occurred at %1::%2.")
.arg(__FILE__)
//.........这里部分代码省略.........
示例15: set
enum SetResponse shipTo::set(const ParameterList &pParams)
{
XDialog::set(pParams);
QVariant param;
bool valid;
param = pParams.value("cust_id", &valid);
if (valid)
_custid = param.toInt();
param = pParams.value("shipto_id", &valid);
if (valid)
{
_shiptoid = param.toInt();
_documents->setId(_shiptoid);
populate();
}
param = pParams.value("mode", &valid);
if (valid)
{
if (param.toString() == "new")
{
_mode = cNew;
_salesRep->setType(XComboBox::SalesRepsActive);
XSqlQuery cust;
cust.prepare( "SELECT cust_number, cust_name, cust_taxzone_id, "
" cust_salesrep_id, cust_shipform_id, cust_shipvia, cust_shipchrg_id, "
" crmacct_id "
"FROM custinfo "
" JOIN crmacct ON (cust_id=crmacct_cust_id) "
"WHERE (cust_id=:cust_id);" );
cust.bindValue(":cust_id", _custid);
cust.exec();
if (cust.first())
{
_custNum->setText(cust.value("cust_number").toString());
_custName->setText(cust.value("cust_name").toString());
_salesRep->setId(cust.value("cust_salesrep_id").toInt());
_shipform->setId(cust.value("cust_shipform_id").toInt());
_taxzone->setId(cust.value("cust_taxzone_id").toInt());
_contact->setSearchAcct(cust.value("crmacct_id").toInt());
_address->setSearchAcct(cust.value("crmacct_id").toInt());
_shipchrg->setId(cust.value("cust_shipchrg_id").toInt());
// Handle the free-form Ship Via
_shipVia->setId(-1);
QString shipvia = cust.value("cust_shipvia").toString().trimmed();
if (shipvia.length())
{
for (int counter = 0; counter < _shipVia->count(); counter++)
if (_shipVia->itemText(counter) == shipvia)
_shipVia->setCurrentIndex(counter);
if (_shipVia->id() == -1)
{
_shipVia->addItem(shipvia);
_shipVia->setCurrentIndex(_shipVia->count() - 1);
}
}
}
if (ErrorReporter::error(QtCriticalMsg, this, tr("Error Retrieving Customer Information"),
cust, __FILE__, __LINE__))
{
return UndefinedError;
}
sPopulateNumber();
_name->setFocus();
}
else if (param.toString() == "edit")
{
_mode = cEdit;
_shipToNumber->setEnabled(false);
}
else if (param.toString() == "view")
{
_mode = cView;
_shipToNumber->setEnabled(false);
_active->setEnabled(false);
_default->setEnabled(false);
_name->setEnabled(false);
_contact->setEnabled(false);
_address->setEnabled(false);
_salesRep->setEnabled(false);
_commission->setEnabled(false);
_shipZone->setEnabled(false);
_taxzone->setEnabled(false);
_shipVia->setEnabled(false);
_shipform->setEnabled(false);
_shipchrg->setEnabled(false);
_sellingWarehouse->setEnabled(false);
_comments->setEnabled(false);
_shippingComments->setEnabled(false);
_documents->setReadOnly(true);
_close->setText(tr("&Close"));
_save->hide();
}
}
//.........这里部分代码省略.........