DBServiceSet.cpp 114 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799
  1. #include "DBServiceSet.h"
  2. #include "SqlDBHelper.h"
  3. #include <QDebug>
  4. DBServiceSet::DBServiceSet(QObject *parent) { }
  5. //////////////////////common-start////////////////////
  6. int DBServiceSet::getNextId(QString tableName)
  7. {
  8. int nextId = -1;
  9. try {
  10. Transaction t(SqlDBHelper::getDatabase());
  11. QString selectSql = QString("SELECT seq from sqlite_sequence WHERE name = '%1'").arg(tableName);
  12. QueryResult queryResult = t.execQuery(selectSql);
  13. if (queryResult.next()) {
  14. nextId = queryResult.value(0).toInt() + 1;
  15. }
  16. } catch (const DBException &ex) {
  17. qDebug() << ex.lastError.text();
  18. }
  19. return nextId;
  20. }
  21. //////////////////////common-end////////////////////
  22. //////////////////////节点权重值持久化-start////////////////////
  23. bool DBServiceSet::AddNodeWeightInfo(const DemandWeight &demandWeight)
  24. {
  25. bool ret = false;
  26. try {
  27. Transaction t(SqlDBHelper::getDatabase());
  28. InsertQuery q = t.insertInto("t_demand_weight (engineer_id,expert_id, node_name, node_weight, "
  29. "node_value,table_index )");
  30. q.values(demandWeight.engineerId, demandWeight.expertId, demandWeight.nodeName, demandWeight.nodeWeight,
  31. demandWeight.nodeValue, demandWeight.tableIndex)
  32. .exec();
  33. t.commit();
  34. ret = true;
  35. } catch (const DBException &ex) {
  36. qDebug() << ex.lastError.text();
  37. }
  38. return ret;
  39. }
  40. /*批量节点信息新增*/
  41. bool DBServiceSet::AddNodeWeightInfoList(const QList<DemandWeight *> &demandWeightList)
  42. {
  43. bool ret = false;
  44. try {
  45. Transaction t(SqlDBHelper::getDatabase());
  46. for (int i = 0; i < demandWeightList.length(); i++) {
  47. DemandWeight *demandWeight = demandWeightList.at(i);
  48. InsertQuery q = t.insertInto("t_demand_weight (engineer_id,expert_id, node_name, node_weight, "
  49. "node_value,table_index,table_msg,is_valid,page_index )");
  50. q.values(demandWeight->engineerId, demandWeight->expertId, demandWeight->nodeName, demandWeight->nodeWeight,
  51. demandWeight->nodeValue, demandWeight->tableIndex, demandWeight->tableMsg, demandWeight->isValid,
  52. demandWeight->pageIndex)
  53. .exec();
  54. t.commit();
  55. }
  56. ret = true;
  57. } catch (const DBException &ex) {
  58. qDebug() << ex.lastError.text();
  59. }
  60. return ret;
  61. }
  62. /*修改节点值*/
  63. bool DBServiceSet::UpdateNodeValue(const DemandWeight &demandWeight)
  64. {
  65. bool ret = false;
  66. try {
  67. Transaction t(SqlDBHelper::getDatabase());
  68. t.update("t_demand_weight")
  69. .set("NODE_VALUE", demandWeight.nodeValue)
  70. .set("NODE_WEIGHT", demandWeight.nodeWeight)
  71. .where("ENGINEER_ID = ? and expert_id = ? and node_name = ? ", demandWeight.engineerId,
  72. demandWeight.expertId, demandWeight.nodeName);
  73. t.commit();
  74. ret = true;
  75. } catch (const DBException &ex) {
  76. qDebug() << ex.lastError.text();
  77. }
  78. return ret;
  79. }
  80. bool DBServiceSet::UpdateNodeValueList(const QList<DemandWeight *> demandWeightList)
  81. {
  82. QSqlDatabase db = SqlDBHelper::getDatabase();
  83. QSqlQuery query(db);
  84. bool ret = false;
  85. for (int i = 0; i < demandWeightList.length(); i++) {
  86. DemandWeight *demandWeight = demandWeightList.at(i);
  87. QString updateSql = QString("UPDATE t_demand_weight SET NODE_VALUE ='%1' , NODE_WEIGHT = '%2' "
  88. "WHERE ENGINEER_ID =%3 AND expert_id =%4"
  89. " AND node_name = '%5' AND table_index =%6 and table_msg ='%7' and page_index=%8")
  90. .arg(demandWeight->nodeValue)
  91. .arg(demandWeight->nodeWeight)
  92. .arg(demandWeight->engineerId)
  93. .arg(demandWeight->expertId)
  94. .arg(demandWeight->nodeName)
  95. .arg(demandWeight->tableIndex)
  96. .arg(demandWeight->tableMsg)
  97. .arg(demandWeight->pageIndex);
  98. // qDebug() << updateSql;
  99. query.exec(updateSql);
  100. ret = true;
  101. }
  102. return ret;
  103. }
  104. bool DBServiceSet::QueryByTableIndexAndTableMsg(int expertId, int engineerId, int tableIndex, QString tableMsg)
  105. {
  106. QSqlDatabase db = SqlDBHelper::getDatabase();
  107. QSqlQuery query(db);
  108. bool ret = false;
  109. QString selectSql = QString("select * from t_demand_weight where expert_id "
  110. "=%1 and engineer_id =%2 and table_index=%3 and table_msg='%4'")
  111. .arg(QString::number(expertId))
  112. .arg(QString::number(engineerId))
  113. .arg(QString::number(tableIndex))
  114. .arg(tableMsg);
  115. // qDebug() << "sql===" << selectSql;
  116. if (query.exec(selectSql)) {
  117. if (query.next()) {
  118. ret = true;
  119. }
  120. } else {
  121. qDebug() << query.lastError();
  122. }
  123. return ret;
  124. }
  125. bool DBServiceSet::QueryByTableIndexAndTableMsg(QString expertId, int engineerId, int tableIndex, QString tableMsg)
  126. {
  127. QSqlDatabase db = SqlDBHelper::getDatabase();
  128. QSqlQuery query(db);
  129. bool ret = false;
  130. QString selectSql = QString("select * from t_demand_weight where expert_id "
  131. "='%1' and engineer_id =%2 and table_index=%3 and table_msg='%4'")
  132. .arg(expertId)
  133. .arg(QString::number(engineerId))
  134. .arg(QString::number(tableIndex))
  135. .arg(tableMsg);
  136. // qDebug() << "sql===" << selectSql;
  137. if (query.exec(selectSql)) {
  138. if (query.next()) {
  139. ret = true;
  140. }
  141. } else {
  142. qDebug() << query.lastError();
  143. }
  144. return ret;
  145. }
  146. bool DBServiceSet::QueryByTableIndexAndTableMsgAndPage(QString expertId, int engineerId, int tableIndex,
  147. QString tableMsg, int page)
  148. {
  149. QSqlDatabase db = SqlDBHelper::getDatabase();
  150. QSqlQuery query(db);
  151. bool ret = false;
  152. QString selectSql = QString("select * from t_demand_weight where expert_id "
  153. "='%1' and engineer_id =%2 and table_index=%3 and table_msg='%4' and page_index=%5")
  154. .arg(expertId)
  155. .arg(QString::number(engineerId))
  156. .arg(QString::number(tableIndex))
  157. .arg(tableMsg)
  158. .arg(page);
  159. // qDebug() << "sql===" << selectSql;
  160. if (query.exec(selectSql)) {
  161. if (query.next()) {
  162. ret = true;
  163. }
  164. } else {
  165. qDebug() << query.lastError();
  166. }
  167. return ret;
  168. }
  169. bool DBServiceSet::QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, int expertId, int engineerId,
  170. int tableIndex, QString tableMsg)
  171. {
  172. QSqlDatabase db = SqlDBHelper::getDatabase();
  173. QSqlQuery query(db);
  174. bool ret = false;
  175. QString selectSql = QString("select * from t_demand_weight where expert_id "
  176. "=%1 and engineer_id =%2 and table_index=%3 and table_msg='%4'")
  177. .arg(QString::number(expertId))
  178. .arg(QString::number(engineerId))
  179. .arg(QString::number(tableIndex))
  180. .arg(tableMsg);
  181. // qDebug() << "sql=" << selectSql;
  182. if (query.exec(selectSql)) {
  183. while (query.next()) {
  184. if (query.isNull(0) == false) {
  185. DemandWeight *demandWeight = new DemandWeight();
  186. demandWeight->id = query.value(0).toInt();
  187. demandWeight->engineerId = query.value(1).toInt();
  188. demandWeight->expertId = query.value(2).toInt();
  189. demandWeight->nodeName = query.value(3).toString();
  190. demandWeight->nodeValue = query.value(4).toDouble();
  191. demandWeight->nodeWeight = query.value(5).toDouble();
  192. demandWeight->tableIndex = query.value(6).toInt();
  193. demandWeight->tableMsg = query.value(7).toString();
  194. demandWeightList->append(demandWeight);
  195. }
  196. ret = true;
  197. }
  198. } else {
  199. qDebug() << query.lastError();
  200. }
  201. return ret;
  202. }
  203. bool DBServiceSet::QueryByTableIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId,
  204. int engineerId, int tableIndex, QString tableMsg)
  205. {
  206. QSqlDatabase db = SqlDBHelper::getDatabase();
  207. QSqlQuery query(db);
  208. bool ret = false;
  209. QString selectSql = QString("select * from t_demand_weight where expert_id "
  210. "='%1' and engineer_id =%2 and table_index=%3 and table_msg='%4'")
  211. .arg(expertId)
  212. .arg(QString::number(engineerId))
  213. .arg(QString::number(tableIndex))
  214. .arg(tableMsg);
  215. // qDebug() << "sql=" << selectSql;
  216. if (query.exec(selectSql)) {
  217. while (query.next()) {
  218. if (query.isNull(0) == false) {
  219. DemandWeight *demandWeight = new DemandWeight();
  220. demandWeight->id = query.value(0).toInt();
  221. demandWeight->engineerId = query.value(1).toInt();
  222. demandWeight->expertId = query.value(2).toInt();
  223. demandWeight->nodeName = query.value(3).toString();
  224. demandWeight->nodeValue = query.value(4).toDouble();
  225. demandWeight->nodeWeight = query.value(5).toDouble();
  226. demandWeight->tableIndex = query.value(6).toInt();
  227. demandWeight->tableMsg = query.value(7).toString();
  228. demandWeightList->append(demandWeight);
  229. }
  230. ret = true;
  231. }
  232. } else {
  233. qDebug() << query.lastError();
  234. }
  235. return ret;
  236. }
  237. bool DBServiceSet::QueryByPageIndexAndTableMsg(QList<DemandWeight *> *demandWeightList, QString expertId,
  238. int engineerId, int pageIndex, QString tableMsg)
  239. {
  240. QSqlDatabase db = SqlDBHelper::getDatabase();
  241. QSqlQuery query(db);
  242. bool ret = false;
  243. QString selectSql = QString("select * from t_demand_weight where expert_id "
  244. "='%1' and engineer_id =%2 and page_index=%3 and table_msg='%4'")
  245. .arg(expertId)
  246. .arg(QString::number(engineerId))
  247. .arg(QString::number(pageIndex))
  248. .arg(tableMsg);
  249. // qDebug() << "sql=" << selectSql;
  250. if (query.exec(selectSql)) {
  251. while (query.next()) {
  252. if (query.isNull(0) == false) {
  253. DemandWeight *demandWeight = new DemandWeight();
  254. demandWeight->id = query.value(0).toInt();
  255. demandWeight->engineerId = query.value(1).toInt();
  256. demandWeight->expertId = query.value(2).toInt();
  257. demandWeight->nodeName = query.value(3).toString();
  258. demandWeight->nodeValue = query.value(4).toDouble();
  259. demandWeight->nodeWeight = query.value(5).toDouble();
  260. demandWeight->tableIndex = query.value(6).toInt();
  261. demandWeight->tableMsg = query.value(7).toString();
  262. demandWeightList->append(demandWeight);
  263. }
  264. ret = true;
  265. }
  266. } else {
  267. qDebug() << query.lastError();
  268. }
  269. return ret;
  270. }
  271. bool DBServiceSet::updateValidByExperIdAndEngineerId(int expertId, int engineerId)
  272. {
  273. QSqlDatabase db = SqlDBHelper::getDatabase();
  274. QSqlQuery query(db);
  275. bool ret = false;
  276. try {
  277. QString updateSql = QString("UPDATE t_demand_weight SET is_valid =1 "
  278. "WHERE ENGINEER_ID =%1 AND expert_id =%2")
  279. .arg(engineerId)
  280. .arg(expertId);
  281. // qDebug() << updateSql;
  282. query.exec(updateSql);
  283. ret = true;
  284. } catch (const DBException &ex) {
  285. qDebug() << ex.lastError.text();
  286. }
  287. return ret;
  288. }
  289. bool DBServiceSet::QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
  290. int engineerId, QString tableMsg)
  291. {
  292. QSqlDatabase db = SqlDBHelper::getDatabase();
  293. QSqlQuery query(db);
  294. bool ret = false;
  295. QString selectSql = QString("select * from t_demand_weight where expert_id "
  296. "=%1 and engineer_id =%2 and table_msg = "
  297. "'%3' and table_index = 0")
  298. .arg(QString::number(expertId))
  299. .arg(QString::number(engineerId))
  300. .arg(tableMsg);
  301. // qDebug() << "sql=" << selectSql;
  302. if (query.exec(selectSql)) {
  303. while (query.next()) {
  304. if (query.isNull(0) == false) {
  305. DemandWeight *demandWeight = new DemandWeight();
  306. demandWeight->id = query.value(0).toInt();
  307. demandWeight->engineerId = query.value(1).toInt();
  308. demandWeight->expertId = query.value(2).toInt();
  309. demandWeight->nodeName = query.value(3).toString();
  310. demandWeight->nodeValue = query.value(4).toDouble();
  311. demandWeight->nodeWeight = query.value(5).toDouble();
  312. demandWeight->tableIndex = query.value(6).toInt();
  313. demandWeightList->append(demandWeight);
  314. }
  315. ret = true;
  316. }
  317. } else {
  318. qDebug() << query.lastError();
  319. }
  320. return ret;
  321. }
  322. bool DBServiceSet::QueryLastDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
  323. int engineerId, QString tableMsg, int tableIndex)
  324. {
  325. QSqlDatabase db = SqlDBHelper::getDatabase();
  326. QSqlQuery query(db);
  327. bool ret = false;
  328. QString selectSql = QString("select * from t_demand_weight where expert_id "
  329. "=%1 and engineer_id =%2 and table_msg = "
  330. "'%3' and table_index = %4")
  331. .arg(QString::number(expertId))
  332. .arg(QString::number(engineerId))
  333. .arg(tableMsg)
  334. .arg(QString::number(tableIndex));
  335. qDebug() << "sql=" << selectSql;
  336. if (query.exec(selectSql)) {
  337. while (query.next()) {
  338. if (query.isNull(0) == false) {
  339. DemandWeight *demandWeight = new DemandWeight();
  340. demandWeight->id = query.value(0).toInt();
  341. demandWeight->engineerId = query.value(1).toInt();
  342. demandWeight->expertId = query.value(2).toInt();
  343. demandWeight->nodeName = query.value(3).toString();
  344. demandWeight->nodeValue = query.value(4).toDouble();
  345. demandWeight->nodeWeight = query.value(5).toDouble();
  346. demandWeight->tableIndex = query.value(6).toInt();
  347. demandWeightList->append(demandWeight);
  348. }
  349. ret = true;
  350. }
  351. } else {
  352. qDebug() << query.lastError();
  353. }
  354. return ret;
  355. }
  356. bool DBServiceSet::QueryFirstDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
  357. int engineerId, QString tableMsg)
  358. {
  359. QSqlDatabase db = SqlDBHelper::getDatabase();
  360. QSqlQuery query(db);
  361. bool ret = false;
  362. QString selectSql = QString("select * from t_demand_weight where expert_id "
  363. "='%1' and engineer_id =%2 and table_msg = "
  364. "'%3' and table_index = 0")
  365. .arg(expertId)
  366. .arg(QString::number(engineerId))
  367. .arg(tableMsg);
  368. // qDebug() << "sql=" << selectSql;
  369. if (query.exec(selectSql)) {
  370. while (query.next()) {
  371. if (query.isNull(0) == false) {
  372. DemandWeight *demandWeight = new DemandWeight();
  373. demandWeight->id = query.value(0).toInt();
  374. demandWeight->engineerId = query.value(1).toInt();
  375. demandWeight->expertId = query.value(2).toInt();
  376. demandWeight->nodeName = query.value(3).toString();
  377. demandWeight->nodeValue = query.value(4).toDouble();
  378. demandWeight->nodeWeight = query.value(5).toDouble();
  379. demandWeight->tableIndex = query.value(6).toInt();
  380. demandWeightList->append(demandWeight);
  381. }
  382. ret = true;
  383. }
  384. } else {
  385. qDebug() << query.lastError();
  386. }
  387. return ret;
  388. }
  389. bool DBServiceSet::QueryLastPageDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
  390. int engineerId, QString tableMsg, int page)
  391. {
  392. QSqlDatabase db = SqlDBHelper::getDatabase();
  393. QSqlQuery query(db);
  394. bool ret = false;
  395. QString selectSql = QString("select * from t_demand_weight where expert_id "
  396. "='%1' and engineer_id =%2 and table_msg = "
  397. "'%3' and page_index = %4")
  398. .arg(expertId)
  399. .arg(QString::number(engineerId))
  400. .arg(tableMsg)
  401. .arg(page);
  402. // qDebug() << "sql=" << selectSql;
  403. if (query.exec(selectSql)) {
  404. while (query.next()) {
  405. if (query.isNull(0) == false) {
  406. DemandWeight *demandWeight = new DemandWeight();
  407. demandWeight->id = query.value(0).toInt();
  408. demandWeight->engineerId = query.value(1).toInt();
  409. demandWeight->expertId = query.value(2).toInt();
  410. demandWeight->nodeName = query.value(3).toString();
  411. demandWeight->nodeValue = query.value(4).toDouble();
  412. demandWeight->nodeWeight = query.value(5).toDouble();
  413. demandWeight->tableIndex = query.value(6).toInt();
  414. demandWeightList->append(demandWeight);
  415. }
  416. ret = true;
  417. }
  418. } else {
  419. qDebug() << query.lastError();
  420. }
  421. return ret;
  422. }
  423. bool DBServiceSet::QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, int expertId,
  424. int engineerId, QString tableMsg)
  425. {
  426. QSqlDatabase db = SqlDBHelper::getDatabase();
  427. QSqlQuery query(db);
  428. bool ret = false;
  429. QString selectSql = QString("select * from t_demand_weight where expert_id "
  430. "=%1 and engineer_id =%2 and table_msg = "
  431. "'%3' and table_index != 0")
  432. .arg(QString::number(expertId))
  433. .arg(QString::number(engineerId))
  434. .arg(tableMsg);
  435. // qDebug() << "sql=" << selectSql;
  436. if (query.exec(selectSql)) {
  437. while (query.next()) {
  438. if (query.isNull(0) == false) {
  439. DemandWeight *demandWeight = new DemandWeight();
  440. demandWeight->id = query.value(0).toInt();
  441. demandWeight->engineerId = query.value(1).toInt();
  442. demandWeight->expertId = query.value(2).toInt();
  443. demandWeight->nodeName = query.value(3).toString();
  444. demandWeight->nodeValue = query.value(4).toDouble();
  445. demandWeight->nodeWeight = query.value(5).toDouble();
  446. demandWeight->tableIndex = query.value(6).toInt();
  447. demandWeightList->append(demandWeight);
  448. }
  449. ret = true;
  450. }
  451. } else {
  452. qDebug() << query.lastError();
  453. }
  454. return ret;
  455. }
  456. bool DBServiceSet::QuerySecondDemandWeightByEngineerIdAndMaxPage(QList<DemandWeight *> *demandWeightList, int expertId,
  457. int engineerId, QString tableMsg)
  458. {
  459. QSqlDatabase db = SqlDBHelper::getDatabase();
  460. QSqlQuery query(db);
  461. bool ret = false;
  462. QString selectSql = QString("select * from t_demand_weight where expert_id "
  463. "=%1 and engineer_id =%2 and table_msg = "
  464. "'%3' and page_index = (select max(page_index) from t_demand_weight where expert_id "
  465. "=%1 and engineer_id =%2 and table_msg = '%3' ) order by table_index ")
  466. .arg(QString::number(expertId))
  467. .arg(QString::number(engineerId))
  468. .arg(tableMsg);
  469. // qDebug() << "sql=" << selectSql;
  470. if (query.exec(selectSql)) {
  471. while (query.next()) {
  472. if (query.isNull(0) == false) {
  473. DemandWeight *demandWeight = new DemandWeight();
  474. demandWeight->id = query.value(0).toInt();
  475. demandWeight->engineerId = query.value(1).toInt();
  476. demandWeight->expertId = query.value(2).toInt();
  477. demandWeight->nodeName = query.value(3).toString();
  478. demandWeight->nodeValue = query.value(4).toDouble();
  479. demandWeight->nodeWeight = query.value(5).toDouble();
  480. demandWeight->tableIndex = query.value(6).toInt();
  481. demandWeightList->append(demandWeight);
  482. }
  483. ret = true;
  484. }
  485. } else {
  486. qDebug() << query.lastError();
  487. }
  488. return ret;
  489. }
  490. bool DBServiceSet::QuerySecondDemandWeightByEngineerId(QList<DemandWeight *> *demandWeightList, QString expertId,
  491. int engineerId, QString tableMsg)
  492. {
  493. QSqlDatabase db = SqlDBHelper::getDatabase();
  494. QSqlQuery query(db);
  495. bool ret = false;
  496. QString selectSql = QString("select * from t_demand_weight where expert_id "
  497. "='%1' and engineer_id =%2 and table_msg = "
  498. "'%3' and table_index != 0")
  499. .arg(expertId)
  500. .arg(QString::number(engineerId))
  501. .arg(tableMsg);
  502. // qDebug() << "sql=" << selectSql;
  503. if (query.exec(selectSql)) {
  504. while (query.next()) {
  505. if (query.isNull(0) == false) {
  506. DemandWeight *demandWeight = new DemandWeight();
  507. demandWeight->id = query.value(0).toInt();
  508. demandWeight->engineerId = query.value(1).toInt();
  509. demandWeight->expertId = query.value(2).toInt();
  510. demandWeight->nodeName = query.value(3).toString();
  511. demandWeight->nodeValue = query.value(4).toDouble();
  512. demandWeight->nodeWeight = query.value(5).toDouble();
  513. demandWeight->tableIndex = query.value(6).toInt();
  514. demandWeightList->append(demandWeight);
  515. }
  516. ret = true;
  517. }
  518. } else {
  519. qDebug() << query.lastError();
  520. }
  521. return ret;
  522. }
  523. //////////////////////common-end////////////////////
  524. /////////////////////方案持久化-start////////////////
  525. bool DBServiceSet::AddSchemeInfoList(const QList<SchemaEval *> &schemeList)
  526. {
  527. bool ret = false;
  528. try {
  529. Transaction t(SqlDBHelper::getDatabase());
  530. for (int i = 0; i < schemeList.length(); i++) {
  531. SchemaEval *scheme = schemeList.at(i);
  532. InsertQuery q = t.insertInto("t_scheme_info (engineer_id,name,remark,value_str,score)");
  533. q.values(scheme->engineerId, scheme->name, scheme->remark, scheme->valueStr, scheme->score).exec();
  534. t.commit();
  535. }
  536. ret = true;
  537. } catch (const DBException &ex) {
  538. qDebug() << ex.lastError.text();
  539. }
  540. return ret;
  541. }
  542. bool DBServiceSet::DeleteSchemeByEngineerId(int engineerId)
  543. {
  544. bool ret = false;
  545. try {
  546. Transaction t(SqlDBHelper::getDatabase());
  547. t.deleteFrom("t_scheme_info").where("engineer_id = ?", engineerId);
  548. t.commit();
  549. ret = true;
  550. } catch (const DBException &ex) {
  551. qDebug() << ex.lastError.text();
  552. }
  553. return ret;
  554. }
  555. bool DBServiceSet::QuerySchemeInfoByEngineerId(QList<SchemaEval *> *schemeList, int engineerId)
  556. {
  557. QSqlDatabase db = SqlDBHelper::getDatabase();
  558. QSqlQuery query(db);
  559. bool ret = false;
  560. QString selectSql = QString("select id,engineer_id,name,remark,value_str "
  561. ",score from t_scheme_info where "
  562. " engineer_id =%1 ")
  563. .arg(QString::number(engineerId));
  564. // qDebug() << "sql=" << selectSql;
  565. if (query.exec(selectSql)) {
  566. while (query.next()) {
  567. if (query.isNull(0) == false) {
  568. SchemaEval *scheme = new SchemaEval();
  569. scheme->id = query.value(0).toInt();
  570. scheme->engineerId = query.value(1).toInt();
  571. scheme->name = query.value(2).toString();
  572. scheme->remark = query.value(3).toString();
  573. scheme->valueStr = query.value(4).toString();
  574. scheme->score = query.value(5).toDouble();
  575. schemeList->append(scheme);
  576. }
  577. ret = true;
  578. }
  579. } else {
  580. qDebug() << query.lastError();
  581. }
  582. return ret;
  583. }
  584. ///////////////////////common-end/////////////////////
  585. //////////////////////技术重要度持久化-start////////////////////
  586. bool DBServiceSet::AddTechnicalImportInfo(const TechnicalImport &technicalImport)
  587. {
  588. bool ret = false;
  589. try {
  590. Transaction t(SqlDBHelper::getDatabase());
  591. InsertQuery q = t.insertInto("t_technical_import (engineer_id,expert_id,node_name,node_value)");
  592. q.values(technicalImport.engineerId, technicalImport.expertId, technicalImport.nodeName,
  593. technicalImport.nodeValue)
  594. .exec();
  595. t.commit();
  596. ret = true;
  597. } catch (const DBException &ex) {
  598. qDebug() << ex.lastError.text();
  599. }
  600. return ret;
  601. }
  602. /*批量节点信息新增*/
  603. bool DBServiceSet::AddTechnicalImportInfoList(const QList<TechnicalImport *> &technicalImportList)
  604. {
  605. bool ret = false;
  606. try {
  607. Transaction t(SqlDBHelper::getDatabase());
  608. for (int i = 0; i < technicalImportList.length(); i++) {
  609. TechnicalImport *technical = technicalImportList.at(i);
  610. InsertQuery q = t.insertInto("t_technical_import (engineer_id,expert_id,node_name,node_value)");
  611. q.values(technical->engineerId, technical->expertId, technical->nodeName, technical->nodeValue).exec();
  612. t.commit();
  613. }
  614. ret = true;
  615. } catch (const DBException &ex) {
  616. qDebug() << ex.lastError.text();
  617. }
  618. return ret;
  619. }
  620. bool DBServiceSet::UpdateTechnicalImportInfoList(const QList<TechnicalImport *> technicalImportList)
  621. {
  622. QSqlDatabase db = SqlDBHelper::getDatabase();
  623. QSqlQuery query(db);
  624. bool ret = false;
  625. for (int i = 0; i < technicalImportList.length(); i++) {
  626. TechnicalImport *demandWeight = technicalImportList.at(i);
  627. QString updateSql = QString("UPDATE t_technical_import SET NODE_VALUE ='%1' "
  628. "WHERE ENGINEER_ID =%2 AND expert_id =%3"
  629. " AND node_name = '%4' ")
  630. .arg(demandWeight->nodeValue)
  631. .arg(demandWeight->engineerId)
  632. .arg(demandWeight->expertId)
  633. .arg(demandWeight->nodeName);
  634. // qDebug() << updateSql;
  635. query.exec(updateSql);
  636. ret = true;
  637. }
  638. return ret;
  639. }
  640. bool DBServiceSet::QueryTechnicalImportInfoByEngineerId(QList<TechnicalImport *> *demandWeightList, int expertId,
  641. int engineerId)
  642. {
  643. QSqlDatabase db = SqlDBHelper::getDatabase();
  644. QSqlQuery query(db);
  645. bool ret = false;
  646. QString selectSql = QString("select * from t_technical_import where "
  647. "expert_id =%1 and engineer_id =%2 ")
  648. .arg(QString::number(expertId))
  649. .arg(QString::number(engineerId));
  650. // qDebug() << "sql=" << selectSql;
  651. if (query.exec(selectSql)) {
  652. while (query.next()) {
  653. if (query.isNull(0) == false) {
  654. TechnicalImport *demandWeight = new TechnicalImport();
  655. demandWeight->id = query.value(0).toInt();
  656. demandWeight->engineerId = query.value(1).toInt();
  657. demandWeight->expertId = query.value(2).toInt();
  658. demandWeight->nodeName = query.value(3).toString();
  659. demandWeight->nodeValue = query.value(4).toDouble();
  660. demandWeightList->append(demandWeight);
  661. }
  662. ret = true;
  663. }
  664. } else {
  665. qDebug() << query.lastError();
  666. }
  667. return ret;
  668. }
  669. bool DBServiceSet::QueryTechnicalImportInfoByEngineerId(int expertId, int engineerId)
  670. {
  671. QSqlDatabase db = SqlDBHelper::getDatabase();
  672. QSqlQuery query(db);
  673. bool ret = false;
  674. QString selectSql = QString("select * from t_technical_import where "
  675. "expert_id =%1 and engineer_id =%2 ")
  676. .arg(QString::number(expertId))
  677. .arg(QString::number(engineerId));
  678. // qDebug() << "sql=" << selectSql;
  679. if (query.exec(selectSql)) {
  680. if (query.next()) {
  681. ret = true;
  682. }
  683. } else {
  684. qDebug() << query.lastError();
  685. }
  686. return ret;
  687. }
  688. //////////////////////common-end////////////////////
  689. //////////////////////节点矩阵信息表-start////////////////////
  690. bool DBServiceSet::AddNodeMatrixInfo(const NodeMatrixInfo &nodeMatrixInfo)
  691. {
  692. bool ret = false;
  693. try {
  694. Transaction t(SqlDBHelper::getDatabase());
  695. InsertQuery q = t.insertInto("t_node_matrix_info (expert_name, engineer_id, node, "
  696. "abscissa, ordinate, "
  697. "node_value, expert_id,mind_name,write_date,mark)");
  698. q.values(nodeMatrixInfo.expertName, nodeMatrixInfo.engineerId, nodeMatrixInfo.node, nodeMatrixInfo.abscissa,
  699. nodeMatrixInfo.ordinate, nodeMatrixInfo.nodeValue, nodeMatrixInfo.expertId, nodeMatrixInfo.mindId,
  700. nodeMatrixInfo.writeDate.toString(), nodeMatrixInfo.mark)
  701. .exec();
  702. t.commit();
  703. ret = true;
  704. } catch (const DBException &ex) {
  705. qDebug() << ex.lastError.text();
  706. }
  707. return ret;
  708. }
  709. /*批量节点信息新增*/
  710. bool DBServiceSet::AddNodeMatrixInfoList(const QList<NodeMatrixInfo *> &jbInfoList)
  711. {
  712. bool ret = false;
  713. try {
  714. Transaction t(SqlDBHelper::getDatabase());
  715. for (int i = 0; i < jbInfoList.length(); i++) {
  716. NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
  717. InsertQuery query = t.insertInto("t_node_matrix_info (expert_name, engineer_id, node, abscissa, "
  718. "ordinate, "
  719. "node_value, expert_id,mind_id,write_date,mark,table_msg)");
  720. query.values(nodeMatrixInfo->expertName, nodeMatrixInfo->engineerId, nodeMatrixInfo->node,
  721. nodeMatrixInfo->abscissa, nodeMatrixInfo->ordinate, nodeMatrixInfo->nodeValue,
  722. nodeMatrixInfo->expertId, nodeMatrixInfo->mindId, nodeMatrixInfo->writeDate.toString(),
  723. nodeMatrixInfo->mark, nodeMatrixInfo->tableMsg)
  724. .exec();
  725. t.commit();
  726. }
  727. ret = true;
  728. } catch (const DBException &ex) {
  729. qDebug() << ex.lastError.text();
  730. }
  731. return ret;
  732. }
  733. /*批量节点信息新增----专家端*/
  734. bool DBServiceSet::AddNodeMatrixInfoList2(const QList<NodeMatrixInfo *> &jbInfoList)
  735. {
  736. bool ret = false;
  737. try {
  738. Transaction t(SqlDBHelper::getDatabase2());
  739. for (int i = 0; i < jbInfoList.length(); i++) {
  740. NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
  741. InsertQuery query = t.insertInto("t_node_matrix_info (expert_name, engineer_id, node, abscissa, "
  742. "ordinate, "
  743. "node_value, expert_id,mind_id,write_date,mark,table_msg,tab_index)");
  744. query.values(nodeMatrixInfo->expertName, nodeMatrixInfo->engineerId, nodeMatrixInfo->node,
  745. nodeMatrixInfo->abscissa, nodeMatrixInfo->ordinate, nodeMatrixInfo->nodeValue,
  746. nodeMatrixInfo->expertId, nodeMatrixInfo->mindId, nodeMatrixInfo->writeDate.toString(),
  747. nodeMatrixInfo->mark, nodeMatrixInfo->tableMsg, nodeMatrixInfo->tabIndex)
  748. .exec();
  749. t.commit();
  750. }
  751. ret = true;
  752. } catch (const DBException &ex) {
  753. qDebug() << ex.lastError.text();
  754. }
  755. return ret;
  756. }
  757. /*修改节点值*/
  758. bool DBServiceSet::UpdateNodeMatrixNodeValue(const NodeMatrixInfo &nodeMatrixInfo)
  759. {
  760. bool ret = false;
  761. try {
  762. Transaction t(SqlDBHelper::getDatabase());
  763. t.update("t_node_matrix_info")
  764. .set("NODE_VALUE", nodeMatrixInfo.nodeValue)
  765. .where("ENGINEER_ID = ? and expert_name = and abscissa = ? and "
  766. "ordinate = ? ",
  767. nodeMatrixInfo.engineerId, nodeMatrixInfo.expertName, nodeMatrixInfo.abscissa,
  768. nodeMatrixInfo.ordinate);
  769. t.commit();
  770. ret = true;
  771. } catch (const DBException &ex) {
  772. qDebug() << ex.lastError.text();
  773. }
  774. return ret;
  775. }
  776. bool DBServiceSet::UpdateNodeMatrixNodeValueList(const QList<NodeMatrixInfo *> jbInfoList)
  777. {
  778. QSqlDatabase db = SqlDBHelper::getDatabase();
  779. QSqlQuery query(db);
  780. bool ret = false;
  781. for (int i = 0; i < jbInfoList.length(); i++) {
  782. NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
  783. QString updateSql = QString("UPDATE t_node_matrix_info SET NODE_VALUE ='%1' WHERE "
  784. "ENGINEER_ID = %2 AND expert_name = '%3'"
  785. " AND abscissa = '%4' AND ordinate = '%5' and table_msg = '%6' "
  786. "and mark = '%7'")
  787. .arg(nodeMatrixInfo->nodeValue)
  788. .arg(nodeMatrixInfo->engineerId)
  789. .arg(nodeMatrixInfo->expertName)
  790. .arg(nodeMatrixInfo->abscissa)
  791. .arg(nodeMatrixInfo->ordinate)
  792. .arg(nodeMatrixInfo->tableMsg)
  793. .arg(nodeMatrixInfo->mark);
  794. // qDebug() << updateSql;
  795. query.exec(updateSql);
  796. ret = true;
  797. }
  798. return ret;
  799. }
  800. bool DBServiceSet::UpdateNodeMatrixNodeValueList2(const QList<NodeMatrixInfo *> jbInfoList)
  801. {
  802. QSqlDatabase db = SqlDBHelper::getDatabase2();
  803. QSqlQuery query(db);
  804. bool ret = false;
  805. for (int i = 0; i < jbInfoList.length(); i++) {
  806. NodeMatrixInfo *nodeMatrixInfo = jbInfoList.at(i);
  807. QString updateSql = QString("UPDATE t_node_matrix_info SET NODE_VALUE ='%1' WHERE "
  808. "ENGINEER_ID = %2 AND expert_name = '%3'"
  809. " AND abscissa = '%4' AND ordinate = '%5' and table_msg = '%6' "
  810. "and mark = '%7' and tab_index = '%8'")
  811. .arg(nodeMatrixInfo->nodeValue)
  812. .arg(nodeMatrixInfo->engineerId)
  813. .arg(nodeMatrixInfo->expertName)
  814. .arg(nodeMatrixInfo->abscissa)
  815. .arg(nodeMatrixInfo->ordinate)
  816. .arg(nodeMatrixInfo->tableMsg)
  817. .arg(nodeMatrixInfo->mark)
  818. .arg(nodeMatrixInfo->tabIndex);
  819. // qDebug() << updateSql;
  820. query.exec(updateSql);
  821. ret = true;
  822. }
  823. return ret;
  824. }
  825. /*根据专家姓名和工程id获取节点信息*/
  826. bool DBServiceSet::QueryNodeMatrixListByExpertNameAndEngineerId(QString expertName, int engineerId, QString tableMsg,
  827. QString mark)
  828. {
  829. QSqlDatabase db = SqlDBHelper::getDatabase();
  830. QSqlQuery query(db);
  831. bool ret = false;
  832. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  833. "node_value, expert_id,mind_id,write_date from "
  834. "t_node_matrix_info where expert_name "
  835. "= '%1' and engineer_id ='%2' and table_msg='%3' and mark = '%4'")
  836. .arg(expertName)
  837. .arg(QString::number(engineerId))
  838. .arg(tableMsg)
  839. .arg(mark);
  840. if (query.exec(selectSql)) {
  841. if (query.next()) {
  842. ret = true;
  843. }
  844. } else {
  845. qDebug() << query.lastError();
  846. }
  847. qDebug() << ret;
  848. return ret;
  849. }
  850. /*根据专家姓名和工程id获取节点信息*/
  851. bool DBServiceSet::QueryNodeMatrixListByExpertIdAndEngineerId(QString expertId, int engineerId, QString tableMsg)
  852. {
  853. QSqlDatabase db = SqlDBHelper::getDatabase();
  854. QSqlQuery query(db);
  855. bool ret = false;
  856. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  857. "node_value, expert_id,mind_id,write_date from "
  858. "t_node_matrix_info where expert_id "
  859. "= '%1' and engineer_id ='%2' and table_msg='%3'")
  860. .arg(expertId)
  861. .arg(QString::number(engineerId))
  862. .arg(tableMsg);
  863. // qDebug() << selectSql;
  864. if (query.exec(selectSql)) {
  865. if (query.next()) {
  866. ret = true;
  867. }
  868. } else {
  869. qDebug() << query.lastError();
  870. }
  871. // qDebug() << ret;
  872. return ret;
  873. }
  874. bool DBServiceSet::QueryNodeMatrixListByExpertNameAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList,
  875. QString expertName, int engineerId)
  876. {
  877. QSqlDatabase db = SqlDBHelper::getDatabase();
  878. QSqlQuery query(db);
  879. bool ret = false;
  880. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  881. "node_value, expert_id,mind_id,write_date from "
  882. "t_node_matrix_info where expert_name "
  883. "= '%1' and engineer_id ='%2'")
  884. .arg(expertName)
  885. .arg(QString::number(engineerId));
  886. if (query.exec(selectSql)) {
  887. while (query.next()) {
  888. if (query.isNull(0) == false) {
  889. NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
  890. nodeMatrixInfo->id = query.value(0).toInt();
  891. nodeMatrixInfo->expertName = query.value(1).toString();
  892. nodeMatrixInfo->node = query.value(2).toString();
  893. nodeMatrixInfo->engineerId = query.value(3).toInt();
  894. nodeMatrixInfo->abscissa = query.value(4).toString();
  895. nodeMatrixInfo->ordinate = query.value(5).toString();
  896. nodeMatrixInfo->nodeValue = query.value(6).toString();
  897. nodeMatrixInfo->expertId = query.value(7).toInt();
  898. nodeMatrixInfo->mindId = query.value(8).toInt();
  899. nodeMatrixInfo->writeDate = query.value(9).toDateTime();
  900. nodeMatrixInfo->mark = query.value(10).toString();
  901. nodeMatrixInfoList->append(nodeMatrixInfo);
  902. }
  903. ret = true;
  904. }
  905. } else {
  906. qDebug() << query.lastError();
  907. }
  908. return ret;
  909. }
  910. bool DBServiceSet::QueryNodeMatrixListByExpertNameAndEngineerId2(QString expertName, int engineerId, QString tableMsg,
  911. QString mark, int tabIndex)
  912. {
  913. QSqlDatabase db = SqlDBHelper::getDatabase2();
  914. QSqlQuery query(db);
  915. bool ret = false;
  916. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  917. "node_value, expert_id,mind_id,write_date from "
  918. "t_node_matrix_info where expert_name "
  919. "= '%1' and engineer_id ='%2' and table_msg='%3' and mark = '%4' and tab_index = '%5'")
  920. .arg(expertName)
  921. .arg(QString::number(engineerId))
  922. .arg(tableMsg)
  923. .arg(mark)
  924. .arg(tabIndex);
  925. if (query.exec(selectSql)) {
  926. if (query.next()) {
  927. ret = true;
  928. }
  929. } else {
  930. qDebug() << query.lastError();
  931. }
  932. qDebug() << ret;
  933. return ret;
  934. }
  935. bool DBServiceSet::QueryNodesByExpertNameAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName,
  936. int engineerId, QString tableMsg, QString mark, int tabIndex)
  937. {
  938. QSqlDatabase db = SqlDBHelper::getDatabase2();
  939. QSqlQuery query(db);
  940. bool ret = false;
  941. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  942. "node_value, expert_id,mind_id,write_date from "
  943. "t_node_matrix_info where expert_name "
  944. "= '%1' and engineer_id ='%2' and table_msg='%3' and mark = '%4' and tab_index = '%5'")
  945. .arg(expertName)
  946. .arg(QString::number(engineerId))
  947. .arg(tableMsg)
  948. .arg(mark)
  949. .arg(tabIndex);
  950. // qDebug() << "----" << selectSql;
  951. if (query.exec(selectSql)) {
  952. while (query.next()) {
  953. if (query.isNull(0) == false) {
  954. NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
  955. nodeMatrixInfo->id = query.value(0).toInt();
  956. nodeMatrixInfo->expertName = query.value(1).toString();
  957. nodeMatrixInfo->node = query.value(2).toString();
  958. nodeMatrixInfo->engineerId = query.value(3).toInt();
  959. nodeMatrixInfo->abscissa = query.value(4).toString();
  960. nodeMatrixInfo->ordinate = query.value(5).toString();
  961. nodeMatrixInfo->nodeValue = query.value(6).toString();
  962. nodeMatrixInfo->expertId = query.value(7).toInt();
  963. nodeMatrixInfo->mindId = query.value(8).toInt();
  964. nodeMatrixInfo->writeDate = query.value(9).toDateTime();
  965. nodeMatrixInfo->mark = query.value(10).toString();
  966. nodeMatrixInfoList->append(nodeMatrixInfo);
  967. }
  968. ret = true;
  969. }
  970. } else {
  971. qDebug() << query.lastError();
  972. }
  973. qDebug() << ret;
  974. return ret;
  975. }
  976. bool DBServiceSet::QueryNodeValueByUserIdAndEngineerId(int experId, int engineerId)
  977. {
  978. QSqlDatabase db = SqlDBHelper::getDatabase();
  979. QSqlQuery query(db);
  980. bool ret = false;
  981. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  982. "node_value, expert_id,mind_id,write_date from "
  983. "t_node_matrix_info where expert_id "
  984. "= '%1' and engineer_id ='%2'")
  985. .arg(QString::number(experId))
  986. .arg(QString::number(engineerId));
  987. // qDebug() << "selectSql=" << selectSql;
  988. if (query.exec(selectSql)) {
  989. if (query.next()) {
  990. ret = true;
  991. }
  992. } else {
  993. qDebug() << query.lastError();
  994. }
  995. return ret;
  996. }
  997. bool DBServiceSet::QueryNodeMatrixListByExpertIdAndEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId,
  998. int engineerId, QString tableMsg)
  999. {
  1000. QSqlDatabase db = SqlDBHelper::getDatabase();
  1001. QSqlQuery query(db);
  1002. bool ret = false;
  1003. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  1004. "node_value, expert_id,mind_id,write_date from "
  1005. "t_node_matrix_info where expert_id "
  1006. "= '%1' and engineer_id ='%2' and table_msg ='%3'")
  1007. .arg(QString::number(expertId))
  1008. .arg(QString::number(engineerId))
  1009. .arg(tableMsg);
  1010. // qDebug() << "selectSql=" << selectSql;
  1011. if (query.exec(selectSql)) {
  1012. while (query.next()) {
  1013. if (query.isNull(0) == false) {
  1014. NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
  1015. nodeMatrixInfo->id = query.value(0).toInt();
  1016. nodeMatrixInfo->expertName = query.value(1).toString();
  1017. nodeMatrixInfo->node = query.value(2).toString();
  1018. nodeMatrixInfo->engineerId = query.value(3).toInt();
  1019. nodeMatrixInfo->abscissa = query.value(4).toString();
  1020. nodeMatrixInfo->ordinate = query.value(5).toString();
  1021. nodeMatrixInfo->nodeValue = query.value(6).toString();
  1022. nodeMatrixInfo->expertId = query.value(7).toInt();
  1023. nodeMatrixInfo->mindId = query.value(8).toInt();
  1024. nodeMatrixInfo->writeDate = query.value(9).toDateTime();
  1025. nodeMatrixInfo->mark = query.value(10).toString();
  1026. nodeMatrixInfoList->append(nodeMatrixInfo);
  1027. }
  1028. ret = true;
  1029. }
  1030. } else {
  1031. qDebug() << query.lastError();
  1032. }
  1033. return ret;
  1034. }
  1035. bool DBServiceSet::QueryNodeMatrixListByExpertIdAndEngineerId2(QList<NodeMatrixInfo *> *nodeMatrixInfoList,
  1036. int expertId, int engineerId, QString tableMsg)
  1037. {
  1038. QSqlDatabase db = SqlDBHelper::getDatabase2();
  1039. QSqlQuery query(db);
  1040. bool ret = false;
  1041. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  1042. "node_value, expert_id,mind_id,write_date from "
  1043. "t_node_matrix_info where expert_id "
  1044. "= '%1' and engineer_id ='%2' and table_msg ='%3'")
  1045. .arg(QString::number(expertId))
  1046. .arg(QString::number(engineerId))
  1047. .arg(tableMsg);
  1048. // qDebug() << "selectSql=" << selectSql;
  1049. if (query.exec(selectSql)) {
  1050. while (query.next()) {
  1051. if (query.isNull(0) == false) {
  1052. NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
  1053. nodeMatrixInfo->id = query.value(0).toInt();
  1054. nodeMatrixInfo->expertName = query.value(1).toString();
  1055. nodeMatrixInfo->node = query.value(2).toString();
  1056. nodeMatrixInfo->engineerId = query.value(3).toInt();
  1057. nodeMatrixInfo->abscissa = query.value(4).toString();
  1058. nodeMatrixInfo->ordinate = query.value(5).toString();
  1059. nodeMatrixInfo->nodeValue = query.value(6).toString();
  1060. nodeMatrixInfo->expertId = query.value(7).toInt();
  1061. nodeMatrixInfo->mindId = query.value(8).toInt();
  1062. nodeMatrixInfo->writeDate = query.value(9).toDateTime();
  1063. nodeMatrixInfo->mark = query.value(10).toString();
  1064. nodeMatrixInfoList->append(nodeMatrixInfo);
  1065. }
  1066. ret = true;
  1067. }
  1068. } else {
  1069. qDebug() << query.lastError();
  1070. }
  1071. return ret;
  1072. }
  1073. /*根据专家姓名查询对应的节点信息*/
  1074. bool DBServiceSet::QueryNodeMatrixListByExpertName(QList<NodeMatrixInfo *> *nodeMatrixInfoList, QString expertName)
  1075. {
  1076. QSqlDatabase db = SqlDBHelper::getDatabase();
  1077. QSqlQuery query(db);
  1078. bool ret = false;
  1079. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  1080. "node_value, expert_id,mind_name,write_date from "
  1081. "t_node_matrix_info where expert_name = '%1'")
  1082. .arg(expertName);
  1083. if (query.exec(selectSql)) {
  1084. while (query.next()) {
  1085. if (query.isNull(0) == false) {
  1086. NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
  1087. nodeMatrixInfo->id = query.value(0).toInt();
  1088. nodeMatrixInfo->expertName = query.value(1).toString();
  1089. nodeMatrixInfo->node = query.value(2).toString();
  1090. nodeMatrixInfo->engineerId = query.value(3).toInt();
  1091. nodeMatrixInfo->abscissa = query.value(4).toString();
  1092. nodeMatrixInfo->ordinate = query.value(5).toString();
  1093. nodeMatrixInfo->nodeValue = query.value(6).toString();
  1094. nodeMatrixInfo->expertId = query.value(7).toInt();
  1095. nodeMatrixInfo->mindId = query.value(8).toInt();
  1096. nodeMatrixInfo->writeDate = query.value(9).toDateTime();
  1097. nodeMatrixInfo->mark = query.value(10).toString();
  1098. nodeMatrixInfoList->append(nodeMatrixInfo);
  1099. }
  1100. ret = true;
  1101. }
  1102. } else {
  1103. qDebug() << query.lastError();
  1104. }
  1105. return ret;
  1106. }
  1107. /*根据专家姓名编号对应的节点信息*/
  1108. bool DBServiceSet::QueryNodeMatrixListByExpertId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int expertId)
  1109. {
  1110. QSqlDatabase db = SqlDBHelper::getDatabase();
  1111. QSqlQuery query(db);
  1112. bool ret = false;
  1113. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  1114. "node_value, expert_id,mind_name,write_date from "
  1115. "t_node_matrix_info where expert_id = '%1'")
  1116. .arg(expertId);
  1117. if (query.exec(selectSql)) {
  1118. while (query.next()) {
  1119. if (query.isNull(0) == false) {
  1120. NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
  1121. nodeMatrixInfo->id = query.value(0).toInt();
  1122. nodeMatrixInfo->expertName = query.value(1).toString();
  1123. nodeMatrixInfo->node = query.value(2).toString();
  1124. nodeMatrixInfo->engineerId = query.value(3).toInt();
  1125. nodeMatrixInfo->abscissa = query.value(4).toString();
  1126. nodeMatrixInfo->ordinate = query.value(5).toString();
  1127. nodeMatrixInfo->nodeValue = query.value(6).toString();
  1128. nodeMatrixInfo->expertId = query.value(7).toInt();
  1129. nodeMatrixInfo->mindId = query.value(8).toInt();
  1130. nodeMatrixInfo->writeDate = query.value(9).toDateTime();
  1131. nodeMatrixInfo->mark = query.value(10).toString();
  1132. nodeMatrixInfoList->append(nodeMatrixInfo);
  1133. }
  1134. ret = true;
  1135. }
  1136. } else {
  1137. qDebug() << query.lastError();
  1138. }
  1139. return ret;
  1140. }
  1141. /*根据工程编号查询对应的节点信息*/
  1142. bool DBServiceSet::QueryNodeMatrixListByEngineerId(QList<NodeMatrixInfo *> *nodeMatrixInfoList, int engineerId)
  1143. {
  1144. QSqlDatabase db = SqlDBHelper::getDatabase();
  1145. QSqlQuery query(db);
  1146. bool ret = false;
  1147. QString selectSql = QString("select id,expert_name, engineer_id, node, abscissa, ordinate, "
  1148. "node_value, expert_id ,mind_name,write_date from "
  1149. "t_node_matrix_info where engineer_id = '%1'")
  1150. .arg(engineerId);
  1151. if (query.exec(selectSql)) {
  1152. while (query.next()) {
  1153. if (query.isNull(0) == false) {
  1154. NodeMatrixInfo *nodeMatrixInfo = new NodeMatrixInfo();
  1155. nodeMatrixInfo->id = query.value(0).toInt();
  1156. nodeMatrixInfo->expertName = query.value(1).toString();
  1157. nodeMatrixInfo->node = query.value(2).toString();
  1158. nodeMatrixInfo->engineerId = query.value(3).toInt();
  1159. nodeMatrixInfo->abscissa = query.value(4).toString();
  1160. nodeMatrixInfo->ordinate = query.value(5).toString();
  1161. nodeMatrixInfo->nodeValue = query.value(6).toString();
  1162. nodeMatrixInfo->expertId = query.value(7).toInt();
  1163. nodeMatrixInfo->mindId = query.value(8).toInt();
  1164. nodeMatrixInfo->writeDate = query.value(9).toDateTime();
  1165. nodeMatrixInfo->mark = query.value(10).toString();
  1166. nodeMatrixInfoList->append(nodeMatrixInfo);
  1167. }
  1168. ret = true;
  1169. }
  1170. } else {
  1171. qDebug() << query.lastError();
  1172. }
  1173. return ret;
  1174. }
  1175. /*根据工程编号删除对应的节点信息*/
  1176. bool DBServiceSet::DeleteNodeMatrixListByEngineerId(int engineerId)
  1177. {
  1178. bool ret = false;
  1179. try {
  1180. Transaction t(SqlDBHelper::getDatabase());
  1181. t.deleteFrom("t_node_matrix_info").where("engineer_id = ?", engineerId);
  1182. t.commit();
  1183. ret = true;
  1184. } catch (const DBException &ex) {
  1185. qDebug() << ex.lastError.text();
  1186. }
  1187. return ret;
  1188. }
  1189. /*根据专家名称删除对应的节点信息*/
  1190. bool DBServiceSet::DeleteNodeMatrixListByExpertName(QString expertName)
  1191. {
  1192. bool ret = false;
  1193. try {
  1194. Transaction t(SqlDBHelper::getDatabase());
  1195. t.deleteFrom("t_node_matrix_info").where("expert_name = ?", expertName);
  1196. t.commit();
  1197. ret = true;
  1198. } catch (const DBException &ex) {
  1199. qDebug() << ex.lastError.text();
  1200. }
  1201. return ret;
  1202. }
  1203. /*根据专家编号删除对应的节点信息*/
  1204. bool DBServiceSet::DeleteNodeMatrixListByExpertId(int expertId)
  1205. {
  1206. bool ret = false;
  1207. try {
  1208. Transaction t(SqlDBHelper::getDatabase());
  1209. t.deleteFrom("t_node_matrix_info").where("expert_id = ?", expertId);
  1210. t.commit();
  1211. ret = true;
  1212. } catch (const DBException &ex) {
  1213. qDebug() << ex.lastError.text();
  1214. }
  1215. return ret;
  1216. }
  1217. //////////////////////节点矩阵信息表-end////////////////////
  1218. //////////////////////工程信息表-start////////////////////
  1219. bool DBServiceSet::AddEngineerInfo(const EngineerInfo &engineerInfo)
  1220. {
  1221. bool ret = false;
  1222. try {
  1223. Transaction t(SqlDBHelper::getDatabase());
  1224. InsertQuery query = t.insertInto("t_engineer_info(engineer_name,index_set_id,schema_set_id,"
  1225. "measure_function_id,remark,effect_name_str)");
  1226. NonQueryResult result =
  1227. query.values(engineerInfo.engineerName, engineerInfo.indexSetId, engineerInfo.schemaEvalId,
  1228. engineerInfo.measureFunctionId, engineerInfo.remark, engineerInfo.effectNameStr)
  1229. .exec();
  1230. t.commit();
  1231. qDebug() << "---------" << result.lastInsertId();
  1232. ret = true;
  1233. } catch (const DBException &ex) {
  1234. qDebug() << ex.lastError.text();
  1235. }
  1236. return ret;
  1237. }
  1238. int DBServiceSet::AddEngineerInfoReturnId(const EngineerInfo &engineerInfo)
  1239. {
  1240. int ret = -1;
  1241. try {
  1242. Transaction t(SqlDBHelper::getDatabase());
  1243. InsertQuery query = t.insertInto("t_engineer_info(engineer_name,index_set_id,schema_set_id,"
  1244. "measure_function_id,remark,effect_name_str)");
  1245. NonQueryResult result =
  1246. query.values(engineerInfo.engineerName, engineerInfo.indexSetId, engineerInfo.schemaEvalId,
  1247. engineerInfo.measureFunctionId, engineerInfo.remark, engineerInfo.effectNameStr)
  1248. .exec();
  1249. t.commit();
  1250. ret = result.lastInsertId().toInt();
  1251. } catch (const DBException &ex) {
  1252. qDebug() << ex.lastError.text();
  1253. }
  1254. return ret;
  1255. }
  1256. bool DBServiceSet::UpdateEngineerInfo(const EngineerInfo &engineerInfo)
  1257. {
  1258. bool ret = false;
  1259. try {
  1260. Transaction t(SqlDBHelper::getDatabase());
  1261. t.update("t_engineer_info")
  1262. .set("engineer_name", engineerInfo.engineerName)
  1263. .set("index_set_id", engineerInfo.indexSetId)
  1264. .set("schema_set_id", engineerInfo.schemaEvalId)
  1265. .set("measure_function_id", engineerInfo.measureFunctionId)
  1266. .set("effect_name_str", engineerInfo.effectNameStr)
  1267. .where("engineer_id = ?", engineerInfo.engineerId);
  1268. t.commit();
  1269. ret = true;
  1270. } catch (const DBException &ex) {
  1271. qDebug() << ex.lastError.text();
  1272. }
  1273. return ret;
  1274. }
  1275. bool DBServiceSet::UpdateEngineerIndex(int enjId, int indexId)
  1276. {
  1277. bool ret = false;
  1278. try {
  1279. Transaction t(SqlDBHelper::getDatabase());
  1280. t.update("t_engineer_info").set("index_set_id", indexId).where("engineer_id = ?", enjId);
  1281. t.commit();
  1282. ret = true;
  1283. } catch (const DBException &ex) {
  1284. qDebug() << ex.lastError.text();
  1285. }
  1286. return ret;
  1287. }
  1288. bool DBServiceSet::UpdateEngineerMessaure(int enjId, int messaureId)
  1289. {
  1290. bool ret = false;
  1291. try {
  1292. Transaction t(SqlDBHelper::getDatabase());
  1293. t.update("t_engineer_info").set("measure_function_id", messaureId).where("engineer_id = ?", enjId);
  1294. t.commit();
  1295. ret = true;
  1296. } catch (const DBException &ex) {
  1297. qDebug() << ex.lastError.text();
  1298. }
  1299. return ret;
  1300. }
  1301. bool DBServiceSet::UpdateEngineerSchema(int enjId, int schemaId)
  1302. {
  1303. bool ret = false;
  1304. try {
  1305. Transaction t(SqlDBHelper::getDatabase());
  1306. t.update("t_engineer_info").set("schema_set_id", schemaId).where("engineer_id = ?", enjId);
  1307. t.commit();
  1308. ret = true;
  1309. } catch (const DBException &ex) {
  1310. qDebug() << ex.lastError.text();
  1311. }
  1312. return ret;
  1313. }
  1314. bool DBServiceSet::UpdateNameById(QString name, int id)
  1315. {
  1316. bool ret = false;
  1317. try {
  1318. Transaction t(SqlDBHelper::getDatabase());
  1319. t.update("t_engineer_info").set("engineer_name", name).where("engineer_id = ?", id);
  1320. t.commit();
  1321. ret = true;
  1322. } catch (const DBException &ex) {
  1323. qDebug() << ex.lastError.text();
  1324. }
  1325. return ret;
  1326. }
  1327. bool DBServiceSet::QueryEngineerByEngineerId(EngineerInfo *engineerInfo, int engineerId)
  1328. {
  1329. QSqlDatabase db = SqlDBHelper::getDatabase();
  1330. QSqlQuery query(db);
  1331. bool ret = false;
  1332. QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
  1333. "measure_function_id,remark,effect_name_str FROM "
  1334. "t_engineer_info WHERE engineer_id = %1")
  1335. .arg(engineerId);
  1336. // qDebug() << "sql= " << selectSql;
  1337. if (query.exec(selectSql)) {
  1338. if (query.next()) {
  1339. if (query.isNull(0) == false) {
  1340. engineerInfo->engineerId = query.value(0).toInt();
  1341. engineerInfo->engineerName = query.value(1).toString();
  1342. engineerInfo->indexSetId = query.value(2).toInt();
  1343. engineerInfo->schemaEvalId = query.value(3).toInt();
  1344. engineerInfo->measureFunctionId = query.value(4).toInt();
  1345. engineerInfo->remark = query.value(5).toString();
  1346. engineerInfo->effectNameStr = query.value(6).toString();
  1347. }
  1348. ret = true;
  1349. }
  1350. } else {
  1351. qDebug() << query.lastError();
  1352. }
  1353. return ret;
  1354. }
  1355. bool DBServiceSet::QueryEngineerByEngineerName(EngineerInfo *engineerInfo, QString engineerName)
  1356. {
  1357. QSqlDatabase db = SqlDBHelper::getDatabase();
  1358. QSqlQuery query(db);
  1359. bool ret = false;
  1360. QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
  1361. "measure_function_id,remark,effect_name_str FROM "
  1362. "t_engineer_info WHERE engineer_name = '%1'")
  1363. .arg(engineerName);
  1364. if (query.exec(selectSql)) {
  1365. if (query.next()) {
  1366. if (query.isNull(0) == false) {
  1367. engineerInfo->engineerId = query.value(0).toInt();
  1368. engineerInfo->engineerName = query.value(1).toString();
  1369. engineerInfo->indexSetId = query.value(2).toInt();
  1370. engineerInfo->schemaEvalId = query.value(3).toInt();
  1371. engineerInfo->measureFunctionId = query.value(4).toInt();
  1372. engineerInfo->remark = query.value(5).toString();
  1373. engineerInfo->effectNameStr = query.value(6).toString();
  1374. }
  1375. ret = true;
  1376. }
  1377. } else {
  1378. qDebug() << query.lastError();
  1379. }
  1380. return ret;
  1381. }
  1382. bool DBServiceSet::QueryEngineerListByName(QList<EngineerInfo *> *engineerInfoList, QString engineerName)
  1383. {
  1384. QSqlDatabase db = SqlDBHelper::getDatabase();
  1385. QSqlQuery query(db);
  1386. bool ret = false;
  1387. QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
  1388. "measure_function_id,remark,effect_name_str "
  1389. "FROM t_engineer_info WHERE engineer_name like '%1'")
  1390. .arg("%" + engineerName + "%");
  1391. if (query.exec(selectSql)) {
  1392. while (query.next()) {
  1393. if (query.isNull(0) == false) {
  1394. EngineerInfo *engineerInfo = new EngineerInfo();
  1395. engineerInfo->engineerId = query.value(0).toInt();
  1396. engineerInfo->engineerName = query.value(1).toString();
  1397. engineerInfo->indexSetId = query.value(2).toInt();
  1398. engineerInfo->schemaEvalId = query.value(3).toInt();
  1399. engineerInfo->measureFunctionId = query.value(4).toInt();
  1400. engineerInfo->remark = query.value(5).toString();
  1401. engineerInfo->effectNameStr = query.value(6).toString();
  1402. engineerInfoList->append(engineerInfo);
  1403. }
  1404. ret = true;
  1405. }
  1406. } else {
  1407. qDebug() << query.lastError();
  1408. }
  1409. return ret;
  1410. }
  1411. bool DBServiceSet::QueryEngineerList(QList<EngineerInfo *> *engineerInfoList)
  1412. {
  1413. QSqlDatabase db = SqlDBHelper::getDatabase();
  1414. QSqlQuery query(db);
  1415. bool ret = false;
  1416. try {
  1417. QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
  1418. "measure_function_id,remark,effect_name_str FROM t_engineer_info");
  1419. if (query.exec(selectSql)) {
  1420. while (query.next()) {
  1421. if (query.isNull(0) == false) {
  1422. EngineerInfo *engineerInfo = new EngineerInfo();
  1423. engineerInfo->engineerId = query.value(0).toInt();
  1424. engineerInfo->engineerName = query.value(1).toString();
  1425. engineerInfo->indexSetId = query.value(2).toInt();
  1426. engineerInfo->schemaEvalId = query.value(3).toInt();
  1427. engineerInfo->measureFunctionId = query.value(4).toInt();
  1428. engineerInfo->remark = query.value(5).toString();
  1429. engineerInfo->effectNameStr = query.value(6).toString();
  1430. engineerInfoList->append(engineerInfo);
  1431. }
  1432. }
  1433. }
  1434. ret = true;
  1435. } catch (const DBException &ex) {
  1436. qDebug() << ex.lastError.text();
  1437. }
  1438. return ret;
  1439. }
  1440. bool DBServiceSet::QueryEngineerListByIndexSetId(QList<EngineerInfo *> *engineerInfoList, int indexSetId)
  1441. {
  1442. QSqlDatabase db = SqlDBHelper::getDatabase();
  1443. QSqlQuery query(db);
  1444. bool ret = false;
  1445. QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
  1446. "measure_function_id,remark,effect_name_str FROM "
  1447. "t_engineer_info WHERE index_set_id = %1")
  1448. .arg(indexSetId);
  1449. if (query.exec(selectSql)) {
  1450. while (query.next()) {
  1451. if (query.isNull(0) == false) {
  1452. EngineerInfo *engineerInfo = new EngineerInfo();
  1453. engineerInfo->engineerId = query.value(0).toInt();
  1454. engineerInfo->engineerName = query.value(1).toString();
  1455. engineerInfo->indexSetId = query.value(2).toInt();
  1456. engineerInfo->schemaEvalId = query.value(3).toInt();
  1457. engineerInfo->measureFunctionId = query.value(4).toInt();
  1458. engineerInfo->remark = query.value(5).toString();
  1459. engineerInfo->effectNameStr = query.value(6).toString();
  1460. engineerInfoList->append(engineerInfo);
  1461. }
  1462. ret = true;
  1463. }
  1464. } else {
  1465. qDebug() << query.lastError();
  1466. }
  1467. return ret;
  1468. }
  1469. bool DBServiceSet::QueryEngineerListByMeasureFunctionId(QList<EngineerInfo *> *engineerInfoList, int measureFunctionId)
  1470. {
  1471. QSqlDatabase db = SqlDBHelper::getDatabase();
  1472. QSqlQuery query(db);
  1473. bool ret = false;
  1474. QString selectSql = QString("SELECT engineer_id, engineer_name, index_set_id, schema_set_id, "
  1475. "measure_function_id,remark FROM "
  1476. "t_engineer_info WHERE measure_function_id = %1")
  1477. .arg(measureFunctionId);
  1478. if (query.exec(selectSql)) {
  1479. while (query.next()) {
  1480. if (query.isNull(0) == false) {
  1481. EngineerInfo *engineerInfo = new EngineerInfo();
  1482. engineerInfo->engineerId = query.value(0).toInt();
  1483. engineerInfo->engineerName = query.value(1).toString();
  1484. engineerInfo->indexSetId = query.value(2).toInt();
  1485. engineerInfo->schemaEvalId = query.value(3).toInt();
  1486. engineerInfo->measureFunctionId = query.value(4).toInt();
  1487. engineerInfo->remark = query.value(5).toString();
  1488. engineerInfoList->append(engineerInfo);
  1489. }
  1490. ret = true;
  1491. }
  1492. } else {
  1493. qDebug() << query.lastError();
  1494. }
  1495. return ret;
  1496. }
  1497. bool DBServiceSet::DeleteEngineerByEngineerId(int engineerId)
  1498. {
  1499. bool ret = false;
  1500. try {
  1501. Transaction t(SqlDBHelper::getDatabase());
  1502. t.deleteFrom("t_engineer_info").where("engineer_id = ?", engineerId);
  1503. t.commit();
  1504. ret = true;
  1505. } catch (const DBException &ex) {
  1506. qDebug() << ex.lastError.text();
  1507. }
  1508. return ret;
  1509. }
  1510. bool DBServiceSet::DeleteEngineerByIndexSetId(int indexSetId)
  1511. {
  1512. bool ret = false;
  1513. try {
  1514. Transaction t(SqlDBHelper::getDatabase());
  1515. t.deleteFrom("t_engineer_info").where("index_set_id = ?", indexSetId);
  1516. t.commit();
  1517. ret = true;
  1518. } catch (const DBException &ex) {
  1519. qDebug() << ex.lastError.text();
  1520. }
  1521. return ret;
  1522. }
  1523. bool DBServiceSet::DeleteEngineerByMeasureFunctionId(int measureFunctionId)
  1524. {
  1525. bool ret = false;
  1526. try {
  1527. Transaction t(SqlDBHelper::getDatabase());
  1528. t.deleteFrom("t_engineer_info").where("measure_function_id = ?", measureFunctionId);
  1529. t.commit();
  1530. ret = true;
  1531. } catch (const DBException &ex) {
  1532. qDebug() << ex.lastError.text();
  1533. }
  1534. return ret;
  1535. }
  1536. //删除所有工程
  1537. bool DBServiceSet::DeleteEngineers()
  1538. {
  1539. bool ret = false;
  1540. try {
  1541. QSqlDatabase db = SqlDBHelper::getDatabase();
  1542. db.exec("delete from t_engineer_info");
  1543. db.commit();
  1544. ret = true;
  1545. } catch (const DBException &ex) {
  1546. qDebug() << ex.lastError.text();
  1547. }
  1548. return ret;
  1549. }
  1550. bool DBServiceSet::QueryChlidNodeByPId(int pid, QString dbName, QString mindPath)
  1551. {
  1552. QSqlDatabase db;
  1553. if (QSqlDatabase::contains(dbName)) {
  1554. db = QSqlDatabase::database(dbName);
  1555. } else {
  1556. db = QSqlDatabase::addDatabase("QSQLITE", dbName);
  1557. db.setDatabaseName(mindPath);
  1558. }
  1559. if (!db.open()) {
  1560. qDebug() << "test.db Open failed!";
  1561. }
  1562. // qDebug() << "open=" << db.isOpen();
  1563. QSqlQuery query(db);
  1564. bool ret = false;
  1565. QString selectSql = QString("SELECT * from "
  1566. "mind_data WHERE pid = %1")
  1567. .arg(pid);
  1568. // qDebug() << "sql=" << selectSql;
  1569. if (query.exec(selectSql)) {
  1570. if (query.next()) {
  1571. // qDebug() << "cunzai";
  1572. ret = true;
  1573. } else {
  1574. // qDebug() << "bucunzai";
  1575. }
  1576. } else {
  1577. qDebug() << query.lastError();
  1578. }
  1579. db.close();
  1580. // qDebug() << "------" << ret;
  1581. return ret;
  1582. }
  1583. //删除资源包中多余工程
  1584. bool DBServiceSet::DeleteEngineerNotInId(int id, QString dbPath)
  1585. {
  1586. QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
  1587. db.setDatabaseName(dbPath);
  1588. if (!db.open()) {
  1589. qDebug() << "test.db Open failed!";
  1590. }
  1591. QSqlQuery query(db);
  1592. bool ret = false;
  1593. QString deleteSql = QString("DELETE FROM t_engineer_info WHERE engineer_id != %1").arg(id);
  1594. QString deleteUserConfig = QString("DELETE FROM t_user_config WHERE engineer_id != %1").arg(id);
  1595. QString deleteUser = QString("DELETE FROM t_user_info WHERE id not in (select user_id FROM t_user_config WHERE "
  1596. "engineer_id = %1)")
  1597. .arg(id);
  1598. QString deleteNodeValue = QString("DELETE FROM t_node_matrix_info ");
  1599. QString deleteTechnical = QString("DELETE FROM t_technical_import");
  1600. QString deleteScheme = QString("DELETE FROM t_scheme_info ");
  1601. QString deleteDemand = QString("DELETE FROM t_demand_weight");
  1602. QString deletePlan = QString("DELETE FROM t_plan_info");
  1603. QString deletePlanIndex = QString("DELETE FROM t_plan_index");
  1604. if (query.exec(deleteSql)) {
  1605. query.exec(deleteUserConfig);
  1606. query.exec(deleteUser);
  1607. query.exec(deleteNodeValue);
  1608. query.exec(deleteTechnical);
  1609. query.exec(deleteScheme);
  1610. query.exec(deleteDemand);
  1611. query.exec(deletePlan);
  1612. query.exec(deletePlanIndex);
  1613. ret = true;
  1614. qDebug() << "deleteSql success!";
  1615. } else {
  1616. qDebug() << query.lastError();
  1617. }
  1618. db.close();
  1619. return ret;
  1620. }
  1621. //////////////////////工程信息表-end////////////////////
  1622. //////////////////////用户信息表-start////////////////////
  1623. int DBServiceSet::AddUserInfo(const QFUser &userInfo)
  1624. {
  1625. int returnId = -1;
  1626. try {
  1627. returnId = getNextId("t_user_info");
  1628. Transaction t(SqlDBHelper::getDatabase());
  1629. InsertQuery query = t.insertInto("t_user_info (user_name, user_no, password, role, post, "
  1630. "major,work_position,education_degree,phone,project_id,write_time,remark)");
  1631. NonQueryResult result =
  1632. query.values(userInfo.userName, userInfo.userNo, userInfo.password, userInfo.role, userInfo.post,
  1633. userInfo.major, userInfo.workPosition, userInfo.educationDegree, userInfo.phone,
  1634. userInfo.projectId, userInfo.writeTime, userInfo.remark)
  1635. .exec();
  1636. t.commit();
  1637. returnId = result.lastInsertId().toInt();
  1638. } catch (const DBException &ex) {
  1639. qDebug() << ex.lastError.text();
  1640. returnId = -1;
  1641. }
  1642. return returnId;
  1643. }
  1644. /*暂时用id修改*/
  1645. bool DBServiceSet::UpdateUserInfo(const QFUser &userInfo)
  1646. {
  1647. bool ret = false;
  1648. try {
  1649. Transaction t(SqlDBHelper::getDatabase());
  1650. t.update("t_user_info")
  1651. .set("user_name", userInfo.userName)
  1652. .set("user_no", userInfo.userNo)
  1653. .set("password", userInfo.password)
  1654. .set("role", userInfo.role)
  1655. .set("post", userInfo.post)
  1656. .set("major", userInfo.major)
  1657. .set("work_position", userInfo.workPosition)
  1658. .set("education_degree", userInfo.educationDegree)
  1659. .set("phone", userInfo.phone)
  1660. .set("remark", userInfo.remark)
  1661. .set("project_id", userInfo.projectId)
  1662. .where("id=?", userInfo.id);
  1663. t.commit();
  1664. ret = true;
  1665. } catch (const DBException &ex) {
  1666. qDebug() << ex.lastError.text();
  1667. }
  1668. return ret;
  1669. }
  1670. bool DBServiceSet::UpdateUserPassword(QString userNo, QString password)
  1671. {
  1672. bool ret = false;
  1673. try {
  1674. Transaction t(SqlDBHelper::getDatabase());
  1675. t.update("t_user_info").set("password", password).where("user_no=?", userNo);
  1676. t.commit();
  1677. ret = true;
  1678. } catch (const DBException &ex) {
  1679. qDebug() << ex.lastError.text();
  1680. }
  1681. return ret;
  1682. }
  1683. bool DBServiceSet::UpdateUserById(QString userNo, QString password, int id)
  1684. {
  1685. bool ret = false;
  1686. try {
  1687. Transaction t(SqlDBHelper::getDatabase());
  1688. t.update("t_user_info").set("password", password).set("user_no", userNo).where("id=?", id);
  1689. t.commit();
  1690. ret = true;
  1691. } catch (const DBException &ex) {
  1692. qDebug() << ex.lastError.text();
  1693. }
  1694. return ret;
  1695. }
  1696. bool DBServiceSet::QueryUserInfoById(QFUser *userInfo, int userId)
  1697. {
  1698. QSqlDatabase db = SqlDBHelper::getDatabase();
  1699. QSqlQuery query(db);
  1700. bool ret = false;
  1701. QString selectSql = QString("SELECT id, user_name,user_no,password,role,post, "
  1702. "major,work_position,education_degree,phone,remark,project_id,"
  1703. "write_time from "
  1704. "t_user_info WHERE id = %1")
  1705. .arg(userId);
  1706. if (query.exec(selectSql)) {
  1707. if (query.next()) {
  1708. if (query.isNull(0) == false) {
  1709. userInfo->id = query.value(0).toInt();
  1710. userInfo->userName = query.value(1).toString();
  1711. userInfo->userNo = query.value(2).toString();
  1712. userInfo->password = query.value(3).toString();
  1713. userInfo->role = static_cast<QFUser::Role>(query.value(4).toInt());
  1714. userInfo->post = query.value(5).toString();
  1715. userInfo->major = query.value(6).toString();
  1716. userInfo->workPosition = query.value(7).toString();
  1717. userInfo->educationDegree = query.value(8).toString();
  1718. userInfo->phone = query.value(9).toString();
  1719. userInfo->remark = query.value(10).toString();
  1720. userInfo->projectId = query.value(11).toString();
  1721. userInfo->writeTime = query.value(12).toString();
  1722. }
  1723. ret = true;
  1724. }
  1725. } else {
  1726. qDebug() << query.lastError();
  1727. }
  1728. return ret;
  1729. }
  1730. bool DBServiceSet::QueryUserInfoByUnserInfo(const QFUser &paramInfo, QFUser &queryInfo)
  1731. {
  1732. QSqlDatabase db = SqlDBHelper::getDatabase();
  1733. QSqlQuery query(db);
  1734. bool ret = false;
  1735. QString selectSql = QString("SELECT id, user_name,user_no,password,role,post, "
  1736. "major,work_position,education_degree,phone,project_id,write_time from "
  1737. "t_user_info WHERE 1 = 1 ");
  1738. if (!paramInfo.userName.isNull() && !paramInfo.userName.isEmpty()) {
  1739. selectSql += " and user_name = '" + paramInfo.userName + "'";
  1740. }
  1741. if (!paramInfo.userNo.isNull() && !paramInfo.userNo.isEmpty()) {
  1742. selectSql += " and user_no = '" + paramInfo.userNo + "'";
  1743. }
  1744. if (!paramInfo.post.isNull() && !paramInfo.post.isEmpty()) {
  1745. selectSql += " and post = '" + paramInfo.post + "'";
  1746. }
  1747. if (!paramInfo.major.isNull() && !paramInfo.major.isEmpty()) {
  1748. selectSql += " and major = '" + paramInfo.major + "'";
  1749. }
  1750. if (!paramInfo.workPosition.isNull() && !paramInfo.workPosition.isEmpty()) {
  1751. selectSql += " and work_position = '" + paramInfo.workPosition + "'";
  1752. }
  1753. if (!paramInfo.educationDegree.isNull() && !paramInfo.educationDegree.isEmpty()) {
  1754. selectSql += " and education_degree = '" + paramInfo.educationDegree + "'";
  1755. }
  1756. if (!paramInfo.phone.isNull() && !paramInfo.phone.isEmpty()) {
  1757. selectSql += " and phone = '" + paramInfo.phone + "'";
  1758. }
  1759. if (!paramInfo.projectId.isNull() && !paramInfo.projectId.isEmpty()) {
  1760. selectSql += " and project_id = '" + paramInfo.projectId + "'";
  1761. }
  1762. int role = paramInfo.role;
  1763. if (role == 0) {
  1764. selectSql += " and role != '" + QString::number(role) + "'";
  1765. } else {
  1766. selectSql += " and role = '" + QString::number(role) + "'";
  1767. }
  1768. if (query.exec(selectSql)) {
  1769. if (query.next()) {
  1770. queryInfo = paramInfo;
  1771. queryInfo.id = query.value(0).toInt();
  1772. ret = true;
  1773. }
  1774. } else {
  1775. qDebug() << query.lastError();
  1776. }
  1777. return ret;
  1778. }
  1779. /*获取到用户列表*/
  1780. bool DBServiceSet::QueryUserListByEngineerId(QList<QFUser *> *userInfoList, int engineerId)
  1781. {
  1782. QSqlDatabase db = SqlDBHelper::getDatabase();
  1783. QSqlQuery query(db);
  1784. bool ret = false;
  1785. QString selectSql = QString("SELECT id, user_name,user_no,password,role,post, "
  1786. "major,work_position,education_degree,phone,remark,project_id,"
  1787. "write_time "
  1788. "from t_user_info"
  1789. " WHERE id in (select uc.user_id from t_user_config uc where "
  1790. "uc.engineer_id = %1 and uc.is_valid =1 )")
  1791. .arg(engineerId);
  1792. // qDebug() << selectSql;
  1793. if (query.exec(selectSql)) {
  1794. while (query.next()) {
  1795. if (query.isNull(0) == false) {
  1796. QFUser *userInfo = new QFUser();
  1797. userInfo->id = query.value(0).toInt();
  1798. userInfo->userName = query.value(1).toString();
  1799. userInfo->userNo = query.value(2).toString();
  1800. userInfo->password = query.value(3).toString();
  1801. userInfo->role = static_cast<QFUser::Role>(query.value(4).toInt());
  1802. userInfo->post = query.value(5).toString();
  1803. userInfo->major = query.value(6).toString();
  1804. userInfo->workPosition = query.value(7).toString();
  1805. userInfo->educationDegree = query.value(8).toString();
  1806. userInfo->phone = query.value(9).toString();
  1807. userInfo->remark = query.value(10).toString();
  1808. userInfo->projectId = query.value(11).toString();
  1809. userInfo->writeTime = query.value(12).toString();
  1810. userInfoList->append(userInfo);
  1811. }
  1812. ret = true;
  1813. }
  1814. } else {
  1815. qDebug() << query.lastError();
  1816. }
  1817. return ret;
  1818. }
  1819. bool DBServiceSet::QueryUserListByColumnAndColumnValue(QList<QFUser *> *userInfoList, QString columnName,
  1820. QString columnValue)
  1821. {
  1822. QSqlDatabase db = SqlDBHelper::getDatabase();
  1823. QSqlQuery query(db);
  1824. bool ret = false;
  1825. QString selectSql = QString("SELECT id, user_name,user_no,password,role,post, "
  1826. "major,work_position,education_degree,phone,remark,project_id,"
  1827. "write_time "
  1828. "from t_user_info"
  1829. " WHERE %1 = '%2'")
  1830. .arg(columnName)
  1831. .arg(columnValue);
  1832. // qDebug() << selectSql;
  1833. if (query.exec(selectSql)) {
  1834. while (query.next()) {
  1835. if (query.isNull(0) == false) {
  1836. QFUser *userInfo = new QFUser();
  1837. userInfo->id = query.value(0).toInt();
  1838. userInfo->userName = query.value(1).toString();
  1839. userInfo->userNo = query.value(2).toString();
  1840. userInfo->password = query.value(3).toString();
  1841. userInfo->role = static_cast<QFUser::Role>(query.value(4).toInt());
  1842. userInfo->post = query.value(5).toString();
  1843. userInfo->major = query.value(6).toString();
  1844. userInfo->workPosition = query.value(7).toString();
  1845. userInfo->educationDegree = query.value(8).toString();
  1846. userInfo->phone = query.value(9).toString();
  1847. userInfo->remark = query.value(10).toString();
  1848. userInfo->projectId = query.value(11).toString();
  1849. userInfo->writeTime = query.value(12).toString();
  1850. userInfoList->append(userInfo);
  1851. }
  1852. ret = true;
  1853. }
  1854. } else {
  1855. qDebug() << query.lastError();
  1856. }
  1857. return ret;
  1858. }
  1859. bool DBServiceSet::QueryUserList(QList<QFUser *> *userInfoList)
  1860. {
  1861. QSqlDatabase db = SqlDBHelper::getDatabase();
  1862. QSqlQuery query(db);
  1863. bool ret = false;
  1864. QString selectSql = QString("SELECT id, user_name,user_no,password,role,post, "
  1865. "major,work_position,education_degree,phone,remark,project_id,"
  1866. "write_time from t_user_info");
  1867. if (query.exec(selectSql)) {
  1868. while (query.next()) {
  1869. if (query.isNull(0) == false) {
  1870. QFUser *userInfo = new QFUser();
  1871. userInfo->id = query.value(0).toInt();
  1872. userInfo->userName = query.value(1).toString();
  1873. userInfo->userNo = query.value(2).toString();
  1874. userInfo->password = query.value(3).toString();
  1875. userInfo->role = static_cast<QFUser::Role>(query.value(4).toInt());
  1876. userInfo->post = query.value(5).toString();
  1877. userInfo->major = query.value(6).toString();
  1878. userInfo->workPosition = query.value(7).toString();
  1879. userInfo->educationDegree = query.value(8).toString();
  1880. userInfo->phone = query.value(9).toString();
  1881. userInfo->remark = query.value(10).toString();
  1882. userInfo->projectId = query.value(11).toString();
  1883. userInfo->writeTime = query.value(12).toString();
  1884. userInfoList->append(userInfo);
  1885. }
  1886. ret = true;
  1887. }
  1888. } else {
  1889. qDebug() << query.lastError();
  1890. }
  1891. return ret;
  1892. }
  1893. bool DBServiceSet::QueryUserListNotAdmin(QList<QFUser *> *userInfoList)
  1894. {
  1895. QSqlDatabase db = SqlDBHelper::getDatabase();
  1896. QSqlQuery query(db);
  1897. bool ret = false;
  1898. try {
  1899. QString selectSql = QString("SELECT id, user_name,user_no,password,role,post, "
  1900. "major,work_position,education_degree,phone,remark,project_id,"
  1901. "write_time from t_user_info where role !=0");
  1902. if (query.exec(selectSql)) {
  1903. while (query.next()) {
  1904. if (query.isNull(0) == false) {
  1905. QFUser *userInfo = new QFUser();
  1906. userInfo->id = query.value(0).toInt();
  1907. userInfo->userName = query.value(1).toString();
  1908. userInfo->userNo = query.value(2).toString();
  1909. userInfo->password = query.value(3).toString();
  1910. userInfo->role = static_cast<QFUser::Role>(query.value(4).toInt());
  1911. userInfo->post = query.value(5).toString();
  1912. userInfo->major = query.value(6).toString();
  1913. userInfo->workPosition = query.value(7).toString();
  1914. userInfo->educationDegree = query.value(8).toString();
  1915. userInfo->phone = query.value(9).toString();
  1916. userInfo->remark = query.value(10).toString();
  1917. userInfo->projectId = query.value(11).toString();
  1918. userInfo->writeTime = query.value(12).toString();
  1919. userInfoList->append(userInfo);
  1920. }
  1921. }
  1922. } else {
  1923. qDebug() << query.lastError();
  1924. }
  1925. ret = true;
  1926. } catch (const DBException &ex) {
  1927. qDebug() << ex.lastError.text();
  1928. }
  1929. return ret;
  1930. }
  1931. bool DBServiceSet::DeleteUserById(int Id)
  1932. {
  1933. QSqlDatabase db = SqlDBHelper::getDatabase();
  1934. QSqlQuery query(db);
  1935. bool ret = false;
  1936. QString deleteSql = QString("DELETE FROM t_user_info WHERE id = %1").arg(Id);
  1937. if (query.exec(deleteSql)) {
  1938. ret = true;
  1939. qDebug() << "deleteSql success!";
  1940. } else {
  1941. qDebug() << query.lastError();
  1942. }
  1943. return ret;
  1944. }
  1945. //删除除管理管外的所有用户
  1946. bool DBServiceSet::DeleteUserByRole(int roleType)
  1947. {
  1948. QSqlDatabase db = SqlDBHelper::getDatabase();
  1949. QSqlQuery query(db);
  1950. bool ret = false;
  1951. QString deleteSql = QString("DELETE FROM t_user_info WHERE role != %1").arg(roleType);
  1952. if (query.exec(deleteSql)) {
  1953. ret = true;
  1954. qDebug() << "deleteSql success!";
  1955. } else {
  1956. qDebug() << query.lastError();
  1957. }
  1958. return ret;
  1959. }
  1960. bool DBServiceSet::QueryUserByNoAndPassword(QFUser *userInfo, QString userNo, QString password)
  1961. {
  1962. QSqlDatabase db = SqlDBHelper::getDatabase();
  1963. QSqlQuery query(db);
  1964. bool ret = false;
  1965. QString selectSql = QString("SELECT id, user_name,user_no,password,role,post, "
  1966. "major,work_position,education_degree,phone,remark,project_id,"
  1967. "write_time from "
  1968. "t_user_info WHERE user_no = %1 and password = %2")
  1969. .arg("'" + userNo + "'")
  1970. .arg("'" + password + "'");
  1971. if (query.exec(selectSql)) {
  1972. if (query.next()) {
  1973. if (query.isNull(0) == false) {
  1974. userInfo->id = query.value(0).toInt();
  1975. userInfo->userName = query.value(1).toString();
  1976. userInfo->userNo = query.value(2).toString();
  1977. userInfo->password = query.value(3).toString();
  1978. userInfo->role = static_cast<QFUser::Role>(query.value(4).toInt());
  1979. userInfo->post = query.value(5).toString();
  1980. userInfo->major = query.value(6).toString();
  1981. userInfo->workPosition = query.value(7).toString();
  1982. userInfo->educationDegree = query.value(8).toString();
  1983. userInfo->phone = query.value(9).toString();
  1984. userInfo->remark = query.value(10).toString();
  1985. userInfo->projectId = query.value(11).toString();
  1986. userInfo->writeTime = query.value(12).toString();
  1987. }
  1988. ret = true;
  1989. }
  1990. } else {
  1991. qDebug() << query.lastError();
  1992. }
  1993. return ret;
  1994. }
  1995. bool DBServiceSet::QueryUserByNo(QFUser *userInfo, QString userNo)
  1996. {
  1997. QSqlDatabase db = SqlDBHelper::getDatabase();
  1998. QSqlQuery query(db);
  1999. bool ret = false;
  2000. QString selectSql = QString("SELECT id, user_name,user_no,password,role,post, "
  2001. "major,work_position,education_degree,phone,remark,project_id,"
  2002. "write_time from "
  2003. "t_user_info WHERE user_no = %1 ")
  2004. .arg("'" + userNo + "'");
  2005. if (query.exec(selectSql)) {
  2006. if (query.next()) {
  2007. if (query.isNull(0) == false) {
  2008. userInfo->id = query.value(0).toInt();
  2009. userInfo->userName = query.value(1).toString();
  2010. userInfo->userNo = query.value(2).toString();
  2011. userInfo->password = query.value(3).toString();
  2012. userInfo->role = static_cast<QFUser::Role>(query.value(4).toInt());
  2013. userInfo->post = query.value(5).toString();
  2014. userInfo->major = query.value(6).toString();
  2015. userInfo->workPosition = query.value(7).toString();
  2016. userInfo->educationDegree = query.value(8).toString();
  2017. userInfo->phone = query.value(9).toString();
  2018. userInfo->remark = query.value(10).toString();
  2019. userInfo->projectId = query.value(11).toString();
  2020. userInfo->writeTime = query.value(12).toString();
  2021. }
  2022. ret = true;
  2023. }
  2024. } else {
  2025. qDebug() << query.lastError();
  2026. }
  2027. return ret;
  2028. }
  2029. bool DBServiceSet::QueryUserInfoById2(QFUser *userInfo, int userId)
  2030. {
  2031. QSqlDatabase db = SqlDBHelper::getDatabase2();
  2032. QSqlQuery query(db);
  2033. bool ret = false;
  2034. QString selectSql = QString("SELECT id, user_name,user_no,password,role,post, "
  2035. "major,work_position,education_degree,phone,remark,project_id,"
  2036. "write_time from "
  2037. "t_user_info WHERE id = %1")
  2038. .arg(userId);
  2039. qDebug() << selectSql;
  2040. if (query.exec(selectSql)) {
  2041. if (query.next()) {
  2042. if (query.isNull(0) == false) {
  2043. userInfo->id = query.value(0).toInt();
  2044. userInfo->userName = query.value(1).toString();
  2045. userInfo->userNo = query.value(2).toString();
  2046. userInfo->password = query.value(3).toString();
  2047. userInfo->role = static_cast<QFUser::Role>(query.value(4).toInt());
  2048. userInfo->post = query.value(5).toString();
  2049. userInfo->major = query.value(6).toString();
  2050. userInfo->workPosition = query.value(7).toString();
  2051. userInfo->educationDegree = query.value(8).toString();
  2052. userInfo->phone = query.value(9).toString();
  2053. userInfo->remark = query.value(10).toString();
  2054. userInfo->projectId = query.value(11).toString();
  2055. userInfo->writeTime = query.value(12).toString();
  2056. }
  2057. ret = true;
  2058. }
  2059. } else {
  2060. qDebug() << query.lastError();
  2061. }
  2062. return ret;
  2063. }
  2064. bool DBServiceSet::UpdateUserInfo2(const QFUser &userInfo)
  2065. {
  2066. bool ret = false;
  2067. try {
  2068. Transaction t(SqlDBHelper::getDatabase2());
  2069. t.update("t_user_info")
  2070. .set("user_name", userInfo.userName)
  2071. .set("user_no", userInfo.userNo)
  2072. .set("password", userInfo.password)
  2073. .set("role", userInfo.role)
  2074. .set("post", userInfo.post)
  2075. .set("major", userInfo.major)
  2076. .set("work_position", userInfo.workPosition)
  2077. .set("education_degree", userInfo.educationDegree)
  2078. .set("phone", userInfo.phone)
  2079. .set("remark", userInfo.remark)
  2080. .set("project_id", userInfo.projectId)
  2081. .where("id=?", userInfo.id);
  2082. t.commit();
  2083. ret = true;
  2084. } catch (const DBException &ex) {
  2085. qDebug() << ex.lastError.text();
  2086. }
  2087. return ret;
  2088. }
  2089. int DBServiceSet::AddUserInfo2(const QFUser &userInfo)
  2090. {
  2091. int returnId = -1;
  2092. try {
  2093. Transaction t(SqlDBHelper::getDatabase2());
  2094. InsertQuery query = t.insertInto("t_user_info (id,user_name, user_no, password, role, post, "
  2095. "major,work_position,education_degree,phone,project_id,write_time)");
  2096. NonQueryResult result =
  2097. query.values(userInfo.id, userInfo.userName, userInfo.userNo, userInfo.password, userInfo.role,
  2098. userInfo.post, userInfo.major, userInfo.workPosition, userInfo.educationDegree,
  2099. userInfo.phone, userInfo.projectId, userInfo.writeTime)
  2100. .exec();
  2101. t.commit();
  2102. returnId = result.lastInsertId().toInt();
  2103. } catch (const DBException &ex) {
  2104. qDebug() << ex.lastError.text();
  2105. returnId = -1;
  2106. }
  2107. return returnId;
  2108. }
  2109. //////////////////////用户信息表-end////////////////////
  2110. //////////////////////评估方案信息表-start////////////////////
  2111. bool DBServiceSet::AddPlanInfo(const PlanInfo &planInfo)
  2112. {
  2113. bool ret = false;
  2114. try {
  2115. Transaction t(SqlDBHelper::getDatabase());
  2116. InsertQuery q = t.insertInto("t_plan_info (plan_name, engineer_id, desc,create_time)");
  2117. q.values(planInfo.planName, planInfo.engineerId, planInfo.desc,
  2118. QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz"))
  2119. .exec();
  2120. t.commit();
  2121. ret = true;
  2122. } catch (const DBException &ex) {
  2123. qDebug() << ex.lastError.text();
  2124. }
  2125. return ret;
  2126. }
  2127. bool DBServiceSet::UpdatePlanInfo(const PlanInfo &planInfo)
  2128. {
  2129. bool ret = false;
  2130. try {
  2131. Transaction t(SqlDBHelper::getDatabase());
  2132. t.update("t_plan_info")
  2133. .set("plan_name", planInfo.planName)
  2134. .set("engineer_id", planInfo.engineerId)
  2135. .set("desc", planInfo.desc)
  2136. .set("update_time", QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz"))
  2137. .where("id=?", planInfo.id);
  2138. t.commit();
  2139. ret = true;
  2140. } catch (const DBException &ex) {
  2141. qDebug() << ex.lastError.text();
  2142. }
  2143. return ret;
  2144. }
  2145. bool DBServiceSet::QueryPlanInfoById(PlanInfo *planInfo, int planId)
  2146. {
  2147. bool ret = false;
  2148. try {
  2149. Transaction t(SqlDBHelper::getDatabase());
  2150. QString selectSql = QString("SELECT id, plan_name,engineer_id, desc from t_plan_info "
  2151. " WHERE id = %1")
  2152. .arg(planId);
  2153. QueryResult queryResult = t.execQuery(selectSql);
  2154. if (queryResult.next()) {
  2155. planInfo->id = queryResult.value(0).toInt();
  2156. planInfo->planName = queryResult.value(1).toString();
  2157. planInfo->engineerId = queryResult.value(2).toInt();
  2158. planInfo->desc = queryResult.value(3).toString();
  2159. ret = true;
  2160. }
  2161. } catch (const DBException &ex) {
  2162. qDebug() << ex.lastError.text();
  2163. }
  2164. return ret;
  2165. }
  2166. bool DBServiceSet::QueryPlanListByColumnAndColumnValue(QList<PlanInfo *> *planInfoList, QString columnName,
  2167. QString columnValue)
  2168. {
  2169. bool ret = false;
  2170. try {
  2171. Transaction t(SqlDBHelper::getDatabase());
  2172. QString selectSql = QString("SELECT id, plan_name,engineer_id, desc from t_plan_info "
  2173. " WHERE %1 = '%2'")
  2174. .arg(columnName)
  2175. .arg(columnValue);
  2176. QueryResult queryResult = t.execQuery(selectSql);
  2177. while (queryResult.next()) {
  2178. PlanInfo *planInfo = new PlanInfo();
  2179. planInfo->id = queryResult.value(0).toInt();
  2180. planInfo->planName = queryResult.value(1).toString();
  2181. planInfo->engineerId = queryResult.value(2).toInt();
  2182. planInfo->desc = queryResult.value(3).toString();
  2183. planInfoList->append(planInfo);
  2184. ret = true;
  2185. }
  2186. } catch (const DBException &ex) {
  2187. qDebug() << ex.lastError.text();
  2188. }
  2189. return ret;
  2190. }
  2191. bool DBServiceSet::QueryPlanList(QList<PlanInfo *> *planInfoList)
  2192. {
  2193. bool ret = false;
  2194. try {
  2195. Transaction t(SqlDBHelper::getDatabase());
  2196. QString selectSql = QString("SELECT id, plan_name,engineer_id, desc from t_plan_info ");
  2197. QueryResult queryResult = t.execQuery(selectSql);
  2198. while (queryResult.next()) {
  2199. PlanInfo *planInfo = new PlanInfo();
  2200. planInfo->id = queryResult.value(0).toInt();
  2201. planInfo->planName = queryResult.value(1).toString();
  2202. planInfo->engineerId = queryResult.value(2).toInt();
  2203. planInfo->desc = queryResult.value(3).toString();
  2204. planInfoList->append(planInfo);
  2205. ret = true;
  2206. }
  2207. } catch (const DBException &ex) {
  2208. qDebug() << ex.lastError.text();
  2209. }
  2210. return ret;
  2211. }
  2212. bool DBServiceSet::DeletePlanById(int planId)
  2213. {
  2214. QSqlDatabase db = SqlDBHelper::getDatabase();
  2215. QSqlQuery query(db);
  2216. bool ret = false;
  2217. QString deleteSql = QString("DELETE FROM t_plan_info WHERE id = %1").arg(planId);
  2218. if (query.exec(deleteSql)) {
  2219. ret = true;
  2220. qDebug() << "deleteSql success!";
  2221. } else {
  2222. qDebug() << query.lastError();
  2223. }
  2224. return ret;
  2225. }
  2226. //////////////////////评估方案信息表-end////////////////////
  2227. //////////////////////指标体系评估方案关系信息表-start////////////////////
  2228. /*批量信息新增*/
  2229. bool DBServiceSet::AddIndexSetPlanInfoList(const QList<IndexSetPlanInfo *> planInfoList)
  2230. {
  2231. bool ret = false;
  2232. try {
  2233. Transaction t(SqlDBHelper::getDatabase());
  2234. QString insertTime = QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz");
  2235. for (int i = 0; i < planInfoList.length(); i++) {
  2236. IndexSetPlanInfo *indexSetPlanInfo = planInfoList.at(i);
  2237. InsertQuery query = t.insertInto("t_plan_index (index_set_id, plan_id, weight, create_time)");
  2238. query.values(indexSetPlanInfo->indexSetId, indexSetPlanInfo->planId, indexSetPlanInfo->weight, insertTime)
  2239. .exec();
  2240. }
  2241. t.commit();
  2242. ret = true;
  2243. } catch (const DBException &ex) {
  2244. qDebug() << ex.lastError.text();
  2245. }
  2246. return ret;
  2247. }
  2248. bool DBServiceSet::UpdateIndexSetPlanInfo(const IndexSetPlanInfo &planInfo)
  2249. {
  2250. bool ret = false;
  2251. try {
  2252. Transaction t(SqlDBHelper::getDatabase());
  2253. t.update("t_plan_index")
  2254. .set("weight", planInfo.weight)
  2255. .set("update_time", QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz"))
  2256. .where("index_set_id =? and plan_id=?", planInfo.indexSetId, planInfo.planId);
  2257. t.commit();
  2258. ret = true;
  2259. } catch (const DBException &ex) {
  2260. qDebug() << ex.lastError.text();
  2261. }
  2262. return ret;
  2263. }
  2264. bool DBServiceSet::UpdateIndexSetPlanInfoList(const QList<IndexSetPlanInfo *> planInfoList)
  2265. {
  2266. bool ret = false;
  2267. try {
  2268. Transaction t(SqlDBHelper::getDatabase());
  2269. QString updateTime = QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz");
  2270. for (int i = 0; i < planInfoList.length(); i++) {
  2271. IndexSetPlanInfo *indexSetPlanInfo = planInfoList.at(i);
  2272. t.update("t_plan_index")
  2273. .set("weight", indexSetPlanInfo->weight)
  2274. .set("update_time", updateTime)
  2275. .where("index_set_id =? and plan_id=?", indexSetPlanInfo->indexSetId, indexSetPlanInfo->planId);
  2276. }
  2277. t.commit();
  2278. ret = true;
  2279. } catch (const DBException &ex) {
  2280. qDebug() << ex.lastError.text();
  2281. }
  2282. return ret;
  2283. }
  2284. bool DBServiceSet::DeleteIndexSetPlanById(int Id)
  2285. {
  2286. QSqlDatabase db = SqlDBHelper::getDatabase();
  2287. QSqlQuery query(db);
  2288. bool ret = false;
  2289. QString deleteSql = QString("DELETE FROM t_plan_index WHERE id = %1").arg(Id);
  2290. if (query.exec(deleteSql)) {
  2291. ret = true;
  2292. qDebug() << "deleteSql success!";
  2293. } else {
  2294. qDebug() << query.lastError();
  2295. }
  2296. return ret;
  2297. }
  2298. bool DBServiceSet::DeleteIndexSetPlanByPlanId(int planId)
  2299. {
  2300. QSqlDatabase db = SqlDBHelper::getDatabase();
  2301. QSqlQuery query(db);
  2302. bool ret = false;
  2303. QString deleteSql = QString("DELETE FROM t_plan_index WHERE plan_id = %1").arg(planId);
  2304. if (query.exec(deleteSql)) {
  2305. ret = true;
  2306. qDebug() << "deleteSql success!";
  2307. } else {
  2308. qDebug() << query.lastError();
  2309. }
  2310. return ret;
  2311. }
  2312. bool DBServiceSet::DeleteIndexSetPlanByIndexSetId(int indexSetId)
  2313. {
  2314. QSqlDatabase db = SqlDBHelper::getDatabase();
  2315. QSqlQuery query(db);
  2316. bool ret = false;
  2317. QString deleteSql = QString("DELETE FROM t_plan_index WHERE index_set_id = %1").arg(indexSetId);
  2318. if (query.exec(deleteSql)) {
  2319. ret = true;
  2320. qDebug() << "deleteSql success!";
  2321. } else {
  2322. qDebug() << query.lastError();
  2323. }
  2324. return ret;
  2325. }
  2326. bool DBServiceSet::QueryIndexSetPlanInfo(IndexSetPlanInfo *planInfo, int Id)
  2327. {
  2328. bool ret = false;
  2329. try {
  2330. Transaction t(SqlDBHelper::getDatabase());
  2331. QString selectSql = QString("SELECT id, plan_id,index_set_id,weight from t_plan_index "
  2332. " WHERE id = %1")
  2333. .arg(Id);
  2334. QueryResult queryResult = t.execQuery(selectSql);
  2335. if (queryResult.next()) {
  2336. planInfo->id = queryResult.value(0).toInt();
  2337. planInfo->planId = queryResult.value(1).toInt();
  2338. planInfo->indexSetId = queryResult.value(2).toInt();
  2339. planInfo->weight = queryResult.value(3).toDouble();
  2340. ret = true;
  2341. }
  2342. } catch (const DBException &ex) {
  2343. qDebug() << ex.lastError.text();
  2344. }
  2345. return ret;
  2346. }
  2347. bool DBServiceSet::QueryIndexSetPlanListByColumnAndColumnValue(QList<IndexSetPlanInfo *> *planInfoList,
  2348. QString columnName, QString columnValue)
  2349. {
  2350. bool ret = false;
  2351. try {
  2352. Transaction t(SqlDBHelper::getDatabase());
  2353. QString selectSql = QString("SELECT id, plan_id,index_set_id,weight from "
  2354. "t_plan_index where %1 = '%2' ")
  2355. .arg(columnName)
  2356. .arg(columnValue);
  2357. QueryResult queryResult = t.execQuery(selectSql);
  2358. while (queryResult.next()) {
  2359. IndexSetPlanInfo *planInfo = new IndexSetPlanInfo();
  2360. planInfo->id = queryResult.value(0).toInt();
  2361. planInfo->planId = queryResult.value(1).toInt();
  2362. planInfo->indexSetId = queryResult.value(2).toInt();
  2363. planInfo->weight = queryResult.value(3).toDouble();
  2364. planInfoList->append(planInfo);
  2365. ret = true;
  2366. }
  2367. } catch (const DBException &ex) {
  2368. qDebug() << ex.lastError.text();
  2369. }
  2370. return ret;
  2371. }
  2372. //////////////////////指标体系评估方案关系信息表-end////////////////////
  2373. //////////////////////用户工程配置-start////////////////////
  2374. int DBServiceSet::AddUserConfig(const UserConfig &cfg)
  2375. {
  2376. int returnId = -1;
  2377. try {
  2378. returnId = getNextId("t_user_config");
  2379. Transaction t(SqlDBHelper::getDatabase());
  2380. InsertQuery query = t.insertInto("t_user_config (user_id, engineer_id, "
  2381. "weight, create_time, update_time,user_name)");
  2382. NonQueryResult result =
  2383. query.values(cfg.userId, cfg.engineerId, cfg.weight, cfg.createTime, cfg.updateTime, cfg.userName)
  2384. .exec();
  2385. t.commit();
  2386. returnId = result.lastInsertId().toInt();
  2387. } catch (const DBException &ex) {
  2388. qDebug() << ex.lastError.text();
  2389. returnId = -1;
  2390. }
  2391. return returnId;
  2392. }
  2393. //添加配置信息
  2394. bool DBServiceSet::AddUserConfigList(QList<UserConfig *> cfgList)
  2395. {
  2396. bool ret = false;
  2397. try {
  2398. Transaction t(SqlDBHelper::getDatabase());
  2399. for (auto cfg : cfgList) {
  2400. InsertQuery query = t.insertInto("t_user_config (user_id, engineer_id, "
  2401. "weight, create_time, update_time,user_name)");
  2402. NonQueryResult result = query.values(cfg->userId, cfg->engineerId, cfg->weight * 100, cfg->createTime,
  2403. cfg->updateTime, cfg->userName)
  2404. .exec();
  2405. t.commit();
  2406. }
  2407. ret = true;
  2408. } catch (const DBException &ex) {
  2409. qDebug() << ex.lastError.text();
  2410. }
  2411. return ret;
  2412. }
  2413. int DBServiceSet::QueryUserWeightSum(int engineerId)
  2414. {
  2415. int returnId = -1;
  2416. try {
  2417. Transaction t(SqlDBHelper::getDatabase());
  2418. QString selectSql = QString("SELECT sum(weight) from t_user_config "
  2419. " WHERE engineer_id = %1 and is_valid =1")
  2420. .arg(engineerId);
  2421. QueryResult queryResult = t.execQuery(selectSql);
  2422. if (queryResult.next()) {
  2423. returnId = queryResult.value(0).toInt();
  2424. }
  2425. } catch (const DBException &ex) {
  2426. qDebug() << ex.lastError.text();
  2427. returnId = -1;
  2428. }
  2429. return returnId;
  2430. }
  2431. int DBServiceSet::QueryUserWeightSum(int engineerId, int userId)
  2432. {
  2433. int returnId = -1;
  2434. try {
  2435. Transaction t(SqlDBHelper::getDatabase());
  2436. QString selectSql = QString("SELECT sum(weight) from t_user_config "
  2437. " WHERE engineer_id = %1 and user_id != %2 and is_valid =1")
  2438. .arg(engineerId)
  2439. .arg(userId);
  2440. QueryResult queryResult = t.execQuery(selectSql);
  2441. if (queryResult.next()) {
  2442. returnId = queryResult.value(0).toInt();
  2443. }
  2444. } catch (const DBException &ex) {
  2445. qDebug() << ex.lastError.text();
  2446. returnId = -1;
  2447. }
  2448. return returnId;
  2449. }
  2450. bool DBServiceSet::UpdateUserConfig(const UserConfig &cfg)
  2451. {
  2452. bool ret = false;
  2453. try {
  2454. Transaction t(SqlDBHelper::getDatabase());
  2455. t.update("t_user_config")
  2456. .set("user_id", cfg.userId)
  2457. .set("engineer_id", cfg.engineerId)
  2458. .set("weight", cfg.weight)
  2459. .set("user_name", cfg.userName)
  2460. .set("update_time", QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz"))
  2461. .where("id=?", cfg.id);
  2462. t.commit();
  2463. ret = true;
  2464. } catch (const DBException &ex) {
  2465. qDebug() << ex.lastError.text();
  2466. }
  2467. return ret;
  2468. }
  2469. bool DBServiceSet::UpdateUserValid(int userId, int flag)
  2470. {
  2471. bool ret = false;
  2472. try {
  2473. Transaction t(SqlDBHelper::getDatabase());
  2474. t.update("t_user_config")
  2475. .set("is_valid", flag)
  2476. .set("update_time", QDateTime::currentDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz"))
  2477. .where("user_id=?", userId);
  2478. t.commit();
  2479. ret = true;
  2480. } catch (const DBException &ex) {
  2481. qDebug() << ex.lastError.text();
  2482. }
  2483. return ret;
  2484. }
  2485. bool DBServiceSet::QueryUserConfigInfoById(UserConfig *cfg, int cfgId)
  2486. {
  2487. bool ret = false;
  2488. try {
  2489. Transaction t(SqlDBHelper::getDatabase());
  2490. QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
  2491. "create_time, update_time,user_name from t_user_config "
  2492. " WHERE id = %1")
  2493. .arg(cfgId);
  2494. QueryResult queryResult = t.execQuery(selectSql);
  2495. if (queryResult.next()) {
  2496. cfg->id = queryResult.value(0).toInt();
  2497. cfg->userId = queryResult.value(1).toInt();
  2498. cfg->engineerId = queryResult.value(2).toInt();
  2499. cfg->weight = queryResult.value(3).toDouble();
  2500. cfg->createTime = queryResult.value(4).toString();
  2501. cfg->updateTime = queryResult.value(5).toString();
  2502. cfg->userName = queryResult.value(6).toString();
  2503. ret = true;
  2504. }
  2505. } catch (const DBException &ex) {
  2506. qDebug() << ex.lastError.text();
  2507. }
  2508. return ret;
  2509. }
  2510. bool DBServiceSet::QueryUserConfigListInfoByUserIdAndEngineerId(UserConfig *cfg, int userId, int engineerId)
  2511. {
  2512. bool ret = false;
  2513. try {
  2514. Transaction t(SqlDBHelper::getDatabase());
  2515. QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
  2516. "create_time, update_time,user_name from t_user_config "
  2517. " WHERE user_id = %1 and engineer_id = %2")
  2518. .arg(userId)
  2519. .arg(engineerId);
  2520. QueryResult queryResult = t.execQuery(selectSql);
  2521. if (queryResult.next()) {
  2522. cfg->id = queryResult.value(0).toInt();
  2523. cfg->userId = queryResult.value(1).toInt();
  2524. cfg->engineerId = queryResult.value(2).toInt();
  2525. cfg->weight = queryResult.value(3).toDouble();
  2526. cfg->createTime = queryResult.value(4).toString();
  2527. cfg->updateTime = queryResult.value(5).toString();
  2528. cfg->userName = queryResult.value(6).toString();
  2529. ret = true;
  2530. }
  2531. } catch (const DBException &ex) {
  2532. qDebug() << ex.lastError.text();
  2533. }
  2534. return ret;
  2535. }
  2536. bool DBServiceSet::QueryUserConfigListInfoByEngineerId(QList<UserConfig *> *userCfgList, int engineerId)
  2537. {
  2538. bool ret = false;
  2539. try {
  2540. Transaction t(SqlDBHelper::getDatabase());
  2541. QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
  2542. "create_time, update_time,user_name from t_user_config"
  2543. " WHERE engineer_id = %1 and is_valid =1 ")
  2544. .arg(engineerId);
  2545. QueryResult queryResult = t.execQuery(selectSql);
  2546. while (queryResult.next()) {
  2547. UserConfig *cfg = new UserConfig();
  2548. cfg->id = queryResult.value(0).toInt();
  2549. cfg->userId = queryResult.value(1).toInt();
  2550. cfg->engineerId = queryResult.value(2).toInt();
  2551. cfg->weight = queryResult.value(3).toDouble();
  2552. cfg->createTime = queryResult.value(4).toString();
  2553. cfg->updateTime = queryResult.value(5).toString();
  2554. cfg->userName = queryResult.value(6).toString();
  2555. userCfgList->append(cfg);
  2556. }
  2557. ret = true;
  2558. } catch (const DBException &ex) {
  2559. qDebug() << ex.lastError.text();
  2560. }
  2561. return ret;
  2562. }
  2563. bool DBServiceSet::QueryUserConfigListInfoByUserId(QList<UserConfig *> *userCfgList, int userId)
  2564. {
  2565. bool ret = false;
  2566. try {
  2567. Transaction t(SqlDBHelper::getDatabase());
  2568. QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
  2569. "create_time, update_time,user_name from t_user_config"
  2570. " WHERE user_id = %1 and is_valid=1 ")
  2571. .arg(userId);
  2572. QueryResult queryResult = t.execQuery(selectSql);
  2573. while (queryResult.next()) {
  2574. UserConfig *cfg = new UserConfig();
  2575. cfg->id = queryResult.value(0).toInt();
  2576. cfg->userId = queryResult.value(1).toInt();
  2577. cfg->engineerId = queryResult.value(2).toInt();
  2578. cfg->weight = queryResult.value(3).toDouble();
  2579. cfg->createTime = queryResult.value(4).toString();
  2580. cfg->updateTime = queryResult.value(5).toString();
  2581. cfg->userName = queryResult.value(6).toString();
  2582. userCfgList->append(cfg);
  2583. }
  2584. ret = true;
  2585. } catch (const DBException &ex) {
  2586. qDebug() << ex.lastError.text();
  2587. }
  2588. return ret;
  2589. }
  2590. bool DBServiceSet::QueryAllUserConfig(QList<UserConfig *> *userCfgList)
  2591. {
  2592. bool ret = false;
  2593. try {
  2594. Transaction t(SqlDBHelper::getDatabase());
  2595. QString selectSql = QString("SELECT id, user_id, engineer_id, weight, "
  2596. "create_time, update_time,user_name from t_user_config");
  2597. QueryResult queryResult = t.execQuery(selectSql);
  2598. while (queryResult.next()) {
  2599. UserConfig *cfg = new UserConfig();
  2600. cfg->id = queryResult.value(0).toInt();
  2601. cfg->userId = queryResult.value(1).toInt();
  2602. cfg->engineerId = queryResult.value(2).toInt();
  2603. cfg->weight = queryResult.value(3).toDouble();
  2604. cfg->createTime = queryResult.value(4).toString();
  2605. cfg->updateTime = queryResult.value(5).toString();
  2606. cfg->userName = queryResult.value(6).toString();
  2607. userCfgList->append(cfg);
  2608. }
  2609. ret = true;
  2610. } catch (const DBException &ex) {
  2611. qDebug() << ex.lastError.text();
  2612. }
  2613. return ret;
  2614. }
  2615. bool DBServiceSet::DeleteUserConfigById(int cfgId)
  2616. {
  2617. QSqlDatabase db = SqlDBHelper::getDatabase();
  2618. QSqlQuery query(db);
  2619. bool ret = false;
  2620. QString deleteSql = QString("DELETE FROM t_user_config WHERE id = %1").arg(cfgId);
  2621. if (query.exec(deleteSql)) {
  2622. ret = true;
  2623. qDebug() << "deleteSql success!";
  2624. } else {
  2625. qDebug() << query.lastError();
  2626. }
  2627. return ret;
  2628. }
  2629. bool DBServiceSet::DeleteUserConfigByEngineerId(int enjId)
  2630. {
  2631. QSqlDatabase db = SqlDBHelper::getDatabase();
  2632. QSqlQuery query(db);
  2633. bool ret = false;
  2634. QString deleteSql = QString("DELETE FROM t_user_config WHERE engineer_id = %1").arg(enjId);
  2635. if (query.exec(deleteSql)) {
  2636. ret = true;
  2637. qDebug() << "deleteSql success!";
  2638. } else {
  2639. qDebug() << query.lastError();
  2640. }
  2641. return ret;
  2642. }
  2643. bool DBServiceSet::DeleteUserConfigByUserId(int userId)
  2644. {
  2645. QSqlDatabase db = SqlDBHelper::getDatabase();
  2646. QSqlQuery query(db);
  2647. bool ret = false;
  2648. QString deleteSql = QString("DELETE FROM t_user_config WHERE user_id = %1").arg(userId);
  2649. if (query.exec(deleteSql)) {
  2650. ret = true;
  2651. qDebug() << "deleteSql success!";
  2652. } else {
  2653. qDebug() << query.lastError();
  2654. }
  2655. return ret;
  2656. }
  2657. //////////////////////用户工程配置-end////////////////////