EquipDataCircleManager.cpp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432
  1. /**************************************************************************************************
  2. 版本所有(C), 2021-2022, 北京普达迪泰
  3. ***************************************************************************************************
  4. 文 件 名:EquipDataCircleManager.cpp
  5. 版 本 号: 1.00初版
  6. 作 者: HYF
  7. 生成日期:2021-12-20
  8. 最近修改:
  9. 功能描述: 设备静态测量数据-圆
  10. 函数列表:
  11. 修改历史:
  12. 1.日 期 : 2021-12-20
  13. 作 者 : HYF
  14. 修改内容 : 创建文件
  15. **************************************************************************************************/
  16. #include "pch.h"
  17. #include "EquipDataCircleManager.h"
  18. #include "CppSQLite3.h"
  19. #include "DBFactory.h"
  20. #include "EquipDataCircle.h"
  21. EquipDataCircleManager::EquipDataCircleManager()
  22. {
  23. }
  24. EquipDataCircleManager::~EquipDataCircleManager()
  25. {
  26. }
  27. /**************************************************************************************************
  28. 函 数 名 :QueryAll
  29. 功能描述 :查询
  30. 输出参数 :略
  31. 返 回 值 :CppSQLite3Query
  32. **************************************************************************************************/
  33. CppSQLite3Query EquipDataCircleManager::Query()
  34. {
  35. try
  36. {
  37. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  38. return pDB->execQuery(_T("SELECT * FROM equip_data_circle;"));
  39. }
  40. catch (CppSQLite3Exception& e)
  41. {
  42. LOG::E(e.errorMessage());
  43. }
  44. }
  45. CppSQLite3Query EquipDataCircleManager::Query(DWORD iTaskId)
  46. {
  47. try
  48. {
  49. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  50. char szCmd[256];
  51. sprintf_s(szCmd, "SELECT * FROM equip_data_circle WHERE task_id=%d;", iTaskId);
  52. return pDB->execQuery(szCmd);
  53. }
  54. catch (CppSQLite3Exception& e)
  55. {
  56. LOG::E(e.errorMessage());
  57. }
  58. }
  59. CppSQLite3Query EquipDataCircleManager::Query(DWORD iTaskId, LPCTSTR szEquipCode)
  60. {
  61. try
  62. {
  63. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  64. char szCmd[256];
  65. sprintf_s(szCmd, "SELECT * FROM equip_data_circle WHERE task_id=%d AND equip_code ='%s';", iTaskId, szEquipCode);
  66. return pDB->execQuery(szCmd);
  67. }
  68. catch (CppSQLite3Exception& e)
  69. {
  70. LOG::E(e.errorMessage());
  71. }
  72. }
  73. CppSQLite3Query EquipDataCircleManager::Query(DWORD iTaskId, LPCTSTR szEquipCode, DWORD iItemId)
  74. {
  75. try
  76. {
  77. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  78. char szCmd[256];
  79. sprintf_s(szCmd, "SELECT * FROM equip_data_circle WHERE task_id=%d AND equip_code ='%s' AND item_id =%d;", iTaskId, szEquipCode, iItemId);
  80. return pDB->execQuery(szCmd);
  81. }
  82. catch (CppSQLite3Exception& e)
  83. {
  84. LOG::E(e.errorMessage());
  85. }
  86. }
  87. CppSQLite3Query EquipDataCircleManager::Query(DWORD iTaskId, LPCTSTR szEquipCode, DWORD iItemId, DWORD iSubitemId)
  88. {
  89. try
  90. {
  91. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  92. char szCmd[256];
  93. sprintf_s(szCmd, "SELECT * FROM equip_data_circle WHERE task_id=%d AND equip_code='%s' AND item_id=%d AND subitem_id=%d;", iTaskId, szEquipCode, iItemId, iSubitemId);
  94. return pDB->execQuery(szCmd);
  95. }
  96. catch (CppSQLite3Exception& e)
  97. {
  98. LOG::E(e.errorMessage());
  99. }
  100. }
  101. /**************************************************************************************************
  102. 函 数 名 :Add
  103. 功能描述 :增加
  104. 输入参数 :略
  105. 输出参数 :略
  106. 返 回 值 :TRUE 成功;FALSE 失败
  107. **************************************************************************************************/
  108. BOOL EquipDataCircleManager::Add(const EquipDataCircle& data)
  109. {
  110. DWORD iTaskId = data.GetTaskId();
  111. CString szEquipCode = data.GetEquipCode();
  112. DWORD iItemId = data.GetItemId();
  113. DWORD iSubItemId = data.GetSubItemId();
  114. CString szCircleTitle = data.GetCircleTitle();
  115. CString szCircleCode = data.GetCircleCode();
  116. DOUBLE fCircleCenterX = data.GetCircleCenterX();
  117. DOUBLE fCircleCenterY = data.GetCircleCenterY();
  118. DOUBLE fCircleCenterZ = data.GetCircleCenterZ();
  119. DOUBLE fCircleRadius = data.GetCircleRadius();
  120. DOUBLE fCircleRMS = data.GetCircleRMS();
  121. DOUBLE fCircleRoundness = data.GetCircleRoundness();
  122. CString szCircleDesc = data.GetCircleDesc();
  123. try
  124. {
  125. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  126. CppSQLite3Buffer bufSQL;
  127. bufSQL.format("INSERT INTO equip_data_circle ( "
  128. " task_id, "
  129. " equip_code, "
  130. " item_id, "
  131. " subitem_id, "
  132. " circle_title, "
  133. " circle_code, "
  134. " circle_center_x,"
  135. " circle_center_y,"
  136. " circle_center_z,"
  137. " circle_radius, "
  138. " circle_rms, "
  139. " circle_roundness,"
  140. " circle_desc ) "
  141. " VALUES (%d ,%Q, %d, %d, %Q, %Q, %.3f, %.3f, %.3f, %.3f, %.3f, %.3f, %Q); ",
  142. iTaskId,
  143. szEquipCode,
  144. iItemId,
  145. iSubItemId,
  146. szCircleTitle,
  147. szCircleCode,
  148. fCircleCenterX,
  149. fCircleCenterY,
  150. fCircleCenterZ,
  151. fCircleRadius,
  152. fCircleRMS,
  153. fCircleRoundness,
  154. szCircleDesc);
  155. pDB->execDML("begin transaction;");
  156. pDB->execDML(bufSQL);
  157. pDB->execDML("commit transaction;");
  158. bufSQL.clear();
  159. }
  160. catch (CppSQLite3Exception& e)
  161. {
  162. LOG::E(e.errorMessage());
  163. return FALSE;
  164. }
  165. return TRUE;
  166. }
  167. /**************************************************************************************************
  168. 函 数 名 :Update
  169. 功能描述 :更新
  170. 输入参数 :略
  171. 输出参数 :略
  172. 返 回 值 :TRUE 成功;FALSE 失败
  173. **************************************************************************************************/
  174. BOOL EquipDataCircleManager::Update(const EquipDataCircle& data)
  175. {
  176. DWORD iTaskId = data.GetTaskId();
  177. CString szEquipCode = data.GetEquipCode();
  178. DWORD iItemId = data.GetItemId();
  179. DWORD iSubItemId = data.GetSubItemId();
  180. CString szCircleTitle = data.GetCircleTitle();
  181. CString szCircleCode = data.GetCircleCode();
  182. DOUBLE fCircleCenterX = data.GetCircleCenterX();
  183. DOUBLE fCircleCenterY = data.GetCircleCenterY();
  184. DOUBLE fCircleCenterZ = data.GetCircleCenterZ();
  185. DOUBLE fCircleRadius = data.GetCircleRadius();
  186. DOUBLE fCircleRMS = data.GetCircleRMS();
  187. DOUBLE fCircleRoundness = data.GetCircleRoundness();
  188. CString szCircleDesc = data.GetCircleDesc();
  189. try
  190. {
  191. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  192. CppSQLite3Buffer bufSQL;
  193. bufSQL.format("UPDATE equip_data_circle "
  194. " SET circle_title = %Q, "
  195. " circle_code = %Q, "
  196. " circle_center_x = %.3f, "
  197. " circle_center_y = %.3f, "
  198. " circle_center_z = %.3f, "
  199. " circle_radius = %.3f, "
  200. " circle_rms = %.3f, "
  201. " circle_roundness= %.3f, "
  202. " circle_desc = %Q "
  203. " WHERE task_id=%d AND equip_code=%Q AND item_id=%d AND subitem_id=%d;",
  204. szCircleTitle,
  205. szCircleCode,
  206. fCircleCenterX,
  207. fCircleCenterY,
  208. fCircleCenterZ,
  209. fCircleRadius,
  210. fCircleRMS,
  211. fCircleRoundness,
  212. szCircleDesc,
  213. iTaskId,
  214. szEquipCode,
  215. iItemId,
  216. iSubItemId);
  217. pDB->execDML("begin transaction;");
  218. int affected = pDB->execDML(bufSQL);
  219. pDB->execDML("commit transaction;");
  220. bufSQL.clear();
  221. }
  222. catch (CppSQLite3Exception& e)
  223. {
  224. LOG::E(e.errorMessage());
  225. return FALSE;
  226. }
  227. return TRUE;
  228. }
  229. /**************************************************************************************************
  230. 函 数 名 :UpdateTitle
  231. 功能描述 :更新
  232. 输入参数 :略
  233. 输出参数 :略
  234. 返 回 值 :TRUE 成功;FALSE 失败
  235. **************************************************************************************************/
  236. BOOL EquipDataCircleManager::UpdateTitle(DWORD iTaskId, LPCTSTR szEquipCode, DWORD iItemId, DWORD iSubitemId, LPCTSTR szCircleTitle)
  237. {
  238. try
  239. {
  240. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  241. CppSQLite3Buffer bufSQL;
  242. bufSQL.format("UPDATE equip_data_circle SET circle_title = %Q WHERE task_id=%d AND equip_code=%Q AND item_id=%d AND subitem_id=%d;",
  243. szCircleTitle, iTaskId, szEquipCode, iItemId, iSubitemId);
  244. pDB->execDML("begin transaction;");
  245. int affected = pDB->execDML(bufSQL);
  246. pDB->execDML("commit transaction;");
  247. bufSQL.clear();
  248. }
  249. catch (CppSQLite3Exception& e)
  250. {
  251. LOG::E(e.errorMessage());
  252. return FALSE;
  253. }
  254. return TRUE;
  255. }
  256. /**************************************************************************************************
  257. 函 数 名 :Delete
  258. 功能描述 :删除
  259. 输入参数 :略
  260. 输出参数 :略
  261. 返 回 值 :TRUE 成功;FALSE 失败
  262. **************************************************************************************************/
  263. BOOL EquipDataCircleManager::Delete(DWORD iTaskId)
  264. {
  265. try
  266. {
  267. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  268. CppSQLite3Buffer bufSQL;
  269. bufSQL.format("DELETE FROM equip_data_circle WHERE task_id=%d;", iTaskId);
  270. pDB->execDML("begin transaction;");
  271. pDB->execDML(bufSQL);
  272. pDB->execDML("commit transaction;");
  273. bufSQL.clear();
  274. }
  275. catch (CppSQLite3Exception& e)
  276. {
  277. LOG::E(e.errorMessage());
  278. return FALSE;
  279. }
  280. return TRUE;
  281. }
  282. BOOL EquipDataCircleManager::Delete(DWORD iTaskId, LPCTSTR szEquipCode)
  283. {
  284. try
  285. {
  286. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  287. CppSQLite3Buffer bufSQL;
  288. bufSQL.format("DELETE FROM equip_data_circle WHERE task_id=%d AND equip_code=%Q;", iTaskId, szEquipCode);
  289. pDB->execDML("begin transaction;");
  290. pDB->execDML(bufSQL);
  291. pDB->execDML("commit transaction;");
  292. bufSQL.clear();
  293. }
  294. catch (CppSQLite3Exception& e)
  295. {
  296. LOG::E(e.errorMessage());
  297. return FALSE;
  298. }
  299. return TRUE;
  300. }
  301. BOOL EquipDataCircleManager::Delete(DWORD iTaskId, LPCTSTR szEquipCode, DWORD iItemId)
  302. {
  303. try
  304. {
  305. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  306. CppSQLite3Buffer bufSQL;
  307. bufSQL.format("DELETE FROM equip_data_circle WHERE task_id=%d AND equip_code=%Q AND item_id=%d;", iTaskId, szEquipCode, iItemId);
  308. pDB->execDML("begin transaction;");
  309. pDB->execDML(bufSQL);
  310. pDB->execDML("commit transaction;");
  311. bufSQL.clear();
  312. }
  313. catch (CppSQLite3Exception& e)
  314. {
  315. LOG::E(e.errorMessage());
  316. return FALSE;
  317. }
  318. return TRUE;
  319. }
  320. BOOL EquipDataCircleManager::Delete(DWORD iTaskId, LPCTSTR szEquipCode, DWORD iItemId, DWORD iSubitemId)
  321. {
  322. try
  323. {
  324. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  325. CppSQLite3Buffer bufSQL;
  326. bufSQL.format("DELETE FROM equip_data_circle WHERE task_id=%d AND equip_code=%Q AND item_id=%d AND subitem_id=%d;", iTaskId, szEquipCode, iItemId, iSubitemId);
  327. pDB->execDML("begin transaction;");
  328. pDB->execDML(bufSQL);
  329. pDB->execDML("commit transaction;");
  330. bufSQL.clear();
  331. }
  332. catch (CppSQLite3Exception& e)
  333. {
  334. LOG::E(e.errorMessage());
  335. return FALSE;
  336. }
  337. return TRUE;
  338. }
  339. /**************************************************************************************************
  340. 函 数 名 :ClearAll
  341. 功能描述 :清除所有数据
  342. 输入参数 :略
  343. 输出参数 :略
  344. 返 回 值 :TRUE 成功;FALSE 失败
  345. **************************************************************************************************/
  346. BOOL EquipDataCircleManager::ClearAll()
  347. {
  348. try
  349. {
  350. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  351. CppSQLite3Buffer bufSQL;
  352. bufSQL.format("DELETE FROM equip_data_circle");//删除语句
  353. pDB->execDML("begin transaction;");
  354. pDB->execDML(bufSQL);
  355. pDB->execDML("commit transaction;");
  356. bufSQL.clear();
  357. }
  358. catch (CppSQLite3Exception& e)
  359. {
  360. LOG::E(e.errorMessage());
  361. return FALSE;
  362. }
  363. return TRUE;
  364. }
  365. /**************************************************************************************************
  366. 函 数 名 :Count
  367. 功能描述 :根据条件查询记录数目
  368. 输入参数 :略
  369. 输出参数 :略
  370. 返 回 值 :TRUE 成功;FALSE 失败
  371. **************************************************************************************************/
  372. int EquipDataCircleManager::Count(DWORD iTaskId)
  373. {
  374. int iCount = 0;
  375. try
  376. {
  377. CppSQLite3DB* pDB = DBFactory::GetSQLite();
  378. char szCmd[256];
  379. sprintf_s(szCmd, "SELECT COUNT(*) AS NUM FROM equip_data_circle WHERE task_id ='%d';", iTaskId);
  380. CppSQLite3Query q = pDB->execQuery(szCmd);
  381. iCount = q.getIntField("NUM");
  382. q.finalize();
  383. }
  384. catch (CppSQLite3Exception& e)
  385. {
  386. LOG::E(e.errorMessage());
  387. iCount = 0;
  388. }
  389. return iCount;
  390. }