Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-backend
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
AutogeneralShanghai
yd-backend
Commits
132ce465
Commit
132ce465
authored
Oct 21, 2020
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
去除日程时间段冲突限制,添加同类型日程同时间段限制
parent
41032b4b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
67 deletions
+35
-67
yd-api/src/main/java/com/yd/api/practitioner/service/impl/ScheduleTrackServiceImpl.java
+20
-67
yd-api/src/main/java/com/yd/dal/mapper/marketing/ScheduleTrackMapper.java
+3
-0
yd-api/src/main/resources/mapper/marketing/ScheduleTrackMapper.xml
+12
-0
No files found.
yd-api/src/main/java/com/yd/api/practitioner/service/impl/ScheduleTrackServiceImpl.java
View file @
132ce465
...
...
@@ -70,11 +70,11 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
Date
trackTime
=
schedule
.
getTrackTime
();
Long
practitionerId
=
schedule
.
getPractitionerId
();
Long
mdDropOptionId
=
schedule
.
getMdDropOptionId
();
// 判断
活动时间段是否冲突
// 判断
日程是否重复
if
(!
CommonUtil
.
isNullOrBlank
(
taskTimeFrom
)
&&
!
CommonUtil
.
isNullOrBlank
(
taskTimeEnd
))
{
boolean
isConflict
=
this
.
checkTimePeriodConflict
(
trackTime
,
taskTimeFrom
,
taskTimeEnd
,
practitionerI
d
);
if
(
isConflict
)
{
resp
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"830020"
)
));
int
count
=
scheduleTrackMapper
.
checkIsExist
(
practitionerId
,
trackTime
,
taskType
,
taskTimeFrom
,
taskTimeEn
d
);
if
(
count
>
0
)
{
resp
.
setCommonResult
(
new
CommonResult
(
false
,
"该时间段内该类型日程已存在"
));
return
resp
;
}
}
else
{
...
...
@@ -113,46 +113,11 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
return
resp
;
}
private
boolean
checkTimePeriodConflict
(
Date
trackTime
,
String
taskTimeFrom
,
String
taskTimeEnd
,
Long
practitionerId
)
{
List
<
ScheduleTrack
>
showList
=
new
ArrayList
<>();
List
<
ScheduleTrack
>
dataList
=
scheduleTrackMapper
.
queryScheduleTrackList
(
practitionerId
);
// 获得当天展示的日程列表
for
(
ScheduleTrack
schedule:
dataList
)
{
if
(
this
.
checkFixedDay
(
CommonUtil
.
dateParseString
(
trackTime
,
"yyyy-MM-dd"
),
schedule
))
{
showList
.
add
(
schedule
);
}
}
// 检查时间段是否冲突
boolean
isConflict
=
false
;
String
taskStartTime
;
String
taskEndTime
;
for
(
ScheduleTrack
schedule:
showList
)
{
taskStartTime
=
schedule
.
getTaskTimeFrom
();
taskEndTime
=
schedule
.
getTaskTimeEnd
();
if
(
taskStartTime
.
compareTo
(
taskTimeEnd
)<
0
&&
taskEndTime
.
compareTo
(
taskTimeFrom
)>
0
)
{
isConflict
=
true
;
break
;
}
}
return
isConflict
;
}
private
void
insertOpportunityRecord
(
ScheduleTrack
schedule
)
{
MktLeadsAssignedTrack
track
=
new
MktLeadsAssignedTrack
();
BeanUtils
.
copyProperties
(
schedule
,
track
,
"id"
);
track
.
setLeadsAssignedId
(
schedule
.
getReferLeadsId
());
track
.
setSalesNotice
(
schedule
.
getNotice
());
track
.
setScheduleTaskTrackingId
(
schedule
.
getId
());
List
<
MktLeadsAssignedTrack
>
trackList
=
mktLeadsAssignedTrackDALService
.
findByTrackTimeForNew
(
track
);
if
(
trackList
.
isEmpty
()){
//保存
mktLeadsAssignedTrackDALService
.
saveTrack
(
track
);
}
else
{
//更新
mktLeadsAssignedTrackDALService
.
updateTrack
(
track
);
}
//保存
mktLeadsAssignedTrackDALService
.
saveTrack
(
track
);
}
private
void
insertPotentialAssignedTrack
(
ScheduleTrack
schedule
)
{
...
...
@@ -176,32 +141,20 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
}
aclPractitionerPotentialAssignedTrackDALService
.
updateAll
(
assignedTrackUpdateList
);
}
//2、查询团队长对该增员所有增员状态
List
<
AclPractitionerPotentialAssignedTrack
>
assignedTrackList
=
aclPractitionerPotentialAssignedTrackDALService
.
findByPractitionerIdAndPotentialIdAndTrackStatusId
(
practitionerId
,
potentialId
,
trackStatusId
,
trackTimeDate
);
if
(
assignedTrackList
==
null
||
assignedTrackList
.
isEmpty
())
{
//3、如果没有,获取增员状态对应的分值,
MdDropOptions
options
=
mdDropOptionsDALService
.
findById
(
trackStatusId
);
assignedTrack
.
setTrackScore
(
options
.
getDropOptionScore
());
assignedTrack
.
setPractitionerAssignedId
(
practitionerId
);
assignedTrack
.
setPractitionerPotentialId
(
potentialId
);
assignedTrack
.
setTrackStatusId
(
trackStatusId
);
assignedTrack
.
setNotice
(
notice
);
assignedTrack
.
setTrackTime
(
trackTimeDate
);
assignedTrack
.
setIsActive
(
1
);
assignedTrack
.
setIsLasted
(
1
);
assignedTrack
.
setCreatorType
(
2
);
assignedTrack
.
setCreatedBy
(
practitionerId
);
assignedTrack
.
setCreatedAt
(
new
Date
());
aclPractitionerPotentialAssignedTrackDALService
.
save
(
assignedTrack
);
}
else
{
assignedTrack
=
assignedTrackList
.
get
(
0
);
assignedTrack
.
setNotice
(
notice
);
assignedTrack
.
setIsLasted
(
1
);
assignedTrack
.
setUpdatedAt
(
new
Date
());
assignedTrack
.
setUpdatedBy
(
practitionerId
);
assignedTrack
.
setUpdaterType
(
2
);
aclPractitionerPotentialAssignedTrackDALService
.
update
(
assignedTrack
);
}
//2、插入
MdDropOptions
options
=
mdDropOptionsDALService
.
findById
(
trackStatusId
);
assignedTrack
.
setTrackScore
(
options
.
getDropOptionScore
());
assignedTrack
.
setPractitionerAssignedId
(
practitionerId
);
assignedTrack
.
setPractitionerPotentialId
(
potentialId
);
assignedTrack
.
setTrackStatusId
(
trackStatusId
);
assignedTrack
.
setNotice
(
notice
);
assignedTrack
.
setTrackTime
(
trackTimeDate
);
assignedTrack
.
setIsActive
(
1
);
assignedTrack
.
setIsLasted
(
1
);
assignedTrack
.
setCreatorType
(
2
);
assignedTrack
.
setCreatedBy
(
practitionerId
);
assignedTrack
.
setCreatedAt
(
new
Date
());
aclPractitionerPotentialAssignedTrackDALService
.
save
(
assignedTrack
);
}
...
...
yd-api/src/main/java/com/yd/dal/mapper/marketing/ScheduleTrackMapper.java
View file @
132ce465
...
...
@@ -28,5 +28,8 @@ public interface ScheduleTrackMapper {
void
deleteScheduleTrackById
(
@Param
(
"scheduleTrackId"
)
Long
scheduleTrackId
);
String
queryNameByPractitionerId
(
Long
practitionerId
);
int
checkIsExist
(
@Param
(
"practitionerId"
)
Long
practitionerId
,
@Param
(
"trackTime"
)
Date
trackTime
,
@Param
(
"taskType"
)
Integer
taskType
,
@Param
(
"taskTimeFrom"
)
String
taskTimeFrom
,
@Param
(
"taskTimeEnd"
)
String
taskTimeEnd
);
}
yd-api/src/main/resources/mapper/marketing/ScheduleTrackMapper.xml
View file @
132ce465
...
...
@@ -244,4 +244,15 @@
where p.id = #{practitionerId,jdbcType=BIGINT}
</select>
<select
id=
"checkIsExist"
resultType=
"int"
>
SELECT count(1)
FROM ag_mkt_schedule_task_tracking
WHERE 1=1
AND to_days(track_time) = to_days(#{trackTime,jdbcType=TIMESTAMP})
AND practitioner_id = #{practitionerId,jdbcType=BIGINT}
AND task_time_from = STR_TO_DATE(#{taskTimeFrom,jdbcType=VARCHAR}, '%H:%i:%s')
AND task_time_end = STR_TO_DATE(#{taskTimeEnd,jdbcType=VARCHAR}, '%H:%i:%s')
AND task_type = #{taskType,jdbcType=INTEGER}
</select>
</mapper>
\ No newline at end of file
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