فهرست منبع

年龄工具类统一从common调用

zhoutg 3 سال پیش
والد
کامیت
4c0fce4b62

+ 2 - 4
src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -7,15 +7,13 @@ import com.diagbot.entity.HospitalInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.util.AgeUtil;
 import com.diagbot.util.BeanUtil;
-import com.diagbot.util.CoreUtil;
-import com.diagbot.util.ListUtil;
 import com.diagbot.vo.SearchData;
 import com.google.common.collect.Lists;
 import io.github.lvyahui8.spring.facade.DataFacade;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -37,7 +35,7 @@ public class AssembleFacade {
      * @return
      */
     public SearchData assembleData(SearchData searchData) {
-        searchData.setAgeNum(CoreUtil.convertAge(searchData.getAge()));
+        searchData.setAgeNum(AgeUtil.convertAge(searchData.getAge()));
         HospitalInfo hospitalInfo = hospitalInfoFacade.getById(searchData.getHospitalId());
         Integer isConnect = 0;
         if (hospitalInfo != null && hospitalInfo.getIsDeleted().equals(IsDeleteEnum.N.getKey())) {

+ 2 - 2
src/main/java/com/diagbot/facade/MrqcFacade.java

@@ -3,7 +3,7 @@ package com.diagbot.facade;
 import com.diagbot.client.MrqcClient;
 import com.diagbot.dto.AnalyzeRunDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.util.CoreUtil;
+import com.diagbot.util.AgeUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.AnalyzeCdsVO;
 import com.diagbot.vo.AnalyzeRunVO;
@@ -31,7 +31,7 @@ public class MrqcFacade {
     }
 
     public Map<String, String> caseWritingPrompt(AnalyzeCdsVO analyzeCdsVO) {
-        analyzeCdsVO.setAgeNum(CoreUtil.convertAge(analyzeCdsVO.getAge()));
+        analyzeCdsVO.setAgeNum(AgeUtil.convertAge(analyzeCdsVO.getAge()));
         RespDTO<Map<String, String>> caseWritingDTO = mrqcClient.caseWritingPrompt(analyzeCdsVO);
         RespDTOUtil.respNGDealCover(caseWritingDTO, "远程调用病历质控接口失败");
         return caseWritingDTO.data;

+ 0 - 131
src/main/java/com/diagbot/util/CoreUtil.java

@@ -1,131 +0,0 @@
-package com.diagbot.util;
-
-import lombok.extern.slf4j.Slf4j;
-import java.math.BigDecimal;
-
-/**
- * @description:
- * @author: zhoutg
- * @time: 2020/7/30 15:18
- */
-@Slf4j
-public class CoreUtil {
-
-    /**
-     * 年龄字符串转换成double类型
-     *
-     * @param ageStr
-     * @return
-     */
-    public static Double convertAge(String ageStr) {
-        try {
-            // 防止程序出错
-            if (StringUtil.isEmpty(ageStr)) {
-                return 20.0;
-            }
-            // 数值,当成年龄处理
-            if (isNumbers(ageStr)) {
-                return Double.parseDouble(ageStr);
-            }
-            // 20日 | 20天
-            if (ageStr.endsWith("日") || ageStr.endsWith("天")) {
-                return getHalfUp((Double.parseDouble(ageStr.substring(0, ageStr.length() - 1))) / 365);
-            }
-            // 3岁
-            if (ageStr.endsWith("岁")) {
-                return Double.parseDouble(ageStr.substring(0, ageStr.length() - 1));
-            }
-            // 3岁7个月 | 3岁7月
-            if (ageSuiYue(ageStr)) {
-                String[] ageArr = new String[2];
-                int indexSui = ageStr.indexOf("岁");
-                ageArr[0] = ageStr.substring(0, indexSui);
-                if (ageStr.indexOf("个月") > -1) { // 3岁7个月
-                    ageArr[1] = ageStr.substring(indexSui + 1, ageStr.indexOf("个月"));
-                } else { // 3岁7月
-                    ageArr[1] = ageStr.substring(indexSui + 1, ageStr.indexOf("月"));
-                }
-                return Double.parseDouble(ageArr[0]) + getHalfUp(Double.parseDouble(ageArr[1]) / 12);
-            }
-            // 1.08月 | .11月 | 3月
-            if (ageYue(ageStr)) {
-                String noUnit = ageStr.substring(0, ageStr.length() - 1);
-                String[] ageArr = new String[2];
-                String[] splitArr = noUnit.split("\\.");
-                if (splitArr.length == 1) {
-                    ageArr[0] = splitArr[0];
-                } else if (splitArr.length == 2) {
-                    ageArr[0] = splitArr[0];
-                    ageArr[1] = splitArr[1];
-                }
-                Double daySum = 0.0D;
-                if (StringUtil.isNotBlank(ageArr[0])) {
-                    daySum += Double.parseDouble(ageArr[0]) * 30;
-                }
-                if (StringUtil.isNotBlank(ageArr[1])) {
-                    daySum += Double.parseDouble(ageArr[1]);
-                }
-                return getHalfUp(daySum / 365);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            return 20.0;
-        }
-        return 20.0;
-    }
-
-    /**
-     * 判断字符串是否 仅 包含数字
-     *
-     * @param str
-     * @return
-     */
-    public static boolean numbersOnly(String str) {
-        String regex = "^[0-9]+$";
-        return str.matches(regex);
-    }
-
-    /**
-     * 判断字符串是否数值(正)
-     *
-     * @param str
-     * @return
-     */
-    public static boolean isNumbers(String str) {
-        String regex = "[0-9]+|([0-9]+\\.)+[0-9]*|[0-9]*(\\.[0-9]+)+";
-        return str.matches(regex);
-    }
-
-    /**
-     * 判断年龄字符串:xx月
-     *
-     * @param str
-     * @return
-     */
-    public static boolean ageYue(String str) {
-        String regex = "^[0-9]*[\\.]*[0-9]{1,2}月$";
-        return str.matches(regex);
-    }
-
-    /**
-     * 判断年龄字符串:3岁7个月
-     *
-     * @param str
-     * @return
-     */
-    public static boolean ageSuiYue(String str) {
-        String regex = "^[0-9]{1,3}岁[0-9]{1,2}个{0,1}月$";
-        return str.matches(regex);
-    }
-
-    /**
-     * 四舍五入保留2位小数
-     *
-     * @param ageStr
-     * @return
-     */
-    public static Double getHalfUp(Double ageStr) {
-        BigDecimal bg = new BigDecimal(String.valueOf(ageStr));
-        return bg.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
-    }
-}