diff --git a/src/main/java/com/bonus/digitalSignage/basic/controller/TbTowerController.java b/src/main/java/com/bonus/digitalSignage/basic/controller/TbTowerController.java index 0e4c8d0..74ae77c 100644 --- a/src/main/java/com/bonus/digitalSignage/basic/controller/TbTowerController.java +++ b/src/main/java/com/bonus/digitalSignage/basic/controller/TbTowerController.java @@ -129,7 +129,7 @@ public class TbTowerController { /** * 杆塔管理导入 * @param file - * @param tbTowerVo + * @param params * @return * @throws IOException */ @@ -146,6 +146,8 @@ public class TbTowerController { } else if (fileSize > 10 * 1024 * 1024) { // 文件大小超过10M return ServerResponse.createErroe("文件大小超过10M"); + } else if(!fileName.contains("2000国家大地坐标系导入模版") && !fileName.contains("WGS-84地心坐标系导入模版")){ + return ServerResponse.createErroe("请上传正确的模板"); } } ExcelUtil util = new ExcelUtil(TbTowerVo.class); @@ -154,6 +156,12 @@ public class TbTowerController { return ServerResponse.createErroe("文件条数超过3000"); } TbTowerVo tbTowerVo = FastJsonHelper.jsonStrToBean(params, TbTowerVo.class); + TbTowerVo tbTower = tbTowerVoList.get(0); + if (tbTowerVo.getUploadType().equals("1") && tbTower.getCentralMeridian()!=null){ + return ServerResponse.createErroe("请上传对应模板"); + }else if(tbTowerVo.getUploadType().equals("2") && tbTower.getCentralMeridian()==null){ + return ServerResponse.createErroe("请上传对应模板"); + } String message = tbTowerService.tbTowerExport(tbTowerVoList, tbTowerVo); return ServerResponse.createBySuccessMsg(message); } diff --git a/src/main/java/com/bonus/digitalSignage/basic/service/impl/TbTowerServiceImpl.java b/src/main/java/com/bonus/digitalSignage/basic/service/impl/TbTowerServiceImpl.java index 7bc1d74..a1da102 100644 --- a/src/main/java/com/bonus/digitalSignage/basic/service/impl/TbTowerServiceImpl.java +++ b/src/main/java/com/bonus/digitalSignage/basic/service/impl/TbTowerServiceImpl.java @@ -3,10 +3,7 @@ package com.bonus.digitalSignage.basic.service.impl; import com.bonus.digitalSignage.basic.dao.TbTowerMapper; import com.bonus.digitalSignage.basic.service.TbTowerService; import com.bonus.digitalSignage.basic.vo.TbTowerVo; -import com.bonus.digitalSignage.utils.CoordinateConverter; -import com.bonus.digitalSignage.utils.ServerResponse; -import com.bonus.digitalSignage.utils.StrUtil; -import com.bonus.digitalSignage.utils.UserUtil; +import com.bonus.digitalSignage.utils.*; import com.bonus.digitalSignage.webResult.StringUtils; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -176,21 +173,48 @@ public class TbTowerServiceImpl implements TbTowerService { public String tbTowerExport(List tbTowerVoList, TbTowerVo tbTowerVo) { if (tbTowerVoList.size()>0){ int num = 1; + StringBuffer error = new StringBuffer(); try { for (int i = 0; i < tbTowerVoList.size(); i++) { - + TbTowerVo tbTower = tbTowerVoList.get(i); + //判断数据是否为空 + if (!checkParam(tbTower,tbTowerVo.getUploadType())){ + log.error("第{}条数据导入失败,数据为空",num); + error.append(","+num); + continue; + } tbTowerVoList.get(i).setProId(tbTowerVo.getProId()); tbTowerVoList.get(i).setUploadType(tbTowerVo.getUploadType()); - addTbTower(tbTowerVoList.get(i)); + ServerResponse serverResponse =addTbTower(tbTowerVoList.get(i)); + if(serverResponse.getStatus()!= ResponseCode.SUCCESS.getCode()){ + log.error("第{}条数据导入失败,错误信息为:{}",num,serverResponse.getMsg()); + error.append(","+num); + } num++; } }catch (Exception e){ - log.error("第{}条数据导入失败,错误信息为:{}",num,e.getMessage()); + log.error("第{}条数据导入失败,错误信息为:{}",num,error); } - return "导入成功"; + String msg =error.substring(1); + return "导入成功,第"+msg+"条数据有问题"; }else { return "数据不能为空"; } } + + private boolean checkParam(TbTowerVo tbTower, String uploadType) { + if (uploadType.equals("1")){ + if (tbTower.getLat().isEmpty() || tbTower.getLat().isEmpty() || tbTower.getTowerName().isEmpty() || tbTower.getSort()==null){ + return false; + } + } else if (uploadType.equals("1")) { + if (tbTower.getLat().isEmpty() || tbTower.getLat().isEmpty() || tbTower.getTowerName().isEmpty() || tbTower.getSort()==null || tbTower.getCentralMeridian().isEmpty()){ + return false; + } + } + return true; + } + + }