eight
2024-12-10 0980c29c1948b1901fa834f86ffb5884a09223d5
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Utils.java
@@ -1,9 +1,11 @@
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;
@@ -60,5 +62,37 @@
        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;
    }
}