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; } }