|
@@ -0,0 +1,98 @@
|
|
|
|
+package com.hb.proj.data.service;
|
|
|
|
+
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.Arrays;
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.List;
|
|
|
|
+
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+
|
|
|
|
+import com.hb.proj.model.LiquidPO;
|
|
|
|
+import com.hb.proj.model.LiquidVO;
|
|
|
|
+import com.hb.xframework.dao.core.SpringJdbcDAO;
|
|
|
|
+import com.hb.xframework.dao.util.PageModel;
|
|
|
|
+
|
|
|
|
+@Service
|
|
|
|
+public class LiquidService {
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private SpringJdbcDAO dao;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 分页查询指定井的动液面数据 目前不用del_if过滤
|
|
|
|
+ * @param wellId
|
|
|
|
+ * @param startTime
|
|
|
|
+ * @param endTime
|
|
|
|
+ * @param pageNo
|
|
|
|
+ * @param pageSize
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public PageModel<LiquidVO> query(String wellId,Date startTime,Date endTime,int pageNo,int pageSize){
|
|
|
|
+ String sql="""
|
|
|
|
+ select w.well_name,data_id,test_time,liquid_depth,compute_mode,sound_speed_dev,liquid_depth_dev,casing_press_dev
|
|
|
|
+ from tzl_gather_data_liquid d
|
|
|
|
+ left join tzl_well w on d.well_id=w.well_id
|
|
|
|
+ where d.well_id=? and test_time between ? and ?
|
|
|
|
+ order by test_time desc
|
|
|
|
+ """;
|
|
|
|
+ return dao.queryForPagedData(sql, pageNo, pageSize, LiquidVO.class, wellId,startTime,endTime);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 保存收到计算结果
|
|
|
|
+ * @param liquid
|
|
|
|
+ */
|
|
|
|
+ public void saveCalculate(LiquidPO liquid) {
|
|
|
|
+ String sql="""
|
|
|
|
+ update tzl_gather_data_liquid set
|
|
|
|
+ modify_time=now()
|
|
|
|
+ ,modify_by=?
|
|
|
|
+ ,liquid_suface_pos=?
|
|
|
|
+ ,well_head_poss=?
|
|
|
|
+ ,liquid_depth=?
|
|
|
|
+ ,compute_mode=?
|
|
|
|
+ """;
|
|
|
|
+ List<Object> args=new ArrayList<>();
|
|
|
|
+ args.addAll(Arrays.asList(liquid.getModifyBy(),liquid.getLiquidSufacePos(),liquid.getWellHeadPos(),liquid.getLiquidDepth(),liquid.getComputeMode()));
|
|
|
|
+
|
|
|
|
+ if(liquid.getComputeMode().equals(LiquidPO.MODE_HOOP)) {
|
|
|
|
+ sql+=",start_hoop_pos=?,end_hoop_pos=?,avg_length_pipe=?,hoop_count=? ";
|
|
|
|
+ args.addAll(Arrays.asList(liquid.getStartHoopPos(),liquid.getEndHoopPos(),liquid.getAvgLengthPipe(),liquid.getHoopCount()));
|
|
|
|
+ }
|
|
|
|
+ else if(liquid.getComputeMode().equals(LiquidPO.MODE_SOUND_SPEED)) {
|
|
|
|
+ sql+=",sound_speed=?";
|
|
|
|
+ args.add(liquid.getSoundSpeed());
|
|
|
|
+ }
|
|
|
|
+ else if(liquid.getComputeMode().equals(LiquidPO.MODE_SOUND_MARK)) {
|
|
|
|
+ sql+=",sound_mark_pos=?,sound_mark_depth=?";
|
|
|
|
+ args.add(liquid.getSoundMarkPos());
|
|
|
|
+ args.add(liquid.getSoundMarkDepth());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ sql+=" where data_id=?";
|
|
|
|
+ args.add(liquid.getDataId());
|
|
|
|
+
|
|
|
|
+ dao.exeUpdate(sql, args.toArray());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获得动液面单个记录明细数据
|
|
|
|
+ * @param dataId
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public LiquidPO getDtl(String dataId) {
|
|
|
|
+ return dao.queryForPojo("select * from tzl_gather_data_liquid where data_id=?", LiquidPO.class, dataId);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 逻辑删除动液面记录
|
|
|
|
+ * @param dataId
|
|
|
|
+ */
|
|
|
|
+ public void delete(String dataId) {
|
|
|
|
+ dao.exeUpdate("update tzl_gather_data_liquid set del_if=true where data_id=?", dataId);
|
|
|
|
+ }
|
|
|
|
+}
|