算法优化

This commit is contained in:
xy
2025-07-17 10:32:40 +08:00
parent 1629e1c4cc
commit 882d56a2c5

View File

@@ -15,13 +15,17 @@ import com.njcn.csdevice.pojo.po.RStatOnlineRateD;
import com.njcn.csdevice.service.ICsCommunicateService;
import com.njcn.csdevice.service.IRStatOnlineRateDService;
import com.njcn.csdevice.util.TimeUtil;
import com.njcn.csharmonic.param.DataParam;
import com.njcn.csharmonic.pojo.param.StatisticsDataParam;
import com.njcn.influx.deprecated.InfluxDBPublicParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@@ -159,18 +163,30 @@ public class RStatOnlineRateDServiceImpl extends MppServiceImpl<RStatOnlineRateD
} else {
minute = (int) onlineTime;
}
} else {
if (type != null) {
}
/*当前统计时间内仅有一条数据*/
else {
if (type != null) {
long differ = DateUtil.between(date, newDate, DateUnit.MINUTE);
if (online.equals(type)) {
minute = InfluxDBPublicParam.DAY_MINUTE - (int) differ;
}
} else {
List<PqsCommunicateDto> communicateDataOld = pqsCommunicateService.getRawDataEnd(lineParam);
// if (!communicateDataOld.isEmpty()){
// if (online.equals(communicateDataOld.get(0).getType())){
// minute = InfluxDBPublicParam.DAY_MINUTE;
// }
// }
if (!communicateDataOld.isEmpty()){
try {
if (online.equals(communicateDataOld.get(0).getType())){
minute = InfluxDBPublicParam.DAY_MINUTE;
minute = (int) DateUtil.between(new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).parse(communicateDataOld.get(0).getTime()), new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).parse(lineParam.getEndTime()), DateUnit.MINUTE);
} else {
minute = (int) DateUtil.between(new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).parse(lineParam.getStartTime()), new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN).parse(communicateDataOld.get(0).getTime()), DateUnit.MINUTE);
}
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
}