From 11bc2a4737a526b803959dfdd7c522b056425fe2 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 09 三月 2026 09:54:13 +0800
Subject: [PATCH] fix: 日期判空操作,默认赋值当天日期
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 15 ++++++-
src/main/resources/mapper/production/ProductionProductMainMapper.xml | 68 +++++++++++++++++++++++-----------
2 files changed, 59 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 48d3c28..31d9632 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -342,7 +342,18 @@
}
@Override
- public IPage<HashMap<String, Object>> queryProductInputAndOutput(Page page, ProductionProductMainDto productionProductMainDto) {
- return productionProductMainMapper.queryProductInputAndOutput(page, productionProductMainDto);
+ public IPage<HashMap<String, Object>> queryProductInputAndOutput(Page page, ProductionProductMainDto dto) {
+ if (isEmptyDate(dto.getStartTime())) {
+ dto.setStartTime(LocalDate.now().toString());
+ }
+ if (isEmptyDate(dto.getEndTime())) {
+ dto.setEndTime(LocalDate.now().plusDays(1).toString());
+ }
+
+ return productionProductMainMapper.queryProductInputAndOutput(page, dto);
+ }
+
+ private boolean isEmptyDate(String date) {
+ return date == null || date.trim().isEmpty() || "Invalid Date".equals(date);
}
}
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 37e7b27..aead45c 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -121,27 +121,51 @@
<select id="queryProductInputAndOutput" resultType="Hashmap">
select *
- from (select p.product_name as productName,
- pm.model as model,
- pm.unit as unit,
- temp.inputQuantity as inputQuantity,
- temp.outputQuantity as outputQuantity
- from (select product_model_id,
- coalesce(sum(inputQuantity), 0) as inputQuantity,
- coalesce(sum(outputQuantity), 0) as outputQuantity
- from ((select product_model_id, coalesce(sum(quantity), 0) as inputQuantity, 0 as outputQuantity
- from production_product_input
- where create_time >= #{ew.startTime}
- and create_time < #{ew.endTime}
- group by product_model_id)
- union all
- (select product_model_id, 0 as inputQuantity, coalesce(sum(quantity), 0) as outputQuantity
- from production_product_output
- where create_time >= #{ew.startTime}
- and create_time < #{ew.endTime}
- group by product_model_id)) t
- group by product_model_id) temp
- left join product_model pm on temp.product_model_id = pm.id
- left join product p on pm.product_id = p.id) tmp
+ from (
+ select p.product_name as productName,
+ pm.model as model,
+ pm.unit as unit,
+ temp.inputQuantity as inputQuantity,
+ temp.outputQuantity as outputQuantity
+ from (
+ select product_model_id,
+ coalesce(sum(inputQuantity),0) as inputQuantity,
+ coalesce(sum(outputQuantity),0) as outputQuantity
+ from (
+ (select product_model_id,
+ coalesce(sum(quantity),0) as inputQuantity,
+ 0 as outputQuantity
+ from production_product_input
+ <where>
+ <if test="ew.startTime != null and ew.startTime != ''">
+ and create_time >= #{ew.startTime}
+ </if>
+ <if test="ew.endTime != null and ew.endTime != ''">
+ and create_time < #{ew.endTime}
+ </if>
+ </where>
+ group by product_model_id)
+
+ union all
+
+ (select product_model_id,
+ 0 as inputQuantity,
+ coalesce(sum(quantity),0) as outputQuantity
+ from production_product_output
+ <where>
+ <if test="ew.startTime != null and ew.startTime != ''">
+ and create_time >= #{ew.startTime}
+ </if>
+ <if test="ew.endTime != null and ew.endTime != ''">
+ and create_time < #{ew.endTime}
+ </if>
+ </where>
+ group by product_model_id)
+ ) t
+ group by product_model_id
+ ) temp
+ left join product_model pm on temp.product_model_id = pm.id
+ left join product p on pm.product_id = p.id
+ ) tmp
</select>
</mapper>
--
Gitblit v1.9.3