Commit 625af450 by jianan

queryPEPScore/rank接口404

parent a5b31ce5
...@@ -32,11 +32,13 @@ import com.yd.dal.entity.marketing.MktLeadsAssignedTrack; ...@@ -32,11 +32,13 @@ import com.yd.dal.entity.marketing.MktLeadsAssignedTrack;
import com.yd.dal.entity.marketing.MktLeadsAssigneds; import com.yd.dal.entity.marketing.MktLeadsAssigneds;
import com.yd.dal.entity.marketing.MktLeadsGoals; import com.yd.dal.entity.marketing.MktLeadsGoals;
import com.yd.dal.entity.marketing.MktLeadsPool; import com.yd.dal.entity.marketing.MktLeadsPool;
import com.yd.dal.entity.practitioner.PersonalOffLineFYC;
import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo; import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;
import com.yd.dal.entity.order.PoOrder; import com.yd.dal.entity.order.PoOrder;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo; import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.survey.SurveyCustomerAnswers; import com.yd.dal.entity.survey.SurveyCustomerAnswers;
import com.yd.dal.entity.user.AclUser; import com.yd.dal.entity.user.AclUser;
import com.yd.dal.service.agms.AgmsDashboardDALService;
import com.yd.dal.service.customer.*; import com.yd.dal.service.customer.*;
import com.yd.dal.service.marketing.*; import com.yd.dal.service.marketing.*;
import com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService; import com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService;
...@@ -175,7 +177,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -175,7 +177,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
@Autowired @Autowired
private N22SalaryService n22SalaryService; private N22SalaryService n22SalaryService;
@Autowired @Autowired
private N22PolicyService n22PolicyService; private AgmsDashboardDALService agmsDashboardDALService;
@Override @Override
public PractitionerLoginResponseVO practitionerLogin(PractitionerLoginRequestVO requestVO) { public PractitionerLoginResponseVO practitionerLogin(PractitionerLoginRequestVO requestVO) {
...@@ -549,8 +551,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -549,8 +551,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
if (practitionerBasicInfoEG != null) { if (practitionerBasicInfoEG != null) {
String practitionerIdEG = practitionerBasicInfoEG.getPractitionerId(); String practitionerIdEG = practitionerBasicInfoEG.getPractitionerId();
if (!Strings.isNullOrEmpty(practitionerIdEG)) { if (!Strings.isNullOrEmpty(practitionerIdEG)) {
// practitionerRankInfo = aclPractitionerDALService.getPractitionerRankInfoByPractitionerIdEG(practitionerIdEG, time); // practitionerRankInfo = aclPractitionerDALService.getPractitionerRankInfoByPractitionerIdEG(practitionerIdEG, time);
practitionerRankInfo = this.getPractitionerRankInfoByPractitionerIdEG(practitionerIdEG, time);
} }
} }
} else { } else {
...@@ -566,6 +568,21 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -566,6 +568,21 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
} }
} }
private PractitionerRankInfo getPractitionerRankInfoByPractitionerIdEG(String loginName, Integer time) {
List<Achieve> achieveList = agmsDashboardDALService.queryN22FYC(time, 0, loginName);
PractitionerRankInfo rankInfo = null;
for (Achieve achieve : achieveList) {
rankInfo = new PractitionerRankInfo();
rankInfo.setFyc(achieve.getFYC());
rankInfo.setName(achieve.getDescription());
}
return rankInfo;
}
@Override @Override
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public SettingQueryResponseVO settingQuery(SettingQueryRequestVO requestVO) { public SettingQueryResponseVO settingQuery(SettingQueryRequestVO requestVO) {
......
...@@ -6,6 +6,7 @@ import com.yd.api.practitioner.vo.sechedule.*; ...@@ -6,6 +6,7 @@ import com.yd.api.practitioner.vo.sechedule.*;
import com.yd.api.result.CommonResult; import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.AclPractitionerPotential; import com.yd.dal.entity.customer.AclPractitionerPotential;
import com.yd.dal.entity.customer.AclPractitionerPotentialAssignedTrack; import com.yd.dal.entity.customer.AclPractitionerPotentialAssignedTrack;
import com.yd.dal.entity.customer.practitioner.PractitionerRankInfo;
import com.yd.dal.entity.marketing.MktLeadsAssignedTrack; import com.yd.dal.entity.marketing.MktLeadsAssignedTrack;
import com.yd.dal.entity.meta.MdDropOptions; import com.yd.dal.entity.meta.MdDropOptions;
import com.yd.dal.entity.practitioner.*; import com.yd.dal.entity.practitioner.*;
...@@ -15,6 +16,7 @@ import com.yd.dal.service.agms.AgmsDashboardDALService; ...@@ -15,6 +16,7 @@ import com.yd.dal.service.agms.AgmsDashboardDALService;
import com.yd.dal.service.customer.AclPractitionerPotentialAssignedTrackDALService; import com.yd.dal.service.customer.AclPractitionerPotentialAssignedTrackDALService;
import com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService; import com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService;
import com.yd.dal.service.meta.MdDropOptionsDALService; import com.yd.dal.service.meta.MdDropOptionsDALService;
import com.yd.rmi.n22.salary.pojo.Achieve;
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;
...@@ -301,10 +303,12 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService { ...@@ -301,10 +303,12 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
// 根据团队长经纪人id查询团队每个成员本日,本周,本月得分以及---线上本月FYC // 根据团队长经纪人id查询团队每个成员本日,本周,本月得分以及---线上本月FYC
List<PersonalPEPScore> saleAndRecuit = scheduleTrackMapper.querySaleRecuitScoreFYC(practitionerIdList); List<PersonalPEPScore> saleAndRecuit = scheduleTrackMapper.querySaleRecuitScoreFYC(practitionerIdList);
// 获取mobileNoList // 获取nameList
List<String> mobileNoList = new ArrayList<>(); List<String> nameList = new ArrayList<>();
saleAndRecuit.forEach(i->mobileNoList.add(i.getMobileNo())); saleAndRecuit.forEach(i->nameList.add(i.getName()));
List<PersonalOffLineFYC> personalOffLineFYCList = agmsDashboardDALService.offLineFYC(mobileNoList); List<PersonalOffLineFYC> personalOffLineFYCList = this.offLineFYC(nameList);
// 计算总FYC // 计算总FYC
this.computeTotalFYC(saleAndRecuit, personalOffLineFYCList); this.computeTotalFYC(saleAndRecuit, personalOffLineFYCList);
...@@ -334,6 +338,27 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService { ...@@ -334,6 +338,27 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
return resp; return resp;
} }
private List<PersonalOffLineFYC> offLineFYC(List<String> nameList) {
List<Achieve> achieveList = agmsDashboardDALService.queryN22FYC(1, 1, "");
// 组装返回报文
List<PersonalOffLineFYC> resultList = new ArrayList<>();
PersonalOffLineFYC offLineFYC = null;
for (String name: nameList) {
for (Achieve achieve : achieveList) {
if (name.equals(achieve.getDescription())) {
offLineFYC = new PersonalOffLineFYC();
offLineFYC.setFYC(new BigDecimal(achieve.getFYC()));
offLineFYC.setName(achieve.getDescription());
resultList.add(offLineFYC);
break;
}
}
}
return resultList;
}
private void computeTotalFYC(List<PersonalPEPScore> saleAndRecuit, List<PersonalOffLineFYC> personalOffLineFYCList) { private void computeTotalFYC(List<PersonalPEPScore> saleAndRecuit, List<PersonalOffLineFYC> personalOffLineFYCList) {
for (PersonalPEPScore online: saleAndRecuit ) { for (PersonalPEPScore online: saleAndRecuit ) {
for (PersonalOffLineFYC offline: personalOffLineFYCList) { for (PersonalOffLineFYC offline: personalOffLineFYCList) {
......
...@@ -6,6 +6,7 @@ import java.math.BigDecimal; ...@@ -6,6 +6,7 @@ import java.math.BigDecimal;
@Data @Data
public class PersonalOffLineFYC { public class PersonalOffLineFYC {
private String name;
private String mobileNo; private String mobileNo;
private BigDecimal FYC; private BigDecimal FYC;
} }
...@@ -5,6 +5,7 @@ import com.yd.api.agms.vo.dashboard.StatisticsSalesInfo; ...@@ -5,6 +5,7 @@ import com.yd.api.agms.vo.dashboard.StatisticsSalesInfo;
import com.yd.dal.entity.agms.dashboard.StatisticsOpportunityInfo; import com.yd.dal.entity.agms.dashboard.StatisticsOpportunityInfo;
import com.yd.dal.entity.agms.dashboard.StatisticsPEPInfo; import com.yd.dal.entity.agms.dashboard.StatisticsPEPInfo;
import com.yd.dal.entity.practitioner.PersonalOffLineFYC; import com.yd.dal.entity.practitioner.PersonalOffLineFYC;
import com.yd.rmi.n22.salary.pojo.Achieve;
import java.util.List; import java.util.List;
...@@ -22,4 +23,13 @@ public interface AgmsDashboardDALService { ...@@ -22,4 +23,13 @@ public interface AgmsDashboardDALService {
List<PersonalOffLineFYC> offLineFYC(List<String> mobileNoList); List<PersonalOffLineFYC> offLineFYC(List<String> mobileNoList);
void getUnitPremium(List<StatisticsSalesInfo> statisticsSalesInfos); void getUnitPremium(List<StatisticsSalesInfo> statisticsSalesInfos);
/**
*
* @param time 1-month,2-year,3-quarter
* @param isPersonal 0-查询当前经纪人的个人数据,1-查询所有经纪人的数据
* @param loginName isPersonal为0时必填
* @return
*/
List<Achieve> queryN22FYC(Integer time, Integer isPersonal, String loginName);
} }
...@@ -7,8 +7,14 @@ import com.yd.dal.entity.agms.dashboard.StatisticsPEPInfo; ...@@ -7,8 +7,14 @@ import com.yd.dal.entity.agms.dashboard.StatisticsPEPInfo;
import com.yd.dal.entity.practitioner.PersonalOffLineFYC; import com.yd.dal.entity.practitioner.PersonalOffLineFYC;
import com.yd.dal.mapper.agms.AgmsDashboardMapper; import com.yd.dal.mapper.agms.AgmsDashboardMapper;
import com.yd.dal.service.agms.AgmsDashboardDALService; import com.yd.dal.service.agms.AgmsDashboardDALService;
import com.yd.rmi.n22.salary.pojo.Achieve;
import com.yd.rmi.n22.salary.pojo.SearchStaffAchievementRequestBody;
import com.yd.rmi.n22.salary.pojo.SearchStaffAchievementResponseVO;
import com.yd.rmi.n22.salary.service.N22SalaryService;
import com.yd.util.CommonUtil;
import com.yd.util.intercept.annotation.TargetDataSource; import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey; import com.yd.util.intercept.commons.DataSourceKey;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -25,6 +31,8 @@ public class AgmsDashboardDALServiceImpl implements AgmsDashboardDALService { ...@@ -25,6 +31,8 @@ public class AgmsDashboardDALServiceImpl implements AgmsDashboardDALService {
@Resource @Resource
private AgmsDashboardMapper agmsDashboardMapper; private AgmsDashboardMapper agmsDashboardMapper;
@Autowired
private N22SalaryService n22SalaryService;
@Override @Override
public List<StatisticsPEPInfo> statisticsPEP(String type,Long dropOptionId) { public List<StatisticsPEPInfo> statisticsPEP(String type,Long dropOptionId) {
...@@ -117,6 +125,40 @@ public class AgmsDashboardDALServiceImpl implements AgmsDashboardDALService { ...@@ -117,6 +125,40 @@ public class AgmsDashboardDALServiceImpl implements AgmsDashboardDALService {
} }
@Override @Override
public List<Achieve> queryN22FYC(Integer time, Integer isPersonal, String loginName) {
// 1.根据查询时间范围获取查询开始时间和结束时间
String startTime;
String endTime;
if (Integer.valueOf("1") == time) {
startTime = CommonUtil.getBeginDayOfMonth();
endTime = CommonUtil.getEndDayOfMonth();
} else if (Integer.valueOf("3") == time) {
startTime = CommonUtil.getStartOrEndDayOfQuarter(true);
endTime = CommonUtil.getStartOrEndDayOfQuarter(false);
} else {
startTime = CommonUtil.getBeginDayOfYear();
endTime = CommonUtil.getEndDayOfYear();
}
// 2.根据Agent_id当前经纪人的佣金明细
SearchStaffAchievementRequestBody searchStaffAchievementRequestBody = new SearchStaffAchievementRequestBody();
if (Integer.valueOf("0").equals(isPersonal)) {
searchStaffAchievementRequestBody.setAgent_id(loginName);
}
searchStaffAchievementRequestBody.setSearchtype("1");
searchStaffAchievementRequestBody.setIsdown("0");
searchStaffAchievementRequestBody.setPolicystatus("201");
searchStaffAchievementRequestBody.setIssuedatestart(startTime);
searchStaffAchievementRequestBody.setIssuedateend(endTime);
SearchStaffAchievementResponseVO searchStaffAchievementResponseVO = n22SalaryService.searchStaffAchievement(searchStaffAchievementRequestBody);
if ("查询成功".equals(searchStaffAchievementResponseVO.getResponseHead().getMessage())){
List<Achieve> achieveList = searchStaffAchievementResponseVO.getResponseBody().getAchieveList();
return achieveList;
}
return null;
}
@Override
public List<StatisticsPractitionerInfo> statisticsPractitioner(String type) { public List<StatisticsPractitionerInfo> statisticsPractitioner(String type) {
List<StatisticsPractitionerInfo> statisticsPractitionerInfos = agmsDashboardMapper.statisticsPractitioner(type); List<StatisticsPractitionerInfo> statisticsPractitionerInfos = agmsDashboardMapper.statisticsPractitioner(type);
//计算实动率 //计算实动率
......
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