From 2bc90e242eceb83d9aa80d48ea9f991c0f9b99c6 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期四, 12 十二月 2024 19:47:57 +0800 Subject: [PATCH] 工位选择界面 诊室按照room id排序 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Utils.java | 78 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 73 insertions(+), 5 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Utils.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Utils.java index 57a0132..c36b8f5 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Utils.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Utils.java @@ -1,14 +1,39 @@ package cn.lihu.jh.module.ecg; +import cn.lihu.jh.module.ecg.service.queue.BedQueueBO; import jodd.typeconverter.impl.LocalTimeConverter; import java.time.LocalTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Utils { - public static LocalTime parseOpeningTime(String strOpeningTime) { + public static LocalTime parseTime(String strTime) { String regex = "(\\d+)[:锛歖(\\d+)"; + Pattern pattern = Pattern.compile(regex); + Matcher matcher = pattern.matcher(strTime); + + if (!matcher.find()) + return null; + + // 鑾峰彇鏁翠釜鍖归厤鐨勫瓧绗︿覆 + String fullMatch = matcher.group(); + + // 鑾峰彇绗竴涓崟鑾风粍锛堝皬鏃讹級 + String strOpenHour = matcher.group(1); + + // 鑾峰彇绗簩涓崟鑾风粍锛堝垎閽燂級 + String strOpenMinute = matcher.group(2); + + LocalTime localTime = LocalTime.of(Integer.valueOf(strOpenHour), Integer.valueOf(strOpenMinute)); + return localTime; + } + + public static List<LocalTime> parseOpeningTime(String strOpeningTime) { + String regex = "(\\d+)[:锛歖(\\d+)~(\\d+)[:锛歖(\\d+)"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(strOpeningTime); @@ -19,12 +44,55 @@ String fullMatch = matcher.group(); // 鑾峰彇绗竴涓崟鑾风粍锛堝皬鏃讹級 - String strHour = matcher.group(1); + String strOpenHour = matcher.group(1); // 鑾峰彇绗簩涓崟鑾风粍锛堝垎閽燂級 - String strMinute = matcher.group(2); + String strOpenMinute = matcher.group(2); - LocalTime localTime = LocalTime.of(Integer.valueOf(strHour), Integer.valueOf(strMinute)); - return localTime; + // 鑾峰彇绗竴涓崟鑾风粍锛堝皬鏃讹級 + String strCloseHour = matcher.group(3); + + // 鑾峰彇绗簩涓崟鑾风粍锛堝垎閽燂級 + String strCloseMinute = matcher.group(4); + + LocalTime localOpenTime = LocalTime.of(Integer.valueOf(strOpenHour), Integer.valueOf(strOpenMinute)); + LocalTime localCloseTime = LocalTime.of(Integer.valueOf(strCloseHour), Integer.valueOf(strCloseMinute)); + List openCloseTime = new ArrayList<LocalTime>(); + openCloseTime.add(localOpenTime); + openCloseTime.add(localCloseTime); + return openCloseTime; + } + + public static String formatRoomBed(Long roomId, String bedNo) { + return String.format("%09d%s", roomId, bedNo); + } + + public static List<LocalTime> parseTimeSlotList(String strTimeSlotList, Integer timeslotLength) { + List<LocalTime> localTimeList = new ArrayList<>(); + + // 7:30,8:30,9:30,10:30,11:30,12:30,13:30,14:30,15:30 + String[] arrTimeSlotItemStr = strTimeSlotList.split(",|锛�"); + Arrays.stream(arrTimeSlotItemStr).forEach( strTimeSlot -> { + String regex = "(\\d+)[:锛歖(\\d+)"; + Pattern pattern = Pattern.compile(regex); + Matcher matcher = pattern.matcher(strTimeSlot); + if (!matcher.find()) + return; + + // 鑾峰彇鏁翠釜鍖归厤鐨勫瓧绗︿覆 + String fullMatch = matcher.group(); + + // 鑾峰彇绗竴涓崟鑾风粍锛堝皬鏃讹級 + String strHour = matcher.group(1); + + // 鑾峰彇绗簩涓崟鑾风粍锛堝垎閽燂級 + String strMinute = matcher.group(2); + + LocalTime localTimeSlot = LocalTime.of(Integer.valueOf(strHour), Integer.valueOf(strMinute)); + localTimeList.add( localTimeSlot ); + } ); + + return localTimeList; } } + -- Gitblit v1.9.3