Commit f7667975289f9f6c9584ddf20f7635112d28aaa1

Authored by liquanyu
1 parent 5abf4a6830

虚拟叫号

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