From b7adb9e5316030aabfb90a8ff1b43c848aa550ec Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 05 六月 2025 12:37:45 +0800 Subject: [PATCH] 小程序查报告接口增加返回检查综述以及医师建议 --- ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java | 95 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 83 insertions(+), 12 deletions(-) diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java index c238163..5952351 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java @@ -1,11 +1,12 @@ package com.ltkj.framework.config; +import cn.hutool.core.date.DateUtil; import com.ltkj.common.utils.StringUtils; -import java.util.Calendar; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -211,9 +212,9 @@ if (matches && idCardBuilder.length() == SECOND_ID_CARD_LENGTH) { int index = getIdCardCheckIndex(idCardBuilder); // 鑾峰彇浼犲叆韬唤璇佺殑妫�楠岀爜 - //String check = String.valueOf(idCardBuilder.charAt(idCardBuilder.length() - 1)); + String check = String.valueOf(idCardBuilder.charAt(idCardBuilder.length() - 1)); // 妫�楠岀爜鏍¢獙 - //return StringUtils.equalsIgnoreCase(CHECK_INDEX[index], check); + return StringUtils.equalsIgnoreCase(CHECK_INDEX[index], check); } return matches; } @@ -247,9 +248,9 @@ /** * @desc 閫氳繃韬唤璇佽幏鍙栧嚭鐢熸棩鏈� */ - public static String getBirthDayByIdCard(String idCard) { + public static Date getBirthDayByIdCard(String idCard) throws Exception { if (!isIdCard(idCard)) { - return "idCard error!"; + throw new Exception("韬唤璇佷笉姝g‘"); } // 鑾峰彇韬唤璇佺殑鍑虹敓骞存湀鏃ヤ覆 String birth = getIdCardBirthDayStr(idCard); @@ -257,7 +258,14 @@ int year = Integer.parseInt(birth.substring(0, 4)); int month = Integer.parseInt(birth.substring(4, 6)); int day = Integer.parseInt(birth.substring(6, 8)); - return year + "-" + month + "-" + day; + String sr= year + "-" + month + "-" + day; + // 瑙f瀽涓� Date + Date date = DateUtil.parse(sr, "yyyy-MM-dd"); + // 杞崲涓� LocalDateTime + LocalDateTime dateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + // 璁剧疆鍥哄畾鏃跺垎绉� + dateTime = dateTime.withHour(12).withMinute(34).withSecond(56); + return Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant()); } /** @@ -311,7 +319,7 @@ /** * @desc 璁$畻鍑烘牎楠岀爜鎵�鍦ㄦ牎楠岀爜鏁扮粍鐨勪笅鏍囧�� */ - private static int getIdCardCheckIndex(StringBuilder idCardBuilder) { + public static int getIdCardCheckIndex(StringBuilder idCardBuilder) { // 鍒ゆ柇浼犲叆鐨勬槸17浣嶈繕鏄�18浣嶈韩浠借瘉鍙� int length = idCardBuilder.length() == SECOND_ID_CARD_LENGTH ? idCardBuilder.length() - 1 : idCardBuilder.length(); // 璁$畻鍑烘牎楠岀爜 @@ -365,6 +373,34 @@ nativePlace += quxian; } return nativePlace; + } + + /** + * 灏唀xcel琛ㄤ腑绉戝璁℃暟鏍煎紡鐨勬墜鏈哄彿杞垚瀛楃涓插舰寮� + * @param number + * @return + */ + public static String translateToPlainStr(String number) { + if (null == number || number.trim().length() == 0) { + return number; + } + String regEx="^([\\+|-]?\\d+(.{0}|.\\d+))[Ee]{1}([\\+|-]?\\d+)$"; + // 缂栬瘧姝e垯琛ㄨ揪寮� + Pattern pattern = Pattern.compile(regEx); + // 蹇界暐澶у皬鍐欑殑鍐欐硶 + // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(number); + // 瀛楃涓叉槸鍚︿笌姝e垯琛ㄨ揪寮忕浉鍖归厤 + boolean rs = matcher.matches(); + // 鍒ゆ柇鏄惁涓哄瓧绗︿覆鐨勭瀛﹁鏁版硶 + if(rs){ + // 绉戝璁℃暟娉曡浆鏁板瓧 + BigDecimal originValue = new BigDecimal(number); +// System.out.println("鎵嬫満鍙蜂负 ==> " + originValue.toPlainString()); + // 鏁板瓧杞瓧绗︿覆 + return originValue.toPlainString(); + } + return number; } private static String getNameString(int code) { @@ -7407,10 +7443,12 @@ * @return */ public static String hidePhoneNum(String phoneNum){ + if (phoneNum==null){ + return ""; + } if(phoneNum.contains("*")){ return phoneNum; } - Pattern pattern = Pattern.compile("((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}"); Matcher matcher = pattern.matcher(phoneNum); StringBuffer sb = new StringBuffer(); @@ -7435,6 +7473,9 @@ */ public static String hideIdCardNum(String idCardNum){ + if (idCardNum==null){ + return ""; + } if(idCardNum.contains("*")){ return idCardNum; } @@ -7465,10 +7506,12 @@ * @return */ public static String hideCusName(String cusName){ + if (cusName==null){ + return ""; + } if(cusName.contains("*")){ return cusName; } - String realname=null; char[] r = cusName.toCharArray(); if(r.length ==1){ @@ -7482,4 +7525,32 @@ } return realname; } + + /** + * 鏍规嵁鏃堕棿娈靛垽鏂笂鍗堣繕鏄笅鍗� + * + * @param timeSlot + * @return + */ +// public static String getMorA(String timeSlot){ +// String reg=""; +// switch (timeSlot){ +// case "1": +// case "2": +// case "3": +// case "4": +// reg="涓婂崍"; +// break; +// +// case "5": +// case "6": +// case "7": +// reg="涓嬪崍"; +// break; +// +// default:break; +// } +// +// return reg; +// } } -- Gitblit v1.8.0