Commit 2a018dea authored by tangwei's avatar tangwei

注释导出

parent 825ac0e2
package com.yeejoin.amos.boot.biz.common.dto; package com.yeejoin.amos.boot.biz.common.dto;
import com.alibaba.excel.annotation.ExcelIgnore; //import com.alibaba.excel.annotation.ExcelIgnore;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -18,22 +18,22 @@ public class BaseDto implements Serializable{ ...@@ -18,22 +18,22 @@ public class BaseDto implements Serializable{
/** /**
* *
*/ */
@ExcelIgnore // @ExcelIgnore
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ExcelIgnore // @ExcelIgnore
@ApiModelProperty(value = "主键ID") @ApiModelProperty(value = "主键ID")
protected Long sequenceNbr; protected Long sequenceNbr;
@ExcelIgnore // @ExcelIgnore
@ApiModelProperty(value = "更新时间") @ApiModelProperty(value = "更新时间")
protected Date recDate; protected Date recDate;
@ExcelIgnore // @ExcelIgnore
@ApiModelProperty(value = "更新人") @ApiModelProperty(value = "更新人")
protected String recUserId; protected String recUserId;
/** /**
* 是否删除 * 是否删除
*/ */
@ExcelIgnore // @ExcelIgnore
@TableField(value = "is_delete") @TableField(value = "is_delete")
private Boolean isDelete; private Boolean isDelete;
} }
package com.yeejoin.amos.boot.biz.common.utils;
import java.lang.reflect.InvocationTargetException;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.beanutils.BeanUtils;
import com.alibaba.excel.util.CollectionUtils;
public class BeanConverUtil {
/**
* 单个类转换
*
* @param sourceObj
* @param targetClass
* @param <T>
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
public static <T> T conver(Object sourceObj, Class<T> targetClass) throws IllegalAccessException, InvocationTargetException {
if (sourceObj == null || targetClass == null) {
return null;
}
T targetObj = null;
try {
targetObj = targetClass.newInstance();
} catch (InstantiationException | IllegalAccessException e) {
return null;
}
BeanUtils.copyProperties(sourceObj, targetObj);
return targetObj;
}
/**
* List之间转换
*
* @param sourceList
* @param targetClass
* @param <T>
* @return
*/
public static <T> List<T> converList(List<?> sourceList, Class<T> targetClass) {
if (CollectionUtils.isEmpty(sourceList) || targetClass == null) {
return Collections.emptyList();
}
return sourceList.stream().map(sourceObj -> {
try {
return conver(sourceObj, targetClass);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}).collect(Collectors.toList());
}
}
package com.yeejoin.amos.boot.module.jcs.api.dto; package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.yeejoin.amos.component.rule.RuleFact;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
@RuleFact(value = "导入导出",project = "导入导出")
public class ExcelDto { public class ExcelDto {
@ApiModelProperty(value = "文件名称") @ApiModelProperty(value = "文件名称")
private String fileName; private String fileName;
......
package com.yeejoin.amos.boot.module.jcs.api.dto; package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.alibaba.excel.annotation.ExcelIgnore; //import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; //import com.alibaba.excel.annotation.ExcelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.jcs.api.excel.ExplicitConstraint; //import com.yeejoin.amos.boot.module.jcs.api.excel.ExplicitConstraint;
import com.yeejoin.amos.boot.module.jcs.api.excel.RoleNameExplicitConstraint; //import com.yeejoin.amos.boot.module.jcs.api.excel.RoleNameExplicitConstraint;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -22,81 +22,67 @@ import java.util.Date; ...@@ -22,81 +22,67 @@ import java.util.Date;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="FireChemicalDto", description="危化品") @ApiModel(value="FireChemicalDto", description="危化品")
public class FireChemicalDto extends BaseDto { public class FireChemicalDto extends BaseDto {
@ExcelIgnore
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "casNo") @ApiModelProperty(value = "casNo")
@ExcelProperty(value = "casNo", index = 1)
private String casNo; private String casNo;
@ApiModelProperty(value = "国际危险号") @ApiModelProperty(value = "国际危险号")
@ExcelProperty(value = "国际危险号", index = 2)
private String dangerId; private String dangerId;
@ApiModelProperty(value = "防护处理") @ApiModelProperty(value = "防护处理")
@ExcelProperty(value = "防护处理", index = 3)
private String defendWay; private String defendWay;
@ApiModelProperty(value = "处理措施") @ApiModelProperty(value = "处理措施")
@ExcelProperty(value = "处理措施", index = 4)
private String dispose; private String dispose;
@ApiModelProperty(value = "英文名") @ApiModelProperty(value = "英文名")
@ExcelProperty(value = "英文名", index = 5)
private String englishName; private String englishName;
@ApiModelProperty(value = "分子式") @ApiModelProperty(value = "分子式")
@ExcelProperty(value = "分子式", index = 6)
private String formula; private String formula;
@ApiModelProperty(value = "主要成分") @ApiModelProperty(value = "主要成分")
@ExcelProperty(value = "主要成分", index = 7)
private String ingredient; private String ingredient;
@ApiModelProperty(value = "泄漏处理") @ApiModelProperty(value = "泄漏处理")
@ExcelProperty(value = "泄漏处理", index = 8)
private String leakWay; private String leakWay;
@ExcelProperty(value = "中文名", index = 0)
@ApiModelProperty(value = "中文名") @ApiModelProperty(value = "中文名")
private String name; private String name;
@ApiModelProperty(value = "性状") @ApiModelProperty(value = "性状")
@ExcelProperty(value = "性状", index = 9)
private String property; private String property;
@ApiModelProperty(value = "贮藏方法") @ApiModelProperty(value = "贮藏方法")
@ExcelProperty(value = "贮藏方法", index = 10)
private String store; private String store;
@ApiModelProperty(value = "症状") @ApiModelProperty(value = "症状")
@ExcelProperty(value = "症状", index = 11)
private String symptom; private String symptom;
@ApiModelProperty(value = "禁忌物/禁忌") @ApiModelProperty(value = "禁忌物/禁忌")
@ExcelProperty(value = "禁忌物/禁忌", index = 12)
private String tabu; private String tabu;
@ExcelIgnore
@ApiModelProperty(value = "类型code") @ApiModelProperty(value = "类型code")
private String typeCode; private String typeCode;
@ExplicitConstraint(type="CHEMICALTYPE",indexNum=13,sourceClass = RoleNameExplicitConstraint.class) //动态下拉内容
@ApiModelProperty(value = "类型名称") @ApiModelProperty(value = "类型名称")
@ExcelProperty(value = "类型名称", index = 13)
private String type; private String type;
// @ExplicitConstraint(indexNum=14,source = {"男","女"}) //固定下拉内容 // @ExplicitConstraint(indexNum=14,source = {"男","女"}) //固定下拉内容
@ExcelProperty(value = "国标号", index = 14)
@ApiModelProperty(value = "国标号") @ApiModelProperty(value = "国标号")
private String un; private String un;
@ApiModelProperty(value = "化学品图片") @ApiModelProperty(value = "化学品图片")
@ExcelProperty(value = "化学品图片", index = 15)
private String image; private String image;
@ExcelIgnore
@ApiModelProperty(value = "更新时间") @ApiModelProperty(value = "更新时间")
private Date updateTime; private Date updateTime;
@ExcelIgnore
@ApiModelProperty(value = "操作人名称") @ApiModelProperty(value = "操作人名称")
private String recUserName; private String recUserName;
......
package com.yeejoin.amos.boot.module.jcs.api.excel; //package com.yeejoin.amos.boot.module.jcs.api.excel;
//
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.List; //import java.util.List;
//
import com.alibaba.excel.context.AnalysisContext; //import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener; //import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSON; //import com.alibaba.fastjson.JSON;
//
//如果没有特殊说明,下面的案例将默认使用这个监听器 ////如果没有特殊说明,下面的案例将默认使用这个监听器
public class ExcelListener<T> extends AnalysisEventListener<T> { //public class ExcelListener<T> extends AnalysisEventListener<T> {
//
List<T> list = new ArrayList<T>(); // List<T> list = new ArrayList<T>();
//
public List<T> getList() { // public List<T> getList() {
return list; // return list;
} //}
//
public void setList(List<T> list) { //public void setList(List<T> list) {
this.list = list; // this.list = list;
} //}
//
/** ///**
* 如果使用了spring,请使用这个构造方法。每次创建Listener的时候需要把spring管理的类传进来 // * 如果使用了spring,请使用这个构造方法。每次创建Listener的时候需要把spring管理的类传进来
*/ // */
public ExcelListener() {} // public ExcelListener() {}
//
/** // /**
* 这个每一条数据解析都会来调用 // * 这个每一条数据解析都会来调用
* // *
* @param data // * @param data
* @param context // * @param context
*/ // */
@Override // @Override
public void invoke(T data, AnalysisContext context) { // public void invoke(T data, AnalysisContext context) {
list.add(data); // list.add(data);
} // }
//
/** // /**
* 所有数据解析完成了 都会来调用 // * 所有数据解析完成了 都会来调用
* // *
* @param context // * @param context
*/ // */
@Override // @Override
public void doAfterAllAnalysed(AnalysisContext context) { // public void doAfterAllAnalysed(AnalysisContext context) {
//
} // }
} //}
package com.yeejoin.amos.boot.module.jcs.api.excel; //package com.yeejoin.amos.boot.module.jcs.api.excel;
//
import java.lang.annotation.*; //import java.lang.annotation.*;
/** ///**
* 导出模板数据 //* 导出模板数据
*/ //*/
@Documented //@Documented
@Retention(RetentionPolicy.RUNTIME) //@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD}) //@Target({ElementType.FIELD})
public @interface ExplicitConstraint { //public @interface ExplicitConstraint {
//定义固定下拉内容 // //定义固定下拉内容
String[]source()default {}; // String[]source()default {};
//定义动态下拉内容, // //定义动态下拉内容,
Class[]sourceClass()default {}; // Class[]sourceClass()default {};
//列标号必须和字段下标一致 // //列标号必须和字段下标一致
int indexNum() default 0; // int indexNum() default 0;
//字典type // 字典type
String type() default ""; // String type() default "";
//
} //}
package com.yeejoin.amos.boot.module.jcs.api.excel; //package com.yeejoin.amos.boot.module.jcs.api.excel;
//
import com.yeejoin.amos.boot.module.jcs.api.mapper.DataDictionaryMapper; //import com.yeejoin.amos.boot.module.jcs.api.mapper.DataDictionaryMapper;
//
public interface ExplicitInterface { //public interface ExplicitInterface {
/** // /**
* 动态下拉列表的内容数组 // * 动态下拉列表的内容数组
* @return // * @return
* type 字典类型 // * type 字典类型
*/ // */
String[] source(String type,DataDictionaryMapper dataDictionaryMapper); // String[] source(String type,DataDictionaryMapper dataDictionaryMapper);
} //}
package com.yeejoin.amos.boot.module.jcs.api.excel; //package com.yeejoin.amos.boot.module.jcs.api.excel;
//
import java.util.List; //import java.util.List;
import java.util.stream.Collectors; //import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; //import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.jcs.api.entity.DataDictionary; //import com.yeejoin.amos.boot.module.jcs.api.entity.DataDictionary;
import com.yeejoin.amos.boot.module.jcs.api.mapper.DataDictionaryMapper; //import com.yeejoin.amos.boot.module.jcs.api.mapper.DataDictionaryMapper;
//
/*** ///***
* // *
* 获取动态值 // * 获取动态值
* // *
* **/ // * **/
public class RoleNameExplicitConstraint implements ExplicitInterface { //public class RoleNameExplicitConstraint implements ExplicitInterface {
//
@Override // @Override
public String[] source(String type,DataDictionaryMapper dataDictionaryMapper) { // public String[] source(String type,DataDictionaryMapper dataDictionaryMapper) {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>(); // QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type); // queryWrapper.eq("type", type);
queryWrapper.orderByAsc("sort_num"); // queryWrapper.orderByAsc("sort_num");
List<DataDictionary> list= dataDictionaryMapper.selectList(queryWrapper); // List<DataDictionary> list= dataDictionaryMapper.selectList(queryWrapper);
List<String> names = list.stream().map(dataDictionary->{ // List<String> names = list.stream().map(dataDictionary->{
return dataDictionary.getName()+"@"+dataDictionary.getCode(); // return dataDictionary.getName()+"@"+dataDictionary.getCode();
} // }
).collect(Collectors.toList()); // ).collect(Collectors.toList());
String[] str=names.toArray(new String[names.size()]); // String[] str=names.toArray(new String[names.size()]);
return str; // return str;
} // }
} //}
package com.yeejoin.amos.boot.module.jcs.api.excel; //package com.yeejoin.amos.boot.module.jcs.api.excel;
//
import org.apache.poi.ss.usermodel.Cell; //import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle; //import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.DataFormat; //import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.usermodel.FillPatternType; //import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.Font; //import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.HorizontalAlignment; //import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors; //import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row; //import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.VerticalAlignment; //import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.Workbook; //import org.apache.poi.ss.usermodel.Workbook;
import com.alibaba.excel.metadata.CellData; //import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.Head; //import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.write.handler.CellWriteHandler; //import com.alibaba.excel.write.handler.CellWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; //import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder; //import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
//
/** ///**
* excel通用单元格格式类 // * excel通用单元格格式类
*/ // */
public class TemplateCellWriteHandler implements CellWriteHandler { //public class TemplateCellWriteHandler implements CellWriteHandler {
//
@Override // @Override
public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, // public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row,
Head head, int relativeRowIndex, boolean isHead) { // Head head, int relativeRowIndex, boolean isHead) {
// TODO Auto-generated method stub // // TODO Auto-generated method stub
//
} // }
//
@Override // @Override
public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, CellData cellData, // public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, CellData cellData,
Cell cell, Head head, int relativeRowIndex, boolean isHead) { // Cell cell, Head head, int relativeRowIndex, boolean isHead) {
Workbook workbooks = writeSheetHolder.getSheet().getWorkbook(); // Workbook workbooks = writeSheetHolder.getSheet().getWorkbook();
writeSheetHolder.getSheet().setColumnWidth(cell.getColumnIndex(), 20 * 256); // writeSheetHolder.getSheet().setColumnWidth(cell.getColumnIndex(), 20 * 256);
CellStyle cellStyle = workbooks.createCellStyle(); // CellStyle cellStyle = workbooks.createCellStyle();
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//居中 // cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//居中
cellStyle.setAlignment(HorizontalAlignment.CENTER); // cellStyle.setAlignment(HorizontalAlignment.CENTER);
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);//设置前景填充样式 // cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);//设置前景填充样式
cellStyle.setFillForegroundColor(IndexedColors.ROYAL_BLUE.getIndex());//前景填充色 // cellStyle.setFillForegroundColor(IndexedColors.ROYAL_BLUE.getIndex());//前景填充色
Font font1 = workbooks.createFont();//设置字体 // Font font1 = workbooks.createFont();//设置字体
font1.setBold(true); // font1.setBold(true);
font1.setColor((short)1); // font1.setColor((short)1);
font1.setFontHeightInPoints((short)15); // font1.setFontHeightInPoints((short)15);
cellStyle.setFont(font1); // cellStyle.setFont(font1);
cell.setCellStyle(cellStyle); // cell.setCellStyle(cellStyle);
//其他列 // //其他列
if (!isHead){ // if (!isHead){
CellStyle style = workbooks.createCellStyle(); // CellStyle style = workbooks.createCellStyle();
DataFormat dataFormat = workbooks.createDataFormat(); // DataFormat dataFormat = workbooks.createDataFormat();
style.setDataFormat(dataFormat.getFormat("@")); // style.setDataFormat(dataFormat.getFormat("@"));
style.setVerticalAlignment(VerticalAlignment.CENTER); // style.setVerticalAlignment(VerticalAlignment.CENTER);
style.setAlignment(HorizontalAlignment.CENTER); // style.setAlignment(HorizontalAlignment.CENTER);
cell.setCellStyle(style); // cell.setCellStyle(style);
} // }
//设置日期 // //设置日期
if (!isHead && cell.getColumnIndex()==19 || !isHead && cell.getColumnIndex()==21|| !isHead && cell.getColumnIndex()==20){ // if (!isHead && cell.getColumnIndex()==19 || !isHead && cell.getColumnIndex()==21|| !isHead && cell.getColumnIndex()==20){
CellStyle style = workbooks.createCellStyle(); // CellStyle style = workbooks.createCellStyle();
DataFormat dataFormat = workbooks.createDataFormat(); // DataFormat dataFormat = workbooks.createDataFormat();
style.setDataFormat(dataFormat.getFormat("yyyy/mm/dd hh:mm:ss")); // style.setDataFormat(dataFormat.getFormat("yyyy/mm/dd hh:mm:ss"));
style.setVerticalAlignment(VerticalAlignment.CENTER); // style.setVerticalAlignment(VerticalAlignment.CENTER);
style.setAlignment(HorizontalAlignment.CENTER); // style.setAlignment(HorizontalAlignment.CENTER);
cell.setCellStyle(style); // cell.setCellStyle(style);
} // }
//设置金额 // //设置金额
if (!isHead && cell.getColumnIndex()==15 ||!isHead && cell.getColumnIndex()==16||!isHead && cell.getColumnIndex()==22 ||!isHead && cell.getColumnIndex()==24||!isHead && cell.getColumnIndex()==25){ // if (!isHead && cell.getColumnIndex()==15 ||!isHead && cell.getColumnIndex()==16||!isHead && cell.getColumnIndex()==22 ||!isHead && cell.getColumnIndex()==24||!isHead && cell.getColumnIndex()==25){
CellStyle style = workbooks.createCellStyle(); // CellStyle style = workbooks.createCellStyle();
DataFormat dataFormat = workbooks.createDataFormat(); // DataFormat dataFormat = workbooks.createDataFormat();
style.setDataFormat(dataFormat.getFormat("0.00")); // style.setDataFormat(dataFormat.getFormat("0.00"));
style.setVerticalAlignment(VerticalAlignment.CENTER); // style.setVerticalAlignment(VerticalAlignment.CENTER);
style.setAlignment(HorizontalAlignment.CENTER); // style.setAlignment(HorizontalAlignment.CENTER);
cell.setCellStyle(style); // cell.setCellStyle(style);
} // }
} // }
//
//
//
} //}
package com.yeejoin.amos.boot.module.jcs.biz.controller; //package com.yeejoin.amos.boot.module.jcs.biz.controller;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; //import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; //import org.springframework.web.multipart.MultipartFile;
//
import com.yeejoin.amos.boot.biz.common.controller.BaseController; //import com.yeejoin.amos.boot.biz.common.controller.BaseController;
//
import org.apache.commons.beanutils.BeanUtils; //import org.apache.commons.beanutils.BeanUtils;
import org.bouncycastle.crypto.RuntimeCryptoException; //import org.bouncycastle.crypto.RuntimeCryptoException;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
//
import java.lang.reflect.InvocationTargetException; //import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.List; //import java.util.List;
//
import javax.servlet.http.HttpServletResponse; //import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.*; //import org.springframework.web.bind.annotation.*;
//
import com.yeejoin.amos.boot.module.jcs.api.dto.ExcelDto; //import com.yeejoin.amos.boot.module.jcs.api.dto.ExcelDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.FireChemicalDto; //import com.yeejoin.amos.boot.module.jcs.api.dto.FireChemicalDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.FireChemical; //import com.yeejoin.amos.boot.module.jcs.api.entity.FireChemical;
import com.yeejoin.amos.boot.module.jcs.api.excel.ExcelUtil; //import com.yeejoin.amos.boot.module.jcs.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.jcs.api.mapper.DataDictionaryMapper; //import com.yeejoin.amos.boot.module.jcs.api.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.FireChemicalServiceImpl; //import com.yeejoin.amos.boot.module.jcs.biz.service.impl.FireChemicalServiceImpl;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.FireStationServiceImpl; //import com.yeejoin.amos.boot.module.jcs.biz.service.impl.FireStationServiceImpl;
//
import org.typroject.tyboot.core.restful.doc.TycloudOperation; //import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType; //import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.Bean; //import org.typroject.tyboot.core.foundation.utils.Bean;
//
//
/** ///**
* 导出导入 //* 导出导入
* //*
* @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 // @Autowired
DataDictionaryMapper dataDictionaryMapper; // DataDictionaryMapper dataDictionaryMapper;
@Autowired // @Autowired
FireChemicalServiceImpl fireChemicalServiceImpl; // FireChemicalServiceImpl fireChemicalServiceImpl;
private final String packageUrl="com.yeejoin.amos.boot.module.jcs.api.dto."; // private final String packageUrl="com.yeejoin.amos.boot.module.jcs.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=packageUrl+excelDto.getClassUrl();
Class clz = Class.forName(url); // Class clz = Class.forName(url);
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), null,clz, dataDictionaryMapper,true); // ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), null,clz, dataDictionaryMapper,true);
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
throw new RuntimeException("系统异常!"); // throw new RuntimeException("系统异常!");
} // }
} // }
//
@TycloudOperation(needAuth = false,ApiLevel = UserType.AGENCY) // @TycloudOperation(needAuth = false,ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导出危险品") // @ApiOperation(value = "导出危险品")
@GetMapping("/getFireStationFile") // @GetMapping("/getFireStationFile")
public void getFireStationFile(HttpServletResponse response,ExcelDto excelDto ) { // public void getFireStationFile(HttpServletResponse response,ExcelDto excelDto ) {
try { // try {
List<FireChemicalDto> date= fireChemicalServiceImpl.queryForFireChemicalList(); // List<FireChemicalDto> date= fireChemicalServiceImpl.queryForFireChemicalList();
ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), date,FireChemicalDto.class, dataDictionaryMapper,false); // ExcelUtil.createTemplate(response, excelDto.getFileName(), excelDto.getSheetName(), date,FireChemicalDto.class, dataDictionaryMapper,false);
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
throw new RuntimeException("系统异常!"); // throw new RuntimeException("系统异常!");
} // }
} // }
@TycloudOperation(needAuth = false,ApiLevel = UserType.AGENCY) // @TycloudOperation(needAuth = false,ApiLevel = UserType.AGENCY)
@ApiOperation(value = "上传文件数据-") // @ApiOperation(value = "上传文件数据-")
@PostMapping("/upload") // @PostMapping("/upload")
public void template2(MultipartFile multipartFile, HttpServletResponse response) throws Exception { // public void template2(MultipartFile multipartFile, HttpServletResponse response) throws Exception {
//
//
List<FireChemicalDto> demoExcelEntities = ExcelUtil.readFirstSheetExcel(multipartFile, FireChemicalDto.class, 1); // List<FireChemicalDto> demoExcelEntities = ExcelUtil.readFirstSheetExcel(multipartFile, FireChemicalDto.class, 1);
List<FireChemical> demoExcelEntityErrorList = new ArrayList<>(); // List<FireChemical> demoExcelEntityErrorList = new ArrayList<>();
demoExcelEntities.forEach( // demoExcelEntities.forEach(
demoExcelEntity -> { // demoExcelEntity -> {
FireChemical demoExcelEntityError = new FireChemical(); // FireChemical demoExcelEntityError = new FireChemical();
demoExcelEntityError = Bean.toPo(demoExcelEntity, demoExcelEntityError); // demoExcelEntityError = Bean.toPo(demoExcelEntity, demoExcelEntityError);
if(demoExcelEntityError.getType()!=null) { // if(demoExcelEntityError.getType()!=null) {
String[] dr= demoExcelEntityError.getType().split("@"); // String[] dr= demoExcelEntityError.getType().split("@");
demoExcelEntityError.setType(dr[0]); // demoExcelEntityError.setType(dr[0]);
demoExcelEntityError.setTypeCode(dr[1]); // demoExcelEntityError.setTypeCode(dr[1]);
} // }
demoExcelEntityErrorList.add(demoExcelEntityError); // demoExcelEntityErrorList.add(demoExcelEntityError);
} // }
); // );
fireChemicalServiceImpl.saveOrUpdateBatch(demoExcelEntityErrorList); // fireChemicalServiceImpl.saveOrUpdateBatch(demoExcelEntityErrorList);
} // }
//
} //}
...@@ -53,11 +53,11 @@ ...@@ -53,11 +53,11 @@
<version>3.1.2</version> <version>3.1.2</version>
</dependency> --> </dependency> -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId> <artifactId>easyexcel</artifactId>
<version>2.0.5</version> <version>2.0.5</version>
</dependency> </dependency>
<!-- 添加commons-lang依赖包 --> <!-- 添加commons-lang依赖包 -->
<dependency> <dependency>
......
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