Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
entrance_api
Project
Project
Details
Activity
Releases
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
王琮
entrance_api
Commits
a83451ba
Commit
a83451ba
authored
Dec 12, 2022
by
王琮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
回滚修改的邀访记录导入
parent
25c36709
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
94 deletions
+52
-94
VisitInfomationServiceImpl.java
...ft/sys/visit/service/impl/VisitInfomationServiceImpl.java
+52
-94
No files found.
src/main/java/org/rcisoft/sys/visit/service/impl/VisitInfomationServiceImpl.java
View file @
a83451ba
...
...
@@ -553,7 +553,7 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
}
catch
(
Exception
e
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
EXCEL_IMPORT_HEADER_ERROR
);
}
if
(!
flag
){
if
(!
flag
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
EXCEL_IMPORT_HEADER_ERROR
);
}
if
(!
flag
||
!
CyCompareToolUtils
.
compareFileName
(
file
,
"邀访信息"
,
0
,
0
))
{
...
...
@@ -567,69 +567,51 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
return
importVistInfoDTO
;
}
/** 从excel表中读到数据,有一部分为空值 */
List
<
VisitInformationErrorDTO
>
visitInfoDtoList
=
CyEpExcelUtil
.
importExcel
(
file
,
2
,
1
,
VisitInformationErrorDTO
.
class
);
List
<
ExportVisitInfoDto
>
visitInfoDtoList
=
CyEpExcelUtil
.
importExcel
(
file
,
2
,
1
,
ExportVisitInfoDto
.
class
);
/** 校验后没有问题的数据 */
List
<
VisitInformationErrorDTO
>
addINfoList
=
new
ArrayList
<>();
List
<
ExportVisitInfoDto
>
addINfoList
=
new
ArrayList
<>();
/** 遍历 从Excel表中读到的数据 抛出不合适的数据 */
try
{
visitInfoDtoList
=
sysUserService
.
ThrowNull
(
visitInfoDtoList
);
}
catch
(
Exception
e
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
ERROR_NETWORK
);
}
//校验 将错误信息放入maps
int
index
=
3
;
//从第3行开始
for
(
VisitInformationErrorDTO
visitInfoDto
:
visitInfoDtoList
)
{
//判断 是否为空
// ErrorDTO infoNull = CheckUtil.infoNotNull(visitInfoDto, index);
addINfoList
.
add
(
visitInfoDto
);
index
++;
//判断整个Excel是不是为空 计算非空数据有多少条
int
information
=
CyCompareToolUtils
.
cmpareInformation
(
visitInfoDtoList
);
if
(
information
==
0
)
{
String
errorBefore
=
"Excel文件不可为空,请检查Excel文件是否填写!"
;
errorText
(
errorBefore
,
importVistInfoDTO
,
maps
,
fileName
);
try
{
errorTxt
.
exportTxtPaper
(
maps
,
fileName
);
}
catch
(
Exception
e
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
ERROR_NETWORK
);
}
return
importVistInfoDTO
;
}
else
if
(
information
>
500
)
{
String
errorMore
=
"单次导入数据不可超过500,请检查!"
;
errorText
(
errorMore
,
importVistInfoDTO
,
maps
,
fileName
);
try
{
errorTxt
.
exportTxtPaper
(
maps
,
fileName
);
}
catch
(
Exception
e
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
ERROR_NETWORK
);
}
return
importVistInfoDTO
;
}
else
{
//去除空数据
try
{
visitInfoDtoList
=
sysUserService
.
ThrowNull
(
visitInfoDtoList
);
}
catch
(
Exception
e
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
ERROR_NETWORK
);
}
//校验 将错误信息放入maps
int
index
=
3
;
//从第3行开始
for
(
ExportVisitInfoDto
visitInfoDto
:
visitInfoDtoList
)
{
//判断 是否为空
ErrorDTO
infoNull
=
CheckUtil
.
infoNotNull
(
visitInfoDto
,
index
);
if
(
infoNull
.
getSuccess
()
==
1
)
maps
.
add
(
infoNull
.
getMap
());
else
addINfoList
.
add
(
visitInfoDto
);
index
++;
}
}
List
<
VisitInfoMation
>
trueList
=
new
ArrayList
<>();
List
<
VisitInformationErrorDTO
>
failureList
=
new
ArrayList
<>();
if
(
addINfoList
.
size
()
>
0
)
{
for
(
VisitInformationErrorDTO
visitInfoDto
:
addINfoList
)
{
// 非空判断
if
(
visitInfoDto
.
getUserName
()
==
null
||
visitInfoDto
.
getUserName
().
equals
(
""
)){
visitInfoDto
.
setError
(
"邀请人姓名为空!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
if
(
visitInfoDto
.
getPhone
()
==
null
||
visitInfoDto
.
getPhone
().
equals
(
""
)){
visitInfoDto
.
setError
(
"邀请人手机号为空!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
if
(
visitInfoDto
.
getVisitReason
()
==
null
||
visitInfoDto
.
getVisitReason
().
equals
(
""
)){
visitInfoDto
.
setError
(
"访问事由为空!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
if
(
visitInfoDto
.
getVisitRegion
()
==
null
||
visitInfoDto
.
getVisitRegion
().
equals
(
""
)){
visitInfoDto
.
setError
(
"访问区域为空!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
if
(
visitInfoDto
.
getVisitDate
()
==
null
||
visitInfoDto
.
getVisitDate
().
equals
(
""
)){
visitInfoDto
.
setError
(
"访问日期为空!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
if
(
visitInfoDto
.
getVisitTime
()
==
null
||
visitInfoDto
.
getVisitTime
().
equals
(
""
)){
visitInfoDto
.
setError
(
"访问时间为空!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
if
(
visitInfoDto
.
getVisitName
()
==
null
||
visitInfoDto
.
getVisitName
().
equals
(
""
)){
visitInfoDto
.
setError
(
"访客姓名为空!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
if
(
visitInfoDto
.
getVisitPhone
()
==
null
||
visitInfoDto
.
getVisitPhone
().
equals
(
""
)){
visitInfoDto
.
setError
(
"访客手机号为空!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
for
(
ExportVisitInfoDto
visitInfoDto
:
addINfoList
)
{
VisitInfoMation
visitInfoMation
=
new
VisitInfoMation
();
// 根据姓名查询
...
...
@@ -639,25 +621,19 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
// 校验手机号
Pattern
pattern
=
Pattern
.
compile
(
"^((13[0-9])|(14[0-9])|(15[0-9])|(16[0-9])|(17[0-9])|(18[0-9]))\\d{8}$+"
);
if
(
visitInfoDto
.
getPhone
().
length
()
!=
11
)
{
visitInfoDto
.
setError
(
"邀请人手机号格式错误!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
throw
new
CyServiceException
(
CyResSvcExcEnum
.
PHONE_DATA_ERROR
);
}
Matcher
m
=
pattern
.
matcher
(
visitInfoDto
.
getPhone
());
boolean
isMatch
=
m
.
matches
();
if
(!
isMatch
)
{
visitInfoDto
.
setError
(
"邀请人手机号格式错误!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
throw
new
CyServiceException
(
CyResSvcExcEnum
.
PHONE_DATA_ERROR
);
}
sysUserDTO
.
setPhone
(
visitInfoDto
.
getPhone
());
sysUserDTO
.
setUserType
(
"0"
);
// 根据姓名查询员工数据
List
<
SysUser
>
sysUsers
=
sysUserRepositorys
.
querySysUsers
(
sysUserDTO
);
if
(
sysUsers
.
size
()
==
0
)
{
visitInfoDto
.
setError
(
"邀请人信息错误!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
throw
new
CyServiceException
(
CyResSvcExcEnum
.
USER_DATA_ERROR
);
}
SysUser
mainUser
=
sysUsers
.
get
(
0
);
visitInfoMation
.
setUserId
(
mainUser
.
getBusinessId
());
...
...
@@ -739,43 +715,25 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
List
<
String
>
visitPhone
=
Arrays
.
asList
(
visitInfoDto
.
getVisitPhone
().
split
(
",|,"
)).
stream
()
.
filter
(
p
->
StringUtils
.
isNotEmpty
(
p
)).
distinct
()
.
collect
(
Collectors
.
toList
());
if
(
visitName
.
size
()
!=
visitPhone
.
size
()){
visitInfoDto
.
setError
(
"访客姓名和访客手机号数量不对应!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
int
isUser
=
0
;
for
(
int
i
=
0
;
i
<
visitName
.
size
();
i
++)
{
// 查询访客是否为员工
SysUser
u
=
new
SysUser
();
u
.
setPhone
(
visitPhone
.
get
(
i
));
List
<
SysUser
>
uList
=
sysUserService
.
findAll
(
u
);
if
(
uList
.
size
()
>
0
){
isUser
=
1
;
}
VisitUser
visitUser
=
new
VisitUser
();
visitUser
.
setUserName
(
visitName
.
get
(
i
));
visitUser
.
setVisitPhone
(
visitPhone
.
get
(
i
));
userList
.
add
(
visitUser
);
}
if
(
isUser
==
1
){
visitInfoDto
.
setError
(
"员工不能作为访客!"
);
failureList
.
add
(
visitInfoDto
);
continue
;
}
visitInfoMation
.
setUserList
(
userList
);
// 新增
trueList
.
add
(
visitInfoMation
);
persist
(
visitInfoMation
);
}
}
if
(
trueList
.
size
()
>
0
){
for
(
VisitInfoMation
v:
trueList
){
baseMapper
.
insert
(
v
);
if
(
null
!=
maps
&&
maps
.
size
()
>
0
)
{
importVistInfoDTO
.
setFilename
(
fileName
);
try
{
errorTxt
.
exportTxtPaper
(
maps
,
fileName
);
}
catch
(
Exception
e
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
ERROR_NETWORK
);
}
}
if
(
failureList
.
size
()
>
0
){
org
.
rcisoft
.
core
.
util
.
CyEpExcelUtil
.
exportExcel
(
failureList
,
"邀访信息"
,
"邀访信息信息"
,
VisitInformationErrorDTO
.
class
,
"错误信息.xls"
,
response
);
}
return
importVistInfoDTO
;
}
...
...
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