From 2be2c7be59aacbf1ec49a2ce338c6195bc932a1b Mon Sep 17 00:00:00 2001 From: han0 Date: Tue, 9 Jul 2024 11:04:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E6=9C=88=E4=BB=BD=E6=97=A0=E6=95=B0=E6=8D=AE=E6=97=B6=E9=80=89?= =?UTF-8?q?=E7=94=A8=E6=9C=80=E6=96=B0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LocalMaterialController.java | 5 ++++- .../main/service/LocalMaterialService.java | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/main/java/mjkf/xinke/main/controller/LocalMaterialController.java b/src/main/java/mjkf/xinke/main/controller/LocalMaterialController.java index aaee9b7..7196227 100644 --- a/src/main/java/mjkf/xinke/main/controller/LocalMaterialController.java +++ b/src/main/java/mjkf/xinke/main/controller/LocalMaterialController.java @@ -48,7 +48,10 @@ public class LocalMaterialController { @ApiParam(value = "规格") @RequestParam(value="spec", required=false) String spec, @ApiParam(value = "名称") @RequestParam(value="name", required=false) String name ) { - var query = localMaterialService.getQuery(year, month, city, county, spec, name, null); + // 指定月份无数据时选用最新数据 + var date = localMaterialService.checkDate(year, month); + + var query = localMaterialService.getQuery(date.getYear(), date.getMonth().getValue(), city, county, spec, name, null); query.orderByDesc(LocalMaterial::getName); List data = localMaterialService.list(query); diff --git a/src/main/java/mjkf/xinke/main/service/LocalMaterialService.java b/src/main/java/mjkf/xinke/main/service/LocalMaterialService.java index f287168..575228b 100644 --- a/src/main/java/mjkf/xinke/main/service/LocalMaterialService.java +++ b/src/main/java/mjkf/xinke/main/service/LocalMaterialService.java @@ -1,5 +1,6 @@ package mjkf.xinke.main.service; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import mjkf.xinke.main.model.db.LocalMaterial; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -10,6 +11,27 @@ import java.util.Map; @Service public class LocalMaterialService extends DataService, LocalMaterial> { + /** + * 获取指定月份前含数据的最新日期 + * @param year + * @param month + * @return + */ + public LocalDate checkDate(Integer year, Integer month) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + var startDate = LocalDate.of(year, month, 1); + var endDate = startDate.plusMonths(1); + query.lt(LocalMaterial::getDate, endDate); + query.orderByDesc(LocalMaterial::getDate); + var result = (LocalMaterial)this.getOne(query, false); + if (ObjectUtil.isEmpty(result)) { + return LocalDate.of(year, month, 1); + } else { + return result.getDate(); + } + } + + public LambdaQueryWrapper indexQuery(LocalMaterial data) { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(LocalMaterial::getName, data.getName());