1 增加删除支持相关操作 2 增加非空限制 3调整门诊信息显示为空问题

This commit is contained in:
work-zym\zhangyiming 2024-11-25 15:55:16 +08:00
parent 9d5f7fc796
commit 1f3e167cc7
7 changed files with 66 additions and 19 deletions

Binary file not shown.

View File

@ -85,7 +85,7 @@ bool SqlCore::execute(QString sql )
bool flag = sqlQuery.exec(sql); bool flag = sqlQuery.exec(sql);
if (!flag) if (!flag)
{ {
//logError() << connName << sqlQuery.lastError().text() << endl; qDebug() << connName << sqlQuery.lastError().text() << endl;
} }
mutexMap[msDBFile][connName]->unlock(); mutexMap[msDBFile][connName]->unlock();
return flag; return flag;

View File

@ -170,7 +170,7 @@ QString SqlGenerate::updateData(QString table, QVariantMap map, QString conditio
QString SqlGenerate::deleteData(QString table, QString condition) QString SqlGenerate::deleteData(QString table, QString condition)
{ {
QString content = QString("delete %1 ").arg(table); QString content = QString("delete %1 ").arg(table);
content += QString("where %1").arg(condition); content += QString("where '%1'").arg(condition);
content += QString(";"); content += QString(";");
return content; return content;
} }

View File

@ -47,14 +47,14 @@ void DataManager::initTable()
QMap<QString, QString> map; QMap<QString, QString> map;
map.insert("f_CheckNum", "TEXT PRIMARY KEY"); map.insert("f_CheckNum", "TEXT PRIMARY KEY");
map.insert("f_Type", "TEXT"); map.insert("f_Type", "TEXT NOT NULL");
map.insert("f_Name", "TEXT"); map.insert("f_Name", "TEXT NOT NULL");
map.insert("f_Sex", "TEXT"); map.insert("f_Sex", "TEXT NOT NULL");
map.insert("f_Birthday", "TEXT"); map.insert("f_Birthday", "TEXT NOT NULL");
map.insert("f_Year", "TEXT"); map.insert("f_Year", "TEXT NOT NULL");
map.insert("f_Laterality", "TEXT"); map.insert("f_Laterality", "TEXT NOT NULL");
map.insert("f_InspectDate", "TEXT"); map.insert("f_InspectDate", "TEXT NOT NULL");
map.insert("f_Other", "TEXT"); map.insert("f_Other", "TEXT NOT NULL");
SqlGenerate sqlGener; SqlGenerate sqlGener;
QString sql = sqlGener.createTable("t_RecodManage",map); QString sql = sqlGener.createTable("t_RecodManage",map);
qDebug()<<sql<<endl; qDebug()<<sql<<endl;
@ -73,12 +73,12 @@ void DataManager::initTable()
*/ */
QMap<QString, QString> map; QMap<QString, QString> map;
map.insert("f_HostpitalName", "TEXT PRIMARY KEY"); map.insert("f_HostpitalName", "TEXT PRIMARY KEY");
map.insert("f_UserName", "TEXT"); map.insert("f_UserName", "TEXT NOT NULL");
map.insert("f_Section", "TEXT"); map.insert("f_Section", "TEXT NOT NULL");
map.insert("f_UserPasswd", "TEXT"); map.insert("f_UserPasswd", "TEXT NOT NULL");
map.insert("f_UserNum", "TEXT"); map.insert("f_UserNum", "TEXT NOT NULL");
map.insert("f_RePasswd", "TEXT"); map.insert("f_RePasswd", "TEXT NOT NULL");
map.insert("f_DataName", "TEXT"); map.insert("f_DataName", "TEXT NOT NULL");
SqlGenerate sqlGener; SqlGenerate sqlGener;
QString sql = sqlGener.createTable("t_Hostpital",map); QString sql = sqlGener.createTable("t_Hostpital",map);
@ -204,3 +204,12 @@ uint DataManager::getMedicRecordList(const QString& fileName,
return ret; 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);
}

View File

@ -47,6 +47,8 @@ public:
QList<MedicRecord>& filesInfo, QList<MedicRecord>& filesInfo,
int& curPage, int& curPage,
int perPageCnt); int perPageCnt);
bool deleteNumRecode(QString checkNum);
private: private:
void init(); void init();
void initTable(); void initTable();

