Browse Source

井维护模块增加动液面设备管理接口

chenwen 1 year ago
parent
commit
826eff7d08

+ 21 - 7
src/main/java/com/hb/proj/base/controller/WellController.java

@@ -17,6 +17,7 @@ import com.hb.proj.base.service.WellService;
 import com.hb.proj.base.service.WellTempService;
 import com.hb.proj.model.BatchWell;
 import com.hb.proj.model.DevicePO;
+import com.hb.proj.model.DeviceVO;
 import com.hb.proj.model.TempPO;
 import com.hb.proj.model.Well;
 import com.hb.proj.model.WellTempPO;
@@ -50,10 +51,17 @@ public class WellController {
 	@RequestMapping("/get")
 	public RespVO<WellVO> get(@NotBlank(message = "井编号不能为空") String wellId){
 		WellVO well=service.get(wellId);
+		
 		WellTempPO temp=wellTempService.getWellTemp(wellId, TempPO.TYPE_SINGLE);
 		well.setPatrolStdTemp(temp!=null?temp.getTempId():null);
 		temp=wellTempService.getWellTemp(wellId, TempPO.TYPE_SINGLE_GROUP);
 		well.setPatrolGrpcurveTemp(temp!=null?temp.getTempId():null);
+		
+		DeviceVO dev=deviceService.getByWell(wellId, DevicePO.GATHER);
+		well.setDeviceCode(dev!=null?dev.getDeviceCode():null);
+		dev=deviceService.getByWell(wellId, DevicePO.LIQUID);
+		well.setLiquidDeviceCode(dev!=null?dev.getDeviceCode():null);
+		
 		return RespVOBuilder.ok(well);
 	}
 	
@@ -74,12 +82,8 @@ public class WellController {
 		well.setCreateBy(well.getModifyBy());
 		String wellId=service.insert(well);
 		
-		//设备关联
-		deviceService.updateBindWell(wellVO.getDeviceCode(),DevicePO.GATHER, wellId);
+		bindWellRelate(wellVO);
 		
-		//模板关联
-		wellTempService.saveWellTemp(wellVO.getWellId(),wellVO.getPatrolStdTemp(),TempPO.TYPE_SINGLE);
-		wellTempService.saveWellTemp(wellVO.getWellId(),wellVO.getPatrolGrpcurveTemp(),TempPO.TYPE_SINGLE_GROUP);
 		return RespVOBuilder.ok(wellId);
 	}
 	
@@ -98,13 +102,23 @@ public class WellController {
 		well.setModifyBy(token!=null?token.getTokenId():"unknow");
 		service.update(well);
 		
+		bindWellRelate(wellVO);
+		
+		return RespVOBuilder.ok();
+	}
+	
+	/**
+	 * 井信息变更时同步关联信息(设备、显示模板)
+	 * @param wellVO
+	 */
+	private void bindWellRelate(WellVO  wellVO) {
 		//设备关联
-		deviceService.updateBindWell(wellVO.getDeviceCode(),DevicePO.GATHER, well.getWellId());
+		deviceService.updateBindWell(wellVO.getDeviceCode(),DevicePO.GATHER, wellVO.getWellId());
+		deviceService.updateBindWell(wellVO.getLiquidDeviceCode(),DevicePO.LIQUID, wellVO.getWellId());
 		
 		//模板关联
 		wellTempService.saveWellTemp(wellVO.getWellId(),wellVO.getPatrolStdTemp(),TempPO.TYPE_SINGLE);
 		wellTempService.saveWellTemp(wellVO.getWellId(),wellVO.getPatrolGrpcurveTemp(),TempPO.TYPE_SINGLE_GROUP);
-		return RespVOBuilder.ok();
 	}
 	
 	

+ 8 - 5
src/main/java/com/hb/proj/base/service/DeviceService.java

@@ -23,13 +23,15 @@ public class DeviceService {
 	private SpringJdbcDAO  dao;
 	
 	public List<DeviceVO> loadByType(String devType){
+		String tps="'"+devType.replace(",", "','")+"'";
 		String sql="""
-				select device_name,device_code,well_name 
+				select device_name,device_code,device_type,well_name 
 				from tzl_gather_device d
 				left join tzl_well w on d.well_id=w.well_id and w.del_if=false
-				where d.del_if=false and device_type=?
-				""";
-		return dao.queryForList(sql, DeviceVO.class, devType);
+				where d.del_if=false """ +
+				"  and device_type in ("+tps+")";
+				
+		return dao.queryForList(sql, DeviceVO.class);
 	}
 	
 	
@@ -142,7 +144,8 @@ public class DeviceService {
 					where del_if=false and well_id=? and device_type=?
 					limit 1
 				""";
-		return dao.queryForObject(sql, DeviceVO.class, wellId,wellId);
+		return dao.queryForPojo(sql, DeviceVO.class, wellId,devType);
 	}
 	
+	
 }

+ 1 - 2
src/main/java/com/hb/proj/base/service/WellService.java

@@ -153,8 +153,7 @@ public class WellService {
     public WellVO get(String wellId){
         String sql="""
 				
-				select w.*,g.org_name belong_org_name,
-				(select device_code from tzl_gather_device d where d.well_id=w.well_id and d.del_if=false limit 1) device_code
+				select w.*,g.org_name belong_org_name
 				from tzl_well w
 				left join tsys_org g on w.org_id=g.org_id and g.del_if=false
 				where w.well_id=?

+ 22 - 15
src/main/java/com/hb/proj/data/controller/DiagramDataController.java

@@ -108,6 +108,14 @@ public class DiagramDataController {
 		return RespVOBuilder.ok(buildData(well,wparam,diagram,freqDesc));
 	}
 	
+	/**
+	 * 构建前端绘制要求的功图数据
+	 * @param well
+	 * @param wparam
+	 * @param diagram
+	 * @param freq
+	 * @return
+	 */
 	private Map<String,Object>  buildData(WellVO well,WellParamPO wparam,MultiDataVO  diagram,String freq){
 		String smpTime=DateUtil.format(diagram.getGatherTime(),"yyyy-MM-dd HH:mm:ss");
 		String[] dtstr=smpTime.split(" ");
@@ -130,22 +138,14 @@ public class DiagramDataController {
 		
 	}
 	
-	/*
-	private Map<String,Object>  buildData(){
-		String nowstr=DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss");
-		Map<String,Object> base=MapUtils.build("xTitle","位移(m)","yTitle","负荷(kN)","xUnit","m","yUnit","kN","title","CQ-2 2019-09-09","type","GT");
-		Map<String,Object> serial=MapUtils.build("smpTime",nowstr);
-		double[] x= {0.2,1.0,2.0,3.0,4.0,5.0,3.0,2.0,1.0};
-		double[] y= {15.4,28,34,44,50,18,38,66,32};
-		serial.put("xvals", x);
-		serial.put("yvals", y);
-		
-		String[] dtstr=nowstr.split(" ");
-		String[] descTxt= {"时间: "+dtstr[1],"隶属单位:特油组","井名:杜84","测试日期:"+dtstr[0],"冲次:"};
-		
-		return MapUtils.build("base",base,"serial",serial,"descTxt",descTxt);
-	}*/
 	
+	/**
+	 * 查询多个时间点的功图数据(功图对比)
+	 * @param wellId
+	 * @param paramCode
+	 * @param smpTimes
+	 * @return
+	 */
 	@RequestMapping("/getMultiDrawData")
 	public RespVO<Object>  getMultiDrawData(@NotBlank(message = "缺少井记录号") String wellId,
 			@NotBlank(message = "缺少采集参数编码") String paramCode,
@@ -171,6 +171,13 @@ public class DiagramDataController {
 		return RespVOBuilder.ok(buildMultiData(wellService.get(wellId),wparam,multiDatas));
 	}
 	
+	/**
+	 * 构建多个功图绘制数据
+	 * @param well
+	 * @param wparam
+	 * @param diagrams
+	 * @return
+	 */
 	private Map<String,Object>  buildMultiData(WellVO well,WellParamPO wparam,List<MultiDataVO>  diagrams){
 		Map<String,Object> base=new HashMap<String,Object>();
 		base.put("xTitle", wparam.getSerialName2()+"("+wparam.getDisplayUnit2()+")");

+ 11 - 1
src/main/java/com/hb/proj/model/WellVO.java

@@ -8,7 +8,9 @@ public class WellVO extends Well {
 	
 	private String deviceCode;
 	
-	private String patrolStdTempName;
+	private String liquidDeviceCode;
+	
+	private String patrolStdTempName;  
 	
 	/**
      * 巡查标准显示模板
@@ -66,4 +68,12 @@ public class WellVO extends Well {
 	public void setPatrolGrpcurveTemp(String patrolGrpcurveTemp) {
 		this.patrolGrpcurveTemp = patrolGrpcurveTemp;
 	}
+
+	public String getLiquidDeviceCode() {
+		return liquidDeviceCode;
+	}
+
+	public void setLiquidDeviceCode(String liquidDeviceCode) {
+		this.liquidDeviceCode = liquidDeviceCode;
+	}
 }