Lius
2025-05-12 0323a1a06830774bb9e77caa33371527370814ca
分级看板接口
已添加4个文件
已修改11个文件
362 ■■■■■ 文件已修改
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/IEquipmentLogService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/vo/MdcBoardEquRealTImeVo.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcBoardController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/EamEquipmentExtendDto.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentLogMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcBoardMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentLogMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcBoardMapper.xml 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcBoardService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentLogServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcBoardServiceImpl.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java
@@ -12,10 +12,7 @@
import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
import org.jeecg.modules.mdc.vo.MdcEquipmentDepVo;
import org.jeecg.modules.mdc.vo.MdcEquipmentProVo;
import org.jeecg.modules.mdc.vo.MdcEquipmentVo;
import org.jeecg.modules.mdc.vo.WorkshopEquipmentVo;
import org.jeecg.modules.mdc.vo.*;
import java.util.List;
import java.util.Map;
@@ -139,4 +136,6 @@
    List<String> getEquIdsByProIds(@Param("proIds") List<String> proIds);
    List<MdcEquipment> findByProIds(@Param("proIds") List<String> proIds);
    MdcBoardEquRealTImeVo getByEquipmentId(@Param("equipmentId") String equipmentId);
}
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
@@ -368,4 +368,17 @@
        </where>
    </select>
    <select id="getByEquipmentId" resultType="org.jeecg.modules.mdc.vo.MdcBoardEquRealTImeVo">
        SELECT
            t1.*,
            t2.equipment_manager equipmentManager,
            t2.installation_position installationPosition,
            t3.oporation operation
        FROM
            mdc_equipment t1
                LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.equipment_code
                LEFT JOIN Equipment t3 ON t1.equipment_id = t3.EquipmentID
        WHERE t1.equipment_id = #{equipmentId}
    </select>
</mapper>
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/IEquipmentLogService.java
@@ -30,4 +30,6 @@
    EquipmentLog selectEquipmentOporation(String equipmentId);
    List<EquipmentLog> getEquipmentStatusList(List<String> equipmentIdList);
    EquipmentLog findAlarmByEquId(String equipmentId);
}
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java
@@ -9,10 +9,7 @@
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
import org.jeecg.modules.mdc.model.MdcEquipmentTree;
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo;
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo;
import org.jeecg.modules.mdc.vo.MdcEquipmentVo;
import org.jeecg.modules.mdc.vo.WorkshopEquipmentVo;
import org.jeecg.modules.mdc.vo.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -243,4 +240,6 @@
    List<String> getEquIdsByProIds(List<String> proIds);
    List<MdcEquipment> findByProIds(List<String> proIds);
    MdcBoardEquRealTImeVo getByEquipmentId(String equipmentId);
}
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -1052,4 +1052,9 @@
        return this.baseMapper.findByProIds(proIds);
    }
    @Override
    public MdcBoardEquRealTImeVo getByEquipmentId(String equipmentId) {
        return this.baseMapper.getByEquipmentId(equipmentId);
    }
}
lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/vo/MdcBoardEquRealTImeVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,89 @@
package org.jeecg.modules.mdc.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import java.util.Date;
/**
 * @Author: Lius
 * @CreateTime: 2025-05-08
 * @Description: è®¾å¤‡å®žæ—¶ä¿¡æ¯
 */
