Commit 3e16d24c by yao.xiao

暂存

parent abe44b0f
......@@ -55,7 +55,7 @@ public class PractitionerController {
}
/**
* 查询经纪人的个人设置
* 经纪人-查询经纪人的个人设置
* @param requestVO 请求数据
* @return responseVO
*/
......@@ -69,7 +69,7 @@ public class PractitionerController {
}
/**
* 保存经纪人的个人设置
* 经纪人-保存经纪人的个人设置
* @param requestVO 请求数据
* @return responseVO
*/
......@@ -83,7 +83,7 @@ public class PractitionerController {
}
/**
* 删除经纪人照片
* 经纪人-删除经纪人照片
*/
@RequestMapping("/imgDelete")
public Object imgDelete(@RequestBody ImgDeleteRequestVO requestVO){
......@@ -94,6 +94,11 @@ public class PractitionerController {
return result;
}
/**
* 微信-上传多媒体文件
* @param requestVO
* @return
*/
@RequestMapping("/mediaGet")
public Object mediaGet(@RequestBody MediaGetReqVO requestVO){
JsonResult result = new JsonResult();
......@@ -104,7 +109,7 @@ public class PractitionerController {
}
/***
* 经纪人查询自己的商机
* 经纪人-经纪人查询自己的商机
* @param requestVO
* @return
*/
......@@ -131,7 +136,7 @@ public class PractitionerController {
}
/***
* 经纪人查询自己的商机详情查询
* 经纪人-经纪人查询自己的商机详情查询
* @param requestVO
* @return
*/
......@@ -185,8 +190,10 @@ public class PractitionerController {
return result;
}
/***
* 修改商机基本信息
/**
* 经纪人-修改商机基本信息
* @param requestVO
* @return
*/
@RequestMapping("/ownOpportunityBasicInformationSave")
public Object ownOpportunityBasicInformationSave(@RequestBody OwnOpportunityBasicInformationSaveRequestVO requestVO){
......@@ -197,8 +204,10 @@ public class PractitionerController {
return result;
}
/***
* 保存商机跟进,修改商机基本信息
/**
* 经纪人-保存商机跟进,修改商机基本信息
* @param requestVO
* @return
*/
@RequestMapping("/ownOpportunityRecordSave")
public Object ownOpportunityRecordSave(@RequestBody OwnOpportunityRecordSaveRequestVO requestVO){
......@@ -210,7 +219,9 @@ public class PractitionerController {
}
/**
* ydLife查询此经纪人总分数 按年月周日 分别统计 新增商机个数 达成率
* 经纪人-ydLife查询此经纪人总分数 按年月周日 分别统计 新增商机个数 达成率
* @param requestVO
* @return
*/
@RequestMapping("/opportunityStatistics")
public Object OpportunityStatistics(@RequestBody OpportunityStatisticsRequestVO requestVO){
......@@ -222,7 +233,9 @@ public class PractitionerController {
}
/**
* 保存销售目标
* 经纪人-保存销售目标
* @param requestVO
* @return
*/
@RequestMapping("/salesTargetSave")
public Object salesTargetSave(@RequestBody SalesTargetSaveRequestVO requestVO){
......@@ -234,7 +247,9 @@ public class PractitionerController {
}
/**
* 查询销售目标
* 经纪人-查询销售目标
* @param requestVO
* @return
*/
@RequestMapping("/salesTargetQuery")
public Object salesTargetQuery(@RequestBody SalesTargetQueryRequestVO requestVO){
......@@ -246,7 +261,9 @@ public class PractitionerController {
}
/**
* 保存月均目标
* 经纪人-保存月均目标
* @param requestVO
* @return
*/
@RequestMapping("/salesTargetMonthSave")
public Object salesTargetMonthSave(@RequestBody SalesTargetMonthSaveRequestVO requestVO){
......@@ -256,4 +273,18 @@ public class PractitionerController {
result.setData(responseVO);
return result;
}
/**
* 团队长-查看组员得分均值
* @param requestVO
* @return
*/
@RequestMapping("/teamActionsAverageQuery")
public Object teamActionsAverageQuery(@RequestBody TeamActionsAverageQueryRequestVO requestVO){
JsonResult result = new JsonResult();
TeamActionsAverageQueryResponseVO responseVO = practitionerService.teamScoreAverageQuery(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
......@@ -138,4 +138,11 @@ public interface PractitionerService {
* @return
*/
SalesTargetMonthSaveResponseVO salesTargetMonthSave(SalesTargetMonthSaveRequestVO requestVO);
/**
* 团队长-查看组员得分均值
* @param requestVO
* @return
*/
TeamActionsAverageQueryResponseVO teamScoreAverageQuery(TeamActionsAverageQueryRequestVO requestVO);
}
......@@ -1344,7 +1344,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
for (MdDropOptions info : mdDropOptionsList){
optionScoreMap.put(info.getId(),info.getDropOptionScore());
}
Integer targetScoreMonth = 0;
int targetScoreMonth = 0;
for (MktLeadsGoalsActions info : leadsGoalsActions){
Long leadsActionId = info.getLeadsActionId();
Integer singleScore = optionScoreMap.get(leadsActionId);
......@@ -1500,6 +1500,32 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return responseVO;
}
@Override
public TeamActionsAverageQueryResponseVO teamScoreAverageQuery(TeamActionsAverageQueryRequestVO requestVO) {
TeamActionsAverageQueryResponseVO responseVO = new TeamActionsAverageQueryResponseVO();
Long practitionerId = requestVO.getPractitionerId();
List<MdDropOptions> mdDropOptionsList = mdDropOptionsDALService.findByDropMasterCode("bizchance_promotion_action");
ConcurrentMap<Long,Integer> optionScoreMap = new ConcurrentHashMap<>();
for (MdDropOptions info : mdDropOptionsList){
optionScoreMap.put(info.getId(),info.getDropOptionScore());
}
List<AclPractitioner> aclPractitioners = aclPractitionerDALService.findForSubordinateIdByPractitionerId(practitionerId);
//经纪人个数
int practitionerNum = aclPractitioners.size();
List<Long> practitionerIds = new ArrayList<>();
for (AclPractitioner info : aclPractitioners){
practitionerIds.add(info.getId());
}
System.out.println(practitionerIds.toString());
//查询此团队经纪人所有得跟进状态
List<Integer> totalStatistics = mktLeadsAssignedTrackDALService.totalStatisticsForTeam(practitionerIds);
Integer totalDay = totalStatistics.get(0);
Integer totalWeek = totalStatistics.get(1);
Integer totalMonth = totalStatistics.get(2);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
private void initializationAction(Long practitionerId, int year) {
//通过经纪人id 和 目标所属年度 去查询ag_mkt_leads_goals/ag_mkt_leads_goals_actions 并将is_active = 0
mktLeadsGoalsDALService.updateIsActiveIsNull(practitionerId,year);
......
package com.yd.api.practitioner.vo.salestarget;
import lombok.Data;
@Data
public class TeamActionsAverageQueryRequestVO {
private Long practitionerId;
}
package com.yd.api.practitioner.vo.salestarget;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class TeamActionsAverageQueryResponseVO {
private Double scoreDayAverage;
private Double scoreWeekAverage;
private Double scoreMonthAverage;
private CommonResult commonResult;
}
......@@ -39,4 +39,6 @@ public interface AclPractitionerMapper {
List<OwnOpportunityInfo> ownOpportunityQuery(@Param("practitionerId")Long practitionerId);
List<AclPractitioner> findByIds(@Param("practitionerIdList") List<Long> practitionerIdList);
List<AclPractitioner> findForSubordinateIdByPractitionerId(Long practitionerId);
}
\ No newline at end of file
......@@ -21,4 +21,6 @@ public interface MktLeadsAssignedTrackMapper {
Page<MktLeadsAssignedTrack> selectByPrimaryKeySelective(MktLeadsAssignedTrack mktLeadsAssignedTrack);
List<MktLeadsAssignedTrack> findByTrackTimeForNew(MktLeadsAssignedTrack mktLeadsAssignedTrack);
List<Integer> totalStatisticsForTeam(List<Long> practitionerIds);
}
\ No newline at end of file
......@@ -82,4 +82,11 @@ public interface AclPractitionerDALService {
* @return
*/
List<AclPractitioner> findByIds(List<Long> practitionerIdList);
/**
* 通过团队长经纪人id查询团队旗下所有经纪人
* @param practitionerId
* @return
*/
List<AclPractitioner> findForSubordinateIdByPractitionerId(Long practitionerId);
}
......@@ -88,4 +88,9 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
public List<AclPractitioner> findByIds(List<Long> practitionerIdList) {
return aclPractitionerMapper.findByIds(practitionerIdList);
}
@Override
public List<AclPractitioner> findForSubordinateIdByPractitionerId(Long practitionerId) {
return aclPractitionerMapper.findForSubordinateIdByPractitionerId(practitionerId) ;
}
}
......@@ -37,4 +37,9 @@ public class MktLeadsAssignedTrackDALServiceImpl implements MktLeadsAssignedTrac
public List<MktLeadsAssignedTrack> findByTrackTimeForNew(MktLeadsAssignedTrack mktLeadsAssignedTrack) {
return mktLeadsAssignedTrackMapper.findByTrackTimeForNew(mktLeadsAssignedTrack);
}
@Override
public List<Integer> totalStatisticsForTeam(List<Long> practitionerIds) {
return mktLeadsAssignedTrackMapper.totalStatisticsForTeam(practitionerIds);
}
}
......@@ -12,4 +12,6 @@ public interface MktLeadsAssignedTrackDALService {
void updateTrack(MktLeadsAssignedTrack track);
List<MktLeadsAssignedTrack> findByTrackTimeForNew(MktLeadsAssignedTrack mktLeadsAssignedTrack);
List<Integer> totalStatisticsForTeam(List<Long> practitionerIds);
}
......@@ -718,4 +718,13 @@
#{item}
</foreach>
</select>
<select id="findForSubordinateIdByPractitionerId" resultMap="BaseResultMap">
SELECT p.*
from ag_acl_practitioner p
LEFT JOIN ag_acl_practitioner_subordinate_system s on p.subordinate_system_id = s.id
where
s.owner_practitioner_id = #{practitionerId,jdbcType=BIGINT}
and p.is_active = 1
and s.is_active = 1
</select>
</mapper>
\ No newline at end of file
......@@ -323,4 +323,32 @@
</if>
</where>
</select>
<select id="totalStatisticsForTeam" resultType="integer">
SELECT sum(track_score) as scoreToday
FROM ag_mkt_leads_assigned_track
where is_active = 1
and to_days(track_time) = to_days(now())
and practitioner_id in
<foreach collection="list" item="practitionerId" index="index" open="(" close=")" separator=",">
#{practitionerId,jdbcType=BIGINT}
</foreach>
UNION all
SELECT sum(track_score) as scoreWeek
FROM ag_mkt_leads_assigned_track
where is_active = 1
and YEARWEEK(date_format(track_time,'%Y-%m-%d')) = YEARWEEK(now())
and practitioner_id in
<foreach collection="list" item="practitionerId" index="index" open="(" close=")" separator=",">
#{practitionerId,jdbcType=BIGINT}
</foreach>
UNION all
SELECT sum(track_score) as scoreMonth
FROM ag_mkt_leads_assigned_track
where is_active = 1
and date_format(track_time,'%Y-%m')=date_format(now(),'%Y-%m')
and practitioner_id in
<foreach collection="list" item="practitionerId" index="index" open="(" close=")" separator=",">
#{practitionerId,jdbcType=BIGINT}
</foreach>
</select>
</mapper>
\ No newline at end of file
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