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 @@