From d69593a949ce309c99d5b8e41519e268c3082ae7 Mon Sep 17 00:00:00 2001 From: lzq Date: Mon, 1 Sep 2025 09:44:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A9=BA=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/ShouJuStatisticsMapper.java | 3 ++ .../service/ShouJuStatisticsService.java | 12 ++++++ .../mapper/ShouJuStatisticsMapper.xml | 37 ++++++++++++++++--- .../mapper/SupervisionStatisticsMapper.xml | 4 +- .../mapper/TianQingStatisticsMapper.xml | 8 ++-- 5 files changed, 53 insertions(+), 11 deletions(-) diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/statistics/mapper/ShouJuStatisticsMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/statistics/mapper/ShouJuStatisticsMapper.java index e9667b4..6aea025 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/statistics/mapper/ShouJuStatisticsMapper.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/statistics/mapper/ShouJuStatisticsMapper.java @@ -1,5 +1,6 @@ package com.njzscloud.supervisory.statistics.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.njzscloud.supervisory.statistics.pojo.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -16,6 +17,8 @@ public interface ShouJuStatisticsMapper { List getCurrentMonthGarbageDisposeSummary(); + List getGoodsNames(@Param("ew") Wrapper ew, @Param("count") int count); + List getOrderSummary(); TodayOrderSummary getTodayOrderSummary(); diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/statistics/service/ShouJuStatisticsService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/statistics/service/ShouJuStatisticsService.java index 90be6c7..68a4878 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/statistics/service/ShouJuStatisticsService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/statistics/service/ShouJuStatisticsService.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.Week; import cn.hutool.core.map.MapUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.njzscloud.common.core.tuple.Tuple2; import com.njzscloud.common.core.tuple.Tuple3; import com.njzscloud.common.core.utils.GroupUtil; @@ -69,6 +70,17 @@ public class ShouJuStatisticsService implements StatisticsService { CompletableFuture> currentMonthGarbageDisposeSummary = CompletableFuture.supplyAsync(statisticsMapper::getCurrentMonthGarbageDisposeSummary) .thenApply(list -> { + if (list.size() < 6) { + List goodsNames = statisticsMapper.getGoodsNames(Wrappers.query().eq("depot_type", 2) + .notLike("name", "青石") + .notLike("name", "矿石") + , 6 - list.size()); + for (String goodsName : goodsNames) { + list.add(new GarbageDisposeSummary() + .setGarbageName(goodsName) + .setWeight(0D)); + } + } Double currentMonthGarbageDisposeSummary_totalWeight = list.stream() .map(GarbageDisposeSummary::getWeight) .reduce(Double::sum).orElse(0D); diff --git a/njzscloud-svr/src/main/resources/mapper/ShouJuStatisticsMapper.xml b/njzscloud-svr/src/main/resources/mapper/ShouJuStatisticsMapper.xml index ae08721..ccce709 100644 --- a/njzscloud-svr/src/main/resources/mapper/ShouJuStatisticsMapper.xml +++ b/njzscloud-svr/src/main/resources/mapper/ShouJuStatisticsMapper.xml @@ -15,6 +15,8 @@ WHERE a.station_id = 1 AND a.status IN (0, 1, 2, 3) AND a.type != 4 + AND b.name NOT LIKE '%青石%' + AND b.name NOT LIKE '%矿石%' ORDER BY a.create_time DESC LIMIT 5) t1 UNION ALL @@ -27,6 +29,8 @@ INNER JOIN ba_goods b ON b.id = a.goods_id AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2) WHERE a.station_id = 2 AND a.type != 4 + AND b.name NOT LIKE '%青石%' + AND b.name NOT LIKE '%矿石%' AND a.status IN (0, 1, 2, 3) ORDER BY a.create_time DESC LIMIT 5) t2) a @@ -45,7 +49,7 @@ resultType="com.njzscloud.supervisory.statistics.pojo.GarbageDisposeSummary"> SELECT garbage_name, weight, 1 depot_type, '入库' depot_name FROM (SELECT garbage_name, weight - FROM (SELECT b.name garbage_name, SUM(a.weight) weight + FROM (SELECT b.name garbage_name, IFNULL(SUM(a.weight), 0) weight FROM ba_order a INNER JOIN ba_goods b ON b.id = a.goods_id AND b.depot_type = 1 AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2) INNER JOIN ba_goods_category c ON c.id = b.category_id @@ -60,7 +64,7 @@ UNION ALL SELECT garbage_name, weight, 2 depot_type, '出库' depot_name FROM (SELECT garbage_name, weight - FROM (SELECT b.name garbage_name, SUM(a.weight) weight + FROM (SELECT b.name garbage_name, IFNULL(SUM(a.weight), 0) weight FROM ba_order a INNER JOIN ba_goods b ON b.id = a.goods_id AND b.depot_type = 2 AND b.id NOT IN (287, 286, 279, 278, 293, 273, 271, 270, 262, 2) INNER JOIN ba_goods_category c ON c.id = b.category_id @@ -76,11 +80,13 @@ @@ -161,5 +177,16 @@ AND a.out_time >= #{startTime} AND a.out_time #{endTime} AND a.type != 4 + AND b.name NOT LIKE '%青石%' + AND b.name NOT LIKE '%矿石%' + + + diff --git a/njzscloud-svr/src/main/resources/mapper/SupervisionStatisticsMapper.xml b/njzscloud-svr/src/main/resources/mapper/SupervisionStatisticsMapper.xml index 16e71f5..5759fe1 100644 --- a/njzscloud-svr/src/main/resources/mapper/SupervisionStatisticsMapper.xml +++ b/njzscloud-svr/src/main/resources/mapper/SupervisionStatisticsMapper.xml @@ -75,7 +75,7 @@ SELECT t1.total_weight, t2.company - FROM (SELECT SUM(a.weight) total_weight, b.transport_uid + FROM (SELECT IFNULL(SUM(a.weight), 0) total_weight, b.transport_uid FROM ba_order a INNER JOIN ba_order_dispatch b ON b.order_no = a.order_no WHERE a.status = 1 diff --git a/njzscloud-svr/src/main/resources/mapper/TianQingStatisticsMapper.xml b/njzscloud-svr/src/main/resources/mapper/TianQingStatisticsMapper.xml index a501fb3..86897fa 100644 --- a/njzscloud-svr/src/main/resources/mapper/TianQingStatisticsMapper.xml +++ b/njzscloud-svr/src/main/resources/mapper/TianQingStatisticsMapper.xml @@ -29,7 +29,7 @@ resultType="com.njzscloud.supervisory.statistics.pojo.GarbageDisposeSummary"> SELECT garbage_name, weight, icon, 1 depot_type, '入库' depot_name FROM (SELECT d.name garbage_name, t.weight, d.icon - FROM (SELECT b.id, SUM(a.weight) weight + FROM (SELECT b.id, IFNULL(SUM(a.weight), 0) weight FROM ba_order a INNER JOIN ba_goods b ON b.id = a.goods_id AND b.depot_type = 1 INNER JOIN ba_goods_category c ON c.id = b.category_id @@ -40,7 +40,7 @@ UNION ALL SELECT garbage_name, weight, icon, 2 depot_type, '出库' depot_name FROM (SELECT d.name garbage_name, t.weight, d.icon - FROM (SELECT b.id, SUM(a.weight) weight + FROM (SELECT b.id, IFNULL(SUM(a.weight), 0) weight FROM ba_order a INNER JOIN ba_goods b ON b.id = a.goods_id AND b.depot_type = 2 INNER JOIN ba_goods_category c ON c.id = b.category_id @@ -53,7 +53,7 @@