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
258ecf81
Commit
258ecf81
authored
Oct 13, 2024
by
wangqiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
IED计划导入时人员校验及将编制人员设置流程中
parent
e27d85dd
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
115 additions
and
33 deletions
+115
-33
ExtPuchasePlanExcelVO.java
...a/com/yonde/dcs/plan/common/vo/ExtPuchasePlanExcelVO.java
+1
-14
IEDPlanExcelListenner.java
...m/yonde/dcs/plan/core/listener/IEDPlanExcelListenner.java
+88
-18
ExtIEDPlanServiceImpl.java
...nde/dcs/plan/core/service/impl/ExtIEDPlanServiceImpl.java
+5
-1
UserUtils.java
...src/main/java/com/yonde/dcs/plan/core/util/UserUtils.java
+21
-0
No files found.
dcs-plan-common/src/main/java/com/yonde/dcs/plan/common/vo/ExtPuchasePlanExcelVO.java
View file @
258ecf81
...
...
@@ -91,7 +91,7 @@ public class ExtPuchasePlanExcelVO {
/**
* 计划编码
*/
@ExcelProperty
(
value
=
{
"采购计划"
,
"计划编
码
*"
},
index
=
8
)
@ExcelProperty
(
value
=
{
"采购计划"
,
"计划编
号
*"
},
index
=
8
)
@ColumnWidth
(
20
)
private
String
planCode
;
...
...
@@ -103,19 +103,6 @@ public class ExtPuchasePlanExcelVO {
@ColumnWidth
(
20
)
private
String
note
;
public
static
void
main
(
String
[]
args
)
{
List
<
ExtPuchasePlanExcelVO
>
list
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<=
1
;
i
++){
ExtPuchasePlanExcelVO
extPuchasePlanExcelVO
=
new
ExtPuchasePlanExcelVO
();
extPuchasePlanExcelVO
.
setNote
(
"测试"
+
i
);
list
.
add
(
extPuchasePlanExcelVO
);
}
EasyExcel
.
write
(
"F:\\yangyi\\项目\\清华核研院\\核研院设计文档及原型\\采购计划导入模板333.xlsx"
,
ExtPuchasePlanExcelVO
.
class
)
.
sheet
(
"采购计划"
).
doWrite
(
list
);
}
}
dcs-plan-core/src/main/java/com/yonde/dcs/plan/core/listener/IEDPlanExcelListenner.java
View file @
258ecf81
...
...
@@ -15,6 +15,7 @@ import com.yonde.dcs.plan.common.vo.ExtPuchasePlanAttributeVO;
import
com.yonde.dcs.plan.core.service.ExtIEDPlanDocLinkService
;
import
com.yonde.dcs.plan.core.service.ExtIEDPlanService
;
import
com.yonde.dcs.plan.core.util.CommonUtils
;
import
com.yonde.dcs.plan.core.util.UserUtils
;
import
com.yonde.dcs.plan.core.util.WorkFlowUtil
;
import
com.yonde.dcs.plan.entity.po.ExtIEDPlanDocLink
;
import
com.yonde.dex.basedata.data.search.SearchItem
;
...
...
@@ -25,6 +26,8 @@ import com.yonde.dex.basedata.entity.data.OperatorType;
import
com.yonde.dex.basedata.exception.DxBusinessException
;
import
com.yonde.dex.dao.service.util.ApplicationContextUtil
;
import
com.yonde.dex.dao.service.util.DxPageUtils
;
import
com.yonde.dex.user.common.vo.DxUserInfoVO
;
import
com.yonde.dex.user.feign.DxUserInfoFeign
;
import
com.yonde.dex.wfc.common.vo.DxWfProcessVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -47,6 +50,7 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
private
ExtIEDPlanDocLinkService
extIEDPlanDocLinkService
;
private
ExtDxDocumentServiceFeign
extDxDocumentServiceFeign
;
private
WorkFlowUtil
workFlowUtil
;
private
UserUtils
userUtils
;
/**
* 每隔100条处理下,然后清理list ,方便内存回收
*/
...
...
@@ -85,6 +89,7 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
this
.
extIEDPlanDocLinkService
=
ApplicationContextUtil
.
getBean
(
ExtIEDPlanDocLinkService
.
class
);
this
.
workFlowUtil
=
ApplicationContextUtil
.
getBean
(
WorkFlowUtil
.
class
);
this
.
extDxDocumentServiceFeign
=
ApplicationContextUtil
.
getBean
(
ExtDxDocumentServiceFeign
.
class
);
this
.
userUtils
=
ApplicationContextUtil
.
getBean
(
UserUtils
.
class
);
this
.
projectId
=
projectId
;
}
...
...
@@ -182,23 +187,8 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
StringBuffer
errorString
=
new
StringBuffer
();
//校验数据
if
(!
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getOperation
())
&&
!
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getFileNumber
()))
{
if
(!
operationList
.
contains
(
extIEDPlanExcelVO
.
getOperation
()))
{
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的操作符无法识别!!"
);
errorList
.
add
(
errorString
);
return
;
}
//文件代号不能为空
if
(
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getFileCode
())){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的文件代号不能为空!!"
);
errorList
.
add
(
errorString
);
return
;
}
//管理系统编码不能为空
if
(
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getSystemNumber
())){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的管理信息系统编码不能为空!!"
);
errorList
.
add
(
errorString
);
return
;
}
//校验excel必填字段是否有效
verifyExcelRequiredFields
(
extIEDPlanExcelVO
,
errorString
);
//如果是新增,查看一下数据库中是不是已经存在
if
(
Constants
.
EXCEL_ADD
.
equals
(
extIEDPlanExcelVO
.
getOperation
()))
{
//文件编码、文件代号、管理系统编码只要有一个为删除存在就不能新增。
...
...
@@ -207,7 +197,7 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行,新增IED计划的文件编号、文件代号或者管理信息系统编码已存在,不能重复添加!"
);
errorList
.
add
(
errorString
);
}
}
else
if
(
Constants
.
EXCEL_DELETE
.
equals
(
extIEDPlanExcelVO
.
getOperation
())){
//删除时校验
}
else
if
(
Constants
.
EXCEL_DELETE
.
equals
(
extIEDPlanExcelVO
.
getOperation
())){
// ExtIEDPlanVO extIEDPlanVO = getIEDPlanByFileNumberAndDeleted(extIEDPlanExcelVO.getFileNumber(),true);
// if(!ObjectUtils.isEmpty(extIEDPlanVO)){
// errorString.append("解析到数据第"+excelDataRow+"行,删除IED计划的文件编号:" + extIEDPlanExcelVO.getFileNumber() + "未查到相关数据,删除失败!");
...
...
@@ -436,4 +426,84 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
extDxDocumentServiceFeign
.
saveRecursion
(
dxDocumentVO
);
}
/**
* 校验excel必填字段
* @param extIEDPlanExcelVO
* @param errorString
*/
public
void
verifyExcelRequiredFields
(
ExtIEDPlanExcelVO
extIEDPlanExcelVO
,
StringBuffer
errorString
){
if
(!
operationList
.
contains
(
extIEDPlanExcelVO
.
getOperation
()))
{
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的操作符无法识别!!"
);
errorList
.
add
(
errorString
);
return
;
}
//文件代号不能为空
if
(
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getFileCode
())){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的文件代号不能为空!!"
);
errorList
.
add
(
errorString
);
return
;
}
//管理系统编码不能为空
if
(
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getSystemNumber
())){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的管理信息系统编码不能为空!!"
);
errorList
.
add
(
errorString
);
return
;
}
//文件提交时间不能为空
if
(
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getFileSubmitTime
())){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的提交时间不能为空!!"
);
errorList
.
add
(
errorString
);
return
;
}
//编写者不能为空
if
(
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getEditor
())){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的编写者不能为空!!"
);
errorList
.
add
(
errorString
);
return
;
}
else
{
DxUserInfoVO
dxUserInfoVO
=
userUtils
.
getUserByName
(
extIEDPlanExcelVO
.
getEditor
());
if
(
ObjectUtils
.
isEmpty
(
dxUserInfoVO
)){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的编写者在系统中未查到!!"
);
errorList
.
add
(
errorString
);
return
;
}
else
{
extIEDPlanExcelVO
.
setEditor
(
String
.
valueOf
(
dxUserInfoVO
.
getId
()));
}
}
//审核不是空,判断该用户是否存在,存在的话,将用户id保存
if
(!
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getAuditor
())){
DxUserInfoVO
dxUserInfoVO
=
userUtils
.
getUserByName
(
extIEDPlanExcelVO
.
getAuditor
());
if
(
ObjectUtils
.
isEmpty
(
dxUserInfoVO
)){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的审核者在系统中未查到!!"
);
errorList
.
add
(
errorString
);
return
;
}
else
{
extIEDPlanExcelVO
.
setAuditor
(
String
.
valueOf
(
dxUserInfoVO
.
getId
()));
}
}
//审定不是空,判断该用户是否存在,存在的话,将用户id保存
if
(!
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getInvestigator
())){
DxUserInfoVO
dxUserInfoVO
=
userUtils
.
getUserByName
(
extIEDPlanExcelVO
.
getInvestigator
());
if
(
ObjectUtils
.
isEmpty
(
dxUserInfoVO
)){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的审定者在系统中未查到!!"
);
errorList
.
add
(
errorString
);
return
;
}
else
{
extIEDPlanExcelVO
.
setInvestigator
(
String
.
valueOf
(
dxUserInfoVO
.
getId
()));
}
}
//批准不是空,判断该用户是否存在,存在的话,将用户id保存
if
(!
StringUtils
.
isEmpty
(
extIEDPlanExcelVO
.
getRatifier
())){
DxUserInfoVO
dxUserInfoVO
=
userUtils
.
getUserByName
(
extIEDPlanExcelVO
.
getRatifier
());
if
(
ObjectUtils
.
isEmpty
(
dxUserInfoVO
)){
errorString
.
append
(
"解析到数据第"
+
excelDataRow
+
"行文件编号为:"
+
extIEDPlanExcelVO
.
getFileNumber
()
+
"的审定者在系统中未查到!!"
);
errorList
.
add
(
errorString
);
return
;
}
else
{
extIEDPlanExcelVO
.
setRatifier
(
String
.
valueOf
(
dxUserInfoVO
.
getId
()));
}
}
}
}
dcs-plan-core/src/main/java/com/yonde/dcs/plan/core/service/impl/ExtIEDPlanServiceImpl.java
View file @
258ecf81
...
...
@@ -74,6 +74,7 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan
@Autowired
private
ExtIEDPlanDocLinkService
extIEDPlanDocLinkService
;
@Override
public
String
importIEDPlan
(
InputStream
inputStream
,
String
projectId
)
{
EasyExcel
.
read
(
inputStream
,
ExtIEDPlanExcelVO
.
class
,
...
...
@@ -201,6 +202,8 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan
dynamicAttrs
.
put
(
"systemCode"
,
extIEDPlanVO
.
getSystemNumber
());
//阶段
dynamicAttrs
.
put
(
"phase"
,
extIEDPlanVO
.
getPhase
());
//编写者
dynamicAttrs
.
put
(
"editor"
,
extIEDPlanVO
.
getEditor
());
//设置动态属性
dxDocumentVO
.
setDynamicAttrs
(
dynamicAttrs
);
//设备号
...
...
@@ -208,6 +211,8 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan
//创建时间
dxDocumentVO
.
setCreateTime
(
LocalDateTime
.
now
());
//设置扩展属性
//项目代号
//todo wq项目代号暂时还未取到
dxDocumentVO
.
setDxDocumentExpand
(
dxDocumentExpand
);
dxDocumentVO
.
setOperator
(
OperatorType
.
ADD
);
DxDocumentVO
dxDocumentVOForDB
=
extDxDocumentServiceFeign
.
saveRecursion
(
dxDocumentVO
);
...
...
@@ -259,7 +264,6 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan
return
ApiResult
.
SUCCESS
;
}
}
dcs-plan-core/src/main/java/com/yonde/dcs/plan/core/util/UserUtils.java
0 → 100644
View file @
258ecf81
package
com
.
yonde
.
dcs
.
plan
.
core
.
util
;
import
com.yonde.dex.user.common.vo.DxUserInfoVO
;
import
com.yonde.dex.user.feign.DxUserInfoFeign
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* 用户信息工具类
*/
@Component
public
class
UserUtils
{
@Autowired
private
DxUserInfoFeign
dxUserInfoFeign
;
public
DxUserInfoVO
getUserByName
(
String
name
){
return
dxUserInfoFeign
.
getUserByName
(
name
);
}
}
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