diff --git a/PersonListForm.cpp b/PersonListForm.cpp index e479626..64a2e44 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -123,23 +123,54 @@ int max = tableRowCount > personList->size() ? personList->size() : tableRowCount; for (int i = 0; i < max; i++) { QList row; + // 员工编号 itemModel->setItem(i, 0, new QStandardItem(personList->at(i).find("person_code")->toString())); itemModel->item(i, 0)->setTextAlignment(Qt::AlignCenter); + // 姓名 itemModel->setItem(i, 1, new QStandardItem(personList->at(i).find("name")->toString())); itemModel->item(i, 1)->setTextAlignment(Qt::AlignCenter); + // 部门 itemModel->setItem(i, 2, new QStandardItem(personList->at(i).find("deptname")->toString())); itemModel->item(i, 2)->setTextAlignment(Qt::AlignCenter); - itemModel->setItem(i, 3, new QStandardItem(QString("iris face"))); - itemModel->item(i, 3)->setTextAlignment(Qt::AlignCenter); + // 采集的人脸/虹膜 + QString hasFace = personList->at(i).find("hasFace")->toString(); + QString hasIris = personList->at(i).find("hasIris")->toString(); + QWidget * widgetLabel = new QWidget(); + QHBoxLayout * hLayout = new QHBoxLayout(); + QLabel * labFace = new QLabel(); + QLabel * labIris = new QLabel(); + + if (hasFace.isEmpty()) + { + labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); + } else { + labFace->setPixmap(QPixmap(":/images/faceCaped.png")); + } + labFace->setFixedSize(QSize(40, 40)); + labFace->setAlignment(Qt::AlignCenter); + + if (hasIris.isEmpty()) + { + labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); + } else { + labIris->setPixmap(QPixmap(":/images/irisCaped.png")); + } + labIris->setFixedSize(QSize(40, 40)); + labIris->setAlignment(Qt::AlignCenter); + + hLayout->addWidget(labFace); + hLayout->addWidget(labIris); + widgetLabel->setLayout(hLayout); + + ui->personListTable->setIndexWidget(itemModel->index(i, 3), widgetLabel); QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); btnDele->setProperty("class", "btnDelete"); - connect(btnDele, &QPushButton::clicked, - this, &PersonListForm::btnDeleClicked); + connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index e479626..64a2e44 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -123,23 +123,54 @@ int max = tableRowCount > personList->size() ? personList->size() : tableRowCount; for (int i = 0; i < max; i++) { QList row; + // 员工编号 itemModel->setItem(i, 0, new QStandardItem(personList->at(i).find("person_code")->toString())); itemModel->item(i, 0)->setTextAlignment(Qt::AlignCenter); + // 姓名 itemModel->setItem(i, 1, new QStandardItem(personList->at(i).find("name")->toString())); itemModel->item(i, 1)->setTextAlignment(Qt::AlignCenter); + // 部门 itemModel->setItem(i, 2, new QStandardItem(personList->at(i).find("deptname")->toString())); itemModel->item(i, 2)->setTextAlignment(Qt::AlignCenter); - itemModel->setItem(i, 3, new QStandardItem(QString("iris face"))); - itemModel->item(i, 3)->setTextAlignment(Qt::AlignCenter); + // 采集的人脸/虹膜 + QString hasFace = personList->at(i).find("hasFace")->toString(); + QString hasIris = personList->at(i).find("hasIris")->toString(); + QWidget * widgetLabel = new QWidget(); + QHBoxLayout * hLayout = new QHBoxLayout(); + QLabel * labFace = new QLabel(); + QLabel * labIris = new QLabel(); + + if (hasFace.isEmpty()) + { + labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); + } else { + labFace->setPixmap(QPixmap(":/images/faceCaped.png")); + } + labFace->setFixedSize(QSize(40, 40)); + labFace->setAlignment(Qt::AlignCenter); + + if (hasIris.isEmpty()) + { + labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); + } else { + labIris->setPixmap(QPixmap(":/images/irisCaped.png")); + } + labIris->setFixedSize(QSize(40, 40)); + labIris->setAlignment(Qt::AlignCenter); + + hLayout->addWidget(labFace); + hLayout->addWidget(labIris); + widgetLabel->setLayout(hLayout); + + ui->personListTable->setIndexWidget(itemModel->index(i, 3), widgetLabel); QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); btnDele->setProperty("class", "btnDelete"); - connect(btnDele, &QPushButton::clicked, - this, &PersonListForm::btnDeleClicked); + connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 6a0525d..606bf3d 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -39,6 +39,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -81,6 +83,8 @@ result.insert("person_code", query.value("person_code").toString()); result.insert("deptname", query.value("fullname").toString()); result.insert("sync_id", query.value("sync_id").toString()); + result.insert("hasFace", query.value("face_valid").toString()); + result.insert("hasIris", query.value("iris_valid").toString()); } LOG(DEBUG) << sql.toStdString(); @@ -166,6 +170,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -215,6 +221,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -260,6 +268,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -281,8 +291,8 @@ QString sql = QString("INSERT INTO SYS_PERSON " "(ID, DELFLAG, CREATETIME, UPDATETIME, " "NAME, GENDER, DEPTID, ID_CARD_NO, " - "REMARKS, PERSON_CODE, SYNC_ID) " - "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9')") + "REMARKS, PERSON_CODE, SYNC_ID, FACE_VALID, IRIS_VALID) " + "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', 0, 0)") .arg(id).arg(tm) .arg(object.value("name").toString()) .arg(object.value("gender").toString()) diff --git a/PersonListForm.cpp b/PersonListForm.cpp index e479626..64a2e44 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -123,23 +123,54 @@ int max = tableRowCount > personList->size() ? personList->size() : tableRowCount; for (int i = 0; i < max; i++) { QList row; + // 员工编号 itemModel->setItem(i, 0, new QStandardItem(personList->at(i).find("person_code")->toString())); itemModel->item(i, 0)->setTextAlignment(Qt::AlignCenter); + // 姓名 itemModel->setItem(i, 1, new QStandardItem(personList->at(i).find("name")->toString())); itemModel->item(i, 1)->setTextAlignment(Qt::AlignCenter); + // 部门 itemModel->setItem(i, 2, new QStandardItem(personList->at(i).find("deptname")->toString())); itemModel->item(i, 2)->setTextAlignment(Qt::AlignCenter); - itemModel->setItem(i, 3, new QStandardItem(QString("iris face"))); - itemModel->item(i, 3)->setTextAlignment(Qt::AlignCenter); + // 采集的人脸/虹膜 + QString hasFace = personList->at(i).find("hasFace")->toString(); + QString hasIris = personList->at(i).find("hasIris")->toString(); + QWidget * widgetLabel = new QWidget(); + QHBoxLayout * hLayout = new QHBoxLayout(); + QLabel * labFace = new QLabel(); + QLabel * labIris = new QLabel(); + + if (hasFace.isEmpty()) + { + labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); + } else { + labFace->setPixmap(QPixmap(":/images/faceCaped.png")); + } + labFace->setFixedSize(QSize(40, 40)); + labFace->setAlignment(Qt::AlignCenter); + + if (hasIris.isEmpty()) + { + labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); + } else { + labIris->setPixmap(QPixmap(":/images/irisCaped.png")); + } + labIris->setFixedSize(QSize(40, 40)); + labIris->setAlignment(Qt::AlignCenter); + + hLayout->addWidget(labFace); + hLayout->addWidget(labIris); + widgetLabel->setLayout(hLayout); + + ui->personListTable->setIndexWidget(itemModel->index(i, 3), widgetLabel); QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); btnDele->setProperty("class", "btnDelete"); - connect(btnDele, &QPushButton::clicked, - this, &PersonListForm::btnDeleClicked); + connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 6a0525d..606bf3d 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -39,6 +39,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -81,6 +83,8 @@ result.insert("person_code", query.value("person_code").toString()); result.insert("deptname", query.value("fullname").toString()); result.insert("sync_id", query.value("sync_id").toString()); + result.insert("hasFace", query.value("face_valid").toString()); + result.insert("hasIris", query.value("iris_valid").toString()); } LOG(DEBUG) << sql.toStdString(); @@ -166,6 +170,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -215,6 +221,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -260,6 +268,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -281,8 +291,8 @@ QString sql = QString("INSERT INTO SYS_PERSON " "(ID, DELFLAG, CREATETIME, UPDATETIME, " "NAME, GENDER, DEPTID, ID_CARD_NO, " - "REMARKS, PERSON_CODE, SYNC_ID) " - "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9')") + "REMARKS, PERSON_CODE, SYNC_ID, FACE_VALID, IRIS_VALID) " + "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', 0, 0)") .arg(id).arg(tm) .arg(object.value("name").toString()) .arg(object.value("gender").toString()) diff --git a/images/faceCaped.png b/images/faceCaped.png new file mode 100644 index 0000000..a047a7b --- /dev/null +++ b/images/faceCaped.png Binary files differ diff --git a/PersonListForm.cpp b/PersonListForm.cpp index e479626..64a2e44 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -123,23 +123,54 @@ int max = tableRowCount > personList->size() ? personList->size() : tableRowCount; for (int i = 0; i < max; i++) { QList row; + // 员工编号 itemModel->setItem(i, 0, new QStandardItem(personList->at(i).find("person_code")->toString())); itemModel->item(i, 0)->setTextAlignment(Qt::AlignCenter); + // 姓名 itemModel->setItem(i, 1, new QStandardItem(personList->at(i).find("name")->toString())); itemModel->item(i, 1)->setTextAlignment(Qt::AlignCenter); + // 部门 itemModel->setItem(i, 2, new QStandardItem(personList->at(i).find("deptname")->toString())); itemModel->item(i, 2)->setTextAlignment(Qt::AlignCenter); - itemModel->setItem(i, 3, new QStandardItem(QString("iris face"))); - itemModel->item(i, 3)->setTextAlignment(Qt::AlignCenter); + // 采集的人脸/虹膜 + QString hasFace = personList->at(i).find("hasFace")->toString(); + QString hasIris = personList->at(i).find("hasIris")->toString(); + QWidget * widgetLabel = new QWidget(); + QHBoxLayout * hLayout = new QHBoxLayout(); + QLabel * labFace = new QLabel(); + QLabel * labIris = new QLabel(); + + if (hasFace.isEmpty()) + { + labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); + } else { + labFace->setPixmap(QPixmap(":/images/faceCaped.png")); + } + labFace->setFixedSize(QSize(40, 40)); + labFace->setAlignment(Qt::AlignCenter); + + if (hasIris.isEmpty()) + { + labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); + } else { + labIris->setPixmap(QPixmap(":/images/irisCaped.png")); + } + labIris->setFixedSize(QSize(40, 40)); + labIris->setAlignment(Qt::AlignCenter); + + hLayout->addWidget(labFace); + hLayout->addWidget(labIris); + widgetLabel->setLayout(hLayout); + + ui->personListTable->setIndexWidget(itemModel->index(i, 3), widgetLabel); QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); btnDele->setProperty("class", "btnDelete"); - connect(btnDele, &QPushButton::clicked, - this, &PersonListForm::btnDeleClicked); + connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 6a0525d..606bf3d 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -39,6 +39,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -81,6 +83,8 @@ result.insert("person_code", query.value("person_code").toString()); result.insert("deptname", query.value("fullname").toString()); result.insert("sync_id", query.value("sync_id").toString()); + result.insert("hasFace", query.value("face_valid").toString()); + result.insert("hasIris", query.value("iris_valid").toString()); } LOG(DEBUG) << sql.toStdString(); @@ -166,6 +170,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -215,6 +221,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -260,6 +268,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -281,8 +291,8 @@ QString sql = QString("INSERT INTO SYS_PERSON " "(ID, DELFLAG, CREATETIME, UPDATETIME, " "NAME, GENDER, DEPTID, ID_CARD_NO, " - "REMARKS, PERSON_CODE, SYNC_ID) " - "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9')") + "REMARKS, PERSON_CODE, SYNC_ID, FACE_VALID, IRIS_VALID) " + "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', 0, 0)") .arg(id).arg(tm) .arg(object.value("name").toString()) .arg(object.value("gender").toString()) diff --git a/images/faceCaped.png b/images/faceCaped.png new file mode 100644 index 0000000..a047a7b --- /dev/null +++ b/images/faceCaped.png Binary files differ diff --git a/images/faceNotCap.png b/images/faceNotCap.png new file mode 100644 index 0000000..5754763 --- /dev/null +++ b/images/faceNotCap.png Binary files differ diff --git a/PersonListForm.cpp b/PersonListForm.cpp index e479626..64a2e44 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -123,23 +123,54 @@ int max = tableRowCount > personList->size() ? personList->size() : tableRowCount; for (int i = 0; i < max; i++) { QList row; + // 员工编号 itemModel->setItem(i, 0, new QStandardItem(personList->at(i).find("person_code")->toString())); itemModel->item(i, 0)->setTextAlignment(Qt::AlignCenter); + // 姓名 itemModel->setItem(i, 1, new QStandardItem(personList->at(i).find("name")->toString())); itemModel->item(i, 1)->setTextAlignment(Qt::AlignCenter); + // 部门 itemModel->setItem(i, 2, new QStandardItem(personList->at(i).find("deptname")->toString())); itemModel->item(i, 2)->setTextAlignment(Qt::AlignCenter); - itemModel->setItem(i, 3, new QStandardItem(QString("iris face"))); - itemModel->item(i, 3)->setTextAlignment(Qt::AlignCenter); + // 采集的人脸/虹膜 + QString hasFace = personList->at(i).find("hasFace")->toString(); + QString hasIris = personList->at(i).find("hasIris")->toString(); + QWidget * widgetLabel = new QWidget(); + QHBoxLayout * hLayout = new QHBoxLayout(); + QLabel * labFace = new QLabel(); + QLabel * labIris = new QLabel(); + + if (hasFace.isEmpty()) + { + labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); + } else { + labFace->setPixmap(QPixmap(":/images/faceCaped.png")); + } + labFace->setFixedSize(QSize(40, 40)); + labFace->setAlignment(Qt::AlignCenter); + + if (hasIris.isEmpty()) + { + labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); + } else { + labIris->setPixmap(QPixmap(":/images/irisCaped.png")); + } + labIris->setFixedSize(QSize(40, 40)); + labIris->setAlignment(Qt::AlignCenter); + + hLayout->addWidget(labFace); + hLayout->addWidget(labIris); + widgetLabel->setLayout(hLayout); + + ui->personListTable->setIndexWidget(itemModel->index(i, 3), widgetLabel); QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); btnDele->setProperty("class", "btnDelete"); - connect(btnDele, &QPushButton::clicked, - this, &PersonListForm::btnDeleClicked); + connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 6a0525d..606bf3d 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -39,6 +39,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -81,6 +83,8 @@ result.insert("person_code", query.value("person_code").toString()); result.insert("deptname", query.value("fullname").toString()); result.insert("sync_id", query.value("sync_id").toString()); + result.insert("hasFace", query.value("face_valid").toString()); + result.insert("hasIris", query.value("iris_valid").toString()); } LOG(DEBUG) << sql.toStdString(); @@ -166,6 +170,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -215,6 +221,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -260,6 +268,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -281,8 +291,8 @@ QString sql = QString("INSERT INTO SYS_PERSON " "(ID, DELFLAG, CREATETIME, UPDATETIME, " "NAME, GENDER, DEPTID, ID_CARD_NO, " - "REMARKS, PERSON_CODE, SYNC_ID) " - "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9')") + "REMARKS, PERSON_CODE, SYNC_ID, FACE_VALID, IRIS_VALID) " + "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', 0, 0)") .arg(id).arg(tm) .arg(object.value("name").toString()) .arg(object.value("gender").toString()) diff --git a/images/faceCaped.png b/images/faceCaped.png new file mode 100644 index 0000000..a047a7b --- /dev/null +++ b/images/faceCaped.png Binary files differ diff --git a/images/faceNotCap.png b/images/faceNotCap.png new file mode 100644 index 0000000..5754763 --- /dev/null +++ b/images/faceNotCap.png Binary files differ diff --git a/images/irisCaped.png b/images/irisCaped.png new file mode 100644 index 0000000..18d3ef4 --- /dev/null +++ b/images/irisCaped.png Binary files differ diff --git a/PersonListForm.cpp b/PersonListForm.cpp index e479626..64a2e44 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -123,23 +123,54 @@ int max = tableRowCount > personList->size() ? personList->size() : tableRowCount; for (int i = 0; i < max; i++) { QList row; + // 员工编号 itemModel->setItem(i, 0, new QStandardItem(personList->at(i).find("person_code")->toString())); itemModel->item(i, 0)->setTextAlignment(Qt::AlignCenter); + // 姓名 itemModel->setItem(i, 1, new QStandardItem(personList->at(i).find("name")->toString())); itemModel->item(i, 1)->setTextAlignment(Qt::AlignCenter); + // 部门 itemModel->setItem(i, 2, new QStandardItem(personList->at(i).find("deptname")->toString())); itemModel->item(i, 2)->setTextAlignment(Qt::AlignCenter); - itemModel->setItem(i, 3, new QStandardItem(QString("iris face"))); - itemModel->item(i, 3)->setTextAlignment(Qt::AlignCenter); + // 采集的人脸/虹膜 + QString hasFace = personList->at(i).find("hasFace")->toString(); + QString hasIris = personList->at(i).find("hasIris")->toString(); + QWidget * widgetLabel = new QWidget(); + QHBoxLayout * hLayout = new QHBoxLayout(); + QLabel * labFace = new QLabel(); + QLabel * labIris = new QLabel(); + + if (hasFace.isEmpty()) + { + labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); + } else { + labFace->setPixmap(QPixmap(":/images/faceCaped.png")); + } + labFace->setFixedSize(QSize(40, 40)); + labFace->setAlignment(Qt::AlignCenter); + + if (hasIris.isEmpty()) + { + labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); + } else { + labIris->setPixmap(QPixmap(":/images/irisCaped.png")); + } + labIris->setFixedSize(QSize(40, 40)); + labIris->setAlignment(Qt::AlignCenter); + + hLayout->addWidget(labFace); + hLayout->addWidget(labIris); + widgetLabel->setLayout(hLayout); + + ui->personListTable->setIndexWidget(itemModel->index(i, 3), widgetLabel); QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); btnDele->setProperty("class", "btnDelete"); - connect(btnDele, &QPushButton::clicked, - this, &PersonListForm::btnDeleClicked); + connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 6a0525d..606bf3d 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -39,6 +39,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -81,6 +83,8 @@ result.insert("person_code", query.value("person_code").toString()); result.insert("deptname", query.value("fullname").toString()); result.insert("sync_id", query.value("sync_id").toString()); + result.insert("hasFace", query.value("face_valid").toString()); + result.insert("hasIris", query.value("iris_valid").toString()); } LOG(DEBUG) << sql.toStdString(); @@ -166,6 +170,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -215,6 +221,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -260,6 +268,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -281,8 +291,8 @@ QString sql = QString("INSERT INTO SYS_PERSON " "(ID, DELFLAG, CREATETIME, UPDATETIME, " "NAME, GENDER, DEPTID, ID_CARD_NO, " - "REMARKS, PERSON_CODE, SYNC_ID) " - "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9')") + "REMARKS, PERSON_CODE, SYNC_ID, FACE_VALID, IRIS_VALID) " + "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', 0, 0)") .arg(id).arg(tm) .arg(object.value("name").toString()) .arg(object.value("gender").toString()) diff --git a/images/faceCaped.png b/images/faceCaped.png new file mode 100644 index 0000000..a047a7b --- /dev/null +++ b/images/faceCaped.png Binary files differ diff --git a/images/faceNotCap.png b/images/faceNotCap.png new file mode 100644 index 0000000..5754763 --- /dev/null +++ b/images/faceNotCap.png Binary files differ diff --git a/images/irisCaped.png b/images/irisCaped.png new file mode 100644 index 0000000..18d3ef4 --- /dev/null +++ b/images/irisCaped.png Binary files differ diff --git a/images/irisNotCap.png b/images/irisNotCap.png new file mode 100644 index 0000000..9704a4d --- /dev/null +++ b/images/irisNotCap.png Binary files differ diff --git a/PersonListForm.cpp b/PersonListForm.cpp index e479626..64a2e44 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -123,23 +123,54 @@ int max = tableRowCount > personList->size() ? personList->size() : tableRowCount; for (int i = 0; i < max; i++) { QList row; + // 员工编号 itemModel->setItem(i, 0, new QStandardItem(personList->at(i).find("person_code")->toString())); itemModel->item(i, 0)->setTextAlignment(Qt::AlignCenter); + // 姓名 itemModel->setItem(i, 1, new QStandardItem(personList->at(i).find("name")->toString())); itemModel->item(i, 1)->setTextAlignment(Qt::AlignCenter); + // 部门 itemModel->setItem(i, 2, new QStandardItem(personList->at(i).find("deptname")->toString())); itemModel->item(i, 2)->setTextAlignment(Qt::AlignCenter); - itemModel->setItem(i, 3, new QStandardItem(QString("iris face"))); - itemModel->item(i, 3)->setTextAlignment(Qt::AlignCenter); + // 采集的人脸/虹膜 + QString hasFace = personList->at(i).find("hasFace")->toString(); + QString hasIris = personList->at(i).find("hasIris")->toString(); + QWidget * widgetLabel = new QWidget(); + QHBoxLayout * hLayout = new QHBoxLayout(); + QLabel * labFace = new QLabel(); + QLabel * labIris = new QLabel(); + + if (hasFace.isEmpty()) + { + labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); + } else { + labFace->setPixmap(QPixmap(":/images/faceCaped.png")); + } + labFace->setFixedSize(QSize(40, 40)); + labFace->setAlignment(Qt::AlignCenter); + + if (hasIris.isEmpty()) + { + labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); + } else { + labIris->setPixmap(QPixmap(":/images/irisCaped.png")); + } + labIris->setFixedSize(QSize(40, 40)); + labIris->setAlignment(Qt::AlignCenter); + + hLayout->addWidget(labFace); + hLayout->addWidget(labIris); + widgetLabel->setLayout(hLayout); + + ui->personListTable->setIndexWidget(itemModel->index(i, 3), widgetLabel); QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); btnDele->setProperty("class", "btnDelete"); - connect(btnDele, &QPushButton::clicked, - this, &PersonListForm::btnDeleClicked); + connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 6a0525d..606bf3d 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -39,6 +39,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -81,6 +83,8 @@ result.insert("person_code", query.value("person_code").toString()); result.insert("deptname", query.value("fullname").toString()); result.insert("sync_id", query.value("sync_id").toString()); + result.insert("hasFace", query.value("face_valid").toString()); + result.insert("hasIris", query.value("iris_valid").toString()); } LOG(DEBUG) << sql.toStdString(); @@ -166,6 +170,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -215,6 +221,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -260,6 +268,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -281,8 +291,8 @@ QString sql = QString("INSERT INTO SYS_PERSON " "(ID, DELFLAG, CREATETIME, UPDATETIME, " "NAME, GENDER, DEPTID, ID_CARD_NO, " - "REMARKS, PERSON_CODE, SYNC_ID) " - "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9')") + "REMARKS, PERSON_CODE, SYNC_ID, FACE_VALID, IRIS_VALID) " + "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', 0, 0)") .arg(id).arg(tm) .arg(object.value("name").toString()) .arg(object.value("gender").toString()) diff --git a/images/faceCaped.png b/images/faceCaped.png new file mode 100644 index 0000000..a047a7b --- /dev/null +++ b/images/faceCaped.png Binary files differ diff --git a/images/faceNotCap.png b/images/faceNotCap.png new file mode 100644 index 0000000..5754763 --- /dev/null +++ b/images/faceNotCap.png Binary files differ diff --git a/images/irisCaped.png b/images/irisCaped.png new file mode 100644 index 0000000..18d3ef4 --- /dev/null +++ b/images/irisCaped.png Binary files differ diff --git a/images/irisNotCap.png b/images/irisNotCap.png new file mode 100644 index 0000000..9704a4d --- /dev/null +++ b/images/irisNotCap.png Binary files differ diff --git a/qss/personList.css b/qss/personList.css index fcf1a23..f02be49 100644 --- a/qss/personList.css +++ b/qss/personList.css @@ -133,10 +133,11 @@ } QPushButton[class="btnDelete"] { - color: #FF0000; + color: #FFFFFF; font-size: 24px; font-family: "Microsoft YaHei"; - border: 2px solid #FF0000; + background: #E74C3C; + /*border: 2px solid #FF0000;*/ border-radius: 8px; margin: 5px; } diff --git a/PersonListForm.cpp b/PersonListForm.cpp index e479626..64a2e44 100644 --- a/PersonListForm.cpp +++ b/PersonListForm.cpp @@ -123,23 +123,54 @@ int max = tableRowCount > personList->size() ? personList->size() : tableRowCount; for (int i = 0; i < max; i++) { QList row; + // 员工编号 itemModel->setItem(i, 0, new QStandardItem(personList->at(i).find("person_code")->toString())); itemModel->item(i, 0)->setTextAlignment(Qt::AlignCenter); + // 姓名 itemModel->setItem(i, 1, new QStandardItem(personList->at(i).find("name")->toString())); itemModel->item(i, 1)->setTextAlignment(Qt::AlignCenter); + // 部门 itemModel->setItem(i, 2, new QStandardItem(personList->at(i).find("deptname")->toString())); itemModel->item(i, 2)->setTextAlignment(Qt::AlignCenter); - itemModel->setItem(i, 3, new QStandardItem(QString("iris face"))); - itemModel->item(i, 3)->setTextAlignment(Qt::AlignCenter); + // 采集的人脸/虹膜 + QString hasFace = personList->at(i).find("hasFace")->toString(); + QString hasIris = personList->at(i).find("hasIris")->toString(); + QWidget * widgetLabel = new QWidget(); + QHBoxLayout * hLayout = new QHBoxLayout(); + QLabel * labFace = new QLabel(); + QLabel * labIris = new QLabel(); + + if (hasFace.isEmpty()) + { + labFace->setPixmap(QPixmap(":/images/faceNotCap.png")); + } else { + labFace->setPixmap(QPixmap(":/images/faceCaped.png")); + } + labFace->setFixedSize(QSize(40, 40)); + labFace->setAlignment(Qt::AlignCenter); + + if (hasIris.isEmpty()) + { + labIris->setPixmap(QPixmap(":/images/irisNotCap.png")); + } else { + labIris->setPixmap(QPixmap(":/images/irisCaped.png")); + } + labIris->setFixedSize(QSize(40, 40)); + labIris->setAlignment(Qt::AlignCenter); + + hLayout->addWidget(labFace); + hLayout->addWidget(labIris); + widgetLabel->setLayout(hLayout); + + ui->personListTable->setIndexWidget(itemModel->index(i, 3), widgetLabel); QPushButton * btnDele = new QPushButton("删除"); btnDele->setProperty("personId", personList->at(i).find("id")->toString()); btnDele->setProperty("class", "btnDelete"); - connect(btnDele, &QPushButton::clicked, - this, &PersonListForm::btnDeleClicked); + connect(btnDele, &QPushButton::clicked, this, &PersonListForm::btnDeleClicked); ui->personListTable->setIndexWidget(itemModel->index(i, 4), btnDele); } diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp index 6a0525d..606bf3d 100644 --- a/dao/SysPersonDao.cpp +++ b/dao/SysPersonDao.cpp @@ -39,6 +39,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -81,6 +83,8 @@ result.insert("person_code", query.value("person_code").toString()); result.insert("deptname", query.value("fullname").toString()); result.insert("sync_id", query.value("sync_id").toString()); + result.insert("hasFace", query.value("face_valid").toString()); + result.insert("hasIris", query.value("iris_valid").toString()); } LOG(DEBUG) << sql.toStdString(); @@ -166,6 +170,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -215,6 +221,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -260,6 +268,8 @@ item.insert("person_code", query.value("person_code").toString()); item.insert("sync_id", query.value("sync_id").toLongLong()); 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); } @@ -281,8 +291,8 @@ QString sql = QString("INSERT INTO SYS_PERSON " "(ID, DELFLAG, CREATETIME, UPDATETIME, " "NAME, GENDER, DEPTID, ID_CARD_NO, " - "REMARKS, PERSON_CODE, SYNC_ID) " - "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9')") + "REMARKS, PERSON_CODE, SYNC_ID, FACE_VALID, IRIS_VALID) " + "VALUES ('%1', '0', '%2', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', 0, 0)") .arg(id).arg(tm) .arg(object.value("name").toString()) .arg(object.value("gender").toString()) diff --git a/images/faceCaped.png b/images/faceCaped.png new file mode 100644 index 0000000..a047a7b --- /dev/null +++ b/images/faceCaped.png Binary files differ diff --git a/images/faceNotCap.png b/images/faceNotCap.png new file mode 100644 index 0000000..5754763 --- /dev/null +++ b/images/faceNotCap.png Binary files differ diff --git a/images/irisCaped.png b/images/irisCaped.png new file mode 100644 index 0000000..18d3ef4 --- /dev/null +++ b/images/irisCaped.png Binary files differ diff --git a/images/irisNotCap.png b/images/irisNotCap.png new file mode 100644 index 0000000..9704a4d --- /dev/null +++ b/images/irisNotCap.png Binary files differ diff --git a/qss/personList.css b/qss/personList.css index fcf1a23..f02be49 100644 --- a/qss/personList.css +++ b/qss/personList.css @@ -133,10 +133,11 @@ } QPushButton[class="btnDelete"] { - color: #FF0000; + color: #FFFFFF; font-size: 24px; font-family: "Microsoft YaHei"; - border: 2px solid #FF0000; + background: #E74C3C; + /*border: 2px solid #FF0000;*/ border-radius: 8px; margin: 5px; } diff --git a/resource.qrc b/resource.qrc index a20c99e..e4d7d8c 100644 --- a/resource.qrc +++ b/resource.qrc @@ -15,5 +15,9 @@ images/save.png images/upArrow.png images/downArrow.png + images/faceCaped.png + images/faceNotCap.png + images/irisCaped.png + images/irisNotCap.png