zenglf
2023-10-24 4f52dfe47a6e5f825f98e537b5cd90b006bde4bb
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -5,24 +5,29 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.base.CaseFormat;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.mdc.dto.EquipmentTemperatureDto;
import org.jeecg.modules.mdc.dto.MdcEquDepDto;
import org.jeecg.modules.mdc.dto.MdcEquProDto;
import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
import org.jeecg.modules.mdc.entity.*;
import org.jeecg.modules.mdc.entity.ControlSystem;
import org.jeecg.modules.mdc.entity.MdcDriveTypeParamConfig;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
import org.jeecg.modules.mdc.mapper.MdcEquipmentMapper;
import org.jeecg.modules.mdc.mapper.XYZAliasesMapper;
import org.jeecg.modules.mdc.model.MdcEquipmentTree;
import org.jeecg.modules.mdc.service.*;
import org.jeecg.modules.mdc.service.IControlSystemService;
import org.jeecg.modules.mdc.service.IEquipmentWorkLineService;
import org.jeecg.modules.mdc.service.IMdcDriveTypeParamConfigService;
import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.util.FindsEquipmentDepartUtil;
import org.jeecg.modules.mdc.util.FindsEquipmentProductionUtil;
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.system.entity.MdcEquipmentDepart;
import org.jeecg.modules.system.entity.MdcProduction;
import org.jeecg.modules.system.entity.MdcProductionEquipment;
@@ -69,14 +74,14 @@
    private IEquipmentWorkLineService equipmentWorkLineService;
    @Resource
    private IMdcDriveTypeParamConfigService mdcDriveTypeParamConfigService;
    @Resource
    private XYZAliasesMapper xyzAliasesMapper;
    @Resource
    private IEquipmentXYZService equipmentXYZService;
    @Resource
    private IEquipmentBaseInfoService equipmentBaseInfoService;
    @Resource
    private IEquipmentTemperatureService equipmentTemperatureService;
//    @Resource
//    private XYZAliasesMapper xyzAliasesMapper;
//    @Resource
//    private IEquipmentXYZService equipmentXYZService;
//    @Resource
//    private IEquipmentBaseInfoService equipmentBaseInfoService;
//    @Resource
//    private IEquipmentTemperatureService equipmentTemperatureService;
    @Override
    public Map<String, String> getDepNamesByEquipmentIds(List<String> equipmentIds) {
@@ -348,10 +353,12 @@
        mdcEquipmentDto.setDevicePower(mdcEquipment.getDevicePower());
        mdcEquipmentDto.setDeviceType(mdcEquipment.getDriveType());
        mdcEquipmentDto.setRemark(mdcEquipment.getRemark());
        mdcEquipmentDto.setEquipmentID(mdcEquipment.getEquipmentId());//设备编号
        //设备编号
        mdcEquipmentDto.setEquipmentID(mdcEquipment.getEquipmentId());
        mdcEquipmentDto.setEquipmentName(mdcEquipment.getEquipmentName());
        mdcEquipmentDto.setEquipmentIP(mdcEquipment.getEquipmentIp());
        mdcEquipmentDto.setEquipmentModel(mdcEquipment.getEquipmentModel());//设备型号
        //设备型号
        mdcEquipmentDto.setEquipmentModel(mdcEquipment.getEquipmentModel());
        mdcEquipmentDto.setDriveType(mdcEquipment.getDriveType());
        mdcEquipmentDto.setDataPort(mdcEquipment.getDataPort());
        mdcEquipmentDto.setDataFlag(Integer.parseInt(CommonConstant.STATUS_1));
@@ -379,76 +386,82 @@
                        String englishName = mdcDriveTypeParamConfig.getEnglishName();
                        JSONObject jsonObject = (JSONObject) JSONObject.toJSON(dto);
                        Object result = jsonObject.get(englishName);
                        String value = result == null ? null : result.toString();
                        String value = "";
                        if ("CollectTime".equals(englishName)) {
                            Date date = result == null ? null : (Date) result;
                            value = DateUtils.format(date, DateUtils.STR_DATE_TIME_SMALL);
                        } else {
                            value = result == null ? null : result.toString();
                        }
                        mdcDriveTypeParamConfig.setValue(value);
                    }
                    mdcEquipmentDto.setMdcDriveTypeParamConfigList(mdcDriveTypeParamList);
                }
            }
            // 设备坐标数 获取设备需要采集的坐标信息
            List<XYZAliases> equipmentCoordinateList = xyzAliasesMapper.getCoordinateByEquipmentId(mdcEquipment.getEquipmentId());
            // 设备采集的坐标信息
            EquipmentXYZ equipmentXYZ = equipmentXYZService.getByEquipmentId(mdcEquipment.getEquipmentId());
            JSONObject jsonEquipmentXYZ = (JSONObject) JSONObject.toJSON(equipmentXYZ);
            if (equipmentCoordinateList != null && !equipmentCoordinateList.isEmpty()) {
                for (XYZAliases xyzAliases : equipmentCoordinateList) {
                    String englishName = xyzAliases.getXYZFieldName().toLowerCase();
                    englishName = englishName.substring(0, 1) + "_" + englishName.substring(1, englishName.length());
                    englishName = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, englishName);
                    Object orgValue = jsonEquipmentXYZ.get(englishName);
                    String value = orgValue != null ? orgValue.toString() : null;
                    //  坐标数据的title 来自 xyzAliases 表, 根据 是否包含 absolute 和  machine  判断是绝对坐标还是机床坐标
                    String title = englishName.substring(0, 1).toUpperCase();
                    title = englishName.contains("absolute") ? "绝对坐标" + title : "机床坐标" + title;
                    xyzAliases.setTitle(title);
                    xyzAliases.setValue(value);
                }
                mdcEquipmentDto.setXyzAliasesList(equipmentCoordinateList);
            }
