Commit 6c8e6e66 by jianan

长期日程bug

parent 0b9b07a8
...@@ -67,13 +67,13 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService { ...@@ -67,13 +67,13 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
} }
String taskTimeFrom = schedule.getTaskTimeFrom(); String taskTimeFrom = schedule.getTaskTimeFrom();
String taskTimeEnd = schedule.getTaskTimeEnd(); String taskTimeEnd = schedule.getTaskTimeEnd();
Date trackTime = schedule.getTrackTime(); String trackTime = CommonUtil.dateParseString(schedule.getTrackTime(), "yyyy-MM-dd");
Long practitionerId = schedule.getPractitionerId(); Long practitionerId = schedule.getPractitionerId();
Long mdDropOptionId = schedule.getMdDropOptionId(); Long mdDropOptionId = schedule.getMdDropOptionId();
// 判断日程是否重复 // 判断日程是否重复
if (!CommonUtil.isNullOrBlank(taskTimeFrom) && !CommonUtil.isNullOrBlank(taskTimeEnd)) { if (!CommonUtil.isNullOrBlank(taskTimeFrom) && !CommonUtil.isNullOrBlank(taskTimeEnd)) {
int count = scheduleTrackMapper.checkIsExist(practitionerId, trackTime, mdDropOptionId, taskTimeFrom, taskTimeEnd); boolean isConflict = this.checkTimePeriodConflict(trackTime, taskTimeFrom, taskTimeEnd, practitionerId, mdDropOptionId);
if (count > 0) { if (isConflict) {
resp.setCommonResult(new CommonResult(false, "该时间段内该类型日程已存在")); resp.setCommonResult(new CommonResult(false, "该时间段内该类型日程已存在"));
return resp; return resp;
} }
...@@ -113,6 +113,30 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService { ...@@ -113,6 +113,30 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
return resp; return resp;
} }
private boolean checkTimePeriodConflict(String trackTime, String taskTimeFrom, String taskTimeEnd, Long practitionerId, Long mdDropOptionId) {
List<ScheduleTrack> showList = new ArrayList<>();
List<ScheduleTrack> dataList = scheduleTrackMapper.queryScheduleTrackList(practitionerId, trackTime);
// 获得当天展示的日程列表
for (ScheduleTrack schedule: dataList) {
if (this.checkFixedDay(trackTime, schedule)) {
showList.add(schedule);
}
}
// 检查时间段是否冲突
boolean isConflict = false;
for (ScheduleTrack schedule: showList) {
if (taskTimeFrom.equals(schedule.getTaskTimeFrom())
&& taskTimeEnd.equals(schedule.getTaskTimeEnd())
&& trackTime.equals(CommonUtil.dateParseString(schedule.getTrackTime(), "yyyy-MM-dd"))
&& practitionerId.equals(schedule.getPractitionerId())
&& mdDropOptionId.equals(schedule.getMdDropOptionId())
) {
isConflict = true;
}
}
return isConflict;
}
private void insertOpportunityRecord(ScheduleTrack schedule) { private void insertOpportunityRecord(ScheduleTrack schedule) {
MktLeadsAssignedTrack track = new MktLeadsAssignedTrack(); MktLeadsAssignedTrack track = new MktLeadsAssignedTrack();
BeanUtils.copyProperties(schedule, track, "id"); BeanUtils.copyProperties(schedule, track, "id");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment