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 | } |