Commit 6d77130e by jianan

新建日程同步到线索状态和增员状态

parent dfd7cccd
...@@ -2,9 +2,17 @@ package com.yd.api.practitioner.service.impl; ...@@ -2,9 +2,17 @@ package com.yd.api.practitioner.service.impl;
import com.yd.api.practitioner.service.ScheduleTrackService; import com.yd.api.practitioner.service.ScheduleTrackService;
import com.yd.api.practitioner.vo.organization.OrganizationQueryResponseVO; import com.yd.api.practitioner.vo.organization.OrganizationQueryResponseVO;
import com.yd.api.result.CommonResult;
import com.yd.api.result.JsonResult; import com.yd.api.result.JsonResult;
import com.yd.dal.entity.customer.AclPractitionerPotentialAssignedTrack;
import com.yd.dal.entity.marketing.MktLeadsAssignedTrack;
import com.yd.dal.entity.meta.MdDropOptions;
import com.yd.dal.entity.practitioner.ScheduleTrack; import com.yd.dal.entity.practitioner.ScheduleTrack;
import com.yd.dal.mapper.marketing.ScheduleTrackMapper; import com.yd.dal.mapper.marketing.ScheduleTrackMapper;
import com.yd.dal.service.customer.AclPractitionerPotentialAssignedTrackDALService;
import com.yd.dal.service.customer.AclPractitionerSubordinateSystemDALService;
import com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService;
import com.yd.dal.service.meta.MdDropOptionsDALService;
import com.yd.util.CommonUtil; import com.yd.util.CommonUtil;
import com.yd.util.config.ZHBErrorConfig; import com.yd.util.config.ZHBErrorConfig;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -19,6 +27,12 @@ import java.util.List; ...@@ -19,6 +27,12 @@ import java.util.List;
public class ScheduleTrackServiceImpl implements ScheduleTrackService { public class ScheduleTrackServiceImpl implements ScheduleTrackService {
@Autowired @Autowired
private ScheduleTrackMapper scheduleTrackMapper; private ScheduleTrackMapper scheduleTrackMapper;
@Autowired
private AclPractitionerPotentialAssignedTrackDALService aclPractitionerPotentialAssignedTrackDALService;
@Autowired
private MdDropOptionsDALService mdDropOptionsDALService;
@Autowired
private MktLeadsAssignedTrackDALService mktLeadsAssignedTrackDALService;
@Override @Override
public JsonResult insert(ScheduleTrack schedule) { public JsonResult insert(ScheduleTrack schedule) {
...@@ -48,6 +62,16 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService { ...@@ -48,6 +62,16 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
schedule.setUpdatedAt(new Date()); schedule.setUpdatedAt(new Date());
schedule.setCreatedAt(curTime); schedule.setCreatedAt(curTime);
scheduleTrackMapper.insert(schedule); scheduleTrackMapper.insert(schedule);
// 营销日程同步插入到商机活动跟踪表,增员日程同步插入到增援活动跟踪表
Integer taskType = schedule.getTaskType();
Long referLeadsId = schedule.getReferLeadsId();
Long referPotentialId = schedule.getReferPotentialId();
if (1 == taskType && null != referLeadsId) {
this.insertOpportunityRecord(schedule);
}
if (2 == taskType && null != referPotentialId) {
this.insertPotentialAssignedTrack(schedule);
}
result.setSuccess(true); result.setSuccess(true);
result.setMessage(ZHBErrorConfig.getErrorInfo("800000")); result.setMessage(ZHBErrorConfig.getErrorInfo("800000"));
} catch (Exception e) { } catch (Exception e) {
...@@ -57,6 +81,58 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService { ...@@ -57,6 +81,58 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
return result; return result;
} }
private void insertOpportunityRecord(ScheduleTrack schedule) {
MktLeadsAssignedTrack track = new MktLeadsAssignedTrack();
CommonUtil.simpleObjectCopy(schedule, track);
track.setLeadsAssignedId(schedule.getReferLeadsId());
track.setSalesNotice(schedule.getNotice());
List<MktLeadsAssignedTrack> trackList = mktLeadsAssignedTrackDALService.findByTrackTimeForNew(track);
if (!trackList.isEmpty()){
//保存
mktLeadsAssignedTrackDALService.saveTrack(track);
}
}
private void insertPotentialAssignedTrack(ScheduleTrack schedule) {
Long practitionerId = schedule.getPractitionerId();
Long potentialId = schedule.getReferPotentialId();
Long trackStatusId = schedule.getMdDropOptionId();
String notice = schedule.getNotice();
Date trackTimeDate = schedule.getTrackTime();
AclPractitionerPotentialAssignedTrack assignedTrack = new AclPractitionerPotentialAssignedTrack();
//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);
}
}
@Override @Override
public JsonResult queryScheduleTrackList(Long practitionerId, String trackDate) { public JsonResult queryScheduleTrackList(Long practitionerId, String trackDate) {
JsonResult result = new JsonResult(); JsonResult result = new JsonResult();
......
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