|
@@ -3,11 +3,13 @@ import com.platform.common.bean.AbstractPageResultBean;
|
|
|
import com.platform.common.enums.DictTypeEnum;
|
|
|
import com.platform.common.exception.BusinessException;
|
|
|
import com.platform.common.util.BeanConverterUtil;
|
|
|
+import com.platform.common.util.IdGeneratorUtils;
|
|
|
import com.platform.dao.bean.MyPage;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.platform.dao.entity.remote.RemoteDegree;
|
|
|
import com.platform.dao.entity.sb.SbInfo;
|
|
|
import com.platform.dao.entity.upms.SysDict;
|
|
|
+import com.platform.dao.mapper.sb.SbInfoMapper;
|
|
|
import com.platform.dao.mapper.upms.SysDictMapper;
|
|
|
import com.platform.dao.util.CustomExcelImportUtil;
|
|
|
import com.platform.dao.vo.query.remote.RemoteMeasureVO;
|
|
@@ -26,6 +28,7 @@ import lombok.AllArgsConstructor;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Description 设备遥测对应表 service 实现类
|
|
@@ -38,6 +41,7 @@ import java.util.List;
|
|
|
public class RemoteMeasureServiceImpl extends BaseServiceImpl<RemoteMeasureMapper, RemoteMeasure, RemoteMeasureDTO> implements RemoteMeasureService {
|
|
|
|
|
|
private final SysDictMapper sysDictMapper;
|
|
|
+ private final SbInfoMapper sbInfoMapper;
|
|
|
|
|
|
@Override
|
|
|
public int batchDelete(List<String> ids) {
|
|
@@ -79,9 +83,26 @@ public class RemoteMeasureServiceImpl extends BaseServiceImpl<RemoteMeasureMappe
|
|
|
weekendCriteria.andEqualTo(SysDict::getType, DictTypeEnum.REMOTE_MEASURE);
|
|
|
List<SysDict> sysDictList = sysDictMapper.selectByExample(weekend);
|
|
|
try {
|
|
|
+ List<SbInfo> addSbInfoList = new ArrayList<>();
|
|
|
List<RemoteMeasure> items = CustomExcelImportUtil.importRemoteMeasureList(file.getInputStream());
|
|
|
if (!CollectionUtils.isEmpty(items)) {
|
|
|
+ // 设备名称,新建设备,先走台账,后期台账怎么关联上。。后期台账自己导入需要再次关联上,
|
|
|
+ // 电度的导入不处理,因为遥测导入已经添加了设备,电度导入需要查询设备id,根据设备名字查询
|
|
|
+ List<String> sbNames = items.stream().distinct().map(RemoteMeasure::getSbName).distinct().collect(Collectors.toList());
|
|
|
+ // 设置设备新增
|
|
|
+ int i =1 ;
|
|
|
+ for(String name:sbNames){
|
|
|
+ SbInfo sbInfo = new SbInfo();
|
|
|
+ sbInfo.setId(i++ + "");
|
|
|
+ sbInfo.setName(name);
|
|
|
+ addSbInfoList.add(sbInfo);
|
|
|
+ }
|
|
|
for(RemoteMeasure remoteMeasure:items){
|
|
|
+ for(SbInfo sbInfo:addSbInfoList){
|
|
|
+ if(remoteMeasure.getSbName().equals(sbInfo.getName())){
|
|
|
+ remoteMeasure.setSbId(sbInfo.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
boolean find = false;
|
|
|
for(SysDict sysDict: sysDictList){
|
|
|
if(sysDict.getLabel().equals(remoteMeasure.getRemark())){
|
|
@@ -94,6 +115,7 @@ public class RemoteMeasureServiceImpl extends BaseServiceImpl<RemoteMeasureMappe
|
|
|
throw new BusinessException("点位类型未配置,请配置遥测数据字典:" + remoteMeasure.getRemark() );
|
|
|
}
|
|
|
}
|
|
|
+ sbInfoMapper.insertListforComplex(addSbInfoList);
|
|
|
mapper.insertListforComplex(items);
|
|
|
}
|
|
|
return "总计新增导入:" + (items.size());
|