PayUp: CashCollect(amount)
This commit is contained in:
parent
bacee366b8
commit
3fff6a0ebe
@ -311,6 +311,73 @@ void ATBDeviceControllerPlugin::cashCollect()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void ATBDeviceControllerPlugin::cashCollect(const QString & amount)
|
||||||
|
{
|
||||||
|
if (this->coinProcessor() != nsDeviceControllerInterface::COIN_PROCESSOR::CHANGER) {
|
||||||
|
this->cashCollect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if we must change coins:
|
||||||
|
|
||||||
|
// inserted amount
|
||||||
|
uint32_t amountInsertedInt = this->hw->getInsertedAmount();
|
||||||
|
|
||||||
|
bool ok;
|
||||||
|
uint32_t amountToPayInt = amount.toInt(&ok);
|
||||||
|
|
||||||
|
// check if we must change coins:
|
||||||
|
if (amountInsertedInt > amountToPayInt) {
|
||||||
|
|
||||||
|
uint32_t amountToChangeInt = amountInsertedInt - amountToPayInt;
|
||||||
|
|
||||||
|
qCritical() << "cashCollect(" << amount << ")";
|
||||||
|
qCritical() << " amount to change: " << QString::number(amountToChangeInt);
|
||||||
|
|
||||||
|
|
||||||
|
// trigger changer:
|
||||||
|
emit this->cashPaymentChanging(nsDeviceControllerInterface::RESULT_STATE::SUCCESS,
|
||||||
|
QString::number(amountToChangeInt),
|
||||||
|
"", // ErrorCode
|
||||||
|
""); // ErrorDescription
|
||||||
|
|
||||||
|
// change
|
||||||
|
hw->changer_returnCoins(amountToChangeInt);
|
||||||
|
|
||||||
|
QTimer::singleShot(1000, this, &ATBDeviceControllerPlugin::onCashChangerState);
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// nothing to change:
|
||||||
|
|
||||||
|
qCritical() << "cashCollect(" << amount << ")";
|
||||||
|
qCritical() << " nothing to change. ";
|
||||||
|
|
||||||
|
|
||||||
|
hw->vend_success();
|
||||||
|
|
||||||
|
QString amountString = QString::number(amountInsertedInt);
|
||||||
|
|
||||||
|
// inserted coins
|
||||||
|
uint32_t amountCoinsInt = CashUtils::getAmountOfInsertedCoins(this->hw);
|
||||||
|
QString amountCoinsString = QString::number(amountCoinsInt);
|
||||||
|
|
||||||
|
// inserted notes
|
||||||
|
uint32_t amountNotesInt = CashUtils::getAmountOfInsertedNotes(this->hw);
|
||||||
|
QString amountNotesString = QString::number(amountNotesInt);
|
||||||
|
|
||||||
|
emit this->cashPaymentFinished(nsDeviceControllerInterface::RESULT_STATE::SUCCESS,
|
||||||
|
amountString,
|
||||||
|
amountCoinsString, // coins
|
||||||
|
amountNotesString, // notes
|
||||||
|
0, // proposed change
|
||||||
|
"",
|
||||||
|
"");
|
||||||
|
this->currentCashState = CASH_STATE::CACHE_EMPTY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ATBDeviceControllerPlugin::cashAbort()
|
void ATBDeviceControllerPlugin::cashAbort()
|
||||||
{
|
{
|
||||||
hw->vend_failed();
|
hw->vend_failed();
|
||||||
@ -1444,6 +1511,10 @@ void ATBDeviceControllerPlugin::onCashChangerState()
|
|||||||
"");
|
"");
|
||||||
changerStateRequestCounter = 0;
|
changerStateRequestCounter = 0;
|
||||||
lastChangerResult = 0;
|
lastChangerResult = 0;
|
||||||
|
|
||||||
|
// finalize vending:
|
||||||
|
hw->vend_success();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1498,6 +1569,10 @@ void ATBDeviceControllerPlugin::onCashChangerState()
|
|||||||
errorDescription);
|
errorDescription);
|
||||||
changerStateRequestCounter = 0;
|
changerStateRequestCounter = 0;
|
||||||
lastChangerResult = 0;
|
lastChangerResult = 0;
|
||||||
|
|
||||||
|
// finalize vending:
|
||||||
|
hw->vend_success();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@ public:
|
|||||||
void requestStartCashInput(const QString & amount);
|
void requestStartCashInput(const QString & amount);
|
||||||
void requestStopCashInput();
|
void requestStopCashInput();
|
||||||
void cashCollect();
|
void cashCollect();
|
||||||
|
void cashCollect(const QString & amount);
|
||||||
void cashAbort();
|
void cashAbort();
|
||||||
|
|
||||||
// read coin/cash processing variants -----------------------------------------
|
// read coin/cash processing variants -----------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user