Shouhuanlogic.php 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. <?php
  2. namespace app\api\logic;
  3. use app\common\model\SettingModel;
  4. use app\common\server\ShouhuanCommand;
  5. /**
  6. * 手环处理
  7. * 低电报警开关 跌倒报警开关 睡眠时间段设置 立即定位 设置翻滚时间 设置sos电话 设置电话本
  8. * 发送间隔 设备初始化
  9. *
  10. * @author wj
  11. * @date 2023-08-29
  12. */
  13. class Shouhuanlogic
  14. {
  15. /**
  16. * 设备初始化
  17. *
  18. * @return void
  19. * @author wj
  20. * @date 2023-08-29
  21. */
  22. public function facilityinit($facility_id, $device_id_code, $sys_user_id)
  23. {
  24. $m_s = new SettingModel();
  25. $s_sc = new ShouhuanCommand();
  26. $zone = $m_s->getvalue('shouhuan_zone'); //时区
  27. $upload_interval = $m_s->getvalue('shouhuan_local_space'); //定位间隔
  28. $fd_is_open = $m_s->getvalue('shouhuan_fall_call'); //定位间隔
  29. $pedo_is_open = $m_s->getvalue('shouhuan_step_status'); //计步开关
  30. $remove_is_open = $m_s->getvalue('shouhuan_wear_call'); //佩戴开关
  31. $param = [
  32. 'zone' => $zone,
  33. 'upload_interval' => $upload_interval,
  34. 'fd_is_open' => $fd_is_open,
  35. 'lowbat_is_open' => 1,
  36. 'pedo_is_open' => $pedo_is_open,
  37. 'remove_is_open' => $remove_is_open,
  38. ];
  39. $s_sc->facilityinit($facility_id, $device_id_code, $param, $sys_user_id);
  40. return backarr(1, "操作成功");
  41. }
  42. /**
  43. * 低电报警开关
  44. *
  45. * @param [type] $arr
  46. * @return void
  47. * @author wj
  48. * @date 2023-08-29
  49. */
  50. public function createlowbatcommand($facility_id, $device_id_code, $param, $sys_user_id)
  51. {
  52. $is_open = empty($param['is_open']) ? 0 : 1;
  53. $s_sc = new ShouhuanCommand();
  54. $s_sc->createlowbatcommand($facility_id, $device_id_code, $is_open, $sys_user_id);
  55. return backarr(1, "操作成功");
  56. }
  57. /**
  58. * 设置 跌倒报警开关
  59. *
  60. * @param [type] $arr
  61. * @return void
  62. * @author wj
  63. * @date 2023-08-29
  64. */
  65. public function createfalldowncommand($facility_id, $device_id_code, $param, $sys_user_id)
  66. {
  67. $is_open = empty($param['is_open']) ? 0 : 1;
  68. $s_sc = new ShouhuanCommand();
  69. $s_sc->createfalldowncommand($facility_id, $device_id_code, $is_open, $sys_user_id);
  70. return backarr(1, "操作成功");
  71. }
  72. //['starttime'=>'21:00','endtime'=>'6:00'];
  73. /**
  74. * 设置睡眠/翻滚时间段
  75. *
  76. * @param [type] $arr
  77. * @return void
  78. * @author wj
  79. * @date 2023-08-29
  80. * 参数格式 ['starttime'=>'21:00','endtime'=>'6:00'];
  81. */
  82. public function createsleeptimecommand($facility_id, $device_id_code, $data, $sys_user_id)
  83. {
  84. $param = ['starttime' => $data['starttime'], 'endtime' => $data['endtime']];
  85. $s_sc = new ShouhuanCommand();
  86. $s_sc->createsleeptimecommand($facility_id, $device_id_code, $param, $sys_user_id);
  87. return backarr(1, "操作成功");
  88. }
  89. //立即定位
  90. public function createcrcommand($facility_id, $device_id_code, $sys_user_id)
  91. {
  92. $s_sc = new ShouhuanCommand();
  93. $s_sc->createcrcommand($facility_id, $device_id_code, $sys_user_id);
  94. return backarr(1, "操作成功");
  95. }
  96. //设置sos 电话
  97. /**
  98. * 设置sos 电话
  99. * tels 一维数组 未验证是否为手机号
  100. * @param [type] $arr
  101. * @return void
  102. * @author wj
  103. * @date 2023-08-29
  104. */
  105. public function createsoscommand($facility_id, $device_id_code, $data, $sys_user_id)
  106. {
  107. $param = $data['tels'];
  108. $s_sc = new ShouhuanCommand();
  109. $s_sc->createsoscommand($facility_id, $device_id_code, $param, $sys_user_id);
  110. return backarr(1, "操作成功");
  111. }
  112. //设置电话本
  113. /**
  114. * 设置电话本
  115. * 参数格式
  116. * $phldata = [
  117. * ['telno' => '12344', 'name' => '测试2'],
  118. * ['telno' => '123', 'name' => '测试'],
  119. * ];
  120. * @param [type] $arr
  121. * @return void
  122. * @author wj
  123. * @date 2023-08-29
  124. */
  125. public function createphlcommand($facility_id, $device_id_code, $data, $sys_user_id)
  126. {
  127. $param = $data['param'];
  128. $s_sc = new ShouhuanCommand();
  129. $s_sc->createphlcommand($facility_id, $device_id_code, $param, $sys_user_id);
  130. return backarr(1, "操作成功");
  131. }
  132. /**
  133. * 数据间隔设置
  134. *
  135. * @param [type] $facility_id
  136. * @param [type] $device_id_code
  137. * @param [type] $data
  138. * @param [type] $sys_user_id
  139. * @return void
  140. * @author wj
  141. * @date 2023-09-05
  142. */
  143. public function ctreateintervalcommand($facility_id, $device_id_code, $data, $sys_user_id)
  144. {
  145. $m_s = new SettingModel();
  146. $s_sc = new ShouhuanCommand();
  147. //定位
  148. if (!isset($data['cr_interval']) || empty($data['cr_interval'])) {
  149. $cr_interval = $m_s->getvalue('shouhuan_local_space'); //分钟
  150. $data['cr_interval'] = bcmul((int) $cr_interval, 60);
  151. }
  152. //心率
  153. if (!isset($data['hrt_interval']) || empty($data['hrt_interval'])) {
  154. $hrt_interval = $m_s->getvalue('shouhuan_heart_space'); //分钟
  155. $data['hrt_interval'] = bcmul((int) $hrt_interval, 60);
  156. }
  157. //体温
  158. if (!isset($data['wd_interval']) || empty($data['wd_interval'])) {
  159. $wd_interval = $m_s->getvalue('shouhuan_body_space'); //分钟
  160. $data['wd_interval'] = bcmul((int) $wd_interval, 60);
  161. }
  162. //血压
  163. if (!isset($data['bld_interval']) || empty($data['bld_interval'])) {
  164. $bld_interval = $m_s->getvalue('shouhuan_blood_space'); //分钟
  165. $data['bld_interval'] = bcmul((int) $bld_interval, 60);
  166. }
  167. //血氧
  168. if (!isset($data['ox_interval']) || empty($data['ox_interval'])) {
  169. $ox_interval = $m_s->getvalue('shouhuan_oxygen_space'); //分钟
  170. $data['ox_interval'] = bcmul((int) $ox_interval, 60);
  171. }
  172. $s_sc->setdatainterval($facility_id, $device_id_code, $data, $sys_user_id);
  173. return backarr(1, "操作成功");
  174. }
  175. /**
  176. * 关机
  177. *
  178. * @param [type] $facility_id
  179. * @param [type] $device_id_code
  180. * @param [type] $sys_user_id
  181. * @return void
  182. * @author wj
  183. * @date 2023-09-05
  184. */
  185. public function createpoweroffcommand($facility_id, $device_id_code, $sys_user_id)
  186. {
  187. $s_sc = new ShouhuanCommand();
  188. $s_sc->createpoweroffcommand($facility_id, $device_id_code, $sys_user_id);
  189. return backarr(1, "操作成功");
  190. }
  191. /**
  192. * 静默时间
  193. *
  194. * @param [type] $facility_id
  195. * @param [type] $device_id_code
  196. * @param [type] $param
  197. * @param [type] $sys_user_id
  198. * @return void
  199. * @author wj
  200. * @date 2023-09-05
  201. */
  202. public function createsilencetime2command($facility_id, $device_id_code, $param, $sys_user_id)
  203. {
  204. $s_sc = new ShouhuanCommand();
  205. $s_sc->createsilencetime2command($facility_id, $device_id_code, $param, $sys_user_id);
  206. return backarr(1, "操作成功");
  207. }
  208. /**
  209. * 开关机时间
  210. *
  211. * @return void
  212. * @author wj
  213. * @date 2023-09-05
  214. */
  215. public function createbootoffcommand($facility_id, $device_id_code, $param, $sys_user_id)
  216. {
  217. $s_sc = new ShouhuanCommand();
  218. $s_sc->createbootoffcommand($facility_id, $device_id_code, $param, $sys_user_id);
  219. return backarr(1, "操作成功");
  220. }
  221. /**
  222. * 佩戴提醒
  223. *
  224. * @param [type] $facility_id
  225. * @param [type] $device_id_code
  226. * @param [type] $param
  227. * @param [type] $sys_user_id
  228. * @return void
  229. * @author wj
  230. * @date 2023-09-05
  231. */
  232. public function createremovecommand($facility_id, $device_id_code, $param, $sys_user_id)
  233. {
  234. $is_open = empty($param['is_open']) ? 0 : 1;
  235. $s_sc = new ShouhuanCommand();
  236. $s_sc->createremovecommand($facility_id, $device_id_code, $is_open, $sys_user_id);
  237. return backarr(1, "操作成功");
  238. }
  239. /**
  240. * 闹钟
  241. *
  242. * @param [type] $facility_id
  243. * @param [type] $device_id_code
  244. * @param [type] $param
  245. * @param [type] $sys_user_id
  246. * @return void
  247. * @author wj
  248. * @date 2023-09-05
  249. */
  250. public function createremindcommand($facility_id, $device_id_code, $param, $sys_user_id)
  251. {
  252. $s_sc = new ShouhuanCommand();
  253. $s_sc->createremindcommand($facility_id, $device_id_code, $param, $sys_user_id);
  254. return backarr(1, "操作成功");
  255. }
  256. /**
  257. * 计步开关
  258. *
  259. * @return void
  260. * @author wj
  261. * @date 2023-09-05
  262. */
  263. public function createpedocommand($facility_id, $device_id_code, $param, $sys_user_id)
  264. {
  265. $is_open = empty($param['is_open']) ? 0 : 1;
  266. $s_sc = new ShouhuanCommand();
  267. $s_sc->createpedocommand($facility_id, $device_id_code, $is_open, $sys_user_id);
  268. return backarr(1, "操作成功");
  269. }
  270. }