| | |
| | | import java.io.ByteArrayInputStream |
| | | import java.text.SimpleDateFormat |
| | | import java.time.LocalDateTime |
| | | import java.time.ZoneId |
| | | import java.time.format.DateTimeFormatter |
| | | import java.util.* |
| | | import javax.servlet.http.HttpServletResponse |
| | |
| | | } |
| | | |
| | | override fun dataCalibration(): BaseResponse<String> { |
| | | return BaseResponse(true) |
| | | var page = 1 |
| | | var total = -1 |
| | | var count = 0 |
| | | |
| | | println("------数据优化start------") |
| | | while (total == -1 || page <= total) { |
| | | val p = PageHelper.startPage<RealTimeDataGrid>(page, 50000) |
| | | val dataList1 = realTimeDataGridMapper.selectByExample(Example(RealTimeDataGrid::class.java).apply { |
| | | createCriteria().andBetween("dataTime", "2021-06-19 00:00:00", "2021-10-21 00:00:00") |
| | | }) |
| | | val res = getOriginData("0d0000000001", "2021-06-19 00:00:00", "2021-10-21 00:00:00", page, 50000) |
| | | val dataList2 = res.data ?: emptyList() |
| | | |
| | | total = p.pages |
| | | |
| | | if (page == 1) { |
| | | println("总页数:$total") |
| | | } |
| | | println("当前页数:$page") |
| | | |
| | | for (i in dataList1.indices) { |
| | | if (i >= dataList2.size) break |
| | | val d1 = dataList1[i] |
| | | val d2 = dataList2[i] |
| | | // 判断小时 |
| | | val h = LocalDateTime.ofInstant(d1.dataTime?.toInstant(), ZoneId.systemDefault()).hour |
| | | val scale = |
| | | // 各预处理后的因子(除H2S)乘系数 |
| | | // 单独把原始的H2S乘以系数 |
| | | // 更新秒级值 |
| | | } |
| | | // val result = epwDataPrep.mDataPrep2(dataList) |
| | | // count += airDataRepository.savePrepData2(result) |
| | | |
| | | page++ |
| | | } |
| | | |
| | | return BaseResponse(count > 0, data = "插入数据: ${count}条") |
| | | } |
| | | } |