PrintTicket: Support FIXED_PRICE Tickets
This commit is contained in:
parent
e703befb2f
commit
c27ce8e3ff
@ -1198,6 +1198,36 @@ void ATBDeviceControllerPlugin::prepareDynTemplateData()
|
|||||||
case nsDeviceControllerInterface::TICKET_VARIANT::FOOD_STAMP:
|
case nsDeviceControllerInterface::TICKET_VARIANT::FOOD_STAMP:
|
||||||
private_setupDynTemplatData_FOOD_STAMP(dynTicketData, this->currentTicket);
|
private_setupDynTemplatData_FOOD_STAMP(dynTicketData, this->currentTicket);
|
||||||
break;
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_1:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_2:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_3:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_4:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_5:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_6:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_7:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_8:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_9:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
|
case nsDeviceControllerInterface::TICKET_VARIANT::FIXED_PRICE_10:
|
||||||
|
private_setupDynTemplateData_FIXED_PRICE(dynTicketData, this->currentTicket);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
private_setupDynTemplateData_DEFAULT(dynTicketData, this->currentTicket);
|
private_setupDynTemplateData_DEFAULT(dynTicketData, this->currentTicket);
|
||||||
break;
|
break;
|
||||||
@ -1392,6 +1422,48 @@ void ATBDeviceControllerPlugin::private_setupDynTemplateData_DEFAULT(struct T_dy
|
|||||||
memcpy((char*)dynTicketData->dynDat7, ba_ticketNumber.data(), std::min(ba_ticketNumber.size(),8));
|
memcpy((char*)dynTicketData->dynDat7, ba_ticketNumber.data(), std::min(ba_ticketNumber.size(),8));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void ATBDeviceControllerPlugin::private_setupDynTemplateData_FIXED_PRICE(struct T_dynDat *dynTicketData, Ticket *ticket)
|
||||||
|
{
|
||||||
|
QDateTime parkingEndDateTime = QDateTime::fromString(ticket->getPrintingData()["parkingEnd"].toString(), Qt::ISODate);
|
||||||
|
QDateTime currentDateTime = QDateTime::fromString(ticket->getPrintingData()["currentDateTime"].toString(), Qt::ISODate);
|
||||||
|
|
||||||
|
QString parkingEndDateString = TicketUtils::getLocaleDateString(this->printerLocale, parkingEndDateTime.date());
|
||||||
|
QString currentDateString = TicketUtils::getLocaleDateString(this->printerLocale, currentDateTime.date());
|
||||||
|
|
||||||
|
|
||||||
|
// set dynamic printer data:
|
||||||
|
QByteArray ba_licenseplate = codec->fromUnicode(ticket->getPrintingData()["licenseplate"].toString());
|
||||||
|
memcpy((char*)dynTicketData->licensePlate, ba_licenseplate.data(), std::min(ba_licenseplate.size(),8));
|
||||||
|
|
||||||
|
QByteArray ba_amount = codec->fromUnicode(ticket->getPrintingData()["amount"].toString());
|
||||||
|
memcpy((char*)dynTicketData->vendingPrice, ba_amount.data(), std::min(ba_amount.size(),8));
|
||||||
|
|
||||||
|
QByteArray ba_parkingEndTime = codec->fromUnicode(parkingEndDateTime.toString("hh:mm"));
|
||||||
|
memcpy((char*)dynTicketData->parkingEnd, ba_parkingEndTime.data(), std::min(ba_parkingEndTime.size(),8));
|
||||||
|
|
||||||
|
QByteArray ba_parkingEndDate = codec->fromUnicode(parkingEndDateString);
|
||||||
|
memcpy((char*)dynTicketData->currentTime, ba_parkingEndDate.data(), std::min(ba_parkingEndDate.size(),8));
|
||||||
|
// ! and yes... 'ParkingEndDate' is 'currentTime'
|
||||||
|
|
||||||
|
QByteArray ba_currentDate = codec->fromUnicode(currentDateString);
|
||||||
|
memcpy((char*)dynTicketData->currentDate, ba_currentDate.data(), std::min(ba_currentDate.size(),8));
|
||||||
|
|
||||||
|
// Ticket-Number
|
||||||
|
QByteArray ba_ticketNumber = codec->fromUnicode(ticket->getPrintingData()["ticketNumber"].toString());
|
||||||
|
memcpy((char*)dynTicketData->dynDat5, ba_ticketNumber.data(), std::min(ba_ticketNumber.size(),8));
|
||||||
|
|
||||||
|
// Product-Text 1
|
||||||
|
QByteArray ba_productText1 = codec->fromUnicode(ticket->getPrintingData()["productText"].toString()).left(8);
|
||||||
|
memcpy((char*)dynTicketData->dynDat6, ba_productText1.data(), std::min(ba_productText1.size(),8));
|
||||||
|
|
||||||
|
// Product-Text 2
|
||||||
|
QByteArray ba_productText2 = codec->fromUnicode(ticket->getPrintingData()["productText"].toString()).mid(8,8);
|
||||||
|
memcpy((char*)dynTicketData->dynDat7, ba_productText2.data(), std::min(ba_productText2.size(),8));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************************************
|
/************************************************************************************************
|
||||||
* cash payment
|
* cash payment
|
||||||
*/
|
*/
|
||||||
|
@ -146,6 +146,7 @@ private:
|
|||||||
void prepareDynTemplateData();
|
void prepareDynTemplateData();
|
||||||
|
|
||||||
void private_setupDynTemplateData_DEFAULT(struct T_dynDat *dynTicketData, Ticket *ticket);
|
void private_setupDynTemplateData_DEFAULT(struct T_dynDat *dynTicketData, Ticket *ticket);
|
||||||
|
void private_setupDynTemplateData_FIXED_PRICE(struct T_dynDat *dynTicketData, Ticket *ticket);
|
||||||
void private_setupDynTemplateData_START_RECEIPT(struct T_dynDat *dynTicketData, Ticket *ticket);
|
void private_setupDynTemplateData_START_RECEIPT(struct T_dynDat *dynTicketData, Ticket *ticket);
|
||||||
void private_setupDynTemplatData_STOP_RECEIPT(struct T_dynDat *dynTicketData, Ticket *ticket);
|
void private_setupDynTemplatData_STOP_RECEIPT(struct T_dynDat *dynTicketData, Ticket *ticket);
|
||||||
void private_setupDynTemplatData_FOOD_STAMP(struct T_dynDat *dynTicketData, Ticket *ticket);
|
void private_setupDynTemplatData_FOOD_STAMP(struct T_dynDat *dynTicketData, Ticket *ticket);
|
||||||
|
@ -204,6 +204,66 @@ QDebug operator<<(QDebug debug, TICKET_VARIANT ticketVariant)
|
|||||||
case TICKET_VARIANT::PARKING_TICKET:
|
case TICKET_VARIANT::PARKING_TICKET:
|
||||||
debug << "TICKET_VARIANT::PARKING_TICKET";
|
debug << "TICKET_VARIANT::PARKING_TICKET";
|
||||||
break;
|
break;
|
||||||
|
case TICKET_VARIANT::PARKING_TICKET_CAR:
|
||||||
|
debug << "TICKET_VARIANT::PARKING_TICKET_CAR";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::PARKING_TICKET_CAMPER:
|
||||||
|
debug << "TICKET_VARIANT::PARKING_TICKET_CAMPER";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::PARKING_TICKET_VAN:
|
||||||
|
debug << "TICKET_VARIANT::PARKING_TICKET_VAN";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::DAY_TICKET:
|
||||||
|
debug << "TICKET_VARIANT::DAY_TICKET";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::DAY_TICKET_CHILD:
|
||||||
|
debug << "TICKET_VARIANT::DAY_TICKET_CHILD";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::DAY_TICKET_TEEN:
|
||||||
|
debug << "TICKET_VARIANT::DAY_TICKET_TEEN";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::DAY_TICKET_ADULT:
|
||||||
|
debug << "TICKET_VARIANT::DAY_TICKET_ADULT";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::DAY_TICKET_CAR:
|
||||||
|
debug << "TICKET_VARIANT::DAY_TICKET_CAR";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::DAY_TICKET_CAMPER:
|
||||||
|
debug << "TICKET_VARIANT::DAY_TICKET_CAMPER";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::DAY_TICKET_VAN:
|
||||||
|
debug << "TICKET_VARIANT::DAY_TICKET_VAN";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_1:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_1";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_2:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_2";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_3:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_3";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_4:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_4";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_5:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_5";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_6:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_6";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_7:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_7";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_8:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_8";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_9:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_9";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::FIXED_PRICE_10:
|
||||||
|
debug << "TICKET_VARIANT::FIXED_PRICE_10";
|
||||||
|
break;
|
||||||
case TICKET_VARIANT::RECEIPT:
|
case TICKET_VARIANT::RECEIPT:
|
||||||
debug << "TICKET_VARIANT::RECEIPT";
|
debug << "TICKET_VARIANT::RECEIPT";
|
||||||
break;
|
break;
|
||||||
@ -225,6 +285,12 @@ QDebug operator<<(QDebug debug, TICKET_VARIANT ticketVariant)
|
|||||||
case TICKET_VARIANT::FREE_TICKET:
|
case TICKET_VARIANT::FREE_TICKET:
|
||||||
debug << "TICKET_VARIANT::FREE_TICKET";
|
debug << "TICKET_VARIANT::FREE_TICKET";
|
||||||
break;
|
break;
|
||||||
|
case TICKET_VARIANT::NO_TICKET:
|
||||||
|
debug << "TICKET_VARIANT::NO_TICKET";
|
||||||
|
break;
|
||||||
|
case TICKET_VARIANT::INVALID:
|
||||||
|
debug << "TICKET_VARIANT::INVALID";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return debug;
|
return debug;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user