Commit d9e82b60 by hongzhong

ydlife 我的团队中数据查询02

parent 840c67aa
......@@ -239,4 +239,11 @@ public interface PractitionerService {
QueryCustomerInsuredListResponesVO queryCustomerInsuredList(QueryCustomerInsuredListRequestVO requestVO);
QueryPolicyListByHolderCustomerIdResponesVO queryPolicyListByHolderCustomerId(QueryPolicyListByHolderCustomerIdRequestVO requestVO);
/**
* 经纪人-根据体系id查询所在的经纪人
* @param sid
* @return
*/
List<Long> getPractitionerIdBySidList(Long sId,String systemType,Integer isActive);
}
......@@ -753,9 +753,15 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
public QueryTeamMemberDetailResponseVO queryTeamMemberDetail(QueryTeamMemberDetailRequestVO requestVO) {
QueryTeamMemberDetailResponseVO resp = new QueryTeamMemberDetailResponseVO();
Long practitionerId = requestVO.getPractitionerId();
String systemType = requestVO.getSystemType();
try {
// 获取团队成员或被辅导人的practitionerId
List<Long> practitionerIdList = practitionerService.getPractitionerIdList(practitionerId,1);
List<Long> practitionerIdList = new ArrayList<>();
if(null != requestVO.getSId()){
practitionerIdList = practitionerService.getPractitionerIdBySidList(requestVO.getSId(),systemType,1);
}else{
practitionerIdList = practitionerService.getPractitionerIdList(practitionerId,1);
}
List<TeamMemberDetail> dataList = aclPractitionerDALService.queryTeamMemberDetailList(practitionerIdList);
List<TeamMemberDetail> s1DataList = new ArrayList<>();
......@@ -764,10 +770,13 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
List<TeamMemberDetail> groupList = new ArrayList<>();
List<TeamMemberDetail> teamList = new ArrayList<>();
List<TeamMemberDetail> teamMemberList = new ArrayList<>();
BeanPropertyValueEqualsPredicate predicatePackage;
//根据体系筛选出对应的经纪人信息
if(null != dataList){
//根据体系筛选出对应的经纪人信息,根据getSystemType分组
if(null != dataList && dataList.size() > 0){
for(TeamMemberDetail teamMemberDetail:dataList){
if("S1".equals(teamMemberDetail.getSystemType())){
s1DataList.add(teamMemberDetail);
......@@ -779,41 +788,66 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
s3DataList.add(teamMemberDetail);
}
}
resp.setSystemName(dataList.get(0).getSystem());
}
//查询当前的经纪人信息
predicatePackage = new BeanPropertyValueEqualsPredicate( "practitionerId", practitionerId);
teamList = (List<TeamMemberDetail>) CollectionUtils.select(dataList,predicatePackage);
//根据职级进行数据筛选
if(null != teamList){
if("S2".equals( teamList.get(0).getPractitionerLevel())){
for(TeamMemberDetail teamMemberDetail:s1DataList) {
if(teamMemberDetail.getOwnerPractitionerId().longValue() == teamMemberDetail.getPractitionerId().longValue()){
groupList.add(teamMemberDetail);
}
}
groupList.addAll(s2DataList);
}else if("S3".equals( teamList.get(0).getPractitionerLevel())){
for(TeamMemberDetail teamMemberDetail:s1DataList) {
if(teamMemberDetail.getOwnerPractitionerId().longValue() == teamMemberDetail.getPractitionerId().longValue()){
groupList.add(teamMemberDetail);
}
}
for(TeamMemberDetail teamMemberDetail:s2DataList) {
if(teamMemberDetail.getOwnerPractitionerId().longValue() == teamMemberDetail.getPractitionerId().longValue()){
groupList.add(teamMemberDetail);
}
}
groupList.addAll(s3DataList);
}else if("S1".equals( teamList.get(0).getPractitionerLevel())){
groupList.addAll(dataList);
}
}
//1,根据组织信息查询经纪人
if(StringUtils.isNotBlank(systemType)){
if("S2".equals(systemType)){
if(null != s1DataList){
for (TeamMemberDetail teamMemberDetail : s1DataList) {
if (null != teamMemberDetail.getOwnerPractitionerId() && teamMemberDetail.getOwnerPractitionerId().longValue() == teamMemberDetail.getPractitionerId().longValue()) {
teamMemberList.add(teamMemberDetail);
}
groupList.addAll(s2DataList);
}
}
//没有团队长
if(teamMemberList == null || teamMemberList.size() == 0){
teamMemberList.addAll(s1DataList);
}
}
//如果是s1 直接显示所有
if("S1".equals(systemType)){
groupList.addAll(dataList);
}
}else {
predicatePackage = new BeanPropertyValueEqualsPredicate("practitionerId", practitionerId);
teamList = (List<TeamMemberDetail>) CollectionUtils.select(dataList, predicatePackage);
//根据职级进行数据筛选
if (null != teamList && teamList.size() > 0) {
if ("S2".equals(teamList.get(0).getPractitionerLevel())) {
for (TeamMemberDetail teamMemberDetail : s1DataList) {
if (null != teamMemberDetail.getOwnerPractitionerId() && teamMemberDetail.getOwnerPractitionerId().longValue() == teamMemberDetail.getPractitionerId().longValue()) {
teamMemberList.add(teamMemberDetail);
}
}
groupList.addAll(s2DataList);
} else if ("S3".equals(teamList.get(0).getPractitionerLevel())) {
for (TeamMemberDetail teamMemberDetail : s1DataList) {
if (null != teamMemberDetail.getOwnerPractitionerId() && teamMemberDetail.getOwnerPractitionerId().longValue() == teamMemberDetail.getPractitionerId().longValue()) {
teamMemberList.add(teamMemberDetail);
}
}
for (TeamMemberDetail teamMemberDetail : s2DataList) {
if (null != teamMemberDetail.getOwnerPractitionerId() && teamMemberDetail.getOwnerPractitionerId().longValue() == teamMemberDetail.getPractitionerId().longValue()) {
teamMemberList.add(teamMemberDetail);
}
}
groupList.addAll(s3DataList);
} else if ("S1".equals(teamList.get(0).getPractitionerLevel())) {
groupList.addAll(dataList);
}
resp.setSystemName(teamList.get(0).getSystem());
}
}
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setTeamMemberDetail(groupList);
resp.setTeamMemberList(teamMemberList);
} catch (Exception e) {
e.printStackTrace();
......
......@@ -2173,6 +2173,16 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
}
@Override
public List<Long> getPractitionerIdBySidList(Long sId, String systemType,Integer isActive) {
List<Long> practitionerIdList = new ArrayList<>();
List<AclPractitioner> aclPractitionerList = aclPractitionerDALService.findBySubordinateSystemId(sId,systemType);
if(null != aclPractitionerList){
practitionerIdList = aclPractitionerList.stream().map(AclPractitioner::getId).collect(Collectors.toList());
}
return practitionerIdList;
}
@Override
public PotentialGoalsActionsQueryResponseVO potentialGoalsActionsQuery(PotentialGoalsActionsQueryRequestVO requestVO) {
PotentialGoalsActionsQueryResponseVO responseVO = new PotentialGoalsActionsQueryResponseVO();
Long practitionerId = requestVO.getPractitionerId();
......
......@@ -5,4 +5,7 @@ import lombok.Data;
@Data
public class QueryTeamMemberDetailRequestVO {
private Long practitionerId;
private Long sId;
private String systemType;
}
......@@ -8,5 +8,8 @@ import java.util.List;
@Data
public class QueryTeamMemberDetailResponseVO {
private List<TeamMemberDetail> teamMemberDetail;
private List<TeamMemberDetail> teamMemberList;
private String systemName;
private CommonResult commonResult;
}
......@@ -25,4 +25,6 @@ public class TeamMemberDetail {
private String practitionerRegNo;
private Long ownerPractitionerId;
private String systemType;
private Long sId;
}
......@@ -45,7 +45,7 @@ public interface AclPractitionerMapper {
List<PlayerSalesActivityInfo> playerSalesActivityQuery(@Param("practitionerId") Long practitionerId, @Param("optionsId") Long optionsId);
List<AclPractitioner> findBySubordinateSystemId(@Param("subordinateSystemId") Long subordinateSystemId);
List<AclPractitioner> findBySubordinateSystemId(@Param("subordinateSystemId") Long subordinateSystemId,@Param("systemType") String systemType);
String findMobileNoByPractitionerId(@Param("practitionerId") Long practitionerId);
......@@ -88,4 +88,4 @@ public interface AclPractitionerMapper {
List<PractitionerInfo> findPractitionerInfoByMobileList(List<String> mobileList);
List<PayScaleInfo> queryEGHistorySalaryPDFByPractitionerId(Long practitionerId);
}
\ No newline at end of file
}
......@@ -111,7 +111,7 @@ public interface AclPractitionerDALService {
* @param subordinateSystemId 体系id
* @return
*/
List<AclPractitioner> findBySubordinateSystemId(Long subordinateSystemId);
List<AclPractitioner> findBySubordinateSystemId(Long subordinateSystemId,String systemType);
/**
* 更具经纪人id查询该经纪人手机号码
......
......@@ -109,8 +109,8 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
return aclPractitionerMapper.playerSalesActivityQuery(practitionerId, optionsId);
}
@Override
public List<AclPractitioner> findBySubordinateSystemId(Long subordinateSystemId) {
return aclPractitionerMapper.findBySubordinateSystemId(subordinateSystemId);
public List<AclPractitioner> findBySubordinateSystemId(Long subordinateSystemId,String systemType) {
return aclPractitionerMapper.findBySubordinateSystemId(subordinateSystemId,systemType);
}
@Override
......
......@@ -1468,7 +1468,14 @@
select
<include refid="Base_Column_List" />
from ag_acl_practitioner
where subordinate_system_id = #{subordinateSystemId,jdbcType=BIGINT} and is_active = 1
where is_active = 1
<if test="systemType == 'S2'">
and s2_id = #{subordinateSystemId,jdbcType=BIGINT}
</if>
<if test="systemType == 'S1'">
and subordinate_system_id = #{subordinateSystemId,jdbcType=BIGINT}
</if>
</select>
<select id="findMobileNoByPractitionerId" resultType="java.lang.String">
select c.mobile_no
......@@ -1691,7 +1698,9 @@
p.id_no,
p.effective_start_date,
p.practitioner_reg_no,
sys.system_type as systemType,sys.owner_practitioner_id as ownerPractitionerId
sys.system_type as systemType,sys.owner_practitioner_id as ownerPractitionerId,
p.subordinate_system_id sId
from
(select
id,name,mobile_no,gender,practitioner_birthdate,province_name,city_name,id_type,id_no,effective_start_date,
......
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