Example #1
0
void ItemLineEdit::silentSetId(const int pId)
{
  XSqlQuery item;
  bool      found = FALSE;

  _parsed = TRUE;

  if (_useValidationQuery)
  {
    item.prepare(_validationSql);
    item.bindValue(":item_id", pId);
    item.exec();
    if (item.first())
      found = TRUE;
  }
  else if (_useQuery)
  {
    item.prepare(_sql);
    item.exec();
    found = (item.findFirst("item_id", pId) != -1);
  }
  else if (pId != -1)
  {
    QString pre( "SELECT DISTINCT item_number, item_descrip1, item_descrip2,"
                 "                uom_name, item_type, item_config, item_upccode");

    QStringList clauses;
    clauses = _extraClauses;
    clauses << "(item_id=:item_id)";

    item.prepare(buildItemLineEditQuery(pre, clauses, QString::null, _type));
    item.bindValue(":item_id", pId);
    item.exec();

    found = item.first();
  }

  if (found)
  {
    if (completer())
    {
      disconnect(this, SIGNAL(textChanged(QString)), this, SLOT(sHandleCompleter()));
      static_cast<QSqlQueryModel* >(completer()->model())->setQuery(QSqlQuery());
    }

    _itemNumber = item.value("item_number").toString();
    _uom        = item.value("uom_name").toString();
    _itemType   = item.value("item_type").toString();
    _configured = item.value("item_config").toBool();
    _upc        = item.value("item_upccode").toString();
    _id         = pId;
    _valid      = TRUE;

    setText(item.value("item_number").toString());
    emit aliasChanged("");
    emit typeChanged(_itemType);
    emit descrip1Changed(item.value("item_descrip1").toString());
    emit descrip2Changed(item.value("item_descrip2").toString());
    emit uomChanged(item.value("uom_name").toString());
    emit configured(item.value("item_config").toBool());
    emit upcChanged(item.value("item_upccode").toString());
    
    emit valid(TRUE);

    if (completer())
      connect(this, SIGNAL(textChanged(QString)), this, SLOT(sHandleCompleter()));
  }
  else
  {
    _itemNumber = "";
    _uom        = "";
    _itemType   = "";
    _id         = -1;
    _upc        = "";
    _valid      = FALSE;

    setText("");

    emit aliasChanged("");
    emit typeChanged("");
    emit descrip1Changed("");
    emit descrip2Changed("");
    emit uomChanged("");
    emit configured(FALSE);
    emit upcChanged("");

    emit valid(FALSE);
  }
} 
Example #2
0
void ItemLineEdit::silentSetId(int pId)
{
    XSqlQuery item;
    bool      found = FALSE;

    _parsed = TRUE;

    if (_useValidationQuery)
    {
        item.prepare(_validationSql);
        item.bindValue(":item_id", pId);
        item.exec();
        if (item.first())
            found = TRUE;
    }
    else if (_useQuery)
    {
        item.prepare(_sql);
        item.exec();
        found = (item.findFirst("item_id", pId) != -1);
    }
    else if (pId != -1)
    {
        QString pre( "SELECT DISTINCT item_number, item_descrip1, item_descrip2,"
                     "                uom_name, item_type, item_config");

        QStringList clauses;
        clauses = _extraClauses;
        clauses << "(item_id=:item_id)";

        item.prepare(buildItemLineEditQuery(pre, clauses, QString::null, _type));
        item.bindValue(":item_id", pId);
        item.exec();

        found = item.first();
    }

    if (found)
    {
        _itemNumber = item.value("item_number").toString();
        _uom        = item.value("uom_name").toString();
        _itemType   = item.value("item_type").toString();
        _configured = item.value("item_config").toBool();
        _id         = pId;
        _valid      = TRUE;

        setText(item.value("item_number").toString());

        if (_mapper->model() &&
                _mapper->model()->data(_mapper->model()->index(_mapper->currentIndex(),_mapper->mappedSection(this))).toString() != text())
            _mapper->model()->setData(_mapper->model()->index(_mapper->currentIndex(),_mapper->mappedSection(this)), text());

        emit aliasChanged("");
        emit typeChanged(_itemType);
        emit descrip1Changed(item.value("item_descrip1").toString());
        emit descrip2Changed(item.value("item_descrip2").toString());
        emit uomChanged(item.value("uom_name").toString());
        emit configured(item.value("item_config").toBool());

        emit valid(TRUE);
    }
    else
    {
        _itemNumber = "";
        _uom        = "";
        _itemType   = "";
        _id         = -1;
        _valid      = FALSE;

        setText("");

        emit aliasChanged("");
        emit typeChanged("");
        emit descrip1Changed("");
        emit descrip2Changed("");
        emit uomChanged("");
        emit configured(FALSE);

        emit valid(FALSE);
    }
}
Example #3
0
void ItemLineEdit::setItemNumber(const QString& pNumber)
{
  XSqlQuery item;
  bool      found = FALSE;

  _parsed = TRUE;

  if (pNumber == text())
    return;

  if (!pNumber.isEmpty())
  {
    if (_useValidationQuery)
    {
      item.prepare(_validationSql);
      item.bindValue(":item_number", pNumber);
      item.exec();
      if (item.first())
        found = TRUE;
    }
    else if (_useQuery)
    {
      item.prepare(_sql);
      item.exec();
      found = (item.findFirst("item_number", pNumber) != -1);
    }
    else if (pNumber != QString::Null())
    {
      QString pre( "SELECT DISTINCT item_id, item_number, item_descrip1, item_descrip2,"
                   "                uom_name, item_type, item_config, item_upccode");

      QStringList clauses;
      clauses = _extraClauses;
      clauses << "(item_number=:item_number OR item_upccode=:item_number)";

      item.prepare(buildItemLineEditQuery(pre, clauses, QString::null, _type));
      item.bindValue(":item_number", pNumber);
      item.exec();
      
      if (item.size() > 1)
      { 
        ParameterList params;
        params.append("search", pNumber);
        params.append("searchNumber");
        params.append("searchUpc");
        sSearch(params);
        return;
      }
      else
        found = item.first();
    }
  }
  if (found)
  {
    _itemNumber = pNumber;
    _uom        = item.value("uom_name").toString();
    _itemType   = item.value("item_type").toString();
    _configured = item.value("item_config").toBool();
    _id         = item.value("item_id").toInt();
    _upc        = item.value("item_upccode").toInt();
    _valid      = TRUE;

    setText(item.value("item_number").toString());

    emit aliasChanged("");
    emit typeChanged(_itemType);
    emit descrip1Changed(item.value("item_descrip1").toString());
    emit descrip2Changed(item.value("item_descrip2").toString());
    emit uomChanged(item.value("uom_name").toString());
    emit configured(item.value("item_config").toBool());
    emit upcChanged(item.value("item_upccode").toString());
    
    emit valid(TRUE);
  }
  else
  {
    _itemNumber = "";
    _uom        = "";
    _itemType   = "";
    _id         = -1;
    _valid      = FALSE;
    _upc        = "";

    setText("");

    emit aliasChanged("");
    emit typeChanged("");
    emit descrip1Changed("");
    emit descrip2Changed("");
    emit uomChanged("");
    emit configured(FALSE);
    emit upcChanged("");

    emit valid(FALSE);
  }
}
Example #4
0
void ItemLineEdit::setItemNumber(QString pNumber)
{
    XSqlQuery item;
    bool      found = FALSE;

    _parsed = TRUE;

    if (_useValidationQuery)
    {
        item.prepare(_validationSql);
        item.bindValue(":item_number", pNumber);
        item.exec();
        if (item.first())
            found = TRUE;
    }
    else if (_useQuery)
    {
        item.prepare(_sql);
        item.exec();
        found = (item.findFirst("item_number", pNumber) != -1);
    }
    else if (pNumber != QString::Null())
    {
        QString pre( "SELECT DISTINCT item_number, item_descrip1, item_descrip2,"
                     "                uom_name, item_type, item_config");

        QStringList clauses;
        clauses = _extraClauses;
        clauses << "(item_number=:item_number)";

        item.prepare(buildItemLineEditQuery(pre, clauses, QString::null, _type));
        item.bindValue(":item_number", pNumber);
        item.exec();

        found = item.first();
    }

    if (found)
    {
        _itemNumber = pNumber;
        _uom        = item.value("uom_name").toString();
        _itemType   = item.value("item_type").toString();
        _configured = item.value("item_config").toBool();
        _id         = item.value("item_id").toInt();
        _valid      = TRUE;

        setText(item.value("item_number").toString());

        emit aliasChanged("");
        emit typeChanged(_itemType);
        emit descrip1Changed(item.value("item_descrip1").toString());
        emit descrip2Changed(item.value("item_descrip2").toString());
        emit uomChanged(item.value("uom_name").toString());
        emit configured(item.value("item_config").toBool());

        emit valid(TRUE);
    }
    else
    {
        _itemNumber = "";
        _uom        = "";
        _itemType   = "";
        _id         = -1;
        _valid      = FALSE;

        setText("");

        emit aliasChanged("");
        emit typeChanged("");
        emit descrip1Changed("");
        emit descrip2Changed("");
        emit uomChanged("");
        emit configured(FALSE);

        emit valid(FALSE);
    }
}