@Data
@ApiModel(value = "看板设备实时信息返回对象", description = "看板设备实时信息")
public class MdcBoardEquRealTImeVo extends MdcEquipment {
    /**
     * è®¾å¤‡ç®¡ç†å‘˜
     */
    @ApiModelProperty(value = "设备管理员")
    private String equipmentManager;
    /**
     * å®‰è£…位置
     */
    @ApiModelProperty(value = "安装位置")
    private String installationPosition;
    /**
     * åŠ å·¥ç¨‹åº
     */
    @ApiModelProperty(value = "加工程序")
    private String sequenceNumber;
    /**
     * ä¸»è½´è½¬é€Ÿ
     */
    @ApiModelProperty(value = "主轴转速")
    private String spindleSpeed;
    /**
     * ä¸»è½´è´Ÿè½½
     */
    @ApiModelProperty(value = "主轴负载")
    private String spindleLoad;
    /**
     * ä¸»è½´å€çއ
     */
    @ApiModelProperty(value = "主轴倍率")
    private String spindlebeilv;
    /**
     * è¿›ç»™å€çއ
     */
    @ApiModelProperty(value = "进给倍率")
    private String feedbeilv;
    /**
     * ç­æ¬¡
     */
    @ApiModelProperty(value = "班次")
    private String shift;
    /**
     * æŠ¥ä¿®æƒ…况
     */
    @ApiModelProperty(value = "报修情况")
    private String reportRepairStatus;
    /**
     * ä¸‹æ¬¡ç‚¹æ£€
     */
    @ApiModelProperty(value = "下次点检")
    private Date nextInspection;
    /**
     * ä¸‹æ¬¡ä¿å…»
     */
    @ApiModelProperty(value = "下次保养")
    private Date nextMaintenance;
    /**
     * è®¾å¤‡çŠ¶æ€
     */
    @ApiModelProperty(value = "设备状态")
    private Integer operation;
    /**
     * è®¾å¤‡å®žæ—¶çŠ¶æ€å­—å…¸
     */
    @ApiModelProperty(value = "设备实时状态字典")
    private String oporationDict;
    /**
     * ç»´ä¿çŠ¶æ€
     */
    @ApiModelProperty(value = "维保状态")
    private String maintenanceStatus;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcBoardController.java
@@ -6,6 +6,7 @@
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.service.IMdcBoardService;
import org.jeecg.modules.mdc.vo.MdcBoardEquRealTImeVo;
import org.jeecg.modules.system.entity.MdcProduction;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -75,19 +76,9 @@
    @ApiOperation(value = "MDC看板接口-设备运行状态及运行参数信息", notes = "MDC看板接口-设备运行状态及运行参数信息")
    @GetMapping("/equipmentRealTimeDetail")
    public Result<?> equipmentRealTimeDetail(@RequestParam(name = "equipmentId", required = true) String equipmentId) {
        Map<String, Object> result = mdcBoardService.rateAnalysisTrendMonth(equipmentId);
        MdcBoardEquRealTImeVo result = mdcBoardService.equipmentRealTimeDetail(equipmentId);
        return Result.OK(result);
    }
//    @ApiOperation(value = "MDC首页接口-设备产品合格率", notes = "MDC首页接口-设备产品合格率")
//    @GetMapping("/passRate")
//    public Result<?> passRate(@RequestParam(name = "equipmentId", required = true) String equipmentId) {
//        Map<String, Object> result = mdcBoardService.passRate(equipmentId);
//        return Result.OK(result);
//    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/EamEquipmentExtendDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package org.jeecg.modules.mdc.dto;
import lombok.Data;
/**
 * @Author: Lius
 * @CreateTime: 2025-05-09
 * @Description: ç»´ä¿çŠ¶æ€
 */
@Data
public class EamEquipmentExtendDto {
    /**
     * ä¿å…»çŠ¶æ€
     */
    private String maintenanceStatus;
    /**
     * ç»´ä¿®çŠ¶æ€
     */
    private String repairStatus;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentLogMapper.java
@@ -19,4 +19,6 @@
    EquipmentLog selectEquipmentOporation(@Param("equipmentId") String equipmentId);
    List<EquipmentLog> getEquipmentStatusList(@Param("equipmentIdList") List<String> equipmentIdList);
    EquipmentLog findAlarmByEquId(@Param("equipmentId") String equipmentId);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcBoardMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package org.jeecg.modules.mdc.mapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.mdc.dto.EamEquipmentExtendDto;
import java.util.Date;
/**
 * @Author: Lius
 * @CreateTime: 2025-05-09
 * @Description:
 */
public interface MdcBoardMapper {
    EamEquipmentExtendDto findEquExtend(@Param("equipmentId") String equipmentId);
    String findReportRepairStatus(@Param("equipmentId") String equipmentId);
    Date findInsOrMain(@Param("equipmentId") String equipmentId, @Param("category") String category);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentLogMapper.xml
@@ -25,4 +25,8 @@
            </foreach>
        </if>
    </select>
    <select id="findAlarmByEquId" resultType="org.jeecg.modules.mdc.entity.EquipmentLog">
        SELECT TOP 1 * FROM EquipmentLog WHERE EquipmentID = #{ equipmentId } AND Oporation = '22' AND Alarm != '' ORDER BY CollectTime DESC
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcBoardMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.mdc.mapper.MdcBoardMapper">
    <select id="findEquExtend" resultType="org.jeecg.modules.mdc.dto.EamEquipmentExtendDto">
        SELECT
            t2.maintenance_status maintenanceStatus,
            t2.repair_status repairStatus
        FROM
            eam_equipment t1
                LEFT JOIN eam_equipment_extend t2 ON t1.id = t2.id
        WHERE
            t1.equipment_code = #{equipmentId}
    </select>
    <select id="findReportRepairStatus" resultType="java.lang.String">
        SELECT TOP
            1 report_status
        FROM
            eam_report_repair t1
                LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.id
        WHERE
            t2.equipment_code = #{equipmentId}
          AND t1.report_status != 'COMPLETE'
          AND t1.report_status != 'ABOLISH'
        ORDER BY
            t1.create_time
    </select>
    <select id="findInsOrMain" resultType="java.util.Date">
        SELECT TOP
            1 t2.last_generate_time
        FROM
            eam_equipment t1
                LEFT JOIN eam_maintenance_standard t2 ON t1.id = t2.equipment_id
        WHERE
            t1.equipment_code = #{equipmentId}
          AND t2.standard_status = 'NORMAL'
          AND t2.maintenance_category = #{category}
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcBoardService.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.mdc.service;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.vo.MdcBoardEquRealTImeVo;
import org.jeecg.modules.system.entity.MdcProduction;
import java.util.List;
@@ -42,8 +43,9 @@
     */
    Map<String, Object> rateAnalysisTrendMonth(String equipmentId);
//    /**
//     * è®¾å¤‡äº§å“åˆæ ¼çއ
//     */
//    Map<String, Object> passRate(String equipmentId);
    /**
     * è®¾å¤‡å®žæ—¶ä¿¡æ¯
     */
    MdcBoardEquRealTImeVo equipmentRealTimeDetail(String equipmentId);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentLogServiceImpl.java
@@ -58,4 +58,9 @@
    public List<EquipmentLog> getEquipmentStatusList(List<String> equipmentIdList) {
        return this.baseMapper.getEquipmentStatusList(equipmentIdList);
    }
    @Override
    public EquipmentLog findAlarmByEquId(String equipmentId) {
        return this.baseMapper.findAlarmByEquId(equipmentId);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcBoardServiceImpl.java
@@ -3,14 +3,20 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.sun.org.apache.bcel.internal.generic.NEW;
import org.jeecg.common.api.CommonAPI;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.util.TranslateDictTextUtils;
import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus;
import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
import org.jeecg.modules.eam.constant.EquipmentRepairStatus;
import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum;
import org.jeecg.modules.mdc.constant.MdcConstant;
import org.jeecg.modules.mdc.entity.Equipment;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo;
import org.jeecg.modules.mdc.entity.MdcOeeInfo;
import org.jeecg.modules.mdc.dto.EamEquipmentExtendDto;
import org.jeecg.modules.mdc.entity.*;
import org.jeecg.modules.mdc.mapper.MdcBoardMapper;
import org.jeecg.modules.mdc.service.*;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.vo.MdcBoardEquRealTImeVo;
import org.jeecg.modules.mdc.vo.MdcBoardRateVo;
import org.jeecg.modules.mdc.vo.MdcEquipmentStatusVo;
import org.jeecg.modules.mdcJc.service.IMdcJcRcJobreportService;
@@ -50,6 +56,18 @@
    @Resource
    private IMdcJcRcJobreportService mdcJcRcJobreportService;
    @Resource
    private CommonAPI commonAPI;
    @Resource
    private IEquipmentLogService equipmentLogService;
    @Resource
    private IEquipmentWorkLineService equipmentWorkLineService;
    @Resource
    private MdcBoardMapper mdcBoardMapper;
    /**
     * è®¾å¤‡çŠ¶æ€
@@ -280,4 +298,101 @@
        return result;
    }
    /**
     * è®¾å¤‡å®žæ—¶ä¿¡æ¯
     */
    @Override
    public MdcBoardEquRealTImeVo equipmentRealTimeDetail(String equipmentId) {
        MdcBoardEquRealTImeVo mdcBoardEquRealTImeVo = mdcEquipmentService.getByEquipmentId(equipmentId);
        if (mdcBoardEquRealTImeVo == null) {
            return new MdcBoardEquRealTImeVo();
        }
        //设备管理员翻译
        String realName = commonAPI.translateDictFromTable("sys_user", "realname", "username", mdcBoardEquRealTImeVo.getEquipmentManager());
        mdcBoardEquRealTImeVo.setEquipmentManager(realName);
        mdcBoardEquRealTImeVo.setAlarm("无");
        if (mdcBoardEquRealTImeVo.getOporation() != null) {
            switch (mdcBoardEquRealTImeVo.getOporation()) {
                case 1:
                case 2:
                    mdcBoardEquRealTImeVo.setOporationDict("待机");
                    break;
                case 3:
                    mdcBoardEquRealTImeVo.setOporationDict("运行");
                    break;
                case 22:
                    mdcBoardEquRealTImeVo.setOporationDict("报警");
                    // æŸ¥è¯¢æŠ¥è­¦å·
                    EquipmentLog equipmentLog = equipmentLogService.findAlarmByEquId(equipmentId);
                    if (equipmentLog != null && StringUtils.isNotBlank(equipmentLog.getAlarm())) {
                        mdcBoardEquRealTImeVo.setAlarm(equipmentLog.getAlarm());
                    }
                    break;
                default:
                    mdcBoardEquRealTImeVo.setOporationDict("关机");
                    break;
            }
        } else {
            mdcBoardEquRealTImeVo.setOporationDict("关机");
            mdcBoardEquRealTImeVo.setOporation(0);
        }
        //设备运行数据
        Map<String, Object> mapData = equipmentWorkLineService.getDataList(mdcBoardEquRealTImeVo.getSaveTableName());
        if (mapData != null) {
            if (mapData.containsKey("Sequencenumber")) {
                Object object = mapData.get("Sequencenumber");
                mdcBoardEquRealTImeVo.setSequenceNumber(object == null ? "" : object.toString());
            }
            if (mapData.containsKey("spindlespeed")) {
                Object object = mapData.get("spindlespeed");
                mdcBoardEquRealTImeVo.setSpindleSpeed(object == null ? "" : object.toString());
            }
            if (mapData.containsKey("spindleload")) {
                Object object = mapData.get("spindleload");
                mdcBoardEquRealTImeVo.setSpindleLoad(object == null ? "" : object.toString());
            }
            if (mapData.containsKey("spindlebeilv")) {
                Object object = mapData.get("spindlebeilv");
                mdcBoardEquRealTImeVo.setSpindlebeilv(object == null ? "" : object.toString());
            }
            if (mapData.containsKey("feedbeilv")) {
                Object object = mapData.get("feedbeilv");
                mdcBoardEquRealTImeVo.setFeedbeilv(object == null ? "" : object.toString());
            }
        }
        // ç»´ä¿çŠ¶æ€
        EamEquipmentExtendDto eamEquipmentExtendDto = mdcBoardMapper.findEquExtend(equipmentId);
        mdcBoardEquRealTImeVo.setMaintenanceStatus("正常");
        mdcBoardEquRealTImeVo.setReportRepairStatus("无");
        if (eamEquipmentExtendDto != null) {
            if (!EquipmentRepairStatus.NORMAL.name().equals(eamEquipmentExtendDto.getRepairStatus())) {
                mdcBoardEquRealTImeVo.setMaintenanceStatus("ç»´ä¿®");
            } else {
                if (EquipmentMaintenanceStatus.UNDER_INSPECTION.name().equals(eamEquipmentExtendDto.getMaintenanceStatus()) || EquipmentMaintenanceStatus.INSPECTION_CONFIRM.name().equals(eamEquipmentExtendDto.getMaintenanceStatus())) {
                    mdcBoardEquRealTImeVo.setMaintenanceStatus("点检");
                } else if (EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name().equals(eamEquipmentExtendDto.getMaintenanceStatus()) || EquipmentMaintenanceStatus.WAIT_CONFIRM.name().equals(eamEquipmentExtendDto.getMaintenanceStatus())) {
                    mdcBoardEquRealTImeVo.setMaintenanceStatus("周报");
                }
            }
        }
        // æŠ¥ä¿®æƒ…况
        String repairStatus =  mdcBoardMapper.findReportRepairStatus(equipmentId);
        if (repairStatus != null) {
            String reportRepair = commonAPI.translateDict("report_repair_status", repairStatus);
            mdcBoardEquRealTImeVo.setReportRepairStatus(reportRepair);
        } else {
            mdcBoardEquRealTImeVo.setReportRepairStatus("无");
        }
        // ä¸‹æ¬¡ç‚¹æ£€ä¸‹æ¬¡ä¿å…»
        Date nextInspection = mdcBoardMapper.findInsOrMain(equipmentId, MaintenanceCategoryEnum.POINT_INSPECTION.name());
        if (nextInspection != null) {
            mdcBoardEquRealTImeVo.setNextInspection(nextInspection);
        }
        Date nextMaintenance = mdcBoardMapper.findInsOrMain(equipmentId, MaintenanceCategoryEnum.WEEK_MAINTENANCE.name());
        if (nextMaintenance != null) {
            mdcBoardEquRealTImeVo.setNextMaintenance(nextMaintenance);
        }
        return mdcBoardEquRealTImeVo;
    }
}