Commit 5d5b2575b3e452cfd425f76467be8fbbcf7cdff5
1 parent
b9bc73afd1
Exists in
master
and in
6 other branches
高危诊断配置
Showing 3 changed files with 182 additions and 33 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java
View file @
5d5b257
| ... | ... | @@ -2717,19 +2717,138 @@ |
| 2717 | 2717 | if (mapItems != null && mapItems.size() > 0) |
| 2718 | 2718 | { |
| 2719 | 2719 | |
| 2720 | - Integer age = DateUtil.getAge(patients.getBirth(), new Date()); | |
| 2721 | - //年龄高危匹配 | |
| 2722 | - List<DiagnoseItemModel> detailItems = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.age.getId()); | |
| 2723 | - if (CollectionUtils.isNotEmpty(detailItems)) | |
| 2720 | + if (patients != null && patients.getBirth() != null) | |
| 2724 | 2721 | { |
| 2725 | - for (DiagnoseItemModel item : detailItems) | |
| 2722 | + Double age = (double)DateUtil.getAge(patients.getBirth(), new Date()); | |
| 2723 | + //年龄高危匹配 | |
| 2724 | + List<DiagnoseItemModel> detailItemsAge = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.age.getId()); | |
| 2725 | + if (CollectionUtils.isNotEmpty(detailItemsAge)) | |
| 2726 | 2726 | { |
| 2727 | - if (compare(item,age) && CollectionUtils.isNotEmpty(item.getRiskIds())) | |
| 2727 | + for (DiagnoseItemModel item : detailItemsAge) | |
| 2728 | 2728 | { |
| 2729 | - list.addAll(item.getRiskIds()); | |
| 2729 | + if (compare(item,age) && CollectionUtils.isNotEmpty(item.getRiskIds())) | |
| 2730 | + { | |
| 2731 | + list.addAll(item.getRiskIds()); | |
| 2732 | + } | |
| 2730 | 2733 | } |
| 2731 | 2734 | } |
| 2732 | 2735 | } |
| 2736 | + | |
| 2737 | + if (StringUtils.isNotEmpty(antExcAddRequest.getBaricIndex())) | |
| 2738 | + { | |
| 2739 | + Double baricIndex = Double.parseDouble(antExcAddRequest.getBaricIndex()); | |
| 2740 | + | |
| 2741 | + //BMI(体重指数)高危匹配 | |
| 2742 | + List<DiagnoseItemModel> detailItemsAge = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.bmi.getId()); | |
| 2743 | + if (CollectionUtils.isNotEmpty(detailItemsAge)) | |
| 2744 | + { | |
| 2745 | + for (DiagnoseItemModel item : detailItemsAge) | |
| 2746 | + { | |
| 2747 | + if (compare(item,baricIndex) && CollectionUtils.isNotEmpty(item.getRiskIds())) | |
| 2748 | + { | |
| 2749 | + list.addAll(item.getRiskIds()); | |
| 2750 | + } | |
| 2751 | + } | |
| 2752 | + } | |
| 2753 | + } | |
| 2754 | + | |
| 2755 | + | |
| 2756 | + if (StringUtils.isNotEmpty(antExcAddRequest.getHeight())) | |
| 2757 | + { | |
| 2758 | + Double height = Double.parseDouble(antExcAddRequest.getHeight()); | |
| 2759 | + | |
| 2760 | + //身高高危匹配 | |
| 2761 | + List<DiagnoseItemModel> detailItemsAge = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.height.getId()); | |
| 2762 | + if (CollectionUtils.isNotEmpty(detailItemsAge)) | |
| 2763 | + { | |
| 2764 | + for (DiagnoseItemModel item : detailItemsAge) | |
| 2765 | + { | |
| 2766 | + if (compare(item,height) && CollectionUtils.isNotEmpty(item.getRiskIds())) | |
| 2767 | + { | |
| 2768 | + list.addAll(item.getRiskIds()); | |
| 2769 | + } | |
| 2770 | + } | |
| 2771 | + } | |
| 2772 | + } | |
| 2773 | + | |
| 2774 | + if (antExcAddRequest.getAbortion() != null) | |
| 2775 | + { | |
| 2776 | + Double abortion = (double)antExcAddRequest.getAbortion(); | |
| 2777 | + | |
| 2778 | + //孕产史高危匹配 | |
| 2779 | + List<DiagnoseItemModel> detailItemsAge = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.ycs.getId()); | |
| 2780 | + if (CollectionUtils.isNotEmpty(detailItemsAge)) | |
| 2781 | + { | |
| 2782 | + //流产次 | |
| 2783 | + for (DiagnoseItemModel item : detailItemsAge) | |
| 2784 | + { | |
| 2785 | + if ("28".equals(item.getValueOne()) && compare(item,abortion) && CollectionUtils.isNotEmpty(item.getRiskIds())) | |
| 2786 | + { | |
| 2787 | + list.addAll(item.getRiskIds()); | |
| 2788 | + } | |
| 2789 | + } | |
| 2790 | + } | |
| 2791 | + } | |
| 2792 | + | |
| 2793 | + | |
| 2794 | + if (antExcAddRequest.getProdTime() != null) | |
| 2795 | + { | |
| 2796 | + Double prodTime = (double)antExcAddRequest.getProdTime(); | |
| 2797 | + //孕产史高危匹配 | |
| 2798 | + List<DiagnoseItemModel> detailItemsAge = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.ycs.getId()); | |
| 2799 | + if (CollectionUtils.isNotEmpty(detailItemsAge)) | |
| 2800 | + { | |
| 2801 | + //产次 | |
| 2802 | + for (DiagnoseItemModel item : detailItemsAge) | |
| 2803 | + { | |
| 2804 | + if ("29".equals(item.getValueOne()) && compare(item,prodTime) && CollectionUtils.isNotEmpty(item.getRiskIds())) | |
| 2805 | + { | |
| 2806 | + list.addAll(item.getRiskIds()); | |
| 2807 | + } | |
| 2808 | + } | |
| 2809 | + } | |
| 2810 | + } | |
| 2811 | + | |
| 2812 | + | |
| 2813 | + if (antExcAddRequest.getYinchan() != null) | |
| 2814 | + { | |
| 2815 | + Double yinchan = (double)antExcAddRequest.getYinchan(); | |
| 2816 | + //孕产史高危匹配 | |
| 2817 | + List<DiagnoseItemModel> detailItemsAge = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.ycs.getId()); | |
| 2818 | + if (CollectionUtils.isNotEmpty(detailItemsAge)) | |
| 2819 | + { | |
| 2820 | + //引产次 | |
| 2821 | + for (DiagnoseItemModel item : detailItemsAge) | |
| 2822 | + { | |
| 2823 | + if ("30".equals(item.getValueOne()) && compare(item,yinchan) && CollectionUtils.isNotEmpty(item.getRiskIds())) | |
| 2824 | + { | |
| 2825 | + list.addAll(item.getRiskIds()); | |
| 2826 | + } | |
| 2827 | + } | |
| 2828 | + } | |
| 2829 | + } | |
| 2830 | + | |
| 2831 | + | |
| 2832 | + if (antExcAddRequest.getYinchan() != null) | |
| 2833 | + { | |
| 2834 | + Double planedProd = (double)antExcAddRequest.getPlanedProd(); | |
| 2835 | + //孕产史高危匹配 | |
| 2836 | + List<DiagnoseItemModel> detailItemsAge = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.ycs.getId()); | |
| 2837 | + if (CollectionUtils.isNotEmpty(detailItemsAge)) | |
| 2838 | + { | |
| 2839 | + //剖宫产次 | |
| 2840 | + for (DiagnoseItemModel item : detailItemsAge) | |
| 2841 | + { | |
| 2842 | + if ("31".equals(item.getValueOne()) && compare(item,planedProd) && CollectionUtils.isNotEmpty(item.getRiskIds())) | |
| 2843 | + { | |
| 2844 | + list.addAll(item.getRiskIds()); | |
| 2845 | + } | |
| 2846 | + } | |
| 2847 | + } | |
| 2848 | + } | |
| 2849 | + | |
| 2850 | + | |
| 2851 | + | |
| 2733 | 2852 | } |
| 2734 | 2853 | |
| 2735 | 2854 | return new BaseObjectResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); |
| 2736 | 2855 | |
| 2737 | 2856 | |
| 2738 | 2857 | |
| 2739 | 2858 | |
| 2740 | 2859 | |
| 2741 | 2860 | |
| 2742 | 2861 | |
| ... | ... | @@ -2742,28 +2861,28 @@ |
| 2742 | 2861 | * @param calValue 被计算值 |
| 2743 | 2862 | * @return |
| 2744 | 2863 | */ |
| 2745 | - private boolean compare(String expId,String value,Integer calValue) | |
| 2864 | + private boolean compare(String expId,String value,Double calValue) | |
| 2746 | 2865 | { |
| 2747 | 2866 | Integer id = Integer.parseInt(expId); |
| 2748 | 2867 | switch (id) |
| 2749 | 2868 | { |
| 2750 | 2869 | case 1 : |
| 2751 | - return calValue > Integer.parseInt(value); | |
| 2870 | + return calValue > Double.parseDouble(value); | |
| 2752 | 2871 | case 2 : |
| 2753 | - return calValue >= Integer.parseInt(value) ; | |
| 2872 | + return calValue >= Double.parseDouble(value) ; | |
| 2754 | 2873 | case 3 : |
| 2755 | - return calValue < Integer.parseInt(value); | |
| 2874 | + return calValue < Double.parseDouble(value); | |
| 2756 | 2875 | case 4 : |
| 2757 | - return calValue <= Integer.parseInt(value) ; | |
| 2876 | + return calValue <= Double.parseDouble(value) ; | |
| 2758 | 2877 | case 5 : |
| 2759 | - return calValue == Integer.parseInt(value); | |
| 2878 | + return calValue == Double.parseDouble(value); | |
| 2760 | 2879 | case 6 : |
| 2761 | - return Integer.parseInt(value) != calValue; | |
| 2880 | + return Double.parseDouble(value) != calValue; | |
| 2762 | 2881 | default: return false; |
| 2763 | 2882 | } |
| 2764 | 2883 | } |
| 2765 | 2884 | |
| 2766 | - private boolean compare(DiagnoseItemModel item,Integer calValue) | |
| 2885 | + private boolean compare(DiagnoseItemModel item,Double calValue) | |
| 2767 | 2886 | { |
| 2768 | 2887 | String expId1 = item.getValueOne(); |
| 2769 | 2888 | String value1 = item.getValueTwo(); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DiagnoseConfigFacde.java
View file @
5d5b257
| 1 | 1 | package com.lyms.platform.operate.web.facade; |
| 2 | 2 | |
| 3 | +import com.lyms.platform.biz.service.BasicConfigService; | |
| 3 | 4 | import com.lyms.platform.biz.service.DiagnoseConfigService; |
| 4 | 5 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
| 5 | 6 | import com.lyms.platform.common.enums.OptActionEnums; |
| 7 | +import com.lyms.platform.common.enums.RiskDefaultTypeEnum; | |
| 6 | 8 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 7 | 9 | import com.lyms.platform.common.result.BaseResponse; |
| 8 | 10 | import com.lyms.platform.common.utils.JsonUtil; |
| 9 | 11 | |
| ... | ... | @@ -10,8 +12,10 @@ |
| 10 | 12 | import com.lyms.platform.operate.web.request.DiagnoseConfigRequest; |
| 11 | 13 | import com.lyms.platform.operate.web.result.DiagnoseConfigResult; |
| 12 | 14 | import com.lyms.platform.operate.web.result.DiagnoseItemResult; |
| 15 | +import com.lyms.platform.pojo.BasicConfig; | |
| 13 | 16 | import com.lyms.platform.pojo.DiagnoseConfigModel; |
| 14 | 17 | import com.lyms.platform.pojo.DiagnoseItemModel; |
| 18 | +import com.lyms.platform.query.BasicConfigQuery; | |
| 15 | 19 | import com.lyms.platform.query.DiagnoseConfigQuery; |
| 16 | 20 | import com.lyms.platform.query.DiagnoseItemsQuery; |
| 17 | 21 | import org.apache.commons.collections.CollectionUtils; |
| ... | ... | @@ -38,6 +42,9 @@ |
| 38 | 42 | @Autowired |
| 39 | 43 | private OperateLogFacade operateLogFacade; |
| 40 | 44 | |
| 45 | + @Autowired | |
| 46 | + private BasicConfigService basicConfigService; | |
| 47 | + | |
| 41 | 48 | /** |
| 42 | 49 | * 添加配置基础和项 |
| 43 | 50 | * @param request |
| ... | ... | @@ -198,6 +205,8 @@ |
| 198 | 205 | DiagnoseItemsQuery diagnoseItemsQuery = new DiagnoseItemsQuery(); |
| 199 | 206 | diagnoseItemsQuery.setConfigId(configModel.getId()); |
| 200 | 207 | |
| 208 | + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); | |
| 209 | + | |
| 201 | 210 | List<DiagnoseItemModel> diagnoseItemModels = diagnoseConfigService.queryDiagnoseItems(diagnoseItemsQuery); |
| 202 | 211 | if (CollectionUtils.isNotEmpty(diagnoseItemModels) && CollectionUtils.isNotEmpty(configModel.getConfigs())) |
| 203 | 212 | { |
| ... | ... | @@ -210,6 +219,40 @@ |
| 210 | 219 | { |
| 211 | 220 | DiagnoseItemResult dr = new DiagnoseItemResult(); |
| 212 | 221 | dr.convertToResult(diagnose); |
| 222 | + | |
| 223 | + if (CollectionUtils.isNotEmpty(diagnose.getRiskIds())) | |
| 224 | + { | |
| 225 | + List<Map<String,String>> list = new ArrayList<>(); | |
| 226 | + | |
| 227 | + for (String rid : diagnose.getRiskIds()) | |
| 228 | + { | |
| 229 | + basicConfigQuery.setId(rid); | |
| 230 | + List<BasicConfig> basicConfigs = basicConfigService.queryBasicConfig(basicConfigQuery); | |
| 231 | + Map<String,String> map = new HashMap<>(); | |
| 232 | + map.put("id", basicConfigs.get(0).getId()); | |
| 233 | + map.put("name", basicConfigs.get(0).getName()); | |
| 234 | + map.put("code", basicConfigs.get(0).getCode()); | |
| 235 | + | |
| 236 | + basicConfigQuery.setId(basicConfigs.get(0).getParentId()); | |
| 237 | + List<BasicConfig> basicConfigs2 = basicConfigService.queryBasicConfig(basicConfigQuery); | |
| 238 | + if (CollectionUtils.isNotEmpty(basicConfigs2)) { | |
| 239 | + String name = basicConfigs2.get(0).getName(); | |
| 240 | + if (name.indexOf("黄色") > -1) { | |
| 241 | + name = "黄色"; | |
| 242 | + } else if (name.indexOf("橙色") > -1) { | |
| 243 | + name = "橙色"; | |
| 244 | + } else if (name.indexOf("红色") > -1) { | |
| 245 | + name = "红色"; | |
| 246 | + } else if (name.indexOf("紫色") > -1) { | |
| 247 | + name = "紫色"; | |
| 248 | + } | |
| 249 | + map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); | |
| 250 | + } | |
| 251 | + | |
| 252 | + list.add(map); | |
| 253 | + } | |
| 254 | + } | |
| 255 | + | |
| 213 | 256 | itemModels.add(dr); |
| 214 | 257 | } |
| 215 | 258 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/DiagnoseItemResult.java
View file @
5d5b257
| ... | ... | @@ -4,6 +4,7 @@ |
| 4 | 4 | import com.lyms.platform.pojo.DiagnoseItemModel; |
| 5 | 5 | |
| 6 | 6 | import java.util.List; |
| 7 | +import java.util.Map; | |
| 7 | 8 | |
| 8 | 9 | |
| 9 | 10 | /** |
| 10 | 11 | |
| 11 | 12 | |
| 12 | 13 | |
| 13 | 14 | |
| ... | ... | @@ -11,36 +12,23 @@ |
| 11 | 12 | */ |
| 12 | 13 | public class DiagnoseItemResult implements IBasicResultConvert<DiagnoseItemResult,DiagnoseItemModel> { |
| 13 | 14 | |
| 14 | -// private String id; | |
| 15 | -// private String configId; | |
| 16 | -// private String hospitalId; | |
| 17 | -// private String parentId; | |
| 18 | - //是否启用 0停用 1启用 | |
| 19 | -// private Integer enable; | |
| 15 | + | |
| 20 | 16 | private String valueOne; |
| 21 | 17 | private String valueTwo; |
| 22 | 18 | private String valueThree; |
| 23 | 19 | private String valueFour; |
| 24 | 20 | private String valueFive; |
| 25 | -// //权重 | |
| 26 | -// private Integer weight; | |
| 27 | 21 | |
| 28 | 22 | //高危id |
| 29 | - private List<String> riskIds; | |
| 23 | + private List<Map<String,String>> riskIds; | |
| 30 | 24 | |
| 31 | 25 | @Override |
| 32 | 26 | public DiagnoseItemResult convertToResult(DiagnoseItemModel model) { |
| 33 | -// setId(model.getId()); | |
| 34 | -// setConfigId(model.getConfigId()); | |
| 35 | -// setHospitalId(model.getHospitalId()); | |
| 36 | -// setParentId(model.getParentId()); | |
| 37 | -// setEnable(model.getEnable()); | |
| 38 | 27 | setValueOne(model.getValueOne()); |
| 39 | 28 | setValueTwo(model.getValueTwo()); |
| 40 | 29 | setValueThree(model.getValueThree()); |
| 41 | 30 | setValueFour(model.getValueFour()); |
| 42 | 31 | setValueFive(model.getValueFive()); |
| 43 | - setRiskIds(model.getRiskIds()); | |
| 44 | 32 | return this; |
| 45 | 33 | } |
| 46 | 34 | |
| 47 | 35 | |
| ... | ... | @@ -86,12 +74,11 @@ |
| 86 | 74 | this.valueFive = valueFive; |
| 87 | 75 | } |
| 88 | 76 | |
| 89 | - | |
| 90 | - public List<String> getRiskIds() { | |
| 77 | + public List<Map<String, String>> getRiskIds() { | |
| 91 | 78 | return riskIds; |
| 92 | 79 | } |
| 93 | 80 | |
| 94 | - public void setRiskIds(List<String> riskIds) { | |
| 81 | + public void setRiskIds(List<Map<String, String>> riskIds) { | |
| 95 | 82 | this.riskIds = riskIds; |
| 96 | 83 | } |
| 97 | 84 | } |