Commit d38eb419 by jianan

查询经纪人战队成员信息

parent 914627ab
......@@ -24,6 +24,8 @@ import com.yd.api.practitioner.vo.recruit.*;
import com.yd.api.practitioner.vo.salestarget.*;
import com.yd.api.practitioner.vo.sechedule.*;
import com.yd.api.practitioner.vo.setting.*;
import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailRequestVO;
import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailResponseVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO;
import com.yd.api.result.JsonResult;
......@@ -576,4 +578,18 @@ public class PractitionerController {
return result;
}
/**
* 查询经纪人战队成员信息
* @param requestVO
* @return
*/
@RequestMapping("/queryTeamMemberDetail")
public Object queryTeamMemberDetail(@RequestBody QueryTeamMemberDetailRequestVO requestVO){
JsonResult result = new JsonResult();
QueryTeamMemberDetailResponseVO responseVO = practitionerBasicInfoService.queryTeamMemberDetail(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
......@@ -12,6 +12,8 @@ import com.yd.api.practitioner.vo.policy.PolicyListQueryRequestVO;
import com.yd.api.practitioner.vo.policy.PolicyListQueryResponseVO;
import com.yd.api.practitioner.vo.policy.policyinfoquery.PolicyInfoQueryRequestVO;
import com.yd.api.practitioner.vo.policy.policyinfoquery.PolicyInfoQueryResponseVO;
import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailRequestVO;
import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailResponseVO;
import org.springframework.stereotype.Service;
@Service("practitionerBasicInfoService")
......@@ -50,4 +52,6 @@ public interface PractitionerBasicInfoService {
* @return 响应信息
*/
OrganizationQueryResponseVO organizationQuery(OrganizationQueryRequestVO requestVO);
QueryTeamMemberDetailResponseVO queryTeamMemberDetail(QueryTeamMemberDetailRequestVO requestVO);
}
package com.yd.api.practitioner.service.impl;
import com.google.common.base.Strings;
import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportRequestVO;
import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportResponseVO;
import com.yd.api.practitioner.vo.organization.*;
......@@ -14,6 +15,10 @@ import com.yd.api.practitioner.vo.policy.PolicyInfo;
import com.yd.api.practitioner.vo.policy.PolicyListQueryRequestVO;
import com.yd.api.practitioner.vo.policy.PolicyListQueryResponseVO;
import com.yd.api.practitioner.vo.policy.policyinfoquery.*;
import com.yd.api.practitioner.vo.sechedule.DeleteScheduleByIdResponseVO;
import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailRequestVO;
import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailResponseVO;
import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.AclFileUpload;
import com.yd.dal.entity.customer.AclPractitioner;
......@@ -66,6 +71,8 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
private OssService ossService;
@Autowired
private AclFileUploadDALService aclFileUploadDALService;
@Autowired
private PractitionerService practitionerService;
@Override
public PolicyListQueryResponseVO policyListQuery(PolicyListQueryRequestVO requestVO) {
......@@ -240,6 +247,26 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
return responseVO;
}
@Override
public QueryTeamMemberDetailResponseVO queryTeamMemberDetail(QueryTeamMemberDetailRequestVO requestVO) {
QueryTeamMemberDetailResponseVO resp = new QueryTeamMemberDetailResponseVO();
Long practitionerId = requestVO.getPractitionerId();
try {
// 获取团队成员或被辅导人的practitionerId
List<Long> practitionerIdList = practitionerService.getPractitionerIdList(practitionerId);
List<TeamMemberDetail> dataList = aclPractitionerDALService.queryTeamMemberDetailList(practitionerIdList);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setTeamMemberDetail(dataList);
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
private void getResponseMessage(OrganizationQueryResponseVO responseVO, List<PractitionerSubordinateSystemInfo> subordinateSystemInfoList, List<InsurerBranchDeptInfo> insurerBranchDeptInfoList, List<InsurerBranchInfo> insurerBranchInfoList) {
Map<String,List<PractitionerSubordinateSystemInfo>> systemMap = new HashMap<>();
List<PractitionerSubordinateSystemInfo> systemInfoList;
......
package com.yd.api.practitioner.vo.subordinate;
import lombok.Data;
@Data
public class QueryTeamMemberDetailRequestVO {
private Long practitionerId;
}
package com.yd.api.practitioner.vo.subordinate;
import com.yd.api.result.CommonResult;
import lombok.Data;
import java.util.List;
@Data
public class QueryTeamMemberDetailResponseVO {
private List<TeamMemberDetail> teamMemberDetail;
private CommonResult commonResult;
}
package com.yd.api.practitioner.vo.subordinate;
import lombok.Data;
@Data
public class TeamMemberDetail {
private Long practitionerId;
private String name;
private String mobileNo;
private String practitionerLevel;
private String practitionerTitle;
private String branch;
private String system;
private String mentor;
private String introducer;
private String gender;
private String age;
private String birthDate;
private String province;
private String city;
private String idType;
private String idNo;
private String effectiveStartDate;
private String practitionerRegNo;
}
......@@ -215,7 +215,7 @@ public class AclPractitioner implements Serializable {
/**
* 经纪人报聘信息表id
*/
private String hiringBasicInfoId;
private Long hiringBasicInfoId;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.yd.dal.mapper.customer;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.customer.AclPractitioner;
import com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo;
......@@ -76,4 +77,7 @@ public interface AclPractitionerMapper {
PractitionerInfo findPractitionerInfoByPractitionerId(Long practitionerId);
AclPractitioner selectByMobileNo(String mobileNo);
List<TeamMemberDetail> queryTeamMemberDetailList(List<Long> practitionerIdList);
}
\ No newline at end of file
package com.yd.dal.service.customer;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;
import com.yd.dal.entity.customer.AclPractitioner;
......@@ -185,4 +186,6 @@ public interface AclPractitionerDALService {
void save(AclPractitioner practitioner);
PractitionerInfo findPractitionerInfoByPractitionerId(Long practitionerId);
List<TeamMemberDetail> queryTeamMemberDetailList(List<Long> practitionerIdList);
}
......@@ -2,6 +2,7 @@ package com.yd.dal.service.customer.impl;
import com.google.common.base.Strings;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.api.practitioner.vo.subordinate.TeamMemberDetail;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;
import com.yd.dal.entity.customer.AclPractitioner;
......@@ -190,4 +191,9 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
public PractitionerInfo findPractitionerInfoByPractitionerId(Long practitionerId) {
return aclPractitionerMapper.findPractitionerInfoByPractitionerId(practitionerId);
}
@Override
public List<TeamMemberDetail> queryTeamMemberDetailList(List<Long> practitionerIdList) {
return aclPractitionerMapper.queryTeamMemberDetailList(practitionerIdList);
}
}
......@@ -987,4 +987,64 @@
where mobile_no = #{mobileNo,jdbcType=VARCHAR,typeHandler=com.yd.util.deshandler.DESTypeHandler}
</select>
<resultMap id="teamMemberDetail" type="com.yd.api.practitioner.vo.subordinate.TeamMemberDetail">
<result column="id" property="practitionerId"/>
<result column="name" property="name"/>
<result column="mobile_no" property="mobileNo" typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="practitionerLevel" property="practitionerLevel"/>
<result column="practitionerTitle" property="practitionerTitle"/>
<result column="branch_name" property="branch"/>
<result column="system" property="system"/>
<result column="mentor" property="mentor"/>
<result column="introducer" property="introducer"/>
<result column="gender" property="gender"/>
<result column="age" property="age"/>
<result column="practitioner_birthdate" property="birthDate"/>
<result column="province" property="province"/>
<result column="city" property="city"/>
<result column="id_type" property="idType"/>
<result column="id_no" property="idNo" typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="effective_start_date" property="effectiveStartDate"/>
<result column="practitioner_reg_no" property="practitionerRegNo"/>
</resultMap>
<select id="queryTeamMemberDetailList" resultMap="teamMemberDetail">
select
p.id,
p.name,
p.mobile_no,
s.drop_option_code practitionerLevel,
s.drop_option_name practitionerTitle,
b.branch_name,
sys.name system,
p1.name mentor,
p2.name introducer,
case when p.gender=1 then '男' else '女' end gender,
TIMESTAMPDIFF(YEAR, p.practitioner_birthdate, CURDATE()) age,
p.practitioner_birthdate,
p.province_name province,
p.city_name city,
p.id_type,
p.id_no,
p.effective_start_date,
p.practitioner_reg_no
from
(select
id,name,mobile_no,gender,practitioner_birthdate,province_name,city_name,id_type,id_no,effective_start_date,
subordinate_system_id,insurer_branch_id,mentor_id,introducer_id,practitioner_reg_no
from ag_acl_practitioner
where id in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
) p
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join
(select t1.practitioner_id, o.drop_option_name, o.drop_option_code
from ag_acl_practitioner_setting t1 left join ag_md_drop_options o on t1.practitioner_level = o.id
)s on p.id = s.practitioner_id
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner p1 on p.mentor_id = p1.id
left join ag_acl_practitioner p2 on p.introducer_id = p2.id
</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