From 724f8ec3bbcf9da50f304f57d8bc9a60ad75ad0a Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期三, 27 八月 2025 18:29:32 +0800
Subject: [PATCH] 修改计算百分比位置

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java |   31 ++++++++++++++++++++++++++-----
 1 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
index 24afdf3..00ce4ee 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -38,6 +38,9 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -187,7 +190,7 @@
                 queryWrapper.like("e.asset_status", eamEquipment.getAssetStatus());
             }
             if (StringUtils.isNotBlank(eamEquipment.getTechnologyStatus())) {
-                queryWrapper.like("e.technology_status", eamEquipment.getTechnologyStatus());
+                queryWrapper.like("ext.technology_status", eamEquipment.getTechnologyStatus());
             }
             if (StringUtils.isNotBlank(eamEquipment.getOperationSystem())) {
                 queryWrapper.like("e.operation_system", eamEquipment.getOperationSystem());
@@ -368,7 +371,7 @@
                 queryWrapper.like("e.asset_status", eamEquipment.getAssetStatus());
             }
             if (StringUtils.isNotBlank(eamEquipment.getTechnologyStatus())) {
-                queryWrapper.like("e.technology_status", eamEquipment.getTechnologyStatus());
+                queryWrapper.like("ext.technology_status", eamEquipment.getTechnologyStatus());
             }
             if (StringUtils.isNotBlank(eamEquipment.getOperationSystem())) {
                 queryWrapper.like("e.operation_system", eamEquipment.getOperationSystem());
@@ -434,12 +437,13 @@
      */
     @Override
     public List<EchartsDto> echartsList(){
+        List<EchartsDto> echartsDtoList = new ArrayList<>();
         QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0);
         //鐢ㄦ埛鏁版嵁鏉冮檺
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         if (sysUser == null) {
-            return null;
+            return echartsDtoList;
         }
         if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
             //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
@@ -454,11 +458,28 @@
                 Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
                 queryWrapper.in("e.factory_org_code", factoryCode);
             }else {
-                return null;
+                return echartsDtoList;
             }
         }
         List<String> ids=this.baseMapper.queryList(queryWrapper).stream().map(EamEquipment::getId).collect(Collectors.toList());
-        return this.baseMapper.echartsList(ids);
+        echartsDtoList= this.baseMapper.echartsList(ids);
+        // 鐩存帴浣跨敤for寰幆澶勭悊鏁版嵁
+        for (EchartsDto dto : echartsDtoList) {
+            if (dto.getTotal() != null && !"0".equals(dto.getTotal())) {
+                try {
+                    int value = Integer.parseInt(dto.getValue());
+                    int total = Integer.parseInt(dto.getTotal());
+                    double percentage = (value * 100.0) / total;
+                    DecimalFormat df = new DecimalFormat("0.00");
+                    dto.setPercentage(df.format(percentage) + "%");
+                } catch (NumberFormatException e) {
+                    dto.setPercentage("0.00%");
+                }
+            } else {
+                dto.setPercentage("0.00%");
+            }
+        }
+        return echartsDtoList;
     }
 
     /**

--
Gitblit v1.9.3