Lius
2024-10-31 e17986e0800584f650b42c6fb632d0244d695a35
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,81 @@
     */
    @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());
                if (jsonEquipmentXYZ != null) {
                    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;
    }
}