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
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
143 additions
and
101 deletions
+143
-101
ExcelServiceImpl.java
...os/boot/module/jcs/biz/service/impl/ExcelServiceImpl.java
+143
-101
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 {
...
@@ -154,6 +154,8 @@ public class ExcelServiceImpl {
@Autowired
@Autowired
IDutyPersonService
iDutyPersonService
;
IDutyPersonService
iDutyPersonService
;
@Autowired
@Autowired
DataDictionaryServiceImpl
dataDictionaryService
;
@Autowired
DynamicFormColumnServiceImpl
dynamicFormColumnServiceImpl
;
DynamicFormColumnServiceImpl
dynamicFormColumnServiceImpl
;
@Autowired
@Autowired
LinkageUnitServiceImpl
linkageUnitServiceImpl
;
LinkageUnitServiceImpl
linkageUnitServiceImpl
;
...
@@ -752,107 +754,147 @@ public class ExcelServiceImpl {
...
@@ -752,107 +754,147 @@ public class ExcelServiceImpl {
}
}
private
void
excelImportOrgUsrExcelDtoNew
(
MultipartFile
multipartFile
)
throws
Exception
{
private
void
excelImportOrgUsrExcelDtoNew
(
MultipartFile
multipartFile
)
throws
Exception
{
List
<
OrgUsrExcelDto
>
excelDtoList
=
ExcelUtil
.
readFirstSheetExcel
(
multipartFile
,
OrgUsrExcelDto
.
class
,
1
);
List
<
OrgUsrExcelDto
>
excelDtoList
=
ExcelUtil
.
readFirstSheetExcel
(
multipartFile
,
OrgUsrExcelDto
.
class
,
1
);
if
(!
ObjectUtils
.
isEmpty
(
excelDtoList
))
{
if
(!
ObjectUtils
.
isEmpty
(
excelDtoList
))
{
Set
<
String
>
set
=
new
HashSet
<>();
Set
<
String
>
set
=
new
HashSet
<>();
excelDtoList
.
forEach
(
orgUsrExcelDto
->
{
Set
<
String
>
set1
=
new
HashSet
<>();
if
(
orgUsrExcelDto
.
getParentId
()
!=
null
)
{
excelDtoList
.
forEach
(
orgUsrExcelDto
->
{
String
[]
certificates
=
orgUsrExcelDto
.
getParentId
().
split
(
"@"
);
if
(
orgUsrExcelDto
.
getParentId
()
!=
null
)
{
orgUsrExcelDto
.
setParentName
(
certificates
[
0
]);
String
[]
certificates
=
orgUsrExcelDto
.
getParentId
().
split
(
"@"
);
orgUsrExcelDto
.
setParentId
(
certificates
[
1
]);
orgUsrExcelDto
.
setParentName
(
certificates
[
0
]);
}
orgUsrExcelDto
.
setParentId
(
certificates
[
1
]);
// 动态字段填充
}
List
<
DynamicFormInitDto
>
dynamicFormColumn
=
dynamicFormColumnServiceImpl
.
getFormlist
(
"246"
);
if
(
orgUsrExcelDto
.
getAmosOrgCode
()
!=
null
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
String
[]
certificates
=
orgUsrExcelDto
.
getAmosOrgCode
().
split
(
"@"
);
// 获取对象属性和值
orgUsrExcelDto
.
setAmosOrgId
(
certificates
[
0
]);
Field
[]
fields
=
orgUsrExcelDto
.
getClass
().
getDeclaredFields
();
orgUsrExcelDto
.
setAmosOrgCode
(
certificates
[
1
]);
for
(
Field
field
:
fields
)
{
}
try
{
// 动态字段填充
field
.
setAccessible
(
true
);
List
<
DynamicFormInitDto
>
dynamicFormColumn
=
dynamicFormColumnServiceImpl
.
getFormlist
(
"246"
);
Object
value
=
field
.
get
(
orgUsrExcelDto
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
String
name
=
field
.
getName
();
// 获取对象属性和值
// 解析注解信息
Field
[]
fields
=
orgUsrExcelDto
.
getClass
().
getDeclaredFields
();
ExplicitConstraint
explicitConstraint
=
field
.
getAnnotation
(
ExplicitConstraint
.
class
);
for
(
Field
field
:
fields
)
{
if
(!
ObjectUtils
.
isEmpty
(
explicitConstraint
))
{
try
{
name
=
name
+
"@"
;
field
.
setAccessible
(
true
);
}
map
.
put
(
name
,
value
);
Object
value
=
field
.
get
(
orgUsrExcelDto
);
}
catch
(
Exception
ex
){
logger
.
error
(
"获取{}字段值失败, {}"
,
field
.
getName
(),
ex
);
String
name
=
field
.
getName
();
}
}
// 解析注解信息
ExplicitConstraint
explicitConstraint
=
field
.
getAnnotation
(
ExplicitConstraint
.
class
);
List
<
DynamicFormInstanceDto
>
dynamicFormValue
=
new
ArrayList
<>();
if
(!
ObjectUtils
.
isEmpty
(
explicitConstraint
))
{
List
<
DynamicFormInstance
>
dynamicFormInstancelist
=
new
ArrayList
<>();
name
=
name
+
"@"
;
}
dynamicFormColumn
.
forEach
(
DynamicFormInitDto
->
{
map
.
put
(
name
,
value
);
// 动态标题存在默认值
}
catch
(
Exception
ex
)
{
if
(
"birthdayTime"
.
equals
(
DynamicFormInitDto
.
getKey
()))
{
logger
.
error
(
"获取{}字段值失败, {}"
,
field
.
getName
(),
ex
);
DynamicFormInstanceDto
formItemDescr
=
DynamicFormInitDto
.
getFormItemDescr
();
}
formItemDescr
.
setFieldValue
(
null
);
}
DynamicFormInitDto
.
setFormItemDescr
(
formItemDescr
);
String
s
=
JSONObject
.
toJSONString
(
orgUsrExcelDto
);
}
Map
map1
=
JSONObject
.
parseObject
(
s
,
Map
.
class
);
dynamicFormValue
.
add
(
DynamicFormInitDto
.
getFormItemDescr
());
List
<
DynamicFormInstanceDto
>
dynamicFormValue
=
new
ArrayList
<>();
});
List
<
DynamicFormInstance
>
dynamicFormInstancelist
=
new
ArrayList
<>();
dynamicFormValue
.
forEach
(
dynamicFormInstanceDto
->
{
dynamicFormColumn
.
forEach
(
DynamicFormInitDto
->
{
String
key
=
dynamicFormInstanceDto
.
getFieldCode
();
if
(
"birthdayTime"
.
equals
(
DynamicFormInitDto
.
getKey
()))
{
Object
value
=
map
.
get
(
key
);
DynamicFormInstanceDto
formItemDescr
=
DynamicFormInitDto
.
getFormItemDescr
();
if
(
value
!=
null
)
{
formItemDescr
.
setFieldValue
(
null
);
dynamicFormInstanceDto
.
setFieldValue
(
value
.
toString
());
DynamicFormInitDto
.
setFormItemDescr
(
formItemDescr
);
}
else
{
}
Object
o
=
map
.
get
(
key
+
"@"
);
dynamicFormValue
.
add
(
DynamicFormInitDto
.
getFormItemDescr
());
if
(!
ObjectUtils
.
isEmpty
(
o
))
{
if
(
o
.
toString
().
contains
(
"@"
))
{
});
String
[]
certificates
=
o
.
toString
().
split
(
"@"
);
dynamicFormValue
.
forEach
(
dynamicFormInstanceDto
->
{
dynamicFormInstanceDto
.
setFieldValue
(
certificates
[
1
]);
String
key
=
dynamicFormInstanceDto
.
getFieldCode
();
dynamicFormInstanceDto
.
setFieldValueLabel
(
certificates
[
0
]);
if
(
map
.
containsKey
(
key
)
&&
map
.
get
(
key
)
!=
null
)
{
}
else
{
String
o
=
map
.
get
(
key
).
toString
();
dynamicFormInstanceDto
.
setFieldValue
(
o
.
toString
());
if
(
"birthdayTime"
.
equals
(
key
)
&&
!
ObjectUtils
.
isEmpty
(
o
))
{
}
SimpleDateFormat
ft
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
}
try
{
}
String
date
=
ft
.
format
(
o
);
if
(
"birthdayTime"
.
equals
(
key
)
&&
!
ObjectUtils
.
isEmpty
(
value
))
{
dynamicFormInstanceDto
.
setFieldValue
(
date
);
SimpleDateFormat
ft
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
}
catch
(
Exception
e
)
{
try
{
logger
.
error
(
"日期转换失败"
);
String
date
=
ft
.
format
(
value
);
dynamicFormInstanceDto
.
setFieldValue
(
date
);
}
}
catch
(
Exception
e
)
{
}
logger
.
error
(
"日期转换失败"
);
}
}
if
(
map1
.
containsKey
(
key
))
{
}
String
value
=
map1
.
get
(
key
).
toString
();
if
(
value
.
contains
(
"@"
))
{
DynamicFormInstance
dynamicFormInstance
=
new
DynamicFormInstance
();
String
[]
certificates
=
value
.
split
(
"@"
);
BeanUtils
.
copyProperties
(
dynamicFormInstanceDto
,
dynamicFormInstance
);
dynamicFormInstanceDto
.
setFieldValue
(
certificates
[
1
]);
dynamicFormInstancelist
.
add
(
dynamicFormInstance
);
dynamicFormInstanceDto
.
setFieldValueLabel
(
certificates
[
0
]);
});
}
else
{
dynamicFormInstanceDto
.
setFieldValue
(
value
);
orgUsrExcelDto
.
setDynamicFormValue
(
dynamicFormInstancelist
);
}
Bean
.
toPo
(
getCurrentInfo
(),
orgUsrExcelDto
);
}
// 保存动态表单和人员单位表
DynamicFormInstance
dynamicFormInstance
=
new
DynamicFormInstance
();
if
(!
ObjectUtils
.
isEmpty
(
orgUsrExcelDto
.
getCertificatesNumber
()))
{
BeanUtils
.
copyProperties
(
dynamicFormInstanceDto
,
dynamicFormInstance
);
if
(!
set
.
add
(
orgUsrExcelDto
.
getCertificatesNumber
()))
{
if
(
"gender"
.
equals
(
dynamicFormInstance
.
getFieldCode
()))
{
throw
new
RuntimeException
(
"身份证号码重复!"
);
}
else
{
dynamicFormInstance
.
setFieldValueLabel
(
"346"
.
equals
(
String
.
valueOf
(
dynamicFormInstance
.
getFieldValue
()))
?
"男"
:
"女"
);
boolean
b
=
orgUsrService
.
checkCertificatesNumber
(
orgUsrExcelDto
.
getCertificatesNumber
(),
null
);
}
if
(
b
)
{
if
(
"positionType"
.
equals
(
dynamicFormInstance
.
getFieldCode
()))
{
throw
new
RuntimeException
(
"身份证号码重复!"
);
dynamicFormInstance
.
setFieldValueLabel
(
dataDictionaryService
.
getById
(
dynamicFormInstance
.
getFieldValue
()).
getName
());
}
}
}
String
fieldCode
=
dynamicFormInstance
.
getFieldCode
();
}
if
(
map1
.
containsKey
(
fieldCode
)
&&
fieldCode
.
contains
(
"Code"
))
{
try
{
String
[]
split
=
map1
.
get
(
fieldCode
).
toString
().
split
(
"@"
);
OrgUsrDto
orgUsrDto
=
orgUsrService
.
saveOrgPersonExcel
(
orgUsrExcelDto
);
dynamicFormInstance
.
setFieldValue
(
split
[
0
]);
if
(!
ObjectUtils
.
isEmpty
(
orgUsrDto
))
{
}
// 保存其余项
if
(
"certificatesTypeCode"
.
equals
(
fieldCode
))
{
orgUsrExcelDto
.
setOrgUsrId
(
orgUsrDto
.
getSequenceNbr
().
toString
());
String
[]
split
=
map1
.
get
(
fieldCode
).
toString
().
split
(
"@"
);
savePeopleItem
(
orgUsrExcelDto
);
dynamicFormInstance
.
setFieldValue
(
split
[
1
]);
}
dynamicFormInstance
.
setFieldValueLabel
(
split
[
0
]);
}
catch
(
Exception
e
)
{
}
throw
new
RuntimeException
(
"导入失败!"
);
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
);
// 保存动态表单和人员单位表
String
[]
split55
=
orgUsrExcelDto
.
getCertificatesTypeCode
().
toString
().
split
(
"@"
);
if
(!
ObjectUtils
.
isEmpty
(
orgUsrExcelDto
.
getCertificatesNumber
())
&&
split55
[
1
].
equals
(
"120"
))
{
if
(!
set
.
add
(
orgUsrExcelDto
.
getCertificatesNumber
()))
{
throw
new
RuntimeException
(
"身份证号码重复!"
);
}
else
{
boolean
b
=
orgUsrService
.
checkCertificatesNumber
(
orgUsrExcelDto
.
getCertificatesNumber
(),
null
);
if
(
b
)
{
throw
new
RuntimeException
(
"身份证号码重复!"
);
}
}
}
//平台用户唯一效验
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
))
{
// 保存其余项
orgUsrExcelDto
.
setOrgUsrId
(
orgUsrDto
.
getSequenceNbr
().
toString
());
savePeopleItem
(
orgUsrExcelDto
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
RuntimeException
(
"导入失败!"
);
}
});
}
}
private
void
savePeopleItem
(
OrgUsrExcelDto
item
)
{
private
void
savePeopleItem
(
OrgUsrExcelDto
item
)
{
FirefightersContacts
firefightersContacts
=
new
FirefightersContacts
();
FirefightersContacts
firefightersContacts
=
new
FirefightersContacts
();
...
...
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