MeasureService.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575
  1. <?php
  2. require_once("common/SQLServerManager.php");
  3. require_once("common/SecurityManager.php");
  4. require_once('vo/com/imt/intimamedia/vo/ReturnObjectVo.php');
  5. require_once('vo/com/imt/intimamedia/vo/UltraSoundScannerVo.php');
  6. require_once('vo/com/imt/intimamedia/vo/ProbeVo.php');
  7. require_once('vo/com/imt/intimamedia/vo/DragAndDropVo.php');
  8. require_once('vo/com/imt/intimamedia/vo/MeasuresVo.php');
  9. require_once('vo/com/imt/intimamedia/vo/ImtResultVo.php');
  10. require_once('vo/com/imt/intimamedia/vo/ScaleVo.php');
  11. require_once('vo/com/imt/intimamedia/vo/DistanceVo.php');
  12. require_once('vo/com/imt/intimamedia/vo/AreaVo.php');
  13. define ('INSERT', 1);
  14. define ('UPDATE', 2);
  15. class MeasureService
  16. {
  17. public function persistMeasure($measureId, $imgId, $operation, $scale, $distance, $area, $area2, $imtf, $imtn, $ultraSoundScanner)
  18. {
  19. $transaction = SQLServerManager::startTransaction();
  20. $query = "SELECT fk_scale, fk_distance, fk_area, fk_area2, fk_imtf, fk_imtn FROM [intimamedia_physician].[dbo].[tj_measure] WHERE fk_image = ". $imgId;
  21. $results = SQLServerManager::queryOnDatabase( $query );
  22. $fk_scale = 0;
  23. $fk_distance = 0;
  24. $fk_area = 0;
  25. $fk_area2 = 0;
  26. $fk_imtf = 0;
  27. $fk_imtn = 0;
  28. $scaleId = 0;
  29. $distanceId = 0;
  30. $areaId = 0;
  31. $area2Id = 0;
  32. $imtfId = 0;
  33. $imtnId = 0;
  34. $ultraSoundScannerId = 0;
  35. foreach( $results as $val )
  36. {
  37. $fk_scale = $val->fk_scale;
  38. $fk_distance = $val->fk_distance;
  39. $fk_area = $val->fk_area;
  40. $fk_area2 = $val->fk_area2;
  41. $fk_imtf = $val->fk_imtf;
  42. $fk_imtn = $val->fk_imtn;
  43. }
  44. if ($scale)
  45. {
  46. if (!$fk_scale)
  47. {
  48. $scaleQuery = "INSERT INTO [intimamedia_physician].[dbo].[t_scale] (value, length, x_first_point, y_first_point, x_last_point, y_last_point) VALUES ".
  49. "(". $scale->value .", ". $scale->length .", ". $scale->xFirstPoint .", ". $scale->yFirstPoint .", ". $scale->xLastPoint .", ". $scale->yLastPoint .");";
  50. $scaleExecQuery = SQLServerManager::executeQueryForTransaction( $scaleQuery, $transaction );
  51. $scaleId = SQLServerManager::getLastId( "[intimamedia_physician].[dbo].[t_scale]", $transaction );
  52. }
  53. else
  54. // UPDATE
  55. {
  56. $scaleQuery = "UPDATE [intimamedia_physician].[dbo].[t_scale] SET value = ". $scale->value .", length = ". $scale->length .",
  57. x_first_point = ". $scale->xFirstPoint .", y_first_point = ". $scale->yFirstPoint .",
  58. x_last_point = ". $scale->xLastPoint .", y_last_point = ". $scale->yLastPoint . " WHERE id = ". $fk_scale .";";
  59. $scaleExecQuery = SQLServerManager::executeQueryForTransaction( $scaleQuery, $transaction );
  60. $scaleId = $fk_scale;
  61. }
  62. }
  63. if ($distance)
  64. {
  65. if (!$fk_distance)
  66. {
  67. $distanceQuery = "INSERT INTO [intimamedia_physician].[dbo].[t_distance] (value, type, x_first_point, y_first_point, x_last_point, y_last_point) VALUES ".
  68. "(". $distance->value .", '". $distance->type ."', ". $distance->xFirstPoint .", ". $distance->yFirstPoint .", ". $distance->xLastPoint .", ". $distance->yLastPoint .");";
  69. $distanceExecQuery = SQLServerManager::executeQueryForTransaction( $distanceQuery, $transaction );
  70. $distanceId = SQLServerManager::getLastId( "[intimamedia_physician].[dbo].[t_distance]", $transaction );
  71. }
  72. else
  73. // UPDATE
  74. {
  75. $distanceQuery = "UPDATE [intimamedia_physician].[dbo].[t_distance] SET value = ". $distance->value .", type = '". $distance->type ."',
  76. x_first_point = ". $distance->xFirstPoint .", y_first_point = ". $distance->yFirstPoint .",
  77. x_last_point = ". $distance->xLastPoint .", y_last_point = ". $distance->yLastPoint . " WHERE id = ". $fk_distance .";";
  78. $distanceExecQuery = SQLServerManager::executeQueryForTransaction( $distanceQuery, $transaction );
  79. $distanceId = $fk_distance;
  80. }
  81. }
  82. if ($area)
  83. {
  84. if (!$fk_area)
  85. {
  86. $areaQuery = "INSERT INTO [intimamedia_physician].[dbo].[t_area] (value, points) VALUES ".
  87. "(". $area->value .", CONVERT(varbinary(max), '". serialize($area->points) . "') );";
  88. $areaExecQuery = SQLServerManager::executeQueryForTransaction( $areaQuery, $transaction );
  89. $areaId = SQLServerManager::getLastId( "[intimamedia_physician].[dbo].[t_area]", $transaction );
  90. }
  91. else
  92. // UPDATE
  93. {
  94. $areaQuery = "UPDATE [intimamedia_physician].[dbo].[t_area] SET value = ". $area->value .",
  95. points = CONVERT(varbinary(max), '". serialize($area->points) . "') WHERE id = ". $fk_area .";";
  96. $areaExecQuery = SQLServerManager::executeQueryForTransaction( $areaQuery, $transaction );
  97. $areaId = $fk_area;
  98. }
  99. }
  100. if ($area2)
  101. {
  102. if (!$fk_area2)
  103. {
  104. $area2Query = "INSERT INTO [intimamedia_physician].[dbo].[t_area] (value, points) VALUES ".
  105. "(". $area2->value .", CONVERT(varbinary(max), '". serialize($area2->points) . "') );";
  106. $area2ExecQuery = SQLServerManager::executeQueryForTransaction( $area2Query, $transaction );
  107. $area2Id = SQLServerManager::getLastId( "[intimamedia_physician].[dbo].[t_area]", $transaction );
  108. }
  109. else
  110. // UPDATE
  111. {
  112. $area2Query = "UPDATE [intimamedia_physician].[dbo].[t_area] SET value = ". $area2->value .",
  113. points = CONVERT(varbinary(max), '". serialize($area2->points) . "') WHERE id = ". $fk_area2 .";";
  114. $area2ExecQuery = SQLServerManager::executeQueryForTransaction( $area2Query, $transaction );
  115. $area2Id = $fk_area2;
  116. }
  117. }
  118. if ($imtf)
  119. {
  120. if (!$fk_imtf)
  121. {
  122. $imtfQuery = "INSERT INTO [intimamedia_physician].[dbo].[t_imt] (max, mean, standard_deviation, iq, distance, number_of_point, imt, intima, adventitia) VALUES ".
  123. "(". number_format($imtf->max, 10) .", ". number_format($imtf->mean, 10) .", ". number_format($imtf->standardDeviation, 10) .", ". number_format($imtf->qualityIndex, 10) .", ".
  124. $imtf->distance .", ". $imtf->numberOfPoints .", 'F', CONVERT(varbinary(max), '". serialize($imtf->intima) . "'), CONVERT(varbinary(max), '" . serialize($imtf->adventitia) ."'))";
  125. $imtfExecQuery = SQLServerManager::executeQueryForTransaction( $imtfQuery, $transaction );
  126. $imtfId = SQLServerManager::getLastId( "[intimamedia_physician].[dbo].[t_imt]", $transaction );
  127. }
  128. else
  129. // UPDATE
  130. {
  131. $imtfQuery = "UPDATE [intimamedia_physician].[dbo].[t_imt] SET max = ". number_format($imtf->max, 10) .", mean = ". number_format($imtf->mean, 10) .",
  132. standard_deviation = ". number_format($imtf->standardDeviation, 10) .", iq = ". number_format($imtf->qualityIndex, 10) .",
  133. distance = ". $imtf->distance .", number_of_point = ". $imtf->numberOfPoints .", imt = 'F',
  134. intima = CONVERT(varbinary(max), '". serialize($imtf->intima) ."'), adventitia = CONVERT(varbinary(max), '". serialize($imtf->adventitia) ."')
  135. WHERE id = ". $fk_imtf .";";
  136. $imtfExecQuery = SQLServerManager::executeQueryForTransaction( $imtfQuery, $transaction );
  137. $imtfId = $fk_imtf;
  138. }
  139. }
  140. if ($imtn)
  141. {
  142. if (!$fk_imtn)
  143. {
  144. $imtnQuery = "INSERT INTO [intimamedia_physician].[dbo].[t_imt] (max, mean, standard_deviation, iq, distance, number_of_point, imt, intima, adventitia) VALUES ".
  145. "(". number_format($imtn->max, 10) .", ". number_format($imtn->mean, 10) .", ". number_format($imtn->standardDeviation, 10) .", ". number_format($imtn->qualityIndex, 10) .", ".
  146. $imtn->distance .", ". $imtn->numberOfPoints .", 'N', CONVERT(varbinary(max), '". serialize($imtn->intima) . "'), CONVERT(varbinary(max), '" . serialize($imtn->adventitia) ."'))";
  147. $imtnExecQuery = SQLServerManager::executeQueryForTransaction( $imtnQuery, $transaction );
  148. $imtnId = SQLServerManager::getLastId( "[intimamedia_physician].[dbo].[t_imt]", $transaction );
  149. }
  150. else
  151. // UPDATE
  152. {
  153. $imtnQuery = "UPDATE [intimamedia_physician].[dbo].[t_imt] SET max = ". number_format($imtn->max, 10) .", mean = ". number_format($imtn->mean, 10) .",
  154. standard_deviation = ". number_format($imtn->standardDeviation, 10) .", iq = ". number_format($imtn->qualityIndex, 10) .",
  155. distance = ". $imtn->distance .", number_of_point = ". $imtn->numberOfPoints .", imt = 'N',
  156. intima = CONVERT(varbinary(max), '". serialize($imtn->intima) ."'), adventitia = CONVERT(varbinary(max), '". serialize($imtn->adventitia) ."')
  157. WHERE id = ". $fk_imtn .";";
  158. $imtnExecQuery = SQLServerManager::executeQueryForTransaction( $imtnQuery, $transaction );
  159. $imtnId = $fk_imtn;
  160. }
  161. }
  162. if ($operation == INSERT)
  163. {
  164. $measureQuery = "INSERT INTO [intimamedia_physician].[dbo].[tj_measure] (fk_image, fk_scale, fk_measure_unit, fk_distance, fk_area, fk_area2, fk_imtf, fk_imtn, fk_ultra_sound_scanner) VALUES ".
  165. "(". $imgId .", ". $scaleId .", 1, " . $distanceId . ", ". $areaId . ", ". $area2Id. ", ". $imtfId . ", ". $imtnId . ", " . $ultraSoundScannerId .");";
  166. $execMeasureQuery = SQLServerManager::executeQueryForTransaction( $measureQuery, $transaction );
  167. }
  168. else
  169. {
  170. $measureQuery = "UPDATE [intimamedia_physician].[dbo].[tj_measure] SET fk_imtf = ". $imtfId .", fk_imtn = ". $imtnId . ",
  171. fk_scale = ". $scaleId .", fk_distance = ". $distanceId ." , fk_area = ". $areaId.", fk_area2 = ". $area2Id .
  172. " WHERE id = ". $measureId .";";
  173. $execMeasureQuery = SQLServerManager::executeQueryForTransaction( $measureQuery, $transaction );
  174. }
  175. /* $ff=fopen("tmp.jd", "a+");
  176. fprintf($ff, "imtPersist, sql=%s\n", $measureQuery );
  177. fclose($ff);*/
  178. if( $execMeasureQuery )
  179. {
  180. SQLServerManager::commitTransaction( $transaction );
  181. }
  182. else
  183. {
  184. Throw new Exception("E021");
  185. }
  186. }
  187. public function saveMeasures( $list, $token )
  188. {
  189. $returnObjectVo = new ReturnObjectVo();
  190. $returnObjectVo->token = SecurityManager::verifyToken( $token );
  191. foreach( $list as $value )
  192. {
  193. $imgId = $value->id;
  194. $scale = $value->scale;
  195. $distance = $value->distance;
  196. $area = $value->area;
  197. $area2 = $value->area2;
  198. $nwImtResult = $value->nwImtResult;
  199. $fwImtResult = $value->fwImtResult;
  200. $ultraSoundScanner = $value->ultrasoundscanner;
  201. $query = "SELECT id FROM [intimamedia_physician].[dbo].[tj_measure] WHERE fk_image = ". $imgId;
  202. $results = SQLServerManager::queryOnDatabase( $query );
  203. $resultArray = array();
  204. $measureId = 0;
  205. foreach( $results as $val )
  206. {
  207. $measureId = $val->id;
  208. }
  209. $operation = INSERT;
  210. if ($measureId)
  211. {
  212. // update
  213. $operation = UPDATE;
  214. }
  215. MeasureService::persistMeasure($measureId, $imgId, $operation, $scale, $distance, $area, $area2, $fwImtResult, $nwImtResult, $ultraSoundScanner);
  216. }
  217. return $returnObjectVo;
  218. }
  219. public function getMeasures($imgIdList)
  220. {
  221. $query = "SELECT * "
  222. ."FROM [intimamedia_physician].[dbo].[tj_measure] m "
  223. ."WHERE fk_image in (". implode(',', $imgIdList) .")";
  224. /* $ff=fopen("d:/tmp.jd", "a+");
  225. fprintf($ff, "getMeasures = %s\n", $query);
  226. fclose($ff);*/
  227. $results = SQLServerManager::queryOnDatabase( $query );
  228. if( count($results) == 0 )
  229. {
  230. Throw new Exception("E023");
  231. }
  232. $resultArray = array();
  233. foreach( $results as $value )
  234. {
  235. $measuresVo = new MeasuresVo();
  236. $measuresVo->id = $value->id;
  237. $measuresVo->imageId = $value->fk_image;
  238. $measuresVo->measureUnit = $value->fk_measure_unit;
  239. if ($value->fk_scale)
  240. {
  241. $scaleQuery = "SELECT * FROM [intimamedia_physician].[dbo].[t_scale]"
  242. ." WHERE id = '" . $value->fk_scale . "'";
  243. $scaleExecQuery = SQLServerManager::queryOnDatabase( $scaleQuery );
  244. $scaleVo = new ScaleVo();
  245. foreach( $scaleExecQuery as $scaleResult )
  246. {
  247. $scaleVo->id = $scaleResult->id;
  248. $scaleVo->value = $scaleResult->value;
  249. $scaleVo->length = $scaleResult->length;
  250. $scaleVo->xFirstPoint = $scaleResult->x_first_point;
  251. $scaleVo->yFirstPoint = $scaleResult->y_first_point;
  252. $scaleVo->xLastPoint = $scaleResult->x_last_point;
  253. $scaleVo->yLastPoint = $scaleResult->y_last_point;
  254. }
  255. $measuresVo->scale = $scaleVo;
  256. }
  257. if ($value->fk_distance)
  258. {
  259. $distanceQuery = "SELECT * FROM [intimamedia_physician].[dbo].[t_distance]"
  260. ." WHERE id = '" . $value->fk_distance . "'";
  261. $distanceExecQuery = SQLServerManager::queryOnDatabase( $distanceQuery );
  262. $distanceVo = new DistanceVo();
  263. foreach( $distanceExecQuery as $distanceResult )
  264. {
  265. $distanceVo->id = $distanceResult->id;
  266. $distanceVo->value = $distanceResult->value;
  267. $distanceVo->type = $distanceResult->type;
  268. $distanceVo->xFirstPoint = $distanceResult->x_first_point;
  269. $distanceVo->yFirstPoint = $distanceResult->y_first_point;
  270. $distanceVo->xLastPoint = $distanceResult->x_last_point;
  271. $distanceVo->yLastPoint = $distanceResult->y_last_point;
  272. }
  273. $measuresVo->distance = $distanceVo;
  274. }
  275. if ($value->fk_area)
  276. {
  277. $areaQuery = "SELECT * FROM [intimamedia_physician].[dbo].[t_area]"
  278. ." WHERE id = '" . $value->fk_area . "'";
  279. $areaExecQuery = SQLServerManager::queryOnDatabase( $areaQuery );
  280. $areaVo = new AreaVo();
  281. foreach( $areaExecQuery as $areaResult )
  282. {
  283. $areaVo->id = $areaResult->id;
  284. $areaVo->value = $areaResult->value;
  285. $areaVo->points = unserialize($areaResult->points);
  286. }
  287. $measuresVo->area = $areaVo;
  288. }
  289. if ($value->fk_area2)
  290. {
  291. $area2Query = "SELECT * FROM [intimamedia_physician].[dbo].[t_area]"
  292. ." WHERE id = '" . $value->fk_area2 . "'";
  293. $area2ExecQuery = SQLServerManager::queryOnDatabase( $area2Query );
  294. $area2Vo = new AreaVo();
  295. foreach( $area2ExecQuery as $areaResult )
  296. {
  297. $area2Vo->id = $areaResult->id;
  298. $area2Vo->value = $areaResult->value;
  299. $area2Vo->points = unserialize($areaResult->points);
  300. }
  301. $measuresVo->area2 = $area2Vo;
  302. }
  303. if ($value->fk_imtf)
  304. {
  305. /* $imtfQuery = "SELECT id, max, mean, standard_deviation, distance, number_of_point, imt, CONVERT(varchar, intima) as intima, CONVERT(varchar, adventitia) as adventitia "
  306. ."FROM [intimamedia_physician].[dbo].[t_imt] "
  307. ."WHERE id = '" . $value->fk_imtf . "'";*/
  308. $imtfQuery = "SELECT *, CONVERT(varchar(max), intima) as intimaString, CONVERT(varchar(max), adventitia) as adventitiaString "
  309. ."FROM [intimamedia_physician].[dbo].[t_imt] "
  310. ."WHERE id = '" . $value->fk_imtf . "'";
  311. /* $ff=fopen("d:/tmp.jd", "a+");
  312. fprintf($ff, "getMeasures, imtfQuery = %s\n", $imtfQuery);
  313. fclose($ff);*/
  314. $imtfResults = SQLServerManager::queryOnDatabase( $imtfQuery );
  315. foreach( $imtfResults as $imtfValue )
  316. {
  317. $imtfResultVo = new ImtResultVo();
  318. $imtfResultVo->id = $imtfValue->id;
  319. $imtfResultVo->name = "F";
  320. $imtfResultVo->max = $imtfValue->max;
  321. $imtfResultVo->mean = $imtfValue->mean;
  322. $imtfResultVo->standardDeviation = $imtfValue->standard_deviation;
  323. $imtfResultVo->qualityIndex = $imtfValue->iq;
  324. $imtfResultVo->distance = $imtfValue->distance;
  325. $imtfResultVo->numberOfPoints = $imtfValue->number_of_point;
  326. $imtfResultVo->iStartx = $imtfValue->i_startx;
  327. $imtfResultVo->iStarty = $imtfValue->i_starty;
  328. $imtfResultVo->iEndx = $imtfValue->i_endx;
  329. $imtfResultVo->iEndy = $imtfValue->i_endy;
  330. $imtfResultVo->aStartx = $imtfValue->a_startx;
  331. $imtfResultVo->aStarty = $imtfValue->a_starty;
  332. $imtfResultVo->aEndx = $imtfValue->a_endx;
  333. $imtfResultVo->aEndy = $imtfValue->a_endy;
  334. $imtfResultVo->intima = unserialize($imtfValue->intimaString);
  335. $imtfResultVo->adventitia = unserialize($imtfValue->adventitiaString);
  336. /* $ff=fopen("d:/tmp.jd", "a+");
  337. fprintf($ff, "getMeasures, intima = %s\n", $imtfValue->intimaString);
  338. fclose($ff);*/
  339. }
  340. $measuresVo->fwImt = $imtfResultVo;
  341. }
  342. if ($value->fk_imtn)
  343. {
  344. $imtnQuery = "SELECT *, CONVERT(varchar(max), intima) as intimaString, CONVERT(varchar(max), adventitia) as adventitiaString "
  345. ."FROM [intimamedia_physician].[dbo].[t_imt] "
  346. ."WHERE id = '" . $value->fk_imtn . "'";
  347. /* $ff=fopen("d:/tmp.jd", "a+");
  348. fprintf($ff, "getMeasures, imtnQuery = %s\n", $imtnQuery);
  349. fclose($ff);*/
  350. $imtnResults = SQLServerManager::queryOnDatabase( $imtnQuery );
  351. foreach( $imtnResults as $imtnValue )
  352. {
  353. $imtnResultVo = new ImtResultVo();
  354. $imtnResultVo->id = $imtnValue->id;
  355. $imtnResultVo->name = "N";
  356. $imtnResultVo->max = $imtnValue->max;
  357. $imtnResultVo->mean = $imtnValue->mean;
  358. $imtnResultVo->standardDeviation = $imtnValue->standard_deviation;
  359. $imtnResultVo->qualityIndex = $imtnValue->iq;
  360. $imtnResultVo->distance = $imtnValue->distance;
  361. $imtnResultVo->numberOfPoints = $imtnValue->number_of_point;
  362. $imtnResultVo->iStartx = $imtnValue->i_startx;
  363. $imtnResultVo->iStarty = $imtnValue->i_starty;
  364. $imtnResultVo->iEndx = $imtnValue->i_endx;
  365. $imtnResultVo->iEndy = $imtnValue->i_endy;
  366. $imtnResultVo->aStartx = $imtnValue->a_startx;
  367. $imtnResultVo->aStarty = $imtnValue->a_starty;
  368. $imtnResultVo->aEndx = $imtnValue->a_endx;
  369. $imtnResultVo->aEndy = $imtnValue->a_endy;
  370. $imtnResultVo->intima = unserialize($imtnValue->intimaString);
  371. $imtnResultVo->adventitia = unserialize($imtnValue->adventitiaString);
  372. }
  373. $measuresVo->nwImt = $imtnResultVo;
  374. }
  375. array_push( $resultArray, $measuresVo );
  376. }
  377. return $resultArray;
  378. }
  379. public function getUltraSoundScanner($login)
  380. {
  381. $queryUSS = "SELECT uss.* FROM [intimamedia_physician].[dbo].[t_ultra_sound_scanner] as uss "
  382. ."INNER JOIN [evolucare].[dbo].[tj_facilities] as f ON f.fk_ultra_sound_scanner = uss.id "
  383. ."INNER JOIN [evolucare].[dbo].[t_organization] as o ON o.id = f.fk_organization "
  384. ."INNER JOIN [evolucare].[dbo].[t_person] as p ON p.fk_organization = o.id "
  385. ."INNER JOIN [evolucare].[dbo].[tj_user] as u ON u.fk_person = p.id "
  386. ."AND u.login = '". $login ."'";
  387. $resultsUSS = SQLServerManager::queryOnDatabase( $queryUSS );
  388. $resultArray = array();
  389. foreach( $resultsUSS as $value )
  390. {
  391. $ultraSoundScannerVo = new UltraSoundScannerVo();
  392. $ultraSoundScannerVo->name = $value->id;
  393. $ultraSoundScannerVo->name = trim( $value->name );
  394. $ultraSoundScannerVo->brand = trim( $value->brand );
  395. $ultraSoundScannerVo->type = trim( $value->type );
  396. $ultraSoundScannerVo->age = date( "Y-m-d", $value->age/1000 );
  397. $ultraSoundScannerVo->probes = array();
  398. $queryP = "SELECT pr.* FROM [intimamedia_physician].[dbo].[t_probe] as pr "
  399. ."INNER JOIN [intimamedia_physician].[dbo].[tj_list_probe] as l ON pr.id = l.fk_probe "
  400. ."INNER JOIN [intimamedia_physician].[dbo].[t_ultra_sound_scanner] as uss ON l.fk_ultra_sound_scanner = uss.id "
  401. ."INNER JOIN [evolucare].[dbo].[tj_facilities] as f ON f.fk_ultra_sound_scanner = uss.id "
  402. ."INNER JOIN [evolucare].[dbo].[t_organization] as o ON o.id = f.fk_organization "
  403. ."INNER JOIN [evolucare].[dbo].[t_person] as p ON p.fk_organization = o.id "
  404. ."INNER JOIN [evolucare].[dbo].[tj_user] as u ON u.fk_person = p.id "
  405. ."AND u.login = '". $login ."' AND uss.id = ". $value->id ."";
  406. $resultsP = SQLServerManager::queryOnDatabase( $queryP );
  407. foreach( $resultsP as $probe )
  408. {
  409. $probeVo = new probeVo();
  410. $probeVo->name = $probe->id;
  411. $probeVo->frequency = $probe->frequency;
  412. array_push( $ultraSoundScannerVo->probes , $probeVo );
  413. }
  414. array_push( $resultArray, $ultraSoundScannerVo );
  415. }
  416. return $resultArray;
  417. }
  418. // Calcul la valeur de CTPA
  419. public function getCTPA($idRdv)
  420. {
  421. $returnObjectVo = new ReturnObjectVo();
  422. $result = 0.0;
  423. /*
  424. $ff=fopen("tmp4.txt", "a+");
  425. fprintf($ff, "\nEntrée, IDRDV = \n".$idRdv);
  426. fclose($ff);
  427. */
  428. $queryAREA = "SELECT area.* FROM [intimamedia_physician].[dbo].[t_area] as area "
  429. ."INNER JOIN [intimamedia_physician].[dbo].[tj_measure] as meas ON area.id = meas.fk_area "
  430. ."INNER JOIN [intimamedia_physician].[dbo].[t_image] as img ON meas.fk_image = img.id "
  431. ."INNER JOIN [intimamedia_physician].[dbo].[tj_appointment] as app ON img.fk_appointment = app.id "
  432. ."AND app.id = ". $idRdv ."";
  433. /*
  434. $ff=fopen("tmp3.txt", "a+");
  435. fprintf($ff, "\nQuery : \n".$queryAREA);
  436. fclose($ff);
  437. */
  438. $resultsAREA = SQLServerManager::queryOnDatabase( $queryAREA );
  439. foreach( $resultsAREA as $surface )
  440. {
  441. $result += $surface->value;
  442. }
  443. $queryAREA2 = "SELECT area.* FROM [intimamedia_physician].[dbo].[t_area] as area "
  444. ."INNER JOIN [intimamedia_physician].[dbo].[tj_measure] as meas ON area.id = meas.fk_area2 "
  445. ."INNER JOIN [intimamedia_physician].[dbo].[t_image] as img ON meas.fk_image = img.id "
  446. ."INNER JOIN [intimamedia_physician].[dbo].[tj_appointment] as app ON img.fk_appointment = app.id "
  447. ."AND app.id = ". $idRdv ."";
  448. $resultsAREA2 = SQLServerManager::queryOnDatabase( $queryAREA2 );
  449. foreach( $resultsAREA2 as $surface )
  450. {
  451. $result += $surface->value;
  452. }
  453. $returnObjectVo->value = $result;
  454. return $returnObjectVo;
  455. }
  456. public function majCptMesures($login, $comptMesures)
  457. {
  458. $query = "UPDATE [evolucare].[dbo].[tj_user] set nbMesures=". $comptMesures ."".
  459. " WHERE login = '".$login."'";
  460. SQLServerManager::queryOnDatabase( $query );
  461. $returnObjectVo = new ReturnObjectVo();
  462. return $returnObjectVo;
  463. }
  464. }
  465. ?>