From 767ba5a54ca5597de816015f387981776b928f7b Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期三, 16 七月 2025 19:20:44 +0800
Subject: [PATCH] H5首页待执行工单统计接口调整

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java |  100 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 90 insertions(+), 10 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java
index 3e184b8..575571e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java
@@ -3,16 +3,25 @@
 import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.parser.Feature;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.TranslateDictTextUtils;
-import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus;
-import org.jeecg.modules.eam.constant.EquipmentRepairStatus;
-import org.jeecg.modules.eam.entity.EamEquipment;
+import org.jeecg.modules.eam.constant.*;
+import org.jeecg.modules.eam.entity.*;
+import org.jeecg.modules.eam.request.EamInspectionOrderQuery;
+import org.jeecg.modules.eam.request.EamReportRepairQuery;
+import org.jeecg.modules.eam.request.EamWeekMaintenanceQuery;
 import org.jeecg.modules.eam.service.*;
 import org.jeecg.modules.eam.vo.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -170,12 +179,12 @@
     @GetMapping(value = "/repairList")
     public Result<?> repairList() {
         List<EquipmentRepairListVO> list = reportRepairService.repairList();
-        if(CollectionUtil.isEmpty(list)) {
+        if (CollectionUtil.isEmpty(list)) {
             return Result.ok(Collections.emptyList());
         }
         List<JSONObject> items = new ArrayList<>();
         try {
-            for(EquipmentRepairListVO vo : list) {
+            for (EquipmentRepairListVO vo : list) {
                 String json = objectMapper.writeValueAsString(vo);
                 JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
                 translateDictTextUtils.translateField("reportOperator", vo.getReportOperator(), item, "sys_user,realname,username");
@@ -185,7 +194,7 @@
                 items.add(item);
             }
             return Result.OK(items);
-        }catch (Exception e) {
+        } catch (Exception e) {
             return Result.error("鏁版嵁杞瘧澶辫触锛�");
         }
     }
@@ -198,23 +207,94 @@
         LocalDate start = today.minusDays(30);
         //鍙彇鍓�7鍚�
         List<RepairmanRankingVO> list = repairOrderService.repairmanRanking(start.toString(), end.toString());
-        if(CollectionUtil.isEmpty(list)) {
+        if (CollectionUtil.isEmpty(list)) {
             return Result.ok(Collections.emptyList());
         }
-        if(list.size() > 7) {
+        if (list.size() > 7) {
             list = list.subList(0, 7);
         }
         List<JSONObject> items = new ArrayList<>();
         try {
-            for(RepairmanRankingVO vo : list) {
+            for (RepairmanRankingVO vo : list) {
                 String json = objectMapper.writeValueAsString(vo);
                 JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
                 translateDictTextUtils.translateField("repairer", vo.getRepairer(), item, "sys_user,realname,username");
                 items.add(item);
             }
             return Result.OK(items);
-        }catch (Exception e) {
+        } catch (Exception e) {
             return Result.error("鏁版嵁杞瘧澶辫触锛�");
         }
     }
+
+    @ApiOperation(value = "缁翠慨鐪嬫澘-鏁呴殰绫诲瀷缁熻", notes = "缁翠慨鐪嬫澘-鏁呴殰绫诲瀷缁熻")
+    @GetMapping(value = "/faultTypeStatistics")
+    public Result<?> faultTypeStatistics() {
+        //缁熻浠婂勾鏉ユ晠闅滃垎绫绘儏鍐�
+        LocalDate today = LocalDate.now();
+        LocalDate end = today.plusDays(1);
+        //浠婂勾绗竴澶�
+        LocalDate start = today.withDayOfYear(1);
+        // 缁熻涓暟
+        List<FaultTypeStatisticsVO> list = reportRepairService.faultTypeStatistics(start.toString(), end.toString());
+        if (CollectionUtil.isEmpty(list)) {
+            return Result.ok(Collections.emptyList());
+        }
+        List<JSONObject> items = new ArrayList<>();
+        try {
+            for (FaultTypeStatisticsVO vo : list) {
+                String json = objectMapper.writeValueAsString(vo);
+                JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
+                translateDictTextUtils.translateField("faultType", vo.getFaultType(), item, "fault_reason_category");
+                if (item.get("faultType" + CommonConstant.DICT_TEXT_SUFFIX) != null) {
+                    items.add(item);
+                }
+            }
+            return Result.OK(items);
+        } catch (Exception e) {
+            return Result.error("鏁版嵁杞瘧澶辫触锛�");
+        }
+    }
+
+    @ApiOperation(value = "H5棣栭〉-寰呮墽琛屽伐鍗曟暟閲忕粺璁�", notes = "H5棣栭〉-寰呮墽琛屽伐鍗曟暟閲忕粺璁�")
+    @GetMapping(value = "/pendingExecOrderCountBySelf")
+    public Result<?> pendingExecOrderCountBySelf() {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Map<String, Integer> countMap = CollectionUtil.newHashMap();
+        if (user == null) {
+            return Result.ok(countMap);
+        }
+        String post = user.getPost();
+
+        if (BusinessCodeConst.PCR0001.equals(post)) {
+            //鏄搷浣滃伐锛屾煡璇㈠彲棰嗗彇鐨勭偣妫�銆佸懆淇濆伐鍗�
+            Page<EamInspectionOrder> inspectionOrderPage = new Page<>(1, 99999999);
+            EamInspectionOrderQuery inspectionOrderQuery = new EamInspectionOrderQuery();
+            inspectionOrderQuery.setInspectionStatus(InspectionStatus.WAIT_INSPECTION.name());
+            List<EamInspectionOrder> unReceivedInspectionOrderList = inspectionOrderService.queryPageList(inspectionOrderPage, inspectionOrderQuery).getRecords();
+
+            Page<EamWeekMaintenanceOrder> maintenanceOrderPage = new Page<>(1, 99999999);
+            EamWeekMaintenanceQuery weekMaintenanceQuery = new EamWeekMaintenanceQuery();
+            weekMaintenanceQuery.setMaintenanceStatus(WeekMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
+            List<EamWeekMaintenanceOrder> unReceivedMaintenanceOrderList = weekMaintenanceOrderService.queryPageList(maintenanceOrderPage, weekMaintenanceQuery).getRecords();
+            countMap.put("unExecInspectionOrderCount", unReceivedInspectionOrderList.size());
+            countMap.put("unExecMaintenanceOrderCount", unReceivedMaintenanceOrderList.size());
+            countMap.put("unExecRepairOrderCount", 0);
+        } else if (BusinessCodeConst.PCR0002.equals(post)) {
+            //鏄淮淇伐锛屾煡璇㈠彲棰嗗彇鐨勬姤淇崟
+            Page<EamReportRepair> maintenanceOrderPage = new Page<>(1, 99999999);
+            EamReportRepairQuery reportRepairQuery = new EamReportRepairQuery();
+            reportRepairQuery.setReportStatus(EquipmentRepairStatus.WAIT_REPAIR.name());
+            List<EamReportRepair> unReceivedOrderList = reportRepairService.pageList(maintenanceOrderPage, reportRepairQuery).getRecords();
+
+            countMap.put("unExecInspectionOrderCount", 0);
+            countMap.put("unExecMaintenanceOrderCount", 0);
+            countMap.put("unExecRepairOrderCount", unReceivedOrderList.size());
+        } else {
+            countMap.put("unExecInspectionOrderCount", 0);
+            countMap.put("unExecMaintenanceOrderCount", 0);
+            countMap.put("unExecRepairOrderCount", 0);
+        }
+        return Result.OK(countMap);
+    }
 }

--
Gitblit v1.9.3