zhangherong
2025-05-06 aca5717aa279a6861a6ddc6b6718a994873b0f60
art: 设备管理-看板接口-维保状态接口
已添加1个文件
已修改5个文件
129 ■■■■■ 文件已修改
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentMaintenanceStatistics.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java
@@ -32,4 +32,13 @@
     * @return
     */
    IPage<EamEquipment> queryPageList(IPage<EamEquipment> page, @Param(Constants.WRAPPER) Wrapper<EamEquipment> queryWrapper);
    /**
     * æŸ¥è¯¢äº§çº¿ä¸‹å¾—设备
     * æ²¡æœ‰æ•°æ®æƒé™æŽ§åˆ¶
     * @param queryWrapper
     * @return
     */
    List<EamEquipment> queryByProductionIds(@Param(Constants.WRAPPER) Wrapper<EamEquipment> queryWrapper);
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
@@ -9,4 +9,12 @@
        on e.id = ext.id
        ${ew.customSqlSegment}
    </select>
    <select id="queryByProductionIds" resultType="org.jeecg.modules.eam.entity.EamEquipment">
        select e.*, ext.repair_status, ext.maintenance_status
        from eam_equipment e
        left join eam_equipment_extend ext
        on e.id = ext.id
        ${ew.customSqlSegment}
    </select>
</mapper>
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java
@@ -52,4 +52,11 @@
     * @return
     */
    EamEquipment selectByEquipmentCode(String equipmentCode);
    /**
     * æ ¹æ®è½¦é—´æŸ¥è¯¢è®¾å¤‡å°è´¦åˆ—表
     * @param productionId è½¦é—´ID
     * @return
     */
    List<EamEquipment> queryByProductionId(String productionId);
}
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -235,6 +235,30 @@
        return eamEquipmentMapper.selectOne(queryWrapper);
    }
    @Override
    public List<EamEquipment> queryByProductionId(String productionId) {
        QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>();
        //车间为空 åˆ™æŸ¥è¯¢æ‰€æœ‰è®¾å¤‡
        if (StringUtils.isNotBlank(productionId)) {
            //车间编码不为空
            List<String> productIds = mdcProductionService.recursionChildren(productionId);
            if (CollectionUtil.isEmpty(productIds)) {
                return Collections.emptyList();
            }
            if(productIds.size() == 1) {
                queryWrapper.eq("e.org_id", productIds.get(0));
            }else {
                queryWrapper.in("e.org_id", productIds);
            }
        }
        queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0);
        List<EamEquipment> list = eamEquipmentMapper.queryByProductionIds(queryWrapper);
        if(CollectionUtil.isNotEmpty(list)) {
            return list;
        }
        return Collections.emptyList();
    }
    /**
     * èŽ·å–æ‰€æœ‰çš„äº§çº¿id(包含所有上级)
     */
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java
@@ -1,14 +1,59 @@
package org.jeecg.modules.eam.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
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.service.IEamEquipmentService;
import org.jeecg.modules.eam.vo.EquipmentMaintenanceStatistics;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Api(tags="设备管理-首页看板接口")
@RestController
@RequestMapping("/eam/dashboard")
public class EamDashboardController {
    @Autowired
    private IEamEquipmentService eamEquipmentService;
    @ApiOperation(value="看板接口-维保状态统计", notes="看板接口-维保状态统计")
    @GetMapping(value = "/equipmentStatusStatistics")
    public Result<?> equipmentStatusStatistics(@RequestParam(required = false, value = "productionId") String productionId) {
        List<EamEquipment> list = eamEquipmentService.queryByProductionId(productionId);
        //初始化返回
        Map<String, EquipmentMaintenanceStatistics> statisticsMap = new HashMap<>();
        statisticsMap.put(EquipmentMaintenanceStatus.NORMAL.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.NORMAL.name(), "正常"));
        statisticsMap.put(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), "点检"));
        statisticsMap.put(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), "保养"));
        statisticsMap.put(EquipmentRepairStatus.UNDER_REPAIR.name(), new EquipmentMaintenanceStatistics(EquipmentRepairStatus.UNDER_REPAIR.name(), "ç»´ä¿®"));
        for (EamEquipment entity : list) {
            if(EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getMaintenanceStatus()) && EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) {
                //正常状态
                statisticsMap.get(EquipmentMaintenanceStatus.NORMAL.name()).increase();
            }else if(!EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) {
                //维修状态
                statisticsMap.get(EquipmentRepairStatus.UNDER_REPAIR.name()).increase();
            } else if(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name().equals(entity.getMaintenanceStatus()) || EquipmentMaintenanceStatus.WAIT_CONFIRM.name().equals(entity.getMaintenanceStatus())) {
                //保养状态
                statisticsMap.get(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name()).increase();
            } else {
                statisticsMap.get(EquipmentMaintenanceStatus.UNDER_INSPECTION.name()).increase();
            }
        }
        List<EquipmentMaintenanceStatistics> resultList = new ArrayList<>(statisticsMap.values());
        return Result.ok(resultList);
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentMaintenanceStatistics.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package org.jeecg.modules.eam.vo;
import lombok.Data;
import java.io.Serializable;
/**
 * è®¾å¤‡ç»´ä¿çŠ¶æ€ç»Ÿè®¡
 */
@Data
public class EquipmentMaintenanceStatistics implements Serializable {
    /**
     * çŠ¶æ€
     */
    private String status;
    /**
     * æ•°é‡
     */
    private int totalNumber;
    /**
     * çŠ¶æ€è½¬è¯‘
     */
    private String statusText;
    public EquipmentMaintenanceStatistics() {}
    public EquipmentMaintenanceStatistics(String status, String statusText) {
        this.status = status;
        this.statusText = statusText;
    }
    public void increase() {
        totalNumber++;
    }
}