diff --git a/bin/xyylMCWEACSystem.exe b/bin/xyylMCWEACSystem.exe index 77b78a9..644cbbd 100644 Binary files a/bin/xyylMCWEACSystem.exe and b/bin/xyylMCWEACSystem.exe differ diff --git a/xyylMCWEACSystem/SqlCore.cpp b/xyylMCWEACSystem/SqlCore.cpp index c897042..0ddd85c 100644 --- a/xyylMCWEACSystem/SqlCore.cpp +++ b/xyylMCWEACSystem/SqlCore.cpp @@ -85,7 +85,7 @@ bool SqlCore::execute(QString sql ) bool flag = sqlQuery.exec(sql); if (!flag) { - //logError() << connName << sqlQuery.lastError().text() << endl; + qDebug() << connName << sqlQuery.lastError().text() << endl; } mutexMap[msDBFile][connName]->unlock(); return flag; diff --git a/xyylMCWEACSystem/SqlGenerate.cpp b/xyylMCWEACSystem/SqlGenerate.cpp index 396bd77..fe35b51 100644 --- a/xyylMCWEACSystem/SqlGenerate.cpp +++ b/xyylMCWEACSystem/SqlGenerate.cpp @@ -170,7 +170,7 @@ QString SqlGenerate::updateData(QString table, QVariantMap map, QString conditio QString SqlGenerate::deleteData(QString table, QString condition) { QString content = QString("delete %1 ").arg(table); - content += QString("where %1").arg(condition); + content += QString("where '%1'").arg(condition); content += QString(";"); return content; } diff --git a/xyylMCWEACSystem/datamanager.cpp b/xyylMCWEACSystem/datamanager.cpp index 19f02c6..c380e15 100644 --- a/xyylMCWEACSystem/datamanager.cpp +++ b/xyylMCWEACSystem/datamanager.cpp @@ -47,14 +47,14 @@ void DataManager::initTable() QMap map; map.insert("f_CheckNum", "TEXT PRIMARY KEY"); - map.insert("f_Type", "TEXT"); - map.insert("f_Name", "TEXT"); - map.insert("f_Sex", "TEXT"); - map.insert("f_Birthday", "TEXT"); - map.insert("f_Year", "TEXT"); - map.insert("f_Laterality", "TEXT"); - map.insert("f_InspectDate", "TEXT"); - map.insert("f_Other", "TEXT"); + map.insert("f_Type", "TEXT NOT NULL"); + map.insert("f_Name", "TEXT NOT NULL"); + map.insert("f_Sex", "TEXT NOT NULL"); + map.insert("f_Birthday", "TEXT NOT NULL"); + map.insert("f_Year", "TEXT NOT NULL"); + map.insert("f_Laterality", "TEXT NOT NULL"); + map.insert("f_InspectDate", "TEXT NOT NULL"); + map.insert("f_Other", "TEXT NOT NULL"); SqlGenerate sqlGener; QString sql = sqlGener.createTable("t_RecodManage",map); qDebug()< map; map.insert("f_HostpitalName", "TEXT PRIMARY KEY"); - map.insert("f_UserName", "TEXT"); - map.insert("f_Section", "TEXT"); - map.insert("f_UserPasswd", "TEXT"); - map.insert("f_UserNum", "TEXT"); - map.insert("f_RePasswd", "TEXT"); - map.insert("f_DataName", "TEXT"); + map.insert("f_UserName", "TEXT NOT NULL"); + map.insert("f_Section", "TEXT NOT NULL"); + map.insert("f_UserPasswd", "TEXT NOT NULL"); + map.insert("f_UserNum", "TEXT NOT NULL"); + map.insert("f_RePasswd", "TEXT NOT NULL"); + map.insert("f_DataName", "TEXT NOT NULL"); SqlGenerate sqlGener; QString sql = sqlGener.createTable("t_Hostpital",map); @@ -204,3 +204,12 @@ uint DataManager::getMedicRecordList(const QString& fileName, return ret; } + bool DataManager::deleteNumRecode(QString checkNum) + { + SqlGenerate sqlGener; + + QString sql = QString("delete from %1 where %2").arg("t_RecodManage").arg("f_CheckNum = '"+checkNum+"';"); + + return m_sqlcore.execute(sql); + + } diff --git a/xyylMCWEACSystem/datamanager.h b/xyylMCWEACSystem/datamanager.h index 9c4b275..517e81e 100644 --- a/xyylMCWEACSystem/datamanager.h +++ b/xyylMCWEACSystem/datamanager.h @@ -47,6 +47,8 @@ public: QList& filesInfo, int& curPage, int perPageCnt); + + bool deleteNumRecode(QString checkNum); private: void init(); void initTable(); diff --git a/xyylMCWEACSystem/medicalrecordmanager.cpp b/xyylMCWEACSystem/medicalrecordmanager.cpp index d26ea6e..282194f 100644 --- a/xyylMCWEACSystem/medicalrecordmanager.cpp +++ b/xyylMCWEACSystem/medicalrecordmanager.cpp @@ -274,6 +274,7 @@ bool MedicalRecordManager::initConnect() connect(m_actSearch, SIGNAL(triggered(bool)), this, SLOT(slotSearch())); connect(&m_btnUpPage,SIGNAL(clicked()),this,SLOT(slotPreviousPage())); connect(&m_btnNetPage,SIGNAL(clicked()),this,SLOT(slotNextPage())); + connect(&m_btnDelete,SIGNAL(clicked()),this,SLOT(slotDelete())); return true; } void MedicalRecordManager::slotSearch() @@ -308,10 +309,13 @@ void MedicalRecordManager::initTable() /*单个选中 QAbstractItemView::ExtendedSelection); 可以选中多个*/ m_tableWidget.horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); m_tableWidget.horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); - //m_tableWidget.horizontalHea der()->setSectionResizeMode(3, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); m_tableWidget.horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents); m_tableWidget.horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents); m_tableWidget.horizontalHeader()->setSectionResizeMode(4, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(5, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(6, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(7, QHeaderView::ResizeToContents); m_tableWidget.setEditTriggers(QAbstractItemView::NoEditTriggers); m_tableWidget.setShowGrid(false); for (int row = 0; row < m_tableWidget.rowCount(); row++) @@ -425,7 +429,7 @@ void MedicalRecordManager::updateContext() item_id->setData(Qt::DisplayRole, row + 1 + (id_page - 1) * 100); //设置数据 item_m_CheckNum->setData(Qt::DisplayRole, lstInfo.at(row).m_CheckNum); - item_type->setData(Qt::UserRole, lstInfo.at(row).m_Type); + item_type->setData(Qt::DisplayRole, lstInfo.at(row).m_Type); item_Name->setData(Qt::DisplayRole, lstInfo.at(row).m_Name); item_Sex->setData(Qt::DisplayRole, lstInfo.at(row).m_Sex); item_Age->setData(Qt::DisplayRole, lstInfo.at(row).m_Year); @@ -452,7 +456,7 @@ void MedicalRecordManager::updateContext() item_id->setData(Qt::DisplayRole, ""); //item_id->setFlags(Qt::NoItemFlags); item_m_CheckNum->setData(Qt::DisplayRole, ""); - item_type->setData(Qt::UserRole, ""); + item_type->setData(Qt::DisplayRole, ""); item_Name->setData(Qt::DisplayRole, ""); item_Sex->setData(Qt::DisplayRole, ""); item_Age->setData(Qt::DisplayRole, ""); @@ -473,10 +477,41 @@ void MedicalRecordManager::updateContext() } m_tableWidget.horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//单独使用--每一列宽度平均//Qt::4 //horizontalHeader()->setResizeMode(QHeaderView::Stretch); m_tableWidget.horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); m_tableWidget.horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents); m_tableWidget.horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents); m_tableWidget.horizontalHeader()->setSectionResizeMode(4, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(5, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(6, QHeaderView::ResizeToContents); + m_tableWidget.horizontalHeader()->setSectionResizeMode(7, QHeaderView::ResizeToContents); + // m_tableWidget.horizontalHeader()->setSectionResizeMode(8, QHeaderView::ResizeToContents); m_tableWidget.verticalHeader()->scrollToTop(); m_tableWidget.scrollToTop(); } + +void MedicalRecordManager::slotDelete() +{ + QStringList CheckNumList; + for (int i = 0; i < m_tableWidget.rowCount(); i++) + { + QTableWidgetItem *item_id = m_tableWidget.item(i, 0); + QTableWidgetItem *item_fileName = m_tableWidget.item(i, 1); + + if (item_id->checkState() == Qt::CheckState::Checked) + { + //item_id->setCheckState(Qt::CheckState::Unchecked); + //item_id->setFlags(Qt::ItemIsSelectable); + int id = item_id->data(Qt::DisplayRole).toInt(); + QString checkNum = item_fileName->data(Qt::DisplayRole).toString(); + CheckNumList.append(checkNum); + bool okret = DataManager::instance().deleteNumRecode(checkNum); + if(!okret) + { + qDebug()<<"fails delete"<