Commit 4f9d0812 authored by tangwei's avatar tangwei

整合导出,导入 接口

parent 68e83634
...@@ -10,6 +10,8 @@ public class ExcelDto { ...@@ -10,6 +10,8 @@ public class ExcelDto {
private String fileName; private String fileName;
@ApiModelProperty(value = "sheet页名称") @ApiModelProperty(value = "sheet页名称")
private String sheetName; private String sheetName;
@ApiModelProperty(value = "导出类Dto类名,类必须放在com.yeejoin.amos.boot.module.jcs.api.dto 包下") @ApiModelProperty(value = "类包全路径")
private String classUrl; private String classUrl;
@ApiModelProperty(value = "导出类型 来源于ExcelEnums常量")
private String type;
} }
package com.yeejoin.amos.boot.module.jcs.api.enums;
/**
*
* 导出类型常量
*
* ***/
public class ExcelEnums {
public static final String WHP = "WHP";// ("WHP","危险品"),
public static final String XFZJ = "XFZJ";//("XFZJ","消防专家"),
public static final String SYXX = "SYXX";//("SYXX","水源信息"),
public static final String HKQ = "HKQ";//("HKQ","航空器");
}
...@@ -32,7 +32,6 @@ import com.yeejoin.amos.boot.module.common.api.entity.FireChemical; ...@@ -32,7 +32,6 @@ import com.yeejoin.amos.boot.module.common.api.entity.FireChemical;
import com.yeejoin.amos.boot.module.common.api.excel.DataSources; import com.yeejoin.amos.boot.module.common.api.excel.DataSources;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil; import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.api.mapper.DataDictionaryMapper; import com.yeejoin.amos.boot.module.common.api.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.module.common.biz.service.impl.DataSourcesImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FireChemicalServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.FireChemicalServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -52,8 +51,7 @@ public class FireChemicalController extends BaseController { ...@@ -52,8 +51,7 @@ public class FireChemicalController extends BaseController {
@Autowired @Autowired
FireChemicalServiceImpl fireChemicalServiceImpl; FireChemicalServiceImpl fireChemicalServiceImpl;
@Autowired
DataSourcesImpl dataSourcesImpl;
/** /**
* 新增危化品 * 新增危化品
...@@ -167,17 +165,5 @@ public class FireChemicalController extends BaseController { ...@@ -167,17 +165,5 @@ public class FireChemicalController extends BaseController {
fireChemicalServiceImpl.saveBatch(excelEntityList); fireChemicalServiceImpl.saveBatch(excelEntityList);
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导出危化品")
@GetMapping("/export")
public void exportToExcel(HttpServletResponse response, ExcelDto excelDto) {
try {
List<FireChemicalDto> data = fireChemicalServiceImpl.queryForFireChemicalList(false);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), data,
FireChemicalDto.class, dataSourcesImpl, false);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常!");
}
}
} }
...@@ -44,7 +44,6 @@ import com.yeejoin.amos.boot.module.common.api.excel.DataSources; ...@@ -44,7 +44,6 @@ import com.yeejoin.amos.boot.module.common.api.excel.DataSources;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil; import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.api.mapper.DataDictionaryMapper; import com.yeejoin.amos.boot.module.common.api.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.module.common.biz.service.impl.DataDictionaryServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.DataSourcesImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FireExpertsServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.FireExpertsServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.utils.BeanDtoVoUtils; import com.yeejoin.amos.boot.module.common.biz.utils.BeanDtoVoUtils;
...@@ -72,8 +71,7 @@ public class FireExpertsController extends BaseController { ...@@ -72,8 +71,7 @@ public class FireExpertsController extends BaseController {
@Autowired @Autowired
DataDictionaryServiceImpl dataDictionaryService; DataDictionaryServiceImpl dataDictionaryService;
@Autowired
DataSourcesImpl dataSourcesImpl;
/** /**
* 新增 * 新增
...@@ -262,18 +260,6 @@ public class FireExpertsController extends BaseController { ...@@ -262,18 +260,6 @@ public class FireExpertsController extends BaseController {
fireExpertsServiceImpl.saveBatch(excelEntityList); fireExpertsServiceImpl.saveBatch(excelEntityList);
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导出消防专家")
@GetMapping("/export")
public void exportToExcel(HttpServletResponse response, ExcelDto excelDto) {
try {
List<FireExpertsDto> fireExpertsDtoList = fireExpertsServiceImpl.queryForFireExpertsList(false);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), fireExpertsDtoList,
FireExpertsDto.class, dataSourcesImpl, false);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常");
}
}
} }
...@@ -47,7 +47,6 @@ import com.yeejoin.amos.boot.module.common.api.enums.WaterResourceTypeEnum; ...@@ -47,7 +47,6 @@ import com.yeejoin.amos.boot.module.common.api.enums.WaterResourceTypeEnum;
import com.yeejoin.amos.boot.module.common.api.excel.DataSources; import com.yeejoin.amos.boot.module.common.api.excel.DataSources;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil; import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.api.mapper.DataDictionaryMapper; import com.yeejoin.amos.boot.module.common.api.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.module.common.biz.service.impl.DataSourcesImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceCraneServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceCraneServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceHydrantServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceHydrantServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceIotServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceIotServiceImpl;
...@@ -80,8 +79,7 @@ public class WaterResourceController extends BaseController { ...@@ -80,8 +79,7 @@ public class WaterResourceController extends BaseController {
WaterResourcePoolServiceImpl waterResourcePoolService; WaterResourcePoolServiceImpl waterResourcePoolService;
@Autowired @Autowired
WaterResourceIotServiceImpl waterResourceIotService; WaterResourceIotServiceImpl waterResourceIotService;
@Autowired
DataSourcesImpl dataSourcesImpl;
/** /**
* 新增 * 新增
...@@ -387,17 +385,5 @@ public class WaterResourceController extends BaseController { ...@@ -387,17 +385,5 @@ public class WaterResourceController extends BaseController {
); );
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导出消防水源")
@GetMapping("/export")
public void exportToExcel(HttpServletResponse response, ExcelDto excelDto) {
try {
List<WaterResourceDto> waterResourceDtoList = waterResourceServiceImpl.exportToExcel(true);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), waterResourceDtoList,
WaterResourceDto.class, dataSourcesImpl, false);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常");
}
}
} }
...@@ -32,7 +32,6 @@ import com.yeejoin.amos.boot.module.common.api.dto.ExcelDto; ...@@ -32,7 +32,6 @@ import com.yeejoin.amos.boot.module.common.api.dto.ExcelDto;
import com.yeejoin.amos.boot.module.common.api.excel.DataSources; import com.yeejoin.amos.boot.module.common.api.excel.DataSources;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil; import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.api.mapper.DataDictionaryMapper; import com.yeejoin.amos.boot.module.common.api.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.module.common.biz.service.impl.DataSourcesImpl;
import com.yeejoin.amos.boot.module.jcs.api.dto.AircraftDto; import com.yeejoin.amos.boot.module.jcs.api.dto.AircraftDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Aircraft; import com.yeejoin.amos.boot.module.jcs.api.entity.Aircraft;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AircraftServiceImpl; import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AircraftServiceImpl;
...@@ -54,8 +53,7 @@ public class AircraftController extends BaseController { ...@@ -54,8 +53,7 @@ public class AircraftController extends BaseController {
@Autowired @Autowired
private AircraftServiceImpl aircraftServiceImpl; private AircraftServiceImpl aircraftServiceImpl;
@Autowired
DataSourcesImpl dataSourcesImpl;
/** /**
* 新增航空器信息 * 新增航空器信息
...@@ -170,18 +168,6 @@ public class AircraftController extends BaseController { ...@@ -170,18 +168,6 @@ public class AircraftController extends BaseController {
aircraftServiceImpl.saveBatch(excelEntityList); aircraftServiceImpl.saveBatch(excelEntityList);
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导出航空器")
@GetMapping("/export")
public void exportToExcel(HttpServletResponse response, ExcelDto excelDto) {
try {
List<AircraftDto> data = aircraftServiceImpl.queryAircraftDtoForList(false);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), data,
AircraftDto.class, dataSourcesImpl, false);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常!");
}
}
} }
package com.yeejoin.amos.boot.module.jcs.biz.controller; package com.yeejoin.amos.boot.module.jcs.biz.controller;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -18,82 +18,144 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -18,82 +18,144 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.ExcelDto; import com.yeejoin.amos.boot.module.common.api.dto.ExcelDto;
import com.yeejoin.amos.boot.module.common.api.dto.FireChemicalDto; import com.yeejoin.amos.boot.module.common.api.dto.FireChemicalDto;
import com.yeejoin.amos.boot.module.common.api.dto.FireExpertsDto;
import com.yeejoin.amos.boot.module.common.api.dto.WaterResourceDto;
import com.yeejoin.amos.boot.module.common.api.entity.FireChemical; import com.yeejoin.amos.boot.module.common.api.entity.FireChemical;
import com.yeejoin.amos.boot.module.common.api.excel.DataSources;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil; import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.api.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.module.common.biz.service.impl.DataSourcesImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FireChemicalServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.FireChemicalServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FireExpertsServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.dto.AircraftDto;
import com.yeejoin.amos.boot.module.jcs.api.enums.ExcelEnums;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AircraftServiceImpl;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.DataSourcesImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
/** /**
* 导出导入 * 导出导入
* *
* @author system_generator * @author system_generator
* @date 2021-06-29 * @date 2021-06-29
*/ */
@RestController @RestController
@Api(tags = "导出") @Api(tags = "导出")
@RequestMapping(value = "/excel") @RequestMapping(value = "/excel")
public class ExcelController extends BaseController { public class ExcelController extends BaseController {
@Autowired
DataSourcesImpl dataSourcesImpl;
@Autowired
FireChemicalServiceImpl fireChemicalServiceImpl;
@Autowired
FireExpertsServiceImpl fireExpertsServiceImpl;
@Autowired
WaterResourceServiceImpl waterResourceServiceImpl;
@Autowired
AircraftServiceImpl aircraftServiceImpl;
@Autowired
DataSourcesImpl dataSourcesImpl;
@Autowired
FireChemicalServiceImpl fireChemicalServiceImpl;
private final String packageUrl="com.yeejoin.amos.boot.module.common.api.dto.";
@TycloudOperation(needAuth = false,ApiLevel = UserType.AGENCY)
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "下载模板") @ApiOperation(value = "下载模板")
@GetMapping("/template") @GetMapping("/template")
public void template(HttpServletResponse response,ExcelDto excelDto ) { public void template(HttpServletResponse response, ExcelDto excelDto) {
try { try {
String url=packageUrl+excelDto.getClassUrl(); String url =excelDto.getClassUrl();
Class<?> clz = Class.forName(url); Class<?> clz = Class.forName(url);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), null,clz, dataSourcesImpl,true); ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), null, clz,
} catch (Exception e) { dataSourcesImpl, true);
e.printStackTrace(); } catch (Exception e) {
throw new RuntimeException("系统异常!"); e.printStackTrace();
} throw new RuntimeException("系统异常!");
}
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导出公用类")
@GetMapping("/export")
public void getFireStationFile(HttpServletResponse response, ExcelDto excelDto) {
try {
switch (excelDto.getType()) {
case ExcelEnums.WHP:
List<FireChemicalDto> data = fireChemicalServiceImpl.queryForFireChemicalList(false);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), data,
FireChemicalDto.class, dataSourcesImpl, false);
break;
case ExcelEnums.XFZJ:
List<FireExpertsDto> fireExpertsDtoList = fireExpertsServiceImpl.queryForFireExpertsList(false);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), fireExpertsDtoList,
FireExpertsDto.class, dataSourcesImpl, false);
break;
case ExcelEnums.SYXX:
List<WaterResourceDto> waterResourceDtoList = waterResourceServiceImpl.exportToExcel(true);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), waterResourceDtoList,
WaterResourceDto.class, dataSourcesImpl, false);
break;
case ExcelEnums.HKQ:
List<AircraftDto> AircraftDtodata = aircraftServiceImpl.queryAircraftDtoForList(false);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), AircraftDtodata, AircraftDto.class,
dataSourcesImpl, false);
default:
break;
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常!");
}
} }
@TycloudOperation(needAuth = false,ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导出危险品") @ApiOperation(value = "上传文件数据-")
@GetMapping("/getFireStationFile") @PostMapping("/upload")
public void getFireStationFile(HttpServletResponse response,ExcelDto excelDto ) { public void template2(MultipartFile multipartFile, HttpServletResponse response, ExcelDto excelDto) throws Exception {
try {
List<FireChemicalDto> date= fireChemicalServiceImpl.queryForFireChemicalList(false);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), date,FireChemicalDto.class, dataSourcesImpl,false); try {
} catch (Exception e) { switch (excelDto.getType()) {
e.printStackTrace();
throw new RuntimeException("系统异常!"); case ExcelEnums.WHP:
} List<FireChemicalDto> demoExcelEntities = ExcelUtil.readFirstSheetExcel(multipartFile, FireChemicalDto.class,1);
List<FireChemical> demoExcelEntityErrorList = new ArrayList<>();
demoExcelEntities.forEach(demoExcelEntity -> {
FireChemical demoExcelEntityError = new FireChemical();
demoExcelEntityError = Bean.toPo(demoExcelEntity, demoExcelEntityError);
if (demoExcelEntityError.getType() != null) {
String[] dr = demoExcelEntityError.getType().split("@");
demoExcelEntityError.setType(dr[0]);
demoExcelEntityError.setTypeCode(dr[1]);
}
demoExcelEntityErrorList.add(demoExcelEntityError);
});
fireChemicalServiceImpl.saveOrUpdateBatch(demoExcelEntityErrorList);
break;
case ExcelEnums.XFZJ:
break;
case ExcelEnums.SYXX:
break;
case ExcelEnums.HKQ:
default:
break;
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常!");
}
} }
@TycloudOperation(needAuth = false,ApiLevel = UserType.AGENCY)
@ApiOperation(value = "上传文件数据-")
@PostMapping("/upload")
public void template2(MultipartFile multipartFile, HttpServletResponse response) throws Exception {
List<FireChemicalDto> demoExcelEntities = ExcelUtil.readFirstSheetExcel(multipartFile, FireChemicalDto.class, 1);
List<FireChemical> demoExcelEntityErrorList = new ArrayList<>();
demoExcelEntities.forEach(
demoExcelEntity -> {
FireChemical demoExcelEntityError = new FireChemical();
demoExcelEntityError = Bean.toPo(demoExcelEntity, demoExcelEntityError);
if(demoExcelEntityError.getType()!=null) {
String[] dr= demoExcelEntityError.getType().split("@");
demoExcelEntityError.setType(dr[0]);
demoExcelEntityError.setTypeCode(dr[1]);
}
demoExcelEntityErrorList.add(demoExcelEntityError);
}
);
fireChemicalServiceImpl.saveOrUpdateBatch(demoExcelEntityErrorList);
}
} }
package com.yeejoin.amos.boot.module.common.biz.service.impl; package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment