JPTbMHourWater.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.shkpr.service.aimodelpower.jsonbean.zilaishui;
  2. import com.global.base.log.LogLevelFlag;
  3. import com.global.base.log.LogPrintMgr;
  4. import com.shkpr.service.aimodelpower.commtools.TimeTool;
  5. import com.shkpr.service.aimodelpower.controllervalid.CommonParamValidList;
  6. import com.shkpr.service.aimodelpower.controllervalid.CommonParamValidSS;
  7. import lombok.Data;
  8. import org.hibernate.validator.constraints.Range;
  9. import org.springframework.util.StringUtils;
  10. import java.time.Instant;
  11. import java.time.LocalDateTime;
  12. import java.time.ZoneId;
  13. import java.time.format.DateTimeFormatter;
  14. import java.time.temporal.TemporalAdjusters;
  15. /**
  16. * @ClassName JPTbMHourWater
  17. * @Description: TODO 查询日预测小时数据
  18. * @Author LX
  19. * @Date 2024/5/27
  20. * @Version V1.0
  21. **/
  22. @Data
  23. public class JPTbMHourWater {
  24. private Boolean isPage = false;//是否分页 默认false
  25. private String orgId;//水厂id
  26. @Range(min = 0, max = 65535, groups = {CommonParamValidList.class, CommonParamValidSS.class})
  27. private Integer limit = 20;//若分页 默认数为20
  28. @Range(min = 0, max = Integer.MAX_VALUE, groups = {CommonParamValidList.class, CommonParamValidSS.class})
  29. private Integer offset = 0;//若分页 默认起始值为0
  30. private Long queryDate;//开始日期 (实际时间为 年 月 日(就为当月的一号),时分秒为 00:00:00,如2023-03-01 00:00:00)
  31. //业务字段
  32. private String forDateStr;
  33. public boolean checkValid(){
  34. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  35. StringBuilder strSql = new StringBuilder("");
  36. if(!StringUtils.isEmpty(orgId)){
  37. strSql.append(" AND \"orgId\" = '"+orgId+"'");
  38. }
  39. if(queryDate==null){
  40. //TODO 说明前端没传,那么默认为今天
  41. LocalDateTime nowDate = LocalDateTime.now();//结束时间
  42. nowDate = nowDate.with(TemporalAdjusters.lastDayOfMonth());
  43. nowDate = nowDate.withHour(0);
  44. nowDate = nowDate.withMinute(0);
  45. nowDate = nowDate.withSecond(0);
  46. strSql.append(" AND \"Date\" = '"+nowDate.format(formatter)+"' ");
  47. forDateStr = strSql.toString();
  48. }else if(queryDate!=null){
  49. try {
  50. //TODO 说明符合可组成查询日期的条件
  51. String sqlStr = LocalDateTime.ofInstant(Instant.ofEpochMilli(queryDate), ZoneId.systemDefault())
  52. .withHour(0).withMinute(0).withSecond(0).format(formatter);
  53. strSql.append(" AND \"Date\" = '"+sqlStr+"' ");
  54. forDateStr = strSql.toString();
  55. }catch(Exception ex){
  56. LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR, "JPCustomerMeterSS", "JPCustomerMeterSS"
  57. ,String.format("errorMsg:%s====>"
  58. ,ex.getLocalizedMessage()));
  59. return false;
  60. }
  61. }
  62. return true;
  63. }
  64. }