|
@@ -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);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|