Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart-office-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
smart-office-platform
Commits
c9586076
Commit
c9586076
authored
Jan 09, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改通知去重复
parent
825d5e06
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
64 deletions
+58
-64
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/service/impl/MettingRecordServiceImpl.java
...module/metting/service/impl/MettingRecordServiceImpl.java
+58
-64
No files found.
smart-office-manager/src/main/java/com/mortals/xhx/module/metting/service/impl/MettingRecordServiceImpl.java
View file @
c9586076
...
...
@@ -82,45 +82,7 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
}
}*/
private
Boolean
checkExistStartMeetTime
(
MettingRecordEntity
entity
)
{
boolean
bool
=
false
;
Date
meetTimeStart
=
entity
.
getMeetTimeStart
();
Date
meetTimeEnd
=
entity
.
getMeetTimeEnd
();
MettingRecordQuery
mettingRecordQuery
=
new
MettingRecordQuery
();
//mettingRecordQuery.setMeetStatus(MeetStatusEnum.等待中.getValue());
mettingRecordQuery
.
setMeetStatusList
(
Arrays
.
asList
(
MeetStatusEnum
.
等待中
.
getValue
(),
MeetStatusEnum
.
进行中
.
getValue
()));
mettingRecordQuery
.
setRoomId
(
entity
.
getRoomId
());
//查询当前日期是否存在会议室占用
mettingRecordQuery
.
setMeetDate
(
entity
.
getMeetDate
());
//判断选定的时间段 是否已经存在 时间段 求交集
List
<
MettingRecordEntity
>
list
=
this
.
find
(
mettingRecordQuery
);
//校验当前时间段中是否已经存在未开始的会议
if
(!
entity
.
newEntity
())
{
//更新时间段判断 排除已经存在的
list
=
list
.
stream
().
filter
(
f
->
f
.
getId
()
!=
entity
.
getId
()).
collect
(
Collectors
.
toList
());
}
if
(!
ObjectUtils
.
isEmpty
(
list
))
{
//校验时间段是否有重合
for
(
MettingRecordEntity
mettingRecord
:
list
)
{
//格式化分钟
Date
meetTimeStart1
=
DateUtil
.
parseDateTime
(
DateUtil
.
format
(
mettingRecord
.
getMeetTimeStart
(),
"yyyy-MM-dd HH:mm"
)
+
":00"
);
Date
meetTimeEnd1
=
DateUtil
.
parseDateTime
(
DateUtil
.
format
(
mettingRecord
.
getMeetTimeEnd
(),
"yyyy-MM-dd HH:mm"
)
+
":00"
);
boolean
in
=
belongCalendar
(
meetTimeStart
,
meetTimeStart1
,
meetTimeEnd1
);
boolean
in1
=
belongCalendar
(
meetTimeEnd
,
meetTimeStart1
,
meetTimeEnd1
);
if
(
in
||
in1
)
{
bool
=
true
;
log
.
info
(
"meetTimeStart:{},meetTimeEnd:{}, meetTimeStart1:{}, meetTimeEnd1:{}"
,
DateUtil
.
date
(
meetTimeStart
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeEnd
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeStart1
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeEnd1
).
toTimeStr
());
break
;
}
}
}
return
bool
;
}
/* @Override
...
...
@@ -187,37 +149,14 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
}
/**
* 检测会议开始与结束时间
*
* @param entity
*/
private
void
checkStartAndEndTime
(
MettingRecordEntity
entity
)
{
Date
meetTimeStart
=
entity
.
getMeetTimeStart
();
Date
meetTimeEnd
=
entity
.
getMeetTimeEnd
();
if
(!
ObjectUtils
.
isEmpty
(
meetTimeStart
)
&&
!
ObjectUtils
.
isEmpty
(
meetTimeEnd
))
{
//开始时间不能大于结束时间
int
compare
=
DateUtil
.
compare
(
meetTimeStart
,
meetTimeEnd
);
if
(
compare
>
0
)
{
throw
new
AppException
(
"会议开始时间不能大于结束时间!"
);
}
}
}
@Override
protected
void
updateBefore
(
MettingRecordEntity
entity
,
Context
context
)
throws
AppException
{
super
.
updateBefore
(
entity
,
context
);
checkStartAndEndTime
(
entity
);
/*
Boolean
bool
=
checkExistStartMeetTime
(
entity
);
if
(
bool
)
{
throw
new
AppException
(
"当前会议室该时段已经存在等待或进行中的会议,请选择其它时间段!"
);
}
*/
//判断是否是手动结束会议
MettingRecordEntity
mettingRecordEntity
=
this
.
get
(
entity
.
getId
());
if
(
mettingRecordEntity
.
getMeetStatus
()
==
MeetStatusEnum
.
进行中
.
getValue
()
&&
entity
.
getMeetStatus
()
==
MeetStatusEnum
.
已结束
.
getValue
())
{
...
...
@@ -242,12 +181,10 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
mettingRecordQuery
.
setIdList
(
Arrays
.
asList
(
ids
));
List
<
MettingRecordEntity
>
mettingRecordEntities
=
this
.
find
(
mettingRecordQuery
);
log
.
info
(
"删除会议记录:{}"
,
mettingRecordEntities
.
size
());
mettingRecordEntities
.
forEach
(
entity
->
{
if
(
entity
.
getMeetStatus
()
==
MeetStatusEnum
.
进行中
.
getValue
())
{
throw
new
AppException
(
"会议进行中,无法删除"
);
throw
new
AppException
(
String
.
format
(
"%s会议进行中,无法删除!"
,
entity
.
getMeetName
())
);
}
UploadDeviceReq
uploadDeviceReq
=
new
UploadDeviceReq
();
RoomEntity
roomEntity
=
roomService
.
get
(
entity
.
getRoomId
(),
context
);
if
(!
ObjectUtils
.
isEmpty
(
roomEntity
))
{
...
...
@@ -270,6 +207,63 @@ public class MettingRecordServiceImpl extends AbstractCRUDServiceImpl<MettingRec
super
.
removeAfter
(
ids
,
context
,
result
);
}
/**
* 检测会议开始与结束时间
*
* @param entity
*/
private
void
checkStartAndEndTime
(
MettingRecordEntity
entity
)
{
Date
meetTimeStart
=
entity
.
getMeetTimeStart
();
Date
meetTimeEnd
=
entity
.
getMeetTimeEnd
();
if
(!
ObjectUtils
.
isEmpty
(
meetTimeStart
)
&&
!
ObjectUtils
.
isEmpty
(
meetTimeEnd
))
{
//开始时间不能大于结束时间
int
compare
=
DateUtil
.
compare
(
meetTimeStart
,
meetTimeEnd
);
if
(
compare
>
0
)
{
throw
new
AppException
(
"会议开始时间不能大于结束时间!"
);
}
}
}
private
Boolean
checkExistStartMeetTime
(
MettingRecordEntity
entity
)
{
boolean
bool
=
false
;
Date
meetTimeStart
=
entity
.
getMeetTimeStart
();
Date
meetTimeEnd
=
entity
.
getMeetTimeEnd
();
MettingRecordQuery
mettingRecordQuery
=
new
MettingRecordQuery
();
//mettingRecordQuery.setMeetStatus(MeetStatusEnum.等待中.getValue());
mettingRecordQuery
.
setMeetStatusList
(
Arrays
.
asList
(
MeetStatusEnum
.
等待中
.
getValue
(),
MeetStatusEnum
.
进行中
.
getValue
()));
mettingRecordQuery
.
setRoomId
(
entity
.
getRoomId
());
//查询当前日期是否存在会议室占用
mettingRecordQuery
.
setMeetDate
(
entity
.
getMeetDate
());
//判断选定的时间段 是否已经存在 时间段 求交集
List
<
MettingRecordEntity
>
list
=
this
.
find
(
mettingRecordQuery
);
//校验当前时间段中是否已经存在未开始的会议
if
(!
entity
.
newEntity
())
{
//更新时间段判断 排除已经存在的
list
=
list
.
stream
().
filter
(
f
->
f
.
getId
()
!=
entity
.
getId
()).
collect
(
Collectors
.
toList
());
}
if
(!
ObjectUtils
.
isEmpty
(
list
))
{
//校验时间段是否有重合
for
(
MettingRecordEntity
mettingRecord
:
list
)
{
//格式化分钟
Date
meetTimeStart1
=
DateUtil
.
parseDateTime
(
DateUtil
.
format
(
mettingRecord
.
getMeetTimeStart
(),
"yyyy-MM-dd HH:mm"
)
+
":00"
);
Date
meetTimeEnd1
=
DateUtil
.
parseDateTime
(
DateUtil
.
format
(
mettingRecord
.
getMeetTimeEnd
(),
"yyyy-MM-dd HH:mm"
)
+
":00"
);
boolean
in
=
belongCalendar
(
meetTimeStart
,
meetTimeStart1
,
meetTimeEnd1
);
boolean
in1
=
belongCalendar
(
meetTimeEnd
,
meetTimeStart1
,
meetTimeEnd1
);
if
(
in
||
in1
)
{
bool
=
true
;
log
.
info
(
"meetTimeStart:{},meetTimeEnd:{}, meetTimeStart1:{}, meetTimeEnd1:{}"
,
DateUtil
.
date
(
meetTimeStart
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeEnd
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeStart1
).
toTimeStr
(),
DateUtil
.
date
(
meetTimeEnd1
).
toTimeStr
());
break
;
}
}
}
return
bool
;
}
public
boolean
belongCalendar
(
Date
nowTime
,
Date
beginTime
,
Date
endTime
)
{
Calendar
date
=
Calendar
.
getInstance
();
date
.
setTime
(
nowTime
);
...
...
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