//            // 设备坐标数 获取设备需要采集的坐标信息
//            List<XYZAliases> equipmentCoordinateList = xyzAliasesMapper.getCoordinateByEquipmentId(mdcEquipment.getEquipmentId());
//            // 设备采集的坐标信息
//            EquipmentXYZ equipmentXYZ = equipmentXYZService.getByEquipmentId(mdcEquipment.getEquipmentId());
//            JSONObject jsonEquipmentXYZ = (JSONObject) JSONObject.toJSON(equipmentXYZ);
//            if (equipmentCoordinateList != null && !equipmentCoordinateList.isEmpty()) {
//                for (XYZAliases xyzAliases : equipmentCoordinateList) {
//                    String englishName = xyzAliases.getXYZFieldName().toLowerCase();
//                    englishName = englishName.substring(0, 1) + "_" + englishName.substring(1, englishName.length());
//                    englishName = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, englishName);
//                    Object orgValue = jsonEquipmentXYZ.get(englishName);
//                    String value = orgValue != null ? orgValue.toString() : null;
//                    //  坐标数据的title 来自 xyzAliases 表, 根据 是否包含 absolute 和  machine  判断是绝对坐标还是机床坐标
//                    String title = englishName.substring(0, 1).toUpperCase();
//                    title = englishName.contains("absolute") ? "绝对坐标" + title : "机床坐标" + title;
//                    xyzAliases.setTitle(title);
//                    xyzAliases.setValue(value);
//                }
//                mdcEquipmentDto.setXyzAliasesList(equipmentCoordinateList);
//            }
            if (equipmentXYZ != null) {
                mdcEquipmentDto.setXmachine(equipmentXYZ.getXMachine());
                mdcEquipmentDto.setYmachine(equipmentXYZ.getYMachine());
                mdcEquipmentDto.setZmachine(equipmentXYZ.getZMachine());
                mdcEquipmentDto.setAmachine(equipmentXYZ.getAMachine());
                mdcEquipmentDto.setBmachine(equipmentXYZ.getBMachine());
                mdcEquipmentDto.setXabsolute(equipmentXYZ.getXAbsolute());
                mdcEquipmentDto.setYabsolute(equipmentXYZ.getYAbsolute());
                mdcEquipmentDto.setZabsolute(equipmentXYZ.getZAbsolute());
                mdcEquipmentDto.setAabsolute(equipmentXYZ.getAAbsolute());
                mdcEquipmentDto.setBabsolute(equipmentXYZ.getBAbsolute());
            }
            EquipmentBaseInfo equipmentBaseInfo = equipmentBaseInfoService.getByEquipmentId(mdcEquipment.getEquipmentId());
            if (equipmentBaseInfo != null) {
                mdcEquipmentDto.setMaxAxis(equipmentBaseInfo.getMaxAxis());
                mdcEquipmentDto.setValidAxis(equipmentBaseInfo.getValidAxis());
            }
            if (controlSystem.getDriveType().equals("SIEMENS840DSL")) {
                EquipmentTemperatureDto equipmentTemperature = equipmentTemperatureService.getEquipmentTemperature(mdcEquipment.getEquipmentId());
                if (equipmentTemperature != null) {
                    mdcEquipmentDto.setTemperatureX(equipmentTemperature.getX());
                    mdcEquipmentDto.setTemperatureY(equipmentTemperature.getY());
                    mdcEquipmentDto.setTemperatureZ(equipmentTemperature.getZ());
                    mdcEquipmentDto.setTemperatureA(equipmentTemperature.getA());
                    mdcEquipmentDto.setTemperatureB(equipmentTemperature.getB());
                }
                EquipmentTemperatureDto equipmentLagError = equipmentTemperatureService.getEquipmentLagError(mdcEquipment.getEquipmentId());
                if (equipmentLagError != null) {
                    mdcEquipmentDto.setEquipmentLagErrorX(equipmentLagError.getX());
                    mdcEquipmentDto.setEquipmentLagErrorY(equipmentLagError.getY());
                    mdcEquipmentDto.setEquipmentLagErrorZ(equipmentLagError.getZ());
                    mdcEquipmentDto.setEquipmentLagErrorA(equipmentLagError.getA());
                    mdcEquipmentDto.setEquipmentLagErrorB(equipmentLagError.getB());
                }
            }
            EquipmentTemperatureDto equipmentCurrent = equipmentTemperatureService.getEquipmentCurrent(mdcEquipment.getEquipmentId());
            if (equipmentCurrent != null) {
                mdcEquipmentDto.setEquipmentCurrentX(equipmentCurrent.getX());
                mdcEquipmentDto.setEquipmentCurrentY(equipmentCurrent.getY());
                mdcEquipmentDto.setEquipmentCurrentZ(equipmentCurrent.getZ());
                mdcEquipmentDto.setEquipmentCurrentA(equipmentCurrent.getA());
                mdcEquipmentDto.setEquipmentCurrentB(equipmentCurrent.getB());
            }
