Commit 13e134da9cea4369a9fa229e1a8e9f70fe283405

Authored by zhangchao
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 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 }