void ItemMargin::setItem(Id item_id, const QString& number) { if (_item->getId() == item_id) return; _item->setValue(Plu(item_id, number)); newItem(); }
void SalesHistory::setItem(Id item_id, const QString& number) { if (_item->getId() == item_id) return; _item->setValue(Plu(item_id, number)); slotItemChanged(); }
// Set the widgets from the data object. void ItemTransfer::dataToWidget() { _gltxFrame->setData(_curr); _toNumber->setText(_link.number()); _toShift->setId(_link.shiftId()); _toStore->setId(_link.storeId()); _account->setId(_curr.accountId()); _inactive->setChecked(!_curr.isActive()); // Load the items _items->setUpdatesEnabled(false); _items->clear(); _lines.clear(); _lookup->store_id = _curr.storeId(); for (unsigned int i = 0; i < _curr.items().size(); ++i) { const ItemLine& line = _curr.items()[i]; if (line.voided) continue; Item item; findItem(line.item_id, item); fixed on_hand, total_cost, on_order; _quasar->db()->itemGeneral(item.id(), "", _curr.storeId(), QDate::currentDate(), on_hand, total_cost, on_order); VectorRow* row = new VectorRow(_items->columns()); row->setValue(0, Plu(line.item_id, line.number)); row->setValue(1, item.description()); row->setValue(2, line.size); row->setValue(3, on_hand / item.sizeQty(line.size)); row->setValue(4, -line.quantity); row->setValue(5, -line.inv_cost); if (_company.depositAccount() != INVALID_ID) row->setValue(6, -line.ext_deposit); _items->appendRow(row); AdjItem& iline = _lines[_items->rows() - 1]; iline.item = item; iline.number = line.number; iline.size = line.size; iline.size_qty = line.size_qty; iline.quantity = -line.quantity; iline.inv_cost = -line.inv_cost; iline.ext_deposit = -line.ext_deposit; if (i == 0) { for (unsigned int i = 0; i < iline.item.sizes().size(); ++i) { _size->insertItem(item.sizes()[i].name); if (item.sizes()[i].name == line.size) _size->setCurrentItem(_size->count() - 1); } } } _items->appendRow(new VectorRow(_items->columns())); _items->setUpdatesEnabled(true); recalculate(); }
TString MillePedeTrees::RPos2(const TString &tree) const { const TString x(tree + XPos()); const TString y(tree + YPos()); return Parenth((x + Mal() += x) + Plu() += (y + Mal() += y)); }
// Set the widgets from the data object. void CountMaster::dataToWidget() { _number->setText(_curr.number()); _description->setText(_curr.description()); _date->setDate(_curr.date()); _location->setId(_curr.locationId()); _employee->setId(_curr.employeeId()); _store->setId(_curr.storeId()); _inactive->setChecked(!_curr.isActive()); _locLookup->store_id = _curr.storeId(); _itemLookup->store_id = _curr.storeId(); // Clear the caches _item_cache.clear(); // Load the items _items->setUpdatesEnabled(false); _items->clear(); const vector<CountItem>& items = _curr.items(); for (unsigned int line = 0; line < items.size(); ++line) { Id item_id = items[line].item_id; QString number = items[line].number; QString size = items[line].size; fixed size_qty = items[line].size_qty; fixed quantity = items[line].quantity; fixed on_hand = items[line].on_hand; bool oh_set = items[line].oh_set; Item item; findItem(item_id, item); QString description = item.description(); if (item_id == INVALID_ID) description = tr("** Unknown Item **"); if (!oh_set && item.id() != INVALID_ID) { fixed total_cost, on_order; QDate date = QDate::currentDate(); _quasar->db()->itemGeneral(item.id(), "", _curr.storeId(), date, on_hand, total_cost, on_order); on_hand = on_hand / size_qty; } VectorRow* row = new VectorRow(_items->columns()); row->setValue(0, Plu(item_id, number)); row->setValue(1, description); row->setValue(2, size); row->setValue(3, on_hand); row->setValue(4, quantity); _items->appendRow(row); } _items->setUpdatesEnabled(true); _items->appendRow(new VectorRow(_items->columns())); }
TString MillePedeTrees::DeformValue(UInt_t i, const TString &whichOne) const { const unsigned int iDelta = 9; //start,result,diff if (whichOne == "diff") { // normal result: end minus start TString result((PosT() += Form("DeformValues[%u]", i)) += Min() += MisPosT() += Form("DeformValues[%u]", i)); if (!fSurfDefDeltaBows) { // special treatment if(i <= 2) { // sensor 1 result += Plu() += PosT() += Form("DeformValues[%u]", i + iDelta) + Min() += MisPosT() += Form("DeformValues[%u]", i + iDelta); } else if (i >= 9 && i <=11) { // sensor 2 result = Min() += Parenth(result); // delta values to be subtracted // add usual difference of mean values result += Plu() += PosT() += Form("DeformValues[%u]", i - iDelta) + Min() += MisPosT() += Form("DeformValues[%u]", i - iDelta); } } return Parenth(result); } else { // first find tree for start or result TString tree; if (whichOne == "result") tree = PosT(); else if (whichOne == "start") tree = MisPosT(); else { ::Error("MillePedeTrees::DeformValue", "unknown 'whichOne': %s", whichOne.Data()); return "1"; } // special treatment? if (!fSurfDefDeltaBows) { if(i <= 2) { // sensor 1 return Parenth(tree + Form("DeformValues[%u]", i) += Plu() += tree + Form("DeformValues[%u]", i + iDelta)); } else if (i >= 9 && i <= 11) { // sensor 2 return Parenth(tree + Form("DeformValues[%u]", i - iDelta) += Min() += tree + Form("DeformValues[%u]", i)); } } return tree += Form("DeformValues[%u]", i); } }
TString MillePedeTrees::DelRphi(const TString &tree1, const TString &tree2) const { // distance vector in rphi/xy plane times unit vector e_phi = (-y/r, x/r) // tree2 gives reference for e_phi const TString deltaX = Parenth(tree1 + XPos() += (Min() += tree2) += XPos()); const TString deltaY = Parenth(tree1 + YPos() += (Min() += tree2) += YPos()); // (delta_x * (-y) + delta_y * x) / r // protect against possible sign of RPos: return Parenth(Parenth(deltaX + Mal() += ("-" + tree2) += YPos() += Plu() += deltaY + Mal() += tree2 + XPos() ) += Div() += Sqrt(RPos2(tree2)) //RPos(tree2) ); }
// Set the widgets from the data object. void PromoBatchMaster::dataToWidget() { _number->setText(_curr.number()); _description->setText(_curr.description()); _store->setId(_curr.storeId()); _fromDate->setDate(_curr.fromDate()); _toDate->setDate(_curr.toDate()); _execDate->setDate(_curr.executedOn()); _inactive->setChecked(!_curr.isActive()); // Clear the caches _item_cache.clear(); Id store_id = _curr.storeId(); // Load the items _items->setUpdatesEnabled(false); _items->clear(); const vector<PromoBatchItem>& items = _curr.items(); for (unsigned int line = 0; line < items.size(); ++line) { Id item_id = items[line].item_id; QString number = items[line].number; QString size = items[line].size; Price promoPrice = items[line].price; fixed ordered = items[line].ordered; Id price_id = items[line].price_id; Item item; findItem(item_id, item); QString description = item.description(); if (item_id == INVALID_ID) description = tr("** Unknown Item **"); Price currentPrice = item.price(store_id, size); VectorRow* row = new VectorRow(_items->columns() + 1); row->setValue(0, Plu(item_id, number)); row->setValue(1, description); row->setValue(2, size); row->setValue(3, currentPrice); row->setValue(4, promoPrice); row->setValue(5, ordered); row->setValue(6, price_id); _items->appendRow(row); } _items->setUpdatesEnabled(true); _items->appendRow(new VectorRow(_items->columns() + 1)); }
void CountMaster::appendItem(const Item& item, const QString& number, const QString& in_size, fixed qty) { QString size = in_size; if (size.isEmpty()) size = item.sellSize(); fixed size_qty = item.sizeQty(size); fixed on_hand, total_cost, on_order; QDate date = QDate::currentDate(); _quasar->db()->itemGeneral(item.id(), "", _curr.storeId(), date, on_hand, total_cost, on_order); on_hand = on_hand / size_qty; VectorRow* row = new VectorRow(_items->columns()); row->setValue(0, Plu(item.id(), number)); row->setValue(1, item.description()); row->setValue(2, size); row->setValue(3, on_hand); row->setValue(4, qty); _items->insertRow(_items->rows() - 1, row); }
bool OpenBalances::importItem(QDomNodeList& nodes) { Item item; QString number; QString size; fixed qty = 0.0; fixed cost = 0.0; for (uint i = 0; i < nodes.count(); ++i) { QDomNode node = nodes.item(i); if (node.isNull()) continue; QDomElement e = node.toElement(); if (e.isNull()) continue; QString tag = e.tagName(); QString text = e.text(); if (tag == "number") { if (!findItem(text, item)) warning("Can't find item: " + text); number = text; } else if (tag == "size") { size = text; } else if (tag == "qty") { qty = text.toDouble(); } else if (tag == "cost") { cost = text.toDouble(); } else { warning("Unknown item tag: " + tag); } } if (item.id() == INVALID_ID) { warning("Failed item import"); return false; } if (!item.isInventoried()) { warning("Item " + number + " isn't inventoried"); return false; } if (!item.stocked(_store->getId())) { warning("Item " + number + " isn't stocked"); return false; } if (size.isEmpty()) size = item.numberSize(number); if (size.isEmpty()) size = item.sellSize(); VectorRow* row = new VectorRow(_items->columns()); row->setValue(0, Plu(item.id(), number)); row->setValue(1, item.description()); row->setValue(2, size); row->setValue(3, qty); row->setValue(4, cost); _items->appendRow(row); return true; }