Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dcs-plan
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
INET-TWO
server
dcs-plan
Commits
dc093fad
Commit
dc093fad
authored
Sep 02, 2024
by
wangqiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加:使用EasyExcel插件实现采购计划导入数据功能
parent
84248c81
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
123 additions
and
2 deletions
+123
-2
Constants.java
...n/java/com/yonde/dcs/plan/common/constants/Constants.java
+8
-0
ExtPuchasePlanExcelVO.java
...a/com/yonde/dcs/plan/common/vo/ExtPuchasePlanExcelVO.java
+11
-2
PurchasePlanExcelListenner.java
...de/dcs/plan/core/listener/PurchasePlanExcelListenner.java
+92
-0
ExtPuchasePlanAttributeService.java
...dcs/plan/core/service/ExtPuchasePlanAttributeService.java
+5
-0
ExtPuchasePlanAttributeServiceImpl.java
...core/service/impl/ExtPuchasePlanAttributeServiceImpl.java
+7
-0
No files found.
dcs-plan-common/src/main/java/com/yonde/dcs/plan/common/constants/Constants.java
View file @
dc093fad
...
@@ -393,4 +393,12 @@ public class Constants {
...
@@ -393,4 +393,12 @@ public class Constants {
* 外部技术联系单
* 外部技术联系单
*/
*/
public
static
final
String
EXT_CONTACT
=
"ExtContactList"
;
public
static
final
String
EXT_CONTACT
=
"ExtContactList"
;
/**
* excel 操作符
*/
public
static
final
String
EXCEL_ADD
=
"新增"
;
public
static
final
String
EXCEL_DELETE
=
"删除"
;
public
static
final
String
EXCEL_UPDATE
=
"更新"
;
}
}
dcs-plan-common/src/main/java/com/yonde/dcs/plan/common/vo/ExtPuchasePlanExcelVO.java
View file @
dc093fad
...
@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode;
...
@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
org.apache.poi.ss.usermodel.CellType
;
import
org.apache.poi.ss.usermodel.CellType
;
import
java.io.File
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -19,10 +20,10 @@ import java.util.List;
...
@@ -19,10 +20,10 @@ import java.util.List;
@Data
@Data
@AllArgsConstructor
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor
public
class
ExtPuchasePlanExcelVO
{
public
class
ExtPuchasePlanExcelVO
{
@ExcelProperty
(
value
=
{
"采购计划"
,
"操作*"
},
index
=
0
)
@ExcelProperty
(
value
=
{
"采购计划"
,
"操作*"
},
index
=
0
)
@ColumnWidth
(
20
)
@ColumnWidth
(
20
)
private
String
operation
;
private
String
operation
;
...
@@ -54,7 +55,7 @@ public class ExtPuchasePlanExcelVO {
...
@@ -54,7 +55,7 @@ public class ExtPuchasePlanExcelVO {
*/
*/
@ExcelProperty
(
value
=
{
"采购计划"
,
"合同交付时间*"
},
index
=
4
)
@ExcelProperty
(
value
=
{
"采购计划"
,
"合同交付时间*"
},
index
=
4
)
@ColumnWidth
(
20
)
@ColumnWidth
(
20
)
private
String
contractActualDeliveryTime
;
private
LocalDateTime
contractActualDeliveryTime
;
/**
/**
* 采购技术文件负责人
* 采购技术文件负责人
...
@@ -85,6 +86,13 @@ public class ExtPuchasePlanExcelVO {
...
@@ -85,6 +86,13 @@ public class ExtPuchasePlanExcelVO {
@ColumnWidth
(
20
)
@ColumnWidth
(
20
)
private
String
secretCode
;
private
String
secretCode
;
/**
* 计划编码
*/
@ExcelProperty
(
value
=
{
"采购计划"
,
"计划编码*"
},
index
=
0
)
@ColumnWidth
(
20
)
private
String
planCode
;
/**
/**
* 备注
* 备注
...
@@ -105,6 +113,7 @@ public class ExtPuchasePlanExcelVO {
...
@@ -105,6 +113,7 @@ public class ExtPuchasePlanExcelVO {
EasyExcel
.
write
(
EasyExcel
.
write
(
"F:\\yangyi\\项目\\清华核研院\\核研院设计文档及原型\\采购计划导入模板.xlsx"
,
ExtPuchasePlanExcelVO
.
class
)
"F:\\yangyi\\项目\\清华核研院\\核研院设计文档及原型\\采购计划导入模板.xlsx"
,
ExtPuchasePlanExcelVO
.
class
)
.
sheet
(
"采购计划"
).
doWrite
(
list
);
.
sheet
(
"采购计划"
).
doWrite
(
list
);
}
}
}
}
...
...
dcs-plan-co
mmon/src/main/java/com/yonde/dcs/plan/common
/listener/PurchasePlanExcelListenner.java
→
dcs-plan-co
re/src/main/java/com/yonde/dcs/plan/core
/listener/PurchasePlanExcelListenner.java
View file @
dc093fad
package
com
.
yonde
.
dcs
.
plan
.
co
mmon
.
listener
;
package
com
.
yonde
.
dcs
.
plan
.
co
re
.
listener
;
import
com.alibaba.excel.EasyExcel
;
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.excel.util.ListUtils
;
import
com.alibaba.excel.util.ListUtils
;
import
com.yonde.dcs.plan.common.constants.Constants
;
import
com.yonde.dcs.plan.common.vo.ExtPuchasePlanAttributeVO
;
import
com.yonde.dcs.plan.common.vo.ExtPuchasePlanExcelVO
;
import
com.yonde.dcs.plan.common.vo.ExtPuchasePlanExcelVO
;
import
com.yonde.dcs.plan.core.service.ExtDistributeRecordService
;
import
com.yonde.dex.basedata.entity.data.OperatorType
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.List
;
@Component
@Slf4j
@Slf4j
public
class
PurchasePlanExcelListenner
extends
AnalysisEventListener
<
ExtPuchasePlanExcelVO
>
{
public
class
PurchasePlanExcelListenner
extends
AnalysisEventListener
<
ExtPuchasePlanExcelVO
>
{
@Autowired
private
ExtDistributeRecordService
extDistributeRecordService
;
/**
/**
* 每隔100条处理下,然后清理list ,方便内存回收
* 每隔100条处理下,然后清理list ,方便内存回收
*/
*/
...
@@ -25,15 +34,22 @@ public class PurchasePlanExcelListenner extends AnalysisEventListener<ExtPuchase
...
@@ -25,15 +34,22 @@ public class PurchasePlanExcelListenner extends AnalysisEventListener<ExtPuchase
@Override
@Override
public
void
invoke
(
ExtPuchasePlanExcelVO
extPuchasePlanExcelVO
,
AnalysisContext
analysisContext
)
{
public
void
invoke
(
ExtPuchasePlanExcelVO
extPuchasePlanExcelVO
,
AnalysisContext
analysisContext
)
{
ExtPuchasePlanAttributeVO
extPuchasePlanAttributeVO
=
new
ExtPuchasePlanAttributeVO
();
log
.
info
(
"解析到一条数据:{}"
,
extPuchasePlanExcelVO
);
log
.
info
(
"解析到一条数据:{}"
,
extPuchasePlanExcelVO
);
cachedDataList
.
add
(
extPuchasePlanExcelVO
);
//todo 需要处理采购计划数据到数据库
if
(
cachedDataList
.
size
()
>=
BATCH_COUNT
)
{
//根据excle中操作符执行 新增、更新、删除
// 处理缓存的数据,比如说入库。。。
if
(
Constants
.
EXCEL_ADD
.
equals
(
extPuchasePlanExcelVO
.
getOperation
())){
// 然后清空
extPuchasePlanAttributeVO
.
setOperator
(
OperatorType
.
ADD
);
//todo 需要处理采购计划数据到数据库
extDistributeRecordService
.
saveRecursion
(
transformObject
(
extPuchasePlanAttributeVO
,
extPuchasePlanExcelVO
));
cachedDataList
.
clear
();
}
else
if
(
Constants
.
EXCEL_UPDATE
.
equals
(
extPuchasePlanExcelVO
.
getOperation
())){
extPuchasePlanAttributeVO
.
setOperator
(
OperatorType
.
MODIFY
);
}
else
if
(
Constants
.
EXCEL_DELETE
.
equals
(
extPuchasePlanExcelVO
.
getOperation
())){
extPuchasePlanAttributeVO
.
setOperator
(
OperatorType
.
REMOVE
);
}
else
{
log
.
info
(
"sheet={} ,操作符={}无效!"
,
analysisContext
.
readSheetHolder
().
getSheetName
(),
extPuchasePlanExcelVO
.
getOperation
());
}
}
}
}
@Override
@Override
...
@@ -54,9 +70,23 @@ public class PurchasePlanExcelListenner extends AnalysisEventListener<ExtPuchase
...
@@ -54,9 +70,23 @@ public class PurchasePlanExcelListenner extends AnalysisEventListener<ExtPuchase
throw
exception
;
throw
exception
;
}
}
//todo wq测试代码
/**
// public static void main(String[] args) {
* 将excel中的数据转换成VO对象
// String fileName = "F:\\yangyi\\项目\\清华核研院\\核研院设计文档及原型\\采购计划导入模板.xlsx";
* @param extPuchasePlanAttributeVO
// EasyExcel.read(fileName, ExtPuchasePlanExcelVO.class, new PurchasePlanExcelListenner()).sheet().doRead();
* @param extPuchasePlanExcelVO
// }
*/
public
ExtPuchasePlanAttributeVO
transformObject
(
ExtPuchasePlanAttributeVO
extPuchasePlanAttributeVO
,
ExtPuchasePlanExcelVO
extPuchasePlanExcelVO
){
extPuchasePlanAttributeVO
.
setOutsourceProjectName
(
extPuchasePlanExcelVO
.
getOutsourceProjectName
());
extPuchasePlanAttributeVO
.
setPurDesignFileSubmitTime
(
extPuchasePlanExcelVO
.
getPurDesignFileSubmitTime
());
extPuchasePlanAttributeVO
.
setContractSigningTime
(
extPuchasePlanExcelVO
.
getContractActualSigningTime
());
extPuchasePlanAttributeVO
.
setContractDeliveryTime
(
extPuchasePlanExcelVO
.
getContractActualDeliveryTime
());
extPuchasePlanAttributeVO
.
setPurDesignFileManager
(
extPuchasePlanExcelVO
.
getPurDesignFileManager
());
extPuchasePlanAttributeVO
.
setPurchaseBudget
(
extPuchasePlanExcelVO
.
getPurchaseBudget
());
extPuchasePlanAttributeVO
.
setSecretCode
(
extPuchasePlanExcelVO
.
getSecretCode
());
extPuchasePlanAttributeVO
.
setPlanCode
(
extPuchasePlanExcelVO
.
getPlanCode
());
extPuchasePlanAttributeVO
.
setNote
(
extPuchasePlanExcelVO
.
getNote
());
//todo wq:excel中的项目代号对应项目属性中什么?
return
extPuchasePlanAttributeVO
;
}
}
}
dcs-plan-core/src/main/java/com/yonde/dcs/plan/core/service/ExtPuchasePlanAttributeService.java
View file @
dc093fad
...
@@ -2,6 +2,9 @@ package com.yonde.dcs.plan.core.service;
...
@@ -2,6 +2,9 @@ package com.yonde.dcs.plan.core.service;
import
com.yonde.dcs.plan.common.vo.ExtPuchasePlanAttributeVO
;
import
com.yonde.dcs.plan.common.vo.ExtPuchasePlanAttributeVO
;
import
com.yonde.dcs.plan.core.service.shadow.ExtPuchasePlanAttributeServiceShadow
;
import
com.yonde.dcs.plan.core.service.shadow.ExtPuchasePlanAttributeServiceShadow
;
import
java.io.File
;
/**
/**
* @description: ExtPuchasePlanAttribute-service
* @description: ExtPuchasePlanAttribute-service
* @author: dexadmin
* @author: dexadmin
...
@@ -10,4 +13,6 @@ import com.yonde.dcs.plan.core.service.shadow.ExtPuchasePlanAttributeServiceShad
...
@@ -10,4 +13,6 @@ import com.yonde.dcs.plan.core.service.shadow.ExtPuchasePlanAttributeServiceShad
**/
**/
public
interface
ExtPuchasePlanAttributeService
<
V
extends
ExtPuchasePlanAttributeVO
>
extends
ExtPuchasePlanAttributeServiceShadow
<
V
>
{
public
interface
ExtPuchasePlanAttributeService
<
V
extends
ExtPuchasePlanAttributeVO
>
extends
ExtPuchasePlanAttributeServiceShadow
<
V
>
{
public
String
ExportPurchasePlan
(
File
file
);
}
}
dcs-plan-core/src/main/java/com/yonde/dcs/plan/core/service/impl/ExtPuchasePlanAttributeServiceImpl.java
View file @
dc093fad
...
@@ -2,6 +2,8 @@ package com.yonde.dcs.plan.core.service.impl;
...
@@ -2,6 +2,8 @@ package com.yonde.dcs.plan.core.service.impl;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
java.io.File
;
import
java.util.List
;
import
java.util.List
;
import
com.yonde.dcs.plan.common.vo.ExtPuchasePlanAttributeVO
;
import
com.yonde.dcs.plan.common.vo.ExtPuchasePlanAttributeVO
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
...
@@ -29,6 +31,11 @@ public class ExtPuchasePlanAttributeServiceImpl<V extends ExtPuchasePlanAttribut
...
@@ -29,6 +31,11 @@ public class ExtPuchasePlanAttributeServiceImpl<V extends ExtPuchasePlanAttribut
@Autowired
@Autowired
ExtPuchasePlanAttributeRepository
<
ExtPuchasePlanAttribute
>
extPuchasePlanAttributeRepository
;
ExtPuchasePlanAttributeRepository
<
ExtPuchasePlanAttribute
>
extPuchasePlanAttributeRepository
;
@Override
public
String
ExportPurchasePlan
(
File
file
)
{
return
null
;
}
}
}
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