LiquidService.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package com.hb.proj.data.service;
  2. import java.util.ArrayList;
  3. import java.util.Arrays;
  4. import java.util.Date;
  5. import java.util.List;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. import com.hb.proj.model.LiquidPO;
  9. import com.hb.proj.model.LiquidVO;
  10. import com.hb.xframework.dao.core.SpringJdbcDAO;
  11. import com.hb.xframework.dao.util.PageModel;
  12. @Service
  13. public class LiquidService {
  14. @Autowired
  15. private SpringJdbcDAO dao;
  16. /**
  17. * 分页查询指定井的动液面数据 目前不用del_if过滤
  18. * @param wellId
  19. * @param startTime
  20. * @param endTime
  21. * @param pageNo
  22. * @param pageSize
  23. * @return
  24. */
  25. public PageModel<LiquidVO> query(String wellId,Date startTime,Date endTime,int pageNo,int pageSize){
  26. String sql="""
  27. select w.well_name,data_id,test_time,liquid_depth,compute_mode,sound_speed_dev,liquid_depth_dev,casing_press_dev
  28. from tzl_gather_data_liquid d
  29. left join tzl_well w on d.well_id=w.well_id
  30. where d.well_id=? and test_time between ? and ?
  31. order by test_time desc
  32. """;
  33. return dao.queryForPagedData(sql, pageNo, pageSize, LiquidVO.class, wellId,startTime,endTime);
  34. }
  35. /**
  36. * 保存收到计算结果
  37. * @param liquid
  38. */
  39. public void saveCalculate(LiquidPO liquid) {
  40. String sql="""
  41. update tzl_gather_data_liquid set
  42. modify_time=now()
  43. ,modify_by=?
  44. ,liquid_suface_pos=?
  45. ,well_head_pos=?
  46. ,liquid_depth=?
  47. ,compute_mode=?
  48. """;
  49. List<Object> args=new ArrayList<>();
  50. args.addAll(Arrays.asList(liquid.getModifyBy(),liquid.getLiquidSufacePos(),liquid.getWellHeadPos(),liquid.getLiquidDepth(),liquid.getComputeMode()));
  51. if(liquid.getComputeMode().equals(LiquidPO.MODE_HOOP)) {
  52. sql+=",hoop_start_pos=?,hoop_end_pos=?,avg_length_pipe=?,hoop_count=? ";
  53. args.addAll(Arrays.asList(liquid.getHoopStartPos(),liquid.getHoopEndPos(),liquid.getAvgLengthPipe(),liquid.getHoopCount()));
  54. }
  55. else if(liquid.getComputeMode().equals(LiquidPO.MODE_SOUND_SPEED)) {
  56. sql+=",sound_speed=?";
  57. args.add(liquid.getSoundSpeed());
  58. }
  59. else if(liquid.getComputeMode().equals(LiquidPO.MODE_SOUND_MARK)) {
  60. sql+=",sound_mark_pos=?,sound_mark_depth=?";
  61. args.add(liquid.getSoundMarkPos());
  62. args.add(liquid.getSoundMarkDepth());
  63. }
  64. sql+=" where data_id=?";
  65. args.add(liquid.getDataId());
  66. dao.exeUpdate(sql, args.toArray());
  67. }
  68. /**
  69. * 获得动液面单个记录明细数据
  70. * @param dataId
  71. * @return
  72. */
  73. public LiquidPO getDtl(String dataId) {
  74. return dao.queryForPojo("select * from tzl_gather_data_liquid where data_id=?", LiquidPO.class, dataId);
  75. }
  76. /**
  77. * 逻辑删除动液面记录
  78. * @param dataId
  79. */
  80. public void delete(String dataId) {
  81. dao.exeUpdate("update tzl_gather_data_liquid set del_if=true where data_id=?", dataId);
  82. }
  83. }