Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
customer-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
QG
customer-service
Commits
99afdf82
Commit
99afdf82
authored
Aug 17, 2020
by
suntao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
小慢工单2
parent
837c9519
Changes
13
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1020 additions
and
1 deletion
+1020
-1
pom.xml
pom.xml
+35
-1
WorkOrder.java
src/main/java/cn/quantgroup/customer/entity/WorkOrder.java
+98
-0
WorkOrderStatus.java
.../quantgroup/customer/model/workorder/WorkOrderStatus.java
+30
-0
WorkOrderVO.java
...a/cn/quantgroup/customer/model/workorder/WorkOrderVO.java
+64
-0
WorlOrderPriority.java
...uantgroup/customer/model/workorder/WorlOrderPriority.java
+33
-0
WorkOrderRepo.java
src/main/java/cn/quantgroup/customer/repo/WorkOrderRepo.java
+17
-0
WorkOrderRest.java
src/main/java/cn/quantgroup/customer/rest/WorkOrderRest.java
+57
-0
IWorkOrderService.java
...ava/cn/quantgroup/customer/service/IWorkOrderService.java
+21
-0
WorkOrderServiceImpl.java
...uantgroup/customer/service/impl/WorkOrderServiceImpl.java
+130
-0
CsvReader.java
src/main/java/cn/quantgroup/customer/util/poi/CsvReader.java
+72
-0
Reader.java
src/main/java/cn/quantgroup/customer/util/poi/Reader.java
+22
-0
ReaderTest.java
...main/java/cn/quantgroup/customer/util/poi/ReaderTest.java
+61
-0
XlsxReader.java
...main/java/cn/quantgroup/customer/util/poi/XlsxReader.java
+380
-0
No files found.
pom.xml
View file @
99afdf82
...
@@ -220,6 +220,40 @@
...
@@ -220,6 +220,40 @@
<groupId>
cn.quantgroup
</groupId>
<groupId>
cn.quantgroup
</groupId>
<artifactId>
idgenerator-spring-boot-starter
</artifactId>
<artifactId>
idgenerator-spring-boot-starter
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi
</artifactId>
<version>
3.15
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml
</artifactId>
<version>
3.15
</version>
</dependency>
<dependency>
<groupId>
xerces
</groupId>
<artifactId>
xercesImpl
</artifactId>
<version>
2.11.0
</version>
</dependency>
<dependency>
<groupId>
com.opencsv
</groupId>
<artifactId>
opencsv
</artifactId>
<version>
5.1
</version>
</dependency>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
</dependencies>
</dependencies>
</project>
</project>
src/main/java/cn/quantgroup/customer/entity/WorkOrder.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
entity
;
import
cn.quantgroup.customer.model.workorder.WorkOrderStatus
;
import
cn.quantgroup.customer.model.workorder.WorlOrderPriority
;
import
lombok.*
;
import
javax.persistence.*
;
import
java.sql.Timestamp
;
/**
* @author yangjun
* @Date 2020/4/13 17:37
* @Desc
* @Update
*/
@Entity
@Table
(
name
=
"work_order"
)
@ToString
@Builder
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public
class
WorkOrder
{
@Id
@Column
(
name
=
"id"
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
@Column
(
name
=
"work_order_id"
)
private
Long
workOrderId
;
@Column
(
name
=
"user_name"
)
private
String
userName
;
@Column
(
name
=
"phone"
)
private
String
phone
;
@Column
(
name
=
"subject"
)
private
String
subject
;
@Column
(
name
=
"from_channel"
)
private
String
from
;
@Column
(
name
=
"type1"
)
private
String
type1
;
@Column
(
name
=
"type2"
)
private
String
type2
;
@Column
(
name
=
"type3"
)
private
String
type3
;
/**
* 优先级
*/
@Column
(
name
=
"priority"
)
private
WorlOrderPriority
priority
;
/**
* 状态
*/
@Column
(
name
=
"status"
)
private
WorkOrderStatus
status
;
@Column
(
name
=
"create_username"
)
private
String
createUsername
;
@Column
(
name
=
"op_username"
)
private
String
opUsername
;
/**
* 流转次数
*/
@Column
(
name
=
"duration_times"
)
private
Integer
durationTimes
;
/**
* 流转时长
*/
@Column
(
name
=
"duration"
)
private
Integer
duration
;
@Column
(
name
=
"created_at"
)
private
Timestamp
createdAt
;
@Column
(
name
=
"op_at"
)
private
Timestamp
opAt
;
@Column
(
name
=
"updated_at"
)
private
Timestamp
updatedAt
;
@Column
(
name
=
"remark"
)
private
String
remark
;
}
src/main/java/cn/quantgroup/customer/model/workorder/WorkOrderStatus.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
model
.
workorder
;
import
lombok.Getter
;
public
enum
WorkOrderStatus
{
CREATED
(
"创建"
),
WAIT
(
"等待"
),
DOING
(
"处理中"
),
COMPLETE
(
"完成"
),
RE_OPEN
(
"重启"
),
CLOSE
(
"关闭"
);
@Getter
private
String
desc
;
WorkOrderStatus
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
static
WorkOrderStatus
getWorkOrderStatus
(
String
desc
)
{
for
(
WorkOrderStatus
status
:
WorkOrderStatus
.
values
())
{
if
(
status
.
getDesc
().
equals
(
desc
))
{
return
status
;
}
}
return
null
;
}
}
src/main/java/cn/quantgroup/customer/model/workorder/WorkOrderVO.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
model
.
workorder
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.sql.Timestamp
;
/**
* @description:
* @author:tao
* @create: 2020-08-13 17:07
*/
@Data
public
class
WorkOrderVO
implements
Serializable
{
private
String
workOrderId
;
private
String
userName
;
private
String
phone
;
private
String
subject
;
private
String
from
;
private
String
type1
;
private
String
type2
;
private
String
type3
;
/**
* 优先级
*/
private
String
priority
;
/**
* 状态
*/
private
String
status
;
private
String
createUsername
;
private
String
opUsername
;
/**
* 流转次数
*/
private
String
durationTimes
;
/**
* 流转时长
*/
private
String
duration
;
private
String
createdAt
;
private
String
opAt
;
private
String
updatedAt
;
private
String
remark
;
}
src/main/java/cn/quantgroup/customer/model/workorder/WorlOrderPriority.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
model
.
workorder
;
import
lombok.Getter
;
/**
* @description: 工单优先级
* @author:tao
* @create: 2020-08-14 15:40
*/
public
enum
WorlOrderPriority
{
UNDEFINED
(
"未知"
),
LOW
(
"低"
),
MIDDLE
(
"中"
),
HIGH
(
"高"
);
@Getter
private
String
desc
;
WorlOrderPriority
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
static
WorlOrderPriority
getWorlOrderPriority
(
String
desc
)
{
for
(
WorlOrderPriority
priority
:
WorlOrderPriority
.
values
())
{
if
(
priority
.
getDesc
().
equals
(
desc
))
{
return
priority
;
}
}
return
null
;
}
}
src/main/java/cn/quantgroup/customer/repo/WorkOrderRepo.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
repo
;
import
cn.quantgroup.customer.entity.WorkOrder
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Query
;
import
java.util.List
;
public
interface
WorkOrderRepo
extends
JpaRepository
<
WorkOrder
,
Long
>
,
JpaSpecificationExecutor
<
WorkOrder
>
{
@Query
(
value
=
"select * from operate_log where loan_id =?1 and status = 1 ORDER BY created_at ASC"
,
nativeQuery
=
true
)
List
<
WorkOrder
>
findbss
(
Long
loanId
);
@Query
(
value
=
"select count(1) from operate_log where loan_id =?1 and status = 1"
,
nativeQuery
=
true
)
Long
findLogsCountsByLoanId
(
Long
loanId
);
}
src/main/java/cn/quantgroup/customer/rest/WorkOrderRest.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
rest
;
import
cn.quantgroup.customer.model.workorder.WorkOrderStatus
;
import
cn.quantgroup.customer.rest.vo.JsonResult
;
import
cn.quantgroup.customer.service.IWorkOrderService
;
import
cn.quantgroup.customer.util.poi.ReaderTest
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.io.IOException
;
/**
* @description: 工单查询
* @Author:tao
* @create: 2020-08-13 15:57
*/
@Slf4j
@RestController
@RequestMapping
(
"workOrder"
)
public
class
WorkOrderRest
{
@Autowired
private
IWorkOrderService
workOrderService
;
@GetMapping
(
"queryPage"
)
public
JsonResult
queryPage
(
Integer
pageNumber
,
Integer
pageSize
,
String
phone
,
String
status
)
{
WorkOrderStatus
statusEnum
;
try
{
statusEnum
=
WorkOrderStatus
.
valueOf
(
status
);
}
catch
(
IllegalArgumentException
e
)
{
log
.
error
(
"[workOrderRest_queryPage]查询参数status错误,status={}, e={}"
,
status
,
ExceptionUtils
.
getStackTrace
(
e
));
return
JsonResult
.
buildErrorStateResult
(
"查询参数status错误"
);
}
return
workOrderService
.
queryWorkOrder
(
pageNumber
,
pageSize
,
phone
,
statusEnum
);
}
@GetMapping
(
"upload"
)
public
JsonResult
upload
()
throws
Exception
{
ReaderTest
readerTest
=
new
ReaderTest
();
readerTest
.
read
();
workOrderService
.
importData
(
readerTest
.
getList
());
return
JsonResult
.
buildSuccessResult
(
"success"
,
null
);
}
public
static
void
main
(
String
[]
args
)
throws
IOException
{
}
}
src/main/java/cn/quantgroup/customer/service/IWorkOrderService.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
service
;
import
cn.quantgroup.customer.model.workorder.WorkOrderStatus
;
import
cn.quantgroup.customer.model.workorder.WorkOrderVO
;
import
cn.quantgroup.customer.rest.vo.JsonResult
;
import
org.springframework.data.domain.Page
;
import
java.util.List
;
/**
* @description:
* @author:tao
* @create: 2020-08-14 15:23
*/
public
interface
IWorkOrderService
{
void
importData
(
List
<
WorkOrderVO
>
list
);
JsonResult
<
Page
<
WorkOrderVO
>>
queryWorkOrder
(
Integer
pageNumber
,
Integer
pageSize
,
String
phone
,
WorkOrderStatus
status
);
}
src/main/java/cn/quantgroup/customer/service/impl/WorkOrderServiceImpl.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
service
.
impl
;
import
cn.quantgroup.customer.entity.WorkOrder
;
import
cn.quantgroup.customer.model.workorder.WorkOrderVO
;
import
cn.quantgroup.customer.model.workorder.WorkOrderStatus
;
import
cn.quantgroup.customer.model.workorder.WorlOrderPriority
;
import
cn.quantgroup.customer.repo.WorkOrderRepo
;
import
cn.quantgroup.customer.rest.vo.JsonResult
;
import
cn.quantgroup.customer.service.IWorkOrderService
;
import
cn.quantgroup.customer.util.DateUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.stereotype.Service
;
import
javax.persistence.criteria.Predicate
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
/**
* @description:
* @author:tao
* @create: 2020-08-14 15:24
*/
@Slf4j
@Service
public
class
WorkOrderServiceImpl
implements
IWorkOrderService
{
@Autowired
private
WorkOrderRepo
workOrderRepo
;
@Override
public
void
importData
(
List
<
WorkOrderVO
>
list
)
{
int
pageSize
=
10000
;
// 总页数
int
pages
=
list
.
size
()
/
pageSize
;
int
mo
=
list
.
size
()
%
pageSize
;
if
(
mo
>
0
)
{
pages
++;
}
for
(
int
currentPage
=
0
;
currentPage
<
pages
;
currentPage
++)
{
List
<
WorkOrder
>
workOrders
=
new
ArrayList
<>();
for
(
int
i
=
currentPage
*
pageSize
;
i
<
Math
.
min
(
list
.
size
(),
(
currentPage
+
1
)
*
pageSize
);
i
++)
{
// 0=> [0,10000)
// 1=> [10000,20000)
final
WorkOrderVO
woe
=
list
.
get
(
i
);
WorkOrder
workOrder
=
new
WorkOrder
();
workOrder
.
setWorkOrderId
(
Long
.
valueOf
(
woe
.
getWorkOrderId
()));
workOrder
.
setUserName
(
woe
.
getUserName
());
workOrder
.
setPhone
(
woe
.
getPhone
());
workOrder
.
setSubject
(
woe
.
getSubject
());
workOrder
.
setFrom
(
woe
.
getFrom
());
workOrder
.
setType1
(
woe
.
getType1
());
workOrder
.
setType2
(
woe
.
getType2
());
workOrder
.
setType3
(
woe
.
getType3
());
workOrder
.
setPriority
(
WorlOrderPriority
.
getWorlOrderPriority
(
woe
.
getPriority
()));
workOrder
.
setStatus
(
WorkOrderStatus
.
getWorkOrderStatus
(
woe
.
getStatus
()));
workOrder
.
setCreateUsername
(
woe
.
getCreateUsername
());
workOrder
.
setOpUsername
(
woe
.
getOpUsername
());
workOrder
.
setDurationTimes
(
Integer
.
valueOf
(
woe
.
getDurationTimes
()));
workOrder
.
setDuration
(
Integer
.
valueOf
(
woe
.
getDuration
()));
workOrder
.
setCreatedAt
(
DateUtil
.
stringToTimestamp
(
woe
.
getCreatedAt
()));
workOrder
.
setOpAt
(
DateUtil
.
stringToTimestamp
(
woe
.
getOpAt
()));
workOrder
.
setUpdatedAt
(
DateUtil
.
getCurrentTimestamp
());
workOrder
.
setRemark
(
woe
.
getRemark
());
workOrders
.
add
(
workOrder
);
}
workOrderRepo
.
save
(
workOrders
);
}
log
.
info
(
"导入完成"
);
}
@Override
public
JsonResult
<
Page
<
WorkOrderVO
>>
queryWorkOrder
(
Integer
pageNumber
,
Integer
pageSize
,
String
phone
,
WorkOrderStatus
status
)
{
Page
<
WorkOrder
>
page
=
workOrderRepo
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
{
List
<
Predicate
>
predicates
=
new
ArrayList
<>();
// 指定渠道号
if
(
Objects
.
nonNull
(
status
))
{
predicates
.
add
(
criteriaBuilder
.
equal
(
root
.
get
(
"status"
),
status
.
ordinal
()));
}
if
(
StringUtils
.
isNotEmpty
(
phone
))
{
predicates
.
add
(
criteriaBuilder
.
equal
(
root
.
get
(
"phone"
),
phone
));
}
// 设置查询条件
criteriaQuery
.
where
(
criteriaBuilder
.
and
(
predicates
.
toArray
(
new
Predicate
[
predicates
.
size
()])));
// 指定排序
criteriaQuery
.
orderBy
(
criteriaBuilder
.
desc
(
root
.
get
(
"id"
)));
return
criteriaQuery
.
getRestriction
();
},
new
PageRequest
(
pageNumber
,
pageSize
));
Page
<
WorkOrderVO
>
map
=
page
.
map
(
it
->
{
WorkOrderVO
workOrderVO
=
new
WorkOrderVO
();
workOrderVO
.
setWorkOrderId
(
it
.
getWorkOrderId
()
+
""
);
workOrderVO
.
setUserName
(
it
.
getUserName
());
workOrderVO
.
setPhone
(
it
.
getPhone
());
workOrderVO
.
setSubject
(
it
.
getSubject
());
workOrderVO
.
setFrom
(
it
.
getFrom
());
workOrderVO
.
setType1
(
it
.
getType1
());
workOrderVO
.
setType2
(
it
.
getType2
());
workOrderVO
.
setType3
(
it
.
getType3
());
workOrderVO
.
setPriority
(
it
.
getPriority
().
getDesc
());
workOrderVO
.
setStatus
(
it
.
getStatus
().
getDesc
());
workOrderVO
.
setCreateUsername
(
it
.
getCreateUsername
());
workOrderVO
.
setOpUsername
(
it
.
getOpUsername
());
workOrderVO
.
setDurationTimes
(
it
.
getDurationTimes
()
+
""
);
workOrderVO
.
setDuration
(
it
.
getDuration
()
+
""
);
workOrderVO
.
setCreatedAt
(
it
.
getCreatedAt
()
==
null
?
""
:
DateUtil
.
format
(
it
.
getCreatedAt
(),
DateUtil
.
DATE_FORMAT_1
));
workOrderVO
.
setOpAt
(
it
.
getOpAt
()
==
null
?
""
:
DateUtil
.
format
(
it
.
getOpAt
(),
DateUtil
.
DATE_FORMAT_1
));
workOrderVO
.
setUpdatedAt
(
it
.
getUpdatedAt
()
==
null
?
""
:
DateUtil
.
format
(
it
.
getUpdatedAt
(),
DateUtil
.
DATE_FORMAT_1
));
workOrderVO
.
setRemark
(
it
.
getRemark
());
return
workOrderVO
;
});
if
(
map
!=
null
)
{
return
JsonResult
.
buildSuccessResult
(
"success"
,
map
);
}
else
{
return
JsonResult
.
buildErrorStateResult
(
"查询失败"
);
}
}
}
src/main/java/cn/quantgroup/customer/util/poi/CsvReader.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
util
.
poi
;
import
cn.quantgroup.customer.model.workorder.WorkOrderVO
;
import
cn.quantgroup.customer.util.JSONTools
;
import
com.opencsv.CSVReader
;
import
java.io.*
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @description:
* @author:tao
* @create: 2020-08-14 14:17
*/
public
class
CsvReader
{
public
static
void
main
(
String
[]
args
)
throws
IOException
{
try
{
DataInputStream
in
=
new
DataInputStream
(
new
FileInputStream
(
new
File
(
"/Users/simon/Downloads/2.csv"
)));
CSVReader
csvReader
=
new
CSVReader
(
new
InputStreamReader
(
in
,
"UTF-8"
));
String
[]
strs
;
// while ((strs = csvReader.readNext()) != null) {
// System.out.println(Arrays.deepToString(strs));
//}
List
<
WorkOrderVO
>
list
=
new
ArrayList
<>();
WorkOrderVO
workOrderVO
=
null
;
while
((
strs
=
csvReader
.
readNext
())
!=
null
)
{
System
.
out
.
println
(
JSONTools
.
serialize
(
strs
));
// workOrderExcel = new WorkOrderExcel();
// workOrderExcel.setWorkOrderId(strs[0]);
// workOrderExcel.setDurationTimes(strs[1]);
// workOrderExcel.setUserName(strs[2]);
// workOrderExcel.setPhone(strs[3]);
// workOrderExcel.setSubject(strs[4]);
// workOrderExcel.setFrom(strs[5]);
// workOrderExcel.setType1(strs[6]);
// workOrderExcel.setType2(strs[7]);
// workOrderExcel.setType3(strs[8]);
// workOrderExcel.setPriority(strs[9]);
// workOrderExcel.setCreateUsername(strs[10]);
// workOrderExcel.setCreatedAt(strs[11]);
// workOrderExcel.setOpUsername(strs[12]);
// workOrderExcel.setDuration(strs[13]);
// workOrderExcel.setStatus(strs[14]);
// workOrderExcel.setOpAt(strs[15]);
// workOrderExcel.setRemark(strs[16]);
// list.add(workOrderExcel);
}
// System.out.println(JSONTools.serialize(list.get(0)));
// System.out.println(JSONTools.serialize(list.get(1)));
// System.out.println(JSONTools.serialize(list.get(list.size() - 2)));
// System.out.println(JSONTools.serialize(list.get(list.size() - 1)));
csvReader
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
// List<String> list = FileUtils.readLines(new File("/Users/simon/Downloads/2.csv"));
//
// System.out.println(list.get(0));
// System.out.println(list.get(1));
// System.out.println(list.get(2));
// System.out.println(list.get(3));
// System.out.println(list.get(list.size() - 1));
// System.out.println(list.get(list.size() - 2));
}
}
src/main/java/cn/quantgroup/customer/util/poi/Reader.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
util
.
poi
;
import
java.util.List
;
/**
* @description:
* @author:tao
* @create: 2020-08-14 11:37
*/
public
interface
Reader
{
/**
* 数据放回接口
*
* @param filePath 文件路径
* @param sheetName sheet名称
* @param sheetIndex sheet序号
* @param curRow 行号
* @param cellList 一行的所有单元格字段
*/
void
read
(
String
filePath
,
String
sheetName
,
int
sheetIndex
,
int
curRow
,
List
<
String
>
cellList
);
}
src/main/java/cn/quantgroup/customer/util/poi/ReaderTest.java
0 → 100644
View file @
99afdf82
package
cn
.
quantgroup
.
customer
.
util
.
poi
;
import
cn.quantgroup.customer.model.workorder.WorkOrderVO
;
import
cn.quantgroup.customer.util.JSONTools
;
import
lombok.Getter
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author y
* @create 2018-01-19 0:13
* @desc
**/
public
class
ReaderTest
implements
Reader
{
private
final
static
String
filePath
=
"/Users/simon/Downloads/1.xlsx"
;
// private final static String filePath = "/Users/simon/Downloads/work_order_created.xlsx";
private
WorkOrderVO
workOrderVO
=
null
;
@Getter
private
List
<
WorkOrderVO
>
list
=
new
ArrayList
<>();
public
void
read
()
throws
Exception
{
long
start
=
System
.
currentTimeMillis
();
XlsxReader
excelXlsxReader
=
new
XlsxReader
(
this
);
int
totalRows
=
excelXlsxReader
.
process
(
filePath
);
System
.
out
.
println
(
"总行数:"
+
totalRows
+
",耗时:"
+
(
System
.
currentTimeMillis
()
-
start
));
System
.
out
.
println
(
JSONTools
.
serialize
(
list
.
get
(
0
)));
System
.
out
.
println
(
JSONTools
.
serialize
(
list
.
get
(
list
.
size
()-
1
)));
}
@Override
public
void
read
(
String
filePath
,
String
sheetName
,
int
sheetIndex
,
int
curRow
,
List
<
String
>
cellList
)
{
workOrderVO
=
new
WorkOrderVO
();
workOrderVO
.
setWorkOrderId
(
cellList
.
get
(
0
));
workOrderVO
.
setDurationTimes
(
cellList
.
get
(
1
));
workOrderVO
.
setUserName
(
cellList
.
get
(
2
));
workOrderVO
.
setPhone
(
cellList
.
get
(
3
));
workOrderVO
.
setSubject
(
cellList
.
get
(
4
));
workOrderVO
.
setFrom
(
cellList
.
get
(
5
));
workOrderVO
.
setType1
(
cellList
.
get
(
6
));
workOrderVO
.
setType2
(
cellList
.
get
(
7
));
workOrderVO
.
setType3
(
cellList
.
get
(
8
));
workOrderVO
.
setPriority
(
cellList
.
get
(
9
));
workOrderVO
.
setCreateUsername
(
cellList
.
get
(
10
));
workOrderVO
.
setCreatedAt
(
cellList
.
get
(
11
));
workOrderVO
.
setOpUsername
(
cellList
.
get
(
12
));
workOrderVO
.
setDuration
(
cellList
.
get
(
13
));
workOrderVO
.
setStatus
(
cellList
.
get
(
14
));
workOrderVO
.
setOpAt
(
cellList
.
get
(
15
));
workOrderVO
.
setRemark
(
cellList
.
get
(
16
));
list
.
add
(
workOrderVO
);
}
}
src/main/java/cn/quantgroup/customer/util/poi/XlsxReader.java
0 → 100644
View file @
99afdf82
This diff is collapsed.
Click to expand it.
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