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);
if (!flag)
{
//logError() << connName << sqlQuery.lastError().text() << endl;
qDebug() << connName << sqlQuery.lastError().text() << endl;
}
mutexMap[msDBFile][connName]->unlock();
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 content = QString("delete %1 ").arg(table);
content += QString("where %1").arg(condition);
content += QString("where '%1'").arg(condition);
content += QString(";");
return content;
}

View File

@ -47,14 +47,14 @@ void DataManager::initTable()
QMap<QString, QString> 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()<<sql<<endl;
@ -73,12 +73,12 @@ void DataManager::initTable()
*/
QMap<QString, QString> 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);
}

View File

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

View File

@ -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"<<endl;
}
}
}
m_currentPage =0 ;
updateContext();
}

View File

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