Переглянути джерело

Merge branch 'demo_' of http://123.60.19.203:8088/hitch/hitch-sb into demo_

guarantee-lsq 2 роки тому
батько
коміт
991fe7c7f1

+ 13 - 0
platform-service/src/main/java/com/platform/service/remote/impl/RemoteDegreeServiceImpl.java

@@ -12,9 +12,11 @@ import com.platform.dao.entity.sb.SbPosition;
 import com.platform.dao.entity.sb.SbType;
 import com.platform.dao.entity.upms.SysDict;
 import com.platform.dao.entity.upms.SysUser;
+import com.platform.dao.mapper.sb.SbInfoMapper;
 import com.platform.dao.mapper.upms.SysDeptMapper;
 import com.platform.dao.mapper.upms.SysDictMapper;
 import com.platform.dao.util.CustomExcelImportUtil;
+import com.platform.dao.vo.SysUserVO;
 import com.platform.dao.vo.query.remote.RemoteDegreeVO;
 import com.platform.dao.dto.remote.RemoteDegreeDTO;
 import com.platform.dao.entity.remote.RemoteDegree;
@@ -34,6 +36,7 @@ import lombok.AllArgsConstructor;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Description 设备电度对应表 service 实现类
@@ -46,6 +49,7 @@ import java.util.List;
 public class RemoteDegreeServiceImpl extends BaseServiceImpl<RemoteDegreeMapper, RemoteDegree, RemoteDegreeDTO> implements RemoteDegreeService {
 
     private final SysDictMapper sysDictMapper;
+    private final SbInfoMapper sbInfoMapper;
 
     @Override
     public int batchDelete(List<String> ids) {
@@ -78,7 +82,16 @@ public class RemoteDegreeServiceImpl extends BaseServiceImpl<RemoteDegreeMapper,
         try {
             List<RemoteDegree> items = CustomExcelImportUtil.importRemoteDegreeList(file.getInputStream());
             if (!CollectionUtils.isEmpty(items)) {
+                List<SbInfo> sbInfoList = sbInfoMapper.selectAll();
+                // 设备名称,新建设备,先走台账,后期台账怎么关联上。。后期台账自己导入需要再次关联上,
+                // 电度的导入不处理,因为遥测导入已经添加了设备,电度导入需要查询设备id,根据设备名字查询
+                // 设置设备新增
                 for(RemoteDegree remoteDegree:items){
+                    for(SbInfo sbInfo:sbInfoList){
+                        if(remoteDegree.getSbName().equals(sbInfo.getName())){
+                            remoteDegree.setSbId(sbInfo.getId());
+                        }
+                    }
                     boolean find = false;
                     for(SysDict sysDict: sysDictList){
                         if(sysDict.getLabel().equals(remoteDegree.getDescription())){

+ 22 - 0
platform-service/src/main/java/com/platform/service/remote/impl/RemoteMeasureServiceImpl.java

@@ -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());