Pārlūkot izejas kodu

单井历史数据查询接口修改完善

chenwen 2 gadi atpakaļ
vecāks
revīzija
0532e3b28f

+ 2 - 4
src/main/java/com/hb/proj/base/controller/WellParamController.java

@@ -71,10 +71,8 @@ public class WellParamController {
 	 * @return
 	 */
 	@RequestMapping("/loadByWell")
-	public RespVO<PageModel<Map<String,Object>>> loadByWell(@NotBlank(message="缺少井编号") String wellId){
-		Map<String,Object> params=Map.of("wellId", wellId);
-		
-		return RespVOBuilder.ok(service.query(params,1, 100));
+	public RespVO<List<WellParamPO>> loadByWell(@NotBlank(message="缺少井编号") String wellId){
+		return RespVOBuilder.ok(service.loadParamByWell(wellId));
 	}
 	
 	/**

+ 10 - 0
src/main/java/com/hb/proj/data/controller/WellDataController.java

@@ -18,6 +18,7 @@ import com.hb.proj.model.WellParamPO;
 import com.hb.proj.utils.RespVO;
 import com.hb.proj.utils.RespVOBuilder;
 import com.hb.xframework.dao.util.PageModel;
+import com.hb.xframework.util.DateUtil;
 
 import jakarta.validation.constraints.NotBlank;
 
@@ -64,6 +65,15 @@ public class WellDataController {
 		if(params==null||params.size()==0) {
 			return RespVOBuilder.error("该井未定义参数");
 		}
+		
+		String nowstr=DateUtil.format(new Date(), "yyyy-MM-dd");
+		if(startDate==null) {
+			startDate=DateUtil.parse(nowstr+" 00:00:00");
+		}
+		if(endDate==null) {
+			endDate=DateUtil.parse(nowstr+" 23:59:59");
+		}
+		
 		String mainParamId=null;
 		List<String> othParamId=new ArrayList<String>(params.size());
 		for(WellParamPO  wp : params) {

+ 8 - 5
src/main/java/com/hb/proj/data/service/ParamDataService.java

@@ -58,16 +58,19 @@ public class ParamDataService {
 	
 	public PageModel<Map<String,Object>> queryMultiParamHisData(String mainParamId,List<String> othParamIds,Date startDate,Date endDate,int pageNo,int pageSize){
 		StringBuilder subSQL=new StringBuilder();
+		String[] ids=null;
 		for(String paramId : othParamIds) {
-			subSQL.append("(select data_val from tzl_gather_data d2 where well_param='"+paramId+"'");
-			subSQL.append(" and d2.gather_time between DATE_ADD(d.gather_time,INTERVAL -1 MINUTE) and DATE_ADD(d.gather_time,INTERVAL -1 MINUTE) limit 1) as "+paramId);
+			ids=paramId.split("-");
+			subSQL.append(" ,(select data_val from tzl_gather_data d2 where well_param='"+paramId+"'");
+			subSQL.append(" and d2.gather_time between DATE_ADD(d.gather_time,INTERVAL -1 MINUTE) and DATE_ADD(d.gather_time,INTERVAL 1 MINUTE) limit 1) as '"+ids[1]+"'");
 		}
-		String sql="""
-					select gather_time,data_val,
-				"""+ subSQL.toString()+
+		ids=mainParamId.split("-");
+		String sql="select date_format(gather_time,'%Y-%m-%d %H:%i:%s') gather_time ,data_val as '"+ ids[1] + "'" +  subSQL.toString()+
 				"""
 					from tzl_gather_data d
 					where d.well_param=? and gather_time between ? and ?
+					
+					order by gather_time  desc
 				""";
 		return dao.queryForPagedData(sql, pageNo, pageSize, mainParamId,startDate,endDate);
 	}