diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/maininfo/vo/AppMainInfoPageReqVO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/maininfo/vo/AppMainInfoPageReqVO.java index ebe0104..ca90a9b 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/maininfo/vo/AppMainInfoPageReqVO.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/maininfo/vo/AppMainInfoPageReqVO.java @@ -5,9 +5,11 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.LocalTime; -import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; @Schema(description = "APP - 工单信息分页 Request VO") @Data @@ -22,11 +24,57 @@ public class AppMainInfoPageReqVO extends PageParam { @Schema(description = "审批状态", example = "2") private Integer status; - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + /** + * 时间数组:[开始时间, 结束时间] + * 由 beginTime 和 endTime 自动组装 + */ + @Schema(description = "创建时间-范围查询", hidden = true) private LocalDateTime[] createTime; - @Schema(description = "实施人员部门id", example = "12") + @Schema(description = "归属单位", example = "12") private Long workerCompanyId; + @Schema(description = "实施人员部门id", example = "12") + private Long companyId; + + @Schema(description = "开始日期(yyyy-MM-dd)", example = "2025-01-01") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private String beginTime; + + @Schema(description = "结束日期(yyyy-MM-dd)", example = "2025-12-10") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private String endTime; + + /** + * 组装时间:beginTime + endTime → createTime + */ + public LocalDateTime[] getCreateTime() { + // 已经手动设置过,直接返回 + if (this.createTime != null) { + return this.createTime; + } + // 没有传时间,直接返回 null + if (beginTime == null && endTime == null) { + return null; + } + + LocalDateTime startTime = null; + LocalDateTime endTimeDate = null; + + // 开始时间:yyyy-MM-dd 00:00:00 + if (beginTime != null && !beginTime.isEmpty()) { + startTime = LocalDate.parse(beginTime).atTime(LocalTime.MIN); + } + // 结束时间:yyyy-MM-dd 23:59:59 + if (endTime != null && !endTime.isEmpty()) { + endTimeDate = LocalDate.parse(endTime).atTime(LocalTime.MAX); + } + + return new LocalDateTime[]{startTime, endTimeDate}; + } + + // 防止覆盖 + public void setCreateTime(LocalDateTime[] createTime) { + this.createTime = createTime; + } }