PrintTicket: Support FIXED_PRICE Tickets
This commit is contained in:
		@@ -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
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user