From 140248961e5f865d48e850f8d6b10e3338171283 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 09 五月 2025 13:19:19 +0800 Subject: [PATCH] art: 设备管理-维修看板-故障分类统计 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java | 9 ++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml | 9 ++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java | 44 ++++++++++++++++++--- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java | 9 ++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java | 6 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/FaultTypeStatisticsVO.java | 15 +++++++ 6 files changed, 85 insertions(+), 7 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..8e4a1b1 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 @@ -8,6 +8,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.TranslateDictTextUtils; import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus; @@ -170,12 +171,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 +186,7 @@ items.add(item); } return Result.OK(items); - }catch (Exception e) { + } catch (Exception e) { return Result.error("鏁版嵁杞瘧澶辫触锛�"); } } @@ -198,22 +199,51 @@ 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("鏁版嵁杞瘧澶辫触锛�"); } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java index b548ce1..f878ee7 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java @@ -9,6 +9,7 @@ import org.jeecg.modules.eam.vo.EquipmentRepairListVO; import org.jeecg.modules.eam.vo.EquipmentRepairStatistics; import org.jeecg.modules.eam.vo.EquipmentRepairStatusStatistics; +import org.jeecg.modules.eam.vo.FaultTypeStatisticsVO; import java.util.List; @@ -49,4 +50,12 @@ * @return */ List<EquipmentRepairListVO> repairList(); + + /** + * 楠ㄦ姌鍒嗙被缁熻 + * @param start + * @param end + * @return + */ + List<FaultTypeStatisticsVO> faultTypeStatistics(String start, String end); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml index 55e6baf..e872ef1 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml @@ -96,4 +96,13 @@ and err.del_flag = 0 order by e.org_id, err.fault_start_time </select> + + <select id="faultTypeStatistics" resultType="org.jeecg.modules.eam.vo.FaultTypeStatisticsVO"> + select t.fault_type, count(1) as faultCount + from eam_report_repair t + where t.report_status != 'ABOLISH' and t.del_flag = 0 + and t.create_time >= #{start} + and t.create_time < #{end} + group by t.fault_type + </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java index 656c6f7..6ff384b 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java @@ -10,6 +10,7 @@ import org.jeecg.modules.eam.vo.EquipmentRepairListVO; import org.jeecg.modules.eam.vo.EquipmentRepairStatistics; import org.jeecg.modules.eam.vo.EquipmentRepairStatusStatistics; +import org.jeecg.modules.eam.vo.FaultTypeStatisticsVO; import java.time.LocalDate; import java.util.List; @@ -78,4 +79,12 @@ * @return */ List<EquipmentRepairListVO> repairList(); + + /** + * 鏁呴殰鍒嗙被缁熻 + * @param start + * @param end + * @return + */ + List<FaultTypeStatisticsVO> faultTypeStatistics(String start, String end); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java index f64ece6..17d614b 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java @@ -22,6 +22,7 @@ import org.jeecg.modules.eam.vo.EquipmentRepairListVO; import org.jeecg.modules.eam.vo.EquipmentRepairStatistics; import org.jeecg.modules.eam.vo.EquipmentRepairStatusStatistics; +import org.jeecg.modules.eam.vo.FaultTypeStatisticsVO; import org.jeecg.modules.system.service.IMdcProductionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -202,4 +203,9 @@ public List<EquipmentRepairListVO> repairList() { return this.baseMapper.repairList(); } + + @Override + public List<FaultTypeStatisticsVO> faultTypeStatistics(String start, String end) { + return this.baseMapper.faultTypeStatistics(start, end); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/FaultTypeStatisticsVO.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/FaultTypeStatisticsVO.java new file mode 100644 index 0000000..78f6d5f --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/FaultTypeStatisticsVO.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.eam.vo; + +import lombok.Data; + +@Data +public class FaultTypeStatisticsVO { + /** + * 鏁呴殰绫诲瀷 + */ + private String faultType; + /** + * 鏁呴殰缁熻涓暟 + */ + private Integer faultCount; +} -- Gitblit v1.9.3