00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <QDialog>
00022
00023 #include "busquedaproveedor.h"
00024 #include "providerslist.h"
00025 #include "company.h"
00026 #include "funcaux.h"
00027
00028
00035 BusquedaProveedor::BusquedaProveedor(QWidget *parent)
00036 : BLWidget(parent) {
00037 _depura("BusquedaProveedor::BusquedaProveedor", 0);
00038 setupUi(this);
00039 mdb_idproveedor = "";
00040 mdb_nomproveedor = "";
00041 mdb_cifproveedor = "";
00042 mdb_codproveedor = "";
00043 m_semaforo = FALSE;
00044 _depura("END BusquedaProveedor::BusquedaProveedor", 0);
00045 }
00046
00047
00054 void BusquedaProveedor::pinta() {
00055 _depura("BusquedaProveedor::pinta", 0);
00056 m_semaforo = TRUE;
00057 m_cifproveedor->setText(mdb_cifproveedor);
00058 m_nomproveedor->setText(mdb_codproveedor + ".- " + mdb_nomproveedor);
00059 m_semaforo = FALSE;
00060 emit(valueChanged(mdb_idproveedor));
00061 _depura("END BusquedaProveedor::pinta", 0);
00062 }
00063
00064
00069 BusquedaProveedor::~BusquedaProveedor() {
00070 _depura("BusquedaProveedor::~BusquedaProveedor", 0);
00071 _depura("END BusquedaProveedor::~BusquedaProveedor", 0);
00072 }
00073
00074
00082 void BusquedaProveedor::setidproveedor(QString val) {
00083 _depura("BusquedaProveedor::setidproveedor", 0);
00084 mdb_idproveedor = val;
00085 if (mdb_idproveedor != "") {
00086 QString SQLQuery = "SELECT * FROM proveedor WHERE idproveedor = '" + mdb_idproveedor + "'";
00087 cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00088 if (!cur->eof()) {
00089 mdb_cifproveedor = cur->valor("cifproveedor");
00090 mdb_nomproveedor = cur->valor("nomproveedor");
00091 mdb_codproveedor = cur->valor("codproveedor");
00092 }
00093 delete cur;
00094 } else {
00095 mdb_idproveedor = "";
00096 mdb_nomproveedor = "";
00097 mdb_cifproveedor = "";
00098 mdb_codproveedor = "";
00099 }
00100 pinta();
00101 _depura("END BusquedaProveedor::setidproveedor", 0);
00102 }
00103
00105
00108 void BusquedaProveedor::setValorCampo(QString val) {
00109 _depura("BusquedaProveedor::setValorCampo", 0);
00110 setidproveedor(val);
00111 _depura("END BusquedaProveedor::setValorCampo", 0);
00112 }
00113
00121 void BusquedaProveedor::setcifproveedor(QString val) {
00122 _depura("BusquedaProveedor::setcifproveedor", 0);
00123 mdb_cifproveedor = val;
00124 QString SQLQuery = "SELECT * FROM proveedor WHERE cifproveedor = '" + mdb_cifproveedor + "'";
00125 cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00126
00127 if (!cur->eof()) {
00128 mdb_idproveedor = cur->valor("idproveedor");
00129 mdb_nomproveedor = cur->valor("nomproveedor");
00130 mdb_codproveedor = cur->valor("codproveedor");
00131 } else {
00132 mdb_idproveedor = "";
00133 mdb_nomproveedor = "";
00134 mdb_codproveedor = "";
00135 }
00136
00137 delete cur;
00138 pinta();
00139 _depura("END BusquedaProveedor::setcifproveedor", 0);
00140 }
00141
00142
00150 void BusquedaProveedor::on_mui_buscar_clicked() {
00151 _depura("BusquedaProveedor::on_mui_buscar_clicked", 0);
00152
00154 QDialog *diag = new QDialog(0);
00155 diag->setModal(true);
00156
00157 ProveedorList *providers = new ProveedorList((Company *) empresaBase(), diag, 0, ProveedorList::SelectMode);
00158 connect(providers, SIGNAL(selected(QString)), diag, SLOT(accept()));
00159
00162 QHBoxLayout *layout = new QHBoxLayout;
00163 layout->addWidget(providers);
00164 layout->setMargin(0);
00165 layout->setSpacing(0);
00166 diag->setLayout(layout);
00167 diag->setWindowTitle(providers->windowTitle());
00168
00169 diag->exec();
00170
00171 if (providers->cifprovider() != "") {
00172 setcifproveedor(providers->cifprovider());
00173 emit(valueChanged(mdb_idproveedor));
00174 }
00175
00176 delete providers;
00177 delete diag;
00178 _depura("END BusquedaProveedor::on_mui_buscar_clicked", 0);
00179 }
00180
00186 void BusquedaProveedor::on_m_cifproveedor_editingFinished() {
00187 _depura("BusquedaProveedor::on_m_cifproveedor_editingFinished", 0);
00188 pinta();
00189 emit(valueChanged(mdb_idproveedor));
00190 _depura("END BusquedaProveedor::on_m_cifproveedor_editingFinished", 0);
00191 }
00192
00201 void BusquedaProveedor::on_m_cifproveedor_textChanged(const QString &val) {
00202 _depura("BusquedaProveedor::on_m_cifproveedor_textChanged", 0);
00203 if (m_semaforo)
00204 return;
00205
00206 bool encontrado = FALSE;
00207 QString SQLQuery = "SELECT * FROM proveedor WHERE cifproveedor = '" + val + "'";
00208 cursor2 *cur = empresaBase()->cargacursor(SQLQuery);
00209 if (!cur->eof()) {
00210 mdb_idproveedor = cur->valor("idproveedor");
00211 mdb_nomproveedor = cur->valor("nomproveedor");
00212 mdb_cifproveedor = cur->valor("cifproveedor");
00213 mdb_codproveedor = cur->valor("codproveedor");
00214 encontrado = TRUE;
00215 }
00216 delete cur;
00217
00218 if (!encontrado) {
00219 QString SQLQuery = "SELECT * FROM proveedor WHERE codproveedor = '" + val + "'";
00220 cur = empresaBase()->cargacursor(SQLQuery);
00221 if(!cur->eof()) {
00222 mdb_idproveedor = cur->valor("idproveedor");
00223 mdb_nomproveedor = cur->valor("nomproveedor");
00224 mdb_cifproveedor = cur->valor("cifproveedor");
00225 mdb_codproveedor = cur->valor("codproveedor");
00226 encontrado = TRUE;
00227 }
00228 delete cur;
00229 }
00230
00231 if (!encontrado) {
00232 QString SQLQuery = "SELECT * FROM proveedor WHERE upper(nomproveedor) LIKE upper('%" + val + "%')";
00233 cur = empresaBase()->cargacursor(SQLQuery);
00234 if(cur->numregistros() == 1) {
00235 mdb_idproveedor = cur->valor("idproveedor");
00236 mdb_nomproveedor = cur->valor("nomproveedor");
00237 mdb_cifproveedor = cur->valor("cifproveedor");
00238 mdb_codproveedor = cur->valor("codproveedor");
00239 encontrado = TRUE;
00240 }
00241 delete cur;
00242 }
00243
00244
00245 if (!encontrado) {
00246 m_nomproveedor->setText("");
00247 }
00248
00249 if (encontrado) {
00250 m_nomproveedor->setText(mdb_codproveedor + ".- " + mdb_nomproveedor);
00251 }
00252 _depura("END BusquedaProveedor::on_m_cifproveedor_textChanged", 0);
00253 }
00254
00255
00261 QString BusquedaProveedor::cifproveedor() {
00262 _depura("BusquedaProveedor::cifproveedor", 0);
00263 _depura("END BusquedaProveedor::cifproveedor", 0);
00264 return m_cifproveedor->text();
00265 }
00266
00267
00273 QString BusquedaProveedor::idproveedor() {
00274 _depura("BusquedaProveedor::idproveedor", 0);
00275 _depura("END BusquedaProveedor::idproveedor", 0);
00276 return mdb_idproveedor;
00277 }
00278
00279
00285 QString BusquedaProveedor::valorCampo() {
00286 _depura("BusquedaProveedor::idproveedor", 0);
00287 _depura("END BusquedaProveedor::idproveedor", 0);
00288 return mdb_idproveedor;
00289 }
00290
00291
00296 QString BusquedaProveedor::nomproveedor() {
00297 _depura("BusquedaProveedor::nomproveedor", 0);
00298 _depura("END BusquedaProveedor::nomproveedor", 0);
00299 return nomproveedor();
00300 }
00301