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 |