InvoiceLine::InvoiceLine(int aPrice, int aQuantity,float aDiscount,float aTax, QString aProduct="", int aInvoiceId=0, int aProductId=0) { QSqlQuery q; InvoiceLine(); price = aPrice; quantity=aQuantity; discount= aDiscount; product = aProduct; q.exec("select id from product where product_id = '"+aProduct+"';"); if (q.next()) productId=q.value(0).toInt(); }
void oClub::addTeamInvoiceLine(const pTeam t, const InvoiceData &data, list<InvoiceLine> &lines) const { lines.push_back(InvoiceLine()); InvoiceLine &line = lines.back(); int xs = data.xs; int fee = t->getDCI().getInt("Fee"); int paid = t->getDCI().getInt("Paid"); if (fee <= 0) return; line.addString(xs, t->getName()); line.addString(xs+data.clsPos, t->getClass()); string ts; if (t->getStatus() == StatusUnknown) ts = "-"; else { if (t->getStatus()==StatusOK) { ts = t->getPrintPlaceS(true)+ " (" + t->getRunningTimeS() + ")"; } else ts = t->getStatusS(); } if (t->getClassRef() && t->getClassRef()->getClassStatus() == oClass::InvalidRefund) { fee = 0; } line.addString(xs+data.feePos, oe->formatCurrency(fee), true); line.addString(xs+data.paidPos, oe->formatCurrency(paid), true); line.fee = fee; line.paid = paid; line.addString(xs+data.resPos, ts); for (int j = 0; j < t->getNumRunners(); j++) { pRunner r = t->getRunner(j); if (r && r->getClubId() == t->getClubId()) { addRunnerInvoiceLine(r, true, data, lines); } } }
InvoiceLine::InvoiceLine(int id) { QSqlQuery q; InvoiceLine(); q.exec("select invoice_line.id,invoice_line.invoice_id,invoice_line.product_id,invoice_line.price,invoice_line.quantity,invoice_line.discount,invoice_line.tax,product.product_id,product.name from invoice_line,product where product.id=invoice_line.product_id and invoice_line.id= "+Global::toString(id)+";"); if (q.next()) { kdDebug()<<"in the if "<<endl; id=q.value(0).toInt(); invoiceId=q.value(1).toInt(); productId=q.value(2).toInt(); price =q.value(3).toInt(); quantity=q.value(4).toInt(); kdDebug()<<"in the if 2"<<endl; discount = q.value(5).toInt(); tax = q.value(6).toInt(); product=q.value(7).toString(); productName = q.value(8).toString(); } }
void oClub::addRunnerInvoiceLine(const pRunner r, bool inTeam, const InvoiceData &data, list<InvoiceLine> &lines) const { int xs = data.xs; lines.push_back(InvoiceLine()); InvoiceLine &line = lines.back(); line.addString(xs + (inTeam ? 10 : 0), r->getName()); string ts; if (!inTeam) line.addString(xs+data.clsPos, r->getClass()); if (r->getStatus() == StatusUnknown) ts = "-"; else if (!data.multiDay) { if (r->getStatus()==StatusOK) { ClassType type = oClassIndividual; cTeam t = r->getTeam(); if (t && r->getClassRef()) type = r->getClassRef()->getClassType(); if (type == oClassIndividRelay || type == oClassRelay) { int leg = r->getLegNumber(); if (t->getLegStatus(leg, false) == StatusOK) ts = t->getLegPlaceS(leg, false)+ " (" + r->getRunningTimeS() + ")"; else ts = t->getLegStatusS(leg, false)+ " (" + r->getRunningTimeS() + ")"; } else ts = r->getPrintPlaceS(true)+ " (" + r->getRunningTimeS() + ")"; } else ts = r->getStatusS(); } else { if (r->getTotalStatus()==StatusOK) { ts = r->getPrintTotalPlaceS(true)+ " (" + r->getTotalRunningTimeS() + ")"; } else if (r->getTotalStatus()!=StatusNotCompetiting) ts = r->getStatusS(); else { ts = r->getInputStatusS(); } } int fee = r->getDCI().getInt("Fee"); int card = r->getDCI().getInt("CardFee"); int paid = r->getDCI().getInt("Paid"); if (r->getClassRef() && r->getClassRef()->getClassStatus() == oClass::InvalidRefund) { fee = 0; card = 0; } if (!inTeam || fee>0) line.addString(xs+data.feePos, oe->formatCurrency(fee), true); if (card > 0) line.addString(xs+data.cardPos, oe->formatCurrency(card), true); if (!inTeam || paid>0) line.addString(xs+data.paidPos, oe->formatCurrency(paid), true); line.fee= fee; if (card > 0) line.rent = card; line.paid = paid; line.addString(xs+data.resPos, ts); }