//            if (equipmentXYZ != null) {
//                mdcEquipmentDto.setXmachine(equipmentXYZ.getXMachine());
//                mdcEquipmentDto.setYmachine(equipmentXYZ.getYMachine());
//                mdcEquipmentDto.setZmachine(equipmentXYZ.getZMachine());
//                mdcEquipmentDto.setAmachine(equipmentXYZ.getAMachine());
//                mdcEquipmentDto.setBmachine(equipmentXYZ.getBMachine());
//                mdcEquipmentDto.setXabsolute(equipmentXYZ.getXAbsolute());
//                mdcEquipmentDto.setYabsolute(equipmentXYZ.getYAbsolute());
//                mdcEquipmentDto.setZabsolute(equipmentXYZ.getZAbsolute());
//                mdcEquipmentDto.setAabsolute(equipmentXYZ.getAAbsolute());
//                mdcEquipmentDto.setBabsolute(equipmentXYZ.getBAbsolute());
//            }
//            EquipmentBaseInfo equipmentBaseInfo = equipmentBaseInfoService.getByEquipmentId(mdcEquipment.getEquipmentId());
//            if (equipmentBaseInfo != null) {
//                mdcEquipmentDto.setMaxAxis(equipmentBaseInfo.getMaxAxis());
//                mdcEquipmentDto.setValidAxis(equipmentBaseInfo.getValidAxis());
//            }
//            if (controlSystem.getDriveType().equals("SIEMENS840DSL")) {
//                EquipmentTemperatureDto equipmentTemperature = equipmentTemperatureService.getEquipmentTemperature(mdcEquipment.getEquipmentId());
//                if (equipmentTemperature != null) {
//                    mdcEquipmentDto.setTemperatureX(equipmentTemperature.getX());
//                    mdcEquipmentDto.setTemperatureY(equipmentTemperature.getY());
//                    mdcEquipmentDto.setTemperatureZ(equipmentTemperature.getZ());
//                    mdcEquipmentDto.setTemperatureA(equipmentTemperature.getA());
//                    mdcEquipmentDto.setTemperatureB(equipmentTemperature.getB());
//                }
//                EquipmentTemperatureDto equipmentLagError = equipmentTemperatureService.getEquipmentLagError(mdcEquipment.getEquipmentId());
//                if (equipmentLagError != null) {
//                    mdcEquipmentDto.setEquipmentLagErrorX(equipmentLagError.getX());
//                    mdcEquipmentDto.setEquipmentLagErrorY(equipmentLagError.getY());
//                    mdcEquipmentDto.setEquipmentLagErrorZ(equipmentLagError.getZ());
//                    mdcEquipmentDto.setEquipmentLagErrorA(equipmentLagError.getA());
//                    mdcEquipmentDto.setEquipmentLagErrorB(equipmentLagError.getB());
//                }
//            }
//            EquipmentTemperatureDto equipmentCurrent = equipmentTemperatureService.getEquipmentCurrent(mdcEquipment.getEquipmentId());
//            if (equipmentCurrent != null) {
//                mdcEquipmentDto.setEquipmentCurrentX(equipmentCurrent.getX());
//                mdcEquipmentDto.setEquipmentCurrentY(equipmentCurrent.getY());
//                mdcEquipmentDto.setEquipmentCurrentZ(equipmentCurrent.getZ());
//                mdcEquipmentDto.setEquipmentCurrentA(equipmentCurrent.getA());
//                mdcEquipmentDto.setEquipmentCurrentB(equipmentCurrent.getB());
//            }
        }
        return mdcEquipmentDto;
    }
@@ -687,4 +700,12 @@
        return null;
    }
    /**
     * 根据大屏车间id查询设备列表
     */
    @Override
    public IPage<MdcEquipment> getEquipmentByWorkshopId(Page<MdcEquipment> page, WorkshopEquipmentVo workshopEquipmentVo) {
        return this.baseMapper.getEquipmentByWorkshopId(page, workshopEquipmentVo);
    }
}