Lius
2024-10-31 7d8887e36acb71ee20bf2f55170571b3fa7621b7
update
已添加2个文件
已修改9个文件
305 ■■■■■ 文件已修改
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcComponentInfo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentXYZMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentXYZMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentXYZService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentXYZServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcSubLargeScreenController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentInfoDto.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentXYZDto.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcSubLargeScreenService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcSubLargeScreenServiceImpl.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcComponentInfo.java
@@ -1,8 +1,5 @@
package org.jeecg.modules.mdc.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentXYZMapper.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.mdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.mdc.entity.EquipmentXYZ;
/**
@@ -8,4 +9,6 @@
 * @create: 2023-04-07 14:41
 */
public interface EquipmentXYZMapper extends BaseMapper<EquipmentXYZ> {
    EquipmentXYZ findByEquipmentId(@Param("equipmentId") String equipmentId);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentXYZMapper.xml
@@ -2,4 +2,14 @@
<!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.EquipmentXYZMapper">
    <select id="findByEquipmentId" resultType="org.jeecg.modules.mdc.entity.EquipmentXYZ">
        SELECT TOP
            1 *
        FROM
            EquipmentXYZ
        WHERE
            EquipmentID = #{equipmentId}
        ORDER BY
            CollectTime DESC
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentXYZService.java
@@ -9,4 +9,6 @@
 */
public interface IEquipmentXYZService extends IService<EquipmentXYZ> {
    EquipmentXYZ getByEquipmentId(String equipmentId);
    EquipmentXYZ findByEquipmentId(String equipmentId);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentXYZServiceImpl.java
@@ -17,4 +17,9 @@
    public EquipmentXYZ getByEquipmentId(String equipmentId) {
        return this.getOne(new LambdaQueryWrapper<EquipmentXYZ>().eq(EquipmentXYZ::getEquipmentid, equipmentId));
    }
    @Override
    public EquipmentXYZ findByEquipmentId(String equipmentId) {
        return this.baseMapper.findByEquipmentId(equipmentId);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java
@@ -204,7 +204,7 @@
                        //获取设备运行数据
                        MdcEquipmentStatisticalShiftInfo mdcEquipmentStatisticalShiftInfo = mdcEquipmentStatisticalShiftInfoService.getOne(new LambdaQueryWrapper<MdcEquipmentStatisticalShiftInfo>()
                                .eq(MdcEquipmentStatisticalShiftInfo::getEquipmentId, equipment.getEquipmentid())
                                .eq(MdcEquipmentStatisticalShiftInfo::getTheDate, validDate)
                                .eq(MdcEquipmentStatisticalShiftInfo::getTheDate, validDate.replaceAll("-", ""))
                                .eq(MdcEquipmentStatisticalShiftInfo::getShiftSubId, id));
                        if (mdcEquipmentStatisticalShiftInfo == null) {
                            continue;
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcSubLargeScreenController.java
@@ -6,11 +6,13 @@
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.mdc.entity.EquipmentAlarm;
import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
import org.jeecg.modules.screen.dto.EquipmentInfoDto;
import org.jeecg.modules.screen.dto.MdcProductDayscheduleDto;
import org.jeecg.modules.screen.dto.ToolLifeDto;
import org.jeecg.modules.screen.service.MdcSubLargeScreenService;
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 javax.annotation.Resource;
@@ -57,5 +59,12 @@
        return Result.ok(result);
    }
    @ApiOperation(value = "分控看板-设备详细信息", notes = "分控看板-设备详细信息")
    @GetMapping("/equipmentInfo")
    public Result<?> equipmentInfo(@RequestParam(name = "equipmentId", required = true) String equipmentId) {
        EquipmentInfoDto result = mdcSubLargeScreenService.equipmentInfo(equipmentId);
        return Result.ok(result);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentInfoDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,126 @@
package org.jeecg.modules.screen.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
/**
 * @author Lius
 * @date 2024/10/31 10:20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "设备详细信息", description = "采集设备表")
public class EquipmentInfoDto {
    /**
     * è®¾å¤‡ç¼–码
     */
    @ApiModelProperty(value = "设备编码")
    private String equipmentId;
    /**
     * è®¾å¤‡åç§°
     */
    @ApiModelProperty(value = "设备名称")
    private String equipmentName;
    /**
     * è®¾å¤‡åž‹å·
     */
    @ApiModelProperty(value = "设备型号")
    private String equipmentModel;
    /**
     * æœ€å¤§è½´æ•°
     */
    @ApiModelProperty(value = "最大轴数")
    private String maxAxis;
    /**
     * æœ‰æ•ˆè½´æ•°
     */
    @ApiModelProperty(value = "有效轴数")
    private String validAxis;
    /**
     * è®¾å¤‡IP
     */
    @ApiModelProperty(value = "设备IP")
    private String equipmentIp;
    /**
     * è¿›ç»™å€çއ
     */
    @ApiModelProperty(value = "进给倍率")
    private String feedbeilv;
    /**
     * ä¸»è½´å€çއ
     */
    @ApiModelProperty(value = "主轴倍率")
    private String spindlebeilv;
    /**
     * ä¸»è½´è´Ÿè½½
     */
    @ApiModelProperty(value = "主轴负载")
    private String spindleload;
    /**
     * ä¸»è½´è½¬é€Ÿ
     */
    @ApiModelProperty(value = "主轴转速")
    private String spindlespeed;
    /**
     * è¿›ç»™é€Ÿåº¦
     */
    @ApiModelProperty(value = "进给速度")
    private String feedrate;
    /**
     * è¿è¡Œæ¨¡å¼
     */
    @ApiModelProperty(value = "运行模式")
    private String runModble;
    /**
     * å·¥ä½œçŠ¶æ€
     */
    @ApiModelProperty(value = "工作状态")
    private String workstate;
    /**
     * æ€¥åœçŠ¶æ€
     */
    @ApiModelProperty(value = "急停状态")
    private String emergency;
    /**
     * æ•°æŽ§ç³»ç»Ÿåž‹å·
     */
    @ApiModelProperty(value = "数控系统型号")
    private String controlsystem;
    /**
     * åˆ€å…·å·
     */
    @ApiModelProperty(value = "刀具号")
    private String ToolNum;
    /**
     * æ‰§è¡Œä»£ç 
     */
    @ApiModelProperty(value = "执行代码")
    private String executingcode;
    /**
     * ç¨‹åºå·
     */
    @ApiModelProperty(value = "程序号")
    private String Sequencenumber;
    /**
     * å­ç¨‹åºå·
     */
    @ApiModelProperty(value = "子程序号")
    private String ProductName;
    /**
     * è½´ä¿¡æ¯
     */
    @ApiModelProperty(value = "轴信息")
    private List<EquipmentXYZDto> xyzDtoList;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentXYZDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package org.jeecg.modules.screen.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @author Lius
 * @date 2024/10/31 10:51
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "设备轴信息", description = "采集设备表")
public class EquipmentXYZDto {
    @ApiModelProperty(value = "轴类型")
    private String axisType;
    @ApiModelProperty(value = "绝对坐标")
    private String absolute;
    @ApiModelProperty(value = "机床坐标")
    private String machine;
    @ApiModelProperty(value = "相对坐标")
    private String relative;
    @ApiModelProperty(value = "轴温度")
    private String temperature = "0";
    @ApiModelProperty(value = "伺服跟随误差")
    private String lag = "0.000";
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcSubLargeScreenService.java
@@ -2,6 +2,7 @@
import org.jeecg.modules.mdc.entity.EquipmentAlarm;
import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
import org.jeecg.modules.screen.dto.EquipmentInfoDto;
import org.jeecg.modules.screen.dto.MdcProductDayscheduleDto;
import org.jeecg.modules.screen.dto.ToolLifeDto;
@@ -43,4 +44,12 @@
     * @return
     */
    List<ToolLifeDto> toolLifeList(String productionId);
    /**
     * åˆ†æŽ§çœ‹æ¿è®¾å¤‡è¯¦ç»†ä¿¡æ¯
     *
     * @param equipmentId
     * @return
     */
    EquipmentInfoDto equipmentInfo(String equipmentId);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcSubLargeScreenServiceImpl.java
@@ -1,12 +1,25 @@
package org.jeecg.modules.screen.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.vo.DictModel;
import org.jeecg.modules.mdc.entity.Equipment;
import org.jeecg.modules.mdc.entity.EquipmentAlarm;
import org.jeecg.modules.mdc.entity.EquipmentXYZ;
import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
import org.jeecg.modules.mdc.mapper.EquipmentAlarmMapper;
import org.jeecg.modules.mdc.mapper.EquipmentMapper;
import org.jeecg.modules.mdc.service.IEquipmentService;
import org.jeecg.modules.mdc.service.IEquipmentWorkLineService;
import org.jeecg.modules.mdc.service.IEquipmentXYZService;
import org.jeecg.modules.screen.dto.EquipmentInfoDto;
import org.jeecg.modules.screen.dto.EquipmentXYZDto;
import org.jeecg.modules.screen.dto.MdcProductDayscheduleDto;
import org.jeecg.modules.screen.dto.ToolLifeDto;
import org.jeecg.modules.screen.mapper.MdcSubLargeScreenMapper;
import org.jeecg.modules.screen.service.MdcSubLargeScreenService;
import org.jeecg.modules.system.service.ISysDictService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -18,6 +31,7 @@
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * @author Lius
@@ -31,6 +45,18 @@
    @Resource
    private EquipmentAlarmMapper equipmentAlarmMapper;
    @Resource
    private IEquipmentService equipmentService;
    @Resource
    private IEquipmentWorkLineService equipmentWorkLineService;
    @Resource
    private IEquipmentXYZService equipmentXYZService;
    @Resource
    private ISysDictService sysDictService;
    private final String today = LocalDate.now().toString();
@@ -111,12 +137,79 @@
     */
    @Override
    public List<ToolLifeDto> toolLifeList(String productionId) {
//        List<ToolLifeDto> toolLifeList = mdcSubLargeScreenMapper.toolLifeList(productionId);
//        if (toolLifeList != null && !toolLifeList.isEmpty()) {
//            for (ToolLifeDto toolLifeDto : toolLifeList) {
//                toolLifeDto.setTId("T" + toolLifeDto.getTId());
//            }
//        }
        return mdcSubLargeScreenMapper.toolLifeList(productionId);
    }
    /**
     * è®¾å¤‡è¯¦ç»†ä¿¡æ¯
     *
     * @param equipmentId
     * @return
     */
    @Override
    public EquipmentInfoDto equipmentInfo(String equipmentId) {
        EquipmentInfoDto equipmentInfoDto = new EquipmentInfoDto();
        Equipment equipment = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getEquipmentid, equipmentId));
        if (equipment == null) {
            return null;
        }
        equipmentInfoDto.setEquipmentId(equipment.getEquipmentid());
        equipmentInfoDto.setEquipmentName(equipment.getEquipmentname());
        equipmentInfoDto.setEquipmentModel(equipment.getEquipmentmodel());
        equipmentInfoDto.setEquipmentIp(equipment.getEquipmentip());
        equipmentInfoDto.setControlsystem(equipment.getControlsystem());
        switch (equipment.getOporation()) {
            case 1:
            case 2:
                equipmentInfoDto.setWorkstate("待机");
                break;
            case 3:
                equipmentInfoDto.setWorkstate("运行");
                break;
            case 22:
                equipmentInfoDto.setWorkstate("报警");
                break;
            default:
                equipmentInfoDto.setWorkstate("关机");
                break;
        }
        String saveTableName = equipment.getSavetablename();
        Map<String, Object> mapData = equipmentWorkLineService.getDataList(saveTableName);
        if (mapData != null) {
            equipmentInfoDto.setRunModble(mapData.get("runModble") == null ? "0" : mapData.get("runModble").toString());
            equipmentInfoDto.setEmergency(mapData.get("emergency") == null ? "0" : mapData.get("emergency").toString());
            equipmentInfoDto.setToolNum(mapData.get("Toolnum") == null ? "0" : mapData.get("Toolnum").toString());
            equipmentInfoDto.setMaxAxis(mapData.get("maxaxisNUM") == null ? "0" : mapData.get("maxaxisNUM").toString());
            equipmentInfoDto.setValidAxis(mapData.get("validaxisNUM") == null ? "0": mapData.get("validaxisNUM").toString());
            equipmentInfoDto.setFeedbeilv(mapData.get("feedbeilv") == null ? "0" : mapData.get("feedbeilv").toString());
            equipmentInfoDto.setSpindlebeilv(mapData.get("spindlebeilv") == null ? "0" : mapData.get("spindlebeilv").toString());
            equipmentInfoDto.setSpindleload(mapData.get("spindleload") == null ? "0" : mapData.get("spindleload").toString());
            equipmentInfoDto.setSpindlespeed(mapData.get("spindlespeed") == null ? "0" : mapData.get("spindlespeed").toString());
            equipmentInfoDto.setFeedrate(mapData.get("feedrate") == null ? "0" : mapData.get("feedrate").toString());
            equipmentInfoDto.setExecutingcode(mapData.get("executingcode") == null ? "0" : mapData.get("executingcode").toString());
            equipmentInfoDto.setSequencenumber(mapData.get("Sequencenumber") == null ? "0" : mapData.get("Sequencenumber").toString());
            equipmentInfoDto.setProductName(mapData.get("ProductName") == null ? "0" : mapData.get("ProductName").toString());
        }
        //轴信息
        List<DictModel> dictList = sysDictService.queryEnableDictItemsByCode(CommonConstant.AXIS_TYPE);
        List<EquipmentXYZDto> equipmentXYZDtoList = new ArrayList<>();
        if (dictList != null && !dictList.isEmpty()) {
            EquipmentXYZ equipmentXYZ = equipmentXYZService.findByEquipmentId(equipmentId);
            JSONObject jsonEquipmentXYZ = (JSONObject) JSONObject.toJSON(equipmentXYZ);
            for (DictModel dictModel : dictList) {
                EquipmentXYZDto equipmentXYZDto = new EquipmentXYZDto();
                equipmentXYZDto.setAxisType(dictModel.getText());
                equipmentXYZDto.setAbsolute(jsonEquipmentXYZ.get(dictModel.getText().toLowerCase() + "Machine") == null ? null : jsonEquipmentXYZ.get(dictModel.getText().toLowerCase() + "Machine").toString());
                equipmentXYZDto.setMachine(jsonEquipmentXYZ.get(dictModel.getText().toLowerCase() + "Machine") == null ? null : jsonEquipmentXYZ.get(dictModel.getText().toLowerCase() + "Machine").toString());
                equipmentXYZDto.setRelative(jsonEquipmentXYZ.get(dictModel.getText().toLowerCase() + "Absolute") == null ? null : jsonEquipmentXYZ.get(dictModel.getText().toLowerCase() + "Absolute").toString());
                if (mapData != null) {
                    equipmentXYZDto.setTemperature(mapData.get("motorTemperature" + dictModel.getText()) == null ? "0" : mapData.get("motorTemperature" + dictModel.getText()).toString());
                    equipmentXYZDto.setLag(mapData.get("lag" + dictModel.getValue()) == null ? "0.000" : mapData.get("lag" + dictModel.getValue()).toString());
                }
                equipmentXYZDtoList.add(equipmentXYZDto);
            }
            equipmentInfoDto.setXyzDtoList(equipmentXYZDtoList);
        }
        return equipmentInfoDto;
    }
}