From ee2a967d84da5697d9928cb6929adb9d9bad19ff Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Thu, 26 Sep 2024 16:26:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=BA=E8=83=BD=E5=B7=A5=E5=8E=82=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20-=20=E5=A2=9E=E5=BC=BA=E5=B7=A5=E5=8E=82=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在工厂数据统计功能中,新增百分比计算功能,以增强数据展示的直观性和可理解性。具体包括:1. 在`FactoryDataController`中添加计算全工厂指定日期总数据的逻辑,并计算出入库、出库以及出入库比例的百分比。 2. 修改`FactoryDataMapper`中的SQL查询,确保SUM函数的NULL值处理更加清晰。3. 更新`FactoryDataTotalVO`实体类,添加用于存储百分比的新字段。 这些增强使数据统计结果更加精确和易懂,便于用户快速理解工厂的运营概况。 --- .../factorydata/FactoryDataController.java | 26 +++++++++++++++---- .../factorydata/vo/FactoryDataTotalVO.java | 9 +++++++ .../mapper/factorydata/FactoryDataMapper.xml | 6 ++--- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/factorydata/FactoryDataController.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/factorydata/FactoryDataController.java index d872d895..c7331d84 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/factorydata/FactoryDataController.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/factorydata/FactoryDataController.java @@ -29,6 +29,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; +import java.text.DecimalFormat; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; @@ -118,12 +119,27 @@ public class FactoryDataController { setDate(pageReqVO); } + // 获取指定工厂指定日期的出入库数据 FactoryDataTotalVO dataTotalVO = dataService.getDataTotal(pageReqVO.getFactoryId(), pageReqVO.getDate()); - if (dataTotalVO == null) { - dataTotalVO = new FactoryDataTotalVO(); - dataTotalVO.setInTotal(0); - dataTotalVO.setOutTotal(0); - dataTotalVO.setDamageNum(0); + + if (pageReqVO.getFactoryId() != null) { + + // 获取全工厂指定日期的总数据 + FactoryDataTotalVO dataTotal = dataService.getDataTotal(null, pageReqVO.getDate()); + + DecimalFormat df = new DecimalFormat("#.##"); // 保留两位小数 + if (dataTotal.getInTotal() != 0) { + // 设置出入库比列 + dataTotalVO.setInPercentage(df.format((double)dataTotalVO.getInTotal() / dataTotal.getInTotal() * 100L) + "%"); + } + if (dataTotal.getOutTotal() != 0) { + // 设置出库比例 + dataTotalVO.setOutPercentage(df.format((double)dataTotalVO.getOutTotal() / dataTotal.getOutTotal() * 100L) + "%"); + } + if (dataTotalVO.getInTotal() != 0 && dataTotalVO.getOutTotal() != 0) { + // 设置出入库比列 + dataTotalVO.setInOutPercentage(df.format((double)dataTotalVO.getOutTotal() / dataTotalVO.getInTotal() * 100L) + "%"); + } } return success(dataTotalVO); diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/factorydata/vo/FactoryDataTotalVO.java b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/factorydata/vo/FactoryDataTotalVO.java index c836fa9c..81ba4c3a 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/factorydata/vo/FactoryDataTotalVO.java +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/java/cn/iocoder/yudao/module/smartfactory/controller/admin/factorydata/vo/FactoryDataTotalVO.java @@ -21,4 +21,13 @@ public class FactoryDataTotalVO { @Schema(description = "破损总数") private Integer damageNum; + + @Schema(description = "入库百分比") + private String inPercentage; + + @Schema(description = "出库百分比") + private String outPercentage; + + @Schema(description = "入库出库百分比") + private String inOutPercentage; } diff --git a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/resources/mapper/factorydata/FactoryDataMapper.xml b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/resources/mapper/factorydata/FactoryDataMapper.xml index 3a319ea2..9b9432ff 100644 --- a/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/resources/mapper/factorydata/FactoryDataMapper.xml +++ b/zn-module-smartfactory/zn-module-smartfactory-biz/src/main/resources/mapper/factorydata/FactoryDataMapper.xml @@ -60,9 +60,9 @@