Commit f7667975289f9f6c9584ddf20f7635112d28aaa1
1 parent
5abf4a6830
Exists in
master
and in
6 other branches
虚拟叫号
Showing 1 changed file with 89 additions and 48 deletions
platform-operate-api/src/main/java/com/lyms/hospitalapi/whfy/VirtualCallService.java
View file @
f766797
... | ... | @@ -22,6 +22,8 @@ |
22 | 22 | import java.net.InetAddress; |
23 | 23 | import java.net.NetworkInterface; |
24 | 24 | import java.sql.*; |
25 | +import java.text.ParseException; | |
26 | +import java.text.SimpleDateFormat; | |
25 | 27 | import java.util.*; |
26 | 28 | import java.util.Date; |
27 | 29 | |
... | ... | @@ -34,6 +36,8 @@ |
34 | 36 | @Service("virtualCallService") |
35 | 37 | public class VirtualCallService { |
36 | 38 | |
39 | + | |
40 | + | |
37 | 41 | @Autowired |
38 | 42 | private UsersService usersService; |
39 | 43 | |
... | ... | @@ -72,19 +76,12 @@ |
72 | 76 | conn = makeHisConnection(); |
73 | 77 | //1.1 普通登录 '1','200.200.3.164','05030101','产二门诊','10018','滕振娟' |
74 | 78 | //exec usp_mzhs_hsfzinterface '1','192.168.1.219','2052','儿科门诊','00','supervisor','D8-9E-F3-13-A5-86','0',@sex='男' |
75 | - cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?,?,?,?,?)}"); | |
76 | - cs.setString(1, "1"); | |
77 | - cs.setString(2, "200.200.3.53"); | |
78 | - cs.setString(3, "0501"); | |
79 | - cs.setString(4, "产二门诊"); | |
80 | - cs.setString(5, "10120"); | |
81 | - cs.setString(6, "李文学"); | |
82 | -// | |
83 | -// cs.setString(2, ip); | |
84 | -// cs.setString(3, code); | |
85 | -// cs.setString(4, deptName); | |
86 | -// cs.setString(5, doctorAccount); | |
87 | -// cs.setString(6, doctorName); | |
79 | + cs = conn.prepareCall("{call usp_hzfz_hsfzinterface(?,?,?,?,?,?)}"); | |
80 | + cs.setString(2, ip); | |
81 | + cs.setString(3, code); | |
82 | + cs.setString(4, deptName); | |
83 | + cs.setString(5, doctorAccount); | |
84 | + cs.setString(6, doctorName); | |
88 | 85 | cs.execute(); |
89 | 86 | ResultSet rs = cs.getResultSet(); |
90 | 87 | |
... | ... | @@ -114,9 +111,7 @@ |
114 | 111 | ConnTools.close(conn,cs); |
115 | 112 | } |
116 | 113 | result.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); |
117 | - result.setErrormsg("登陆异常"); | |
118 | - | |
119 | - VirtualUtil.sendVoice("登陆成功"); | |
114 | + result.setErrormsg("登陆失败"); | |
120 | 115 | return result; |
121 | 116 | } |
122 | 117 | |
123 | 118 | |
... | ... | @@ -132,9 +127,9 @@ |
132 | 127 | conn = makeHisConnection(); |
133 | 128 | //5 退出登录 |
134 | 129 | //exec usp_mzhs_hsfzinterface 5,'192.168.1.219' |
135 | - cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?)}"); | |
130 | + cs = conn.prepareCall("{call usp_hzfz_hsfzinterface(?,?)}"); | |
136 | 131 | cs.setString(1, "5"); |
137 | - cs.setString(2, "200.200.3.53"); | |
132 | + cs.setString(2, ip); | |
138 | 133 | cs.execute(); |
139 | 134 | ResultSet rs = cs.getResultSet(); |
140 | 135 | |
141 | 136 | |
... | ... | @@ -181,10 +176,10 @@ |
181 | 176 | conn = makeHisConnection(); |
182 | 177 | //14 更改诊间状态 --0 修改当前诊间为停诊,1 修改当前诊间为开诊,2 获取当前诊间状态(0 停诊 1 开诊) |
183 | 178 | //exec usp_mzhs_hsfzinterface_km 14,'192.16.1.111',@zjzt=2 |
184 | - cs = conn.prepareCall("{call usp_mzhs_hsfzinterface_km(?,?,?)}"); | |
179 | + cs = conn.prepareCall("{call usp_hzfz_hsfzinterface(?,?,@zjzt=?)}"); | |
185 | 180 | cs.setString(1, "14"); |
186 | - cs.setString(2, "200.200.3.53"); | |
187 | - cs.setString(3, "@zjzt=" + status); | |
181 | + cs.setString(2, ip); | |
182 | + cs.setString(3, status); | |
188 | 183 | cs.execute(); |
189 | 184 | ResultSet rs = cs.getResultSet(); |
190 | 185 | |
191 | 186 | |
192 | 187 | |
... | ... | @@ -228,11 +223,14 @@ |
228 | 223 | conn = makeHisConnection(); |
229 | 224 | // 7 复呼 |
230 | 225 | // exec usp_mzhs_hsfzinterface 7,'10.58.99.246',@ghxh=2795541 |
231 | - cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?,?)}"); | |
226 | + cs = conn.prepareCall("{call usp_hzfz_hsfzinterface(?,?,@ghxh=?)}"); | |
232 | 227 | cs.setString(1, "7"); |
233 | - cs.setString(2, "200.200.3.53"); | |
234 | - cs.setString(3, "@ghxh=18441"); | |
228 | + cs.setString(2, ip); | |
229 | + cs.setString(3, patientId); | |
235 | 230 | cs.execute(); |
231 | + StringBuffer content = new StringBuffer(); | |
232 | + content.append("请"); | |
233 | + boolean isSuccess = false; | |
236 | 234 | ResultSet rs = cs.getResultSet(); |
237 | 235 | int count = rs.getMetaData().getColumnCount(); |
238 | 236 | while (rs.next()) { |
239 | 237 | |
240 | 238 | |
... | ... | @@ -241,15 +239,27 @@ |
241 | 239 | String columnName = rs.getMetaData().getColumnName(i); |
242 | 240 | Object value = rs.getObject(columnName); |
243 | 241 | System.out.println(ip+";rebackCall columName=" + columnName+ ";value="+value); |
244 | - if (columnName != null && "GHXH".equals(String.valueOf(columnName))) | |
245 | - { | |
246 | - result.setErrorcode(ErrorCodeConstants.SUCCESS); | |
247 | - result.setErrormsg("登陆成功"); | |
248 | - return result; | |
249 | - } | |
242 | + } | |
250 | 243 | |
244 | + String hzxm = rs.getString("HZXM"); | |
245 | + if (StringUtils.isNotEmpty(hzxm)) | |
246 | + { | |
247 | + isSuccess = true; | |
248 | + content.append(hzxm); | |
249 | + content.append("到"); | |
250 | + content.append(rs.getString("ZJMC")); | |
251 | + content.append("就诊"); | |
251 | 252 | } |
252 | 253 | } |
254 | + if (isSuccess) | |
255 | + { | |
256 | + System.out.println("复呼内容:"+content.toString()); | |
257 | + VirtualUtil.sendVoice(content.toString()); | |
258 | + result.setErrorcode(ErrorCodeConstants.SUCCESS); | |
259 | + result.setErrormsg("复呼成功"); | |
260 | + return result; | |
261 | + } | |
262 | + | |
253 | 263 | } |
254 | 264 | catch (Exception e) |
255 | 265 | { |
... | ... | @@ -260,7 +270,7 @@ |
260 | 270 | ConnTools.close(conn,cs); |
261 | 271 | } |
262 | 272 | result.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); |
263 | - result.setErrormsg("复呼异常"); | |
273 | + result.setErrormsg("复呼失败"); | |
264 | 274 | return result; |
265 | 275 | } |
266 | 276 | |
... | ... | @@ -273,7 +283,7 @@ |
273 | 283 | Departments departments = departmentsService.getDepartments(user.getDeptId()); |
274 | 284 | |
275 | 285 | String code = departments.getShortCode(); |
276 | - String doctorAccount = user.getAccount(); | |
286 | + String doctorAccount = user.getRemarks(); | |
277 | 287 | |
278 | 288 | String ip = getIp(request); |
279 | 289 | System.out.println("waitPatientList time=" + DateUtil.getyyyy_MM_dd_hms(new Date()) + ";ip=" + ip); |
280 | 290 | |
... | ... | @@ -286,11 +296,11 @@ |
286 | 296 | conn = makeHisConnection(); |
287 | 297 | //6 获取队列列表 |
288 | 298 | //exec usp_mzhs_hsfzinterface 6,'192.168.1.219',@ksdm='2052',@ysdm='00' |
289 | - cs = conn.prepareCall("{call usp_mzhs_hsfzinterface_km(?,?,?,?)}"); | |
299 | + cs = conn.prepareCall("{call usp_hzfz_hsfzinterface(?,?,@ksdm=?,@ysdm=?)}"); | |
290 | 300 | cs.setString(1, "6"); |
291 | - cs.setString(2, "200.200.3.53"); | |
292 | - cs.setString(3, "@ksdm=0501"); | |
293 | - cs.setString(4, "@ysdm=10120"); | |
301 | + cs.setString(2, ip); | |
302 | + cs.setString(3, code); | |
303 | + cs.setString(4, doctorAccount); | |
294 | 304 | cs.execute(); |
295 | 305 | ResultSet rs = cs.getResultSet(); |
296 | 306 | |
297 | 307 | |
... | ... | @@ -307,9 +317,9 @@ |
307 | 317 | { |
308 | 318 | Map<String,String> map = new HashMap<>(); |
309 | 319 | map.put("patientId",rs.getString("GHXH")); |
310 | - map.put("vcCardNo",rs.getString("GHHX")); | |
320 | + map.put("vcCardNo", rs.getString("CARDNO")); | |
311 | 321 | map.put("name", rs.getString("HZXM")); |
312 | - map.put("time", rs.getString("ZJDLXH")); | |
322 | + map.put("time", formatDate(rs.getString("JLRQ"))); | |
313 | 323 | datas.add(map); |
314 | 324 | } |
315 | 325 | } |
... | ... | @@ -331,8 +341,6 @@ |
331 | 341 | result.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); |
332 | 342 | result.setErrormsg("获取候诊队列失败"); |
333 | 343 | return result; |
334 | - | |
335 | - | |
336 | 344 | } |
337 | 345 | |
338 | 346 | |
339 | 347 | |
... | ... | @@ -369,9 +377,9 @@ |
369 | 377 | conn = makeHisConnection(); |
370 | 378 | //16 已叫号病人列表 |
371 | 379 | //exec usp_mzhs_hsfzinterface 16,'192.168.1.219' |
372 | - cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?)}"); | |
380 | + cs = conn.prepareCall("{call usp_hzfz_hsfzinterface(?,?)}"); | |
373 | 381 | cs.setString(1, "16"); |
374 | - cs.setString(2, "200.200.3.53"); | |
382 | + cs.setString(2, ip); | |
375 | 383 | cs.execute(); |
376 | 384 | ResultSet rs = cs.getResultSet(); |
377 | 385 | |
378 | 386 | |
... | ... | @@ -386,9 +394,9 @@ |
386 | 394 | if (isExistColumn(rs,"GHXH")) { |
387 | 395 | Map<String, String> map = new HashMap<>(); |
388 | 396 | map.put("patientId", rs.getString("GHXH")); |
389 | - map.put("vcCardNo", rs.getString("GHHX")); | |
397 | + map.put("vcCardNo", rs.getString("CARDNO")); | |
390 | 398 | map.put("name", rs.getString("HZXM")); |
391 | - map.put("time", rs.getString("ZJDLXH")); | |
399 | + map.put("time", formatDate(rs.getString("JLRQ"))); | |
392 | 400 | datas.add(map); |
393 | 401 | } |
394 | 402 | } |
395 | 403 | |
396 | 404 | |
397 | 405 | |
... | ... | @@ -423,20 +431,35 @@ |
423 | 431 | //exec usp_mzhs_hsfzinterface '2','192.168.1.219' |
424 | 432 | cs = conn.prepareCall("{call usp_mzhs_hsfzinterface(?,?)}"); |
425 | 433 | cs.setString(1, "2"); |
426 | - cs.setString(2, "200.200.3.53"); | |
434 | + cs.setString(2, ip); | |
427 | 435 | cs.execute(); |
428 | 436 | ResultSet rs = cs.getResultSet(); |
429 | 437 | int count = rs.getMetaData().getColumnCount(); |
430 | - String content = ""; | |
438 | + StringBuffer content = new StringBuffer(); | |
439 | + content.append("请"); | |
440 | + boolean isSuccess = false; | |
431 | 441 | while (rs.next()) { |
432 | 442 | for (int i = 1; i <= count; i++) { |
433 | 443 | String columnName = rs.getMetaData().getColumnName(i); |
434 | 444 | Object value = rs.getObject(columnName); |
435 | 445 | System.out.println("nextPatient columName=" + columnName + ";value=" + value); |
436 | 446 | } |
447 | + String hzxm = rs.getString("HZXM"); | |
448 | + if (StringUtils.isNotEmpty(hzxm)) | |
449 | + { | |
450 | + isSuccess = true; | |
451 | + content.append(hzxm); | |
452 | + content.append("到"); | |
453 | + content.append(rs.getString("ZJMC")); | |
454 | + content.append("就诊"); | |
455 | + } | |
437 | 456 | } |
438 | - VirtualUtil.sendVoice(content); | |
439 | - return true; | |
457 | + if (isSuccess) | |
458 | + { | |
459 | + System.out.println("下一个内容:"+content.toString()); | |
460 | + VirtualUtil.sendVoice(content.toString()); | |
461 | + return true; | |
462 | + } | |
440 | 463 | } |
441 | 464 | catch (Exception e) |
442 | 465 | { |
... | ... | @@ -497,6 +520,24 @@ |
497 | 520 | e.printStackTrace(System.out); |
498 | 521 | } |
499 | 522 | return macAddress; |
523 | + } | |
524 | + | |
525 | + | |
526 | + private String formatDate(String time) | |
527 | + { | |
528 | + if (!StringUtils.isNotEmpty(time)) | |
529 | + { | |
530 | + return ""; | |
531 | + } | |
532 | + SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHH:mm:ss"); | |
533 | + SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | |
534 | + try { | |
535 | + Date date = format.parse(time); | |
536 | + return format1.format(date); | |
537 | + } catch (ParseException e) { | |
538 | + System.out.println(time+"解析时间格式出错"+e); | |
539 | + return ""; | |
540 | + } | |
500 | 541 | } |
501 | 542 | |
502 | 543 |