|  | @@ -1,5 +1,7 @@
 | 
	
		
			
				|  |  |  package com.usky.iot.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import cn.afterturn.easypoi.excel.ExcelImportUtil;
 | 
	
		
			
				|  |  | +import cn.afterturn.easypoi.excel.entity.ImportParams;
 | 
	
		
			
				|  |  |  import cn.hutool.core.collection.CollectionUtil;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
	
	
		
			
				|  | @@ -9,6 +11,8 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
	
		
			
				|  |  |  import com.usky.common.core.bean.CommonPage;
 | 
	
		
			
				|  |  | +import com.usky.common.core.exception.BusinessException;
 | 
	
		
			
				|  |  | +import com.usky.common.core.util.BeanMapperUtils;
 | 
	
		
			
				|  |  |  import com.usky.common.core.util.UUIDUtils;
 | 
	
		
			
				|  |  |  import com.usky.common.security.utils.SecurityUtils;
 | 
	
		
			
				|  |  |  import com.usky.iot.domain.*;
 | 
	
	
		
			
				|  | @@ -23,6 +27,9 @@ import com.usky.system.model.LoginUser;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.ObjectUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.interceptor.TransactionAspectSupport;
 | 
	
		
			
				|  |  | +import org.springframework.web.multipart.MultipartFile;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.text.SimpleDateFormat;
 | 
	
		
			
				|  |  |  import java.time.LocalDateTime;
 | 
	
	
		
			
				|  | @@ -401,4 +408,41 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
 | 
	
		
			
				|  |  |          list.add(map);
 | 
	
		
			
				|  |  |          return list;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void facilityImport(MultipartFile multipartFile) {
 | 
	
		
			
				|  |  | +        ImportParams params = new ImportParams();
 | 
	
		
			
				|  |  | +        params.setHeadRows(1);
 | 
	
		
			
				|  |  | +        params.setTitleRows(1);
 | 
	
		
			
				|  |  | +        String err="文件导入失败";
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +            List<FacilityImportVo> facilityImportVos = ExcelImportUtil.importExcel(multipartFile.getInputStream(),
 | 
	
		
			
				|  |  | +                    FacilityImportVo.class, params);
 | 
	
		
			
				|  |  | +            if (CollectionUtils.isNotEmpty(facilityImportVos)){
 | 
	
		
			
				|  |  | +                int rot=0;
 | 
	
		
			
				|  |  | +                for (FacilityImportVo facilityImportVo:facilityImportVos) {
 | 
	
		
			
				|  |  | +                    BaseGgpFacility baseGgpFacility = BeanMapperUtils.map(facilityImportVo, BaseGgpFacility.class);
 | 
	
		
			
				|  |  | +                    if (StringUtils.isBlank(baseGgpFacility.getFacilityType())||StringUtils.isBlank(baseGgpFacility.getFacilityName())||StringUtils.isBlank(baseGgpFacility.getAddress())||StringUtils.isBlank(baseGgpFacility.getLatitude())||StringUtils.isBlank(baseGgpFacility.getLongitude())){
 | 
	
		
			
				|  |  | +                        int h=rot+3;
 | 
	
		
			
				|  |  | +                        err="文件导入失败,第"+h+"行数据导入失败,必填字段不能为空";
 | 
	
		
			
				|  |  | +                        throw  new BusinessException(err);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    try{
 | 
	
		
			
				|  |  | +                        this.add(baseGgpFacility);
 | 
	
		
			
				|  |  | +                    }catch (Exception e){
 | 
	
		
			
				|  |  | +                        int h=rot+3;
 | 
	
		
			
				|  |  | +                        err="文件导入失败,第"+h+"行数据导入失败";
 | 
	
		
			
				|  |  | +                        throw  new BusinessException(err);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    rot++;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }else {
 | 
	
		
			
				|  |  | +                err="文件不能为空";
 | 
	
		
			
				|  |  | +                throw new BusinessException(err);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }catch (Exception e){
 | 
	
		
			
				|  |  | +            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +            throw  new BusinessException(err);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |