|
|
|
|
@ -4,12 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.github.yulichang.toolkit.JoinWrappers;
|
|
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
|
|
import org.dromara.common.core.exception.ServiceException;
|
|
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
|
|
import org.dromara.dms.domain.DmsBaseDeviceCategory;
|
|
|
|
|
import org.dromara.dms.domain.DmsBaseDeviceType;
|
|
|
|
|
import org.dromara.dms.domain.DmsBaseMachineInfo;
|
|
|
|
|
import org.dromara.dms.domain.bo.DmsBaseMachineInfoBo;
|
|
|
|
|
@ -17,11 +17,13 @@ import org.dromara.dms.domain.mobile.DeviceBeen;
|
|
|
|
|
import org.dromara.dms.domain.vo.DmsBaseMachineInfoVo;
|
|
|
|
|
import org.dromara.dms.mapper.DmsBaseMachineInfoMapper;
|
|
|
|
|
import org.dromara.dms.service.IDmsBaseMachineInfoService;
|
|
|
|
|
import org.dromara.resource.api.RemoteFileService;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设备信息Service业务层处理
|
|
|
|
|
@ -35,6 +37,9 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
|
|
|
|
|
|
|
|
|
|
private final DmsBaseMachineInfoMapper baseMapper;
|
|
|
|
|
|
|
|
|
|
@DubboReference
|
|
|
|
|
private RemoteFileService remoteFileService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询设备信息
|
|
|
|
|
@ -48,6 +53,12 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
|
|
|
|
|
bo.setMachineId(machineId);
|
|
|
|
|
MPJLambdaWrapper<DmsBaseMachineInfo> lqw = buildQueryWrapper(bo);
|
|
|
|
|
DmsBaseMachineInfoVo prodBaseMachineInfoVo = baseMapper.selectVoOne(lqw);
|
|
|
|
|
|
|
|
|
|
// 处理图片URL
|
|
|
|
|
if (prodBaseMachineInfoVo != null) {
|
|
|
|
|
setPhotoAddress(prodBaseMachineInfoVo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//机台关联工序
|
|
|
|
|
/* MPJLambdaWrapper<ProdBaseMachineProcess> lqwRelation = JoinWrappers.lambda(ProdBaseMachineProcess.class)
|
|
|
|
|
.selectAll(ProdBaseMachineProcess.class)
|
|
|
|
|
@ -69,9 +80,16 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
|
|
|
|
|
public TableDataInfo<DmsBaseMachineInfoVo> queryPageList(DmsBaseMachineInfoBo bo, PageQuery pageQuery) {
|
|
|
|
|
MPJLambdaWrapper<DmsBaseMachineInfo> lqw = buildQueryWrapper(bo);
|
|
|
|
|
Page<DmsBaseMachineInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
|
|
|
|
|
|
|
|
|
// 处理图片URL
|
|
|
|
|
if (result.getRecords() != null && !result.getRecords().isEmpty()) {
|
|
|
|
|
setPhotoAddressBatch(result.getRecords());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return TableDataInfo.build(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询符合条件的设备信息列表
|
|
|
|
|
*
|
|
|
|
|
@ -81,10 +99,51 @@ public class DmsBaseMachineInfoServiceImpl implements IDmsBaseMachineInfoService
|
|
|
|
|
@Override
|
|
|
|
|
public List<DmsBaseMachineInfoVo> queryList(DmsBaseMachineInfoBo bo) {
|
|
|
|
|
MPJLambdaWrapper<DmsBaseMachineInfo> lqw = buildQueryWrapper(bo);
|
|
|
|
|
List<DmsBaseMachineInfoVo> list = baseMapper.selectVoList(lqw);
|
|
|
|
|
|
|
|
|
|
return baseMapper.selectVoList(lqw);
|
|
|
|
|
// 处理图片URL
|
|
|
|
|
if (list != null && !list.isEmpty()) {
|
|
|
|
|
setPhotoAddressBatch(list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 为单个对象设置图片地址
|
|
|
|
|
*/
|
|
|
|
|
private void setPhotoAddress(DmsBaseMachineInfoVo vo) {
|
|
|
|
|
if (vo != null && StringUtils.isNotBlank(vo.getOssId())) {
|
|
|
|
|
try {
|
|
|
|
|
String photoUrl = remoteFileService.selectUrlByIds(vo.getOssId());
|
|
|
|
|
vo.setPhotoAddress(photoUrl);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 忽略异常,不影响主要业务
|
|
|
|
|
vo.setPhotoAddress(null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 批量设置图片地址
|
|
|
|
|
*/
|
|
|
|
|
private void setPhotoAddressBatch(List<DmsBaseMachineInfoVo> list) {
|
|
|
|
|
// 收集所有有ossId的记录
|
|
|
|
|
List<DmsBaseMachineInfoVo> hasOssIdList = list.stream()
|
|
|
|
|
.filter(vo -> StringUtils.isNotBlank(vo.getOssId()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
if (hasOssIdList.isEmpty()) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 批量获取图片URL
|
|
|
|
|
for (DmsBaseMachineInfoVo vo : hasOssIdList) {
|
|
|
|
|
setPhotoAddress(vo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private MPJLambdaWrapper<DmsBaseMachineInfo> buildQueryWrapper(DmsBaseMachineInfoBo bo) {
|
|
|
|
|
Map<String, Object> params = bo.getParams();
|
|
|
|
|
MPJLambdaWrapper<DmsBaseMachineInfo> lqw = JoinWrappers.lambda(DmsBaseMachineInfo.class)
|
|
|
|
|
|