diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 64a2e44..22b2101 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -143,7 +143,7 @@ QLabel * labFace = new QLabel(); QLabel * labIris = new QLabel(); - if (hasFace.isEmpty()) + if (hasFace.isEmpty() || hasFace != "1") { labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); } else { @@ -152,7 +152,7 @@ labFace->setFixedSize(QSize(40, 40)); labFace->setAlignment(Qt::AlignCenter); - if (hasIris.isEmpty()) + if (hasIris.isEmpty() || hasIris != "1") { labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); } else { @@ -190,7 +190,7 @@ void PersonListForm::on_btnRegist_clicked() { - emit switchToRegistForm("0"); + emit switchToRegistForm(""); } void PersonListForm::on_btnHome_clicked() @@ -255,3 +255,10 @@ findPersonList(); } } + +void PersonListForm::on_personListTable_doubleClicked(const QModelIndex &index) +{ + int rowIndex = index.row(); + QString personId = personList->at(rowIndex).find("id")->toString(); + emit switchToRegistForm(personId); +} diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 64a2e44..22b2101 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -143,7 +143,7 @@ QLabel * labFace = new QLabel(); QLabel * labIris = new QLabel(); - if (hasFace.isEmpty()) + if (hasFace.isEmpty() || hasFace != "1") { labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); } else { @@ -152,7 +152,7 @@ labFace->setFixedSize(QSize(40, 40)); labFace->setAlignment(Qt::AlignCenter); - if (hasIris.isEmpty()) + if (hasIris.isEmpty() || hasIris != "1") { labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); } else { @@ -190,7 +190,7 @@ void PersonListForm::on_btnRegist_clicked() { - emit switchToRegistForm("0"); + emit switchToRegistForm(""); } void PersonListForm::on_btnHome_clicked() @@ -255,3 +255,10 @@ findPersonList(); } } + +void PersonListForm::on_personListTable_doubleClicked(const QModelIndex &index) +{ + int rowIndex = index.row(); + QString personId = personList->at(rowIndex).find("id")->toString(); + emit switchToRegistForm(personId); +} diff --git a/PersonListForm.h b/PersonListForm.h index cce03a3..d4b2a71 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -20,6 +20,7 @@ ~PersonListForm(); void keyPressEvent(QKeyEvent * event); + void findPersonList(); private slots: void on_btnRegist_clicked(); @@ -40,6 +41,8 @@ void btnDeleClicked(); + void on_personListTable_doubleClicked(const QModelIndex &index); + private: Ui::PersonListForm *ui; QStandardItemModel * itemModel; @@ -51,7 +54,6 @@ int totalPage = 0; void calcTotalPage(int totalCount); - void findPersonList(); void initPersonTableHeader(); void updatePersonListTable(); diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 64a2e44..22b2101 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -143,7 +143,7 @@ QLabel * labFace = new QLabel(); QLabel * labIris = new QLabel(); - if (hasFace.isEmpty()) + if (hasFace.isEmpty() || hasFace != "1") { labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); } else { @@ -152,7 +152,7 @@ labFace->setFixedSize(QSize(40, 40)); labFace->setAlignment(Qt::AlignCenter); - if (hasIris.isEmpty()) + if (hasIris.isEmpty() || hasIris != "1") { labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); } else { @@ -190,7 +190,7 @@ void PersonListForm::on_btnRegist_clicked() { - emit switchToRegistForm("0"); + emit switchToRegistForm(""); } void PersonListForm::on_btnHome_clicked() @@ -255,3 +255,10 @@ findPersonList(); } } + +void PersonListForm::on_personListTable_doubleClicked(const QModelIndex &index) +{ + int rowIndex = index.row(); + QString personId = personList->at(rowIndex).find("id")->toString(); + emit switchToRegistForm(personId); +} diff --git a/PersonListForm.h b/PersonListForm.h index cce03a3..d4b2a71 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -20,6 +20,7 @@ ~PersonListForm(); void keyPressEvent(QKeyEvent * event); + void findPersonList(); private slots: void on_btnRegist_clicked(); @@ -40,6 +41,8 @@ void btnDeleClicked(); + void on_personListTable_doubleClicked(const QModelIndex &index); + private: Ui::PersonListForm *ui; QStandardItemModel * itemModel; @@ -51,7 +54,6 @@ int totalPage = 0; void calcTotalPage(int totalCount); - void findPersonList(); void initPersonTableHeader(); void updatePersonListTable(); diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp index ce8a72a..83f22a0 100644 --- a/dao/FaceDataImgDao.cpp +++ b/dao/FaceDataImgDao.cpp @@ -27,7 +27,7 @@ result.append(item); } - LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -59,8 +59,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -92,8 +91,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2]").arg(count).arg(query.value("id").toString()).toLocal8Bit().data(); + LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2][%3]").arg(count).arg(query.value("id").toString()).arg(sql).toStdString(); return result; } @@ -128,8 +126,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 64a2e44..22b2101 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -143,7 +143,7 @@ QLabel * labFace = new QLabel(); QLabel * labIris = new QLabel(); - if (hasFace.isEmpty()) + if (hasFace.isEmpty() || hasFace != "1") { labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); } else { @@ -152,7 +152,7 @@ labFace->setFixedSize(QSize(40, 40)); labFace->setAlignment(Qt::AlignCenter); - if (hasIris.isEmpty()) + if (hasIris.isEmpty() || hasIris != "1") { labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); } else { @@ -190,7 +190,7 @@ void PersonListForm::on_btnRegist_clicked() { - emit switchToRegistForm("0"); + emit switchToRegistForm(""); } void PersonListForm::on_btnHome_clicked() @@ -255,3 +255,10 @@ findPersonList(); } } + +void PersonListForm::on_personListTable_doubleClicked(const QModelIndex &index) +{ + int rowIndex = index.row(); + QString personId = personList->at(rowIndex).find("id")->toString(); + emit switchToRegistForm(personId); +} diff --git a/PersonListForm.h b/PersonListForm.h index cce03a3..d4b2a71 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -20,6 +20,7 @@ ~PersonListForm(); void keyPressEvent(QKeyEvent * event); + void findPersonList(); private slots: void on_btnRegist_clicked(); @@ -40,6 +41,8 @@ void btnDeleClicked(); + void on_personListTable_doubleClicked(const QModelIndex &index); + private: Ui::PersonListForm *ui; QStandardItemModel * itemModel; @@ -51,7 +54,6 @@ int totalPage = 0; void calcTotalPage(int totalCount); - void findPersonList(); void initPersonTableHeader(); void updatePersonListTable(); diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp index ce8a72a..83f22a0 100644 --- a/dao/FaceDataImgDao.cpp +++ b/dao/FaceDataImgDao.cpp @@ -27,7 +27,7 @@ result.append(item); } - LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -59,8 +59,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -92,8 +91,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2]").arg(count).arg(query.value("id").toString()).toLocal8Bit().data(); + LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2][%3]").arg(count).arg(query.value("id").toString()).arg(sql).toStdString(); return result; } @@ -128,8 +126,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp index 18d4ce6..af0d45b 100644 --- a/dao/IrisDataImgDao.cpp +++ b/dao/IrisDataImgDao.cpp @@ -24,11 +24,11 @@ while (query.next()) { QVariantMap item; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); result.append(item); } - LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -65,8 +65,7 @@ } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1]").arg(id).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -98,8 +97,7 @@ result.insert("right_image1", query.value("right_image1").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1]").arg(personId).toLocal8Bit().data(); + LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1][%2]").arg(personId).arg(sql).toStdString(); return result; } @@ -127,8 +125,8 @@ count++; - item.insert("id", query.value("id").toLongLong()); - item.insert("person_id", query.value("person_id").toLongLong()); + item.insert("id", query.value("id").toString()); + item.insert("person_id", query.value("person_id").toString()); item.insert("left_image1", query.value("left_image1").toString()); item.insert("left_image2", query.value("left_image2").toString()); item.insert("left_image3", query.value("left_image3").toString()); @@ -138,8 +136,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 64a2e44..22b2101 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -143,7 +143,7 @@ QLabel * labFace = new QLabel(); QLabel * labIris = new QLabel(); - if (hasFace.isEmpty()) + if (hasFace.isEmpty() || hasFace != "1") { labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); } else { @@ -152,7 +152,7 @@ labFace->setFixedSize(QSize(40, 40)); labFace->setAlignment(Qt::AlignCenter); - if (hasIris.isEmpty()) + if (hasIris.isEmpty() || hasIris != "1") { labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); } else { @@ -190,7 +190,7 @@ void PersonListForm::on_btnRegist_clicked() { - emit switchToRegistForm("0"); + emit switchToRegistForm(""); } void PersonListForm::on_btnHome_clicked() @@ -255,3 +255,10 @@ findPersonList(); } } + +void PersonListForm::on_personListTable_doubleClicked(const QModelIndex &index) +{ + int rowIndex = index.row(); + QString personId = personList->at(rowIndex).find("id")->toString(); + emit switchToRegistForm(personId); +} diff --git a/PersonListForm.h b/PersonListForm.h index cce03a3..d4b2a71 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -20,6 +20,7 @@ ~PersonListForm(); void keyPressEvent(QKeyEvent * event); + void findPersonList(); private slots: void on_btnRegist_clicked(); @@ -40,6 +41,8 @@ void btnDeleClicked(); + void on_personListTable_doubleClicked(const QModelIndex &index); + private: Ui::PersonListForm *ui; QStandardItemModel * itemModel; @@ -51,7 +54,6 @@ int totalPage = 0; void calcTotalPage(int totalCount); - void findPersonList(); void initPersonTableHeader(); void updatePersonListTable(); diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp index ce8a72a..83f22a0 100644 --- a/dao/FaceDataImgDao.cpp +++ b/dao/FaceDataImgDao.cpp @@ -27,7 +27,7 @@ result.append(item); } - LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -59,8 +59,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -92,8 +91,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2]").arg(count).arg(query.value("id").toString()).toLocal8Bit().data(); + LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2][%3]").arg(count).arg(query.value("id").toString()).arg(sql).toStdString(); return result; } @@ -128,8 +126,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp index 18d4ce6..af0d45b 100644 --- a/dao/IrisDataImgDao.cpp +++ b/dao/IrisDataImgDao.cpp @@ -24,11 +24,11 @@ while (query.next()) { QVariantMap item; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); result.append(item); } - LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -65,8 +65,7 @@ } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1]").arg(id).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -98,8 +97,7 @@ result.insert("right_image1", query.value("right_image1").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1]").arg(personId).toLocal8Bit().data(); + LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1][%2]").arg(personId).arg(sql).toStdString(); return result; } @@ -127,8 +125,8 @@ count++; - item.insert("id", query.value("id").toLongLong()); - item.insert("person_id", query.value("person_id").toLongLong()); + item.insert("id", query.value("id").toString()); + item.insert("person_id", query.value("person_id").toString()); item.insert("left_image1", query.value("left_image1").toString()); item.insert("left_image2", query.value("left_image2").toString()); item.insert("left_image3", query.value("left_image3").toString()); @@ -138,8 +136,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp index 9562e78..4184069 100644 --- a/dao/SysDeptDao.cpp +++ b/dao/SysDeptDao.cpp @@ -29,7 +29,7 @@ item.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); + LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } @@ -66,7 +66,7 @@ result.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("根据id查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString(); + LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString(); return result; } diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 64a2e44..22b2101 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -143,7 +143,7 @@ QLabel * labFace = new QLabel(); QLabel * labIris = new QLabel(); - if (hasFace.isEmpty()) + if (hasFace.isEmpty() || hasFace != "1") { labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); } else { @@ -152,7 +152,7 @@ labFace->setFixedSize(QSize(40, 40)); labFace->setAlignment(Qt::AlignCenter); - if (hasIris.isEmpty()) + if (hasIris.isEmpty() || hasIris != "1") { labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); } else { @@ -190,7 +190,7 @@ void PersonListForm::on_btnRegist_clicked() { - emit switchToRegistForm("0"); + emit switchToRegistForm(""); } void PersonListForm::on_btnHome_clicked() @@ -255,3 +255,10 @@ findPersonList(); } } + +void PersonListForm::on_personListTable_doubleClicked(const QModelIndex &index) +{ + int rowIndex = index.row(); + QString personId = personList->at(rowIndex).find("id")->toString(); + emit switchToRegistForm(personId); +} diff --git a/PersonListForm.h b/PersonListForm.h index cce03a3..d4b2a71 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -20,6 +20,7 @@ ~PersonListForm(); void keyPressEvent(QKeyEvent * event); + void findPersonList(); private slots: void on_btnRegist_clicked(); @@ -40,6 +41,8 @@ void btnDeleClicked(); + void on_personListTable_doubleClicked(const QModelIndex &index); + private: Ui::PersonListForm *ui; QStandardItemModel * itemModel; @@ -51,7 +54,6 @@ int totalPage = 0; void calcTotalPage(int totalCount); - void findPersonList(); void initPersonTableHeader(); void updatePersonListTable(); diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp index ce8a72a..83f22a0 100644 --- a/dao/FaceDataImgDao.cpp +++ b/dao/FaceDataImgDao.cpp @@ -27,7 +27,7 @@ result.append(item); } - LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -59,8 +59,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -92,8 +91,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2]").arg(count).arg(query.value("id").toString()).toLocal8Bit().data(); + LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2][%3]").arg(count).arg(query.value("id").toString()).arg(sql).toStdString(); return result; } @@ -128,8 +126,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp index 18d4ce6..af0d45b 100644 --- a/dao/IrisDataImgDao.cpp +++ b/dao/IrisDataImgDao.cpp @@ -24,11 +24,11 @@ while (query.next()) { QVariantMap item; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); result.append(item); } - LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -65,8 +65,7 @@ } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1]").arg(id).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -98,8 +97,7 @@ result.insert("right_image1", query.value("right_image1").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1]").arg(personId).toLocal8Bit().data(); + LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1][%2]").arg(personId).arg(sql).toStdString(); return result; } @@ -127,8 +125,8 @@ count++; - item.insert("id", query.value("id").toLongLong()); - item.insert("person_id", query.value("person_id").toLongLong()); + item.insert("id", query.value("id").toString()); + item.insert("person_id", query.value("person_id").toString()); item.insert("left_image1", query.value("left_image1").toString()); item.insert("left_image2", query.value("left_image2").toString()); item.insert("left_image3", query.value("left_image3").toString()); @@ -138,8 +136,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp index 9562e78..4184069 100644 --- a/dao/SysDeptDao.cpp +++ b/dao/SysDeptDao.cpp @@ -29,7 +29,7 @@ item.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); + LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } @@ -66,7 +66,7 @@ result.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("根据id查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString(); + LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString(); return result; } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 606bf3d..eabf262 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -27,24 +27,24 @@ while (query.next()) { QVariantMap item; count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); result.append(item); } - LOG(DEBUG) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString(); return result; } @@ -77,7 +77,7 @@ result.insert("updatetime", query.value("updatetime").toString()); result.insert("name", query.value("name").toString()); result.insert("gender", query.value("gender").toString()); - result.insert("deptid", query.value("deptid").toLongLong()); + result.insert("deptid", query.value("deptid").toString()); result.insert("id_card_no", query.value("id_card_no").toString()); result.insert("remarks", query.value("remarks").toString()); result.insert("person_code", query.value("person_code").toString()); @@ -87,8 +87,7 @@ result.insert("hasIris", query.value("iris_valid").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -106,7 +105,7 @@ } if (dept.isEmpty() == false && dept.indexOf("-1") < 0) { - sql += QString(" AND (P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%')").arg(dept); + sql += QString(" AND ((P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%'))").arg(dept); } // 执行查询 @@ -138,7 +137,7 @@ } if (dept.isEmpty() == false && dept.indexOf("-1") < 0) { - sql += QString(" AND (P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%')").arg(dept); + sql += QString(" AND ((P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%'))").arg(dept); } sql += QString(" LIMIT %1 OFFSET %2").arg(limit).arg(offset); @@ -164,11 +163,11 @@ item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -209,17 +208,17 @@ count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -227,8 +226,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -256,17 +254,17 @@ count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -274,8 +272,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -302,8 +299,6 @@ .arg(object.value("person_code").toString()) .arg(object.value("sync_id").toString()); - LOG(DEBUG) << sql.toStdString(); - // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -316,7 +311,7 @@ // 返回结果 if (success == true) { - LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1]").arg(id).toStdString(); + LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString(); return QString("%1").arg(id); } else @@ -344,16 +339,14 @@ } if (newObject.contains("deptid")) { - sql.append(QString(", DEPTID = %1").arg(newObject.value("deptid").toULongLong())); + sql.append(QString(", DEPTID = '%1'").arg(newObject.value("deptid").toString())); } if (newObject.contains("person_code")) { sql.append(QString(", PERSON_CODE = '%1'").arg(newObject.value("person_code").toString())); } - sql.append(QString(" WHERE ID = %1").arg(id)); - - LOG(DEBUG) << sql.toStdString(); + sql.append(QString(" WHERE ID = '%1'").arg(id)); // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -364,6 +357,8 @@ // 结束事务 ConnectionManager::getInstance()->getConnection().commit(); + LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString(); + // 返回结果 return success; } @@ -380,8 +375,6 @@ QString sql = QString("UPDATE SYS_PERSON SET UPDATETIME = '%1', DELFLAG = '%2' WHERE ID = '%3'") .arg(tm).arg(tmms).arg(id); - LOG(DEBUG) << sql.toStdString(); - // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -391,6 +384,8 @@ // 结束事务 ConnectionManager::getInstance()->getConnection().commit(); + LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString(); + // 返回结果 return success; } diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 64a2e44..22b2101 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -143,7 +143,7 @@ QLabel * labFace = new QLabel(); QLabel * labIris = new QLabel(); - if (hasFace.isEmpty()) + if (hasFace.isEmpty() || hasFace != "1") { labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); } else { @@ -152,7 +152,7 @@ labFace->setFixedSize(QSize(40, 40)); labFace->setAlignment(Qt::AlignCenter); - if (hasIris.isEmpty()) + if (hasIris.isEmpty() || hasIris != "1") { labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); } else { @@ -190,7 +190,7 @@ void PersonListForm::on_btnRegist_clicked() { - emit switchToRegistForm("0"); + emit switchToRegistForm(""); } void PersonListForm::on_btnHome_clicked() @@ -255,3 +255,10 @@ findPersonList(); } } + +void PersonListForm::on_personListTable_doubleClicked(const QModelIndex &index) +{ + int rowIndex = index.row(); + QString personId = personList->at(rowIndex).find("id")->toString(); + emit switchToRegistForm(personId); +} diff --git a/PersonListForm.h b/PersonListForm.h index cce03a3..d4b2a71 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -20,6 +20,7 @@ ~PersonListForm(); void keyPressEvent(QKeyEvent * event); + void findPersonList(); private slots: void on_btnRegist_clicked(); @@ -40,6 +41,8 @@ void btnDeleClicked(); + void on_personListTable_doubleClicked(const QModelIndex &index); + private: Ui::PersonListForm *ui; QStandardItemModel * itemModel; @@ -51,7 +54,6 @@ int totalPage = 0; void calcTotalPage(int totalCount); - void findPersonList(); void initPersonTableHeader(); void updatePersonListTable(); diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp index ce8a72a..83f22a0 100644 --- a/dao/FaceDataImgDao.cpp +++ b/dao/FaceDataImgDao.cpp @@ -27,7 +27,7 @@ result.append(item); } - LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -59,8 +59,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -92,8 +91,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2]").arg(count).arg(query.value("id").toString()).toLocal8Bit().data(); + LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2][%3]").arg(count).arg(query.value("id").toString()).arg(sql).toStdString(); return result; } @@ -128,8 +126,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp index 18d4ce6..af0d45b 100644 --- a/dao/IrisDataImgDao.cpp +++ b/dao/IrisDataImgDao.cpp @@ -24,11 +24,11 @@ while (query.next()) { QVariantMap item; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); result.append(item); } - LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -65,8 +65,7 @@ } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1]").arg(id).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -98,8 +97,7 @@ result.insert("right_image1", query.value("right_image1").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1]").arg(personId).toLocal8Bit().data(); + LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1][%2]").arg(personId).arg(sql).toStdString(); return result; } @@ -127,8 +125,8 @@ count++; - item.insert("id", query.value("id").toLongLong()); - item.insert("person_id", query.value("person_id").toLongLong()); + item.insert("id", query.value("id").toString()); + item.insert("person_id", query.value("person_id").toString()); item.insert("left_image1", query.value("left_image1").toString()); item.insert("left_image2", query.value("left_image2").toString()); item.insert("left_image3", query.value("left_image3").toString()); @@ -138,8 +136,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp index 9562e78..4184069 100644 --- a/dao/SysDeptDao.cpp +++ b/dao/SysDeptDao.cpp @@ -29,7 +29,7 @@ item.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); + LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } @@ -66,7 +66,7 @@ result.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("根据id查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString(); + LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString(); return result; } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 606bf3d..eabf262 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -27,24 +27,24 @@ while (query.next()) { QVariantMap item; count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); result.append(item); } - LOG(DEBUG) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString(); return result; } @@ -77,7 +77,7 @@ result.insert("updatetime", query.value("updatetime").toString()); result.insert("name", query.value("name").toString()); result.insert("gender", query.value("gender").toString()); - result.insert("deptid", query.value("deptid").toLongLong()); + result.insert("deptid", query.value("deptid").toString()); result.insert("id_card_no", query.value("id_card_no").toString()); result.insert("remarks", query.value("remarks").toString()); result.insert("person_code", query.value("person_code").toString()); @@ -87,8 +87,7 @@ result.insert("hasIris", query.value("iris_valid").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -106,7 +105,7 @@ } if (dept.isEmpty() == false && dept.indexOf("-1") < 0) { - sql += QString(" AND (P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%')").arg(dept); + sql += QString(" AND ((P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%'))").arg(dept); } // 执行查询 @@ -138,7 +137,7 @@ } if (dept.isEmpty() == false && dept.indexOf("-1") < 0) { - sql += QString(" AND (P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%')").arg(dept); + sql += QString(" AND ((P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%'))").arg(dept); } sql += QString(" LIMIT %1 OFFSET %2").arg(limit).arg(offset); @@ -164,11 +163,11 @@ item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -209,17 +208,17 @@ count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -227,8 +226,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -256,17 +254,17 @@ count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -274,8 +272,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -302,8 +299,6 @@ .arg(object.value("person_code").toString()) .arg(object.value("sync_id").toString()); - LOG(DEBUG) << sql.toStdString(); - // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -316,7 +311,7 @@ // 返回结果 if (success == true) { - LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1]").arg(id).toStdString(); + LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString(); return QString("%1").arg(id); } else @@ -344,16 +339,14 @@ } if (newObject.contains("deptid")) { - sql.append(QString(", DEPTID = %1").arg(newObject.value("deptid").toULongLong())); + sql.append(QString(", DEPTID = '%1'").arg(newObject.value("deptid").toString())); } if (newObject.contains("person_code")) { sql.append(QString(", PERSON_CODE = '%1'").arg(newObject.value("person_code").toString())); } - sql.append(QString(" WHERE ID = %1").arg(id)); - - LOG(DEBUG) << sql.toStdString(); + sql.append(QString(" WHERE ID = '%1'").arg(id)); // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -364,6 +357,8 @@ // 结束事务 ConnectionManager::getInstance()->getConnection().commit(); + LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString(); + // 返回结果 return success; } @@ -380,8 +375,6 @@ QString sql = QString("UPDATE SYS_PERSON SET UPDATETIME = '%1', DELFLAG = '%2' WHERE ID = '%3'") .arg(tm).arg(tmms).arg(id); - LOG(DEBUG) << sql.toStdString(); - // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -391,6 +384,8 @@ // 结束事务 ConnectionManager::getInstance()->getConnection().commit(); + LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString(); + // 返回结果 return success; } diff --git a/dao/util/CacheManager.h b/dao/util/CacheManager.h index a51ce47..5ab9395 100644 --- a/dao/util/CacheManager.h +++ b/dao/util/CacheManager.h @@ -5,6 +5,10 @@ #include #include "dao/SysDeptDao.h" #include "dao/SysPersonDao.h" +#include "dao/FaceDataDao.h" +#include "dao/FaceDataImgDao.h" +#include "dao/IrisDataDao.h" +#include "dao/IrisDataImgDao.h" class CacheManager { diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 64a2e44..22b2101 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -143,7 +143,7 @@ QLabel * labFace = new QLabel(); QLabel * labIris = new QLabel(); - if (hasFace.isEmpty()) + if (hasFace.isEmpty() || hasFace != "1") { labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); } else { @@ -152,7 +152,7 @@ labFace->setFixedSize(QSize(40, 40)); labFace->setAlignment(Qt::AlignCenter); - if (hasIris.isEmpty()) + if (hasIris.isEmpty() || hasIris != "1") { labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); } else { @@ -190,7 +190,7 @@ void PersonListForm::on_btnRegist_clicked() { - emit switchToRegistForm("0"); + emit switchToRegistForm(""); } void PersonListForm::on_btnHome_clicked() @@ -255,3 +255,10 @@ findPersonList(); } } + +void PersonListForm::on_personListTable_doubleClicked(const QModelIndex &index) +{ + int rowIndex = index.row(); + QString personId = personList->at(rowIndex).find("id")->toString(); + emit switchToRegistForm(personId); +} diff --git a/PersonListForm.h b/PersonListForm.h index cce03a3..d4b2a71 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -20,6 +20,7 @@ ~PersonListForm(); void keyPressEvent(QKeyEvent * event); + void findPersonList(); private slots: void on_btnRegist_clicked(); @@ -40,6 +41,8 @@ void btnDeleClicked(); + void on_personListTable_doubleClicked(const QModelIndex &index); + private: Ui::PersonListForm *ui; QStandardItemModel * itemModel; @@ -51,7 +54,6 @@ int totalPage = 0; void calcTotalPage(int totalCount); - void findPersonList(); void initPersonTableHeader(); void updatePersonListTable(); diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp index ce8a72a..83f22a0 100644 --- a/dao/FaceDataImgDao.cpp +++ b/dao/FaceDataImgDao.cpp @@ -27,7 +27,7 @@ result.append(item); } - LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -59,8 +59,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -92,8 +91,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2]").arg(count).arg(query.value("id").toString()).toLocal8Bit().data(); + LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2][%3]").arg(count).arg(query.value("id").toString()).arg(sql).toStdString(); return result; } @@ -128,8 +126,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp index 18d4ce6..af0d45b 100644 --- a/dao/IrisDataImgDao.cpp +++ b/dao/IrisDataImgDao.cpp @@ -24,11 +24,11 @@ while (query.next()) { QVariantMap item; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); result.append(item); } - LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -65,8 +65,7 @@ } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1]").arg(id).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -98,8 +97,7 @@ result.insert("right_image1", query.value("right_image1").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1]").arg(personId).toLocal8Bit().data(); + LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1][%2]").arg(personId).arg(sql).toStdString(); return result; } @@ -127,8 +125,8 @@ count++; - item.insert("id", query.value("id").toLongLong()); - item.insert("person_id", query.value("person_id").toLongLong()); + item.insert("id", query.value("id").toString()); + item.insert("person_id", query.value("person_id").toString()); item.insert("left_image1", query.value("left_image1").toString()); item.insert("left_image2", query.value("left_image2").toString()); item.insert("left_image3", query.value("left_image3").toString()); @@ -138,8 +136,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp index 9562e78..4184069 100644 --- a/dao/SysDeptDao.cpp +++ b/dao/SysDeptDao.cpp @@ -29,7 +29,7 @@ item.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); + LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } @@ -66,7 +66,7 @@ result.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("根据id查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString(); + LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString(); return result; } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 606bf3d..eabf262 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -27,24 +27,24 @@ while (query.next()) { QVariantMap item; count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); result.append(item); } - LOG(DEBUG) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString(); return result; } @@ -77,7 +77,7 @@ result.insert("updatetime", query.value("updatetime").toString()); result.insert("name", query.value("name").toString()); result.insert("gender", query.value("gender").toString()); - result.insert("deptid", query.value("deptid").toLongLong()); + result.insert("deptid", query.value("deptid").toString()); result.insert("id_card_no", query.value("id_card_no").toString()); result.insert("remarks", query.value("remarks").toString()); result.insert("person_code", query.value("person_code").toString()); @@ -87,8 +87,7 @@ result.insert("hasIris", query.value("iris_valid").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -106,7 +105,7 @@ } if (dept.isEmpty() == false && dept.indexOf("-1") < 0) { - sql += QString(" AND (P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%')").arg(dept); + sql += QString(" AND ((P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%'))").arg(dept); } // 执行查询 @@ -138,7 +137,7 @@ } if (dept.isEmpty() == false && dept.indexOf("-1") < 0) { - sql += QString(" AND (P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%')").arg(dept); + sql += QString(" AND ((P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%'))").arg(dept); } sql += QString(" LIMIT %1 OFFSET %2").arg(limit).arg(offset); @@ -164,11 +163,11 @@ item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -209,17 +208,17 @@ count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -227,8 +226,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -256,17 +254,17 @@ count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -274,8 +272,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -302,8 +299,6 @@ .arg(object.value("person_code").toString()) .arg(object.value("sync_id").toString()); - LOG(DEBUG) << sql.toStdString(); - // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -316,7 +311,7 @@ // 返回结果 if (success == true) { - LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1]").arg(id).toStdString(); + LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString(); return QString("%1").arg(id); } else @@ -344,16 +339,14 @@ } if (newObject.contains("deptid")) { - sql.append(QString(", DEPTID = %1").arg(newObject.value("deptid").toULongLong())); + sql.append(QString(", DEPTID = '%1'").arg(newObject.value("deptid").toString())); } if (newObject.contains("person_code")) { sql.append(QString(", PERSON_CODE = '%1'").arg(newObject.value("person_code").toString())); } - sql.append(QString(" WHERE ID = %1").arg(id)); - - LOG(DEBUG) << sql.toStdString(); + sql.append(QString(" WHERE ID = '%1'").arg(id)); // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -364,6 +357,8 @@ // 结束事务 ConnectionManager::getInstance()->getConnection().commit(); + LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString(); + // 返回结果 return success; } @@ -380,8 +375,6 @@ QString sql = QString("UPDATE SYS_PERSON SET UPDATETIME = '%1', DELFLAG = '%2' WHERE ID = '%3'") .arg(tm).arg(tmms).arg(id); - LOG(DEBUG) << sql.toStdString(); - // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -391,6 +384,8 @@ // 结束事务 ConnectionManager::getInstance()->getConnection().commit(); + LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString(); + // 返回结果 return success; } diff --git a/dao/util/CacheManager.h b/dao/util/CacheManager.h index a51ce47..5ab9395 100644 --- a/dao/util/CacheManager.h +++ b/dao/util/CacheManager.h @@ -5,6 +5,10 @@ #include #include "dao/SysDeptDao.h" #include "dao/SysPersonDao.h" +#include "dao/FaceDataDao.h" +#include "dao/FaceDataImgDao.h" +#include "dao/IrisDataDao.h" +#include "dao/IrisDataImgDao.h" class CacheManager { diff --git a/utils/SelectDeptUtil.cpp b/utils/SelectDeptUtil.cpp index c71a190..8a5a2c9 100644 --- a/utils/SelectDeptUtil.cpp +++ b/utils/SelectDeptUtil.cpp @@ -13,3 +13,15 @@ uiObj->addItem(" " + deptList->at(i).value("fullname").toString(), deptList->at(i).value("id").toLongLong()); } } + +void SelectDeptUtil::checkDeptSelected(QComboBox * uiObj, QList * deptList, QString deptId) +{ + uiObj->setCurrentIndex(0); + for (int i = 0; i < deptList->size(); i++) + { + if (deptId == deptList->at(i).find("id")->toString()) + { + uiObj->setCurrentIndex(i + 1); + } + } +} diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp index 8c8bd4f..a112bd7 100644 --- a/AddPersonForm.cpp +++ b/AddPersonForm.cpp @@ -29,6 +29,120 @@ this->personId = personId; } +void AddPersonForm::updateFormTitle(QString title) +{ + ui->labPersonTitle->setText(title); +} + +void AddPersonForm::loadPersonInfo(QString personId) +{ + SysPersonDao personDao; + QVariantMap person = personDao.findRecordById(personId); + if (person.isEmpty() == false) + { + // 赋值姓名 + ui->inputName->setText(person.find("name")->toString()); + ui->inputName->setDisabled(true); + // 赋值员工编号 + ui->inputCardNo->setText(person.find("person_code")->toString()); + ui->inputCardNo->setDisabled(true); + // 赋值性别 如果不为空则不能修改 + QString gender = person.find("gender")->toString(); + if (gender == "1") + { + ui->radioMale->setChecked(true); + ui->radioFemale->setDisabled(true); + } else if (gender == "2") + { + ui->radioMale->setDisabled(true); + ui->radioFemale->setChecked(true); + } else + { + ui->radioMale->setChecked(false); + ui->radioMale->setChecked(false); + } + // 赋值部门 部门可以重新选择 + QString deptId = person.find("deptid")->toString(); + SelectDeptUtil::getInstance().checkDeptSelected(ui->selectDept, CacheManager::getInstance().getDeptCachePtr(), deptId); + + // 查询并显示人脸照片 + FaceDataImgDao faceImgDao; + QVariantMap faceImage = faceImgDao.findRecordByPersonId(personId); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + if (faceImage.isEmpty() == false) + { + if (faceImage.find("face_image")->toString().isEmpty() == false) + { + QString imageData = faceImage.find("face_image")->toString(); + QImage image; + QPixmap pixmap; + image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); + pixmap = QPixmap::fromImage(image); + pixmap.scaledToHeight(ui->labPhotoFace->height(), Qt::SmoothTransformation); + ui->labPhotoFace->setPixmap(pixmap); + } + } + + // 查询并显示虹膜照片 + IrisDataImgDao irisImgDao; + QVariantMap irisImage = irisImgDao.findRecordByPersonId(personId); + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); + if (irisImage.isEmpty() == false) + { + if (irisImage.find("left_image1")->toString().isEmpty() == false) + { + QString imageDataLeft = irisImage.find("left_image1")->toString(); + QImage imageLeft; + QPixmap pixmapLeft; + imageLeft.loadFromData(QByteArray::fromBase64(imageDataLeft.toLatin1())); + pixmapLeft = QPixmap::fromImage(imageLeft); + pixmapLeft = pixmapLeft.scaled(200, 150); + ui->labPhotoEyeLeft->setPixmap(pixmapLeft); + } + + if (irisImage.find("right_image1")->toString().isEmpty() == false) + { + QString imageDataRight = irisImage.find("right_image1")->toString(); + QImage imageRight; + QPixmap pixmapRight; + imageRight.loadFromData(QByteArray::fromBase64(imageDataRight.toLatin1())); + pixmapRight = QPixmap::fromImage(imageRight); + pixmapRight = pixmapRight.scaled(200, 150); + ui->labPhotoEyeRight->setPixmap(pixmapRight); + } + } + + // 查询并显示识别记录 + + } +} + +void AddPersonForm::clearPersonInfo() +{ + ui->inputName->setDisabled(false); + ui->inputCardNo->setDisabled(false); + ui->radioMale->setDisabled(false); + ui->radioFemale->setDisabled(false); + ui->radioMale->setAutoExclusive(false); + ui->radioFemale->setAutoExclusive(false); + + ui->inputName->setText(""); + ui->inputCardNo->setText(""); + ui->radioMale->setChecked(false); + ui->radioFemale->setChecked(false); + ui->selectDept->setCurrentIndex(0); + + ui->radioMale->setAutoExclusive(true); + ui->radioFemale->setAutoExclusive(true); + + ui->labPhotoFace->setScaledContents(false); + ui->labPhotoFace->setPixmap(QPixmap(":/images/photoFace.png")); + + ui->labPhotoEyeLeft->setPixmap(QPixmap(":/images/photoEyeLeft.png")); + ui->labPhotoEyeRight->setPixmap(QPixmap(":/images/photoEyeRight.png")); +} + void AddPersonForm::on_btnBack_clicked() { emit switchToUserListForm(); @@ -38,3 +152,44 @@ { emit backToHomePage(); } + +void AddPersonForm::on_btnSave_clicked() +{ + SysPersonDao personDao; + if (personId.isEmpty() == false) + { + // 人员信息编辑 + QVariantMap perToEdit; + perToEdit.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToEdit.insert("gender", gender); + personDao.edit(perToEdit, personId); + } else { + // 人员注册 + QVariantMap perToRegist; + + perToRegist.insert("name", ui->inputName->text()); + perToRegist.insert("person_code", ui->inputCardNo->text()); + perToRegist.insert("deptid", ui->selectDept->currentData().toString()); + QString gender = ""; + if (ui->radioMale->isChecked()) + { + gender = "1"; + } else if (ui->radioFemale->isChecked()) + { + gender = "2"; + } + perToRegist.insert("gender", gender); + QString perIdReg = personDao.save(perToRegist); + + emit switchToUserListForm(); + } + +} diff --git a/AddPersonForm.h b/AddPersonForm.h index 7f30e89..2dea8b0 100644 --- a/AddPersonForm.h +++ b/AddPersonForm.h @@ -19,12 +19,18 @@ ~AddPersonForm(); void setPersonId(QString personId); + void updateFormTitle(QString title); + + void loadPersonInfo(QString personId); + void clearPersonInfo(); private slots: void on_btnBack_clicked(); void on_btnHome_clicked(); + void on_btnSave_clicked(); + private: Ui::AddPersonForm *ui; diff --git a/AddPersonForm.ui b/AddPersonForm.ui index 1371a98..392a221 100644 --- a/AddPersonForm.ui +++ b/AddPersonForm.ui @@ -119,7 +119,7 @@ - 0 + 10 0 @@ -188,55 +188,6 @@ - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 200 - 16777215 - - - - 性 别 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - false - - - - - - - - - - - - - - - - @@ -291,6 +242,55 @@ + + + + + + 0 + 0 + + + + + 200 + 0 + + + + + 200 + 16777215 + + + + 性 别 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + false + + + + + + + + + + + + + + + + diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp index 81d4615..43c1e4a 100644 --- a/CasicBioRecWin.cpp +++ b/CasicBioRecWin.cpp @@ -50,6 +50,7 @@ } void CasicBioRecWin::switchToUserListForm() { + personListForm->findPersonList(); ui->stacked->setCurrentWidget(personListForm); } void CasicBioRecWin::switchToSettingForm() @@ -58,7 +59,21 @@ } void CasicBioRecWin::switchToRegistForm(QString personId) { - addPersonForm->setPersonId(personId); + // 根据传递的参数更新页面标题 + if (personId.isEmpty() == false) + { + addPersonForm->setPersonId(personId); + addPersonForm->updateFormTitle("人员信息"); + + // 查询人员信息 + addPersonForm->loadPersonInfo(personId); + } else + { + addPersonForm->updateFormTitle("人员注册"); + addPersonForm->clearPersonInfo(); + } + + // 切换页面 ui->stacked->setCurrentWidget(addPersonForm); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index 64a2e44..22b2101 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -143,7 +143,7 @@ QLabel * labFace = new QLabel(); QLabel * labIris = new QLabel(); - if (hasFace.isEmpty()) + if (hasFace.isEmpty() || hasFace != "1") { labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); } else { @@ -152,7 +152,7 @@ labFace->setFixedSize(QSize(40, 40)); labFace->setAlignment(Qt::AlignCenter); - if (hasIris.isEmpty()) + if (hasIris.isEmpty() || hasIris != "1") { labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); } else { @@ -190,7 +190,7 @@ void PersonListForm::on_btnRegist_clicked() { - emit switchToRegistForm("0"); + emit switchToRegistForm(""); } void PersonListForm::on_btnHome_clicked() @@ -255,3 +255,10 @@ findPersonList(); } } + +void PersonListForm::on_personListTable_doubleClicked(const QModelIndex &index) +{ + int rowIndex = index.row(); + QString personId = personList->at(rowIndex).find("id")->toString(); + emit switchToRegistForm(personId); +} diff --git a/PersonListForm.h b/PersonListForm.h index cce03a3..d4b2a71 100644 --- a/PersonListForm.h +++ b/PersonListForm.h @@ -20,6 +20,7 @@ ~PersonListForm(); void keyPressEvent(QKeyEvent * event); + void findPersonList(); private slots: void on_btnRegist_clicked(); @@ -40,6 +41,8 @@ void btnDeleClicked(); + void on_personListTable_doubleClicked(const QModelIndex &index); + private: Ui::PersonListForm *ui; QStandardItemModel * itemModel; @@ -51,7 +54,6 @@ int totalPage = 0; void calcTotalPage(int totalCount); - void findPersonList(); void initPersonTableHeader(); void updatePersonListTable(); diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp index ce8a72a..83f22a0 100644 --- a/dao/FaceDataImgDao.cpp +++ b/dao/FaceDataImgDao.cpp @@ -27,7 +27,7 @@ result.append(item); } - LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -59,8 +59,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -92,8 +91,7 @@ result.insert("face_image", query.value("face_image").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2]").arg(count).arg(query.value("id").toString()).toLocal8Bit().data(); + LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][id=%2][%3]").arg(count).arg(query.value("id").toString()).arg(sql).toStdString(); return result; } @@ -128,8 +126,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1]").arg(count).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp index 18d4ce6..af0d45b 100644 --- a/dao/IrisDataImgDao.cpp +++ b/dao/IrisDataImgDao.cpp @@ -24,11 +24,11 @@ while (query.next()) { QVariantMap item; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); result.append(item); } - LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString(); return result; } @@ -65,8 +65,7 @@ } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1]").arg(id).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -98,8 +97,7 @@ result.insert("right_image1", query.value("right_image1").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1]").arg(personId).toLocal8Bit().data(); + LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId:%1][%2]").arg(personId).arg(sql).toStdString(); return result; } @@ -127,8 +125,8 @@ count++; - item.insert("id", query.value("id").toLongLong()); - item.insert("person_id", query.value("person_id").toLongLong()); + item.insert("id", query.value("id").toString()); + item.insert("person_id", query.value("person_id").toString()); item.insert("left_image1", query.value("left_image1").toString()); item.insert("left_image2", query.value("left_image2").toString()); item.insert("left_image3", query.value("left_image3").toString()); @@ -138,8 +136,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1]").arg(result.size()).toLocal8Bit().data(); + LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp index 9562e78..4184069 100644 --- a/dao/SysDeptDao.cpp +++ b/dao/SysDeptDao.cpp @@ -29,7 +29,7 @@ item.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); + LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString(); return result; } @@ -66,7 +66,7 @@ result.insert("fullname", query.value("fullname").toString()); } - LOG(DEBUG) << QString("根据id查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString(); + LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString(); return result; } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 606bf3d..eabf262 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -27,24 +27,24 @@ while (query.next()) { QVariantMap item; count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); result.append(item); } - LOG(DEBUG) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString(); return result; } @@ -77,7 +77,7 @@ result.insert("updatetime", query.value("updatetime").toString()); result.insert("name", query.value("name").toString()); result.insert("gender", query.value("gender").toString()); - result.insert("deptid", query.value("deptid").toLongLong()); + result.insert("deptid", query.value("deptid").toString()); result.insert("id_card_no", query.value("id_card_no").toString()); result.insert("remarks", query.value("remarks").toString()); result.insert("person_code", query.value("person_code").toString()); @@ -87,8 +87,7 @@ result.insert("hasIris", query.value("iris_valid").toString()); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据id查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString(); return result; } @@ -106,7 +105,7 @@ } if (dept.isEmpty() == false && dept.indexOf("-1") < 0) { - sql += QString(" AND (P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%')").arg(dept); + sql += QString(" AND ((P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%'))").arg(dept); } // 执行查询 @@ -138,7 +137,7 @@ } if (dept.isEmpty() == false && dept.indexOf("-1") < 0) { - sql += QString(" AND (P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%')").arg(dept); + sql += QString(" AND ((P.DEPTID = '%1') OR (D.PIDS LIKE '%,%1,%'))").arg(dept); } sql += QString(" LIMIT %1 OFFSET %2").arg(limit).arg(offset); @@ -164,11 +163,11 @@ item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -209,17 +208,17 @@ count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -227,8 +226,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -256,17 +254,17 @@ count++; - item.insert("id", query.value("id").toLongLong()); + item.insert("id", query.value("id").toString()); item.insert("delflag", query.value("delflag").toString()); item.insert("createtime", query.value("createtime").toString()); item.insert("updatetime", query.value("updatetime").toString()); item.insert("name", query.value("name").toString()); item.insert("gender", query.value("gender").toString()); - item.insert("deptid", query.value("deptid").toLongLong()); + item.insert("deptid", query.value("deptid").toString()); item.insert("id_card_no", query.value("id_card_no").toString()); item.insert("remarks", query.value("remarks").toString()); item.insert("person_code", query.value("person_code").toString()); - item.insert("sync_id", query.value("sync_id").toLongLong()); + item.insert("sync_id", query.value("sync_id").toString()); item.insert("deptname", query.value("fullname").toString()); item.insert("hasFace", query.value("face_valid").toString()); item.insert("hasIris", query.value("iris_valid").toString()); @@ -274,8 +272,7 @@ result.append(item); } - LOG(DEBUG) << sql.toStdString(); - LOG(DEBUG) << QString("根据属性值查询SYS_PERSON表的记录[%1]").arg(count).toStdString(); + LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString(); return result; } @@ -302,8 +299,6 @@ .arg(object.value("person_code").toString()) .arg(object.value("sync_id").toString()); - LOG(DEBUG) << sql.toStdString(); - // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -316,7 +311,7 @@ // 返回结果 if (success == true) { - LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1]").arg(id).toStdString(); + LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString(); return QString("%1").arg(id); } else @@ -344,16 +339,14 @@ } if (newObject.contains("deptid")) { - sql.append(QString(", DEPTID = %1").arg(newObject.value("deptid").toULongLong())); + sql.append(QString(", DEPTID = '%1'").arg(newObject.value("deptid").toString())); } if (newObject.contains("person_code")) { sql.append(QString(", PERSON_CODE = '%1'").arg(newObject.value("person_code").toString())); } - sql.append(QString(" WHERE ID = %1").arg(id)); - - LOG(DEBUG) << sql.toStdString(); + sql.append(QString(" WHERE ID = '%1'").arg(id)); // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -364,6 +357,8 @@ // 结束事务 ConnectionManager::getInstance()->getConnection().commit(); + LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString(); + // 返回结果 return success; } @@ -380,8 +375,6 @@ QString sql = QString("UPDATE SYS_PERSON SET UPDATETIME = '%1', DELFLAG = '%2' WHERE ID = '%3'") .arg(tm).arg(tmms).arg(id); - LOG(DEBUG) << sql.toStdString(); - // 开启事务 ConnectionManager::getInstance()->getConnection().transaction(); @@ -391,6 +384,8 @@ // 结束事务 ConnectionManager::getInstance()->getConnection().commit(); + LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString(); + // 返回结果 return success; } diff --git a/dao/util/CacheManager.h b/dao/util/CacheManager.h index a51ce47..5ab9395 100644 --- a/dao/util/CacheManager.h +++ b/dao/util/CacheManager.h @@ -5,6 +5,10 @@ #include #include "dao/SysDeptDao.h" #include "dao/SysPersonDao.h" +#include "dao/FaceDataDao.h" +#include "dao/FaceDataImgDao.h" +#include "dao/IrisDataDao.h" +#include "dao/IrisDataImgDao.h" class CacheManager { diff --git a/utils/SelectDeptUtil.cpp b/utils/SelectDeptUtil.cpp index c71a190..8a5a2c9 100644 --- a/utils/SelectDeptUtil.cpp +++ b/utils/SelectDeptUtil.cpp @@ -13,3 +13,15 @@ uiObj->addItem(" " + deptList->at(i).value("fullname").toString(), deptList->at(i).value("id").toLongLong()); } } + +void SelectDeptUtil::checkDeptSelected(QComboBox * uiObj, QList * deptList, QString deptId) +{ + uiObj->setCurrentIndex(0); + for (int i = 0; i < deptList->size(); i++) + { + if (deptId == deptList->at(i).find("id")->toString()) + { + uiObj->setCurrentIndex(i + 1); + } + } +} diff --git a/utils/SelectDeptUtil.h b/utils/SelectDeptUtil.h index e43a61b..2df6a7c 100644 --- a/utils/SelectDeptUtil.h +++ b/utils/SelectDeptUtil.h @@ -18,6 +18,7 @@ } void initSelectDept(QComboBox * uiObj, QList * deptList); + void checkDeptSelected(QComboBox * uiObj, QList * deptList, QString deptId); private: SelectDeptUtil();