shkjdb.cpp 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. #include "shkjdb.h"
  2. #include <QtSql>
  3. ShkjDB::ShkjDB()
  4. {
  5. }
  6. int ShkjDB::updateShkjCheckInfos(QMultiMap<QString, QString> maps, QString userCode)
  7. {
  8. QSqlQuery query;
  9. QSqlDatabase::database().transaction();
  10. int cols = maps.uniqueKeys().size();
  11. int rows = 0;
  12. if(cols!=0)
  13. {
  14. rows = maps.size()/cols;
  15. }
  16. //add-on-2013-9-23 for delete outdate-shhj-check-info
  17. query.clear();
  18. query.exec("delete from user.shxz_shkj where deal_status='0' or deal_status='1'");
  19. //end
  20. for(int i=0;i<rows;i++)
  21. {
  22. QString uqrycode = maps.values("uqrycode").at(i);
  23. QString detail = maps.values("detail").at(i);
  24. QString hmzs = maps.values("hmzs").at(i);
  25. QString ltf_tj = maps.values("ltf_tj").at(i);
  26. QString ltf_list = maps.values("ltf_list").at(i);
  27. QString forecast_tj = maps.values("forecast_tj").at(i);
  28. QString forecast_list = maps.values("forecast_list").at(i);
  29. QString inserttime = maps.values("inserttime").at(i);
  30. QString finishtime = maps.values("finishtime").at(i);
  31. QString dealstatus = maps.values("dealstatus").at(i);
  32. QString ltf_id = maps.values("ltfid").at(i);
  33. QString memo = maps.values("memo").at(i);
  34. query.clear();
  35. query.prepare("delete from user.FILE_UPLOAD where SERVER_FID = ?");
  36. query.addBindValue(ltf_id);
  37. query.exec();
  38. query.clear();
  39. query.prepare("select CACHE_LOCAL_PATH from user.shxz_shkj where LTF_ID = ?");
  40. query.addBindValue(ltf_id);
  41. query.exec();
  42. if(query.next())
  43. {
  44. query.clear();
  45. query.prepare("update user.shxz_shkj( \
  46. set QUERY_CODE=?,DETAIL=?,HMZS=?,LTF_TJ=?,LTF_LIST=?,FORCAST_TJ=? ,\
  47. FORCAST_LIST=?,INSERT_TIME=? ,FINISH_TIME=?,DEAL_STATUS=?,LTF_ID=?,memo=?,USER_CODE=?\
  48. where ltf_id=?) \
  49. VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)");
  50. QVariantList vars;
  51. vars<<uqrycode<<detail<<hmzs<<ltf_tj<<ltf_list<<forecast_tj<<forecast_list;
  52. vars<<inserttime<<finishtime<<dealstatus<<ltf_id<<memo<<userCode<<ltf_id;
  53. for(int i=0;i<vars.size();i++)
  54. {
  55. query.addBindValue(vars.at(i));
  56. }
  57. }
  58. else
  59. {
  60. query.clear();
  61. query.prepare("insert into user.shxz_shkj( \
  62. QUERY_CODE,DETAIL,HMZS,LTF_TJ,LTF_LIST,FORCAST_TJ ,\
  63. FORCAST_LIST,INSERT_TIME ,FINISH_TIME,DEAL_STATUS,LTF_ID,memo,USER_CODE) \
  64. VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)");
  65. QVariantList vars;
  66. vars<<uqrycode<<detail<<hmzs<<ltf_tj<<ltf_list<<forecast_tj<<forecast_list;
  67. vars<<inserttime<<finishtime<<dealstatus<<ltf_id<<memo<<userCode;
  68. for(int i=0;i<vars.size();i++)
  69. {
  70. query.addBindValue(vars.at(i));
  71. }
  72. }
  73. query.exec();
  74. }
  75. QSqlDatabase::database().commit();
  76. return 0;
  77. }
  78. QMultiMap<QString, QString> ShkjDB::getShkjCheckInfos(QString userCode)
  79. {
  80. QMultiMap<QString ,QString> values;
  81. QSqlQuery query;
  82. query.prepare("select QUERY_CODE,DETAIL,HMZS,LTF_TJ,LTF_LIST,FORCAST_TJ ,\
  83. FORCAST_LIST,INSERT_TIME ,FINISH_TIME,DEAL_STATUS,LTF_ID,MEMO \
  84. from user.SHXZ_SHKJ where user_code=? and (isdel='N' or isdel is null or isdel='')");
  85. QVariantList vars;
  86. vars<<userCode;
  87. for(int i=0;i<vars.size();i++)
  88. {
  89. query.addBindValue(vars.at(i));
  90. }
  91. query.exec();
  92. while(query.next())
  93. {
  94. int i=0;
  95. values.insert("uqrycode",query.value(i++).toString());
  96. values.insert("detail",query.value(i++).toString());
  97. values.insert("hmzs",query.value(i++).toString());
  98. values.insert("ltf_tj",query.value(i++).toString());
  99. values.insert("ltf_list",query.value(i++).toString());
  100. values.insert("forecast_tj",query.value(i++).toString());
  101. values.insert("forecast_list",query.value(i++).toString());
  102. values.insert("inserttime",query.value(i++).toString());
  103. values.insert("finishtime",query.value(i++).toString());
  104. values.insert("dealstatus",query.value(i++).toString());
  105. values.insert("ltfid",query.value(i++).toString());
  106. values.insert("memo",query.value(i++).toString());
  107. }
  108. return values;
  109. }
  110. QMultiMap<QString, QString> ShkjDB::getShkjCheckInfos(QString userCode, QString dealstatus)
  111. {
  112. QMultiMap<QString ,QString> values;
  113. QSqlQuery query;
  114. QVariantList vars;
  115. if(dealstatus.isEmpty())
  116. {
  117. // query.prepare("select QUERY_CODE,DETAIL,HMZS,LTF_TJ,LTF_LIST,FORCAST_TJ ,\
  118. // FORCAST_LIST,INSERT_TIME ,FINISH_TIME,DEAL_STATUS,LTF_ID \
  119. // from user.shxz_shkj where user_code=? and (deal_status = '2' or deal_status='3')");
  120. query.prepare("select QUERY_CODE,DETAIL,HMZS,LTF_TJ,LTF_LIST,FORCAST_TJ ,\
  121. FORCAST_LIST,INSERT_TIME ,FINISH_TIME,DEAL_STATUS,LTF_ID,memo \
  122. from user.SHXZ_SHKJ where user_code=? and (isdel='N' or isdel is null or isdel='')");
  123. vars<<userCode;
  124. }
  125. else
  126. {
  127. query.prepare("select QUERY_CODE,DETAIL,HMZS,LTF_TJ,LTF_LIST,FORCAST_TJ ,\
  128. FORCAST_LIST,INSERT_TIME ,FINISH_TIME,DEAL_STATUS,LTF_ID,memo \
  129. from user.SHXZ_SHKJ where user_code=? and deal_status = ? and (isdel='N' or isdel is null or isdel='')");
  130. vars<<userCode<<dealstatus;
  131. }
  132. for(int i=0;i<vars.size();i++)
  133. {
  134. query.addBindValue(vars.at(i));
  135. }
  136. query.exec();
  137. while(query.next())
  138. {
  139. int i=0;
  140. values.insert("uqrycode",query.value(i++).toString());
  141. values.insert("detail",query.value(i++).toString());
  142. values.insert("hmzs",query.value(i++).toString());
  143. values.insert("ltf_tj",query.value(i++).toString());
  144. values.insert("ltf_list",query.value(i++).toString());
  145. values.insert("forecast_tj",query.value(i++).toString());
  146. values.insert("forecast_list",query.value(i++).toString());
  147. values.insert("inserttime",query.value(i++).toString());
  148. values.insert("finishtime",query.value(i++).toString());
  149. values.insert("dealstatus",query.value(i++).toString());
  150. values.insert("ltfid",query.value(i++).toString());
  151. values.insert("memo",query.value(i++).toString());
  152. }
  153. return values;
  154. }
  155. int ShkjDB::delShkjByID(QString srvID)
  156. {
  157. QSqlDatabase::database().transaction();
  158. QSqlQuery query;
  159. query.prepare("update user.SHXZ_SHKJ set isdel='Y' where LTF_ID=? ");
  160. QVariantList vars;
  161. vars<<srvID;
  162. for(int i=0;i<vars.size();i++)
  163. {
  164. query.addBindValue(vars.at(i));
  165. }
  166. query.exec();
  167. QSqlDatabase::database().commit();
  168. return 0;
  169. }
  170. int ShkjDB::updateShkjCachePath(QString srvID,QString cachePath)
  171. {
  172. QSqlDatabase::database().transaction();
  173. QSqlQuery query;
  174. query.prepare("update user.SHXZ_SHKJ set CACHE_LOCAL_PATH = ?,deal_status='3' where LTF_ID=? ");
  175. QVariantList vars;
  176. vars<<cachePath<<srvID;
  177. for(int i=0;i<vars.size();i++)
  178. {
  179. query.addBindValue(vars.at(i));
  180. }
  181. query.exec();
  182. QSqlDatabase::database().commit();
  183. return 0;
  184. }
  185. QString ShkjDB::getShkjCachePath(QString srvID)
  186. {
  187. QSqlQuery query;
  188. query.prepare("select CACHE_LOCAL_PATH from user.SHXZ_SHKJ where LTF_ID=? ");
  189. QVariantList vars;
  190. vars<<srvID;
  191. for(int i=0;i<vars.size();i++)
  192. {
  193. query.addBindValue(vars.at(i));
  194. }
  195. query.exec();
  196. QString value = "";
  197. if(query.next())
  198. {
  199. value = query.value(0).toString();
  200. }
  201. return value;
  202. }