From 20ffcfb5507daf34f81346ca3dfa4c031e7b2fe3 Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期日, 27 四月 2025 22:13:53 +0800
Subject: [PATCH] 0427
---
internal_system_v1/clientmainwindow.cpp | 386 +++++++++++++++++++++++++++++++++++++
internal_system_v1/searchinfo.cpp | 3
internal_system_v1/clientmainwindow.ui | 91 ++++++++
internal_system_v1/clientmainwindow.h | 6
internal_system_v1/converinfo2.h | 2
internal_system_v1/converinfo2.cpp | 57 +++++
internal_system_v1/exporttofile.cpp | 4
7 files changed, 527 insertions(+), 22 deletions(-)
diff --git a/internal_system_v1/clientmainwindow.cpp b/internal_system_v1/clientmainwindow.cpp
index 6ec89c0..f3a0e77 100644
--- a/internal_system_v1/clientmainwindow.cpp
+++ b/internal_system_v1/clientmainwindow.cpp
@@ -548,8 +548,10 @@
for(int i=1;i<ui->tableWidget->rowCount();++i){
qDebug()<<"data:"<<ui->tableWidget->item(i,1)->text()<<" "<<ui->tableWidget->item(i,3)->text();
}
- // 鍏堝垽鏂叕鍙稿湪涓嶅湪锛屼笉鍦ㄥ垯鏂板锛屽湪鍒欎慨鏀�
- QString sql = QString("select name from comprehensive_entry_info where name='%1'").arg(ui->comboBox_company->currentText());
+ // 鍏堝垽鏂叕鍙搞�佸勾浠藉湪涓嶅湪锛屼笉鍦ㄥ垯鏂板锛屽湪鍒欎慨鏀�
+ QString year = ui->dateEdit_year->text();
+ QString name = ui->comboBox_company->currentText();
+ QString sql = QString("select name from comprehensive_entry_info where name='%1' and year='%2'").arg(name).arg(year);
qDebug()<<"sql select:"<<sql;
QSqlQuery query;
bool nameExsit = false;
@@ -633,11 +635,12 @@
_030903,\
_031000,\
_031001,\
- company_type\
+ company_type,\
+ year\
) values ('%1','%2','%3','%4','%5','%6','%7','%8','%9','%10','%11','%12','%13','%14','%15','%16','%17','%18','%19','%20','%21','%22','%23','%24','%25','%26'"
",'%27','%28','%29','%30','%31','%32','%33','%34','%35','%36','%37','%38','%39','%40','%41','%42','%43','%44','%45','%46','%47','%48','%49','%50','%51'"
",'%52','%53','%54','%55','%56','%57','%58','%59','%60','%61','%62','%63','%64','%65','%66','%67','%68','%69','%70','%71','%72','%73','%74','%75','%76'"
- ",'%77','%78')").arg(ui->comboBox_company->currentText()).arg(ui->tableWidget->item(1,3)->text())
+ ",'%77','%78','%79')").arg(ui->comboBox_company->currentText()).arg(ui->tableWidget->item(1,3)->text())
.arg(ui->tableWidget->item(2,3)->text()).arg(ui->tableWidget->item(3,3)->text()).arg(ui->tableWidget->item(4,3)->text()).arg(ui->tableWidget->item(5,3)->text()).arg(ui->tableWidget->item(6,3)->text())
.arg(ui->tableWidget->item(7,3)->text()).arg(ui->tableWidget->item(8,3)->text()).arg(ui->tableWidget->item(9,3)->text()).arg(ui->tableWidget->item(10,3)->text()).arg(ui->tableWidget->item(11,3)->text())
.arg(ui->tableWidget->item(12,3)->text()).arg(ui->tableWidget->item(13,3)->text()).arg(ui->tableWidget->item(14,3)->text()).arg(ui->tableWidget->item(15,3)->text()).arg(ui->tableWidget->item(16,3)->text())
@@ -653,7 +656,7 @@
.arg(ui->tableWidget->item(62,3)->text()).arg(ui->tableWidget->item(63,3)->text()).arg(ui->tableWidget->item(64,3)->text()).arg(ui->tableWidget->item(65,3)->text()).arg(ui->tableWidget->item(66,3)->text())
.arg(ui->tableWidget->item(67,3)->text()).arg(ui->tableWidget->item(68,3)->text()).arg(ui->tableWidget->item(69,3)->text()).arg(ui->tableWidget->item(70,3)->text()).arg(ui->tableWidget->item(71,3)->text())
.arg(ui->tableWidget->item(72,3)->text()).arg(ui->tableWidget->item(73,3)->text()).arg(ui->tableWidget->item(74,3)->text()).arg(ui->tableWidget->item(75,3)->text()).arg(ui->tableWidget->item(76,3)->text())
- .arg(ui->comboBox->currentText());
+ .arg(ui->comboBox->currentText()).arg(ui->dateEdit_year->text());
qDebug()<<"comprehensive_entry_info insert sql:"<<sql;
if(query.exec(sql)){
@@ -674,7 +677,7 @@
",_030510='%42',_030520='%43',_030521='%44',_030522='%45',_030523='%46',_030524='%47',_030525='%48',_030526='%49',_030527='%50',_030528='%51'"
",_030600='%52',_030610='%53',_030620='%54',_030621='%55',_030622='%56',_030623='%57',_030624='%58',_030700='%59',_030701='%60',_030702='%61'"
",_030703='%62',_030704='%63',_030705='%64',_030706='%65',_030800='%66',_030801='%67',_030802='%68',_030803='%69',_030804='%70',_030900='%71'"
- ",_030901='%72',_030902='%73',_030903='%74',_031000='%75',_031001='%76',company_type='%77' where name='%78'").arg(ui->tableWidget->item(1,3)->text())
+ ",_030901='%72',_030902='%73',_030903='%74',_031000='%75',_031001='%76',company_type='%77' where name='%78' and year='%79'").arg(ui->tableWidget->item(1,3)->text())
.arg(ui->tableWidget->item(2,3)->text()).arg(ui->tableWidget->item(3,3)->text()).arg(ui->tableWidget->item(4,3)->text()).arg(ui->tableWidget->item(5,3)->text()).arg(ui->tableWidget->item(6,3)->text())
.arg(ui->tableWidget->item(7,3)->text()).arg(ui->tableWidget->item(8,3)->text()).arg(ui->tableWidget->item(9,3)->text()).arg(ui->tableWidget->item(10,3)->text()).arg(ui->tableWidget->item(11,3)->text())
.arg(ui->tableWidget->item(12,3)->text()).arg(ui->tableWidget->item(13,3)->text()).arg(ui->tableWidget->item(14,3)->text()).arg(ui->tableWidget->item(15,3)->text()).arg(ui->tableWidget->item(16,3)->text())
@@ -690,7 +693,7 @@
.arg(ui->tableWidget->item(62,3)->text()).arg(ui->tableWidget->item(63,3)->text()).arg(ui->tableWidget->item(64,3)->text()).arg(ui->tableWidget->item(65,3)->text()).arg(ui->tableWidget->item(66,3)->text())
.arg(ui->tableWidget->item(67,3)->text()).arg(ui->tableWidget->item(68,3)->text()).arg(ui->tableWidget->item(69,3)->text()).arg(ui->tableWidget->item(70,3)->text()).arg(ui->tableWidget->item(71,3)->text())
.arg(ui->tableWidget->item(72,3)->text()).arg(ui->tableWidget->item(73,3)->text()).arg(ui->tableWidget->item(74,3)->text()).arg(ui->tableWidget->item(75,3)->text()).arg(ui->tableWidget->item(76,3)->text())
- .arg(ui->comboBox->currentText()).arg(ui->comboBox_company->currentText());
+ .arg(ui->comboBox->currentText()).arg(ui->comboBox_company->currentText()).arg(ui->dateEdit_year->text());
qDebug()<<"update sql:"<<sql;
if(query.exec(sql)){
@@ -707,6 +710,15 @@
void ClientMainWindow::on_comboBox_currentIndexChanged(const QString &arg1)
{
+ // 鏄惁鑷姩娓呴櫎
+ if(ui->checkBox->isChecked()){
+ qDebug()<<"鑷姩娓呴櫎鍊�";
+ for(int i=30;i<ui->tableWidget->rowCount();++i){
+ for(int j=4;j<ui->tableWidget->columnCount();++j){
+ ui->tableWidget->setItem(i,j,new QTableWidgetItem("0"));
+ }
+ }
+ }
qDebug()<<"褰撳墠"<<arg1;
if(arg1 == "浼佷笟(涓嶅惈閲戣瀺浼佷笟)"){
ui->tableWidget->setItemDelegateForColumn(4,m_editDelegate);
@@ -969,3 +981,363 @@
ExportToFile etf(this);
etf.saveToExcelFromNeiShenZonghe(name,nszh);
}
+
+void ClientMainWindow::on_comboBox_company_currentTextChanged(const QString &arg1)
+{
+ qDebug()<<"鍏徃鍚嶅瓧鍙戠敓浜嗗彉鍖�:"<<arg1;
+ // 鏍规嵁鍏徃鍚嶆潵銆佸勾浠芥煡璇㈡墍鏈夌殑鏁版嵁锛屾牴鎹煡璇㈠埌鐨勪紒涓氱被鍨嬫潵缁欐寚瀹氱殑鍒楀啓鍏ユ暟鎹�
+ QString year = ui->dateEdit_year->text();
+ QString sql = QString("select * from comprehensive_entry_info where name='%1' and year='%2'").arg(arg1).arg(year);
+
+ QSqlQuery query;
+ if(query.exec(sql))
+ {
+ qDebug()<<"鏌ヨ鍒扮患鍚堣〃淇℃伅:"<<arg1;
+ int row=0;
+ while(query.next()){ // 娣诲姞缁撴灉闆�
+ row++;
+ QString com_type = query.value(78).toString();
+ int column_index = 4;
+ if(com_type == "浼佷笟(涓嶅惈閲戣瀺浼佷笟)"){
+ column_index = 4;
+ }else if(com_type == "閲戣瀺浼佷笟"){
+ column_index = 5;
+ }else if(com_type == "鏈哄叧"){
+ column_index = 6;
+ }else if(com_type == "浜嬩笟鍗曚綅"){
+ column_index = 7;
+ }else if(com_type == "鍏朵粬"){
+ column_index = 8;
+ }
+ // 缁欐瘡椤硅祴鍊�
+ for(int i=31;i<78;++i){
+ ui->tableWidget->setItem(i-1,column_index,new QTableWidgetItem(query.value(i).toString()));
+ }
+ }
+ qDebug()<<"row:"<<row;
+ if(row == 0){
+ // 灏辫娓呯┖鐩墠鎵�鏈夌殑鍐呭锛岄兘缃负0
+ for(int i=4;i<9;++i){
+ for(int j=30;j<78;++j){
+ ui->tableWidget->setItem(j,i,new QTableWidgetItem("0"));
+ }
+ }
+ }
+ }else{
+ qDebug()<<"娌℃湁鏌ヨ鍒扮患鍚堣〃淇℃伅:"<<arg1;
+ }
+}
+
+void ClientMainWindow::on_pushButton_merge_3And1_clicked()
+{
+ // 鎸夊勾搴﹀拰鍏徃鍚嶏紝杩涜鍏ㄩ儴鐨勫悎骞讹紝鍚堝苟鐨勬椂鍊欓渶瑕佹煡璇㈠嚭瀛楁鏉ワ紝鎸夊瓧娈靛悎骞�
+ // 鏌ヨ涓夊悎涓�鐨勮〃锛屽悎骞跺埌缁煎悎琛紝鍚堝苟涔嬪墠鎶婂唴瀹瑰叏閮ㄩ兘瀛樺偍涓�閬嶏紝鐒跺悗鍐嶇粺涓�鎻掑叆鎴栬�呮洿鏂拌繘琛ㄦ牸涓�
+ QString name = ui->comboBox_company->currentText();
+ QString year = ui->dateEdit_year->text();
+
+ qDebug()<<"name:"<<ui->comboBox_company->currentText()<<" year:"<<ui->dateEdit_year->text();
+
+ QString sql = QString("select * from standing_book_info where 璐d换涓讳綋鍚嶇О='%1' and 瀹¤骞村害='%2'").arg(name).arg(year);
+
+ qDebug()<<"sql:"<<sql;
+
+ // 鍑嗗閿�煎锛屾潵淇濆瓨瀛楁鍚嶅拰涓夊悎涓�鐨勭粨鏋滐紝閫氳繃缁撴灉鎷垮瓧娈靛悕锛屾帴鐫�鍐嶆嬁鍑哄搴旂殑鍊兼潵缁剆ql璇彞
+ QMap<QString,QString> names_map;
+ QMap<QString,double> infos_map;
+ // 鍥� 瀹¤椤圭洰
+ names_map["璐交钀藉疄鍥藉閲嶅ぇ鏀跨瓥鎺柦瀹¤"] = "_030301";
+ names_map["璐㈡斂璐㈠姟鏀舵敮瀹¤"] = "_030302";
+ names_map["鍥哄畾璧勪骇鎶曡祫瀹¤"] = "_030303";
+ names_map["鍐呴儴鎺у埗鍜岄闄╃鐞嗗璁�"] = "_030304";
+ names_map["缁忔祹璐d换瀹¤"] = "_030305";
+ names_map["淇℃伅璐d换瀹¤"] = "_030306";
+ names_map["澧冨瀹¤"] = "_030307";
+ names_map["鍏朵粬"] = "_030308";
+ names_map["澶栨嫇澶栧寘椤圭洰"] = "_030310";
+
+ // 鍏� 瀹¤鍙戠幇闂閲戦
+ names_map["鍏朵腑锛氱哗鏁堢被闂閲戦"] = "_030510";
+ names_map["鍚堣鎬ч棶棰橀噾棰�"] = "_030520";
+ names_map["鍏朵腑锛氫細璁℃牳绠楁柟闈�"] = "_030521";
+ names_map["杩濊浣跨敤璧勯噾"] = "_030522";
+ names_map["鎴暀銆佹矇娣�璧勯噾"] = "_030523";
+ names_map["鎹熷け娴垂"] = "_030524";
+ names_map["鎸敤璧勯噾"] = "_030525";
+ names_map["閫忔紡绋庤垂"] = "_030526";
+ names_map["杩濊鍙栧緱鏀跺叆"] = "_030527";
+ names_map["鍏朵粬"] = "_030528";
+
+ // 涓� 瀹¤鍙戠幇闂涓暟
+ names_map["鍏朵腑锛氶噾棰濈被闂涓暟"] = "_030610";
+ names_map["闈為噾棰濈被闂涓暟"] = "_030620";
+ names_map["鍏朵腑锛氬浗瀹舵斂绛栨帾鏂借惤瀹炴柟闈�"] = "_030621";
+ names_map["鍙戝睍瑙勫垝涓庢垬鐣ュ喅绛栨柟闈�"] = "_030622";
+ names_map["鍐呴儴鎺у埗涓庨闄╃鐞嗘柟闈�"] = "_030623";
+ names_map["鍏朵粬"] = "_030624";
+
+ // 鍏� 瀹¤鍙戠幇闂鏁存敼(閲戦绫�)
+ names_map["鍏朵腑锛氳皟鏁翠細璁¤处鐩�"] = "_030701";
+ names_map["鏀跺洖璧勯噾"] = "_030702";
+ names_map["鎸藉洖鎹熷け"] = "_030703";
+ names_map["褰掕繕鍘熻祫閲戞笭閬�"] = "_030704";
+ names_map["琛ョ即绋庤垂"] = "_030705";
+ names_map["鍏朵粬"] = "_030706";
+
+ // 涔� 瀹¤鍙戠幇闂鏁存敼(闈為噾棰濈被)
+ names_map["鍏朵腑锛氭柊鍒跺畾鍒跺害"] = "_030801";
+ names_map["淇瀹屽杽鍒跺害"] = "_030802";
+ names_map["浼樺寲瀹屽杽涓氬姟娴佺▼"] = "_030803";
+ names_map["鍏朵粬"] = "_030804";
+
+ // 鍗� 鏍规嵁瀹¤寤鸿鍩轰簬鍏氱邯銆佹斂鍔″拰鍐呴儴绾緥澶勫垎
+ names_map["鍏朵腑锛氬厷绾鍒�"] = "_030901";
+ names_map["鏀垮姟澶勫垎"] = "_030902";
+ names_map["鍐呴儴绾緥澶勫垎"] = "_030903";
+
+ // 鍗佷竴 鍚戝徃娉曟満鍏崇Щ閫佹垨鎶ュ憡妗堜欢绾跨储
+ names_map["鍚戝徃娉曟満鍏崇Щ閫佹垨鎶ュ憡妗堜欢绾跨储"] = "_031000";
+ names_map["娑夋浜哄憳"] = "_031001";
+
+
+ QSqlQuery query;
+ if(query.exec(sql))
+ {
+ // 鑾峰彇瀛楁淇℃伅
+ int row=0;
+ while(query.next()){
+ // 鍙栫壒瀹氬瓧娈�
+ for(int i=0;i<47;++i){
+ qDebug()<<"i="<< i <<query.record().fieldName(i) <<"鍐呭:"<<query.value(i);
+ }
+ // 瀹¤椤圭洰
+ infos_map[names_map[query.value(6).toString()]]++;
+ // 瀹¤鍙戠幇闂閲戦
+ infos_map[names_map[query.value(12).toString()]] += query.value(14).toDouble();
+ // 瀹¤鍙戠幇闂涓暟
+ infos_map[names_map[query.value(13).toString()]] ++;
+ // 鏁存敼鎴愭灉鈥旈棶棰樻暣鏀癸紙閲戦绫伙級
+ infos_map[names_map[query.value(42).toString()]] += query.value(43).toDouble();
+ // 鏁存敼鎴愭灉鈥斺�旈棶棰樻暣鏀癸紙闈為噾棰濈被锛�
+ infos_map[names_map[query.value(44).toString()]] += query.value(45).toLongLong();
+ // 绉婚�佷俊鎭�-澶勫垎缁撴灉
+ infos_map[names_map[query.value(26).toString()]] += query.value(27).toLongLong();
+
+ // 绉婚�佷俊鎭�-娑夋浜哄憳锛堝崟浣嶏細浜猴級
+ infos_map["_031001"] += query.value(30).toLongLong();
+
+
+ row++;
+
+ }
+ qDebug()<<"row:"<<row<<" infos_map size:"<<infos_map.size();
+
+ // 杈撳嚭璁板綍淇℃伅
+ for(auto it = infos_map.begin();it != infos_map.end();++it){
+ qDebug()<<it.key()<<it.value();
+ }
+
+ // 濡傛灉缁熻涓嶅埌鏁版嵁锛岀洿鎺ヨ烦杩�
+ if(row==0){
+ qDebug()<<"鍚堝苟鏁版嵁鏃狅紝鐩存帴杩斿洖";
+ return;
+ }
+
+ // 鍐欏埌鏁版嵁搴撲腑
+ // 鍏堣幏鍙栨満鏋勭被鍨�
+ QString typeSql = QString("select 鏈烘瀯绫诲瀷 from all_company_info where name='%1'").arg(name);
+ qDebug()<<"typeSql:"<<typeSql;
+ QString comType;
+ if(query.exec(typeSql)){
+ while (query.next()) {
+ comType = query.value(0).toString();
+ qDebug()<<"find type:"<<comType;
+ }
+ }
+ int typeIndex=0;
+ QStringList typeList = comType.split(" ");
+ if(typeList.size() > 1){
+ if(typeList.at(0) == "30"){
+ typeIndex = 2;
+ }else if(typeList.at(0) == "20"){
+ typeIndex = 3;
+ }else if(typeList.at(0) == "10"){
+ typeIndex = 0;
+ }else{
+ typeIndex = 4;
+ }
+ }
+ ui->comboBox->setCurrentIndex(typeIndex); // 璁剧疆鍗曚綅绫诲瀷涓哄彲缂栬緫
+ // 鎺ョ潃寰�琛ㄦ牸閲岄潰鍐欏叆鏁翠綋鏁版嵁
+ comType = ui->comboBox->currentText();
+ QString mergeSQLSearch = QString("select * from comprehensive_entry_info where name='%1' and year='%2' and company_type='%3'").arg(name).arg(year).arg(comType);
+ qDebug()<<"mergeSQLSearch"<<mergeSQLSearch;
+ if(query.exec(mergeSQLSearch)){
+ int row = 0;
+ while (query.next()) {
+ row++;
+ }
+ qDebug()<<"search row:"<<row;
+ if(row == 0){
+ //杩樻病鏈夋暟鎹紝鎻掑叆鍗冲彲
+ QString mergeSQLInser = QString("insert into comprehensive_entry_info (name,\
+ _030300,\
+ _030301,\
+ _030302,\
+ _030303,\
+ _030304,\
+ _030305,\
+ _030306,\
+ _030307,\
+ _030308,\
+ _030310,\
+ _030400,\
+ _030500,\
+ _030510,\
+ _030520,\
+ _030521,\
+ _030522,\
+ _030523,\
+ _030524,\
+ _030525,\
+ _030526,\
+ _030527,\
+ _030528,\
+ _030600,\
+ _030610,\
+ _030620,\
+ _030621,\
+ _030622,\
+ _030623,\
+ _030624,\
+ _030700,\
+ _030701,\
+ _030702,\
+ _030703,\
+ _030704,\
+ _030705,\
+ _030706,\
+ _030800,\
+ _030801,\
+ _030802,\
+ _030803,\
+ _030804,\
+ _030900,\
+ _030901,\
+ _030902,\
+ _030903,\
+ _031000,\
+ _031001,\
+ company_type,\
+ year\
+ ) values ('%1','%2','%3','%4','%5','%6','%7','%8','%9','%10','%11','%12','%13','%14','%15','%16','%17','%18','%19','%20','%21','%22','%23','%24','%25','%26'"
+ ",'%27','%28','%29','%30','%31','%32','%33','%34','%35','%36','%37','%38','%39','%40','%41','%42','%43','%44','%45','%46','%47','%48','%49','%50')").arg(name).arg(QString::number(infos_map["_030300"]))
+ .arg(QString::number(infos_map["_030301"])).arg(QString::number(infos_map["_030302"])).arg(QString::number(infos_map["_030303"])).arg(QString::number(infos_map["_030304"])).arg(QString::number(infos_map["_030305"]))
+ .arg(QString::number(infos_map["_030306"])).arg(QString::number(infos_map["_030307"])).arg(QString::number(infos_map["_030308"])).arg(QString::number(infos_map["_030310"])).arg(QString::number(infos_map["_030400"]))
+ .arg(QString::number(infos_map["_030500"])).arg(QString::number(infos_map["_030510"])).arg(QString::number(infos_map["_030520"])).arg(QString::number(infos_map["_030521"])).arg(QString::number(infos_map["_030522"]))
+ .arg(QString::number(infos_map["_030523"])).arg(QString::number(infos_map["_030524"])).arg(QString::number(infos_map["_030525"])).arg(QString::number(infos_map["_030526"])).arg(QString::number(infos_map["_030527"]))
+ .arg(QString::number(infos_map["_030528"])).arg(QString::number(infos_map["_030600"])).arg(QString::number(infos_map["_030610"])).arg(QString::number(infos_map["_030620"])).arg(QString::number(infos_map["_030621"]))
+ .arg(QString::number(infos_map["_030622"])).arg(QString::number(infos_map["_030623"])).arg(QString::number(infos_map["_030624"])).arg(QString::number(infos_map["_030700"])).arg(QString::number(infos_map["_030701"]))
+ .arg(QString::number(infos_map["_030702"])).arg(QString::number(infos_map["_030703"])).arg(QString::number(infos_map["_030704"])).arg(QString::number(infos_map["_030705"])).arg(QString::number(infos_map["_030706"]))
+ .arg(QString::number(infos_map["_030800"])).arg(QString::number(infos_map["_030801"])).arg(QString::number(infos_map["_030802"])).arg(QString::number(infos_map["_030803"])).arg(QString::number(infos_map["_030804"]))
+ .arg(QString::number(infos_map["_030900"])).arg(QString::number(infos_map["_030901"])).arg(QString::number(infos_map["_030902"])).arg(QString::number(infos_map["_030903"])).arg(QString::number(infos_map["_031000"]))
+ .arg(QString::number(infos_map["_031001"])).arg(comType).arg(year);
+
+ qDebug()<<"mergeSQLInser:"<<mergeSQLInser;
+
+ if(query.exec(mergeSQLInser)){
+ qDebug()<<"mergeSQLInser 鎴愬姛";
+ // 鎴愬姛浜嗭紝璋冪敤鏌ヨ鏉ュ埛鏂拌〃鏍兼煡鐪�
+ on_pushButton_search_clicked();
+ }else{
+ qDebug()<<"mergeSQLInser 澶辫触";
+ }
+
+ }else{
+ // 宸茬粡鏈夋暟鎹簡锛岄渶瑕佹洿鏂�
+ QString mergeSQLUpdate = QString("update comprehensive_entry_info set _030300='%1',_030301='%2'"
+ ",_030302='%3',_030303='%4',_030304='%5',_030305='%6',_030306='%7',_030307='%8',_030308='%9',_030310='%10',_030400='%11',_030500='%12'"
+ ",_030510='%13',_030520='%14',_030521='%15',_030522='%16',_030523='%17',_030524='%18',_030525='%19',_030526='%20',_030527='%21',_030528='%22'"
+ ",_030600='%23',_030610='%24',_030620='%25',_030621='%26',_030622='%27',_030623='%28',_030624='%29',_030700='%30',_030701='%31',_030702='%32'"
+ ",_030703='%33',_030704='%34',_030705='%35',_030706='%36',_030800='%37',_030801='%38',_030802='%39',_030803='%40',_030804='%41',_030900='%42'"
+ ",_030901='%43',_030902='%44',_030903='%45',_031000='%46',_031001='%47' where name='%48' and year='%49' and company_type='%50'").arg(QString::number(infos_map["_030300"]))
+ .arg(QString::number(infos_map["_030301"])).arg(QString::number(infos_map["_030302"])).arg(QString::number(infos_map["_030303"])).arg(QString::number(infos_map["_030304"])).arg(QString::number(infos_map["_030305"]))
+ .arg(QString::number(infos_map["_030306"])).arg(QString::number(infos_map["_030307"])).arg(QString::number(infos_map["_030308"])).arg(QString::number(infos_map["_030310"])).arg(QString::number(infos_map["_030400"]))
+ .arg(QString::number(infos_map["_030500"])).arg(QString::number(infos_map["_030510"])).arg(QString::number(infos_map["_030520"])).arg(QString::number(infos_map["_030521"])).arg(QString::number(infos_map["_030522"]))
+ .arg(QString::number(infos_map["_030523"])).arg(QString::number(infos_map["_030524"])).arg(QString::number(infos_map["_030525"])).arg(QString::number(infos_map["_030526"])).arg(QString::number(infos_map["_030527"]))
+ .arg(QString::number(infos_map["_030528"])).arg(QString::number(infos_map["_030600"])).arg(QString::number(infos_map["_030610"])).arg(QString::number(infos_map["_030620"])).arg(QString::number(infos_map["_030621"]))
+ .arg(QString::number(infos_map["_030622"])).arg(QString::number(infos_map["_030623"])).arg(QString::number(infos_map["_030624"])).arg(QString::number(infos_map["_030700"])).arg(QString::number(infos_map["_030701"]))
+ .arg(QString::number(infos_map["_030702"])).arg(QString::number(infos_map["_030703"])).arg(QString::number(infos_map["_030704"])).arg(QString::number(infos_map["_030705"])).arg(QString::number(infos_map["_030706"]))
+ .arg(QString::number(infos_map["_030800"])).arg(QString::number(infos_map["_030801"])).arg(QString::number(infos_map["_030802"])).arg(QString::number(infos_map["_030803"])).arg(QString::number(infos_map["_030804"]))
+ .arg(QString::number(infos_map["_030900"])).arg(QString::number(infos_map["_030901"])).arg(QString::number(infos_map["_030902"])).arg(QString::number(infos_map["_030903"])).arg(QString::number(infos_map["_031000"]))
+ .arg(QString::number(infos_map["_031001"])).arg(name).arg(year).arg(comType);
+
+ qDebug()<<"mergeSQLUpdate:"<<mergeSQLUpdate;
+ if(query.exec(mergeSQLUpdate)){
+ qDebug()<<"mergeSQLUpdate 鎴愬姛";
+ // 鎴愬姛浜嗭紝璋冪敤鏌ヨ鏉ュ埛鏂拌〃鏍兼煡鐪�
+ on_pushButton_search_clicked();
+ }else{
+ qDebug()<<"mergeSQLUpdate 澶辫触";
+ }
+ }
+ }
+ }
+
+
+}
+
+void ClientMainWindow::on_pushButton_search_clicked()
+{
+ // 鏌ヨ缁煎悎琛紝杩涜灞曠ず 鏉′欢鏄� 鍚嶅瓧鍜屽勾浠�
+ // 鏍规嵁鍏徃鍚嶆潵銆佸勾浠芥煡璇㈡墍鏈夌殑鏁版嵁锛屾牴鎹煡璇㈠埌鐨勪紒涓氱被鍨嬫潵缁欐寚瀹氱殑鍒楀啓鍏ユ暟鎹�
+ QString name = ui->comboBox_company->currentText();
+ QString year = ui->dateEdit_year->text();
+ QString sql = QString("select * from comprehensive_entry_info where name='%1' and year='%2'").arg(name).arg(year);
+
+ // 鍏堟竻绌鸿〃鏍�
+ for(int i=4;i<9;++i){
+ for(int j=30;j<78;++j){
+ ui->tableWidget->setItem(j,i,new QTableWidgetItem("0"));
+ }
+ }
+
+ // 鍐嶆墽琛屾煡璇�
+ QSqlQuery query;
+ if(query.exec(sql))
+ {
+ qDebug()<<"鏌ヨ鍒扮患鍚堣〃淇℃伅:"<<name;
+ int row=0;
+ while(query.next()){ // 娣诲姞缁撴灉闆�
+ row++;
+ QString com_type = query.value(78).toString();
+ int column_index = 4;
+ if(com_type == "浼佷笟(涓嶅惈閲戣瀺浼佷笟)"){
+ column_index = 4;
+ }else if(com_type == "閲戣瀺浼佷笟"){
+ column_index = 5;
+ }else if(com_type == "鏈哄叧"){
+ column_index = 6;
+ }else if(com_type == "浜嬩笟鍗曚綅"){
+ column_index = 7;
+ }else if(com_type == "鍏朵粬"){
+ column_index = 8;
+ }
+ qDebug()<<"鎵�鍦ㄥ垪:"<<column_index;
+ // 缁欐瘡椤硅祴鍊�
+ for(int i=31;i<78;++i){
+ ui->tableWidget->setItem(i-1,column_index,new QTableWidgetItem(query.value(i).toString()));
+ }
+ }
+ qDebug()<<"row:"<<row;
+ if(row == 0){
+ // 灏辫娓呯┖鐩墠鎵�鏈夌殑鍐呭锛岄兘缃负0
+ for(int i=4;i<9;++i){
+ for(int j=30;j<78;++j){
+ ui->tableWidget->setItem(j,i,new QTableWidgetItem("0"));
+ }
+ }
+ }
+ }else{
+ qDebug()<<"娌℃湁鏌ヨ鍒扮患鍚堣〃淇℃伅:"<<name;
+ }
+}
diff --git a/internal_system_v1/clientmainwindow.h b/internal_system_v1/clientmainwindow.h
index 3640fca..315aa15 100644
--- a/internal_system_v1/clientmainwindow.h
+++ b/internal_system_v1/clientmainwindow.h
@@ -94,6 +94,12 @@
void on_pushButton_save_export_clicked();
+ void on_comboBox_company_currentTextChanged(const QString &arg1);
+
+ void on_pushButton_merge_3And1_clicked();
+
+ void on_pushButton_search_clicked();
+
signals:
void sendDataToAuditProject(QVariantList);
void sendDataToAuditWorkLoad(QVariantList);
diff --git a/internal_system_v1/clientmainwindow.ui b/internal_system_v1/clientmainwindow.ui
index 873e317..ad69ae9 100644
--- a/internal_system_v1/clientmainwindow.ui
+++ b/internal_system_v1/clientmainwindow.ui
@@ -209,11 +209,82 @@
</attribute>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
- <widget class="QComboBox" name="comboBox_company">
- <property name="editable">
- <bool>true</bool>
- </property>
- </widget>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>涓讳綋鍚嶇О:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboBox_company">
+ <property name="minimumSize">
+ <size>
+ <width>400</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>骞村害:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDateEdit" name="dateEdit_year">
+ <property name="dateTime">
+ <datetime>
+ <hour>0</hour>
+ <minute>0</minute>
+ <second>0</second>
+ <year>2024</year>
+ <month>1</month>
+ <day>1</day>
+ </datetime>
+ </property>
+ <property name="displayFormat">
+ <string>yyyy</string>
+ </property>
+ <property name="calendarPopup">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_merge_3And1">
+ <property name="text">
+ <string>鍚堝苟</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_search">
+ <property name="text">
+ <string>鏌ヨ</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item row="1" column="0">
<widget class="QTableWidget" name="tableWidget">
@@ -4205,6 +4276,16 @@
</widget>
</item>
<item>
+ <widget class="QCheckBox" name="checkBox">
+ <property name="text">
+ <string>鑷姩娓呴櫎</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>姹囨�讳慨鏀瑰畬鎴愮偣鍑绘寜閽�--></string>
diff --git a/internal_system_v1/converinfo2.cpp b/internal_system_v1/converinfo2.cpp
index 31a3900..b9e8c48 100644
--- a/internal_system_v1/converinfo2.cpp
+++ b/internal_system_v1/converinfo2.cpp
@@ -100,9 +100,9 @@
{
if(m_curItem==nullptr)return;
qDebug()<<"鍒犻櫎鍏徃淇℃伅,鑺傜偣锛�"<<m_curItem->text(0);
- auto resList = m_curItem->takeChildren();
+ //auto resList = m_curItem->takeChildren();
- qDebug()<<"鍒犻櫎鏁伴噺:"<<resList.size();
+ //qDebug()<<"鍒犻櫎鏁伴噺:"<<resList.size();
// 鍒犻櫎鏁版嵁搴撹〃閲岄潰瀵瑰簲鐨勫叕鍙镐俊鎭紝骞朵笖鍐嶆鍒锋柊涓嬫媺妗嗗拰鏍戠姸鍥�
@@ -121,9 +121,43 @@
deleteAllByName(name);
// 鍒犻櫎瀹屼簡锛岃繕寰楀幓鍒锋柊涓嬫媺妗�
+ for(auto it=m_nameAndComInfos.begin();it!=m_nameAndComInfos.end();){
+ if(it.key() == name){
+ m_nameAndComInfos.erase(it++);
+ break;
+ }else{
+ it++;
+ }
+ }
+
// 鍘诲埛鏂版爲褰㈠浘
+ for(auto it=m_treeNodes.begin();it!=m_treeNodes.end();){
+ // 濡傛灉绛変簬閿紝閭d箞瑕佸垹闄ゅ搴旂殑鎵�鏈夌殑鍊�
+ if(it.key() == name){
+ // 鎶婃墍鏈夌殑鍊煎搴旂殑鍗曚綅淇℃伅閮藉垹鎺�
+ for(auto str:it.value()){
+ auto p = m_nameAndComInfos.find(str);
+ if(p != m_nameAndComInfos.end()){
+ deleteAllByName(str); // 杩樺緱鍐嶅垹鎺夋暟鎹簱涓殑鍐呭
+ m_nameAndComInfos.erase(p);
+ }
+ }
+ m_treeNodes.erase(it++);
+ break;
+ }
+ // 鍙槸鏌愪釜鍊硷紝鍙垹闄や竴涓嵆鍙�,閬嶅巻鍊奸噷闈㈢殑杩唬鍣紝鎵惧埌鍒犻櫎鍗冲彲
+ else{
+ auto p = it.value().find(name);
+ if(p != it.value().end()){
+ it.value().erase(p);
+ }
+ it++;
+ }
+ }
+ emit updateComboListSignal(m_nameAndComInfos);
+ createTreeNode();
}
@@ -800,11 +834,13 @@
if(upName.isValid()){
if(name.isValid()){
- m_treeNodes[upName.toString()].push_back(name.toString());
+ //m_treeNodes[upName.toString()].push_back(name.toString());
+ m_treeNodes[upName.toString()].insert(name.toString());
}
}else{
if(name.isValid()){
- m_treeNodes[name.toString()].push_back(name.toString());
+ //m_treeNodes[name.toString()].push_back(name.toString());
+ m_treeNodes[name.toString()].insert(name.toString());
}
}
@@ -1673,6 +1709,9 @@
}
void ConverInfo2::createTreeNode(){
+ // 鍏堟竻闄ゅ綋鍓嶆爲涓婄殑鎵�鏈夎妭鐐�
+ ui->treeWidget->clear();
+
qDebug()<<"鏋勫缓鏍戝舰鍒楄〃"<<m_treeNodes.size();
for(auto iter=m_treeNodes.begin();iter != m_treeNodes.end();iter++)
{
@@ -1939,9 +1978,15 @@
// 瀛樺悕瀛楀埌鍗曚綅鏍憁ap
QString upName = query.value(21).toString();
if(!upName.isEmpty()){
- m_treeNodes[upName].push_back(name);
+ //m_treeNodes[upName].push_back(name);
+ m_treeNodes[upName].insert(name);
}else{
- m_treeNodes[name].push_back(name);
+ //m_treeNodes[name].push_back(name);
+ //m_treeNodes[upName].insert(name);
+ if(!name.isEmpty()){
+ //m_treeNodes[name.toString()].push_back(name.toString());
+ m_treeNodes[name].insert(name);
+ }
}
qDebug()<<"name"<<name<<"upName"<<upName;
diff --git a/internal_system_v1/converinfo2.h b/internal_system_v1/converinfo2.h
index bbfe8f3..6bf7b02 100644
--- a/internal_system_v1/converinfo2.h
+++ b/internal_system_v1/converinfo2.h
@@ -65,7 +65,7 @@
QMenu *m_menu;
QTreeWidgetItem *m_curItem;
QMap<QString,ComInfo> m_nameAndComInfos; // 鍗曚綅鏄犲皠淇℃伅琛�
- QMap<QString,QVector<QString>> m_treeNodes; // 鍗曚綅鏍戝舰淇℃伅琛�
+ QMap<QString,QSet<QString>> m_treeNodes; // 鍗曚綅鏍戝舰淇℃伅琛�
};
#endif // CONVERINFO2_H
diff --git a/internal_system_v1/exporttofile.cpp b/internal_system_v1/exporttofile.cpp
index 252144e..366e933 100644
--- a/internal_system_v1/exporttofile.cpp
+++ b/internal_system_v1/exporttofile.cpp
@@ -381,8 +381,7 @@
if(savePath.size() > 0){
QAxObject excel("ket.Application");
- if(!excel.setControl("ket"
- ".Application")){ // windows鍐呮牳
+ if(!excel.setControl("ket.Application")){ // windows鍐呮牳
excel.setControl("Excel.Application"); // wps鍐呮牳
}
@@ -390,6 +389,7 @@
excel.setProperty("DisplayAlerts",false);
QAxObject * wbs = excel.querySubObject("WorkBooks");
qDebug()<<"wbs:"<<wbs->className();
+ //QAxObject * wb = wbs->querySubObject("Open(QString&)",demoPath);
QAxObject * wb = wbs->querySubObject("Open(QString&)",demoPath);
qDebug()<<"wb open ok";
QAxObject * shs = wb->querySubObject("WorkSheets"); // WorkSheets 涔熷彲浠�
diff --git a/internal_system_v1/searchinfo.cpp b/internal_system_v1/searchinfo.cpp
index 7e42287..09ed7fd 100644
--- a/internal_system_v1/searchinfo.cpp
+++ b/internal_system_v1/searchinfo.cpp
@@ -237,7 +237,8 @@
_030903 TEXT,\
_031000 TEXT,\
_031001 TEXT,\
- company_type TEXT)").arg(tableName);
+ company_type TEXT,\
+ year TEXT)").arg(tableName);
QSqlQuery query;
if(query.exec(sql))
{
--
Gitblit v1.8.0