Clasificacion EmpleadoModel::findClasificacion(QString codigo) { QSqlQuery clasificQuery = *query; clasificQuery.prepare("SELECT * FROM "+TABLE_CLASIFIC+" WHERE codigo=:codigo"); clasificQuery.bindValue(":codigo",codigo); if (!clasificQuery.exec()) { status = "Error al Buscar Clasificación: " + clasificQuery.lastError().text(); debugMessage(status); }else if (!clasificQuery.next()) { status = "Clasificación Codigo: "+codigo+" No existe."; debugMessage(status); }else { Clasificacion clasificacion( clasificQuery.value("codigo").toString(), clasificQuery.value("descripcion").toString(), clasificQuery.value("cod_area").toString(), clasificQuery.value("formapago").toString(), clasificQuery.value("valor").toDouble(), clasificQuery.value("activo").toBool(), clasificQuery.value("fechacreac").toString() ); status = "Clasificación código:"+codigo+" Encontrada..."; debugMessage(status); return clasificacion; } return Clasificacion(); }
Empleado EmpleadoWidget::descargarEmpleado() { QString codigoClasif = clasificModel->record(ui->clasifcComboBox->currentIndex()).value("codigo").toString(); Clasificacion clasificacion(model->findClasificacion(codigoClasif)); empleado = Empleado( ui->cedulaLineEdit->text(), ui->nombresLineEdit->text(), ui->apellidosLineEdit->text(), ui->rifLineEdit->text(), ui->fechaNacDateEdit->date().toString("yyyy-MM-dd"), ui->lugarNacLineEdit->text(), ui->emailLineEdit->text(), ui->edoCivilComboBox->currentText(), ui->numHijosSpinBox->value(), ui->direccionLineEdit->text(), ui->tlf1LineEdit->text(), ui->tlf2LineEdit->text(), ui->nivelAcadLineEdit->text(), ui->especLineEdit->text(), ui->nivelSupCheckBox->isChecked(), ui->tituloLineEdit->text(), "2016-10-10", "2016-10-10", ui->fechaIngrDateEdit->date().toString("yyyy-MM-dd"), ui->statusComboBox->currentText(), clasificacion.getArea(), clasificacion, ui->nivelAcadLineEdit->text(), ui->HorasSpinBox->value(), ui->tipoContratoComboBox->currentText()); qDebug() << clasificacion.getArea(); return empleado; }
Empleado EmpleadoModel::findEmpleado(QString cedula) { Empleado empleado; query->prepare("SELECT * FROM "+TABLE_EMPLEADO+" where cedula=:cedula"); query->bindValue(":cedula",cedula); if (!query->exec()) { status = "ERROR al buscar Empleado: " + query->lastError().text(); debugMessage(status); } else if (!query->next()) { status = "Empleado numero de cedula: " +cedula+" No existe."; debugMessage(status); } else { Clasificacion clasificacion(findClasificacion(query->value("cod_clasif").toString())); empleado = Empleado( query->value("cedula").toString(), query->value("nombres").toString(), query->value("apellidos").toString(), query->value("rif").toString(), query->value("fechanac").toString(), query->value("lugarnac").toString(), query->value("email").toString(), query->value("edocivil").toString(), query->value("numhijos").toInt(), query->value("direccion").toString(), query->value("tlf1").toString(), query->value("tlf2").toString(), query->value("nivelacad").toString(), query->value("espec").toString(), query->value("nivelsup").toBool(), query->value("titulo").toString(), query->value("fecha_ingeduc").toString(), query->value("fecha_ingeducpriv").toString(), query->value("fecha_ing").toString(), query->value("status").toString(), query->value("cod_area").toString(), clasificacion, query->value("nivel").toString(), query->value("horas").toInt(), query->value("salariohora").toDouble(), query->value("salariodia").toDouble(), query->value("salariasem").toDouble(), query->value("salariomes").toDouble(), query->value("contrato").toString(), query->value("antiguedad").toInt() ); status = "Empleado Encontrado..."; debugMessage(status); } return empleado; }
string OCR::run(Placa *input){ //Segment chars of plate vector<SegmentoLetra> segmentos = segmento(*input); cout << "Numero de letras: "<<segmentos.size() << endl; for (int i = 0; i<segmentos.size(); i++){ //Preprocess each char for all images have same sizes Mat ch = preprocesamientoCaracter(segmentos[i].imagen); if (saveSegments){ stringstream ss(stringstream::in | stringstream::out); ss << "tmpChars/" << nombreArchivo << "_" << i << ".jpg"; imwrite(ss.str(), ch); } //For each segment Extract Features Mat f = caracteristicas(ch, 15); //For each segment feature Classify int character = clasificacion(f); input->letras.push_back(Caracteres[character]); input->posLetras.push_back(segmentos[i].posicion); } return "-";//input->str(); }