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
cfa58c07
Commit
cfa58c07
authored
Nov 23, 2022
by
lisong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
机场代码合并
parent
4f0fdc95
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
67 additions
and
25 deletions
+67
-25
ExcelServiceImpl.java
...os/boot/module/jcs/biz/service/impl/ExcelServiceImpl.java
+67
-25
No files found.
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/ExcelServiceImpl.java
View file @
cfa58c07
...
...
@@ -154,6 +154,8 @@ public class ExcelServiceImpl {
@Autowired
IDutyPersonService
iDutyPersonService
;
@Autowired
DataDictionaryServiceImpl
dataDictionaryService
;
@Autowired
DynamicFormColumnServiceImpl
dynamicFormColumnServiceImpl
;
@Autowired
LinkageUnitServiceImpl
linkageUnitServiceImpl
;
...
...
@@ -756,81 +758,109 @@ public class ExcelServiceImpl {
List
<
OrgUsrExcelDto
>
excelDtoList
=
ExcelUtil
.
readFirstSheetExcel
(
multipartFile
,
OrgUsrExcelDto
.
class
,
1
);
if
(!
ObjectUtils
.
isEmpty
(
excelDtoList
))
{
Set
<
String
>
set
=
new
HashSet
<>();
Set
<
String
>
set1
=
new
HashSet
<>();
excelDtoList
.
forEach
(
orgUsrExcelDto
->
{
if
(
orgUsrExcelDto
.
getParentId
()
!=
null
)
{
String
[]
certificates
=
orgUsrExcelDto
.
getParentId
().
split
(
"@"
);
orgUsrExcelDto
.
setParentName
(
certificates
[
0
]);
orgUsrExcelDto
.
setParentId
(
certificates
[
1
]);
}
if
(
orgUsrExcelDto
.
getAmosOrgCode
()
!=
null
)
{
String
[]
certificates
=
orgUsrExcelDto
.
getAmosOrgCode
().
split
(
"@"
);
orgUsrExcelDto
.
setAmosOrgId
(
certificates
[
0
]);
orgUsrExcelDto
.
setAmosOrgCode
(
certificates
[
1
]);
}
// 动态字段填充
List
<
DynamicFormInitDto
>
dynamicFormColumn
=
dynamicFormColumnServiceImpl
.
getFormlist
(
"246"
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
// 获取对象属性和值
Field
[]
fields
=
orgUsrExcelDto
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
try
{
try
{
field
.
setAccessible
(
true
);
Object
value
=
field
.
get
(
orgUsrExcelDto
);
String
name
=
field
.
getName
();
// 解析注解信息
ExplicitConstraint
explicitConstraint
=
field
.
getAnnotation
(
ExplicitConstraint
.
class
);
if
(!
ObjectUtils
.
isEmpty
(
explicitConstraint
))
{
name
=
name
+
"@"
;
}
map
.
put
(
name
,
value
);
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
logger
.
error
(
"获取{}字段值失败, {}"
,
field
.
getName
(),
ex
);
}
}
String
s
=
JSONObject
.
toJSONString
(
orgUsrExcelDto
);
Map
map1
=
JSONObject
.
parseObject
(
s
,
Map
.
class
);
List
<
DynamicFormInstanceDto
>
dynamicFormValue
=
new
ArrayList
<>();
List
<
DynamicFormInstance
>
dynamicFormInstancelist
=
new
ArrayList
<>();
dynamicFormColumn
.
forEach
(
DynamicFormInitDto
->
{
// 动态标题存在默认值
if
(
"birthdayTime"
.
equals
(
DynamicFormInitDto
.
getKey
()))
{
DynamicFormInstanceDto
formItemDescr
=
DynamicFormInitDto
.
getFormItemDescr
();
formItemDescr
.
setFieldValue
(
null
);
DynamicFormInitDto
.
setFormItemDescr
(
formItemDescr
);
}
dynamicFormValue
.
add
(
DynamicFormInitDto
.
getFormItemDescr
());
});
dynamicFormValue
.
forEach
(
dynamicFormInstanceDto
->
{
String
key
=
dynamicFormInstanceDto
.
getFieldCode
();
Object
value
=
map
.
get
(
key
);
if
(
value
!=
null
)
{
dynamicFormInstanceDto
.
setFieldValue
(
value
.
toString
());
}
else
{
Object
o
=
map
.
get
(
key
+
"@"
);
if
(!
ObjectUtils
.
isEmpty
(
o
))
{
if
(
o
.
toString
().
contains
(
"@"
))
{
String
[]
certificates
=
o
.
toString
().
split
(
"@"
);
dynamicFormInstanceDto
.
setFieldValue
(
certificates
[
1
]);
dynamicFormInstanceDto
.
setFieldValueLabel
(
certificates
[
0
]);
}
else
{
dynamicFormInstanceDto
.
setFieldValue
(
o
.
toString
());
}
}
}
if
(
"birthdayTime"
.
equals
(
key
)
&&
!
ObjectUtils
.
isEmpty
(
value
))
{
if
(
map
.
containsKey
(
key
)
&&
map
.
get
(
key
)
!=
null
)
{
String
o
=
map
.
get
(
key
).
toString
();
if
(
"birthdayTime"
.
equals
(
key
)
&&
!
ObjectUtils
.
isEmpty
(
o
))
{
SimpleDateFormat
ft
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
try
{
String
date
=
ft
.
format
(
value
);
String
date
=
ft
.
format
(
o
);
dynamicFormInstanceDto
.
setFieldValue
(
date
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"日期转换失败"
);
}
}
}
if
(
map1
.
containsKey
(
key
))
{
String
value
=
map1
.
get
(
key
).
toString
();
if
(
value
.
contains
(
"@"
))
{
String
[]
certificates
=
value
.
split
(
"@"
);
dynamicFormInstanceDto
.
setFieldValue
(
certificates
[
1
]);
dynamicFormInstanceDto
.
setFieldValueLabel
(
certificates
[
0
]);
}
else
{
dynamicFormInstanceDto
.
setFieldValue
(
value
);
}
}
DynamicFormInstance
dynamicFormInstance
=
new
DynamicFormInstance
();
BeanUtils
.
copyProperties
(
dynamicFormInstanceDto
,
dynamicFormInstance
);
if
(
"gender"
.
equals
(
dynamicFormInstance
.
getFieldCode
()))
{
dynamicFormInstance
.
setFieldValueLabel
(
"346"
.
equals
(
String
.
valueOf
(
dynamicFormInstance
.
getFieldValue
()))
?
"男"
:
"女"
);
}
if
(
"positionType"
.
equals
(
dynamicFormInstance
.
getFieldCode
()))
{
dynamicFormInstance
.
setFieldValueLabel
(
dataDictionaryService
.
getById
(
dynamicFormInstance
.
getFieldValue
()).
getName
());
}
String
fieldCode
=
dynamicFormInstance
.
getFieldCode
();
if
(
map1
.
containsKey
(
fieldCode
)
&&
fieldCode
.
contains
(
"Code"
))
{
String
[]
split
=
map1
.
get
(
fieldCode
).
toString
().
split
(
"@"
);
dynamicFormInstance
.
setFieldValue
(
split
[
0
]);
}
if
(
"certificatesTypeCode"
.
equals
(
fieldCode
))
{
String
[]
split
=
map1
.
get
(
fieldCode
).
toString
().
split
(
"@"
);
dynamicFormInstance
.
setFieldValue
(
split
[
1
]);
dynamicFormInstance
.
setFieldValueLabel
(
split
[
0
]);
}
if
(
map1
.
containsKey
(
fieldCode
.
substring
(
0
,
fieldCode
.
length
()
-
4
)))
{
dynamicFormInstance
.
setFieldValueLabel
(
map1
.
get
(
fieldCode
.
substring
(
0
,
fieldCode
.
length
()
-
4
)).
toString
());
}
dynamicFormInstancelist
.
add
(
dynamicFormInstance
);
});
orgUsrExcelDto
.
setDynamicFormValue
(
dynamicFormInstancelist
);
Bean
.
toPo
(
getCurrentInfo
(),
orgUsrExcelDto
);
// 保存动态表单和人员单位表
if
(!
ObjectUtils
.
isEmpty
(
orgUsrExcelDto
.
getCertificatesNumber
()))
{
String
[]
split55
=
orgUsrExcelDto
.
getCertificatesTypeCode
().
toString
().
split
(
"@"
);
if
(!
ObjectUtils
.
isEmpty
(
orgUsrExcelDto
.
getCertificatesNumber
())
&&
split55
[
1
].
equals
(
"120"
))
{
if
(!
set
.
add
(
orgUsrExcelDto
.
getCertificatesNumber
()))
{
throw
new
RuntimeException
(
"身份证号码重复!"
);
}
else
{
...
...
@@ -840,6 +870,17 @@ public class ExcelServiceImpl {
}
}
}
//平台用户唯一效验
if
(!
ObjectUtils
.
isEmpty
(
orgUsrExcelDto
.
getAmosOrgId
()))
{
if
(!
set1
.
add
(
orgUsrExcelDto
.
getAmosOrgId
()))
{
throw
new
RuntimeException
(
"关联用户"
+
orgUsrExcelDto
.
getAmosOrgCode
()
+
"重复!"
);
}
else
{
int
num
=
orgUsrMapper
.
amosIdExist
(
orgUsrExcelDto
.
getAmosOrgId
(),
null
);
if
(
num
>
0
)
{
throw
new
RuntimeException
(
"关联用户"
+
orgUsrExcelDto
.
getAmosOrgCode
()
+
"重复!"
);
}
}
}
try
{
OrgUsrDto
orgUsrDto
=
orgUsrService
.
saveOrgPersonExcel
(
orgUsrExcelDto
);
if
(!
ObjectUtils
.
isEmpty
(
orgUsrDto
))
{
...
...
@@ -848,6 +889,7 @@ public class ExcelServiceImpl {
savePeopleItem
(
orgUsrExcelDto
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
RuntimeException
(
"导入失败!"
);
}
});
...
...
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