Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
57cafca5
提交
57cafca5
authored
4月 29, 2021
作者:
133
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[报废 销毁 表格模块] 添加表格模块 以及修改bug
上级
56984fd5
隐藏空白字符变更
内嵌
并排
正在显示
23 个修改的文件
包含
584 行增加
和
16 行删除
+584
-16
DeviceDecommissioningBusinessServiceImpl.java
...ervice/impl/DeviceDecommissioningBusinessServiceImpl.java
+1
-0
pom.xml
dev-excel/pom.xml
+44
-0
ExcelApp.java
...cel/src/main/java/com/tykj/dev/device/excel/ExcelApp.java
+21
-0
ExcelService.java
...src/main/java/com/tykj/dev/device/excel/ExcelService.java
+8
-0
ExeclController.java
...com/tykj/dev/device/excel/controller/ExeclController.java
+65
-0
TrainExcel.java
...ain/java/com/tykj/dev/device/excel/entity/TrainExcel.java
+27
-0
TrainUserExcel.java
...java/com/tykj/dev/device/excel/entity/TrainUserExcel.java
+36
-0
package-info.java
...n/java/com/tykj/dev/device/excel/entity/package-info.java
+2
-0
package-info.java
...src/main/java/com/tykj/dev/device/excel/package-info.java
+2
-0
ExcelStyleUtil.java
.../java/com/tykj/dev/device/excel/utils/ExcelStyleUtil.java
+177
-0
ExcelUtil.java
.../main/java/com/tykj/dev/device/excel/utils/ExcelUtil.java
+154
-0
DeviceLibraryController.java
...ev/device/library/controller/DeviceLibraryController.java
+4
-4
DeviceSelectIdsVo.java
...tykj/dev/device/library/subject/vo/DeviceSelectIdsVo.java
+25
-0
StatusEnum.java
...misc/src/main/java/com/tykj/dev/misc/base/StatusEnum.java
+2
-2
ScrapBusinessServiceImpl.java
...v/device/scrap/service/impl/ScrapBusinessServiceImpl.java
+1
-0
DeviceRepelDetail.java
.../dev/device/sendback/entity/domain/DeviceRepelDetail.java
+1
-1
RepelTaskStatistical.java
...v/device/sendback/entity/domain/RepelTaskStatistical.java
+2
-0
RepelQueryService.java
...m/tykj/dev/device/sendback/service/RepelQueryService.java
+3
-0
AgainStorageBillServiceImpl.java
...ce/sendback/service/impl/AgainStorageBillServiceImpl.java
+1
-1
DeviceRepelDetailServiceImpl.java
...e/sendback/service/impl/DeviceRepelDetailServiceImpl.java
+1
-4
DeviceRepelServiceImpl.java
.../device/sendback/service/impl/DeviceRepelServiceImpl.java
+1
-1
RepelBusinessServiceImpl.java
...evice/sendback/service/impl/RepelBusinessServiceImpl.java
+0
-2
pom.xml
pom.xml
+6
-1
没有找到文件。
dev-decommissioning/src/main/java/com/tykj/dev/device/decommissioning/service/impl/DeviceDecommissioningBusinessServiceImpl.java
浏览文件 @
57cafca5
...
...
@@ -121,6 +121,7 @@ public class DeviceDecommissioningBusinessServiceImpl implements DeviceDecommiss
deviceDecommissioningDetail
.
setDecommissioningStatus
(
taskBto
.
getBillStatus
());
deviceDecommissioningDetail
.
setNum
(
deviceDecommissioningDetail1
.
getNum
());
}
deviceDecommissioningDetail
.
setOutboundFile
(
FilesUtil
.
stringFileToList
(
decommissioningOrderOutData
.
getOutboundFileList
()));
deviceDecommissioningDetail
.
setApplyNumber
(
decommissioningOrderOutData
.
getApplyNumber
());
deviceDecommissioningDetail
.
setReplayNumber
(
decommissioningOrderOutData
.
getReplayNumber
());
deviceDecommissioningDetail
.
setReplyFiles
(
FilesUtil
.
stringFileToList
(
decommissioningOrderOutData
.
getReplyFileList
()));
...
...
dev-excel/pom.xml
0 → 100644
浏览文件 @
57cafca5
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
equip
</artifactId>
<groupId>
com.tykj
</groupId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
dev-excel
</artifactId>
<dependencies>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-base
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-web
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-annotation
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
com.tykj.dev
</groupId>
<artifactId>
config
</artifactId>
</dependency>
<dependency>
<groupId>
com.tykj.dev
</groupId>
<artifactId>
misc
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
dev-excel/src/main/java/com/tykj/dev/device/excel/ExcelApp.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
excel
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
/**
* @author zjm
* @version 1.0.0
* @ClassName userApp.java
* @Description TODO
* @createTime 2020年09月01日 14:32:00
*/
@SpringBootApplication
(
scanBasePackages
=
{
"com.tykj.dev.*"
,
}
)
public
class
ExcelApp
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
ExcelApp
.
class
,
args
);
}
}
dev-excel/src/main/java/com/tykj/dev/device/excel/ExcelService.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
excel
;
public
interface
ExcelService
{
/**
* 导出培训名单接口(excel)
*/
void
exportExcelTrainUser
();
}
dev-excel/src/main/java/com/tykj/dev/device/excel/controller/ExeclController.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
excel
.
controller
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
import
cn.afterturn.easypoi.excel.entity.enmus.ExcelType
;
import
com.tykj.dev.config.swagger.AutoDocument
;
import
com.tykj.dev.device.excel.entity.TrainExcel
;
import
com.tykj.dev.device.excel.entity.TrainUserExcel
;
import
com.tykj.dev.device.excel.utils.ExcelStyleUtil
;
import
com.tykj.dev.device.excel.utils.ExcelUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author zjm
*/
@RestController
@RequestMapping
(
value
=
"/excel"
)
@AutoDocument
@Api
(
tags
=
"excel"
,
value
=
"excel"
)
public
class
ExeclController
{
/**
* 保存报废草稿
*/
@GetMapping
(
value
=
"/test"
)
@ApiOperation
(
value
=
"下载培训excel"
,
notes
=
"下载培训excel"
)
public
ResponseEntity
saveDeviceDestroyBill
(
HttpServletRequest
request
,
HttpServletResponse
response
){
TrainExcel
tableInfoVo
=
new
TrainExcel
();
tableInfoVo
.
setName
(
"xxx培训"
);
List
<
TrainUserExcel
>
tableInfoVos
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
6
;
i
++){
TrainUserExcel
trainUserExcel
=
new
TrainUserExcel
();
trainUserExcel
.
setIdCard
(
"123123123131"
);
trainUserExcel
.
setMobel
(
"15171636570"
);
trainUserExcel
.
setName
(
"占金明"
);
trainUserExcel
.
setSex
(
"男"
);
trainUserExcel
.
setNumber
(
i
);
tableInfoVos
.
add
(
trainUserExcel
);
}
tableInfoVo
.
setTrainUserExcels
(
tableInfoVos
);
List
<
TrainExcel
>
list
=
new
ArrayList
<>();
list
.
add
(
tableInfoVo
);
ExportParams
exportParams
=
new
ExportParams
(
tableInfoVo
.
getName
(),
tableInfoVo
.
getName
(),
ExcelType
.
XSSF
);
exportParams
.
setSecondTitle
(
tableInfoVo
.
getName
());
exportParams
.
setStyle
(
ExcelStyleUtil
.
class
);
Workbook
workbook
=
ExcelExportUtil
.
exportExcel
(
exportParams
,
TrainExcel
.
class
,
list
);
ExcelUtil
.
downloadExcel
(
request
,
response
,
workbook
,
tableInfoVo
.
getName
());
return
ResponseEntity
.
ok
(
"ok"
);
}
}
dev-excel/src/main/java/com/tykj/dev/device/excel/entity/TrainExcel.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
excel
.
entity
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
cn.afterturn.easypoi.excel.annotation.ExcelCollection
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @author zjm
* @version 1.0.0
* @ClassName TrainExcel.java
* @Description TODO
* @createTime 2021年04月29日 15:22:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
TrainExcel
{
@Excel
(
name
=
"培训标题"
,
orderNum
=
"1"
,
width
=
30
,
needMerge
=
true
)
private
String
name
;
@ExcelCollection
(
name
=
"参加培训用户信息"
,
orderNum
=
"2"
)
private
List
<
TrainUserExcel
>
trainUserExcels
;
}
dev-excel/src/main/java/com/tykj/dev/device/excel/entity/TrainUserExcel.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
excel
.
entity
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author zjm
* @version 1.0.0
* @ClassName TrainExcel.java
* @Description TODO
* @createTime 2021年04月29日 15:22:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
TrainUserExcel
{
@Excel
(
name
=
"序号"
,
orderNum
=
"1"
,
width
=
30
,
needMerge
=
true
)
private
Integer
number
;
@Excel
(
name
=
"姓名"
,
orderNum
=
"2"
,
width
=
30
,
needMerge
=
true
)
private
String
name
;
@Excel
(
name
=
"性别"
,
orderNum
=
"3"
,
width
=
30
,
needMerge
=
true
)
private
String
sex
;
@Excel
(
name
=
"职务"
,
orderNum
=
"4"
,
width
=
30
,
needMerge
=
true
)
private
String
post
;
@Excel
(
name
=
"手机号"
,
orderNum
=
"5"
,
width
=
30
,
needMerge
=
true
)
private
String
mobel
;
@Excel
(
name
=
"身份证"
,
orderNum
=
"6"
,
width
=
30
,
needMerge
=
true
)
private
String
idCard
;
}
dev-excel/src/main/java/com/tykj/dev/device/excel/entity/package-info.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
excel
.
entity
;
\ No newline at end of file
dev-excel/src/main/java/com/tykj/dev/device/excel/package-info.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
excel
;
\ No newline at end of file
dev-excel/src/main/java/com/tykj/dev/device/excel/utils/ExcelStyleUtil.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
excel
.
utils
;
import
cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity
;
import
cn.afterturn.easypoi.excel.entity.params.ExcelForEachParams
;
import
cn.afterturn.easypoi.excel.export.styler.IExcelExportStyler
;
import
org.apache.poi.ss.usermodel.*
;
public
class
ExcelStyleUtil
implements
IExcelExportStyler
{
private
static
final
short
STRING_FORMAT
=
(
short
)
BuiltinFormats
.
getBuiltinFormat
(
"TEXT"
);
private
static
final
short
FONT_SIZE_TEN
=
10
;
private
static
final
short
FONT_SIZE_ELEVEN
=
11
;
private
static
final
short
FONT_SIZE_TWELVE
=
12
;
private
static
final
short
FONT_SIZE_THIRTEEN
=
13
;
/**
* 大标题样式
*/
private
CellStyle
headerStyle
;
/**
* 每列标题样式
*/
private
CellStyle
titleStyle
;
/**
* 数据行样式
*/
private
CellStyle
styles
;
public
ExcelStyleUtil
(
Workbook
workbook
)
{
this
.
init
(
workbook
);
}
/**
* 初始化样式
*
* @param workbook
*/
private
void
init
(
Workbook
workbook
)
{
this
.
headerStyle
=
initHeaderStyle
(
workbook
);
this
.
titleStyle
=
initTitleStyle
(
workbook
);
this
.
styles
=
initStyles
(
workbook
);
}
/**
* 大标题样式
*
* @param color
* @return
*/
@Override
public
CellStyle
getHeaderStyle
(
short
color
)
{
return
headerStyle
;
}
/**
* 每列标题样式
*
* @param color
* @return
*/
@Override
public
CellStyle
getTitleStyle
(
short
color
)
{
return
titleStyle
;
}
/**
* 数据行样式
*
* @param parity 可以用来表示奇偶行
* @param entity 数据内容
* @return 样式
*/
@Override
public
CellStyle
getStyles
(
boolean
parity
,
ExcelExportEntity
entity
)
{
return
styles
;
}
/**
* 获取样式方法
*
* @param dataRow 数据行
* @param obj 对象
* @param data 数据
*/
@Override
public
CellStyle
getStyles
(
Cell
cell
,
int
dataRow
,
ExcelExportEntity
entity
,
Object
obj
,
Object
data
)
{
return
getStyles
(
true
,
entity
);
}
/**
* 模板使用的样式设置
*/
@Override
public
CellStyle
getTemplateStyles
(
boolean
isSingle
,
ExcelForEachParams
excelForEachParams
)
{
return
null
;
}
/**
* 初始化--大标题样式
*
* @param workbook
* @return
*/
private
CellStyle
initHeaderStyle
(
Workbook
workbook
)
{
CellStyle
style
=
getBaseCellStyle
(
workbook
);
style
.
setFont
(
getFont
(
workbook
,
FONT_SIZE_THIRTEEN
,
true
));
return
style
;
}
/**
* 初始化--每列标题样式
*
* @param workbook
* @return
*/
private
CellStyle
initTitleStyle
(
Workbook
workbook
)
{
CellStyle
style
=
getBaseCellStyle
(
workbook
);
style
.
setFont
(
getFont
(
workbook
,
FONT_SIZE_TWELVE
,
false
));
//背景色
style
.
setFillForegroundColor
(
IndexedColors
.
GREY_25_PERCENT
.
getIndex
());
style
.
setFillPattern
(
FillPatternType
.
SOLID_FOREGROUND
);
return
style
;
}
/**
* 初始化--数据行样式
*
* @param workbook
* @return
*/
private
CellStyle
initStyles
(
Workbook
workbook
)
{
CellStyle
style
=
getBaseCellStyle
(
workbook
);
style
.
setFont
(
getFont
(
workbook
,
FONT_SIZE_ELEVEN
,
false
));
style
.
setDataFormat
(
STRING_FORMAT
);
return
style
;
}
/**
* 基础样式
*
* @return
*/
private
CellStyle
getBaseCellStyle
(
Workbook
workbook
)
{
CellStyle
style
=
workbook
.
createCellStyle
();
//下边框
style
.
setBorderBottom
(
BorderStyle
.
THIN
);
//左边框
style
.
setBorderLeft
(
BorderStyle
.
THIN
);
//上边框
style
.
setBorderTop
(
BorderStyle
.
THIN
);
//右边框
style
.
setBorderRight
(
BorderStyle
.
THIN
);
//水平居中
style
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
//上下居中
style
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
//设置自动换行
style
.
setWrapText
(
true
);
return
style
;
}
/**
* 字体样式
*
* @param size 字体大小
* @param isBold 是否加粗
* @return
*/
private
Font
getFont
(
Workbook
workbook
,
short
size
,
boolean
isBold
)
{
Font
font
=
workbook
.
createFont
();
//字体样式
font
.
setFontName
(
"宋体"
);
//是否加粗
font
.
setBold
(
isBold
);
//字体大小
font
.
setFontHeightInPoints
(
size
);
return
font
;
}
}
dev-excel/src/main/java/com/tykj/dev/device/excel/utils/ExcelUtil.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
excel
.
utils
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.ExcelImportUtil
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
import
cn.afterturn.easypoi.excel.entity.ImportParams
;
import
cn.afterturn.easypoi.excel.entity.enmus.ExcelType
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.*
;
import
java.net.URLEncoder
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.NoSuchElementException
;
/**
* fp-api.
*
* @author : Matrix [xhyrzldf@gmail.com]
* 18-11-15 .
*/
public
class
ExcelUtil
{
public
static
void
exportExcel
(
List
<?>
list
,
String
title
,
String
sheetName
,
Class
<?>
pojoClass
,
String
fileName
,
boolean
isCreateHeader
,
HttpServletResponse
response
)
{
ExportParams
exportParams
=
new
ExportParams
(
title
,
sheetName
);
exportParams
.
setCreateHeadRows
(
isCreateHeader
);
defaultExport
(
list
,
pojoClass
,
fileName
,
response
,
exportParams
);
}
public
static
void
exportExcel
(
List
<?>
list
,
String
title
,
String
sheetName
,
Class
<?>
pojoClass
,
String
fileName
,
HttpServletResponse
response
)
{
defaultExport
(
list
,
pojoClass
,
fileName
,
response
,
new
ExportParams
(
title
,
sheetName
));
}
public
static
void
exportExcel
(
List
<
Map
<
String
,
Object
>>
list
,
String
fileName
,
HttpServletResponse
response
)
{
defaultExport
(
list
,
fileName
,
response
);
}
/**
* @param response HTTP response
* @param wb workbook
* @param excelName excelName名称
*/
public
static
void
downloadExcel
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Workbook
wb
,
String
excelName
)
{
// 判断数据
if
(
wb
==
null
)
{
throw
new
RuntimeException
(
"workbook can not be null!"
);
}
// 重置响应对象
response
.
reset
();
String
fileName
=
excelName
+
".xlsx"
;
try
{
String
userAgent
=
request
.
getHeader
(
"USER-AGENT"
);
//获取浏览器版本
if
(
StringUtils
.
contains
(
userAgent
,
"MSIE"
))
{
//IE浏览器
fileName
=
URLEncoder
.
encode
(
fileName
,
"UTF8"
);
}
else
if
(
StringUtils
.
contains
(
userAgent
,
"Mozilla"
))
{
//google,火狐浏览器
fileName
=
new
String
(
fileName
.
getBytes
(
"UTF-8"
),
"ISO8859-1"
);
}
else
{
fileName
=
URLEncoder
.
encode
(
fileName
,
"UTF8"
);
//其他浏览器
}
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
fileName
);
response
.
setContentType
(
"application/octet-stream;charset=UTF-8"
);
response
.
setHeader
(
"Pragma"
,
"no-cache"
);
response
.
setDateHeader
(
"Expires"
,
0
);
response
.
setHeader
(
"Access-Control-Allow-Origin"
,
request
.
getHeader
(
"Origin"
));
response
.
setHeader
(
"Access-Control-Allow-Credentials"
,
"true"
);
response
.
setHeader
(
"Access-Control-Allow-Methods"
,
"POST, GET, OPTIONS, PUT, PATCH, DELETE"
);
response
.
setHeader
(
"Access-Control-Max-Age"
,
"3600"
);
response
.
setHeader
(
"Access-Control-Allow-Headers"
,
"Origin, X-Requested-With, Content-Type, Accept"
);
// 写出数据输出流到页面
try
{
OutputStream
output
=
response
.
getOutputStream
();
BufferedOutputStream
bufferedOutPut
=
new
BufferedOutputStream
(
output
);
wb
.
write
(
bufferedOutPut
);
bufferedOutPut
.
flush
();
bufferedOutPut
.
close
();
output
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
private
static
void
defaultExport
(
List
<?>
list
,
Class
<?>
pojoClass
,
String
fileName
,
HttpServletResponse
response
,
ExportParams
exportParams
)
{
Workbook
workbook
=
ExcelExportUtil
.
exportExcel
(
exportParams
,
pojoClass
,
list
);
downLoadExcel
(
fileName
,
response
,
workbook
);
}
private
static
void
downLoadExcel
(
String
fileName
,
HttpServletResponse
response
,
Workbook
workbook
)
{
try
{
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setHeader
(
"content-Type"
,
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
fileName
,
"UTF-8"
));
workbook
.
write
(
response
.
getOutputStream
());
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
.
getMessage
());
}
}
private
static
void
defaultExport
(
List
<
Map
<
String
,
Object
>>
list
,
String
fileName
,
HttpServletResponse
response
)
{
Workbook
workbook
=
ExcelExportUtil
.
exportExcel
(
list
,
ExcelType
.
HSSF
);
downLoadExcel
(
fileName
,
response
,
workbook
);
}
public
static
<
T
>
List
<
T
>
importExcel
(
String
filePath
,
Integer
titleRows
,
Integer
headerRows
,
Class
<
T
>
pojoClass
)
{
if
(
StringUtils
.
isBlank
(
filePath
))
{
return
null
;
}
ImportParams
params
=
new
ImportParams
();
params
.
setTitleRows
(
titleRows
);
params
.
setHeadRows
(
headerRows
);
List
<
T
>
list
;
try
{
list
=
ExcelImportUtil
.
importExcel
(
new
File
(
filePath
),
pojoClass
,
params
);
}
catch
(
NoSuchElementException
e
)
{
throw
new
RuntimeException
(
"模板不能为空"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
RuntimeException
(
e
.
getMessage
());
}
return
list
;
}
public
static
<
T
>
List
<
T
>
importExcel
(
MultipartFile
file
,
Integer
titleRows
,
Integer
headerRows
,
Class
<
T
>
pojoClass
)
{
if
(
file
==
null
)
{
return
null
;
}
ImportParams
params
=
new
ImportParams
();
params
.
setTitleRows
(
titleRows
);
params
.
setHeadRows
(
headerRows
);
// 开启Excel校验
params
.
setNeedVerfiy
(
true
);
List
<
T
>
list
;
try
{
list
=
ExcelImportUtil
.
importExcel
(
file
.
getInputStream
(),
pojoClass
,
params
);
}
catch
(
NoSuchElementException
e
)
{
throw
new
RuntimeException
(
"excel文件不能为空"
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
.
getMessage
());
}
return
list
;
}
}
dev-library/src/main/java/com/tykj/dev/device/library/controller/DeviceLibraryController.java
浏览文件 @
57cafca5
...
...
@@ -89,11 +89,11 @@ public class DeviceLibraryController {
}
@ApiOperation
(
value
=
"根据装备id查询装备详情"
,
notes
=
"根据装备id查询装备详情"
)
@PostMapping
(
"/selectByIds
/{page}/{size}
"
)
public
ResponseEntity
selectByIds
(
@RequestBody
List
<
Integer
>
ids
,
@PathVariable
(
"page"
)
int
page
,
@PathVariable
(
"size"
)
int
size
){
@PostMapping
(
"/selectByIds"
)
public
ResponseEntity
selectByIds
(
@RequestBody
DeviceSelectIdsVo
deviceSelectIdsVo
){
List
<
DeviceLibrary
>
deviceLibraries
=
new
ArrayList
<>();
ids
.
forEach
(
integer
->
deviceLibraries
.
add
(
deviceLibraryService
.
getOne
(
integer
).
setConfigName
()));
return
ResponseEntity
.
ok
(
PageUtil
.
getPerPage
(
page
,
size
,
deviceLibraries
,
PageRequest
.
of
(
page
,
size
)));
deviceSelectIdsVo
.
getIds
()
.
forEach
(
integer
->
deviceLibraries
.
add
(
deviceLibraryService
.
getOne
(
integer
).
setConfigName
()));
return
ResponseEntity
.
ok
(
PageUtil
.
getPerPage
(
deviceSelectIdsVo
.
getPage
(),
deviceSelectIdsVo
.
getSize
(),
deviceLibraries
,
PageRequest
.
of
(
deviceSelectIdsVo
.
getPage
(),
deviceSelectIdsVo
.
getSize
()
)));
}
@ApiOperation
(
value
=
"根据装备id查询装备详情"
,
notes
=
"根据装备id查询装备详情"
)
...
...
dev-library/src/main/java/com/tykj/dev/device/library/subject/vo/DeviceSelectIdsVo.java
0 → 100644
浏览文件 @
57cafca5
package
com
.
tykj
.
dev
.
device
.
library
.
subject
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @author zjm
* @version 1.0.0
* @ClassName DeviceSelectIdsVo.java
* @Description TODO
* @createTime 2021年04月29日 20:12:00
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
DeviceSelectIdsVo
{
private
Integer
page
;
private
Integer
size
;
private
List
<
Integer
>
ids
;
}
dev-misc/src/main/java/com/tykj/dev/misc/base/StatusEnum.java
浏览文件 @
57cafca5
...
...
@@ -71,7 +71,7 @@ public enum StatusEnum {
SEND_BACK_1207
(
1207
,
"清退装备等待审核确认"
),
SEND_BACK_1208
(
1208
,
"清退装备等待出库"
),
SEND_BACK_1209
(
1209
,
"清退装备等待入库"
),
SEND_BACK_1210
(
1210
,
"
省退役送往省外等待回执
单"
),
SEND_BACK_1210
(
1210
,
"
等待上传退役签收
单"
),
SEND_BACK_1211
(
1211
,
"市发清退任务待省审核"
),
SEND_BACK_1212
(
1212
,
"清退统计任务待办结"
),
SEND_BACK_1213
(
1213
,
"省直属清退任务待上传单据"
),
...
...
@@ -269,7 +269,7 @@ public enum StatusEnum {
/**
* 报废状态
*/
SCRAP_2222
(
2222
,
"待上
传报废
单"
),
SCRAP_2222
(
2222
,
"待上
报废签收
单"
),
SCRAP_2223
(
2223
,
"报废草稿"
),
SCRAP_2224
(
2224
,
"报废出库签章审核"
),
SCRAP_2225
(
2225
,
"报废出库等待盖电子签章"
);
...
...
dev-scrap/src/main/java/com/tykj/dev/device/scrap/service/impl/ScrapBusinessServiceImpl.java
浏览文件 @
57cafca5
...
...
@@ -114,6 +114,7 @@ public class ScrapBusinessServiceImpl implements ScrapBusinessService {
scrap
.
setNum
(
scrap1
.
getNum
());
}
scrap
.
setOutboundFile
(
FilesUtil
.
stringFileToList
(
scrapOrderOutData
.
getOutboundFileList
()));
scrap
.
setApplyNumber
(
scrapOrderOutData
.
getApplyNumber
());
scrap
.
setReplayNumber
(
scrapOrderOutData
.
getReplayNumber
());
scrap
.
setReplyFiles
(
FilesUtil
.
stringFileToList
(
scrapOrderOutData
.
getReplyFileList
()));
...
...
dev-sendback/src/main/java/com/tykj/dev/device/sendback/entity/domain/DeviceRepelDetail.java
浏览文件 @
57cafca5
...
...
@@ -182,7 +182,7 @@ public class DeviceRepelDetail extends BaseEntity {
@Column
(
name
=
"auditing_feedback"
,
columnDefinition
=
"TEXT"
)
private
String
auditingFeedback
;
@ApiModelProperty
(
value
=
"清退状态"
,
name
=
"1.清退中
,2.清退完成 ,
3.无装备清退完成"
)
@ApiModelProperty
(
value
=
"清退状态"
,
name
=
"1.清退中
, 2.清退完成 ,
3.无装备清退完成"
)
private
Integer
repelStatus
=
1
;
@ApiModelProperty
(
value
=
"清退单据类型"
,
name
=
"1.出入库,2.直属 3.本级"
)
...
...
dev-sendback/src/main/java/com/tykj/dev/device/sendback/entity/domain/RepelTaskStatistical.java
浏览文件 @
57cafca5
...
...
@@ -26,6 +26,7 @@ import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
public
class
RepelTaskStatistical
extends
BaseEntity
{
/**
* 数据id
*/
...
...
@@ -39,6 +40,7 @@ public class RepelTaskStatistical extends BaseEntity {
*/
@ApiModelProperty
(
value
=
"业务id"
)
private
Integer
repelId
;
/**
* 父类taskId
*/
...
...
dev-sendback/src/main/java/com/tykj/dev/device/sendback/service/RepelQueryService.java
浏览文件 @
57cafca5
...
...
@@ -119,6 +119,9 @@ public interface RepelQueryService {
*/
PagingVo
repelDeviceInList
(
RepelManagementVo
repelManagementVo
);
/**
* 根据业务ID查询清退业务详情
*/
DeviceRepelDetail
findByBillIdDeviceRepelDetail
(
Integer
repelId
);
/**
...
...
dev-sendback/src/main/java/com/tykj/dev/device/sendback/service/impl/AgainStorageBillServiceImpl.java
浏览文件 @
57cafca5
...
...
@@ -39,7 +39,7 @@ import java.util.stream.Collectors;
* @author zjm
* @version 1.0.0
* @ClassName AgainStorageBillServiceImpl.java
* @Description
TODO
* @Description
直接改变装备的状态记录业务
* @createTime 2021年03月16日 17:07:00
*/
@Service
...
...
dev-sendback/src/main/java/com/tykj/dev/device/sendback/service/impl/DeviceRepelDetailServiceImpl.java
浏览文件 @
57cafca5
...
...
@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
* @author zjm
* @version 1.0.0
* @ClassName DeviceRepelDetailServiceImpl.java
* @Description
TODO
* @Description
清退业务详情逻辑层 每一次出入库生成一条业务
* @createTime 2021年01月07日 09:52:00
*/
@Service
...
...
@@ -85,7 +85,6 @@ public class DeviceRepelDetailServiceImpl implements DeviceRepelDetailService {
@Override
public
List
<
Integer
>
findYearAndUnitToDeviceList
(
Date
time
,
Date
endTime
,
Integer
unitId
)
{
Set
<
Integer
>
libraries
=
new
HashSet
<>();
List
<
DeviceRepelDetail
>
list
=
deviceRepelDetailDao
.
findAllBySendTimeBetweenAndSendUnitIdAndRepelStatus
(
time
,
endTime
,
unitId
,
2
);
deviceRepelDetailDao
.
findAllBySendTimeBetweenAndSendUnitIdAndRepelStatus
(
time
,
endTime
,
unitId
,
2
).
forEach
(
deviceRepelDetail
->
libraries
.
addAll
(
StringUtils
.
stringToList
(
deviceRepelDetail
.
getDeviceIds
()))
);
...
...
@@ -121,8 +120,6 @@ public class DeviceRepelDetailServiceImpl implements DeviceRepelDetailService {
private
Specification
<
DeviceRepelDetail
>
getFindRetiredSpecification
(
RepelDetailSelectVo
repelDetailSelectVo
)
{
PredicateBuilder
<
DeviceRepelDetail
>
predicateBuilder
=
Specifications
.
and
();
// List<Integer> leftStatus=new ArrayList<>();
// leftStatus.add(com.tykj.dev.config.base.DeviceLifeStatus.RETIRED.id);
if
(
repelDetailSelectVo
.
getStartTime
()
!=
null
)
{
predicateBuilder
.
gt
(
"createTime"
,
repelDetailSelectVo
.
getStartTime
());
}
...
...
dev-sendback/src/main/java/com/tykj/dev/device/sendback/service/impl/DeviceRepelServiceImpl.java
浏览文件 @
57cafca5
...
...
@@ -21,7 +21,7 @@ import java.util.stream.Collectors;
* @author zjm
* @version 1.0.0
* @ClassName DeviceRepelServiceImpl.java
* @Description
TODO
* @Description
清退通知详情业务层 发起清退任务 生成一次 转发生成一次
* @createTime 2021年01月07日 09:52:00
*/
@Service
...
...
dev-sendback/src/main/java/com/tykj/dev/device/sendback/service/impl/RepelBusinessServiceImpl.java
浏览文件 @
57cafca5
...
...
@@ -442,12 +442,10 @@ public class RepelBusinessServiceImpl implements RepelBusinessService {
}
public
static
void
main
(
String
[]
args
)
{
// String a="[{\"model\":\"BM-002\",\"count\":0},{\"model\":\"BM-001\",\"count\":0},{\"model\":\"aa\",\"count\":0},{\"model\":\"bb\",\"count\":0}]";
// List<ModelCount> modelCountList= JacksonUtil.readValue(a, new TypeReference<List<ModelCount>>() {});
// log.info("---{}",modelCountList.size());
// boolean flag= repelTaskStatisticalService.findAllRepelTaskStatistical(589,286).stream().allMatch(e->e.getTaskStatus()!=1);
}
@Override
...
...
pom.xml
浏览文件 @
57cafca5
...
...
@@ -46,6 +46,7 @@
<module>
dev-es
</module>
<module>
dev-loss
</module>
<module>
dev-decommissioning
</module>
<module>
dev-excel
</module>
</modules>
<properties>
...
...
@@ -227,7 +228,11 @@
<artifactId>
dev-decommissioning
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.tykj
</groupId>
<artifactId>
dev-excel
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependencies>
</dependencyManagement>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论