WellDataController.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package com.hb.proj.data.controller;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.List;
  5. import java.util.Map;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.validation.annotation.Validated;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestParam;
  10. import org.springframework.web.bind.annotation.RestController;
  11. import com.hb.proj.base.service.WellParamService;
  12. import com.hb.proj.constant.SortCodeConstant;
  13. import com.hb.proj.data.service.ParamDataService;
  14. import com.hb.proj.model.WellParamPO;
  15. import com.hb.proj.utils.RespVO;
  16. import com.hb.proj.utils.RespVOBuilder;
  17. import com.hb.xframework.dao.util.PageModel;
  18. import com.hb.xframework.util.DateUtil;
  19. import jakarta.validation.constraints.NotBlank;
  20. @RestController
  21. @RequestMapping("/welldata")
  22. @Validated
  23. public class WellDataController {
  24. @Autowired
  25. private WellParamService wpservice;
  26. @Autowired
  27. private ParamDataService dataService;
  28. /**
  29. * 加载单井历史数据表头
  30. * @param wellId
  31. * @return
  32. */
  33. @RequestMapping("/loadHisDataHeader")
  34. public RespVO<List<WellParamPO>> loadHisDataHeader(@NotBlank(message="缺少井号参数") String wellId){
  35. return RespVOBuilder.ok(wpservice.loadParamByWell(wellId));
  36. }
  37. /**
  38. * 单井历史数据查询
  39. * @param wellId
  40. * @param startDate
  41. * @param endDate
  42. * @param pageNum
  43. * @param pageSize
  44. * @return
  45. */
  46. @RequestMapping("/queryHisData")
  47. public RespVO<PageModel<Map<String,Object>>> queryHisData(
  48. @NotBlank(message="缺少井号参数") String wellId,
  49. Date startDate,
  50. Date endDate,
  51. @RequestParam(value = "currentPage", defaultValue = "1") Integer pageNum,
  52. @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize){
  53. List<WellParamPO> params=wpservice.loadParamByWell(wellId);
  54. if(params==null||params.size()==0) {
  55. return RespVOBuilder.error("该井未定义参数");
  56. }
  57. String nowstr=DateUtil.format(new Date(), "yyyy-MM-dd");
  58. if(startDate==null) {
  59. startDate=DateUtil.parse(nowstr+" 00:00:00");
  60. }
  61. if(endDate==null) {
  62. endDate=DateUtil.parse(nowstr+" 23:59:59");
  63. }
  64. String mainParamId=null;
  65. List<String> othParamId=new ArrayList<String>(params.size());
  66. for(WellParamPO wp : params) {
  67. if(SortCodeConstant.PARAM_FREQ.equals(wp.getParamCode())) { //冲次为主
  68. mainParamId=wp.getParamId();
  69. }
  70. else {
  71. othParamId.add(wp.getParamId());
  72. }
  73. }
  74. PageModel<Map<String,Object>> pagedData = dataService.queryMultiParamHisData(mainParamId, othParamId, startDate, endDate, pageNum, pageSize);
  75. return RespVOBuilder.ok(pagedData);
  76. }
  77. }