diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.cpp b/src/ATBAPP/ATBDeviceControllerPlugin.cpp index 6b63edf..40664ce 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.cpp +++ b/src/ATBAPP/ATBDeviceControllerPlugin.cpp @@ -1198,6 +1198,36 @@ void ATBDeviceControllerPlugin::prepareDynTemplateData() case nsDeviceControllerInterface::TICKET_VARIANT::FOOD_STAMP: private_setupDynTemplatData_FOOD_STAMP(dynTicketData, this->currentTicket); 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: private_setupDynTemplateData_DEFAULT(dynTicketData, this->currentTicket); 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)); } + + +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 */ diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.h b/src/ATBAPP/ATBDeviceControllerPlugin.h index e8378aa..649100a 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.h +++ b/src/ATBAPP/ATBDeviceControllerPlugin.h @@ -146,6 +146,7 @@ private: void prepareDynTemplateData(); 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_setupDynTemplatData_STOP_RECEIPT(struct T_dynDat *dynTicketData, Ticket *ticket); void private_setupDynTemplatData_FOOD_STAMP(struct T_dynDat *dynTicketData, Ticket *ticket); diff --git a/src/ATBAPP/support/Ticket.cpp b/src/ATBAPP/support/Ticket.cpp index 8dff45e..42f28cc 100644 --- a/src/ATBAPP/support/Ticket.cpp +++ b/src/ATBAPP/support/Ticket.cpp @@ -204,6 +204,66 @@ QDebug operator<<(QDebug debug, TICKET_VARIANT ticketVariant) case TICKET_VARIANT::PARKING_TICKET: debug << "TICKET_VARIANT::PARKING_TICKET"; 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: debug << "TICKET_VARIANT::RECEIPT"; break; @@ -225,6 +285,12 @@ QDebug operator<<(QDebug debug, TICKET_VARIANT ticketVariant) case TICKET_VARIANT::FREE_TICKET: debug << "TICKET_VARIANT::FREE_TICKET"; break; + case TICKET_VARIANT::NO_TICKET: + debug << "TICKET_VARIANT::NO_TICKET"; + break; + case TICKET_VARIANT::INVALID: + debug << "TICKET_VARIANT::INVALID"; + break; } return debug;