zhangherong
2025-05-09 140248961e5f865d48e850f8d6b10e3338171283
art: 设备管理-维修看板-故障分类统计
已添加1个文件
已修改5个文件
92 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/FaultTypeStatisticsVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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("数据转译失败!");
        }
    }
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);
}
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 &gt;= #{start}
          and t.create_time &lt; #{end}
        group by t.fault_type
    </select>
</mapper>
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);
}
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);
    }
}
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;
}