Browse Source

客户下组织树

工作人员所在组织
dev_shibei_match
zhaoqifeng 4 years ago
parent
commit
b0eb2dc7ad
  1. 31
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyTreeResultDTO.java
  2. 27
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffOrgListResultDTO.java
  3. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  4. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java
  5. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  6. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
  7. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java
  8. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  9. 51
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
  10. 35
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

31
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyTreeResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/9/8 15:06
*/
@Data
public class AgencyTreeResultDTO implements Serializable {
private static final long serialVersionUID = -311212619121062367L;
/**
* 机关组织Id
*/
private String agencyId;
/**
* 机关组织名称
*/
private String agencyName;
private String pid;
/**
* 下级机关组织
*/
private List<AgencyTreeResultDTO> subAgencyList;
}

27
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffOrgListResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/9/8 15:11
*/
@Data
public class StaffOrgListResultDTO implements Serializable {
private static final long serialVersionUID = -7717333635633000120L;
/**
* 组织ID
*/
private String orgId;
/**
* 组织名称
*/
private String orgName;
/**
* 组织类型机关agency 网格grid 部门dept
*/
private String orgType;
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java

@ -324,4 +324,16 @@ public class CustomerAgencyController {
return new Result<OrgResultDTO>().ok(customerAgencyService.getAgencyInfo(formDTO)); return new Result<OrgResultDTO>().ok(customerAgencyService.getAgencyInfo(formDTO));
} }
/**
* @Description 获取客户下组织树
* @Param tokenDTO
* @Return {@link Result< AgencyTreeResultDTO >}
* @Author zhaoqifeng
* @Date 2021/9/8 15:20
*/
@PostMapping("agencylist")
public Result<AgencyTreeResultDTO> getAgencyList(@LoginUser TokenDto tokenDTO) {
return new Result<AgencyTreeResultDTO>().ok(customerAgencyService.getAgencyList(tokenDTO));
}
} }

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java

@ -195,4 +195,16 @@ public class StaffController {
return staffService.addStaffV2(fromDTO); return staffService.addStaffV2(fromDTO);
} }
/**
* @Description 用户所属组织
* @Param tokenDto
* @Return {@link Result< StaffOrgListResultDTO>}
* @Author zhaoqifeng
* @Date 2021/9/8 16:55
*/
@PostMapping("orgList")
public Result<List<StaffOrgListResultDTO>> staffOrgList(@LoginUser TokenDto tokenDto) {
return new Result<List<StaffOrgListResultDTO>>().ok(staffService.staffOrgList(tokenDto));
}
} }

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -239,4 +239,8 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
* @author sun * @author sun
*/ */
OrgResultDTO selectAgencyDetail(@Param("orgId") String orgId, @Param("orgType") String orgType); OrgResultDTO selectAgencyDetail(@Param("orgId") String orgId, @Param("orgType") String orgType);
AgencyTreeResultDTO getAllAgency(@Param("customerId") String customerId);
List<AgencyTreeResultDTO> getSubAgencyList(@Param("pid") String pid);
} }

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java

@ -19,6 +19,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
@ -245,4 +246,13 @@ public interface CustomerAgencyService extends BaseService<CustomerAgencyEntity>
* @Date 2021/9/7 15:28 * @Date 2021/9/7 15:28
*/ */
OrgResultDTO getAgencyInfo(OrgFormDTO formDTO); OrgResultDTO getAgencyInfo(OrgFormDTO formDTO);
/**
* @Description 获取客户下组织树
* @Param tokenDTO
* @Return {@link AgencyTreeResultDTO}
* @Author zhaoqifeng
* @Date 2021/9/8 15:21
*/
AgencyTreeResultDTO getAgencyList(TokenDto tokenDTO);
} }

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java

@ -129,4 +129,13 @@ public interface StaffService {
* @author sun * @author sun
*/ */
Result addStaffV2(AddStaffV2FromDTO fromDTO); Result addStaffV2(AddStaffV2FromDTO fromDTO);
/**
* @Description 工作人员所属组织
* @Param tokenDto
* @Return {@link StaffOrgListResultDTO}
* @Author zhaoqifeng
* @Date 2021/9/8 16:57
*/
List<StaffOrgListResultDTO> staffOrgList(TokenDto tokenDto);
} }

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -25,6 +25,7 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.CustomerAgencyConstant;
@ -1089,4 +1090,17 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
return baseDao.selectAgencyDetail(formDTO.getOrgId(), formDTO.getOrgType()); return baseDao.selectAgencyDetail(formDTO.getOrgId(), formDTO.getOrgType());
} }
/**
* @param tokenDTO
* @Description 获取客户下组织树
* @Param tokenDTO
* @Return {@link AgencyTreeResultDTO}
* @Author zhaoqifeng
* @Date 2021/9/8 15:21
*/
@Override
public AgencyTreeResultDTO getAgencyList(TokenDto tokenDTO) {
return baseDao.getAllAgency(tokenDTO.getCustomerId());
}
} }

