Commit 625af450 by jianan

queryPEPScore/rank接口404

parent a5b31ce5
......@@ -32,11 +32,13 @@ import com.yd.dal.entity.marketing.MktLeadsAssignedTrack;
import com.yd.dal.entity.marketing.MktLeadsAssigneds;
import com.yd.dal.entity.marketing.MktLeadsGoals;
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.order.PoOrder;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.survey.SurveyCustomerAnswers;
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.marketing.*;
import com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService;
......@@ -175,7 +177,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
@Autowired
private N22SalaryService n22SalaryService;
@Autowired
private N22PolicyService n22PolicyService;
private AgmsDashboardDALService agmsDashboardDALService;
@Override
public PractitionerLoginResponseVO practitionerLogin(PractitionerLoginRequestVO requestVO) {
......@@ -549,8 +551,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
if (practitionerBasicInfoEG != null) {
String practitionerIdEG = practitionerBasicInfoEG.getPractitionerId();
if (!Strings.isNullOrEmpty(practitionerIdEG)) {
// practitionerRankInfo = aclPractitionerDALService.getPractitionerRankInfoByPractitionerIdEG(practitionerIdEG, time);
// practitionerRankInfo = aclPractitionerDALService.getPractitionerRankInfoByPractitionerIdEG(practitionerIdEG, time);
practitionerRankInfo = this.getPractitionerRankInfoByPractitionerIdEG(practitionerIdEG, time);
}
}
} else {
......@@ -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
@SuppressWarnings("unchecked")
public SettingQueryResponseVO settingQuery(SettingQueryRequestVO requestVO) {
......
......@@ -6,6 +6,7 @@ import com.yd.api.practitioner.vo.sechedule.*;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.AclPractitionerPotential;
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.meta.MdDropOptions;
import com.yd.dal.entity.practitioner.*;
......@@ -15,6 +16,7 @@ import com.yd.dal.service.agms.AgmsDashboardDALService;
import com.yd.dal.service.customer.AclPractitionerPotentialAssignedTrackDALService;
import com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService;
import com.yd.dal.service.meta.MdDropOptionsDALService;
import com.yd.rmi.n22.salary.pojo.Achieve;
import com.yd.util.CommonUtil;
import com.yd.util.config.ZHBErrorConfig;
import org.apache.commons.lang.StringUtils;
......@@ -301,10 +303,12 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
// 根据团队长经纪人id查询团队每个成员本日,本周,本月得分以及---线上本月FYC
List<PersonalPEPScore> saleAndRecuit = scheduleTrackMapper.querySaleRecuitScoreFYC(practitionerIdList);
// 获取mobileNoList
List<String> mobileNoList = new ArrayList<>();
saleAndRecuit.forEach(i->mobileNoList.add(i.getMobileNo()));
List<PersonalOffLineFYC> personalOffLineFYCList = agmsDashboardDALService.offLineFYC(mobileNoList);
// 获取nameList
List<String> nameList = new ArrayList<>();
saleAndRecuit.forEach(i->nameList.add(i.getName()));
List<PersonalOffLineFYC> personalOffLineFYCList = this.offLineFYC(nameList);
// 计算总FYC
this.computeTotalFYC(saleAndRecuit, personalOffLineFYCList);
......@@ -334,6 +338,27 @@ public class ScheduleTrackServiceImpl implements ScheduleTrackService {
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) {
for (PersonalPEPScore online: saleAndRecuit ) {
for (PersonalOffLineFYC offline: personalOffLineFYCList) {
......
......@@ -6,6 +6,7 @@ import java.math.BigDecimal;
@Data
public class PersonalOffLineFYC {
private String name;
private String mobileNo;
private BigDecimal FYC;
}
......@@ -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.StatisticsPEPInfo;
import com.yd.dal.entity.practitioner.PersonalOffLineFYC;
import com.yd.rmi.n22.salary.pojo.Achieve;
import java.util.List;
......@@ -22,4 +23,13 @@ public interface AgmsDashboardDALService {
List<PersonalOffLineFYC> offLineFYC(List<String> mobileNoList);
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;
import com.yd.dal.entity.practitioner.PersonalOffLineFYC;
import com.yd.dal.mapper.agms.AgmsDashboardMapper;
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.commons.DataSourceKey;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
......@@ -25,6 +31,8 @@ public class AgmsDashboardDALServiceImpl implements AgmsDashboardDALService {
@Resource
private AgmsDashboardMapper agmsDashboardMapper;
@Autowired
private N22SalaryService n22SalaryService;
@Override
public List<StatisticsPEPInfo> statisticsPEP(String type,Long dropOptionId) {
......@@ -117,6 +125,40 @@ public class AgmsDashboardDALServiceImpl implements AgmsDashboardDALService {
}
@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) {
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