00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 void TicketHistory::init()
00011 {
00012 listTable->setLeftMargin( 0 ) ;
00013 listTable->setColumnWidth( BOXID, 0 ) ;
00014 listTable->setColumnWidth( CASHIER, 0 ) ;
00015 listTable->setColumnWidth( TICKETDATE, 0 ) ;
00016 listTable->setColumnStretchable( TICKETNO, TRUE ) ;
00017 detailTable->setFilter( "recid=-1" ) ;
00018 detailTable->refresh() ;
00019
00020 }
00021
00022 void TicketHistory::ticketChanged( int row, int col )
00023 {
00024 if ( !inInit ) {
00025 detailTable->setFilter( QString( "ticket_num='%1-%2-%3-%4 %5'" )
00026 .arg( listTable->text( row, BOXID ) )
00027 .arg( listTable->text( row, CASHIER ) )
00028 .arg( listTable->text( row, TICKETNO ) )
00029 .arg( listTable->text( row, TICKETDATE ) )
00030 .arg( listTable->text( row, TICKETTIME ) ) ) ;
00031 detailTable->refresh() ;
00032 }
00033 }
00034
00035
00036
00037 void TicketHistory::fillTable()
00038 {
00039 int row = 0 ;
00040 QString entry ;
00041 listTable->setNumRows( 0 ) ;
00042 while ( refer->next() ) {
00043 entry = refer->value( 0 ).toString() ;
00044 listTable->insertRows( row, 1 ) ;
00045 listTable->setText( row, 0, entry.section( "-", 0, 0 ) ) ;
00046 listTable->setText( row, 1, entry.section( "-", 1, 1 ) ) ;
00047 listTable->setText( row, 2, entry.section( "-", 2, 2 ) ) ;
00048 QString dt = entry.section( "-", 3, 3 ) ;
00049 listTable->setText( row, 3, dt.section( " ", 0, 0 ) ) ;
00050 listTable->setText( row, 4, dt.section( " ", 1, 1 ) ) ;
00051 row++ ;
00052 }
00053 if ( listTable->numRows() > 0 ) {
00054 listTable->setCurrentCell( 0, 0 ) ;
00055 listTable->selectRow( 0 ) ;
00056 ticketChanged( 0, 0 ) ;
00057 } else {
00058 applyButton->setEnabled( FALSE ) ;
00059 messageline->setText( tr( "No ticket means your criteria. Sorry" ) ) ;
00060 }
00061 }
00062
00063
00064 void TicketHistory::setDateValues( const QDate & dt )
00065 {
00066 inInit = TRUE ;
00067 QString filter = QString( "received >= '%1' AND received <= '%2'" )
00068 .arg( dt.toString( "yyyyMMdd000000" ) )
00069 .arg( dt.toString( "yyyyMMdd235959" ) ) ;
00070 refer = new QSqlQuery ( QString( "SELECT DISTINCT ticket_num FROM Ticket_receipts "
00071 "WHERE %1 ;" ).arg( filter ) ) ;
00072 dateLabel->setText( dt.toString( "dd MMMM yyyy" ) ) ;
00073
00074 int row = 0 ;
00075 QString entry ;
00076 listTable->setNumRows( 0 ) ;
00077 while ( refer->next() ) {
00078 entry = refer->value( 0 ).toString() ;
00079 listTable->insertRows( row, 1 ) ;
00080 listTable->setText( row, BOXID, entry.section( "-", 0, 0 ) ) ;
00081 listTable->setText( row, CASHIER, entry.section( "-", 1, 1 ) ) ;
00082 listTable->setText( row, TICKETNO, entry.section( "-", 2, 2 ) ) ;
00083 QString dt = entry.section( "-", 3, 3 ) ;
00084 listTable->setText( row, TICKETDATE, dt.section( " ", 0, 0 ) ) ;
00085 listTable->setText( row, TICKETTIME, dt.section( " ", 1, 1 ) ) ;
00086 row++ ;
00087 }
00088 if ( listTable->numRows() > 0 ) {
00089 listTable->setCurrentCell( 0, 0 ) ;
00090 listTable->selectRow( 0 ) ;
00091 inInit = FALSE ;
00092 ticketChanged( 0, 0 ) ;
00093 } else {
00094 applyButton->setEnabled( FALSE ) ;
00095 messageline->setText( tr( "No ticket means your criteria. Sorry" ) ) ;
00096 }
00097 inInit = FALSE ;
00098 }
00099
00100
00101 void TicketHistory::setMessage( const QString & msg )
00102 {
00103 messageline->setText( msg ) ;
00104 }
00105
00106
00107 QString TicketHistory::getResult()
00108 {
00109 int row = listTable->currentRow() ;
00110 return QString( "ticket_num='%1-%2-%3-%4 %5" )
00111 .arg( listTable->text( row, 0 ) )
00112 .arg( listTable->text( row, 1 ) )
00113 .arg( listTable->text( row, 2 ) )
00114 .arg( listTable->text( row, 3 ) )
00115 .arg( listTable->text( row, 4 ) ) ;
00116 }