51
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java

@ -11,9 +11,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerAgencyConstant;
import com.epmet.constant.OrgInfoConstant; import com.epmet.constant.OrgInfoConstant;
import com.epmet.dao.CustomerAgencyDao;
import com.epmet.dao.CustomerStaffAgencyDao; import com.epmet.dao.CustomerStaffAgencyDao;
import com.epmet.dto.*; import com.epmet.dto.*;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
@ -21,6 +19,7 @@ import com.epmet.dto.result.*;
import com.epmet.entity.*; import com.epmet.entity.*;
import com.epmet.feign.*; import com.epmet.feign.*;
import com.epmet.service.*; import com.epmet.service.*;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -30,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -566,5 +566,52 @@ public class StaffServiceImpl implements StaffService {
return new Result(); return new Result();
} }
/**
* @param tokenDto
* @Description 工作人员所属组织
* @Param tokenDto
* @Return {@link StaffOrgListResultDTO}
* @Author zhaoqifeng
* @Date 2021/9/8 16:57
*/
@Override
public List<StaffOrgListResultDTO> staffOrgList(TokenDto tokenDto) {
//redis获取工作人员信息
CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId());
if (null == staffInfoCache) {
return Collections.emptyList();
}
List<StaffOrgListResultDTO> list = new ArrayList<>();
//工作人员所在组织
StaffOrgListResultDTO agency = new StaffOrgListResultDTO();
agency.setOrgId(staffInfoCache.getAgencyId());
agency.setOrgName(staffInfoCache.getAgencyName());
agency.setOrgType(OrgInfoConstant.AGENCY);
list.add(agency);
//工作人员所在部门
if(CollectionUtils.isNotEmpty(staffInfoCache.getDeptList())) {
List<StaffOrgListResultDTO> deptList = staffInfoCache.getDeptList().stream().map(item -> {
StaffOrgListResultDTO dto = new StaffOrgListResultDTO();
dto.setOrgId(item.getId());
dto.setOrgName(item.getName());
dto.setOrgType(OrgInfoConstant.DEPT);
return dto;
}).collect(Collectors.toList());
list.addAll(deptList);
}
//工作人员所在网格
if(CollectionUtils.isNotEmpty(staffInfoCache.getGridList())) {
List<StaffOrgListResultDTO> gridList = staffInfoCache.getGridList().stream().map(item -> {
StaffOrgListResultDTO dto = new StaffOrgListResultDTO();
dto.setOrgId(item.getId());
dto.setOrgName(item.getName());
dto.setOrgType(OrgInfoConstant.GRID);
return dto;
}).collect(Collectors.toList());
list.addAll(gridList);
}
return list;
}
} }

35
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -503,5 +503,40 @@
</otherwise> </otherwise>
</choose> </choose>
</select> </select>
<resultMap id="BaseResultMap" type="com.epmet.dto.result.AgencyTreeResultDTO">
<result column="agencyId" property="agencyId"/>
<result column="agencyName" property="agencyName"/>
<result column="pid" property="pid"/>
</resultMap>
<resultMap id="NodeTreeResult" type="com.epmet.dto.result.AgencyTreeResultDTO"
extends="BaseResultMap">
<collection property="subAgencyList" column="PID" ofType="com.epmet.dto.result.AgencyTreeResultDTO"
javaType="java.util.ArrayList" select="getSubAgencyList">
</collection>
</resultMap>
<select id="getSubAgencyList" resultMap="NodeTreeResult">
select
ID AS agencyId,
ORGANIZATION_NAME AS agencyName,
PID
from customer_agency
where
DEL_FLAG = 0
AND PID= #{pid}
ORDER BY ID
</select>
<select id="getAllAgency" resultType="com.epmet.dto.result.AgencyTreeResultDTO">
select
ID AS agencyId,
ORGANIZATION_NAME AS agencyName,
PID
from
customer_agency
where
DEL_FLAG = 0
AND PID ='0'
AND CUSTOMER_ID = #{customerId}
</select>
</mapper> </mapper>
Loading…
Cancel
Save