|
@@ -1,6 +1,8 @@
|
|
|
package com.hb.proj.data.controller;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -31,6 +33,41 @@ public class ParamDataController {
|
|
|
@Autowired
|
|
|
private WellParamService wpservice;
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询单参数历史数据用于分组曲线
|
|
|
+ * @param wellId
|
|
|
+ * @param paramCode
|
|
|
+ * @param startDate
|
|
|
+ * @param endDate
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping("/loadGrpCurve")
|
|
|
+ public RespVO<Object> loadGrpCurve(@NotBlank(message="缺少井号参数") String wellId,
|
|
|
+ @NotBlank(message="缺少采集参数") String paramCode,
|
|
|
+ Date startDate,
|
|
|
+ Date endDate){
|
|
|
+
|
|
|
+ RespVO<PageModel<SingleDataVO>> respVO=queryHisCurve(wellId,paramCode,startDate,endDate,1,100000);
|
|
|
+ PageModel<SingleDataVO> pageData=respVO.getData();
|
|
|
+ if(pageData==null) {
|
|
|
+ return RespVOBuilder.error("未找到数据");
|
|
|
+ }
|
|
|
+ return RespVOBuilder.ok(grpCurveFmt(pageData.getData()));
|
|
|
+ }
|
|
|
+
|
|
|
+ //格式化分组曲线数据 format:[[val,timestamp]]
|
|
|
+ private List<Object[]> grpCurveFmt(List<SingleDataVO> datas){
|
|
|
+ if(datas==null||datas.size()==0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List<Object[]> curveDatas=new ArrayList<>(datas.size());
|
|
|
+ for(SingleDataVO data : datas) {
|
|
|
+ curveDatas.add(new Object[]{data.getDataVal(),data.getGatherTime().getTime()});
|
|
|
+ }
|
|
|
+ return curveDatas;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询单参数指定时间段内的历史曲线数据
|
|
|
* @param wellId
|
|
@@ -59,7 +96,7 @@ public class ParamDataController {
|
|
|
endDate=DateUtil.parse(nowstr+" 23:59:59");
|
|
|
}
|
|
|
|
|
|
- PageModel<SingleDataVO> paged=service.queryHisData(paramId, startDate, endDate, pageNum, pageSize);
|
|
|
+ PageModel<SingleDataVO> paged=service.queryHisCurve(paramId, startDate, endDate, pageNum, pageSize);
|
|
|
|
|
|
|
|
|
//PageModel<GatherDataPO> paged=new PageModel<>();
|
|
@@ -102,10 +139,6 @@ public class ParamDataController {
|
|
|
|
|
|
PageModel<SingleDataVO> paged=service.queryHisData(paramId, startDate, endDate, pageNum, pageSize);
|
|
|
|
|
|
- //使用模拟数据
|
|
|
- //PageModel<GatherDataPO> paged=new PageModel<>();
|
|
|
- //generateData(paged);
|
|
|
-
|
|
|
if(paged!=null&&paged.getData()!=null&&paged.getData().size()>0) {
|
|
|
DataTransUtils.convert(wpservice.get(paramId), paged.getData());
|
|
|
}
|
|
@@ -113,19 +146,5 @@ public class ParamDataController {
|
|
|
return RespVOBuilder.ok(paged);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- private void generateData(PageModel<GatherDataPO> paged) {
|
|
|
- Calendar ca=Calendar.getInstance();
|
|
|
- GatherDataPO itm=null;
|
|
|
- List<GatherDataPO> datas=new ArrayList<GatherDataPO>();
|
|
|
- for(int i=0;i<100;i++) {
|
|
|
- itm=new GatherDataPO();
|
|
|
- itm.setGatherTime(ca.getTime());
|
|
|
- itm.setDataVal(Math.random()*10);
|
|
|
- datas.add(itm);
|
|
|
- ca.add(Calendar.MINUTE, 10);
|
|
|
- }
|
|
|
-
|
|
|
- paged.setData(datas);
|
|
|
- }**/
|
|
|
+
|
|
|
}
|