Forráskód Böngészése

上传excal优化

yq 3 éve
szülő
commit
0157cf6ead

+ 1 - 1
fiveep-controller/src/main/java/com/bizmatics/controller/web/DeviceController.java

@@ -233,7 +233,7 @@ public class DeviceController {
      * @throws Exception
      */
     @PostMapping("/deviceImport")
-    public ApiResult<Void> deviceImport(@RequestParam("file") MultipartFile multipartFile) throws Exception {
+    public ApiResult<Void> deviceImport(@RequestParam("file") MultipartFile multipartFile){
         deviceService.deviceImport(multipartFile);
         return ApiResult.success();
     }

+ 1 - 2
fiveep-service/src/main/java/com/bizmatics/service/DeviceService.java

@@ -7,7 +7,6 @@ import com.bizmatics.model.DeviceList;
 import com.bizmatics.model.vo.CorrespondDeviceListVO;
 import com.bizmatics.model.vo.CorrespondDeviceVO;
 import com.bizmatics.model.vo.DeviceOneVo;
-import com.bizmatics.service.vo.CorrespondDeviceVOT;
 import com.bizmatics.service.vo.DeviceCountVO;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -64,5 +63,5 @@ public interface DeviceService extends CrudService<Device> {
 
     String correspondDeviceExport(String deviceName);
 
-    void deviceImport(MultipartFile multipartFile) throws Exception;
+    void deviceImport(MultipartFile multipartFile);
 }

+ 29 - 27
fiveep-service/src/main/java/com/bizmatics/service/impl/DeviceServiceImpl.java

@@ -6,6 +6,7 @@ import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.afterturn.easypoi.excel.entity.ImportParams;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.bizmatics.common.core.bean.CommonPage;
@@ -21,7 +22,6 @@ import com.bizmatics.model.DeviceStatus;
 import com.bizmatics.model.system.SysUser;
 import com.bizmatics.model.vo.CorrespondDeviceListVO;
 import com.bizmatics.model.vo.CorrespondDeviceVO;
-import com.bizmatics.model.vo.DeviceAnalogVariableListOneVo;
 import com.bizmatics.model.vo.DeviceOneVo;
 import com.bizmatics.persistence.mapper.DeviceMapper;
 import com.bizmatics.service.DeviceAnalogVariableListService;
@@ -30,7 +30,10 @@ import com.bizmatics.service.DeviceStatusService;
 import com.bizmatics.service.enums.DeviceStatusCode;
 import com.bizmatics.service.enums.DeviceType;
 import com.bizmatics.service.util.SecurityUtils;
-import com.bizmatics.service.vo.*;
+import com.bizmatics.service.vo.CorrespondDeviceExportVO;
+import com.bizmatics.service.vo.DeviceCountVO;
+import com.bizmatics.service.vo.DeviceExportVO;
+import com.bizmatics.service.vo.DeviceImportVo;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -424,35 +427,34 @@ public class DeviceServiceImpl extends AbstractCrudService<DeviceMapper, Device>
 
 
     @Override
-    public void deviceImport(MultipartFile multipartFile) throws Exception {
+    public void deviceImport(MultipartFile multipartFile) {
         SysUser user = SecurityUtils.getLoginUser().getUser();
         ImportParams params = new ImportParams();
         params.setHeadRows(1);
-        List<DeviceImportVo> result = ExcelImportUtil.importExcel(multipartFile.getInputStream(),
-                DeviceImportVo.class, params);
-        if (result.size()>0){
-            for (int i = 0; i < result.size(); i++) {
-                Device device = new Device();
-                DeviceStatus deviceStatus = new DeviceStatus();;
-                device.setDeviceCode(result.get(i).getDeviceCode());
-                device.setDeviceName(result.get(i).getDeviceName());
-                device.setFloor(result.get(i).getFloor());
-                device.setSiteId(result.get(i).getSiteId());
-                device.setDeviceAddress(result.get(i).getDeviceAddress());
-                device.setDeviceType(result.get(i).getDeviceType());
-                device.setSim(result.get(i).getSim());
-                device.setEnable(1);
-                device.setCreator(user.getUserName());
-                device.setInstallTime(new Date());
-                this.save(device);
-                String deviceCode = device.getDeviceCode();
-                Integer siteId = device.getSiteId();
-                deviceStatus.setDeviceStatus(1);
-                deviceStatus.setDeviceCode(deviceCode);
-                deviceStatus.setStatusTime(new Date());
-                deviceStatus.setSiteId(siteId);
-                deviceStatusService.save(deviceStatus);
+        try {
+            List<DeviceImportVo> deviceImportVos = ExcelImportUtil.importExcel(multipartFile.getInputStream(),
+                    DeviceImportVo.class, params);
+            if (CollectionUtils.isNotEmpty(deviceImportVos)){
+                for (DeviceImportVo deviceImportVo:deviceImportVos) {
+                    DeviceStatus deviceStatus = new DeviceStatus();
+                    Device device = BeanMapperUtils.map(deviceImportVo, Device.class);
+                    device.setEnable(1);
+                    device.setCreator(user.getUserName());
+                    device.setInstallTime(new Date());
+                    this.save(device);
+                    String deviceCode = device.getDeviceCode();
+                    Integer siteId = device.getSiteId();
+                    deviceStatus.setDeviceStatus(1);
+                    deviceStatus.setDeviceCode(deviceCode);
+                    deviceStatus.setStatusTime(new Date());
+                    deviceStatus.setSiteId(siteId);
+                    deviceStatusService.save(deviceStatus);
+                }
+            }else {
+                throw new BusinessException("文件不能为空");
             }
+        }catch (Exception e){
+            throw  new BusinessException("文件导入失败"+e.getMessage());
         }
     }