Commit 9cfdc61678256f6d14daca3d2e6df14f2a066394
1 parent
24fee11452
Exists in
master
and in
7 other branches
分娩作废产检劵
Showing 1 changed file with 28 additions and 146 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java
View file @
9cfdc61
... | ... | @@ -18,6 +18,8 @@ |
18 | 18 | import com.lyms.platform.operate.web.utils.FunvCommonUtil; |
19 | 19 | import com.lyms.platform.operate.web.utils.UnitConstants; |
20 | 20 | import com.lyms.platform.operate.web.utils.UnitUtils; |
21 | +import com.lyms.platform.operate.web.worker.AntExRecordWorker; | |
22 | +import com.lyms.platform.operate.web.worker.WorkHR; | |
21 | 23 | import com.lyms.platform.permission.model.Organization; |
22 | 24 | import com.lyms.platform.permission.model.OrganizationQuery; |
23 | 25 | import com.lyms.platform.permission.model.Users; |
24 | 26 | |
... | ... | @@ -29,12 +31,16 @@ |
29 | 31 | import org.apache.commons.collections.MapUtils; |
30 | 32 | import org.apache.commons.lang.math.NumberUtils; |
31 | 33 | import org.springframework.beans.factory.annotation.Autowired; |
34 | +import org.springframework.beans.factory.annotation.Qualifier; | |
35 | +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | |
32 | 36 | import org.springframework.stereotype.Component; |
33 | 37 | |
34 | 38 | import javax.servlet.http.HttpServletResponse; |
35 | 39 | import java.io.IOException; |
36 | 40 | import java.io.OutputStream; |
37 | 41 | import java.util.*; |
42 | +import java.util.concurrent.Future; | |
43 | +import java.util.concurrent.TimeUnit; | |
38 | 44 | |
39 | 45 | /** |
40 | 46 | * 产检管理 |
... | ... | @@ -61,6 +67,9 @@ |
61 | 67 | private OrganizationService organizationService; |
62 | 68 | @Autowired |
63 | 69 | private DataPermissionService dataPermissionService; |
70 | + @Autowired | |
71 | + @Qualifier("commonThreadPool") | |
72 | + private ThreadPoolTaskExecutor commonThreadPool; | |
64 | 73 | |
65 | 74 | public void syncAntRecordToList(String hospitalId) { |
66 | 75 | recordService.syncAntRecordToList(hospitalId); |
... | ... | @@ -214,8 +223,7 @@ |
214 | 223 | List<AntExManagerResult> data = new ArrayList<>(); |
215 | 224 | List<AntExRecordModel> antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery); |
216 | 225 | if (CollectionUtils.isNotEmpty(antExRecordModelList)) { |
217 | - for (AntExRecordModel e : antExRecordModelList) { | |
218 | - AntExManagerResult antExManagerResult = new AntExManagerResult(); | |
226 | + /*AntExManagerResult antExManagerResult = new AntExManagerResult(); | |
219 | 227 | antExManagerResult.convertToResult(e); |
220 | 228 | if (isRegion) { |
221 | 229 | //产检医院 |
222 | 230 | |
223 | 231 | |
... | ... | @@ -270,10 +278,26 @@ |
270 | 278 | antExManagerResult.setChTimes(dichi); |
271 | 279 | //高危因素 |
272 | 280 | antExManagerResult.setrLevel(commonService.findRiskLevel(e.gethLevel())); |
273 | - antExManagerResult.setRiskFactor(commonService.resloveFactor(e.gethRisk())); | |
281 | + antExManagerResult.setRiskFactor(commonService.resloveFactor(e.gethRisk()));*/ | |
274 | 282 | |
275 | - data.add(antExManagerResult); | |
283 | + | |
284 | + int batchSize = 4; | |
285 | + int end = 0; | |
286 | + List<Future> listFuture = new ArrayList<>(); | |
287 | + for (int i = 0; i < antExRecordModelList.size(); i += batchSize) { | |
288 | + end = (end + batchSize); | |
289 | + if (end > antExRecordModelList.size()) { | |
290 | + end = antExRecordModelList.size(); | |
291 | + } | |
292 | + listFuture.add(commonThreadPool.submit(new AntExRecordWorker(antExRecordModelList.subList(i, end), isRegion, organizationService, usersService, recordService, commonService, hospital, basicConfigService))); | |
276 | 293 | } |
294 | + for (Future f : listFuture) { | |
295 | + try { | |
296 | + data.addAll((List) f.get(30, TimeUnit.SECONDS)); | |
297 | + } catch (Exception e) { | |
298 | + ExceptionUtils.catchException(e, "antexrecord findList get result future error."); | |
299 | + } | |
300 | + } | |
277 | 301 | } |
278 | 302 | return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(antExRecordQuery.getPageInfo()); |
279 | 303 | } |
... | ... | @@ -400,7 +424,6 @@ |
400 | 424 | } |
401 | 425 | } |
402 | 426 | } else { |
403 | -// List<HashMap> list = patientsService.aggregateOne(patientsQuery1); | |
404 | 427 | antExRecordQuery.setNeNullCheckDoctor(true); |
405 | 428 | List<HashMap> list = recordService.aggregateOne(antExRecordQuery); |
406 | 429 | for (HashMap map : list) { |
... | ... | @@ -550,146 +573,5 @@ |
550 | 573 | } |
551 | 574 | |
552 | 575 | } |
553 | - | |
554 | - | |
555 | - //查询复诊接口 | |
556 | - public BaseObjectResponse findAntenatalExamination(String id){ | |
557 | - | |
558 | - BaseObjectResponse br = new BaseObjectResponse(); | |
559 | - if (org.apache.commons.lang.StringUtils.isEmpty(id)){ | |
560 | - br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); | |
561 | - br.setErrormsg("id为空"); | |
562 | - return br; | |
563 | - } | |
564 | - | |
565 | - AntenatalExaminationModel data = antExService.findOneById(id); | |
566 | - if (data==null || data.getYn()==YnEnums.NO.getId()){ | |
567 | - br.setErrorcode(ErrorCodeConstants.NO_DATA); | |
568 | - br.setErrormsg("没有查询到数据"); | |
569 | - return br; | |
570 | - } | |
571 | - | |
572 | - | |
573 | - if (org.apache.commons.lang.StringUtils.isEmpty(data.getParentId())){ | |
574 | - br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); | |
575 | - br.setErrormsg("数据异常"); | |
576 | - return br; | |
577 | - } | |
578 | - | |
579 | - Patients patients = patientsService.findOnePatientById(data.getParentId()); | |
580 | - if (patients==null || patients.getYn()==YnEnums.NO.getId()){ | |
581 | - br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); | |
582 | - br.setErrormsg("孕妇信息不存在"); | |
583 | - return br; | |
584 | - } | |
585 | - | |
586 | - Map<String,Object> map= new HashMap<>(); | |
587 | - /* 基本信息 */ | |
588 | - //孕妇基本信息 | |
589 | - map.put("id",data.getId()); | |
590 | - map.put("username",patients.getUsername()); | |
591 | - map.put("birth",DateUtil.getyyyy_MM_dd(patients.getBirth())); | |
592 | - map.put("age",DateUtil.getAge(patients.getBirth())); | |
593 | - map.put("phone",patients.getPhone()); | |
594 | - map.put("fmWeek",patients.getFmWeek()); | |
595 | - map.put("dueDate",DateUtil.getyyyy_MM_dd(patients.getDueDate())); | |
596 | - map.put("mremark",patients.getMremark()); | |
597 | - map.put("oRiskFactor",patients.getoRiskFactor()); | |
598 | - map.put("riskScore",patients.getRiskScore()); | |
599 | - //产检基本信息 | |
600 | - map.put("checkDate",DateUtil.getyyyy_MM_dd(data.getCheckDate())); | |
601 | - map.put("currentDueDate",data.getCurrentDueDate()); | |
602 | - map.put("checkDoctor", data.getCheckDoctor()); | |
603 | - String hospital = ""; | |
604 | - if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getHospitalId())){ | |
605 | - Organization organization = organizationService.getOrganization(Integer.parseInt(data.getHospitalId())); | |
606 | - if (organization!=null && organization.getYn()==YnEnums.YES.getId()){ | |
607 | - hospital = organization.getName(); | |
608 | - } | |
609 | - } | |
610 | - map.put("hospital", hospital); | |
611 | - map.put("nextCheckTime",DateUtil.getyyyy_MM_dd(data.getNextCheckTime())); | |
612 | - map.put("cDueWeek", data.getcDueWeek()); | |
613 | - | |
614 | - /* 复诊信息 */ | |
615 | - map.put("chiefComplaint", data.getChiefComplaint()); | |
616 | - map.put("weight", UnitUtils.unitSplice(data.getWeight(), UnitConstants.KG)); | |
617 | - // 血压 | |
618 | - String ssy = ""; | |
619 | - String szy = ""; | |
620 | - Map<String, String> chBpMap = JsonUtil.getMap(data.getBp()); | |
621 | - if (MapUtils.isNotEmpty(chBpMap)) { | |
622 | - ssy = chBpMap.get("ssy"); | |
623 | - szy = chBpMap.get("szy"); | |
624 | - } | |
625 | - map.put("bp", UnitUtils.unitSplice(ssy + "/" + szy, UnitConstants.MMHG)); | |
626 | - map.put("gongGao", UnitUtils.unitSplice(data.getGongGao(), UnitConstants.CM)); | |
627 | - map.put("abdominalCircumference", UnitUtils.unitSplice(data.getAbdominalCircumference(), UnitConstants.CM)); | |
628 | - String edema = ""; | |
629 | - if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getEdema())){ | |
630 | - for (FuZhongEnums fuZhongEnums:FuZhongEnums.values()){ | |
631 | - if (data.getEdema().equals(fuZhongEnums.getId())){ | |
632 | - edema = fuZhongEnums.getName(); | |
633 | - } | |
634 | - } | |
635 | - } | |
636 | - map.put("edema",edema); | |
637 | - | |
638 | - map.put("tireNumber", TaiShuEnums.getTitle(data.getTireNumber())); | |
639 | - //胎儿情况 | |
640 | - List<Map> tireList = new ArrayList<>(); | |
641 | - if (CollectionUtils.isNotEmpty(data.getTireData())){ | |
642 | - for (Object temp : data.getTireData()){ | |
643 | - Map<String,String> tire = JsonUtil.getMap(temp.toString()); | |
644 | - String heartRate = tire.get("heartRate"); | |
645 | - String fetalPosition = tire.get("fetalPosition"); | |
646 | - String fetalPresentation = tire.get("fetalPresentation"); | |
647 | - String join = tire.get("join"); | |
648 | - | |
649 | - Map<String,Object> tireMap = new HashMap<>(); | |
650 | - tireMap.put("heartRate",UnitUtils.unitSplice(heartRate, UnitConstants.CIFEN)); | |
651 | - tireMap.put("fetalPosition", FetalPositionEnums.getTitle(fetalPosition)); | |
652 | - tireMap.put("fetalPresentation", FetalEnums.getTitle(fetalPresentation)); | |
653 | - tireMap.put("join", JoinEnums.getTitle(join)); | |
654 | - tireList.add(tireMap); | |
655 | - } | |
656 | - } | |
657 | - map.put("tireData",tireList); | |
658 | - | |
659 | - /* 辅助信息 */ | |
660 | - map.put("hemoglobin", UnitUtils.unitSplice(data.getHemoglobin(), UnitConstants.GL)); | |
661 | - map.put("urineProtein",data.getUrineProtein()); | |
662 | - map.put("bloodSugar", UnitUtils.unitSplice(data.getUrineProtein(), UnitConstants.MMOLL)); | |
663 | - map.put("bChao",data.getbChao()); | |
664 | - | |
665 | - /* 诊断指导 */ | |
666 | - String diagnosis = ""; | |
667 | - if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getDiagnosis())){ | |
668 | - List<String> temp = JsonUtil.toList(data.getDiagnosis(), String.class); | |
669 | - if (CollectionUtils.isNotEmpty(temp)){ | |
670 | - | |
671 | - StringBuilder sb = new StringBuilder(); | |
672 | - | |
673 | - for (String sId : temp){ | |
674 | - sb.append(FunvCommonUtil.getBaseicConfigByid(sId, basicConfigService)).append(","); | |
675 | - } | |
676 | - if (sb.toString().endsWith(",")) { | |
677 | - diagnosis = sb.substring(0, sb.length() - 1); | |
678 | - }else { | |
679 | - diagnosis = sb.toString(); | |
680 | - } | |
681 | - } | |
682 | - } | |
683 | - map.put("diagnosis",diagnosis); | |
684 | - map.put("treatmentOpinion",data.getTreatmentOpinion()); | |
685 | - map.put("guide",data.getGuide()); | |
686 | - | |
687 | - br.setErrorcode(ErrorCodeConstants.SUCCESS); | |
688 | - br.setErrormsg("成功"); | |
689 | - br.setData(map); | |
690 | - return br; | |
691 | - } | |
692 | - | |
693 | - | |
694 | 576 | } |