Commit 13e134da9cea4369a9fa229e1a8e9f70fe283405
1 parent
cc419368ae
Exists in
dev
#fix:优化五色专案管理新增导出字段,优化大同危急值同步问题
Showing 5 changed files with 174 additions and 63 deletions
- platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java
- platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentData.java
- platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentModel.java
- platform-operate-api/src/main/java/com/lyms/hospitalapi/dtdyrm/DtdyrmFmService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientDtController.java
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java
View file @
13e134d
... | ... | @@ -240,22 +240,12 @@ |
240 | 240 | System.out.println("saveLisCrisisItemList->Exception e," + e); |
241 | 241 | } |
242 | 242 | |
243 | - // crisisItem.setApplyDoctorCode(model.getApplyDoctorCode()); | |
244 | 243 | crisisItem.setApplyDoctorName(model.getApplyDoctor()); |
245 | 244 | crisisItem.setHospitalId(hospitalId); |
246 | 245 | crisisItem.setStatus(1); |
247 | 246 | crisisItem.setStatusName("待处理"); |
248 | 247 | crisisItem.setSyncStatus(0); |
249 | 248 | if (StringUtils.isNotEmpty(model.getItemJson())) { |
250 | - ReferConfigQuery referConfigQuery = new ReferConfigQuery(); | |
251 | - referConfigQuery.setYn(YnEnums.YES.getId()); | |
252 | - referConfigQuery.setHospitalId(Integer.valueOf(hospitalId)); | |
253 | - referConfigQuery.setLimit(100); | |
254 | - List<ReferValue> referValueList = referConfigService.queryRefer(referConfigQuery); | |
255 | - Map<String, ReferValue> referValueMap = new HashMap<>(); | |
256 | - for (ReferValue referValue : referValueList) { | |
257 | - referValueMap.put(referValue.getCode(), referValue); | |
258 | - } | |
259 | 249 | |
260 | 250 | Map<String, String> params = new HashMap<>(); |
261 | 251 | |
262 | 252 | |
... | ... | @@ -263,26 +253,22 @@ |
263 | 253 | // crisis init |
264 | 254 | for (LisReportItemModel item : itemList) { |
265 | 255 | String code = item.getCode().trim(); |
266 | - ReferValue referValue = referValueMap.get(code); | |
267 | - if (referValue != null) { | |
268 | - | |
269 | - boolean flag = buildEmergency(item.getResult(), referValue); | |
270 | - System.out.println("saveLisCrisisItemList flag" + flag); | |
271 | - if (flag) { | |
272 | - crisisItem.setId(model.getLisId() + "_" + item.getCode()); | |
273 | - crisisItem.setName(model.getType()); | |
274 | - crisisItem.setClassify(model.getType()); | |
275 | - crisisItem.setClassifyName(model.getType()); | |
276 | - crisisItem.setResult(item.getResult()); | |
277 | - //crisisItem.setFlag(item.getFlag()); | |
278 | - crisisItem.setItemCode(item.getCode().trim()); | |
279 | - crisisItem.setItemName(item.getName().trim()); | |
280 | - crisisItem.setRef(buildRef(referValue)); | |
281 | - crisisItem.setUnit(item.getUnit()); | |
282 | - lisCrisisItemService.addLisCrisisItem(crisisItem); | |
283 | - } | |
256 | + String name= item.getName().trim(); | |
257 | + crisisItem.setId(model.getLisId() + "_" + code); | |
258 | + crisisItem.setName(model.getType()); | |
259 | + crisisItem.setClassify(model.getType()); | |
260 | + crisisItem.setClassifyName(model.getType()); | |
261 | + crisisItem.setResult(item.getResult()); | |
262 | + //crisisItem.setFlag(item.getFlag()); | |
263 | + crisisItem.setItemCode(code); | |
264 | + crisisItem.setItemName(name); | |
265 | + crisisItem.setRef(item.getRef()); | |
266 | + crisisItem.setUnit(item.getUnit()); | |
267 | + lisCrisisItemService.addLisCrisisItem(crisisItem); | |
268 | + String result= getResult(code,name,item.getResult().trim()); | |
269 | + if (StringUtils.isNotEmpty(result)){ | |
270 | + params.put(code, result); | |
284 | 271 | } |
285 | - params.put(code, item.getResult().trim()); | |
286 | 272 | } |
287 | 273 | //TODO 稀有血型 Rh血型(D)抗原鉴定 阴性 code:rh |
288 | 274 | //TODO code HBcAb-J 乙肝表面抗原 HBeAb-J 乙肝表面抗体 HBeAg-j 乙肝e抗原 HBsAb-J 乙肝e抗体 HBsAg-J 乙肝核心抗体 HIV(1+2)抗体-J 人类免疫缺陷病毒抗体 TP-抗体 梅毒螺旋体抗体 |
... | ... | @@ -366,6 +352,11 @@ |
366 | 352 | b = true; |
367 | 353 | antenatalExaminationModel.setHivkt(params.get("HIV(1+2)抗体")); |
368 | 354 | } |
355 | + if (StringUtils.isNotEmpty(params.get("HIV(1+2)抗体-J"))) { | |
356 | + b = true; | |
357 | + antenatalExaminationModel.setHivkt(params.get("HIV(1+2)抗体-J")); | |
358 | + } | |
359 | + | |
369 | 360 | if (StringUtils.isNotEmpty(params.get("TSH"))) { |
370 | 361 | b = true; |
371 | 362 | antenatalExaminationModel.settSH(params.get("TSH")); |
372 | 363 | |
373 | 364 | |
374 | 365 | |
375 | 366 | |
376 | 367 | |
... | ... | @@ -402,26 +393,54 @@ |
402 | 393 | p=true; |
403 | 394 | patients.setHBcAbJ(params.get("HBcAb-J")); |
404 | 395 | } |
396 | + if (StringUtils.isNotEmpty(params.get("HBcAb"))){ | |
397 | + p=true; | |
398 | + patients.setHBcAbJ(params.get("HBcAb")); | |
399 | + } | |
405 | 400 | if (StringUtils.isNotEmpty(params.get("HBeAb-J"))){ |
406 | 401 | p=true; |
407 | 402 | patients.setHBeAbJ(params.get("HBeAb-J")); |
408 | 403 | } |
404 | + if (StringUtils.isNotEmpty(params.get("HBeAb"))){ | |
405 | + p=true; | |
406 | + patients.setHBeAbJ(params.get("HBeAb")); | |
407 | + } | |
409 | 408 | if (StringUtils.isNotEmpty(params.get("HBeAg-j"))){ |
410 | 409 | p=true; |
411 | 410 | patients.setHBeAgj(params.get("HBeAg-j")); |
412 | 411 | } |
412 | + if (StringUtils.isNotEmpty(params.get("HBeAg"))){ | |
413 | + p=true; | |
414 | + patients.setHBeAgj(params.get("HBeAg")); | |
415 | + } | |
413 | 416 | if (StringUtils.isNotEmpty(params.get("HBsAb-J"))){ |
414 | 417 | p=true; |
415 | 418 | patients.setHBsAbJ(params.get("HBsAb-J")); |
416 | 419 | } |
420 | + if (StringUtils.isNotEmpty(params.get("HBsAb"))){ | |
421 | + p=true; | |
422 | + patients.setHBsAbJ(params.get("HBsAb")); | |
423 | + } | |
417 | 424 | if (StringUtils.isNotEmpty(params.get("HBsAg-J"))){ |
418 | 425 | p=true; |
419 | 426 | patients.setHBsAgJ(params.get("HBsAg-J")); |
420 | 427 | } |
428 | + if (StringUtils.isNotEmpty(params.get("HBsAg"))){ | |
429 | + p=true; | |
430 | + patients.setHBsAgJ(params.get("HBsAg")); | |
431 | + } | |
421 | 432 | if (StringUtils.isNotEmpty(params.get("HIV(1+2)抗体-J"))){ |
422 | 433 | p=true; |
423 | 434 | patients.setHIVJ(params.get("HIV(1+2)抗体-J")); |
424 | 435 | } |
436 | + if (StringUtils.isNotEmpty(params.get("HIV(1+2)抗体"))) { | |
437 | + p=true; | |
438 | + patients.setHIVJ(params.get("HIV(1+2)抗体")); | |
439 | + } | |
440 | + if (StringUtils.isNotEmpty(params.get("TP—抗体"))){ | |
441 | + p=true; | |
442 | + patients.setTp(params.get("TP—抗体")); | |
443 | + } | |
425 | 444 | if (StringUtils.isNotEmpty(params.get("TP-抗体"))){ |
426 | 445 | p=true; |
427 | 446 | patients.setTp(params.get("TP-抗体")); |
... | ... | @@ -501,6 +520,10 @@ |
501 | 520 | b = true; |
502 | 521 | antExChuModel.setHivkt(params.get("HIV(1+2)抗体")); |
503 | 522 | } |
523 | + if (StringUtils.isNotEmpty(params.get("HIV(1+2)抗体-J"))) { | |
524 | + b = true; | |
525 | + antExChuModel.setHivkt(params.get("HIV(1+2)抗体-J")); | |
526 | + } | |
504 | 527 | if (StringUtils.isNotEmpty(params.get("TSH"))) { |
505 | 528 | b = true; |
506 | 529 | antExChuModel.settSH(params.get("TSH")); |
507 | 530 | |
508 | 531 | |
509 | 532 | |
510 | 533 | |
511 | 534 | |
... | ... | @@ -534,26 +557,54 @@ |
534 | 557 | p=true; |
535 | 558 | patients.setHBcAbJ(params.get("HBcAb-J")); |
536 | 559 | } |
560 | + if (StringUtils.isNotEmpty(params.get("HBcAb"))){ | |
561 | + p=true; | |
562 | + patients.setHBcAbJ(params.get("HBcAb")); | |
563 | + } | |
537 | 564 | if (StringUtils.isNotEmpty(params.get("HBeAb-J"))){ |
538 | 565 | p=true; |
539 | 566 | patients.setHBeAbJ(params.get("HBeAb-J")); |
540 | 567 | } |
568 | + if (StringUtils.isNotEmpty(params.get("HBeAb"))){ | |
569 | + p=true; | |
570 | + patients.setHBeAbJ(params.get("HBeAb")); | |
571 | + } | |
541 | 572 | if (StringUtils.isNotEmpty(params.get("HBeAg-j"))){ |
542 | 573 | p=true; |
543 | 574 | patients.setHBeAgj(params.get("HBeAg-j")); |
544 | 575 | } |
576 | + if (StringUtils.isNotEmpty(params.get("HBeAg"))){ | |
577 | + p=true; | |
578 | + patients.setHBeAgj(params.get("HBeAg")); | |
579 | + } | |
545 | 580 | if (StringUtils.isNotEmpty(params.get("HBsAb-J"))){ |
546 | 581 | p=true; |
547 | 582 | patients.setHBsAbJ(params.get("HBsAb-J")); |
548 | 583 | } |
584 | + if (StringUtils.isNotEmpty(params.get("HBsAb"))){ | |
585 | + p=true; | |
586 | + patients.setHBsAbJ(params.get("HBsAb")); | |
587 | + } | |
549 | 588 | if (StringUtils.isNotEmpty(params.get("HBsAg-J"))){ |
550 | 589 | p=true; |
551 | 590 | patients.setHBsAgJ(params.get("HBsAg-J")); |
552 | 591 | } |
592 | + if (StringUtils.isNotEmpty(params.get("HBsAg"))){ | |
593 | + p=true; | |
594 | + patients.setHBsAgJ(params.get("HBsAg")); | |
595 | + } | |
553 | 596 | if (StringUtils.isNotEmpty(params.get("HIV(1+2)抗体-J"))){ |
554 | 597 | p=true; |
555 | 598 | patients.setHIVJ(params.get("HIV(1+2)抗体-J")); |
556 | 599 | } |
600 | + if (StringUtils.isNotEmpty(params.get("HIV(1+2)抗体"))) { | |
601 | + p=true; | |
602 | + patients.setHIVJ(params.get("HIV(1+2)抗体")); | |
603 | + } | |
604 | + if (StringUtils.isNotEmpty(params.get("TP—抗体"))){ | |
605 | + p=true; | |
606 | + patients.setTp(params.get("TP—抗体")); | |
607 | + } | |
557 | 608 | if (StringUtils.isNotEmpty(params.get("TP-抗体"))){ |
558 | 609 | p=true; |
559 | 610 | patients.setTp(params.get("TP-抗体")); |
560 | 611 | |
... | ... | @@ -762,10 +813,40 @@ |
762 | 813 | |
763 | 814 | } |
764 | 815 | |
816 | + private static String getResult(String code,String name,String result){ | |
817 | + if (code.equals("HBcAb")){ | |
818 | + if ("乙型肝炎核心抗体(发光法)".equals(name)){ | |
819 | + return result; | |
820 | + } | |
821 | + }else if (code.equals("HBeAb")){ | |
822 | + if ("乙型肝炎e抗体(发光法)".equals(name)){ | |
823 | + return result; | |
824 | + } | |
825 | + }else if (code.equals("HBeAg")){ | |
826 | + if ("乙型肝炎e抗原(发光法)".equals(name)){ | |
827 | + return result; | |
828 | + } | |
829 | + }else if (code.equals("HBsAb")){ | |
830 | + if ("乙型肝炎表面抗体(发光法)".equals(name)){ | |
831 | + return result; | |
832 | + } | |
833 | + }else if (code.equals("HBsAg")){ | |
834 | + if ("乙型肝炎表面抗原(发光法)".equals(name)){ | |
835 | + return result; | |
836 | + } | |
837 | + }else { | |
838 | + return result; | |
839 | + } | |
840 | + return null; | |
841 | + } | |
842 | + | |
765 | 843 | private boolean buildEmergency(String result, ReferValue referValue) { |
766 | 844 | boolean b = false; |
767 | 845 | if (StringUtils.isEmpty(result)) { |
768 | 846 | return b; |
847 | + } | |
848 | + if ("阴性".equals(result)||"阳性".equals(result)){ | |
849 | + return true; | |
769 | 850 | } |
770 | 851 | BigDecimal bd = new BigDecimal(result); |
771 | 852 | if (StringUtils.isNotBlank(referValue.getEmergencyMin()) && StringUtils.isNotBlank(referValue.getEmergencyMax())) { |
platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentData.java
View file @
13e134d
... | ... | @@ -3,6 +3,7 @@ |
3 | 3 | public class AppointmentData { |
4 | 4 | private static final long serialVersionUID = 1L; |
5 | 5 | private String doctor; |
6 | + private String dept; | |
6 | 7 | //预约人数 |
7 | 8 | private Integer appointmentNum; |
8 | 9 | //已经建立档案人数 |
... | ... | @@ -11,6 +12,14 @@ |
11 | 12 | private Integer unBuildNum; |
12 | 13 | //新建档人数(当天建档人数) |
13 | 14 | private Integer newBuildNum; |
15 | + | |
16 | + public String getDept() { | |
17 | + return dept; | |
18 | + } | |
19 | + | |
20 | + public void setDept(String dept) { | |
21 | + this.dept = dept; | |
22 | + } | |
14 | 23 | |
15 | 24 | public Integer getUnBuildNum() { |
16 | 25 | return unBuildNum; |
platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentModel.java
View file @
13e134d
... | ... | @@ -29,12 +29,22 @@ |
29 | 29 | //服务是否到期 1为是 0为否 |
30 | 30 | @Transient |
31 | 31 | private Integer expire; |
32 | + @Transient | |
33 | + private Date bookbuildingDate;//建档时间 | |
32 | 34 | private String pinyin; |
33 | 35 | private Date created; |
34 | 36 | @Transient |
35 | 37 | private List<Map> rlevel;//高危风险颜色 |
36 | 38 | @Transient |
37 | 39 | private Integer appointmentNum;//未建档用户就诊次数 |
40 | + | |
41 | + public Date getBookbuildingDate() { | |
42 | + return bookbuildingDate; | |
43 | + } | |
44 | + | |
45 | + public void setBookbuildingDate(Date bookbuildingDate) { | |
46 | + this.bookbuildingDate = bookbuildingDate; | |
47 | + } | |
38 | 48 | |
39 | 49 | public Integer getAppointmentNum() { |
40 | 50 | return appointmentNum; |
platform-operate-api/src/main/java/com/lyms/hospitalapi/dtdyrm/DtdyrmFmService.java
View file @
13e134d
... | ... | @@ -603,6 +603,7 @@ |
603 | 603 | cnames.put("手机号", "手机号"); |
604 | 604 | cnames.put("证件号", "证件号"); |
605 | 605 | cnames.put("出生日期", "出生日期"); |
606 | + cnames.put("建档时间", "建档时间"); | |
606 | 607 | cnames.put("就诊时间", "就诊时间"); |
607 | 608 | cnames.put("就诊医生", "就诊医生"); |
608 | 609 | cnames.put("科室", "科室"); |
... | ... | @@ -647,6 +648,7 @@ |
647 | 648 | if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(patientsList)){ |
648 | 649 | appointmentModel.setIsBuild(1); |
649 | 650 | Patients patients= patientsList.get(0); |
651 | + appointmentModel.setBookbuildingDate(patients.getBookbuildingDate()); | |
650 | 652 | PatientServiceQuery patientQuery = new PatientServiceQuery(); |
651 | 653 | patientQuery.setParentid(patients.getId()); |
652 | 654 | patientQuery.setSerType(1); |
... | ... | @@ -672,6 +674,7 @@ |
672 | 674 | result.put("手机号", appointmentModel.getPhone()); |
673 | 675 | result.put("证件号", appointmentModel.getIdCard()); |
674 | 676 | result.put("出生日期",appointmentModel.getAge()); |
677 | + result.put("建档时间",DateUtil.getYyyyMmDd(appointmentModel.getBookbuildingDate())); | |
675 | 678 | result.put("就诊时间",DateUtil.gety_m_dhm(appointmentModel.getCheckTime())); |
676 | 679 | result.put("就诊医生",appointmentModel.getDoctor()); |
677 | 680 | result.put("科室", appointmentModel.getDept()); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientDtController.java
View file @
13e134d
... | ... | @@ -803,7 +803,8 @@ |
803 | 803 | startTime=startTime+" 00:00:00"; |
804 | 804 | endTime=endTime+" 23:59:59"; |
805 | 805 | String dept=null; |
806 | - if (doctor.equals("田保来")){ | |
806 | + //只有护士长和主任可以看统计(目前) | |
807 | + if (doctor.equals("田保来")||doctor.equals("孙慧洁")){ | |
807 | 808 | dept="产科"; |
808 | 809 | }else { |
809 | 810 | return new BaseObjectResponse().setErrorcode(-1).setErrormsg("权限异常"); |
810 | 811 | |
811 | 812 | |
812 | 813 | |
... | ... | @@ -821,42 +822,49 @@ |
821 | 822 | for (int i = 0,j=modelList.size(); i < j; i++) { |
822 | 823 | AppointmentModel appointmentModel= modelList.get(i); |
823 | 824 | String doctorName=appointmentModel.getDoctor(); |
824 | - AppointmentData appointmentData= params.get(doctorName); | |
825 | - if (appointmentData==null){ | |
826 | - appointmentData=new AppointmentData(); | |
827 | - } | |
828 | - String idCard=appointmentModel.getIdCard(); | |
829 | - String phone=appointmentModel.getPhone(); | |
830 | - String username=appointmentModel.getName(); | |
831 | - if (StringUtils.isNotEmpty(idCard)){ | |
832 | - patientsQuery.setCardNo(idCard); | |
833 | - }else { | |
834 | - if (StringUtils.isNotEmpty(username)&&StringUtils.isNotEmpty(phone)){ | |
835 | - patientsQuery.setName(username); | |
836 | - patientsQuery.setPhone(phone); | |
825 | + if (StringUtils.isNotEmpty(doctorName)){ | |
826 | + AppointmentData appointmentData= params.get(doctorName); | |
827 | + if (appointmentData==null){ | |
828 | + appointmentData=new AppointmentData(); | |
829 | + } | |
830 | + appointmentData.setDoctor(doctorName); | |
831 | + if (StringUtils.isEmpty(appointmentData.getDept())){ | |
832 | + appointmentData.setDept(appointmentModel.getDept()); | |
833 | + } | |
834 | + String idCard=appointmentModel.getIdCard(); | |
835 | + String phone=appointmentModel.getPhone(); | |
836 | + String username=appointmentModel.getName(); | |
837 | + if (StringUtils.isNotEmpty(idCard)){ | |
838 | + patientsQuery.setCardNo(idCard); | |
837 | 839 | }else { |
838 | - appointmentModel.setIsBuild(0); | |
839 | - //未建档 | |
840 | - appointmentData.setUnBuildNum(appointmentData.getUnBuildNum()!=null?appointmentData.getUnBuildNum()+1:1); | |
840 | + if (StringUtils.isNotEmpty(username)&&StringUtils.isNotEmpty(phone)){ | |
841 | + patientsQuery.setName(username); | |
842 | + patientsQuery.setPhone(phone); | |
843 | + }else { | |
844 | + appointmentModel.setIsBuild(0); | |
845 | + //未建档 | |
846 | + appointmentData.setUnBuildNum(appointmentData.getUnBuildNum()!=null?appointmentData.getUnBuildNum()+1:1); | |
847 | + } | |
841 | 848 | } |
849 | + if (appointmentModel.getIsBuild()==null){ | |
850 | + List<Patients> patientsList= patientsService.queryPatient(patientsQuery); | |
851 | + if (CollectionUtils.isNotEmpty(patientsList)){ | |
852 | + //已经建档 | |
853 | + //新建档人数等于当天建档人数 | |
854 | + Patients patients= patientsList.get(0); | |
855 | + if (DateUtil.isBetween(patients.getCreated(),DateUtil.parseYMDHMS(startTime),DateUtil.parseYMDHMS(endTime))){ | |
856 | + appointmentData.setNewBuildNum(appointmentData.getNewBuildNum()!=null?appointmentData.getNewBuildNum()+1:1); | |
857 | + } | |
858 | + appointmentData.setBuildNum(appointmentData.getBuildNum()!=null?appointmentData.getBuildNum()+1:1); | |
859 | + }else { | |
860 | + //未建档 | |
861 | + appointmentData.setUnBuildNum(appointmentData.getUnBuildNum()!=null?appointmentData.getUnBuildNum()+1:1); | |
862 | + } | |
863 | + } | |
864 | + appointmentData.setAppointmentNum(appointmentData.getAppointmentNum()!=null?appointmentData.getAppointmentNum()+1:1); | |
865 | + params.put(doctorName,appointmentData); | |
842 | 866 | } |
843 | - if (appointmentModel.getIsBuild()==null){ | |
844 | - List<Patients> patientsList= patientsService.queryPatient(patientsQuery); | |
845 | - if (CollectionUtils.isNotEmpty(patientsList)){ | |
846 | - //已经建档 | |
847 | - //新建档人数等于当天建档人数 | |
848 | - Patients patients= patientsList.get(0); | |
849 | - if (DateUtil.isBetween(patients.getCreated(),DateUtil.parseYMDHMS(startTime),DateUtil.parseYMDHMS(endTime))){ | |
850 | - appointmentData.setNewBuildNum(appointmentData.getNewBuildNum()!=null?appointmentData.getNewBuildNum()+1:1); | |
851 | - } | |
852 | - appointmentData.setBuildNum(appointmentData.getBuildNum()!=null?appointmentData.getBuildNum()+1:1); | |
853 | - }else { | |
854 | - //未建档 | |
855 | - appointmentData.setUnBuildNum(appointmentData.getUnBuildNum()!=null?appointmentData.getUnBuildNum()+1:1); | |
856 | - } | |
857 | - } | |
858 | - appointmentData.setAppointmentNum(appointmentData.getAppointmentNum()!=null?appointmentData.getAppointmentNum()+1:1); | |
859 | - params.put(doctorName,appointmentData); | |
867 | + | |
860 | 868 | } |
861 | 869 | baseResponse.setObject(params); |
862 | 870 | } |