Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
2a018dea
Commit
2a018dea
authored
Jul 01, 2021
by
tangwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
注释导出
parent
825ac0e2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
422 additions
and
504 deletions
+422
-504
BaseDto.java
...in/java/com/yeejoin/amos/boot/biz/common/dto/BaseDto.java
+6
-6
BeanConverUtil.java
...om/yeejoin/amos/boot/biz/common/utils/BeanConverUtil.java
+0
-66
ExcelDto.java
...va/com/yeejoin/amos/boot/module/jcs/api/dto/ExcelDto.java
+0
-2
FireChemicalDto.java
...yeejoin/amos/boot/module/jcs/api/dto/FireChemicalDto.java
+11
-25
ExcelListener.java
...yeejoin/amos/boot/module/jcs/api/excel/ExcelListener.java
+48
-48
ExcelUtil.java
...com/yeejoin/amos/boot/module/jcs/api/excel/ExcelUtil.java
+0
-0
ExplicitConstraint.java
...in/amos/boot/module/jcs/api/excel/ExplicitConstraint.java
+20
-20
ExplicitInterface.java
...oin/amos/boot/module/jcs/api/excel/ExplicitInterface.java
+12
-12
RoleNameExplicitConstraint.java
...boot/module/jcs/api/excel/RoleNameExplicitConstraint.java
+29
-29
TemplateCellWriteHandler.java
...s/boot/module/jcs/api/excel/TemplateCellWriteHandler.java
+78
-78
TemplateCellWriteHandlerDate.java
...ot/module/jcs/api/excel/TemplateCellWriteHandlerDate.java
+115
-115
ExcelController.java
.../amos/boot/module/jcs/biz/controller/ExcelController.java
+101
-101
pom.xml
pom.xml
+2
-2
No files found.
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/dto/BaseDto.java
View file @
2a018dea
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
;
}
}
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/utils/BeanConverUtil.java
deleted
100644 → 0
View file @
825ac0e2
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
());
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/dto/ExcelDto.java
View file @
2a018dea
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
;
...
...
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/dto/FireChemicalDto.java
View file @
2a018dea
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
;
...
...
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/excel/ExcelListener.java
View file @
2a018dea
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) {
//
}
//
}
}
//
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/excel/ExcelUtil.java
View file @
2a018dea
This diff is collapsed.
Click to expand it.
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/excel/ExplicitConstraint.java
View file @
2a018dea
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 "";
//
}
//
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/excel/ExplicitInterface.java
View file @
2a018dea
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);
}
//
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/excel/RoleNameExplicitConstraint.java
View file @
2a018dea
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;
}
//
}
}
//
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/excel/TemplateCellWriteHandler.java
View file @
2a018dea
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);
}
//
}
}
//
}
//
//
//
}
//
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/excel/TemplateCellWriteHandlerDate.java
View file @
2a018dea
This diff is collapsed.
Click to expand it.
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/ExcelController.java
View file @
2a018dea
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);
}
//
}
//
}
//
}
pom.xml
View file @
2a018dea
...
@@ -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>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment