PhysicalExaminationController.class.php 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. include '../Common/function.php';
  5. class PhysicalExaminationController extends ComController {
  6. //建筑体检
  7. public function getPhysicalExamination(){
  8. $Data =I();
  9. $company_code=$Data['company_code'];
  10. $R=M()->query("select * from sp_owner where company=".$company_code);
  11. $company_data=M()->query("select owner_name,owner_address,create_time from sp_owner_company where owner_id=".$company_code);
  12. $time=date("Y-m-d");
  13. $time2=date("Y年m月");
  14. $time1=date("Y-m-d H:s:i");
  15. $physical_examination_data=M()->query("select * from sp_physical_examination where company_code='".$company_code."' and time like'".$time."%'");
  16. $yc_device1="";
  17. $sj_device1="";
  18. $yg_device1="";
  19. $xfs_device1="";
  20. $yw_device1="";
  21. $rtu_device1="";
  22. $dqhz_device1="";
  23. $spjc_device1="";
  24. $dtjc_device1="";
  25. $jgjc_device1="";
  26. $dcjc_device1="";
  27. $mcjs_device1="";
  28. $krqt_device1="";
  29. foreach ($R as $val) {
  30. if ($val['dwtype']==1){
  31. $yc_device1.="'".$val['owner_code']."',";
  32. }else if ($val['dwtype']==2){
  33. $sj_device1.="'".$val['owner_code']."',";
  34. }else if ($val['dwtype']==3){
  35. $yg_device1.="'".$val['owner_code']."',";
  36. }else if ($val['dwtype']==4){
  37. $xfs_device1.="'".$val['owner_code']."',";
  38. }else if ($val['dwtype']==5){
  39. $yw_device1.="'".$val['owner_code']."',";
  40. }else if ($val['dwtype']==6){
  41. $rtu_device1.="'".$val['owner_code']."',";
  42. }else if ($val['dwtype']==7){
  43. $dqhz_device1.="'".$val['owner_code']."',";
  44. }else if ($val['dwtype']==16){
  45. $spjc_device1.="'".$val['owner_code']."',";
  46. }else if ($val['dwtype']==17){
  47. $dtjc_device1.="'".$val['owner_code']."',";
  48. }else if ($val['dwtype']==128){
  49. $jgjc_device1.="'".$val['owner_code']."',";
  50. }else if ($val['dwtype']==129){
  51. $dcjc_device1.="'".$val['owner_code']."',";
  52. }else if ($val['dwtype']==130){
  53. $mcjs_device1.="'".$val['owner_code']."',";
  54. }else if ($val['dwtype']==131){
  55. $krqt_device1.="'".$val['owner_code']."',";
  56. }
  57. }
  58. if (!empty($yc_device1)){
  59. $yc_device = substr($yc_device1,0,strlen($yc_device1)-1);
  60. $yc_data=M()->query("select clzt,count(id) as a from sp_hj2017 where device_code in (".$yc_device.") group by clzt");
  61. $yc_count=0;
  62. $ycl_yc_count=0;
  63. foreach ($yc_data as $key=>$value){
  64. $yc_count+=$yc_data[$key]['a'];
  65. if ($yc_data[$key]['clzt']=1){
  66. $ycl_yc_count=$yc_data[$key]['a'];
  67. }
  68. }
  69. $zb_yc=$ycl_yc_count/$yc_count*100;
  70. if ($zb_yc>=80){
  71. $zb_yc1=1;
  72. }else if ($zb_yc==0){
  73. $zb_yc1=3;
  74. }else{
  75. $zb_yc1=0;
  76. }
  77. }else{
  78. $yc_count=0;
  79. $zb_yc1=2;
  80. }
  81. if (!empty($sj_device1)){
  82. $sj_device = substr($sj_device1,0,strlen($sj_device1)-1);
  83. $sj_data=M()->query("select count(id) as a from sp_sj2017 where device_code in (".$sj_device.") group by clzt");
  84. $sj_count=0;
  85. $ycl_sj_count=0;
  86. foreach ($sj_data as $key=>$value){
  87. $sj_count+=$sj_data[$key]['a'];
  88. if ($sj_data[$key]['clzt']=1){
  89. $ycl_sj_count=$sj_data[$key]['a'];
  90. }
  91. }
  92. $zb_sj=$ycl_sj_count/$sj_count*100;
  93. if ($zb_sj>=80){
  94. $zb_sj1=1;
  95. }else if ($zb_sj==0){
  96. $zb_sj1=3;
  97. }else{
  98. $zb_sj1=0;
  99. }
  100. }else{
  101. $sj_count=0;
  102. $zb_sj1=2;
  103. }
  104. if (!empty($yg_device1)){
  105. $yg_device = substr($yg_device1,0,strlen($yg_device1)-1);
  106. $yg_data=M()->query("select count(id) as a from sp_hj2017 where device_code in (".$yg_device.") group by clzt");
  107. $yg_count=0;
  108. $ycl_yg_count=0;
  109. foreach ($yg_data as $key=>$value){
  110. $yg_count+=$yg_data[$key]['a'];
  111. if ($yg_data[$key]['clzt']=1){
  112. $ycl_yg_count=$yg_data[$key]['a'];
  113. }
  114. }
  115. $zb_yg=$ycl_yg_count/$yg_count*100;
  116. if ($zb_yg>=80){
  117. $zb_yg1=1;
  118. }else if ($zb_yg==0){
  119. $zb_yg1=3;
  120. }else{
  121. $zb_yg1=0;
  122. }
  123. }else{
  124. $yg_count=0;
  125. $zb_yg1=2;
  126. }
  127. if (!empty($xfs_device1)){
  128. $xfs_device = substr($xfs_device1,0,strlen($xfs_device1)-1);
  129. $xfs_data=M()->query("select count(id) as a from sp_sj2017 where device_code in (".$xfs_device.") group by clzt");
  130. $xfs_count=0;
  131. $ycl_xfs_count=0;
  132. foreach ($xfs_data as $key=>$value){
  133. $xfs_count+=$xfs_data[$key]['a'];
  134. if ($xfs_data[$key]['clzt']=1){
  135. $ycl_xfs_count=$xfs_data[$key]['a'];
  136. }
  137. }
  138. $zb_xfs=$ycl_xfs_count/$xfs_count*100;
  139. if ($zb_xfs>=80){
  140. $zb_xfs1=1;
  141. }else if ($zb_xfs==0){
  142. $zb_xfs1=3;
  143. }else{
  144. $zb_xfs1=0;
  145. }
  146. }else{
  147. $xfs_count=0;
  148. $zb_xfs1=2;
  149. }
  150. if (!empty($yw_device1)){
  151. $yw_device = substr($yw_device1,0,strlen($yw_device1)-1);
  152. $yw_data=M()->query("select count(id) as a from sp_sj2017 where device_code in (".$yw_device.") group by clzt");
  153. $yw_count=0;
  154. $ycl_yw_count=0;
  155. foreach ($yw_data as $key=>$value){
  156. $yw_count+=$yw_data[$key]['a'];
  157. if ($yw_data[$key]['clzt']=1){
  158. $ycl_yw_count=$yw_data[$key]['a'];
  159. }
  160. }
  161. $zb_yw=$ycl_yw_count/$yw_count*100;
  162. if ($zb_yw>=80){
  163. $zb_yw1=1;
  164. }else if ($zb_yw==0){
  165. $zb_yw1=3;
  166. }else{
  167. $zb_yw1=0;
  168. }
  169. }else{
  170. $yw_count=0;
  171. $zb_yw1=2;
  172. }
  173. if (!empty($rtu_device1)){
  174. $rtu_device = substr($rtu_device1,0,strlen($rtu_device1)-1);
  175. $rtu_data=M()->query("select count(id) as a from sp_rtu2017 where device_code in (".$rtu_device.") group by clzt");
  176. $rtu_count=0;
  177. $ycl_rtu_count=0;
  178. foreach ($rtu_data as $key=>$value){
  179. $rtu_count+=$rtu_data[$key]['a'];
  180. if ($rtu_data[$key]['clzt']=1){
  181. $ycl_rtu_count=$rtu_data[$key]['a'];
  182. }
  183. }
  184. $zb_rtu=$ycl_rtu_count/$rtu_count*100;
  185. if ($zb_rtu>=80){
  186. $zb_rtu1=1;
  187. }else if ($zb_rtu==0){
  188. $zb_rtu1=3;
  189. }else{
  190. $zb_rtu1=0;
  191. }
  192. }else{
  193. $rtu_count=0;
  194. $zb_rtu1=2;
  195. }
  196. if (!empty($dqhz_device1)){
  197. $dqhz_device = substr($dqhz_device1,0,strlen($dqhz_device1)-1);
  198. $dqhz_data=M()->query("select count(id) as a from sp_ef2017 where device_code in (".$dqhz_device.") group by clzt");
  199. $dqhz_count=0;
  200. $ycl_dqhz_count=0;
  201. foreach ($dqhz_data as $key=>$value){
  202. $dqhz_count+=$dqhz_data[$key]['a'];
  203. if ($dqhz_data[$key]['clzt']=1){
  204. $ycl_dqhz_count=$dqhz_data[$key]['a'];
  205. }
  206. }
  207. $zb_dqhz=$ycl_dqhz_count/$dqhz_count*100;
  208. if ($zb_dqhz>=80){
  209. $zb_dqhz1=1;
  210. }else if ($zb_dqhz==0){
  211. $zb_dqhz1=3;
  212. }else{
  213. $zb_dqhz1=0;
  214. }
  215. }else{
  216. $dqhz_count=0;
  217. $zb_dqhz1=2;
  218. }
  219. if (!empty($spjc_device1)){
  220. $spjc_device = substr($spjc_device1,0,strlen($spjc_device1)-1);
  221. $spjc_data=M()->query("select count(id) as a from sp_video2017 where device_code in (".$spjc_device.") group by clzt");
  222. $spjc_count=0;
  223. $ycl_spjc_count=0;
  224. foreach ($spjc_data as $key=>$value){
  225. $spjc_count+=$spjc_data[$key]['a'];
  226. if ($spjc_data[$key]['clzt']=1){
  227. $ycl_spjc_count=$spjc_data[$key]['a'];
  228. }
  229. }
  230. $zb_spjc=$ycl_spjc_count/$spjc_count*100;
  231. if ($zb_spjc>=80){
  232. $zb_spjc1=1;
  233. }else if ($zb_spjc==0){
  234. $zb_spjc1=3;
  235. }else{
  236. $zb_spjc1=0;
  237. }
  238. }else{
  239. $spjc_count=0;
  240. $zb_spjc1=2;
  241. }
  242. if (!empty($dtjc_device1)){
  243. $dtjc_device = substr($dtjc_device1,0,strlen($dtjc_device1)-1);
  244. $dtjc_data=M()->query("select count(id) as a from sp_lifter2017 where device_code in (".$dtjc_device.") group by clzt");
  245. $dtjc_count=0;
  246. $ycl_dtjc_count=0;
  247. foreach ($dtjc_data as $key=>$value){
  248. $dtjc_count+=$dtjc_data[$key]['a'];
  249. if ($dtjc_data[$key]['clzt']=1){
  250. $ycl_dtjc_count=$dtjc_data[$key]['a'];
  251. }
  252. }
  253. $zb_dtjc=$ycl_dtjc_count/$dtjc_count*100;
  254. if ($zb_dtjc>=80){
  255. $zb_dtjc1=1;
  256. }else if ($zb_dtjc==0){
  257. $zb_dtjc1=3;
  258. }else{
  259. $zb_dtjc1=0;
  260. }
  261. }else{
  262. $dtjc_count=0;
  263. $zb_dtjc1=2;
  264. }
  265. if (!empty($jgjc_device1)){
  266. $jgjc_device = substr($jgjc_device1,0,strlen($jgjc_device1)-1);
  267. $jgjc_data=M()->query("select count(id) as a from sp_iw2017 where device_code in (".$jgjc_device.") group by clzt");
  268. $jgjc_count=0;
  269. $ycl_jgjc_count=0;
  270. foreach ($jgjc_data as $key=>$value){
  271. $jgjc_count+=$jgjc_data[$key]['a'];
  272. if ($jgjc_data[$key]['clzt']=1){
  273. $ycl_jgjc_count=$jgjc_data[$key]['a'];
  274. }
  275. }
  276. $zb_jgjc=$ycl_jgjc_count/$jgjc_count*100;
  277. if ($zb_jgjc>=80){
  278. $zb_jgjc1=1;
  279. }else if ($zb_jgjc==0){
  280. $zb_jgjc1=3;
  281. }else{
  282. $zb_jgjc1=0;
  283. }
  284. }else{
  285. $jgjc_count=0;
  286. $zb_jgjc1=2;
  287. }
  288. if (!empty($dcjc_device1)){
  289. $dcjc_device = substr($dcjc_device1,0,strlen($dcjc_device1)-1);
  290. $dcjc_data=M()->query("select count(id) as a from sp_dc2020 where device_code in (".$dcjc_device.") group by clzt");
  291. $dcjc_count=0;
  292. $ycl_dcjc_count=0;
  293. foreach ($dcjc_data as $key=>$value){
  294. $dcjc_count+=$dcjc_data[$key]['a'];
  295. if ($dcjc_data[$key]['clzt']=1){
  296. $ycl_dcjc_count=$dcjc_data[$key]['a'];
  297. }
  298. }
  299. $zb_dcjc=$ycl_dcjc_count/$dcjc_count*100;
  300. if ($zb_dcjc>=80){
  301. $zb_dcjc1=1;
  302. }else if ($zb_dcjc==0){
  303. $zb_dcjc1=3;
  304. }else{
  305. $zb_dcjc1=0;
  306. }
  307. }else{
  308. $dcjc_count=0;
  309. $zb_dcjc1=2;
  310. }
  311. if (!empty($mcjs_device1)){
  312. $mcjs_device = substr($mcjs_device1,0,strlen($mcjs_device1)-1);
  313. $mcjs_data=M()->query("select count(id) as a from sp_door2020 where device_code in (".$mcjs_device.") group by clzt");
  314. $mcjs_count=0;
  315. $ycl_mcjs_count=0;
  316. foreach ($mcjs_data as $key=>$value){
  317. $mcjs_count+=$mcjs_data[$key]['a'];
  318. if ($mcjs_data[$key]['clzt']=1){
  319. $ycl_mcjs_count=$mcjs_data[$key]['a'];
  320. }
  321. }
  322. $zb_mcjs=$ycl_mcjs_count/$mcjs_count*100;
  323. if ($zb_mcjs>=80){
  324. $zb_mcjs1=1;
  325. }else if ($zb_mcjs==0){
  326. $zb_mcjs1=3;
  327. }else{
  328. $zb_mcjs1=0;
  329. }
  330. }else{
  331. $mcjs_count=0;
  332. $zb_mcjs1=2;
  333. }
  334. if (!empty($krqt_device1)){
  335. $krqt_device = substr($krqt_device1,0,strlen($krqt_device1)-1);
  336. $krqt_data=M()->query("select count(id) as a from sp_gas2020 where device_code in (".$krqt_device.") group by clzt");
  337. $krqt_count=0;
  338. $ycl_krqt_count=0;
  339. foreach ($krqt_data as $key=>$value){
  340. $krqt_count+=$krqt_data[$key]['a'];
  341. if ($krqt_data[$key]['clzt']=1){
  342. $ycl_krqt_count=$krqt_data[$key]['a'];
  343. }
  344. }
  345. $zb_krqt=$ycl_krqt_count/$krqt_count*100;
  346. if ($zb_krqt>=80){
  347. $zb_krqt1=1;
  348. }else if ($zb_krqt==0){
  349. $zb_krqt1=3;
  350. }else{
  351. $zb_krqt1=0;
  352. }
  353. }else{
  354. $krqt_count=0;
  355. $zb_krqt1=2;
  356. }
  357. $sy_count=$yc_count+$sj_count+$yg_count+$xfs_count+$yw_count+$rtu_count+$dqhz_count+$spjc_count+$dtjc_count+$jgjc_count+$dcjc_count+$mcjs_count+$krqt_count;
  358. if ($sy_count<180){
  359. $score=90;
  360. }else if ($sy_count>180&&$sy_count<300){
  361. $score=80;
  362. }else if ($sy_count>300){
  363. $score=60;
  364. }
  365. if (empty($physical_examination_data)){
  366. $inset_sql="INSERT INTO sp_physical_examination ( company_name, company_code,yc_count,sj_count,yg_count,xfs_count,yw_count,rtu_count,dqhz_count,spjc_count,dtjc_count,jgjc_count,dcjc_count,mcjs_count,krqt_count,sy_count,score,time) VALUE
  367. ('".$company_data[0]['owner_name']."', '".$company_code."',".$yc_count.",".$sj_count.",".$yg_count.",".$xfs_count.",".$yw_count.",".$rtu_count.",".$dqhz_count.",".$spjc_count.",".$dtjc_count.",".$jgjc_count.",".$dcjc_count.",".$mcjs_count.",".$krqt_count.",".$sy_count.",".$score.",'".$time1."')";
  368. insert_187_ytIoT($inset_sql);
  369. }else{
  370. $update_sql="UPDATE sp_physical_examination set yc_count=".$yc_count.",sj_count=".$sj_count.",yg_count=".$yg_count.",xfs_count=".$xfs_count.",yw_count=".$yw_count.",rtu_count=".$rtu_count.",dqhz_count=".$dqhz_count.",spjc_count=".$spjc_count.",
  371. dtjc_count=".$dtjc_count.",jgjc_count=".$jgjc_count.",dcjc_count=".$dcjc_count.",mcjs_count=".$mcjs_count.",krqt_count=".$krqt_count.",sy_count=".$sy_count.",score=".$score.",time='".$time1."' where id=".$physical_examination_data[0]['id'];
  372. insert_187_ytIoT($update_sql);
  373. }
  374. $physical_examination_data1=M()->query("select * from sp_physical_examination where time like'%".$time."%'");
  375. $pm=1;
  376. foreach ($physical_examination_data1 as $key => $value){
  377. if ($sy_count>$physical_examination_data1[$key]['sy_count']){
  378. $pm+=1;
  379. }
  380. }
  381. $data[0]['ranking']=$pm;
  382. $data[0]['company_code']=$company_code;
  383. $data[0]['company_name']=$company_data[0]['owner_name'];
  384. $data[0]['address']=$company_data[0]['owner_address'];
  385. $data[0]['create_time']=$company_data[0]['create_time'];
  386. $data[0]['total']=(int)$sy_count;
  387. $data[0]['score']=$score;
  388. $data[0]['time']=$time2;
  389. $data[0]['state_yc']=(int)$zb_yc1;
  390. $data[0]['state_sj']=(int)$zb_sj1;
  391. $data[0]['state_yg']=(int)$zb_yg1;
  392. $data[0]['state_xfs']=(int)$zb_xfs1;
  393. $data[0]['state_yw']=(int)$zb_yw1;
  394. $data[0]['state_rtu']=(int)$zb_rtu1;
  395. $data[0]['state_dqhz']=(int)$zb_dqhz1;
  396. $data[0]['state_spjc']=(int)$zb_spjc1;
  397. $data[0]['state_dtjc']=(int)$zb_dtjc1;
  398. $data[0]['state_jgjc']=(int)$zb_jgjc1;
  399. $data[0]['state_dcjc']=(int)$zb_dcjc1;
  400. $data[0]['state_mcjc']=(int)$zb_mcjs1;
  401. $data[0]['state_krqt']=(int)$zb_krqt1;
  402. $data[0]['count_yc']=(int)$yc_count;
  403. $data[0]['count_sj']=(int)$sj_count;
  404. $data[0]['count_yg']=(int)$yg_count;
  405. $data[0]['count_xfs']=(int)$xfs_count;
  406. $data[0]['count_yw']=(int)$yw_count;
  407. $data[0]['count_rtu']=(int)$rtu_count;
  408. $data[0]['count_dqhz']=(int)$dqhz_count;
  409. $data[0]['count_spjc']=(int)$spjc_count;
  410. $data[0]['count_dtjc']=(int)$dtjc_count;
  411. $data[0]['count_jgjc']=(int)$jgjc_count;
  412. $data[0]['count_dcjc']=(int)$dcjc_count;
  413. $data[0]['count_mcjc']=(int)$mcjs_count;
  414. $data[0]['count_krqt']=(int)$krqt_count;
  415. $data[0]['count_ycl_yc']=(int)$ycl_yc_count;
  416. $data[0]['count_ycl_sj']=(int)$ycl_sj_count;
  417. $data[0]['count_ycl_yg']=(int)$ycl_yg_count;
  418. $data[0]['count_ycl_xfs']=(int)$ycl_xfs_count;
  419. $data[0]['count_ycl_yw']=(int)$ycl_yw_count;
  420. $data[0]['count_ycl_rtu']=(int)$ycl_rtu_count;
  421. $data[0]['count_ycl_dqhz']=(int)$ycl_dqhz_count;
  422. $data[0]['count_ycl_spjc']=(int)$ycl_spjc_count;
  423. $data[0]['count_ycl_dtjc']=(int)$ycl_dtjc_count;
  424. $data[0]['count_ycl_jgjc']=(int)$ycl_jgjc_count;
  425. $data[0]['count_ycl_dcjc']=(int)$ycl_dcjc_count;
  426. $data[0]['count_ycl_mcjc']=(int)$ycl_mcjs_count;
  427. $data[0]['count_ycl_krqt']=(int)$ycl_krqt_count;
  428. $res['msg'] = '操作成功';
  429. $res['flag'] = true;
  430. $res['data'] = $data;
  431. echo json_encode($res);
  432. }
  433. }