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
dab676b9
Commit
dab676b9
authored
Dec 13, 2022
by
王琮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改邀访导入
parent
8041561c
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
81 additions
and
145 deletions
+81
-145
OssINfoUtil.java
src/main/java/org/rcisoft/sys/ossinfo/util/OssINfoUtil.java
+1
-1
CheckUtil.java
src/main/java/org/rcisoft/sys/sysuser/util/CheckUtil.java
+34
-14
VisitInfomationController.java
...isoft/sys/visit/controller/VisitInfomationController.java
+0
-1
ExportVisitInfoDto.java
...in/java/org/rcisoft/sys/visit/dto/ExportVisitInfoDto.java
+1
-0
ExportVisitInfomation.java
...java/org/rcisoft/sys/visit/dto/ExportVisitInfomation.java
+0
-86
VisitInformationErrorDTO.java
...a/org/rcisoft/sys/visit/dto/VisitInformationErrorDTO.java
+1
-3
VisitInfomationServiceImpl.java
...ft/sys/visit/service/impl/VisitInfomationServiceImpl.java
+44
-40
No files found.
src/main/java/org/rcisoft/sys/ossinfo/util/OssINfoUtil.java
View file @
dab676b9
...
@@ -27,7 +27,7 @@ public class OssINfoUtil {
...
@@ -27,7 +27,7 @@ public class OssINfoUtil {
SEPARATOR
=
File
.
separator
;
SEPARATOR
=
File
.
separator
;
}
}
@Value
(
"${global.base_upload_location}"
)
@Value
(
"${global.
path.
base_upload_location}"
)
private
String
baseUploadLocation
;
private
String
baseUploadLocation
;
public
OssInfo
filePath
(
MultipartFile
multipartFile
,
String
temp
)
{
public
OssInfo
filePath
(
MultipartFile
multipartFile
,
String
temp
)
{
...
...
src/main/java/org/rcisoft/sys/sysuser/util/CheckUtil.java
View file @
dab676b9
package
org
.
rcisoft
.
sys
.
sysuser
.
util
;
package
org
.
rcisoft
.
sys
.
sysuser
.
util
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.rcisoft.core.constant.CySysCons
;
import
org.rcisoft.core.constant.CySysCons
;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.sys.sysuser.dto.ExportUserDTO
;
import
org.rcisoft.sys.sysuser.dto.ExportUserDTO
;
import
org.rcisoft.sys.sysuser.entity.SysUser
;
import
org.rcisoft.sys.sysuser.entity.SysUser
;
import
org.rcisoft.sys.visit.dto.ExportVisitInfoDto
;
import
org.rcisoft.sys.visit.dto.ExportVisitInfoDto
;
import
org.rcisoft.sys.visit.dto.ExportVisitUserDTO
;
import
org.rcisoft.sys.visit.dto.ExportVisitUserDTO
;
import
org.rcisoft.sys.visit.dto.VisitInformationErrorDTO
;
import
org.rcisoft.sys.wbac.user.dto.ErrorDTO
;
import
org.rcisoft.sys.wbac.user.dto.ErrorDTO
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeParseException
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@ConditionalOnProperty
(
prefix
=
"cy.model"
,
name
=
"permission"
,
havingValue
=
CySysCons
.
WORK_BASE
)
@ConditionalOnProperty
(
prefix
=
"cy.model"
,
name
=
"permission"
,
havingValue
=
CySysCons
.
WORK_BASE
)
...
@@ -79,23 +88,23 @@ public class CheckUtil {
...
@@ -79,23 +88,23 @@ public class CheckUtil {
return
errorDTO
;
return
errorDTO
;
}
}
public
static
ErrorDTO
infoNotNull
(
ExportVisitInfoDto
visitInfoDto
,
int
index
)
{
public
static
VisitInformationErrorDTO
infoNotNull
(
ExportVisitInfoDto
visitInfoDto
)
{
ErrorDTO
errorDTO
=
new
ErrorDTO
();
VisitInformationErrorDTO
errorDTO
=
new
VisitInformationErrorDTO
();
Map
<
Integer
,
List
<
String
>>
notTrues
=
new
HashMap
<>();
List
<
String
>
notTrue
=
new
ArrayList
<>();
List
<
String
>
notTrue
=
new
ArrayList
<>();
errorDTO
.
setSuccess
(
0
);
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getUserName
()))
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getUserName
()))
notTrue
.
add
(
"
发起
人姓名不能为空"
);
notTrue
.
add
(
"
邀请
人姓名不能为空"
);
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getPhone
()))
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getPhone
()))
notTrue
.
add
(
"
发起
人手机号不能为空"
);
notTrue
.
add
(
"
邀请
人手机号不能为空"
);
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getVisitReason
()))
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getVisitReason
()))
notTrue
.
add
(
"访问事由不能为空"
);
notTrue
.
add
(
"访问事由不能为空"
);
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getVisitRegion
()))
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getVisitRegion
()))
notTrue
.
add
(
"访问区域不能为空"
);
notTrue
.
add
(
"访问区域不能为空"
);
if
(
ObjectUtil
.
isEmpty
(
visitInfoDto
.
getVisitDate
()))
if
(!
isValid
(
visitInfoDto
.
getVisitDate
(),
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
,
Locale
.
CHINA
)))
{
notTrue
.
add
(
"访问日期不能为空"
);
notTrue
.
add
(
"访问日期为空或不符合规范"
);
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getVisitTime
()))
}
notTrue
.
add
(
"访问时间不能为空"
);
if
(!
isValid
(
visitInfoDto
.
getVisitTime
(),
DateTimeFormatter
.
ofPattern
(
"HH:mm"
,
Locale
.
CHINA
)))
{
notTrue
.
add
(
"访问时间为空或不符合规范"
);
}
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getVisitName
()))
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getVisitName
()))
notTrue
.
add
(
"访客姓名不能为空"
);
notTrue
.
add
(
"访客姓名不能为空"
);
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getVisitPhone
()))
if
(
StringUtils
.
isEmpty
(
visitInfoDto
.
getVisitPhone
()))
...
@@ -112,12 +121,23 @@ public class CheckUtil {
...
@@ -112,12 +121,23 @@ public class CheckUtil {
if
(
matchList
.
size
()
<
phone
.
size
())
if
(
matchList
.
size
()
<
phone
.
size
())
notTrue
.
add
(
"访客手机号不符合规范"
);
notTrue
.
add
(
"访客手机号不符合规范"
);
if
(
notTrue
.
size
()
>
0
)
{
if
(
notTrue
.
size
()
>
0
)
{
errorDTO
.
setSuccess
(
1
);
BeanUtil
.
copyProperties
(
visitInfoDto
,
errorDTO
);
notTrues
.
put
(
index
,
notTrue
);
errorDTO
.
setError
(
notTrue
.
stream
().
collect
(
Collectors
.
joining
(
","
)));
errorDTO
.
setMap
(
notTrues
);
}
return
errorDTO
;
return
errorDTO
;
}
}
return
null
;
}
public
static
boolean
isValid
(
String
dateStr
,
DateTimeFormatter
dateFormatter
)
{
if
(
StringUtils
.
isEmpty
(
dateStr
))
return
false
;
try
{
dateFormatter
.
parse
(
dateStr
);
}
catch
(
DateTimeParseException
e
)
{
return
false
;
}
return
true
;
}
public
static
ErrorDTO
visvitNotNull
(
ExportVisitUserDTO
sysUser
,
int
index
)
{
public
static
ErrorDTO
visvitNotNull
(
ExportVisitUserDTO
sysUser
,
int
index
)
{
ErrorDTO
errorDTO
=
new
ErrorDTO
();
ErrorDTO
errorDTO
=
new
ErrorDTO
();
...
...
src/main/java/org/rcisoft/sys/visit/controller/VisitInfomationController.java
View file @
dab676b9
...
@@ -13,7 +13,6 @@ import org.rcisoft.core.jwt.util.CyJwtUtil;
...
@@ -13,7 +13,6 @@ import org.rcisoft.core.jwt.util.CyJwtUtil;
import
org.rcisoft.core.operlog.enums.CyLogTypeEnum
;
import
org.rcisoft.core.operlog.enums.CyLogTypeEnum
;
import
org.rcisoft.core.util.CyEpExcelUtil
;
import
org.rcisoft.core.util.CyEpExcelUtil
;
import
org.rcisoft.core.util.CyUserUtil
;
import
org.rcisoft.core.util.CyUserUtil
;
import
org.rcisoft.sys.visit.dto.VisitInformationErrorDTO
;
import
org.rcisoft.sys.visit.entity.VisitInfoMation
;
import
org.rcisoft.sys.visit.entity.VisitInfoMation
;
import
org.rcisoft.sys.visit.service.VisitInfomationService
;
import
org.rcisoft.sys.visit.service.VisitInfomationService
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.BindingResult
;
...
...
src/main/java/org/rcisoft/sys/visit/dto/ExportVisitInfoDto.java
View file @
dab676b9
...
@@ -5,6 +5,7 @@ import lombok.Data;
...
@@ -5,6 +5,7 @@ import lombok.Data;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
@Data
@Data
public
class
ExportVisitInfoDto
{
public
class
ExportVisitInfoDto
{
...
...
src/main/java/org/rcisoft/sys/visit/dto/ExportVisitInfomation.java
deleted
100644 → 0
View file @
8041561c
package
org
.
rcisoft
.
sys
.
visit
.
dto
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Data
public
class
ExportVisitInfomation
{
/**
* @desc 邀请人id(员工id)
* @column user_id
* @default
*/
@Excel
(
name
=
"邀请人id(员工id)"
,
orderNum
=
"0"
,
width
=
20
)
private
Integer
userId
;
/**
* @desc 发起人姓名
* @column user_name
* @default
*/
@Excel
(
name
=
"邀请人姓名"
,
orderNum
=
"1"
,
width
=
20
)
private
String
userName
;
/**
* @desc 发起人所属部门
* @column dept_name
* @default
*/
@Excel
(
name
=
"邀请人所属部门"
,
orderNum
=
"2"
,
width
=
20
)
private
String
deptName
;
/**
* @desc 发起人职务
* @column post_name
* @default
*/
@Excel
(
name
=
"邀请人职务"
,
orderNum
=
"3"
,
width
=
20
)
private
String
postName
;
/**
* @desc 访问事由
* @column visit_reason
* @default
*/
@Excel
(
name
=
"访问事由"
,
orderNum
=
"4"
,
width
=
20
)
private
String
visitReason
;
/**
* @desc 其他访问事由
* @column visit_reason_other
* @default
*/
@Excel
(
name
=
"其他访问事由"
,
orderNum
=
"4"
,
width
=
20
)
private
String
visitReasonOther
;
/**
* @desc 访问区域
* @column visit_region
* @default
*/
@Excel
(
name
=
"访问区域"
,
orderNum
=
"5"
,
width
=
20
)
private
String
visitRegion
;
/**
* @desc 访问日期
* @column visit_date
* @default
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"访问日期"
,
orderNum
=
"6"
,
width
=
20
,
exportFormat
=
"yyyy-MM-dd"
)
private
Date
visitDate
;
/**
* @desc 访问时间
* @column visit_time
* @default
*/
@Excel
(
name
=
"访问时间"
,
orderNum
=
"7"
,
width
=
20
)
private
String
visitTime
;
}
src/main/java/org/rcisoft/sys/visit/dto/VisitInformationErrorDTO.java
View file @
dab676b9
package
org
.
rcisoft
.
sys
.
visit
.
dto
;
package
org
.
rcisoft
.
sys
.
visit
.
dto
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
org.rcisoft.sys.visit.dto.ExportVisitInfoDto
;
import
org.rcisoft.sys.visit.entity.VisitInfoMation
;
public
class
VisitInformationErrorDTO
extends
ExportVisitInfoDto
{
public
class
VisitInformationErrorDTO
extends
ExportVisitInfoDto
{
@Excel
(
name
=
"错误提示"
,
orderNum
=
"
8
"
,
width
=
40
)
@Excel
(
name
=
"错误提示"
,
orderNum
=
"
9
"
,
width
=
40
)
private
String
error
;
private
String
error
;
public
String
getError
()
{
public
String
getError
()
{
...
...
src/main/java/org/rcisoft/sys/visit/service/impl/VisitInfomationServiceImpl.java
View file @
dab676b9
package
org
.
rcisoft
.
sys
.
visit
.
service
.
impl
;
package
org
.
rcisoft
.
sys
.
visit
.
service
.
impl
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.poi.excel.ExcelUtil
;
import
cn.hutool.poi.excel.ExcelUtil
;
import
com.alibaba.excel.util.FileUtils
;
import
com.alibaba.excel.util.FileUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
@@ -102,10 +103,10 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
...
@@ -102,10 +103,10 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
@Autowired
@Autowired
private
CyDownErrorTxtComp
errorTxt
;
private
CyDownErrorTxtComp
errorTxt
;
@Value
(
"${global.base_upload_location}"
)
@Value
(
"${global.
path.
base_upload_location}"
)
private
String
baseUploadLocation
;
private
String
baseUploadLocation
;
@Value
(
"${global.temp_location}"
)
@Value
(
"${global.
path.
temp_location}"
)
private
String
tempLocation
;
private
String
tempLocation
;
@Autowired
@Autowired
...
@@ -159,7 +160,6 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
...
@@ -159,7 +160,6 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
sysUser
.
setUsername
(
u
.
getVisitPhone
());
sysUser
.
setUsername
(
u
.
getVisitPhone
());
sysUser
.
setNormal
();
sysUser
.
setNormal
();
List
<
SysUser
>
sysUserList
=
sysUserRepositorys
.
querySysUsers
(
sysUser
);
List
<
SysUser
>
sysUserList
=
sysUserRepositorys
.
querySysUsers
(
sysUser
);
// 不存在新增
// 不存在新增
if
(
CollectionUtils
.
isEmpty
(
sysUserList
))
{
if
(
CollectionUtils
.
isEmpty
(
sysUserList
))
{
sysUser
.
setPersonId
(
UUID
.
randomUUID
().
toString
());
sysUser
.
setPersonId
(
UUID
.
randomUUID
().
toString
());
...
@@ -253,7 +253,6 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
...
@@ -253,7 +253,6 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
regionCode
=
regionCode
.
substring
(
0
,
regionCode
.
length
()
-
1
);
regionCode
=
regionCode
.
substring
(
0
,
regionCode
.
length
()
-
1
);
visitInfomation
.
setVisitRegionCode
(
regionCode
);
visitInfomation
.
setVisitRegionCode
(
regionCode
);
}
}
for
(
String
s
:
visitInfomation
.
getVisitRegions
())
{
for
(
String
s
:
visitInfomation
.
getVisitRegions
())
{
region
=
region
+
s
+
','
;
region
=
region
+
s
+
','
;
}
}
...
@@ -261,9 +260,7 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
...
@@ -261,9 +260,7 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
region
=
region
.
substring
(
0
,
region
.
length
()
-
1
);
region
=
region
.
substring
(
0
,
region
.
length
()
-
1
);
visitInfomation
.
setVisitRegion
(
region
);
visitInfomation
.
setVisitRegion
(
region
);
}
}
List
<
VisitUser
>
visitUsers
=
visitInfomation
.
getUserList
();
List
<
VisitUser
>
visitUsers
=
visitInfomation
.
getUserList
();
if
(
visitUsers
.
size
()
>
0
)
{
if
(
visitUsers
.
size
()
>
0
)
{
userService
.
deleteByVisitId
(
visitInfomation
.
getBusinessId
());
userService
.
deleteByVisitId
(
visitInfomation
.
getBusinessId
());
for
(
VisitUser
visitUser
:
visitUsers
)
{
for
(
VisitUser
visitUser
:
visitUsers
)
{
...
@@ -559,11 +556,9 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
...
@@ -559,11 +556,9 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
@Override
@Override
public
ImportVistInfoDTO
importUserExcel
(
MultipartFile
file
,
HttpServletResponse
response
)
throws
ParseException
{
public
ImportVistInfoDTO
importUserExcel
(
MultipartFile
file
,
HttpServletResponse
response
)
throws
ParseException
{
ImportVistInfoDTO
importVistInfoDTO
=
new
ImportVistInfoDTO
();
ImportVistInfoDTO
importVistInfoDTO
=
new
ImportVistInfoDTO
();
Calendar
calendar
=
Calendar
.
getInstance
();
List
<
VisitInformationErrorDTO
>
errorDTOArrayList
=
new
ArrayList
<>();
String
nowTime
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
).
format
(
calendar
.
getTime
());
String
fileName
=
"邀访错误信息"
+
nowTime
+
".txt"
;
List
<
Map
<
Integer
,
List
<
String
>>>
maps
=
new
ArrayList
<>();
ExportVisitInfoDto
exportVisitInfoDto
=
new
ExportVisitInfoDto
();
ExportVisitInfoDto
exportVisitInfoDto
=
new
ExportVisitInfoDto
();
VisitInformationErrorDTO
errorDTO
=
new
VisitInformationErrorDTO
();
boolean
flag
=
false
;
boolean
flag
=
false
;
try
{
try
{
flag
=
CyEpExcelUtil
.
isFileInUser
(
file
,
exportVisitInfoDto
,
2
);
flag
=
CyEpExcelUtil
.
isFileInUser
(
file
,
exportVisitInfoDto
,
2
);
...
@@ -581,9 +576,9 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
...
@@ -581,9 +576,9 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
//判断整个Excel是不是为空 计算非空数据有多少条
//判断整个Excel是不是为空 计算非空数据有多少条
int
information
=
CyCompareToolUtils
.
cmpareInformation
(
visitInfoDtoList
);
int
information
=
CyCompareToolUtils
.
cmpareInformation
(
visitInfoDtoList
);
if
(
information
==
0
)
{
if
(
information
==
0
)
{
throw
new
CyServiceException
(
"Excel文件不可为空,请检查Excel文件是否填写!"
);
throw
new
CyServiceException
(
500
,
"Excel文件不可为空,请检查Excel文件是否填写!"
);
}
else
if
(
information
>
500
)
{
}
else
if
(
information
>
500
)
{
throw
new
CyServiceException
(
"单次导入数据不可超过500,请检查!"
);
throw
new
CyServiceException
(
500
,
"单次导入数据不可超过500,请检查!"
);
}
else
{
}
else
{
//去除空数据
//去除空数据
try
{
try
{
...
@@ -592,41 +587,31 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
...
@@ -592,41 +587,31 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
throw
new
CyServiceException
(
CyResSvcExcEnum
.
ERROR_NETWORK
);
throw
new
CyServiceException
(
CyResSvcExcEnum
.
ERROR_NETWORK
);
}
}
//校验 将错误信息放入maps
//校验 将错误信息放入maps
int
index
=
3
;
//从第3行开始
for
(
ExportVisitInfoDto
visitInfoDto
:
visitInfoDtoList
)
{
for
(
ExportVisitInfoDto
visitInfoDto
:
visitInfoDtoList
)
{
//判断 是否为空
//判断 是否为空
ErrorDTO
infoNull
=
CheckUtil
.
infoNotNull
(
visitInfoDto
,
index
);
VisitInformationErrorDTO
infoNull
=
CheckUtil
.
infoNotNull
(
visitInfoDto
);
if
(
infoNull
.
getSuccess
()
==
1
)
if
(
infoNull
!=
null
)
maps
.
add
(
infoNull
.
getMap
()
);
errorDTOArrayList
.
add
(
infoNull
);
else
else
addINfoList
.
add
(
visitInfoDto
);
addINfoList
.
add
(
visitInfoDto
);
index
++;
}
}
}
}
if
(
addINfoList
.
size
()
>
0
)
{
if
(
addINfoList
.
size
()
>
0
)
{
for
(
ExportVisitInfoDto
visitInfoDto
:
addINfoList
)
{
for
(
ExportVisitInfoDto
visitInfoDto
:
addINfoList
)
{
VisitInfoMation
visitInfoMation
=
new
VisitInfoMation
();
VisitInfoMation
visitInfoMation
=
new
VisitInfoMation
();
// 根据姓名查询
// 根据姓名查询
SysUser
sysUserDTO
=
new
SysUser
();
SysUser
sysUserDTO
=
new
SysUser
();
sysUserDTO
.
setDeleted
();
sysUserDTO
.
setDeleted
();
sysUserDTO
.
setName
(
visitInfoDto
.
getUserName
());
sysUserDTO
.
setName
(
visitInfoDto
.
getUserName
());
// 校验手机号
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
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
PHONE_DATA_ERROR
);
}
Matcher
m
=
pattern
.
matcher
(
visitInfoDto
.
getPhone
());
boolean
isMatch
=
m
.
matches
();
if
(!
isMatch
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
PHONE_DATA_ERROR
);
}
sysUserDTO
.
setPhone
(
visitInfoDto
.
getPhone
());
sysUserDTO
.
setPhone
(
visitInfoDto
.
getPhone
());
sysUserDTO
.
setUserType
(
"0"
);
sysUserDTO
.
setUserType
(
"0"
);
// 根据姓名查询员工数据
// 根据姓名查询员工数据
List
<
SysUser
>
sysUsers
=
sysUserRepositorys
.
querySysUsers
(
sysUserDTO
);
List
<
SysUser
>
sysUsers
=
sysUserRepositorys
.
querySysUsers
(
sysUserDTO
);
if
(
sysUsers
.
size
()
==
0
)
{
if
(
sysUsers
.
size
()
==
0
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
USER_DATA_ERROR
);
BeanUtil
.
copyProperties
(
visitInfoDto
,
errorDTO
);
errorDTO
.
setError
(
"不存在对应的员工,请检查邀请人姓名和手机号是否匹配。"
);
errorDTOArrayList
.
add
(
errorDTO
);
continue
;
}
}
SysUser
mainUser
=
sysUsers
.
get
(
0
);
SysUser
mainUser
=
sysUsers
.
get
(
0
);
visitInfoMation
.
setUserId
(
mainUser
.
getBusinessId
());
visitInfoMation
.
setUserId
(
mainUser
.
getBusinessId
());
...
@@ -699,16 +684,38 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
...
@@ -699,16 +684,38 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
visitInfoMation
.
setVisitDate
(
date
.
parse
(
visitInfoDto
.
getVisitDate
()));
visitInfoMation
.
setVisitDate
(
date
.
parse
(
visitInfoDto
.
getVisitDate
()));
visitInfoMation
.
setVisitTime
(
visitInfoDto
.
getVisitTime
());
visitInfoMation
.
setVisitTime
(
visitInfoDto
.
getVisitTime
());
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm"
);
String
time
=
visitInfoDto
.
getVisitDate
()
.
toString
()
+
" "
+
visitInfoDto
.
getVisitTime
();
String
time
=
visitInfoDto
.
getVisitDate
()
+
" "
+
visitInfoDto
.
getVisitTime
();
visitInfoMation
.
setVisitRealTime
(
dateFormat
.
parse
(
time
));
visitInfoMation
.
setVisitRealTime
(
dateFormat
.
parse
(
time
));
List
<
VisitUser
>
userList
=
new
ArrayList
<>();
List
<
VisitUser
>
userList
=
new
ArrayList
<>();
// 判断访客姓名和手机号是否数量匹配
// 判断访客姓名和手机号是否数量匹配
List
<
String
>
visitName
=
Arrays
.
asList
(
visitInfoDto
.
getVisitName
().
split
(
",|,"
)).
stream
()
.
filter
(
u
->
StringUtils
.
isNotEmpty
(
u
)).
collect
(
Collectors
.
toList
());
List
<
String
>
visitPhone
=
Arrays
.
asList
(
visitInfoDto
.
getVisitPhone
().
split
(
",|,"
)).
stream
()
List
<
String
>
visitPhone
=
Arrays
.
asList
(
visitInfoDto
.
getVisitPhone
().
split
(
",|,"
)).
stream
()
.
filter
(
p
->
StringUtils
.
isNotEmpty
(
p
)).
distinct
()
.
filter
(
p
->
StringUtils
.
isNotEmpty
(
p
)).
distinct
()
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
List
<
String
>
visitName
=
Arrays
.
asList
(
visitInfoDto
.
getVisitName
().
split
(
",|,"
)).
stream
()
.
filter
(
u
->
StringUtils
.
isNotEmpty
(
u
)).
collect
(
Collectors
.
toList
());
for
(
int
i
=
0
;
i
<
visitName
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
visitName
.
size
();
i
++)
{
// 判断当前访客(用户)是否已经存在
SysUser
sysUser
=
new
SysUser
();
sysUser
.
setName
(
visitName
.
get
(
i
));
sysUser
.
setPhone
(
visitPhone
.
get
(
i
));
sysUser
.
setUsername
(
visitPhone
.
get
(
i
));
sysUser
.
setNormal
();
List
<
SysUser
>
sysUserList
=
sysUserRepositorys
.
querySysUsers
(
sysUser
);
// 不存在新增
if
(!
CollectionUtils
.
isEmpty
(
sysUserList
))
{
if
(
sysUserList
.
get
(
0
).
getUserType
().
equals
(
"0"
))
{
BeanUtil
.
copyProperties
(
visitInfoDto
,
errorDTO
);
errorDTO
.
setError
(
"员工不能作为访客!"
);
errorDTOArrayList
.
add
(
errorDTO
);
continue
;
}
if
(
sysUserList
.
get
(
0
).
getBlacklistFlag
().
toString
().
equals
(
"1"
))
{
BeanUtil
.
copyProperties
(
visitInfoDto
,
errorDTO
);
errorDTO
.
setError
(
"不能邀请黑名单内的访客!"
);
errorDTOArrayList
.
add
(
errorDTO
);
continue
;
}
}
VisitUser
visitUser
=
new
VisitUser
();
VisitUser
visitUser
=
new
VisitUser
();
visitUser
.
setUserName
(
visitName
.
get
(
i
));
visitUser
.
setUserName
(
visitName
.
get
(
i
));
visitUser
.
setVisitPhone
(
visitPhone
.
get
(
i
));
visitUser
.
setVisitPhone
(
visitPhone
.
get
(
i
));
...
@@ -716,16 +723,13 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
...
@@ -716,16 +723,13 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
}
}
visitInfoMation
.
setUserList
(
userList
);
visitInfoMation
.
setUserList
(
userList
);
// 新增
// 新增
if
(
visitInfoMation
.
getUserList
().
size
()
==
visitPhone
.
size
())
persist
(
visitInfoMation
);
persist
(
visitInfoMation
);
}
}
}
}
if
(
null
!=
maps
&&
maps
.
size
()
>
0
)
{
if
(
null
!=
errorDTOArrayList
&&
errorDTOArrayList
.
size
()
>
0
)
{
importVistInfoDTO
.
setFilename
(
fileName
);
CyEpExcelUtil
.
exportExcel
(
errorDTOArrayList
,
"邀访错误数据"
,
"邀访错误数据"
,
try
{
VisitInformationErrorDTO
.
class
,
"邀访错误数据.xlsx"
,
response
);
exportTxtPaper
(
maps
,
fileName
);
}
catch
(
Exception
e
)
{
throw
new
CyServiceException
(
CyResSvcExcEnum
.
ERROR_NETWORK
);
}
}
}
return
importVistInfoDTO
;
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