View File

@ -274,6 +274,7 @@ bool MedicalRecordManager::initConnect()
connect(m_actSearch, SIGNAL(triggered(bool)), this, SLOT(slotSearch())); connect(m_actSearch, SIGNAL(triggered(bool)), this, SLOT(slotSearch()));
connect(&m_btnUpPage,SIGNAL(clicked()),this,SLOT(slotPreviousPage())); connect(&m_btnUpPage,SIGNAL(clicked()),this,SLOT(slotPreviousPage()));
connect(&m_btnNetPage,SIGNAL(clicked()),this,SLOT(slotNextPage())); connect(&m_btnNetPage,SIGNAL(clicked()),this,SLOT(slotNextPage()));
connect(&m_btnDelete,SIGNAL(clicked()),this,SLOT(slotDelete()));
return true; return true;
} }
void MedicalRecordManager::slotSearch() void MedicalRecordManager::slotSearch()
@ -308,10 +309,13 @@ void MedicalRecordManager::initTable()
/*单个选中 QAbstractItemView::ExtendedSelection); 可以选中多个*/ /*单个选中 QAbstractItemView::ExtendedSelection); 可以选中多个*/
m_tableWidget.horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); m_tableWidget.horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
m_tableWidget.horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); 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(2, QHeaderView::ResizeToContents);
m_tableWidget.horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents); m_tableWidget.horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents);
m_tableWidget.horizontalHeader()->setSectionResizeMode(4, 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.setEditTriggers(QAbstractItemView::NoEditTriggers);
m_tableWidget.setShowGrid(false); m_tableWidget.setShowGrid(false);
for (int row = 0; row < m_tableWidget.rowCount(); row++) 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_id->setData(Qt::DisplayRole, row + 1 + (id_page - 1) * 100);
//设置数据 //设置数据
item_m_CheckNum->setData(Qt::DisplayRole, lstInfo.at(row).m_CheckNum); 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_Name->setData(Qt::DisplayRole, lstInfo.at(row).m_Name);
item_Sex->setData(Qt::DisplayRole, lstInfo.at(row).m_Sex); item_Sex->setData(Qt::DisplayRole, lstInfo.at(row).m_Sex);
item_Age->setData(Qt::DisplayRole, lstInfo.at(row).m_Year); item_Age->setData(Qt::DisplayRole, lstInfo.at(row).m_Year);
@ -452,7 +456,7 @@ void MedicalRecordManager::updateContext()
item_id->setData(Qt::DisplayRole, ""); item_id->setData(Qt::DisplayRole, "");
//item_id->setFlags(Qt::NoItemFlags); //item_id->setFlags(Qt::NoItemFlags);
item_m_CheckNum->setData(Qt::DisplayRole, ""); item_m_CheckNum->setData(Qt::DisplayRole, "");
item_type->setData(Qt::UserRole, ""); item_type->setData(Qt::DisplayRole, "");
item_Name->setData(Qt::DisplayRole, ""); item_Name->setData(Qt::DisplayRole, "");
item_Sex->setData(Qt::DisplayRole, ""); item_Sex->setData(Qt::DisplayRole, "");
item_Age->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(QHeaderView::Stretch);//单独使用--每一列宽度平均//Qt::4 //horizontalHeader()->setResizeMode(QHeaderView::Stretch);
m_tableWidget.horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); 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(2, QHeaderView::ResizeToContents);
m_tableWidget.horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents); m_tableWidget.horizontalHeader()->setSectionResizeMode(3, QHeaderView::ResizeToContents);
m_tableWidget.horizontalHeader()->setSectionResizeMode(4, 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.verticalHeader()->scrollToTop();
m_tableWidget.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"<<endl;
}
}
}
m_currentPage =0 ;
updateContext();
}

View File

@ -41,6 +41,7 @@ private slots:
void slotPreviousPage();//上一页update void slotPreviousPage();//上一页update
void slotNextPage(); //下一页 void slotNextPage(); //下一页
void updateContext(); void updateContext();
void slotDelete();
private: private:
int m_currentPage; int m_currentPage;
private: private: