puzhibing
2024-08-23 96bc63420c54e18ab3ea675e1ca741ff1a2edbd6
Merge remote-tracking branch 'origin/master'
1个文件已修改
25 ■■■■■ 已修改文件
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
@@ -127,16 +127,19 @@
    @Override
    public Boolean isStrategy24Hour(List<TAccountingStrategyDetail> accountingStrategyDetails) {
        List<TAccountingStrategyDetail> accountingStrategyDetailList = accountingStrategyDetails.stream()
                .sorted(Comparator.comparing(TAccountingStrategyDetail::getStartTime)).collect(Collectors.toList());
        boolean flag = false;
        for (int i = 0; i < accountingStrategyDetailList.size(); i++) {
            if(i != 0){
                if(!accountingStrategyDetailList.get(i).getStartTime().equals(accountingStrategyDetailList.get(i-1).getEndTime())) {
                    flag = true;
                }
            }
        }
        return flag;
        String START_OF_DAY = "00:00:00";
        String END_OF_DAY = "24:00:00";
        List<TAccountingStrategyDetail> sortedDetails = accountingStrategyDetails.stream()
                .sorted(Comparator.comparing(TAccountingStrategyDetail::getStartTime))
                .collect(Collectors.toList());
        boolean isFirstElementValid = sortedDetails.isEmpty() || !START_OF_DAY.equals(sortedDetails.get(0).getStartTime());
        boolean isLastElementValid = sortedDetails.isEmpty() || !END_OF_DAY.equals(sortedDetails.get(sortedDetails.size() - 1).getEndTime());
        boolean isTimeContinuous = sortedDetails.stream()
                .skip(1)
                .allMatch(detail -> detail.getStartTime().equals(sortedDetails.get(sortedDetails.indexOf(detail) - 1).getEndTime()));
        return isFirstElementValid || isLastElementValid || !isTimeContinuous;
    }
}