diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentRadiationProcessServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentRadiationProcessServiceImpl.java index b49d0bb..5cf04a3 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentRadiationProcessServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentRadiationProcessServiceImpl.java @@ -1,6 +1,8 @@ package org.jeecg.modules.database.service.impl; import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; @@ -73,10 +75,24 @@ public class ExperimentRadiationProcessServiceImpl extends ServiceImpl radiationProcessList = getByExperimentId(experimentRadiationProcess.getExperimentId()); if (CollUtil.isNotEmpty(radiationProcessList)) { - List list = radiationProcessList.stream().map(v -> new TimeRange(v.getRadiationStartTime(), v.getRadiationEndTime())) - .collect(Collectors.toList()); + List list =new ArrayList<>(); + for (ExperimentRadiationProcess process : radiationProcessList) { + String radiationDetail = process.getRadiationDetail(); + if (StringUtils.isNotBlank(radiationDetail)) { + Map>> detailMap = JSONObject.parseObject(radiationDetail, + new TypeReference<>() {}); + detailMap.forEach((key, value) -> value.forEach(v1 -> { + String startTime = v1.get("startTime"); + String endTime = v1.get("endTime"); + list.add(new TimeRange(DateUtils.parseDatetime(startTime), DateUtils.parseDatetime(endTime))); + })); + } + } + log.warn("TimeRange:" + list); Date earliestTime = DateUtils.findEarliestTime(list); Date latestTime = DateUtils.findLatestTime(list); + log.warn("earliestTime:" + earliestTime); + log.warn("latestTime:" + latestTime); List irradiationBoardList = experimentIrradiationBoardService.getByExperimentId( experimentRadiationProcess.getExperimentId()); String mv = DateUtils.formatDate(earliestTime, "yyyy-MM-dd") + "至" + DateUtils.formatDate(latestTime, "yyyy-MM-dd");